在接触到线性变换这个概念的时候,书本上的定义和公式总是抽象难懂;在学习PCA、SVD等与矩阵相关的算法时,特征向量的物理意义也总是让我满头雾水。在对这两个概念学习的过程中,我主要参考了居余马编著的《线性代数》一书和相关博客、百度文库等网络资源[1][2]。由于线性变换和特征向量的定义书上和博客上介绍的很多,我主要从一个matlab实例来解释线性变换与特征向量的关系。
clear
%在标准正交基下的线性变换矩阵
A=[1,-1,-1,-1;-1,1,-1,-1;-1,-1,1,-1;-1,-1,-1,1];
%对该变换矩阵进行特征值分解,P为特征向量矩阵,r为特征值
[P,r]=eig(A);
%空间里的某一向量
X=[1,2,3,4]';
%对该向量进行线性变换
A_1=A*X;
%将该向量转换到“特征向量基”下的坐标
X_1=[dot(X,P(:,1)),dot(X,P(:,2)),dot(X,P(:,3)),dot(X,P(:,4))]';
%在“特征向量基”下的线性变换
P_1=[X_1(1)*r(1,1),X_1(2)*r(2,2),X_1(3)*r(3,3),X_1(4)*r(4,4)]';
%将“特征向量基”下的线性变换后的结果转换到标准正交基下,做比较,其中特征向量矩阵也是从标准正交基到“特征向量基”的过渡矩阵
P_1=P*P_1;
% 线性变换的理解:
% 任何矩阵都可理解为在标准正交基下(表示为单位矩阵的一组)的线性变换矩阵
% 该线性变化矩阵的特征向量组成的矩阵是从正交基到“特征向量基”的过渡矩阵
% 该线性变换矩阵若与对角阵相似,则该对角阵是在“特征向量基下的”线性变换矩阵
% 任意线性变换,特征向量,特征值,行列式是唯一的。
%在“特征向量基”下,任意向量的线性变换只是对各坐标的拉长,幅度为特征值,因此特征值的大小也就衡量了与其对应的特征向量对整体线性变换得影响程度。
matlab运行的结果:
A_1=-8,-6,-4,-2; P_1=-8.0,-6.0,-4.0,-2.0;
该结果也就论证了在两个基下的变换结果是一致的,且在“特征向量基”下的变换过程简单、直接、物理意义明确。根据[1]中介绍的关系:矩阵A与特征值矩阵r满足相似关系,即同一线性变换的不同基下的线性变换矩阵是相似的,这也使矩阵相似这个概念的物理意义更加明确。
针对线性变换与特征向量的物理意义理解在不同的应用中会不同,所以有很大的片面性,以后会持续更新,第一次写博客,请大神们多多指教。