特征值与特征向量、特征方程、特征多项式、矩阵相似、相似变换、矩阵对角化、奇异值分解(Singular Value Decomposition)手算加MATLAB

本文详细介绍了矩阵的特征值与奇异值,及其在数据处理中的重要应用。通过实例解析了如何求解矩阵的特征值和特征向量,以及如何进行奇异值分解。特征值与奇异值分解不仅用于矩阵对角化,还在矩阵对角化、奇异值分解定理、矩阵的相似变换和奇异值分解中扮演关键角色。奇异值分解在处理稀疏矩阵、矩阵对角化、数值稳定性等方面具有优势,是线性代数和数据分析中的重要工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特征值(Eigenvalue)与特征向量(Eigenvector)

  定义:若AAAn×nn\times nn×n的矩阵,xxx为非零向量,若存在数λ\lambdaλ使得Ax=λxAx=\lambda xAx=λx有非平凡解xxx,则称λ\lambdaλAAA的特征值,xxx则为对应于λ\lambdaλ的特征向量。

例1:设A=[1652]A=\begin{bmatrix}1&6\\5&2\end{bmatrix}A=[1562]u=[6−5]u=\begin{bmatrix}6\\-5\end{bmatrix}u=[65]v=[3−2]v=\begin{bmatrix}3\\-2\end{bmatrix}v=[32],判断uuuvvv是不是矩阵AAA的特征向量。

解:

Au=[1652][6−5]=[−2420]=−4×[6−5]=−4uAu=\begin{bmatrix}1&6\\5&2\end{bmatrix}\begin{bmatrix}6\\-5\end{bmatrix}= \begin{bmatrix}-24\\20\end{bmatrix}=-4\times \begin{bmatrix}6\\-5\end{bmatrix}=-4uAu=[1562][65]=[2420]=4×[65]=4u

所以,向量uuu是特征值λ=4\lambda = 4λ=4对应的特征向量。

Av=[1652][3−2]=[−911]≠λ[3−2]Av=\begin{bmatrix}1&6\\5&2\end{bmatrix}\begin{bmatrix}3\\-2\end{bmatrix}= \begin{bmatrix}-9\\11\end{bmatrix}\neq \lambda \begin{bmatrix}3\\-2\end{bmatrix}Av=[1562][32]=[911]=λ[32]

所以,AvAvAv不是向量vvv的倍数,即向量vvv不是矩阵向量AAA的特征向量。

例2:请证明7是矩阵A=[1652]A=\begin{bmatrix}1&6\\5&2\end{bmatrix}A=[1562]的特征值,并求特征值7对应的特征向量。

解:
根据定义,存在数λ\lambdaλ使得Ax=λxAx=\lambda xAx=λx有非平凡解xxx,当方程Ax=7xAx=7xAx=7x有非平凡解时,λ=7\lambda = 7λ=7才能是矩阵AAA的特征值。即:

Ax−7x=0Ax-7x=0Ax7x=0

(A−7I)x=0(A-7I)x=0(A7I)x=0

此方程为齐次方程,先计算其系数矩阵A−7IA-7IA7I

A−7I=[1652]−[7007]=[−665−5]A-7I=\begin{bmatrix}1&6\\5&2\end{bmatrix}-\begin{bmatrix}7&0\\0&7\end{bmatrix}=\begin{bmatrix}-6&6\\5&-5\end{bmatrix}A7I=[1562][7007]=[6565]

显然,A−7IA-7IA7I的列向量[−65]\begin{bmatrix}-6\\5\end{bmatrix}[65][6−5]\begin{bmatrix}6\\-5\end{bmatrix}[65]因为满足:

1×[−65]+1×[6−5]=[00]1\times \begin{bmatrix}-6\\5\end{bmatrix}+1\times \begin{bmatrix}6\\-5\end{bmatrix}=\begin{bmatrix}0\\0\end{bmatrix}1×[65]+1×[65]=[00]

所以此二列向量是线性相关的(当然,也可以看出此二列向量是-1倍数的关系,所以可以说明它们是线性相关的),所以方程(A−7I)x=0(A-7I)x=0(A7I)x=0有非平凡解(即向量xxx的元素不全为0的解),所以满足上述定义,所以7为矩阵AAA的特征值。

容易解得上述方程组的解为:满足x1=x2x_1=x_2x1=x2的所有向量x=[x1x2]x=\begin{bmatrix}x_1\\x_2\end{bmatrix}x=[x1x2],如[11]\begin{bmatrix}1\\1\end{bmatrix}[11][22]\begin{bmatrix}2\\2\end{bmatrix}[22]等,这些向量(零向量除外)都是λ=7\lambda = 7λ=7对应的特征向量。

当然,矩阵A=[1652]A=\begin{bmatrix}1&6\\5&2\end{bmatrix}A=[1562]的特征值并不只有7一个,对于所有满足Ax=λxAx=\lambda xAx=λx,即(A−λI)x=0(A-\lambda I)x=0(AλI)x=0有非平凡解,的λ\lambdaλ都可以算矩阵AAA的特征值。

特征空间:由零向量和所有对应于特征值λ\lambdaλ的特征向量构成。特征空间即(A−λI)x=0(A-\lambda I)x=0(AλI)x=0所有解得集合,也称为A−λIA-\lambda IAλI的零空间。

特征方程(Characteristic Equation)

例1:求矩阵A=[1652]A=\begin{bmatrix}1&6\\5&2\end{bmatrix}A=[1562]的特征值。

解:

要求出所有使得(A−λI)x=0(A-\lambda I)x=0(AλI)x=0有非平凡解的λ\lambdaλ的值。此问题等价于求出所有使得A−λIA-\lambda IAλI矩阵为不可逆矩阵:
A−λI=[1−λ652−λ]A-\lambda I =\begin{bmatrix}1-\lambda &6\\5&2-\lambda\end{bmatrix}AλI=[1λ562λ]

det(A−λI)=(1−λ)(2−λ)−30=λ2−3λ−28=(λ−7)(λ+4)=0det(A-\lambda I )=(1-\lambda)(2-\lambda)-30=\lambda ^2-3\lambda-28=(\lambda-7)(\lambda+4)=0det(AλI)=(1λ)(2λ)30=λ23λ28=(λ7)(λ+4)=0

所以λ=7\lambda=7λ=7λ=−4\lambda=-4λ=4为矩阵AAA的特征值。

