ok, 终于进入了第二部分的核心,特征值和特征向量
首先,我们可以把矩阵想象成一个函数,普通的函数,给他一个
x
x
x, 它输出一个
y
y
y, 对于矩阵
A
\bm{A}
A 来说,给定一个 vector
x
∈
R
n
\bm{x}\in\mathbb{R}^n
x∈Rn, 它输出一个
y
∈
R
m
\bm{y}\in\mathbb{R}^m
y∈Rm:
A
x
=
y
\bm{Ax=y}
Ax=y
因此当 A \bm{A} A 是方阵时,它相当于是 R n \mathbb{R}^n Rn 空间中的一个变换,把一个 vector 转换成另一个 vector。从这一讲开始,我们关心的问题是,给定一个 A n × n \bm{A}_{n\times n} An×n,有哪些 vector x ∈ R n \bm{x}\in\mathbb{R}^n x∈Rn 经过变换之后仍然和 x \bm{x} x 同向?这句话可以用以下定义表述。
定义
给定矩阵
A
n
×
n
\bm{A}_{n\times n}
An×n,
rank
(
A
)
=
r
\text{rank}(\bm{A})=r
rank(A)=r,
A
x
=
λ
x
(
1
)
\bm{Ax}=\lambda\bm{x}~~~~(1)
Ax=λx (1)
成立的 λ \lambda λ 称为 A \bm{A} A 的特征值 ( λ \lambda λ 可以是0,可以是负数,可以是复数), x \bm{x} x 称为 A \bm{A} A 的特征向量( 0 0 0 不是特征向量)。
一个首先可以想到的结论是,如果 A \bm{A} A 满秩,则说明 A x ≠ 0 \bm{Ax}\neq 0 Ax=0 if x ≠ 0 \bm{x}\neq 0 x=0, 这也就意味着 λ ≠ 0 \lambda\neq 0 λ=0。反之,如果 A \bm{A} A 不满秩,则说明 A \bm{A} A 的 null space里一定有非零 x \bm{x} x 使得 A x = 0 \bm{Ax=0} Ax=0, 所以 λ = 0 \lambda = 0 λ=0.
所以
Fact 1: 满秩矩阵一定没有零特征值;不满秩矩阵一定有零特征值, 且零特征值对应着 n − r n-r n−r 个独立的特征向量。
最后一点很好理解,因为矩阵不可逆时,零特征值对应的特征向量其实是整个 null space,其中最多有 n − r n-r n−r 个线性独立的特征向量。
求解特征值和特征向量
我们先看两个例子,再看in general怎么求解特征值和特征向量。
例1:假设我们的矩阵是一个 projection matrix,
P
=
C
(
C
⊤
C
)
−
1
C
⊤
\bm{P=C(C^\top C)^{-1}C^\top}
P=C(C⊤C)−1C⊤, 那么
P
\bm{P}
P 的特征值和特征向量是什么?
P
x
=
λ
x
\bm{Px}=\lambda\bm{x}
Px=λx
根据之前讲的projection matrix的内容,我们已经知道了 P \bm{P} P 的主要功能是把任意vector project 到 C \bm{C} C 的column space上。那么,什么样的vector x \bm{x} x 被 P \bm{P} P project 之后还是跟自己同向尼?
我们有两个idea
-
x
\bm{x}
x 本身就在
C
\bm{C}
C 的column space上, 这样投影之后是自己本身.
此时特征值 λ = 1 \lambda=1 λ=1, 特征向量是 C \bm{C} C 的column space 中任意向量。 -
x
\bm{x}
x 与
C
\bm{C}
C 的column space垂直,这样投影之后就是零向量。
此时特征值 λ = 0 \lambda=0 λ=0,特征向量是 C \bm{C} C 的 left null space (即与column space垂直的space) 中任意向量。
注意,从第二点也可以看出,矩阵的column space可能只是空间中的一个subspace,但是这不代表他没有 n n n 个线性无关的特征向量,特征向量空间和column space没啥直接关系。
例2:求以下 permutation matrix 的特征值和特征向量。
A
=
[
0
1
1
0
]
\bm{A}=\begin{bmatrix} 0 & 1 \\ 1 & 0 \\ \end{bmatrix}
A=[0110]
即,我们想找到满足 A x = λ x \bm{Ax}=\lambda\bm{x} Ax=λx 的 λ \lambda λ 和 x \bm{x} x.
permutation matrix 的作用是调换 x \bm{x} x 的顺序,因此很容易想到 x = c [ 1 , 1 ] ⊤ \bm{x}=c[1,1]^\top x=c[1,1]⊤ 或者 x = c [ 1 , − 1 ] ⊤ \bm{x}=c[1,-1]^\top x=c[1,−1]⊤,他们对应的特征值分别是 1 和 -1.
好,现在让我们看一下怎么系统的求特征值和特征向量。还是从
A
x
=
λ
x
\bm{Ax}=\lambda\bm{x}
Ax=λx
入手,我们有
(
A
−
λ
I
)
x
=
0
(\bm{A}-\lambda \bm{I})\bm{x}=\bm{0}
(A−λI)x=0
如果存在
λ
\lambda
λ 和
x
≠
0
\bm{x}\neq 0
x=0 使得此式成立,我们必须有
∣
A
−
λ
I
∣
=
0
(
2
)
\begin{vmatrix} \bm{A}-\lambda \bm{I} \end{vmatrix}=0~~~~(2)
∣∣A−λI∣∣=0 (2)
这就是矩阵 A \bm{A} A 的特征方程 (characteristic equation)。直观上来看,
- 就是把 A \bm{A} A 主对角线上的元素同时减去某个值使其不满秩。减完之后得到的新矩阵的 null space中便是特征向量,因此特征向量一定是以空间的形式出现的,我们一般只给出null space中一组basis称为 “线性无关的特征向量”。
- 原矩阵 A \bm{A} A 和 A − λ I \bm{A}-\lambda\bm{I} A−λI 其实没啥直接的联系,因此,特征值和特征向量与原矩阵的性质一般没有直接的联系。唯一有联系的是,当原本矩阵 A \bm{A} A 就不可逆时,他就有零特征值,此时 A \bm{A} A 和 A − 0 I \bm{A}-0\bm{I} A−0I,那两个 null space 就是一致的,零特征值对应的特征向量也是一样的。
- Eq. (2) 可以让我们计算 λ \lambda λ. 然后对于每个 λ \lambda λ,我们再求 null space 便能得到线性无关的特征向量。
行列式有些很好的性质,比如,
Fact 2: n n n 阶矩阵有 n n n 个特征值,其中一些特征值可能相同,也可能有复数。
Fact 3:
n
n
n 个特征值的和等于矩阵的迹 (对角线上元素的和), 积等于矩阵的行列式.
trace
(
A
)
=
λ
1
+
λ
2
+
.
.
.
+
λ
n
\text{trace}(\bm{A})=\lambda_1 + \lambda_2 + ... + \lambda_n
trace(A)=λ1+λ2+...+λn
det ( A ) = λ 1 λ 2 . . . λ n \text{det}(\bm{A})=\lambda_1 ~ \lambda_2 ~ ... ~ \lambda_n det(A)=λ1 λ2 ... λn
但他也有一些不是那么 elegant 的特点。比如有复数特征值。请看下例。
例3: 求以下 90-degree rotation matrix 的特征值和特征向量。
Q
=
[
cos
π
2
−
sin
π
2
sin
π
2
cos
π
2
]
=
[
0
−
1
1
0
]
\bm{Q} = \begin{bmatrix} \cos \frac{\pi}{2} & -\sin \frac{\pi}{2} \\ \sin \frac{\pi}{2} & \cos \frac{\pi}{2} \\ \end{bmatrix} = \begin{bmatrix} 0 & -1 \\ 1 & 0 \\ \end{bmatrix}
Q=[cos2πsin2π−sin2πcos2π]=[01−10]
首先,从这个矩阵中我们已经有了一些消息了, 比如它一定有两个特征值且
λ
1
+
λ
2
=
0
\lambda_1+\lambda_2=0
λ1+λ2=0
λ 1 λ 2 = 1 \lambda_1\lambda_2=1 λ1λ2=1
按照 (2) 的思路解
λ
\lambda
λ 我们得到
λ
2
+
1
=
0
\lambda^2+1 = 0
λ2+1=0
λ 1 = i , λ 2 = − i \lambda_1=i,~~~~\lambda_2=-i λ1=i, λ2=−i
可以看到,即使是很简单的实数矩阵,我们也会得到复数的特征值。
Fact 4: 实矩阵的复数特征值总是成对出现的,其他们对应的特征向量也互为共轭。
这一点从
A
x
=
λ
x
\bm{Ax}=\lambda\bm{x}
Ax=λx 两边同时取共轭即可得出
A
x
=
λ
x
\bm{Ax}=\lambda\bm{x}
Ax=λx
A x ‾ = λ ‾ x ‾ \bm{A\overline{x}}=\overline{\lambda}\overline{\bm{x}} Ax=λx
其中 A \bm{A} A 是实矩阵不受共轭影响。
Fact 5: 实对称矩阵仅有实数特征值。
我们看例3中的matrix,实际上这个matrix 是anti-symmetric的,他不仅不对称,而且是反对称,所以它是一个极端,只有虚数特征值。对于其他矩阵,会出现实数虚数特征值同时存在的情况。而且我们注意了,对于实矩阵,如果 a + b j a+bj a+bj 是特征值,那么 a − b j a-bj a−bj 也是特征值,他们一定是成对出现的。这很好理解,因为我们要把虚数消掉是的他们满足 fact 2 & 3.
Fact 6: 不同特征值对应的特征向量一定正交,同一特征值对应的特征向量就不一定了。
关于特征值的一些基本结论(涵盖下几讲内容)
特征值
- 特征方程在复数范围内恒有 n n n 个解,所以任何方阵都有 n n n 个 (可能相同的) 特征值
- λ 1 + λ 2 + . . . + λ n = trace ( A ) \lambda_1+\lambda_2+...+\lambda_n=\text{trace}(\bm{A}) λ1+λ2+...+λn=trace(A).
- λ 1 λ 2 . . . λ n = det ( A ) \lambda_1 ~\lambda_2 ~... ~\lambda_n = \text{det} (\bm{A}) λ1 λ2 ... λn=det(A).
- A \bm{A} A 可逆的充要条件是它没有零特征值. 换句话说,不可逆矩阵一定有零特征值。这也是矩阵是否满秩和特征值的唯一关系。
- 若 λ \lambda λ 是 A \bm{A} A 的特征值,则 1 / λ 1/\lambda 1/λ 是 A − 1 \bm{A}^{-1} A−1 的特征值, λ k \lambda^k λk 是 A k \bm{A}^k Ak 的特征值, φ ( λ ) \varphi(\lambda) φ(λ) 是 φ ( A ) \varphi(\bm{A}) φ(A) 的特征值 ( φ \varphi φ 是多项式形式), 且特征向量相同。
- A \bm{A} A 和 A − 1 \bm{A}^{-1} A−1 的特征值一致 (从特征多项式可以看出),但特征向量不同。
- 上/下三角矩阵的特征值就是对角线元素。
- 实矩阵的复数特征值总是成对出现的,其他们对应的特征向量也互为共轭
特征向量
- 不同特征值对应的特征向量线性无关。
- 再次强调,有没有 n n n 个线性无关的特征值和矩阵的column space是不是 n n n 维没有关系!
实对称矩阵:
- 实对称矩阵的特征值一定是实数,特征向量可以取到实向量。
- 实对称矩阵不同的特征值对应的特征向量不仅线性无关,而且必正交。相同特征值说明特征向量构成一个hyperplane (dim 是重复次数),此时我们可以取到正交特征向量。
- 实对称矩阵对角化 S \bm{S} S 为正交阵(存在 n n n 个正交的特征向量)。