Pythonにおける行列演算
メニューを表示するにはスワイプしてください
1. 加算と減算
同じ形状の2つの行列 A と B は加算可能。
123456789import numpy as np A = np.array([[1, 2], [5, 6]]) B = np.array([[3, 4], [7, 8]]) C = A + B print(f'C:\n{C}') # C = [[4, 6], [12, 14]]
2. 乗算の規則
行列の乗算は要素ごとではない。
規則:A の形状が (n,m)、B の形状が (m,l) の場合、結果の形状は (n,l)。
1234567891011121314151617181920import numpy as np # Example random matrix 3x2 A = np.array([[1, 2], [3, 4], [5, 6]]) print(f'A:\n{A}') # Example random matrix 2x4 B = np.array([[11, 12, 13, 14], [15, 16, 17, 18]]) print(f'B:\n{B}') # product shape (3, 4) product = np.dot(A, B) print(f'np.dot(A, B):\n{product}') # or equivalently product = A @ B print(f'A @ B:\n{product}')
3. 転置
転置は行と列を入れ替える操作。
一般的な規則:A が (n×m) の場合、AT は (m×n) となる。
1234567import numpy as np A = np.array([[1, 2, 3], [4, 5, 6]]) A_T = A.T # Transpose of A print(f'A_T:\n{A_T}')
4. 行列の逆行列
行列 A は、次の条件を満たす場合に逆行列 A−1 を持つ:
A⋅A−1=Iここで、I は単位行列。
すべての行列が逆行列を持つわけではない。行列は正方行列かつフルランクである必要がある。
12345678910import numpy as np A = np.array([[1, 2], [3, 4]]) A_inv = np.linalg.inv(A) # Inverse of A print(f'A_inv:\n{A_inv}') I = np.eye(2) # Identity matrix 2x2 print(f'A x A_inv = I:\n{np.allclose(A @ A_inv, I)}') # Check if product equals identity
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 4. 章 4