更新:2024/10/02

SymPyで行列積を計算する方法!Pythonを使って答えのない計算の検算などに利用しよう

はるか
はるか
今回はSymPyを使って行列積を計算する方法について説明するよ。
ふゅか
ふゅか
いいね!Pythonを使って複雑な計算も簡単にできるんだよね。

1. SymPyと行列積

SymPyを使用して行列積を計算することができます。行列積の計算は線形代数で重要な操作の一つであり、機械学習などの重みの計算や線形変換で頻繁に使用されます。以下に、SymPyを使用して行列積を計算する基本的な方法を示します。

2. SymPyを利用した行列積

2.1. 基本的な使用例

はるか
はるか
じゃあ、SymPyを使って2×2行列の行列積を計算する。

まず、SymPyを使用して2×2行列の行列積を計算する例を示します。

import sympy as sp

# 行列の定義
matrix1 = sp.Matrix([[1, 2], [3, 4]])
matrix2 = sp.Matrix([[5, 6], [7, 8]])

# 行列積の計算
product = matrix1 * matrix2

print("行列積:")
sp.pprint(product)

このコードは、$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$と$\begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}$の2×2行列の行列積を計算します。

出力は次のようになります。

2.2. 変数を含んだの行列積

はるか
はるか
次は、変数を含んだ行列の行列積を計算する。

多変数の行列を使用して行列積を計算することもできます。以下にその例を示します。

# 変数の定義
x, y, z = sp.symbols('x y z')

# 多変数の行列の定義
matrix1 = sp.Matrix([[x, y], [z, 1]])
matrix2 = sp.Matrix([[1, 2], [3, 4]])

# 行列積の計算
product = matrix1 * matrix2

print("行列積:")
sp.pprint(product)

このコードは、$ \begin{pmatrix} x & y \\ z & 1 \end{pmatrix} $と $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$の2つの行列の行列積を計算します。

出力は次のようになります。

PR