numpyを用いた行列の固有値、固有ベクトル、逆行列の計算
Pythonのnumpyモジュールを用いると、行列の固有値、固有ベクトル、逆行列などを計算することができます。numpyモジュールは、数値計算を行うためのライブラリであり、行列演算を行うための多くの関数を提供しています。
例えば、以下のような3×3の行列Aを考えます。
$$A = \begin{bmatrix}1 & 2 & 3 \\4 & 5 & 6 \\7 & 8 & 9\end{bmatrix}$$
numpyを用いて、行列Aの固有値、固有ベクトル、逆行列を計算するには、以下のようなPythonコードを実行します。
import numpy as np
A = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 固有値を計算
eig_vals, eig_vecs = np.linalg.eig(A)
# 逆行列を計算
inv_A = np.linalg.inv(A)
# 結果を表示
print("A = \n{}".format(A))
print("固有値 = {}".format(eig_vals))
print("固有ベクトル = \n{}".format(eig_vecs))
print("逆行列 = \n{}".format(inv_A))
実行結果は以下のようになります。
A =
[[1 2 3]
[4 5 6]
[7 8 9]]
固有値 = [ 1.61168440e+01 -1.11684397e+00 -1.30367773e-15]
固有ベクトル =
[[-0.23197069 -0.78583024 0.40824829]
[-0.52532209 -0.08675134 -0.81649658]
[-0.8186735 0.61232756 0.40824829]]
逆行列 =
[[ 3.15251974e+15 -6.30503948e+15 3.15251974e+15]
[-6.30503948e+15 1.26100790e+16 -6.30503948e+15]
[ 3.15251974e+15 -6.30503948e+15 3.15251974e+15]]
以上のように、numpyを用いることで、行列の固有値、固有ベクトル、逆行列などを計算することができます。