本日覚えたこと
- 線形代数周りの処理で覚えた内容を記述
- 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))