pianofisica

Mathematics & Physics, Maxima, a bit Python & Wolfram, and Arts

Python(SymPy)における特殊関数の入力

今回の記事は備忘録としてあとで参照する目的で、Pythonの数式処理ライブラリであるSymPyにおける特殊関数の呼び出し名を、個々の関数の詳細な説明は省いてリストアップしておきます。

以下全体を通して

import sympy as sp

としたうえで、SymPyの組み込み関数の呼び出しを sp と省略している点を注意しておきます。

関数の引数は

sp.var('x, y')

として x, y を用いることにします。また整数の添字は

sp.var('n, m', integer=True)

として n, m を用いることにします。


数学定数

円周率
sp.pi
オイラー定数
sp.EulerGamma
虚数単位
sp.I
無限大
sp.oo

初等関数

三角関数(Trigonometric function)

 \ \displaystyle{\sin(x)}

sp.sin(x)

 \ \displaystyle{\cos(x)}

sp.cos(x)

 \ \displaystyle{\tan(x)}

sp.tan(x)
三角関数(Inverse trigonometric function)

 \ \displaystyle{\arcsin(x)}

sp.asin(x)

 \ \displaystyle{\arccos(x)}

sp.acos(x)

 \ \displaystyle{\arctan(x)}

sp.atan(x)
双曲線関数(Hyperbolic function)

 \ \displaystyle{\sinh(x)}

sp.sinh(x)

 \ \displaystyle{\cosh(x)}

sp.cosh(x)

 \ \displaystyle{\tanh(x)}

sp.tanh(x)
指数関数(Exponential function)

 \ \displaystyle{\exp(x)}

sp.exp(x)
対数関数(Logarithmic function)

 \ \displaystyle{\log(x)}

sp.log(x)



ガンマ関数(Gamma function)

 \ \displaystyle{\Gamma(x)=\int_{0}^{\infty} t^{x-1} e^{-t} \mathrm{~d} t}

sp.gamma(x)

ポリガンマ関数(Polygamma function)

 \ \displaystyle{\psi^{(n)}(x)=\frac{\mathrm{d}^{n+1}}{\mathrm{~d} x^{n+1}} \log \Gamma(x)}

sp.polygamma(n, x)

ベータ関数(Euler Beta function)

 \ \displaystyle{\mathrm{B}(x, y)=\int_{0}^{1} t^{x-1}(1-t)^{y-1} \mathrm{~d} t}

sp.beta(x,y)

誤差関数(Gaussian error function)

 \ \displaystyle{\operatorname{erf}(x)=\frac{2}{\sqrt{\pi}} \int_{0}^{x} e^{-t^{2}} \mathrm{~d} t}

sp.erf(x)

相補誤差関数(Complementary error function)

 \ \displaystyle{\operatorname{erfc}(x)=\frac{2}{\sqrt{\pi}} \int_{x}^{\infty} e^{-t^{2}} \mathrm{~d} t}

sp.erfc(x)

指数積分(Exponential integral)

 \ \displaystyle{\operatorname{Ei}(x)=\int_{-\infty}^{x} \frac{e^{t}}{t} \mathrm{~d} t}

sp.Ei(x)

対数積分(Logarithmic integral)

 \ \displaystyle{\operatorname{li}(x)=\int_{0}^{x} \frac{1}{\log (t)} \mathrm{d} t}

sp.li(x)

ベッセル関数(Bessel function)

第1種ベッセル関数 J
sp.besselj(n, x)
第2種ベッセル関数 Y

 \ \displaystyle{Y_{n}(x)=\lim _{\nu \rightarrow n} \frac{J_{\nu}(x) \cos (\pi \nu)-J_{-\nu}(x)}{\sin (\pi \nu)}}

sp.bessely(n, x)
第1種変形ベッセル関数 I

 \ \displaystyle{I_{n}(x)=i^{-n} J_{n}(i x)}

sp.besseli(n, x)
第2種変形ベッセル関数 K

 \ \displaystyle{K_{n}(x)=\frac{\pi}{2}\lim _{\nu \rightarrow n}\frac{I_{-\nu}(x)-I_{\nu}(x)}{\sin (\pi \nu)}}

sp.besselk(n, x)
ハンケル関数(Hankel function)

 \ \displaystyle{H_{n}^{(1)}(x)=J_{n}(x)+i Y_{n}(x)}

sp.hankel1(n, x)

 \ \displaystyle{H_{n}^{(2)}(x)=J_{n}(x)-i Y_{n}(x)}

sp.hankel2(n, x)
球ベッセル関数(spherical Bessel function)

 \ \displaystyle{j_{n}(x)=\sqrt{\frac{\pi}{2 x}} J_{n+\frac{1}{2}}(x)}

sp.jn(n, x)

 \ \displaystyle{y_{n}(x)=\sqrt{\frac{\pi}{2 x}} Y_{n+\frac{1}{2}}(x)}

sp.yn(n, x)

エアリー関数(Airy function)

 \ \displaystyle{\mathrm{Ai}(x)=\frac{1}{\pi} \int_{0}^{\infty} \cos \left(\frac{t^{3}}{3}+x t\right) \mathrm{d} t}

sp.airyai(x)

 \ \displaystyle{\operatorname{Bi}(x)=\frac{1}{\pi} \int_{0}^{\infty} \exp \left(-\frac{t^{3}}{3}+x t\right)+\sin \left(\frac{t^{3}}{3}+x t\right) \mathrm{d} t}

