Numpyで実装
ベクトルの生成
a = np.array([[1, 2], [3, 4]])
print (a)
>> [1, 2, 3]
行列の生成
a = np.array([[1, 2], [3, 4]])
print (a)
>>[[1, 2]
[3, 4]]
転置
c1 = np.array([[1,2],[3,4]])
>>[[1 2]
[3 4]]
d1 = c1.T
>>[[1 3]
[2 4]]
行列の足し算
# 前述の行列Aに対して
A_plus = A + A
引き算も同様である.
行列の定数倍
A_double = 2*A
行列の積 (ベクトルの場合は内積)
# 前述の行列Aに対して
A_dot = np.dot(A, A.T)
ベクトルの内積もこの方法で算出できる.
アダマール積 (要素ごとの積)
# 前述の行列Aに対して
A_hadamard = A * A
逆行列の生成
P = np.array([[1+1j,2+2j],[3+3j,4+4j]])
P_inverse = np.linalg.inv(P)
ここでPとP_inverseの積を求めると確かに単位行列になる.
行列式
# 前述の行列Pに対して
P_det = np.linalg.det(P)
ゼロ化
Y = np.zeros((2,3), dtype = complex)
実数のみを扱う場合は省略してよい. 整数の場合は dtype = int にする.
単位行列
I = np.eye(3)
np.eye(2,3) といったような正方行列でないものも可能.
行列の結合
yoko = np.concatenate((U,V), axis=1)
縦に結合する場合は axis=0 とすればよい.