線形代数は機械学習、ロボティクス、グラフィックスなどの分野でよく使用される数学の分野です。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には、線形代数に関する多くの関数が含まれており、数学的な操作を高速かつ正確に行うことができます。