線形代数は機械学習、ロボティクス、グラフィックスなどの分野でよく使用される数学の分野です。Pythonには、線形代数の問題を解決するための多くのライブラリがあります。ここでは、PythonのNumPyライブラリを使用して、線形代数の問題を解決する方法について説明します。
まず、NumPyライブラリをインポートします。
import numpy as np
ベクトルの加算と減算
2つのベクトルを加算するには、NumPyのadd()関数を使用します。同様に、2つのベクトルを減算するには、NumPyのsubtract()関数を使用します。
# ベクトルの加算
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.add(a, b)
print(c) # 出力: [5 7 9]
# ベクトルの減算
d = np.subtract(b, a)
print(d) # 出力: [3 3 3]
行列の乗算
2つの行列を乗算するには、NumPyのdot()関数を使用します。
# 行列の乗算
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.dot(a, b)
print(c) # 出力: [[19 22], [43 50]]
逆行列の計算
行列の逆行列を計算するには、NumPyのlinalg.inv()関数を使用します。
# 逆行列の計算
a = np.array([[1, 2], [3, 4]])
b = np.linalg.inv(a)
print(b) # 出力: [[-2. 1. ], [ 1.5 -0.5]]
固有値と固有ベクトルの計算
固有値と固有ベクトルを計算するには、NumPyのlinalg.eig()関数を使用します。
# 固有値と固有ベクトルの計算
a = np.array([[1, 2], [2, 1]])
w, v = np.linalg.eig(a)
print("固有値:", w) # 出力: [ 3. -1.]
print("固有ベクトル:", v) # 出力: [[ 0.70710678 -0.70710678], [ 0.70710678 0.70710678]]
PythonのNumPyライブラリを使用することで、線形代数の問題を簡単 に解決することができます。NumPyには、線形代数に関する多くの関数が含まれており、数学的な操作を高速かつ正確に行うことができます。