SymPy-統合
SymPyパッケージには積分モジュールが含まれています。式の定積分と不定積分を計算するメソッドを実装します。Integrate()メソッドは、定積分と不定積分の両方を計算するために使用されます。不定積分またはプリミティブ積分を計算するには、式の後に変数を渡すだけです。
例-
integrate(f, x)
定積分を計算するには、次のように引数を渡します。
(integration_variable, lower_limit, upper_limit)
>>> from sympy import *
>>> x,y = symbols('x y')
>>> expr=x**2 + x + 1
>>> integrate(expr, x)
上記のコードスニペットは、以下の式と同等の出力を提供します-
$\frac{x^3}{3} + \frac{x^2}{2} + x$
>>> expr=sin(x)*tan(x)
>>> expr
>>> integrate(expr,x)
上記のコードスニペットは、以下の式と同等の出力を提供します-
$-\frac{\log(\sin(x) - 1)}{2} + \frac{\log(\sin(x) + 1)}{2} - \sin(x)$
定積分の例を以下に示します-
>>> expr=exp(-x**2)
>>> integrate(expr,(x,0,oo) )
上記のコードスニペットは、以下の式と同等の出力を提供します-
$\frac{\sqrt\pi}{2}$
複数の制限タプルを渡して、多重積分を実行できます。例を以下に示します-
>>> expr=exp(-x**2 - y**2)
>>> integrate(expr,(x,0,oo),(y,0,oo))
上記のコードスニペットは、以下の式と同等の出力を提供します-
$\frac{\pi}{4}$
積分オブジェクトを使用して未評価の積分を作成できます。これは、doit()メソッドを呼び出すことで評価できます。
>>> expr = Integral(log(x)**2, x)
>>> expr
上記のコードスニペットは、以下の式と同等の出力を提供します-
$\int \mathrm\log(x)^2 \mathrm{d}x$
>>> expr.doit()
上記のコードスニペットは、以下の式と同等の出力を提供します-
$x\log(x)^2 - 2xlog(x) + 2x$
積分変換
SymPyは、次のようにさまざまなタイプの積分変換をサポートしています。
- laplace_transform
- fourier_transform
- sine_transform
- cosine_transform
- hankel_transform
これらの関数はsympy.integrals.transformsモジュールで定義されています。次の例では、フーリエ変換とラプラス変換をそれぞれ計算します。
Example 1
>>> from sympy import fourier_transform, exp
>>> from sympy.abc import x, k
>>> expr=exp(-x**2)
>>> fourier_transform(expr, x, k)
上記のコマンドをPythonシェルで実行すると、次の出力が生成されます-
sqrt(pi)*exp(-pi**2*k**2)
これは−と同等です
$\sqrt\pi * e^{\pi^2k^2}$
Example 2
>>> from sympy.integrals import laplace_transform
>>> from sympy.abc import t, s, a
>>> laplace_transform(t**a, t, s)
上記のコマンドをPythonシェルで実行すると、次の出力が生成されます-
(s**(-a)*gamma(a + 1)/s, 0, re(a) > -1)