总结:
  本例中,det(A−λI)=0det(A-\lambda I )=0det(AλI)=0就是矩阵AAA的特征方程,用特征方程可以判断矩阵det(A−λI)det(A-\lambda I )det(AλI)是否可逆(矩阵的行列式值若为0,则不可逆;如果一个矩阵可逆,则其行列式值不等于零)。

  数λ\lambdaλ是矩阵AAA的特征值的充要条件是:λ\lambdaλ是矩阵AAA的特征方程det(A−λI)=0det(A-\lambda I )=0det(AλI)=0的根。

  对于n阶的矩阵,同样可以用此方法求特征值。

特征多项式(Characteristic Polynomial)

  det(A−λI)=0det(A-\lambda I )=0det(AλI)=0是矩阵AAA的特征方程,其化简出来是一个特征多项式。
例:求矩阵A=[5−26−103−8000540001]A=\begin{bmatrix}5&-2&6&-1\\0&3&-8&0\\0&0&5&4\\0&0&0&1\end{bmatrix}A=5000230068501041的特征方程和特征多项式。

解:

det(A−λI)=det[5−λ−26−103−λ−80005−λ40001−λ]=(5−λ)(3−λ)(5−λ)(1−λ)=(5−λ)2(3−λ)(1−λ)=λ4−14λ3+68λ2−130λ+75=0det(A-\lambda I)=det\begin{bmatrix}5-\lambda&-2&6&-1\\0&3-\lambda&-8&0\\0&0&5-\lambda&4\\0&0&0&1-\lambda\end{bmatrix}=(5-\lambda)(3-\lambda)(5-\lambda)(1-\lambda)=(5-\lambda)^2(3-\lambda)(1-\lambda)=\lambda ^4-14\lambda ^3+68\lambda^2-130\lambda+75=0det(AλI)=det5λ00023λ00685λ01041λ=(5λ)(3λ)(5λ)(1λ)=(5λ)2(3λ)(1λ)=λ414λ3+68λ2130λ+75=0

所以,矩阵AAA的特征方程为:

(5−λ)2(3−λ)(1−λ)=0(5-\lambda)^2(3-\lambda)(1-\lambda)=0(5λ)2(3λ)(1λ)=0,或:

λ4−14λ3+68λ2−130λ+75=0\lambda ^4-14\lambda ^3+68\lambda^2-130\lambda+75=0λ414λ3+68λ2130λ+75=0

而后者(λ4−14λ3+68λ2−130λ+75=0\lambda ^4-14\lambda ^3+68\lambda^2-130\lambda+75=0λ414λ3+68λ2130λ+75=0)又称为矩阵AAA的特征多项式。

注:本例中,因子(λ−5)(\lambda - 5)(λ5)出现了2次,所以称特征值5有重数2,而其他的特征值3、1的重数为1。

使用MATLAB求矩阵特征值

例:对于上面的例题,求矩阵A=[1652]A=\begin{bmatrix}1&6\\5&2\end{bmatrix}A=[1562]特征值,使用eig(A)函数即可:

A =
     1     6
     5     2
>> eig(A)
ans =
    -4
     7

用MATLAB求出矩阵AAA特征值为-4和7,与上面手算的一致。

矩阵相似、相似变换

  矩阵相似定义:如果AAABBBn×nn\times nn×n矩阵,若存在可逆矩阵PPP使得P−1AP=BP^{-1}AP=BP1AP=B,或等价地A=PBP−1A=PBP^{-1}A=PBP1,那么可说AAA相似于BBB。令Q=P−1Q=P^{-1}Q=P1,则有Q−1BQ=AQ^{-1}BQ=AQ1BQ=A,即BBB也相似于AAA,所以两个方向都成立,这样我们可以简单地说AAABBB相似就行。

  相似变换:把矩阵AAA变成P−1APP^{-1}APP1AP(即P−1AP=BP^{-1}AP=BP1AP=B)的变换称为相似变换。

  矩阵相似定理:如果n×nn\times nn×n的矩阵AAA是相似的,那么它们具有相同的特征多项式,因此也具有相同的特征值和相同的重数。

使用QR分解的方法求特征值(数值方法)

  对于大多数矩阵来说,计算特征值是困难的,因为特征方程的零点用数值方法(如牛顿法)计算有困难,其计算的速度和精度难以保障。
  所以,如果需要使用数值方法求矩阵特征值,就要换用其他方法。由矩阵相似定理可知,如果任何与矩阵AAA相似的矩阵,都与矩阵AAA有相同的特征值。
  计算方法如下:先找到一系列可以收敛于一个上三角矩阵的且与矩阵AAA相似的矩阵(使用QR分解的方法,求出这一系列矩阵),如果可以找到这样的矩阵,那么这一系列矩阵收敛的极限矩阵(三角矩阵)的对角线元素就是矩阵AAA的特征值。

  (注:此处用到三角矩阵的一个性质:三角矩阵的主对角线元素就是其特征值。例如,矩阵A=[475002001]A=\begin{bmatrix}4&7&5\\0&0&2\\0&0&1\end{bmatrix}A=400700521的特征值是4、0和1;矩阵B=[300210624]B=\begin{bmatrix}3&0&0\\2&1&0\\6&2&4\end{bmatrix}B=326012004的特征值是3、1和4。)

  该方法的好处:对大多数矩阵,使用QR分解的方法(在这种求特征值的方法中,QR分解可以求出与原矩阵相似的且正交的矩阵,由于这些矩阵是相似且正交的,所以可以减少特征值求解过程的舍入误差),都能找到这样的收敛的一系列矩阵,且因为QR分解的数值计算法速度和精度都较好,所以用此方法计算的特征值,其计算速度和精度也较好。
  实际计算中,极线矩阵往往会是分块上三角矩阵(block upper triangular matrix),对其求特征值是可行的。

  上述方法总结为:设矩阵AAAn×nn\times nn×n的方阵,将AAA进行QR分解得:A=Q0R0A=Q_0R_0A=Q0R0,然后构造A1=R0Q0A_1=R_0Q_0A1=R0Q0;然后对新构造的矩阵A1A_1A1进行QR分解得:A1=Q1R1A_1=Q_1R_1A1=Q1R1,再用A1A_1A1的QR分解矩阵构造A2A_2A2得:A2=R1Q1A_2=R_1Q_1A2=R1Q1,如此类推,直到生成矩阵AnA_nAn,且它的QR分解为:An=QnRnA_n=Q_nR_nAn=QnRn,然后这个矩阵AnA_nAn的对角线下面的元素充分小或者出现明显不收敛时就停下。

