【SymPy・Python】マクローリン展開(Maclaurin expansion)を計算して検算する!



1. マクローリン展開とSymPy
マクローリン展開(Maclaurin expansion)は、関数を0の周りで展開するテイラー展開の特殊なケースです。SymPyを使用して、関数のマクローリン展開を簡単に求めることができます。以下に、SymPyを使用してマクローリン展開を計算する基本的な方法を示します。
テイラー展開については次のページで解説しています。
2. マクローリン展開の基本的な使用例
sympyではsp.series
メソッドを使用することで、マクローリン展開することができます。
2.1. seriesの構文
基本的にsp.series(関数,変数,0,n)
のように引数を指定することでn次までマクローリン展開をすることができます。
series(expression, variable, 0, order)
- expression: 展開する関数(例: , など)
- variable: 使用する変数(例: )
- 0: 展開の基準点。マクローリン展開では常に0。0以外にすると、テイラー展開になる。
- order: 近似する項数(例: 5なら4次まで)
2.2. \( e^x \) のマクローリン展開
まず、関数 \( e^x \) のマクローリン展開を計算します。
import sympy as sp
# 変数の定義
x = sp.symbols('x')
# 関数の定義
f = sp.exp(x)
# マクローリン展開の計算
maclaurin_series = sp.series(f, x, 0, 6)
print("e^x のマクローリン展開:")
print(maclaurin_series)
このコードは、関数 \( e^x \) のマクローリン展開を6次まで計算し、結果を表示します。出力は次のようになります。
2.3. \( \sin(x) \) のマクローリン展開


次に、関数 \( \sin(x) \) のマクローリン展開を計算します。
# 関数の定義
f = sp.sin(x)
# マクローリン展開の計算
maclaurin_series = sp.series(f, x, 0, 6)
print("sin(x) のマクローリン展開:")
print(maclaurin_series)
このコードは、関数 \( \sin(x) \) のマクローリン展開を6次まで計算し、結果を表示します。出力は次のようになります。
2.4. \( \cos(x) \) のマクローリン展開
次に、関数 \( \cos(x) \) のマクローリン展開を計算します。
# 関数の定義
f = sp.cos(x)
# マクローリン展開の計算
maclaurin_series = sp.series(f, x, 0, 6)
print("cos(x) のマクローリン展開:")
print(maclaurin_series)
このコードは、関数 \( \cos(x) \) のマクローリン展開を6次まで計算し、結果を表示します。出力は次のようになります。
2.5. log(1 + x) のマクローリン展開
SymPyを使用して任意の関数のマクローリン展開を計算することもできます。例えば、関数 \( \log(1 + x) \) のマクローリン展開を計算します。
# 関数の定義
f = sp.log(1 + x)
# マクローリン展開の計算
maclaurin_series = sp.series(f, x, 0, 6)
print("log(1 + x) のマクローリン展開:")
print(maclaurin_series)
このコードは、関数 \( \log(1 + x) \) のマクローリン展開を6次まで計算し、結果を表示します。出力は次のようになります。
2.6. 高次のマクローリン展開
高次のマクローリン展開も計算できます。例えば、関数 \( \tan^{-1}(x) \) のマクローリン展開を10次まで計算します。
# 関数の定義
f = sp.atan(x)
# マクローリン展開の計算
maclaurin_series = sp.series(f, x, 0, 10)
print("tan^(-1)(x) のマクローリン展開:")
print(maclaurin_series)
このコードは、関数 \( \tan^{-1}(x) \) のマクローリン展開を10次まで計算し、結果を表示します。出力は次のようになります。
このように、SymPyを使用すると、さまざまな関数のマクローリン展開を簡単に計算することができます。

