Mpmath.meijerg: порядок аргументов
В настоящее время я смотрю на документацию mpmath для Meijerg. Это говорит
mpmath.meijerg(a_s, b_s, z, r=1, **kwargs) Оценивает G-функцию Мейера, определенную как для правильного выбора контура L (см. ссылки).
- Есть p элементов a_j. Аргумент a_s должен представлять собой пару списков, первый из которых содержит n элементов a_1, ..., a_n, а второй содержит pn-элементы a_{n+1}, ... a_p.
- Есть q элементов b_j. Аргумент b_s должен быть парой списков, первый из которых содержит m элементов b_1, ..., b_m, а второй - qm элементов b_{m+1}, ... b_q.
Второй приведенный здесь пример имеет четыре аргумента для ряда a, b:
1, 1
1, 0
Например, для первого ряда мне не ясно, является ли это пара наборов, каждый из которых содержит одно число, [[1],[1]]
или один набор с двумя элементами и пустым набором [[1, 1], []}
Смущает, не упоминая об этом, они делают смесь. Они вызывают функцию во втором примере как
meijerg([[1,1],[]], [[1],[0]], z)
это означает, что первые два числа принадлежат первому набору, но вторые два числа принадлежат одному набору каждый. Может кто-нибудь объяснить мне, почему? Какая логика стоит за этим?
1 ответ
Параметрами функции 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 как отдельные списки. В этих обозначениях функция Мейера 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 может быть пустым.
Обозначения для функции Meijer G с (m, n, p, q) индексами и надстрочными индексами действительно очень запутанные, но, к сожалению, хорошо известны в литературе, так что надежды изменить их мало.