8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Python 和 scipy 中的 Meijer G 函数

user10627299 2月前

31 0

我需要一个 scipy 中的 Meijer G 函数。我在网上读到过,由于 Meier G 函数过于通用,所以 scipy 并不支持将其作为特殊函数,但大家应该...

我需要一个 scipy 中的 Meijer G 函数。我在网上读到过,由于 Meier G 函数过于通用,所以 scipy 不支持将其作为特殊函数,但每个人都应该根据自己的使用情况编写一些函数。

我的问题是,我对复杂积分毫无经验。由于这里禁止使用 LaTeX,因此我尝试用数字方法解决以下问题:

enter image description here

(第一行是一般情况,第二行是我要计算的情况),其中 p(a)、k、k2 给定

正如 维基百科所述 ,有三种方法可以获取 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()

我并不太追求效率,我更喜欢一个简单而缓慢的工作示例,以便于我理解方法论。

帖子版权声明 1、本帖标题:Python 和 scipy 中的 Meijer G 函数
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由user10627299在本站《numpy》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 对于如此复杂的事情,我真的认为你应该避免自己计算积分,特别是如果你没有复杂积分的经验,并且使用经过充分测试的现有实现。

    中实现 mpmath ,也可能在 Sympy .

  • import sympy
    print(sympy.functions.special.hyper.meijerg([[], [-1/(k-1)], [0, 0], []], -p/k2).evalf())
    import mpmath
    print(mpmath.meijerg([[], [-1/(k-1)], [0, 0], []], -p/k2))
    
  • 在回答老问题时,如果你添加一些背景信息来解释你的答案如何有所帮助,你的答案对其他 StackOverflow 用户会更有用,尤其是对于已经有可接受答案的问题。请参阅:如何写出好的答案。

返回
作者最近主题: