在接触到线性变换这个概念的时候,书本上的定义和公式总是抽象难懂;在学习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)]';
%将“特征向量基”下的线性变换后的结果转换到标准正交基下,做比较,其中特征向量矩阵也是从标准正交基到“特征向量基”的过