我目前正在查看 Meijerg 的 mpmath 文档。它说
mpmath.meijerg(a_s, b_s, z, r=1, **kwargs) Evaluates the Meijer G-function, defined as 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/