在这个方法中,可以证明的推论(证明过程略):

  1. A=Q0A1Q0TA=Q_0A_1Q^T_0A=Q0A1Q0T
  2. A=(Q0Q1)A2(Q0Q1)TA=(Q_0Q_1)A_2(Q_0Q_1)^TA=(Q0Q1)A2(Q0Q1)T
  3. Q0Q1Q_0Q_1Q0Q1是正交矩阵
  4. 矩阵AAAA1A_1A1A2A_2A2直到AmA_mAm具有相同的特征值

矩阵对角化(Diagonalization)

  背景:如果一个n×nn\times nn×n的方阵AAA可以被分解为A=PDP−1A=PDP^{-1}A=PDP1(其中DDD为对角矩阵(diagonal matrix),即除了对角线元素外(当然,主对角线上的元素也是可以为0的),其他元素都为0的矩阵),这样分解可以显示更多得关于矩阵AAA的特征值和特征向量的信息,也可以利用此分解式快速求解AkA^kAkkkk较大时也能快速求出)。

例1:设对角阵D=[5003]D=\begin{bmatrix}5&0\\0&3\end{bmatrix}D=[5003]

D2=[5003][5003]=[520032]D^2=\begin{bmatrix}5&0\\0&3\end{bmatrix}\begin{bmatrix}5&0\\0&3\end{bmatrix}=\begin{bmatrix}5^2&0\\0&3^2\end{bmatrix}D2=[5003][5003]=[520032]

D3=DD2=[5003][520032]=[530033]D^3=DD^2=\begin{bmatrix}5&0\\0&3\end{bmatrix}\begin{bmatrix}5^2&0\\0&3^2\end{bmatrix}=\begin{bmatrix}5^3&0\\0&3^3\end{bmatrix}D3=DD2=[5003][520032]=[530033]

所以,可以总结出,对于k≥1,Dk=[5k003k]k\geq1,D^k=\begin{bmatrix}5^k&0\\0&3^k\end{bmatrix}k1Dk=[5k003k]

总结:从本例可看出,对角阵的幂很容易计算。

例2:设矩阵A=[72−41]A=\begin{bmatrix}7&2\\-4&1\end{bmatrix}A=[7421],给定A=PDP−1A=PDP^{-1}A=PDP1,其中P=[11−1−2]P=\begin{bmatrix}1&1\\-1&-2\end{bmatrix}P=[1112]D=[5003]D=\begin{bmatrix}5&0\\0&3\end{bmatrix}D=[5003],求AkA^kAk

解:

先求矩阵PPP的逆P−1=[21−1−1]P^{-1}=\begin{bmatrix}2&1\\-1&-1\end{bmatrix}P1=[2111]

结合矩阵乘法:A2=(PDP−1)(PDP−1)=PD(P−1P)DP−1=PDDP−1=PD2P−1A^2=(PDP^{-1})(PDP^{-1})=PD(P^{-1}P)DP^{-1}=PDDP^{-1}=PD^2P^{-1}A2=(PDP1)(PDP1)=PD(P1P)DP1=PDDP1=PD2P1

同理有:A3=AA2=(PDP−1)A2=(PDP−1)(PD2P−1)=PD(P−1P)D2P−1=PD3P−1A^3=AA^2=(PDP^{-1})A^2=(PDP^{-1})(PD^2P^{-1})=PD(P^{-1}P)D^2P^{-1}=PD^3P^{-1}A3=AA2=(PDP1)A2=(PDP1)(PD2P1)=PD(P1P)D2P1=PD3P1

所以,一般地,对于k≥1,Ak=PDkP−1=[11−1−2][5k003k][21−1−1]=[2⋅5k−3k5k−3k2⋅3k−2⋅5k2⋅3k−5k]k\geq1,A^k=PD^kP^{-1}=\begin{bmatrix}1&1\\-1&-2\end{bmatrix}\begin{bmatrix}5^k&0\\0&3^k\end{bmatrix}\begin{bmatrix}2&1\\-1&-1\end{bmatrix}=\begin{bmatrix}2\cdot5^k-3^k &5^k-3^k\\2\cdot3^k-2\cdot5^k&2\cdot3^k-5^k\end{bmatrix}k1Ak=PDkP1=[1112][5k003k][2111]=[25k3k23k25k5k3k23k5k]

  总结:根据相似定理,如果方阵AAA相似于对角矩阵DDD,则有A=PDP−1A=PDP^{-1}A=PDP1,那么此时可以称矩阵AAA可对角化

对角化定理

  对角化定理n×nn\times nn×n的方阵AAA可对角化(即A=PDP−1A=PDP^{-1}A=PDP1,且DDD为对角阵)的充要条件是:方阵AAAnnn个线性无关的特征向量,也可以说是矩阵PPP的列向量是AAAnnn个线性无关特征向量。此时,DDD的主对角线上的元素分别是AAA的对应于PPP中的特征向量的特征值。

例1:判断矩阵是否可以对角化,如果可以,对角化之:A=[133−3−5−3331]A=\begin{bmatrix}1&3&3\\-3&-5&-3\\3&3&1\end{bmatrix}A=133353331

解:

先求矩阵AAA的特征值:

0=det(A−λI)=−λ3−3λ+4=−(λ−1)(λ+2)20=det(A-\lambda I)=-\lambda^3-3\lambda+4=-(\lambda-1)(\lambda+2)^20=det(AλI)=λ33λ+4=(λ1)(λ+2)2

所以,矩阵AAA的特征值为λ=1\lambda=1λ=1λ=−2\lambda=-2λ=2
当矩阵阶数大于2×22\times 22×2时,可以用MATLAB求特征值:

A =
     1     3     3
    -3    -5    -3
     3     3     1
>> eig(A)
ans =
     1.000000000000000e+00
    -2.000000000000000e+00
    -1.999999999999998e+00

用MATLAB求出来,可见λ≈−2\lambda \approx-2λ2有两个,这是符合上面因式分解的结果的(λ=−2\lambda=-2λ=2的重数为2),λ=1\lambda=1λ=1是另一个特征值。