sp.airybi(x)



ゼータ関数(Zeta function)

フルヴィッツゼータ関数(Hurwitz zeta function)

 \ \displaystyle{\zeta(x, n)=\sum_{k=0}^{\infty} \frac{1}{(k+n)^{x}}}

sp.zeta(x, n)
リーマンのゼータ関数(Riemann zeta function)

 \ \displaystyle{\zeta(x, 1)=\zeta(x)=\sum_{k=1}^{\infty} \frac{1}{k^{x}}}

sp.zeta(x)

ディリクレのエータ関数(Dirichlet eta function)

 \ \displaystyle{\eta(x)=\sum_{k=1}^{\infty} \frac{(-1)^{k-1}}{k^{x}}}

sp.dirichlet_eta(x)

多重対数関数(Polylogarithm function)

 \ \displaystyle{\mathrm{Li}_{n}(x)=\sum_{k=1}^{\infty} \frac{x^{k}}{k^{n}}}

sp.polylog(n, x)

超幾何関数(Hypergeometric function)

 \ \displaystyle{{ }_{p} F_{q}\left(\begin{array}{c}a_{1}, \cdots, a_{p} \\ b_{1}, \cdots, b_{q}\end{array} \mid z\right)=\sum_{n=0}^{\infty} \frac{\left(a_{1}\right)_{n} \cdots\left(a_{p}\right)_{n}}{\left(b_{1}\right)_{n} \cdots\left(b_{q}\right)_{n}} \frac{z^{n}}{n !}}

ただしここで

 \ \displaystyle{(a)_{n}=a(a+1) \cdots(a+n-1)}

sp.hyper( [a1, a2, ..., ap], [b1, b2, ..., bq], z)

超幾何関数については以下の記事でも取り上げています:

pianofisica.hatenablog.com



楕円積分(Elliptic integral)

ルジャンドルの第1種不完全楕円積分 F

 \ \displaystyle{F(x\,|\,m)=\int_{0}^{x} \frac{d t}{\sqrt{1-m \sin ^{2} t}}}

sp.elliptic_f(x, m)
ルジャンドルの第2種不完全楕円積分 E

 \ \displaystyle{E(x\,|\,m)=\int_{0}^{x} d t\sqrt{1-m \sin ^{2} t}}

sp.elliptic_e(x, m)
ルジャンドルの第3種不完全楕円積分 Pi

 \ \displaystyle{\Pi(n ; x\,|\,m)=\int_{0}^{x} \frac{d t}{\left(1-n \sin ^{2} t\right) \sqrt{1-m \sin ^{2} t}}}

sp.elliptic_pi(n, x, m)
第1種完全楕円積分

 \ \displaystyle{K(m)=F\left(\frac{\pi}{2} \,|\, m\right)}

sp.elliptic_k(m)

直交多項式(Orthogonal polynomials)

ヤコビ多項式(Jacobi polynomial)

 \ \displaystyle{P_{n}^{(a, b)}(x)}

sp.var('a, b')
sp.jacobi(n, a, b, x)
規格化されたヤコビ多項式

 \ \displaystyle{\int_{-1}^{1} P_{m}^{(a,b)}(x) P_{n}^{(a,b)}(x)(1-x)^{a}(1+x)^{b} \mathrm{d} x=\delta_{m, n}}

sp.jacobi_normalized(n, a, b, x)
ゲーゲンバウアー多項式(Gegenbauer polynomial)

 \ \displaystyle{C_{n}^{(a)}(x)}

sp.gegenbauer(n, a, x)
第1種チェビシェフ多項式 T(Chebyshev polynomial)

 \ \displaystyle{T_{n}(x)}

sp.chebyshevt(n, x)
第2種チェビシェフ多項式 U

 \ \displaystyle{U_{n}(x)}

sp.chebyshevu(n, x)
ルジャンドル多項式(Legendre polynomial)

 \ \displaystyle{P_{n}(x)}

sp.legendre(n, x)
ルジャンドル多項式(Associated Legendre polynomial)

 \ \displaystyle{P^{\ m}_{n}(x)=(-1)^{m}\left(1-x^{2}\right)^{\frac{m}{2}} \frac{\mathrm{d}^{m} P_{n}(x)}{\mathrm{d} x^{m}}}

sp.assoc_legendre(n, m, x)
エルミート多項式(Hermite polynomial)

 \ \displaystyle{H_{n}(x)}

sp.hermite(n, x)
ラゲール多項式(Laguerre polynomial)

 \ \displaystyle{L_{n}(x)}

sp.laguerre(n, x)

球面調和関数(Spherical harmonics)

 \ \displaystyle{Y_{n}^{m}(\theta, \varphi)=\sqrt{\frac{(2 n+1)(n-m) !}{4 \pi(n+m) !}} \exp (i m \varphi) {P}_{n}^{\ m}(\cos (\theta))}

sp.var('theta, phi')
sp.Ynm(n, m, theta, phi)

ヘヴィサイド関数(Heaviside function)

 \ \displaystyle{\theta(x)=\begin{cases}0 & \text { for } x<0 \\ \text { undefined } & \text { for } x=0 \\ 1 & \text { for } x>0\end{cases}}

sp.Heaviside(x)

ディラックデルタ関数Dirac delta function)

sp.DiracDelta(x)




キーワードPython、SymPy、特殊関数

プライバシーポリシー