NumPy

NumPy Quickstart チュートリアルに取り組む (6-1) 線形代数 簡単な配列操作

詳細は numpy フォルダの linalg.py を参照。

import numpy as np
a = np.array([[1.0, 2.0], [3.0, 4.0]])
print(a)
'''
[[ 1. 2. ]
 [ 3. 4. ]]
'''

print(a.transpose())
'''
[[ 1. 3. ]
 [ 2. 4. ]]
'''

print(np.linalg.inv(a))
'''
[[-2.   1. ]
 [ 1.5 -0.5]]
'''

u = np.eye(2) # 単位2×2の行列、目はIを表す
print(u)
'''
[[ 1. 0. ]
 [ 0. 1. ]]
'''

j = np.array([[0.0, -1.0], [1.0, 0.0]])
print(j @ j)       # マトリックス積
'''
[[-1.  0.]
 [ 0. -1.]]
'''

print(np.trace(u))  # trace
# 2.0

y = np.array([[5.], [7.]])
print(np.linalg.solve(a, y))
'''
[[-3.]
 [ 4.]]
'''

print(np.linalg.eig(j))
'''
(array([0.+1.j, 0.-1.j]), array([[0.70710678+0.j        , 0.70710678-0.j        ],
       [0.        -0.70710678j, 0.        +0.70710678j]]))
'''