特征值和特征向量(wikipka)
对于一个给定的方阵A,它的特征向量(eigenvector,也译固有向量、本征向量)经过这个线性变换之后,得到的新向量仍然与原来的保持在同一条直线上,但其长度或方向也许会改变。
为标量,即特征向量的长度在该线性变换下缩放的比例,称 为其特征值(eigenvalue,也译固有值、本征值)。如果特征值为正,则表示v 在经过线性变换的作用后方向也不变;如果特征值为负,说明方向会反转;如果特征值为0,则是表示缩回零点。
特征值
特征值:特征值为一个数值类型的变量,特征值一共有n个。(n为矩阵的秩),而且为特征向量上的元素。
特征向量
特征向量:特征向量一个向量,代表的是一个矩阵在某一个坐标体系上进行了缩放。具体例子如图所示,这里参考了知乎的博主(我认为比较通俗易懂)
特征指和特征向量的求解方法
主要是根据第一个公式进行变化,先求解特征值,之后再求解特征向量。实操方法简单易懂。
python代码
python里面主要通过numpy.linalg.eig()方法实现。具体代码和输出如图所示。
import numpy as np
A = np.array([[1,3],[2,4]]) #建立一个二维数组,而且要保证最后的两个维度相同
B = np.array([[1,2,3],[2,3,4]],dtype=int) #可以输出指定数据类型
A_eig_value, A_eig_vector = np.linalg.eig(A) #返回矩阵A的特征值与特征向量
print('A_eig_value:', A_eig_value, '\n')
print('A_eig_vector:', A_eig_vector)
# output:
A_eig_value: [-0.37228132 5.37228132]
A_eig_vector: [[-0.90937671 -0.56576746]
[ 0.41597356 -0.82456484]]