SciPy を用いた簡単な積分の計算例
ここでは Python の科学技術計算フレームワークである SciPy を用いて、簡単な積分の計算を行う例を紹介します。
SciPy の実行環境
実際に動作させるためには、Python 3 以上と SciPy ライブラリがインストールされている必要があります。
SciPy による積分の計算例
ここでは次の初歩的な定積分の計算を SciPy を使って計算してみましょう。
\[
\int_{0}^1 3x + 1 dx
\]
Virtualenv 内でシェルで計算を実行する例
次のコマンドで ex1 という名前の Virtualenv 環境を作成します。Python のバージョンは 3.8 としています。
virtualenv -p python3.8 ex1
正常動作しない場合は「Virtualenv の使い方」などを参考に Virtualenv をインストールしてください。
次のコマンドで ex1 virtualenv を有効にします。
. ex1/bin/activate
SciPy をインストールし、Python のシェルを起動します。
pip install scipy
Collecting scipy
Using cached scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl (28.8 MB)
Collecting numpy>=1.13.3
Using cached numpy-1.18.4-cp38-cp38-macosx_10_9_x86_64.whl (15.2 MB)
Installing collected packages: numpy, scipy
Successfully installed numpy-1.18.4 scipy-1.4.1
python
Python 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
ここからが SciPy を利用して、定積分の計算を行います。
>>> from scipy.integrate import quad
>>> I = quad(lambda x: 3*x+1, 0, 1)
>>> I
(2.5, 2.7755575615628914e-14)
>>>
計算結果は (2.5, 2.7755575615628914e-14) というタプルで得られました。
タプルのひとつめの値 2.5 が計算結果です。そして、二つ目の値は誤差の最大値です。 \(\pm 2.776 \times 10^{-14}\) が誤差の範囲です。
以上、ここでは SciPy を利用して簡単な定積分の値を計算する例を紹介しました。