特征分解
特征分解(也称为谱分解)是线性代数中一种重要的矩阵分解方法,主要应用于对称正定矩阵。
对于一个给定的方阵 (A)(特别是实对称矩阵),特征分解就是将其表示为一组正交特征向量和对应的特征值的乘积形式。
下面是进行特征分解的详细步骤:
第一步:计算特征值和特征向量
1. 定义问题:给定一个 n × n 的实对称矩阵 A ,我们想要找到标量 λ (特征值)和非零向量 v (特征向量),使得满足方程 A v = λ v 。 1. 定义问题:给定一个 n \times n 的实对称矩阵 A,我们想要找到标量 \lambda(特征值)和非零向量 v(特征向量),使得满足方程 Av = \lambda v。 1.定义问题:给定一个n×n的实对称矩阵A,我们想要找到标量λ(特征值)和非零向量v(特征向量),使得满足方程Av=λv。
2. 计算特征值:通过求解特征方程 d e t ( A − λ I ) = 0 来找出矩阵 A 的特征值 λ 1 , λ 2 , . . . , λ n ,其中 I 是单位矩阵。 2. 计算特征值:通过求解特征方程 det(A - \lambda I) = 0 来找出矩阵 A 的特征值 \lambda_1, \lambda_2, ..., \lambda_n,其中 I 是单位矩阵。 2.计算特征值:通过求解特征方程det(A−λI)=0来找出矩阵A的特征值λ1,λ2,...,λn,其中I是单位矩阵。
3. 求解特征向量:对于每个特征值 λ i ,解线性方程组 ( A − λ i I ) v i = 0 来找到对应的特征向量 v i 。注意,得到的特征向量需要标准化为单位向量。 3. 求解特征向量:对于每个特征值 \lambda_i,解线性方程组 (A - \lambda_i I)v_i = 0 来找到对应的特征向量 v_i。注意,得到的特征向量需要标准化为单位向量。 3.求解特征向量:对于每个特征值λi,解线性方程组(A−λiI)vi=0来找到对应的特征向量vi。注意,得到的特征向量需要标准化为单位向量。
第二步:构建特征向量矩阵
-
正交化:确保所有的特征向量 v 1 , v 2 , . . . , v n v_1, v_2, ..., v_n v1,v2,...,vn两两正交。由于 (A) 是实对称矩阵,其不同特征值对应的特征向量自然正交,如果特征值重合,则需要通过格拉姆-施密特正交化过程确保正交。
-
单位化: 将每个特征向量 v i 规范化为单位向量,即每个向量的模长为 1 将每个特征向量 v_i规范化为单位向量,即每个向量的模长为1 将每个特征向量vi规范化为单位向量,即每个向量的模长为1
-
构建矩阵:将这些单位化的特征向量作为列向量组成矩阵 (V),即 V = [ v 1 ∣ v 2 ∣ . . . ∣ v n ] V = [v_1 | v_2 | ... | v_n] V=[v1∣v2∣...∣vn]
第三步:构建对角矩阵
- 构造对角矩阵:根据找到的特征值 λ 1 , λ 2 , . . . , λ n \lambda_1, \lambda_2, ..., \lambda_n λ1,λ2,...,λn 构建一个对角矩阵 Λ,其中对角线上的元素依次是这些特征值,即 Λ = diag ( λ 1 , λ 2 , . . . , λ n ) \Lambda = \text{diag}(\lambda_1, \lambda_2, ..., \lambda_n) Λ=diag(λ1,λ2,...,λn)
第四步:完成特征分解
- 表达式:根据特征分解的定义,我们可以写出 A = V Λ V T A = V\Lambda V^T A=VΛVT对于实对称矩阵,也可以写作 A = V Λ V − 1 A = V\Lambda V^{-1} A=VΛV−1因为 (V) 是正交矩阵,所以 V T = V − 1 V^T = V^{-1} VT=V−1
至此,完成了矩阵 (A) 的特征分解,其中 (V) 是由 (A) 的特征向量组成的正交矩阵,而 Λ 是对角矩阵,对角线上的元素是 (A) 的特征值。
注意事项:
- 特征分解只适用于方阵,并且不是所有方阵都可以进行特征分解,比如非对称矩阵或者奇异矩阵可能没有完整的特征值和特征向量。
- 实对称矩阵的特征值总是实数,且特征向量两两正交,这简化了特征分解的过程。
例子
一个简单的2x2实对称矩阵 (A):
A = ( 2 1 1 2 ) A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} A=(2112)
第一步:计算特征值和特征向量
计算特征值
首先,我们需要解特征方程
∣
A
−
λ
I
∣
=
0
|A - \lambda I| = 0
∣A−λI∣=0
其中 (I) 是2x2单位矩阵。
( A − λ I ) = ( 2 − λ 1 1 2 − λ ) (A - \lambda I) = \begin{pmatrix} 2-\lambda & 1 \\ 1 & 2-\lambda \end{pmatrix} (A−λI)=(2−λ112−λ)
计算行列式得:
det ( A − λ I ) = ( 2 − λ ) ( 2 − λ ) − 1 ∗ 1 = λ 2 − 4 λ + 3 = ( λ − 3 ) ( λ − 1 ) = 0 \text{det}(A - \lambda I) = (2-\lambda)(2-\lambda) - 1*1 = \lambda^2 - 4\lambda + 3 = (\lambda-3)(\lambda-1) = 0 det(A−λI)=(2−λ)(2−λ)−1∗1=λ2−4λ+3=(λ−3)(λ−1)=0
因此,特征值为λ = 3 和 λ = 1
求解特征向量
对于
λ
1
=
3
,
对于 \lambda_1 = 3,
对于λ1=3,
(
A
−
3
I
)
v
1
=
(
−
1
1
1
−
1
)
(
x
1
x
2
)
=
(
0
0
)
(A - 3I)v_1 = \begin{pmatrix} -1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} =\begin{pmatrix} 0 \\ 0 \end{pmatrix}
(A−3I)v1=(−111−1)(x1x2)=(00)
取
x
1
=
1
,则
x
2
=
−
1
,得到一个特征向量
v
1
=
[
1
,
−
1
]
T
。
取 x_1 = 1,则 x_2 = -1,得到一个特征向量 v_1 = [1, -1]^T。
取x1=1,则x2=−1,得到一个特征向量v1=[1,−1]T。
对于 λ 2 = 1 对于 \lambda_2 = 1 对于λ2=1
( A − I ) v 2 = ( 1 1 1 1 ) ( x 1 x 2 ) = ( 0 0 ) (A - I)v_2 = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix}= \begin{pmatrix} 0 \\ 0 \end{pmatrix} (A−I)v2=(1111)(x1x2)=(00)
取 x 1 = 1 , x 2 = 1 ,得到另一个特征向量 v 2 = [ 1 , 1 ] T 取 x_1 = 1, x_2 = 1,得到另一个特征向量 v_2 = [1, 1]^T 取x1=1,x2=1,得到另一个特征向量v2=[1,1]T
第二步:构建特征向量矩阵
这两个特征向量已经是正交的,并且它们可以被标准化为单位向量。这里,它们本身就是单位向量,因此不需要额外处理。
V = ( 1 1 − 1 1 ) V = \begin{pmatrix} 1 & 1 \\ -1 & 1 \end{pmatrix} V=(1−111)
第三步:构建对角矩阵
根据特征值,构建对角矩阵Λ:
Λ = ( 3 0 0 1 ) \Lambda = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix} Λ=(3001)
第四步:完成特征分解
最后,我们验证 A = V Λ V T A = V\Lambda V^T A=VΛVT是否成立:
V Λ V T = ( 1 1 − 1 1 ) ( 3 0 0 1 ) ( 1 − 1 1 1 ) = ( 2 1 1 2 ) = A V\Lambda V^T = \begin{pmatrix} 1 & 1 \\ -1 & 1 \end{pmatrix} \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix}= \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} = A VΛVT=(1−111)(3001)(11−11)=(2112)=A
这样,我们就完成了矩阵 (A) 的特征分解。