再求矩阵AAA的3个线性无关的特征向量:
因为矩阵AAA3×33\times 33×3的矩阵,由对角化定理可知,需要找到3个线性无关的特征向量,如果找不到,那么AAA就不能对角化:

求特征值λ=1\lambda=1λ=1对应的基:
化简方程(A−λI)x=(A−1I)x=0(A-\lambda I)x=(A-1 I)x=0(AλI)x=(A1I)x=0对应的增广矩阵:
[A−λI0]=[1−λ330−3−5−λ−30331−λ0]=[0330−3−6−303300]→[10−1001100000][A-\lambda I\quad 0]=\begin{bmatrix}1-\lambda&3&3&0\\-3&-5-\lambda&-3&0\\3&3&1-\lambda&0\end{bmatrix}=\begin{bmatrix}0&3&3&0\\-3&-6&-3&0\\3&3&0&0\end{bmatrix}\rightarrow \begin{bmatrix}1&0&-1&0\\0&1&1&0\\0&0&0&0\end{bmatrix}[AλI0]=1λ3335λ3331λ000=033363330000100010110000

通解为:x=[x1x2x3]=x3[1−11]x=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=x_3\begin{bmatrix}1\\-1\\1\end{bmatrix}x=x1x2x3=x3111
所以特征值λ=1\lambda=1λ=1对应的基为:v1=[1−11]v_1=\begin{bmatrix}1\\-1\\1\end{bmatrix}v1=111

求特征值λ=−2\lambda=-2λ=2对应的基:
化简方程(A−λI)x=(A+2I)x=0(A-\lambda I)x=(A+2 I)x=0(AλI)x=(A+2I)x=0对应的增广矩阵:
[A−λI0]=[1−λ330−3−5−λ−30331−λ0]=[3330−3−3−303330]→[111000000000][A-\lambda I\quad 0]=\begin{bmatrix}1-\lambda&3&3&0\\-3&-5-\lambda&-3&0\\3&3&1-\lambda&0\end{bmatrix}=\begin{bmatrix}3&3&3&0\\-3&-3&-3&0\\3&3&3&0\end{bmatrix}\rightarrow \begin{bmatrix}1&1&1&0\\0&0&0&0\\0&0&0&0\end{bmatrix}[AλI0]=1λ3335λ3331λ000=333333333000100100100000

通解为:x=[x1x2x3]=x2[−110]+x3[−101]x=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=x_2\begin{bmatrix}-1\\1\\0\end{bmatrix}+x_3\begin{bmatrix}-1\\0\\1\end{bmatrix}x=x1x2x3=x2110+x3101

所以特征值λ=−2\lambda=-2λ=2对应的基为:

v2=[−110]v_2=\begin{bmatrix}-1\\1\\0\end{bmatrix}v2=110v3=[−101]v_3=\begin{bmatrix}-1\\0\\1\end{bmatrix}v3=101

容易验证v1v_1v1v2v_2v2v3v_3v3是线性无关的。

使用上面求得的3个线性无关的特征向量构造矩阵P=[v1v2v3]P=[v_1\quad v_2\quad v_3]P=[v1v2v3]v1v_1v1v2v_2v2v3v_3v3的顺序可以随意排列。

P=[v1v2v3]=[1−1−1−110101]P=[v_1\quad v_2\quad v_3]=\begin{bmatrix}1&-1&-1\\-1&1&0\\1&0&1\end{bmatrix}P=[v1v2v3]=111110101

再构造矩阵DDD,把矩阵AAA的特征值放在矩阵DDD的主对角线上,注意特征值的次序要和上面构造PPP时使用的特征向量的次序对应一致(例如,上面特征值1对应的特征向量v1v_1v1是排在第一列的,所以特征值1要放在DDD的第一列的主对角线元素上):
D=[1000−2000−2]D=\begin{bmatrix}1&0&0\\0&-2&0\\0&0&-2\end{bmatrix}D=100020002

构造出DDDPPP后,进行验算,看是否满足A=PDP−1A=PDP^{-1}A=PDP1,这个式子可以变形为AP=PDAP=PDAP=PD,先判断矩阵PPP是否可逆:
求矩阵PPP的秩(rank):

P =

     1    -1    -1
    -1     1     0
     1     0     1

>> rank(P)

ans =

     3

矩阵PPP的秩(rank)为3,和其阶数一致,所以矩阵PPP是可逆的。

AP=[133−3−5−3331][1−1−1−110101]=[122−1−2010−2]AP=\begin{bmatrix}1&3&3\\-3&-5&-3\\3&3&1\end{bmatrix}\begin{bmatrix}1&-1&-1\\-1&1&0\\1&0&1\end{bmatrix}=\begin{bmatrix}1&2&2\\-1&-2&0\\1&0&-2\end{bmatrix}AP=133353331111110101=111220202

PD=[1−1−1−110101][1000−2000−2]=[122−1−2010−2]PD=\begin{bmatrix}1&-1&-1\\-1&1&0\\1&0&1\end{bmatrix}\begin{bmatrix}1&0&0\\0&-2&0\\0&0&-2\end{bmatrix}=\begin{bmatrix}1&2&2\\-1&-2&0\\1&0&-2\end{bmatrix}PD=111110101100020002=111220202

可见AP=PDAP=PDAP=PD成立且PPP可逆,即A=PDP−1A=PDP^{-1}A=PDP1成立,所以以上矩阵AAA的对角化成立。

例2:试对矩阵A=[243−4−6−3331]A=\begin{bmatrix}2&4&3\\-4&-6&-3\\3&3&1\end{bmatrix}A=243463331对角化。

解:

AAA的特征方程:
0=det(A−λI)=−(λ−1)(λ+2)20=det(A-\lambda I)=-(\lambda-1)(\lambda+2)^20=det(AλI)=(λ1)(λ+2)2

所以特征值为:1和-2。
用上例的方法求得:
特征值1对应的特征向量为:v1=[1−11]v_1=\begin{bmatrix}1\\-1\\1\end{bmatrix}v1=111
特征值2对应的特征向量为:v2=[−110]v_2=\begin{bmatrix}-1\\1\\0\end{bmatrix}v2=110

检验v1v_1v1v2v_2v2是否线性相关:
[v1v20]=[1−10−110100]→[100010000][v_1\quad v_2\quad 0]=\begin{bmatrix}1&-1&0\\-1&1&0\\1&0&0\end{bmatrix}\rightarrow \begin{bmatrix}1&0&0\\0&1&0\\0&0&0\end{bmatrix}[v1v20]=111110000100010000
方程[v1v2]x=0[v_1\quad v_2]x=0[v1v2]x=0仅有平凡解,所以矩阵[v1v2][v_1\quad v_2][v1v2]各列线性无关,所以特征向量v1v_1v1v2v_2v2线性无关。

但是根据对角化定理,虽然v1v_1v1v2v_2v2线性无关,但是仅有2个特征向量,没达到3个所以矩阵AAA不能对角化。

例3:判断矩阵A=[5−8100700−2]A=\begin{bmatrix}5&-8&1\\0&0&7\\0&0&-2\end{bmatrix}A=500800172是否可以对角化。

解:
因为AAA为三角阵,其主对角线元素就是特征值,所以其特征值为5、0和-2,这是三个相异的特征值,所以可以对角化。

总结:
一个判断矩阵对角化的充分条件:如果n×nn\times nn×n的矩阵AAAnnn个相异的特征值,则可以对角化。
当然,n×nn\times nn×n的矩阵不是必须有nnn个不同特征值才可以对角化的,例如上面的例2,仅有2个不同特征值也能对角化。

奇异值分解(Singular Value Decomposition,SVD)

  背景:由上述对矩阵对角化的讨论可知,矩阵的对角化,即A=PDP−1A=PDP^{-1}A=PDP1DDD为对角阵)的分解有很多简便的用途,但是不是所有矩阵都有这样的分解的。但是,所有的矩阵都可以分解成A=QDP−1A=QDP^{-1}A=QDP1,这就是奇异值分解SVD,它是线性代数中最有用的分解之一。

例:矩阵A=[4111487−2]A=\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}A=[48117142],线性变换x∣→Axx|\rightarrow AxxAxR3R^3R3中的单位球{x:∣∣x∣∣=1}\{x:||x||=1\}{x:x=1}映射为R2R^2R2中的椭圆。请找出使得长度∣∣Ax∣∣||Ax||Ax最大的一个单位向量xxx,并计算这个最大长度。

解:

举例:例如R3R^3R3中的一个点x=[123]x=\begin{bmatrix}1\\2\\3\end{bmatrix}x=123,经过线性变换x∣→Axx|\rightarrow AxxAx后,即:
x′=Ax=[4111487−2][123]=[6816]x^{'}=Ax=\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}\begin{bmatrix}1\\2\\3\end{bmatrix}=\begin{bmatrix}68\\16\end{bmatrix}x=Ax=[48117142]123=[6816]

可见,原来的三维点变成了二维,其线性变换公式就是AxAxAx

题目要求使得长度∣∣Ax∣∣||Ax||Ax最大,那么也是∣∣Ax∣∣2||Ax||^2Ax2最大,后者更好计算,因为:

∣∣Ax∣∣2=(Ax)T(Ax)=xTATAx=xT(ATA)x||Ax||^2=(Ax)^T(Ax)=x^TA^TAx=x^T(A^TA)xAx2=(Ax)T(Ax)=xTATAx=xT(ATA)x

其中(ATA)T=AT(AT)T=ATA(A^TA)^T=A^T(A^T)^T=A^TA(ATA)T=AT(AT)T=ATA,所以ATAA^TAATA是对称矩阵。

由于经过转化后的AxAxAx的模为xT(ATA)xx^T(A^TA)xxT(ATA)x,要使之最大,所以,现在问题转化为在条件∣∣x∣∣=1||x||=1x=1的限制下,求二次型xT(ATA)xx^T(A^TA)xxT(ATA)x最大值,并求对应的单位向量。

因为,二次型xT(ATA)xx^T(A^TA)xxT(ATA)x最大值就是矩阵ATAA^TAATA的最大特征值,所以先求阵ATAA^TAATA

ATA=[4811714−2][4111487−2]=[801004010017014040140200]A^TA=\begin{bmatrix}4&8\\11&7\\14&-2\end{bmatrix}\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}=\begin{bmatrix}80&100&40\\100&170&140\\40&140&200\end{bmatrix}ATA=41114872[48117142]=801004010017014040140200

所以二次型xT(ATA)x=80x12+170x22+200x32+200x1x2+80x1x3+280x2x3x^T(A^TA)x=80x_1^2+170x_2^2+200x_3^2+200x_1x_2+80x_1x_3+280x_2x_3xT(ATA)x=80x12+170x22+200x32+200x1x2+80x1x3+280x2x3

求出矩阵ATAA^TAATA特征值:

A =

    80   100    40
   100   170   140
    40   140   200

>> eig(A)

ans =

   -0.0000
   90.0000
  360.0000

特征值和对应的单位特征向量:

λ1=360,u1=[132323]\lambda_1 =360,u_1=\begin{bmatrix}\frac{1}{3}\\\frac{2}{3}\\\frac{2}{3}\end{bmatrix}λ1=360,u1=313232
λ2=90,u2=[−23−1323]\lambda_2 =90,u_2=\begin{bmatrix}-\frac{2}{3}\\-\frac{1}{3}\\\frac{2}{3}\end{bmatrix}λ2=90,u2=323132
λ3=0,u3=[23−2313]\lambda_3 =0,u_3=\begin{bmatrix}\frac{2}{3}\\-\frac{2}{3}\\\frac{1}{3}\end{bmatrix}λ3=0,u3=323231

因为∣∣Ax∣∣2=xT(ATA)x||Ax||^2=x^T(A^TA)xAx2=xT(ATA)x的最大值为360,且在对应的单位特征向量u1=[23−2313]u_1=\begin{bmatrix}\frac{2}{3}\\-\frac{2}{3}\\\frac{1}{3}\end{bmatrix}u1=323231处取得,

Au1=[4111487−2][132323]=[186]=[y1y2]Au_1=\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}\begin{bmatrix}\frac{1}{3}\\\frac{2}{3}\\\frac{2}{3}\end{bmatrix}=\begin{bmatrix}18\\6\end{bmatrix}=\begin{bmatrix}y_1\\y_2\end{bmatrix}Au1=[48117142]313232=[186]=[y1y2]

