本日覚えたこと
- 線形代数周りの処理で覚えた内容を記述
- npと記載されている箇所はnumpyの関数を利用しているところです。
import numpy as np
スカラー
a = 1.5
ベクトル
b = np.array([1, 2, 3, 4, 5])
行列
c = np.array([[1, 2, 3], [4, 5, 6]])
3階のテンソルさん
d = np.array([[[0, 1, 2], [3, 4, 5], [6, 7, 8]], [[8, 7, 6], [5, 4, 3], [2, 1, 0]]]) a = np.array([2, 4, -5,-7]) b = np.array([1, 7, -2,-1]) print(np.dot(a,b)) # 内積 print(np.linalg.norm(a)) # L2ノルム print(np.linalg.norm(a,1)) # L1ノルム
行列積
a = np.array([[0, 1, 2], [1, 2, 3]]) b = np.array([[0, 1], [1, 2], [2, 3]]) print(np.dot(a,b))
要素ごとの積
c = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) d = np.array([[0, 2, 0], [2, 0, 2], [0, 2, 0]]) print(c*d)
転置: 行列の行と列を入れ替えます
a = np.array([[0, 1, 2], [1, 2, 3]]) b = np.array([[0, 1, 2], [2, 3, 4]]) print(np.dot(a, b.T))
行列式
a = np.array([ [5,6], [7,8]]) print(np.linalg.det(a))
逆行列
- 変数同士の相関関係を調べる回帰分析に使わる
a = np.array([ [5,6], [7,8]]) print(np.linalg.inv(a))