私は行列の乗算を行うためのPythonの能力について知っています。 残念ながら、これを抽象的に行う方法がわかりません。したがって、数字は で、変数はありません。抽象的な行列の乗算と変数
例:
M = (1 0) * (1 d)
(a c) (0 1)
、CとDを定義するためのいくつかの方法は、行列の乗算 は私
(1 d )
(a a*d + c)
に与えるよう、ありますか?
私は行列の乗算を行うためのPythonの能力について知っています。 残念ながら、これを抽象的に行う方法がわかりません。したがって、数字は で、変数はありません。抽象的な行列の乗算と変数
例:
M = (1 0) * (1 d)
(a c) (0 1)
、CとDを定義するためのいくつかの方法は、行列の乗算 は私
(1 d )
(a a*d + c)
に与えるよう、ありますか?
あなたがこれを行うことができsympyを使用する:
>>> from sympy import *
>>> var('a c d A B')
(a, c, d, A, B)
>>> A = Matrix([[1, 0], [a, c]])
>>> A
Matrix([
[1, 0],
[a, c]])
>>> B = Matrix([[1, d], [0, 1]])
>>> B
Matrix([
[1, d],
[0, 1]])
>>> M = A.multiply(B)
>>> M
Matrix([
[1, d],
[a, a*d + c]])
変数と同様に、配列/行列は特定の値でのみ初期化できます。あなたがすることができる唯一のことは
import numpy as np
def helper(a, c, d):
A = np.array([[1, 0], [a, c]])
B = np.array([[1, d], [0, 1]])
return A @ B
初期化を容易にするための関数を作るです(
@
、オペレータが明示的なマトリックス乗算演算子である場合)
関数名がありますか? – Asterisk
@アスタリスク:はい、もちろん、それは正常な機能です。タイプミスを修正しました。 –
持っAシンボリックコンピューティングのためのPythonライブラリ 'sympy'を見てください。 – dseuss