[y1y2]\begin{bmatrix}y_1\\y_2\end{bmatrix}[y1y2]为经过线性变换x∣→Axx|\rightarrow AxxAx后的坐标,上式表明,向量Au1=[186]Au_1=\begin{bmatrix}18\\6\end{bmatrix}Au1=[186]即指向新坐标系中距离原点最远的点(18,6)(18,6)(18,6),即该椭圆长轴的一个端点。且对于∣∣x∣∣=1||x||=1x=1∣∣Ax∣∣||Ax||Ax最大值为360\sqrt{360}360

奇异值(Singular Value)

定义:如果AAAm×nm\times nm×n的矩阵,ATAA^TAATA为对称矩阵且可正交对角化,{u1,…,un}\{u_1,\dots,u_n\}{u1,,un}RnR^nRn的单位正交向基且构成ATAA^TAATA的特征向量,λ1,,…,λn\lambda_1,,\dots,\lambda_nλ1,,,λnATAA^TAATA对应的特征值,那么对于1≤i≤n1\le i\le n1in,有:

∣∣Aui∣∣2=(Aui)T(Aui)=viTATAui=uiT(ATA)ui=uiT(ATAui)=uiT(λiui)=λi||Au_i||^2=(Au_i)^T(Au_i)=v_i^TA^TAu_i=u_i^T(A^TA)u_i=u_i^T(A^TAu_i)=u_i^T(\lambda_iu_i)=\lambda_iAui2=(Aui)T(Aui)=viTATAui=uiT(ATA)ui=uiT(ATAui)=uiT(λiui)=λi

∣∣Aui∣∣2=λi||Au_i||^2=\lambda_iAui2=λi,可见ATAA^TAATA的所有特征值非负,对所有特征值进行排列:
λ1≥λ2≥⋯≥λn≥0\lambda_1\ge \lambda_2\ge \dots \ge \lambda_n\ge0λ1λ2λn0
则矩阵AAA的奇异值是ATAA^TAATA特征值的平方根(按递减顺序排列),记作σ1,…,σn\sigma_1,\dots,\sigma_nσ1,,σn,即σi=λi\sigma_i=\sqrt{\lambda_i}σi=λi

由上例可知,矩阵AAA的奇异值其实是向量Au1,…,AunAu_1,\dots,Au_nAu1,,Aun的长度。
所以,上例对应于特征值360、90、0的奇异值分别为
σ1=λ1=360\sigma_1=\sqrt{\lambda_1}=\sqrt{360}σ1=λ1=360
σ2=λ2=90\sigma_2=\sqrt{\lambda_2}=\sqrt{90}σ2=λ2=90
σ3=λ3=0=0\sigma_3=\sqrt{\lambda_3}=\sqrt{0}=0σ3=λ3=0=0

又因为AAA的第二个奇异值是∣∣Ax∣∣||Ax||Ax在所有与u1u_1u1正交的单位向量u2u_2u2上的最大值,且这个最大值在第二个单位特征向量u2u_2u2处获得,所以:

Au2=[4111487−2][−23−1323]=[3−9]Au_2=\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}\begin{bmatrix}-\frac{2}{3}\\-\frac{1}{3}\\\frac{2}{3}\end{bmatrix}=\begin{bmatrix}3\\-9\end{bmatrix}Au2=[48117142]323132=[39]

而点(3,−9)(3,-9)(3,9)在新的椭圆的短轴端点。

所以,矩阵AAA的前两个奇异值其实是椭圆长版轴和短半轴的长度。

奇异值分解定理

  定理:如果AAA是一个秩为rrrm×nm\times nm×n的矩阵,那么存在一个形为Σ=[D000]\Sigma=\begin{bmatrix}D&0\\0&0\end{bmatrix}Σ=[D000]m×nm\times nm×n的矩阵(其中DDDr×rr\times rr×r的且对角线元素为正的对角阵,rrr不超过mmmnnn中较小的那个),其中DDD的对角线元素是AAA的前rrr个奇异值,σ1≥σ2≥⋯≥σr≥0\sigma_1\ge\sigma_2\ge \dots \ge \sigma_r\ge0σ1σ2σr0,并且存在一个m×mm\times mm×m的正交矩阵UUU和一个n×nn\times nn×n的正交矩阵VVV使得A=UΣVTA=U\Sigma V^TA=UΣVT。任何分解A=UΣVTA=U\Sigma V^TA=UΣVT都称为AAA的一个奇异值分解(SVD)。
  注意,UUUVVV不是由AAA唯一确定的。UUU中的列称为AAA左奇异向量(Left Singular Vectors)VVV的列称为AAA右奇异向量(Right Singular Vectors)

例:求上例中的矩阵A=[4111487−2]A=\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}A=[48117142]的一个奇异值分解。

解:
求奇异值分解可分三步

  1. 将矩阵ATAA^TAATA正交对角化。先求矩阵ATAA^TAATA的特征值及对应的特征向量的单位正交集。
  2. 计算矩阵VVV和矩阵Σ\SigmaΣ。将矩阵ATAA^TAATA的特征值降序排列,
    由上例可知,
    特征值和对应的单位特征向量:

λ1=360,u1=[132323]\lambda_1 =360,u_1=\begin{bmatrix}\frac{1}{3}\\\frac{2}{3}\\\frac{2}{3}\end{bmatrix}λ1=360,u1=313232
λ2=90,u2=[−23−1323]\lambda_2 =90,u_2=\begin{bmatrix}-\frac{2}{3}\\-\frac{1}{3}\\\frac{2}{3}\end{bmatrix}λ2=90,u2=323132
λ3=0,u3=[23−2313]\lambda_3 =0,u_3=\begin{bmatrix}\frac{2}{3}\\-\frac{2}{3}\\\frac{1}{3}\end{bmatrix}λ3=0,u3=323231

所以
V=[u1u2u3]=[13−232323−13−23232313]V=\begin{bmatrix}u_1&u_2&u_3\end{bmatrix}=\begin{bmatrix}\frac{1}{3}&-\frac{2}{3}&\frac{2}{3}\\\frac{2}{3}&-\frac{1}{3}&-\frac{2}{3}\\\frac{2}{3}&\frac{2}{3}&\frac{1}{3}\end{bmatrix}V=[u1u2u3]=313232323132323231

