Это правильный вывод LaTeX для этого выражения. Это результат интеграла, отображаемого в терминах гипергеометрической функции:
https://en.wikipedia.org/wiki/Generalized_hypergeometric_function
Возможно, вы не узнаете функцию, но это обычная математическая функция, и вы можете подставлять значения в is и оценивать ее и т. Д .:
In [17]: antiderivative = integrate(Si(x)/x, x)
In [18]: antiderivative
Out[18]:
⎛ │ 2 ⎞
┌─ ⎜ 1/2, 1/2 │ -x ⎟
x⋅ ├─ ⎜ │ ────⎟
2╵ 3 ⎝3/2, 3/2, 3/2 │ 4 ⎠
In [19]: antiderivative.subs(x, 1)
Out[19]:
┌─ ⎛ 1/2, 1/2 │ ⎞
├─ ⎜ │ -1/4⎟
2╵ 3 ⎝3/2, 3/2, 3/2 │ ⎠
In [20]: antiderivative.subs(x, 1).n()
Out[20]: 0.981810799391358
Многие обычные математические функции могут быть выражены в терминах гипергеометрических функций, а иногда их можно упростить до чего-то более узнаваемого:
In [27]: hyper([], [S(1)/2], -x**2/4)
Out[27]:
⎛ │ 2 ⎞
┌─ ⎜ │ -x ⎟
├─ ⎜ │ ────⎟
0╵ 1 ⎝1/2 │ 4 ⎠
In [28]: hyperexpand(_)
Out[28]: cos(x)
Полезно иметь возможность переписать интеграл в терминах гипергеометрических функций, потому что процедура, которая может интегрировать гипергеометрические функции, может работать для большого количества возможных подынтегральных выражений. Он особенно полезен для специальных функций (таких как Si
), не требуя специальных правил для каждой новой функции, которую мы, возможно, захотим интегрировать. В SymPy есть специальная процедура интеграции meijerg
, которая делает это с помощью еще более общей функции Meijer G:
https://en.wikipedia.org/wiki/Meijer_G-function
SymPy использовала процедуру meijerg
для этого интеграла, хотя похоже, что результат был преобразован в гипергеометрические функции, а не в функции G. Иногда можно упростить результат определенного интеграла, даже если он вычисляется с использованием первообразной, которая может быть выражена только в терминах гипергеометрических / G-функций.
В случае этого интеграла, хотя это не похоже, что SymPy может выразить его с помощью других функций. Я также проверил WolframAlpha, который также дает менее простое (но эквивалентное) представление с точки зрения гипергеометрических функций:
https://www.wolframalpha.com/input/?i=integrate+Si%28x%29%2Fx
person
Oscar Benjamin
schedule
13.12.2020