我需要scipy中的Meijer G函数.我在互联网上的某个地方读到,由于其通用性,因此不支持Meier G函数作为scipy的特殊功能,但是每个人都应根据自己的用例编写一些东西.
我的问题是我对复杂的集成没有任何经验.由于此处禁止使用LaTeX,因此,我尝试通过数字方式解决以下问题:
(第一行是一般情况,第二行是我要计算的情况),并给出p(a),k,k2
作为wikipedia states,有三种获取L的方法:
> L从-i∞到i∞,使得Γ(bj-s)的所有极点j = 1,2,…,m位于路径的右侧,而Γ(1- ak s),k = 1,2,…,n在左边.
> L是一个从∞开始并在∞处结束的循环,围绕Γ(bj-s),j = 1,2,…,m的所有极点,在负方向上恰好环绕一次,但不环绕Γ(1 -ak s),k = 1,2,…,n.
> L是一个以-∞为起点并以Γ(1-ak s)的所有极为点的循环,k = 1、2,…,n在正方向上正好环绕一次,但不环绕Γ的任何极点(bj-s),j = 1,2,…,m.
如何获得L并求解积分?我用来在实数上计算积分的方法是
import numpy as np
myL = np.linspace(0, 1, 100)
densityL = myL[1] - myL[0]
myIntegral = (F(myL)*densityL).sum()
我不太追求效率,我更喜欢一个简单而缓慢的示例,可以用来理解该方法.
解决方法:
对于复杂的事情,我真的认为您应该避免自己计算积分,尤其是如果您没有复杂的集成经验,并使用经过良好测试的现有实现.
Meijer G功能在mpmath中实现,可能在Sympy中实现.