下面构造矩阵Σ\SigmaΣ
由于上例对应于特征值360、90、0的奇异值分别为
σ1=λ1=360\sigma_1=\sqrt{\lambda_1}=\sqrt{360}σ1=λ1=360
σ2=λ2=90\sigma_2=\sqrt{\lambda_2}=\sqrt{90}σ2=λ2=90
σ3=λ3=0=0\sigma_3=\sqrt{\lambda_3}=\sqrt{0}=0σ3=λ3=0=0

所以非零奇异值为矩阵DDD的对角线元素,所以:

D=[3600090]D=\begin{bmatrix}\sqrt{360}&0\\0&\sqrt{90}\end{bmatrix}D=[3600090]

而矩阵DDD是矩阵Σ\SigmaΣ的左上角,其他元素放0即可,所以:

Σ=[D0]=[360000900]\Sigma=\begin{bmatrix}D&0\end{bmatrix}=\begin{bmatrix}\sqrt{360}&0&0\\0&\sqrt{90}&0\end{bmatrix}Σ=[D0]=[360009000]

  1. 构造矩阵UUU。当矩阵AAA的秩为rrr时,矩阵UUU的前rrr列是从Au1,…,AunAu_1,\dots,Au_nAu1,,Aun计算得到的单位向量。因为本例中,矩阵AAA有两个非零奇异值,所以rank A=2rank\space A=2rank A=2,且∣∣Au1∣∣=σ1||Au_1||=\sigma_1Au1=σ1∣∣Au2∣∣=σ2||Au_2||=\sigma_2Au2=σ2

由于上面计算得:
Au1=[4111487−2][132323]=[186]Au_1=\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}\begin{bmatrix}\frac{1}{3}\\\frac{2}{3}\\\frac{2}{3}\end{bmatrix}=\begin{bmatrix}18\\6\end{bmatrix}Au1=[48117142]313232=[186]

Au2=[4111487−2][−23−1323]=[3−9]Au_2=\begin{bmatrix}4&11&14\\8&7&-2\end{bmatrix}\begin{bmatrix}-\frac{2}{3}\\-\frac{1}{3}\\\frac{2}{3}\end{bmatrix}=\begin{bmatrix}3\\-9\end{bmatrix}Au2=[48117142]323132=[39]

把向量Au1=[186]Au_1=\begin{bmatrix}18\\6\end{bmatrix}Au1=[186]和向量Au2=[3−9]Au_2=\begin{bmatrix}3\\-9\end{bmatrix}Au2=[39]单位化:

u1′=1σ1Au1=1182+62[186]=1360[186]=[310110]u_1^{'}=\frac{1}{\sigma_1}Au_1=\frac{1}{\sqrt{18^2+6^2}}\begin{bmatrix}18\\6\end{bmatrix}=\frac{1}{\sqrt{360}}\begin{bmatrix}18\\6\end{bmatrix}=\begin{bmatrix}\frac{3}{\sqrt{10}}\\\frac{1}{\sqrt{10}}\end{bmatrix}u1=σ11Au1=182+621[186]=3601[186]=[103101]

u2′=1σ2Au2=132+(−9)2[3−9]=190[3−9]=[110−310]u_2^{'}=\frac{1}{\sigma_2}Au_2=\frac{1}{\sqrt{3^2+(-9)^2}}\begin{bmatrix}3\\-9\end{bmatrix}=\frac{1}{\sqrt{90}}\begin{bmatrix}3\\-9\end{bmatrix}=\begin{bmatrix}\frac{1}{\sqrt{10}}\\-\frac{3}{\sqrt{10}}\end{bmatrix}u2=σ21Au2=32+(9)21[39]=901[39]=[101103]

所以,现在得到了属于R2R^2R2的基,{u1,u2}\{u_1,u_2\}{u1,u2}

所以构造U=[u1u2]=[310110110−310]U=\begin{bmatrix}u_1&u_2\end{bmatrix}=\begin{bmatrix}\frac{3}{\sqrt{10}}&\frac{1}{\sqrt{10}}\\\frac{1}{\sqrt{10}}&-\frac{3}{\sqrt{10}}\end{bmatrix}U=[u1u2]=[103101101103]

所以AAA的一个奇异值分解为:

A=UΣVT=[310110110−310][360000900][132323−23−132323−2313]A=U\Sigma V^T=\begin{bmatrix}\frac{3}{\sqrt{10}}&\frac{1}{\sqrt{10}}\\\frac{1}{\sqrt{10}}&-\frac{3}{\sqrt{10}}\end{bmatrix}\begin{bmatrix}\sqrt{360}&0&0\\0&\sqrt{90}&0\end{bmatrix}\begin{bmatrix}\frac{1}{3}&\frac{2}{3}&\frac{2}{3}\\-\frac{2}{3}&-\frac{1}{3}&\frac{2}{3}\\\frac{2}{3}&-\frac{2}{3}&\frac{1}{3}\end{bmatrix}A=UΣVT=[103101101103][360009000]313232323132323231

例4:求矩阵A=[1−1−222−2]A=\begin{bmatrix}1&-1\\-2&2\\2&-2\end{bmatrix}A=122122的一个奇异值分解。

解:

先计算ATA=[9−9−99]A^TA=\begin{bmatrix}9&-9\\-9&9\end{bmatrix}ATA=[9999]ATAA^TAATA为对称矩阵且可正交对角化),求得ATAA^TAATA特征值为18,0.
特征值18对应的单位特征向量为:v1=[−1212]v_1=\begin{bmatrix}-\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}\end{bmatrix}v1=[2121]

特征值0对应的单位特征向量为:v2=[1212]v_2=\begin{bmatrix}\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}\end{bmatrix}v2=[2121]

所以V=[v1v2]=[−12121212]V=\begin{bmatrix}v_1&v_2\end{bmatrix}=\begin{bmatrix}-\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\end{bmatrix}V=[v1v2]=[21212121]

矩阵的奇异值为σ1=18=32\sigma_1=\sqrt{18}=3\sqrt{2}σ1=18=32σ2=0\sigma_2=0σ2=0,因为只有一个非零奇异值,所以矩阵DDD只有一个值,即D=32D=3\sqrt{2}D=32,矩阵Σ\SigmaΣ形状同AAA

Σ=[3200000]\Sigma=\begin{bmatrix}3\sqrt{2}&0\\0&0\\0&0\end{bmatrix}Σ=3200000

