网站建设开发费入什么科目,网站SEO的评价,淘宝网站的建设目标,免费模板的软件【Python】Numpy–np.linalg.eig()求对称矩阵的特征值和特征向量 文章目录【Python】Numpy--np.linalg.eig()求对称矩阵的特征值和特征向量1. 介绍2. API3. 代码示例1. 介绍
特征分解#xff08;Eigendecomposition#xff09;#xff0c;又称谱分解#xff08;Spectral d…【Python】Numpy–np.linalg.eig()求对称矩阵的特征值和特征向量 文章目录【Python】Numpy--np.linalg.eig()求对称矩阵的特征值和特征向量1. 介绍2. API3. 代码示例1. 介绍
特征分解Eigendecomposition又称谱分解Spectral decomposition是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。
需要注意只有对可对角化矩阵才可以施以特征分解。当方阵的行列式不为0时它才可以特征分解。对称矩阵的行列式不为0。故实对称矩阵 A 可被分解成 AQΛQTA QΛ Q^T AQΛQTΛ是特征值构成的对角矩阵Q为特征向量构成的矩阵每列为一个特征向量。
2. API
Numpy提供了丰富的API
求矩阵的特征值和特征向量求矩阵的行列式求方阵的逆
import numpy as np
# 计算特征值和特征向量
x, V np.linalg.eig(A)# 计算矩阵的行列式
det np.linalg.det(A)# 计算方阵的逆
A_inv np.linalg.inv(A)3. 代码示例
import numpy as npA np.array([[0, 1, 2, 3],[1, 0, 3, 1],[2, 3, 0, 2],[3, 1, 2, 0]])x, V np.linalg.eig(A)V_inv np.linalg.inv(V)print(A的行列式, np.linalg.det(A))# 注意这里且不可使用‘*’做乘法因为*优先使用点乘点乘不成立才会进行矩阵乘法
B np.matmul(np.matmul(V, np.diag(x)), (V_inv))print(特征值x: \n, x)print(特征向量V: \n, V)print(V_T: \n, V.T)print(V_inv: \n, V_inv)print(B: \n, B)-----------------------------输出-----------------------------------
A的行列式 9.000000000000009
特征值x:[ 6.05572176 0.15432761 -3. -3.21004937]
特征向量V:[[-5.03020107e-01 -4.75446017e-01 -7.07106781e-01 -1.44643895e-01][-4.38300211e-01 6.51958757e-01 -2.36695808e-17 -6.18742842e-01][-5.49394638e-01 3.50502424e-01 -1.50578103e-16 7.58494287e-01][-5.03020107e-01 -4.75446017e-01 7.07106781e-01 -1.44643895e-01]]
V_T:[[-5.03020107e-01 -4.38300211e-01 -5.49394638e-01 -5.03020107e-01][-4.75446017e-01 6.51958757e-01 3.50502424e-01 -4.75446017e-01][-7.07106781e-01 -2.36695808e-17 -1.50578103e-16 7.07106781e-01][-1.44643895e-01 -6.18742842e-01 7.58494287e-01 -1.44643895e-01]]
V_inv:[[-5.03020107e-01 -4.38300211e-01 -5.49394638e-01 -5.03020107e-01][-4.75446017e-01 6.51958757e-01 3.50502424e-01 -4.75446017e-01][-7.07106781e-01 -8.99464510e-16 8.86986655e-16 7.07106781e-01][-1.44643895e-01 -6.18742842e-01 7.58494287e-01 -1.44643895e-01]]
B:
[[ 1.71102595e-15 1.00000000e00 2.00000000e00 3.00000000e00][ 1.00000000e00 9.30160211e-16 3.00000000e00 1.00000000e00][ 2.00000000e00 3.00000000e00 -2.20312258e-16 2.00000000e00][ 3.00000000e00 1.00000000e00 2.00000000e00 1.88043220e-15]]