# 一、特征值分解

首先根据特征值与特征向量的定义有Ax=λxAx=λx,其中 x 是一个 n 维向量,则我们说 λ 是矩阵 A 的一个特征值,x 是矩阵 A 的特征值 λ 所对应的特征向量,一个矩阵的一组向量是一组正交向量 Q。 特征值分解是将一个矩阵分解成下面的形式:

A=QΣQ1A=Q\Sigma Q^-1

# 二、奇异值分解(SVD)

SVD 也是对矩阵进行分解,但是和特征分解不同,SVD 并不要求矩阵为方阵。假设我们的矩阵 A 是一个 m×n 的矩阵,那么我们定义矩阵 A 的 SVD 为:

A=UΣV1A=U\Sigma V^-1

其中 Σ 是一个 mxn 的矩阵,除了主对角线上的元素以外全为 0, 主对角线上的每个元素都称为奇异值,且特征矩阵等于奇异矩阵的平方,即

σi=λi\sigma _{i}=\sqrt{\lambda _{i}}

U 是一个 mxm 的矩阵,V 是一个 nxn 的矩阵。U 和 V 都是酉矩阵,即满足

UTU=IVTV=I\begin {array}{c} U^{T}U=I\\ V^TV=I \end {array}

# 三、matlab 的 svd 函数

[u,s,v]=svd(A)[u,s,v]=svd(A)

该函数返回一个与 A 同大小的对角矩阵 S,两个酉矩阵 U 和 V,满足A=USVTA = USV^T

更新于 阅读次数