python - Mpmath.meijerg : Order of arguments

标签 python math mpmath

我目前正在查看 Meijerg 的 mpmath 文档。它说

mpmath.meijerg(a_s, b_s, z, r=1, **kwargs) Evaluates the Meijer G-function, defined as enter image description here for an appropriate choice of the contour L (see references).

  • 有 p 个元素 a_j。参数 a_s 应该是一对列表,第一个包含 n 个元素 a_1, ..., a_n,第二个包含 p-n 个元素 a_{n+1}, ... a_p。
  • 有 q 个元素 b_j。参数 b_s 应该是一对列表,第一个包含 m 个元素 b_1, ..., b_m,第二个包含 q-m 个元素 b_{m+1}, ... b_q。

给出的第二个例子有四个参数用于系列a,b:

1, 1
1, 0

例如,对于第一行,我不清楚这是一对分别包含一个数字的集合 [[1],[1]] 还是一个包含两个数字的集合元素和一个空集 [[1, 1], []}

令人困惑的是,尽管没有提及,他们还是混合了。他们将第二个示例中的函数称为

meijerg([[1,1],[]], [[1],[0]], z)

这意味着前两个数字属于第一个集合,但后两个数字分别属于一个集合。有人可以向我解释为什么吗?这背后的逻辑是什么?

最佳答案

Meijer G函数的参数是四组数字:

A1 = [a_1, a_2, ..., a_n]
A2 = [a_{n+1}, a_{n+2}, ..., a_p]
B1 = [b_1, b_2, ..., b_m]
B2 = [b_{m+1}, b_{m+2}, ..., b_q]

在数学符号中,a_1, ..., a_p 一起写在同一行。整数 n 告诉您这些参数中有多少属于 A1,有多少属于 A2。

同样,在数学符号中,将 b_1, ..., b_q 写在同一行,整数 m 告诉你这些参数中有多少属于 B1,有多少属于 B2。

在计算机代数输入符号中,将 A1、A2、B1、B2 写为单独的列表。使用这种表示法,Meijer G 函数的调用如下:

meijerg([A1, A2], [B1, B2], z)

整数 m、n、p、q 不会作为输入显式传递给函数,因为它们只是复制已知信息:

len(A1) = n
len(A1) + len(A2) = p
len(B1) = q
len(B1) + len(B2) = q

所以,如果我们查看输入

meijerg([[1,1],[]], [[1],[0]], z)

这意味着

A1 = [a_1, a_2] = [1, 1]
A2 = []
B1 = [b_1] = [1]
B2 = [b_2] = [0]

n = 2
p = 2
m = 1
q = 2

简而言之,Meijer G 函数的输入只是两对数字列表:[A1, A2]、[B1, B2]。列表 A1、A2、B1、B2 中的任何一个都可以为空。

带有 (m, n, p, q) 下标和上标的 Meijer G 函数的表示法确实非常令人困惑,但不幸的是,在文献中已经确立,因此几乎没有希望改变它。

关于python - Mpmath.meijerg : Order of arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31424907/

相关文章:

algorithm - 整个算法的时间复杂度是多少?

c++ - 使用 X、Y 和 Z 查找 Y 角度

python - TypeError:无法根据规则 ('O' 将数组数据从 dtype ('float64' ) 转换为 dtype 'safe' )

python - 加速python代码(多次积分计算)

python - 使用 f2py 时,fortran 模块中的函数作用域与为 fortran 程序编译时不同?

Python argparse 条件参数

python - difflib.HTMLDiff.make_file() 的输出未在浏览器中呈现

javascript - 跟随鼠标位置的对象变慢

python - Django 应用程序依赖周期