numpy.linalg包函式用法集錦(求逆矩陣,求矩陣行列式的值,求特徵值和特徵向量,解方程組)

旅途、隨風發表於2021-01-01

1.計算逆矩陣

import numpy as np
a = np.array([[1, 2], [3, 4]])  # 建立矩陣
inv = np.linalg.inv(a)  # 計算逆矩陣
print('逆矩陣:', inv, '\n')

輸出結果:

逆矩陣: [[-2.   1. ]
 [ 1.5 -0.5]] 

2.計算特徵值和特徵向量

a = np.array([[1, 2], [3, 4]])
value = np.linalg.eigvals(a)    # 求解特徵值
value, vector = np.linalg.eig(a)
print('特徵值:', value)
print('特徵向量=', vector, '\n')

輸出結果:

特徵值: [-0.37228132  5.37228132]
特徵向量= [[-0.82456484 -0.41597356]
 [ 0.56576746 -0.90937671]] 

3.求解線性方程組Ax = b

A = np.mat("1 -2 1;0 2 -8;-4 5 9")
b = np.array([0, 8, -9])
x = np.linalg.solve(A, b)
print('方程的解為:', x, '\n')
print(np.dot(A, x) == b)        # 驗證解的正確性

輸出結果:

方程的解為: [29. 16.  3.]
[[ True  True  True]] 

4.計算行列式的值

value = np.linalg.det(a)
print("行列式的值:", '{:.0f}'.format(value))

輸出結果:

行列式的值: -2

持續更新中!!!

相關文章