为了构造UUU,先求Av1Av_1Av1Av2Av_2Av2
Av1=[−222−22]Av_1=\begin{bmatrix}-\sqrt{2}\\2\sqrt{2}\\-2\sqrt{2}\end{bmatrix}Av1=22222

Av2=[000]Av_2=\begin{bmatrix}0\\0\\0\end{bmatrix}Av2=000

Av1Av_1Av1单位化:u1=[−1323−23]u_1=\begin{bmatrix}-\frac{1}{3}\\\frac{2}{3}\\-\frac{2}{3}\end{bmatrix}u1=313232

矩阵UUU的前rrr列是从Au1,…,AunAu_1,\dots,Au_nAu1,,Aun计算得到的单位向量。因为本例中,矩阵AAA只有有1个非零奇异值,所以rank A=1rank\space A=1rank A=1,且∣∣Av1∣∣=σ1||Av_1||=\sigma_1Av1=σ1

所以本例中UUU的第一列是u1=[−1323−23]u_1=\begin{bmatrix}-\frac{1}{3}\\\frac{2}{3}\\-\frac{2}{3}\end{bmatrix}u1=313232,而其他列要将{u1}\{u_1\}{u1}扩充为R3R^3R3的单位正交基才能得到。因此,要找到另外两个与u1u_1u1正交的单位向量u2u_2u2u3u_3u3,此关系可表述为:

u1Tx=[−1323−23][x1x2x3]=−13x1+23x2−23x3=0u_1^Tx=\begin{bmatrix}-\frac{1}{3}&\frac{2}{3}&-\frac{2}{3}\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=-\frac{1}{3}x_1+\frac{2}{3}x_2-\frac{2}{3}x_3=0u1Tx=[313232]x1x2x3=31x1+32x232x3=0

通解:x=[x1x2x3]=x2[210]+x3[−201]x=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=x_2\begin{bmatrix}2\\1\\0\end{bmatrix}+x_3\begin{bmatrix}-2\\0\\1\end{bmatrix}x=x1x2x3=x2210+x3201

u2=15[210]=[25150]u_2=\frac{1}{\sqrt5}\begin{bmatrix}2\\1\\0\end{bmatrix}=\begin{bmatrix}\frac{2}{\sqrt5}\\\frac{1}{\sqrt5}\\0\end{bmatrix}u2=51210=52510

由于[210]\begin{bmatrix}2\\1\\0\end{bmatrix}210[−201]\begin{bmatrix}-2\\0\\1\end{bmatrix}201u1=[−1323−23]u_1=\begin{bmatrix}-\frac{1}{3}\\\frac{2}{3}\\-\frac{2}{3}\end{bmatrix}u1=313232都正交,

下面用格拉姆施密特方法求Span{[210]Span\{\begin{bmatrix}2\\1\\0\end{bmatrix}Span{210,[−201]}\begin{bmatrix}-2\\0\\1\end{bmatrix}\}201}的一个正交基:

w1=[210]w_1=\begin{bmatrix}2\\1\\0\end{bmatrix}w1=210

w2=[−201]−−45[210]=[−25451]w_2=\begin{bmatrix}-2\\0\\1\end{bmatrix}-\frac{-4}{5}\begin{bmatrix}2\\1\\0\end{bmatrix}=\begin{bmatrix}-\frac{2}{5}\\\frac{4}{5}\\1\end{bmatrix}w2=20154210=52541

标准化:
u2=15[210]=[25150]u_2=\frac{1}{\sqrt5}\begin{bmatrix}2\\1\\0\end{bmatrix}=\begin{bmatrix}\frac{2}{\sqrt5}\\\frac{1}{\sqrt5}\\0\end{bmatrix}u2=51210=52510

u3=545[−25451]=[−245445545]u_3=\frac{5}{\sqrt{45}}\begin{bmatrix}-\frac{2}{5}\\\frac{4}{5}\\1\end{bmatrix}=\begin{bmatrix}-\frac{2}{\sqrt{45}}\\\frac{4}{\sqrt{45}}\\\frac{5}{\sqrt{45}}\end{bmatrix}u3=45552541=452454455

所以:U=[u1u2u3]=[−1325−2452315445−230545]U=\begin{bmatrix}u_1&u_2&u_3\end{bmatrix}=\begin{bmatrix}-\frac{1}{3}&\frac{2}{\sqrt5}&-\frac{2}{\sqrt{45}}\\\frac{2}{3}&\frac{1}{\sqrt5}&\frac{4}{\sqrt{45}}\\-\frac{2}{3}&0&\frac{5}{\sqrt{45}}\end{bmatrix}U=[u1u2u3]=31323252510452454455

所以AAA的一个奇异值分解为:

A=UΣVT=[u1u2u3]=[−1325−2452315445−230545][3200000][−12121212]=[1−1−222−2]A=U\Sigma V^T=\begin{bmatrix}u_1&u_2&u_3\end{bmatrix}=\begin{bmatrix}-\frac{1}{3}&\frac{2}{\sqrt5}&-\frac{2}{\sqrt{45}}\\\frac{2}{3}&\frac{1}{\sqrt5}&\frac{4}{\sqrt{45}}\\-\frac{2}{3}&0&\frac{5}{\sqrt{45}}\end{bmatrix}\begin{bmatrix}3\sqrt{2}&0\\0&0\\0&0\end{bmatrix}\begin{bmatrix}-\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\end{bmatrix}=\begin{bmatrix}1&-1\\-2&2\\2&-2\end{bmatrix}A=UΣVT=[u1u2u3]=313232525104524544553200000[21212121]=122122

经验算上述分解是正确的。

MATLAB做SVD分解

  对于上例中的矩阵A=[1−1−222−2]A=\begin{bmatrix}1&-1\\-2&2\\2&-2\end{bmatrix}A=122122,在MATLAB中做SVD分解,命令[U,S,V]=svd(A)

A =

     1    -1
    -2     2
     2    -2

>> [U,S,V]=svd(A)

U =

   -0.3333    0.6667   -0.6667
    0.6667    0.6667    0.3333
   -0.6667    0.3333    0.6667


S =

    4.2426         0
         0         0
         0         0


V =

   -0.7071    0.7071
    0.7071    0.7071

  可见MATLAB中得到的UUU矩阵第一列与手算是一致的,第二第三列则不一致,SSS矩阵与手算的Σ\SigmaΣ矩阵一致,VVV矩阵与手算的VTV^TVT矩阵一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值