線性代數
numpy.linalg模塊包含線性代數的函數, 可以求逆矩陣,求特征值,解線性方程組及求行列式
計算逆矩陣
Key_Function
np.linalg.inv函數, 求出給定矩陣的逆矩陣
np.mat函數, 創建矩陣
Code
import numpy as np A = np.mat("0 1 2; 1 0 3; 4 -3 8") print(A) ''' [[ 0 1 2] [ 1 0 3] [ 4 -3 8]] ''' inverse = np.linalg.inv(A) print(inverse) ''' [[-4.5 7. -1.5] [-2. 4. -1. ] [ 1.5 -2. 0.5]] ''' print(A * inverse) ''' [[ 1. 0. 0.] [ 0. 1. 0.] [ 0. 0. 1.]] '''
求解線性方程組
矩陣可以對向量進行線性變換
Key_Function
np.linalg.solve函數, 求解形如Ax=b的線性方程組, 其中A為矩陣, b為一維或二維的數組, x是未知變量
np.dot函數, 計算兩個數組的點積, 即內積
Code
import numpy as np A = np.mat("1 -2 1; 0 2 -8; -4 5 9") print(A) ''' [[ 1 -2 1] [ 0 2 -8] [-4 5 9]] ''' b = np.array([0, 8, -9]) print(b) ''' [ 0 8 -9] ''' x = np.linalg.solve(A, b) print(x) # [ 29. 16. 3.] print(np.dot(A, x)) # [[ 0. 8. -9.]]