文章目录
前言
线性代数相关知识的学习笔记,仅供自己备忘及网友学习交流使用。
一、矩阵的属性和运算
1.1 单位矩阵和对角矩阵
单位矩阵
I
∈
R
I \in \mathbb{R}
I∈R ,它是一个方阵,对角线的元素都是 1
,其余位置的元素都是 0
:
I
i
j
=
{
1
,
i
=
j
0
,
i
≠
j
I_{ij} = \begin{cases} 1, & i = j \\ 0, & i \neq j \end{cases}
Iij={1,0,i=ji=j
对于所有的
A
∈
R
m
×
n
A \in \mathbb{R}^{m \times n}
A∈Rm×n ,有:
A
I
=
A
=
I
A
AI = A = IA
AI=A=IA
注意,在某种意义上,单位矩阵的表示法是不明确的,因为它没有指定
I
I
I 的维数。通常,
I
I
I 的维数是从上下文推断出来的,以便使矩阵乘法成为可能。例如,在上面的等式中,
A
I
=
A
AI = A
AI=A 中的
I
I
I 是
n
×
n
n \times n
n×n 矩阵,而
A
=
I
A
A = IA
A=IA 中的
I
I
I 是
m
×
m
m \times m
m×m 矩阵。
对角矩阵是一种这样的矩阵:除对角线之外的元素全为 0
。对角阵通常表示为:
D
=
d
i
a
g
(
d
1
,
d
2
,
.
.
.
,
d
n
)
D = diag(d_1, d_2, ..., d_n)
D=diag(d1,d2,...,dn) ,其中:
D
i
j
=
{
d
i
,
i
=
j
0
,
i
≠
j
D_{ij} = \begin{cases} d_i, & i = j \\ 0, & i \neq j \end{cases}
Dij={di,0,i=ji=j
很明显,单位矩阵
I
=
d
i
a
g
(
1
,
1
,
.
.
.
,
1
)
I = diag(1, 1, ..., 1)
I=diag(1,1,...,1) 。
1.2 转置
矩阵的转置是指翻转矩阵的行和列。
给定一个矩阵:
A
∈
R
m
×
n
A \in \mathbb{R}^{m \times n}
A∈Rm×n , 它的转置为
n
×
m
n \times m
n×m 的矩阵 ,其中
A
T
∈
R
n
×
m
A^T \in \mathbb{R}^{n \times m}
AT∈Rn×m 的元素为:
A
i
j
=
(
A
T
)
j
i
A_{ij} = (A^T)_{ji}
Aij=(AT)ji
事实上,我们在描述行向量时已经使用了转置,因为列向量的转置自然是行向量。
转置的以下属性很容易验证:
- ( A T ) T = A (A^T)^T = A (AT)T=A
- ( A B ) T = B T A T (AB)^T = B^{T}A^{T} (AB)T=BTAT
- ( A + B ) T = A T + B T (A + B)^T = A^T + B^T (A+B)T=AT+BT
1.3 对称矩阵
如果
A
=
A
T
A = A^T
A=AT ,则矩阵
A
∈
R
m
×
m
A \in \mathbb{R}^{m \times m}
A∈Rm×m 是对称矩阵。如果
A
=
−
A
T
A = -A^T
A=−AT ,它是反对称的。很容易证明,对于任何矩阵
A
∈
R
m
×
m
A \in \mathbb{R}^{m \times m}
A∈Rm×m ,矩阵
A
+
A
T
A + A^T
A+AT 是对称的,矩阵
A
−
A
T
A - A^T
A−AT 是反对称的。由此得出,任何方阵
A
∈
R
m
×
m
A \in \mathbb{R}^{m \times m}
A∈Rm×m 可以表示为对称矩阵和反对称矩阵的和,所以:
A
=
1
2
(
A
+
A
T
)
+
1
2
(
A
−
A
T
)
A = \frac{1}{2} (A + A^T) + \frac{1}{2} (A - A^T)
A=21(A+AT)+21(A−AT)
上面公式的右边的第一个矩阵是对称矩阵,而第二个矩阵是反对称矩阵。事实证明,对称矩阵在实践中用到很多,它们有很多很好的属性,我们很快就会看到它们。通常将大小为 m m m 的所有对称矩阵的集合表示为 S m \mathbb{S}^m Sm ,因此 A ∈ S m A \in \mathbb{S}^m A∈Sm 意味着 A A A 是对称的 m × m m \times m m×m 矩阵;
1.4 矩阵的迹
方阵
A
∈
R
m
A \in \mathbb{R}^m
A∈Rm 的迹,表示为
t
r
(
A
)
tr(A)
tr(A) ,是方阵中对角元素的总和:
t
r
(
A
)
=
∑
i
=
1
m
a
i
i
tr(A) = \sum_{i = 1}^m a_{ii}
tr(A)=i=1∑maii
迹具有以下属性:
- 对于矩阵 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n ,则: t r ( A ) = t r ( A T ) tr(A) = tr(A^T) tr(A)=tr(AT) ;
- 对于矩阵 A , B ∈ R n × n A ,B\in \mathbb{R}^{n \times n} A,B∈Rn×n ,则: t r ( A + B ) = t r ( A ) + t r ( B ) tr(A + B) = tr(A) + tr(B) tr(A+B)=tr(A)+tr(B) ;
- 对于矩阵 A , B A,B A,B , A B AB AB 为方阵,则: t r ( A B ) = t r ( B A ) tr(AB) = tr(BA) tr(AB)=tr(BA) ;
- 对于矩阵
A
,
B
,
C
A,B,C
A,B,C ,
A
B
C
ABC
ABC 为方阵, 则:
t
r
(
A
B
C
)
=
t
r
(
B
C
A
)
=
t
r
(
C
A
B
)
tr(ABC) = tr(BCA) = tr(CAB)
tr(ABC)=tr(BCA)=tr(CAB) , 同理,更多矩阵的乘积也是有这个性质。
t r ( A B ) = ∑ i = 1 n ( A B ) i i = ∑ i = 1 n ( ∑ j = 1 m A i j B j i ) tr(AB) = \sum_{i = 1}^n (AB)_{ii} = \sum_{i = 1}^n \bigg(\sum_{j = 1}^m A_{ij}B_{ji}\bigg) tr(AB)=i=1∑n(AB)ii=i=1∑n(j=1∑mAijBji)
= ∑ i = 1 n ∑ j = 1 m A i j B j i = ∑ j = 1 m ∑ i = 1 n B j i A i j = \sum_{i = 1}^n \sum_{j = 1}^m A_{ij}B_{ji} = \sum_{j = 1}^m \sum_{i = 1}^n B_{ji}A_{ij} =i=1∑nj=1∑mAijBji=j=1∑mi=1∑nBjiAij
= ∑ j = 1 m ( B A ) j j = t r ( B A ) = \sum_{j = 1}^m (BA)_{jj} = tr(BA) =j=1∑m(BA)jj=tr(BA)
这里,第一个和最后两个等式使用迹运算符和矩阵乘法的定义,重点在第四个等式,使用标量乘法的可交换性来反转每个乘积中的项的顺序,以及标量加法的可交换性和相关性,以便重新排列求和的顺序。
1.5 范数
向量的范数
∣
∣
x
∣
∣
||x||
∣∣x∣∣ 是非正式度量的向量的“长度” 。例如,我们有常用的欧几里德或
l
2
l_2
l2 范数:
∣
∣
x
∣
∣
2
=
∑
i
=
1
n
x
i
2
||x||_2 = \sqrt{\sum_{i =1}^n x_i^2}
∣∣x∣∣2=i=1∑nxi2
注意:
∣
∣
x
∣
∣
2
2
=
x
T
x
||x||_2^2 = x^Tx
∣∣x∣∣22=xTx
更正式地,范数是满足如下 4
个属性的函数(
f
:
R
n
→
R
f \colon \mathbb{R}^n \rightarrow \mathbb{R}
f:Rn→R):
- 对于所有的 x ∈ R n x \in \mathbb{R}^n x∈Rn ,有 f ( x ) ≥ 0 f(x) \geq 0 f(x)≥0 (非负);
- 当且仅当 x = 0 x = 0 x=0 时,有 f ( x ) = 0 f(x) = 0 f(x)=0 (明确性);
- 对于所有的 x ∈ R n , t ∈ R x \in \mathbb{R}^n, t \in \mathbb{R} x∈Rn,t∈R,有 f ( t x ) = ∣ t ∣ f ( x ) f(tx) = |t|f(x) f(tx)=∣t∣f(x)(正齐次性);
- 对于所有 x , y ∈ R n x,y \in \mathbb{R}^n x,y∈Rn ,有 f ( x + y ) ≤ f ( x ) + f ( y ) f(x + y) \leq f(x) + f(y) f(x+y)≤f(x)+f(y) (三角不等式)。
其他范数的例子是
l
1
l_1
l1 范数:
∣
∣
x
∣
∣
1
=
∑
i
=
1
n
∣
x
i
∣
||x||_1 = \sum_{i=1}^n |x_i|
∣∣x∣∣1=i=1∑n∣xi∣
和
l
∞
l_{\infty}
l∞ 范数:
∣
∣
x
∣
∣
∞
=
max
i
∣
x
i
∣
||x||_{\infty} = \max_{i}|x_i|
∣∣x∣∣∞=imax∣xi∣
事实上,到目前为止所提出的所有三个范数都是范数族
l
p
l_p
lp 的例子,它们由实数
p
≥
1
p \geq 1
p≥1 参数化,并定义为:
∣
∣
x
∣
∣
p
=
(
∑
i
=
1
n
∣
x
i
∣
p
)
1
/
p
||x||_p = \bigg(\sum_{i=1}^n |x_i|^p\bigg)^{1/p}
∣∣x∣∣p=(i=1∑n∣xi∣p)1/p
也可以为矩阵定义范数,例如 Frobenius
范数:
∣
∣
A
∣
∣
F
=
∑
i
=
1
m
∑
j
=
1
n
A
i
j
2
=
t
r
(
A
T
A
)
||A||_F = \sqrt{\sum_{i = 1}^m \sum_{j = 1}^n A_{ij}^2} = \sqrt{tr(A^TA)}
∣∣A∣∣F=i=1∑mj=1∑nAij2=tr(ATA)
还有其他更多的范数,这里不再继续探讨。
1.6 线性相关性和秩
一组向量
x
1
,
x
2
,
.
.
.
,
x
n
∈
R
x_1, x_2, ..., x_n \in \mathbb{R}
x1,x2,...,xn∈R , 如果没有向量可以用其余向量的线性组合来表示,则称该组向量是线性无相关的。相反,如果属于该组的一个向量可以表示为其余向量的线性组合,则称该组向量是线性相关的。也就是说,如果:
x
n
=
∑
i
=
1
n
−
1
α
i
x
i
x_n = \sum_{i=1}^{n-1} \alpha_i x_i
xn=i=1∑n−1αixi
对于某些标量值
α
1
,
α
2
,
.
.
.
,
α
n
−
1
∈
R
\alpha_1, \alpha_2, ..., \alpha_{n-1} \in \mathbb{R}
α1,α2,...,αn−1∈R ,要么向量
x
1
,
x
2
,
.
.
.
,
x
n
x_1, x_2, ..., x_n
x1,x2,...,xn 是线性相关的;否则,向量是线性无关的。例如,向量:
x
1
=
[
1
2
3
]
x
2
=
[
5
6
7
]
x
3
=
[
3
2
1
]
x_1 = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} \quad x_2 = \begin{bmatrix} 5 \\ 6 \\ 7 \end{bmatrix} \quad x_3 = \begin{bmatrix} 3 \\ 2 \\ 1 \end{bmatrix}
x1=⎣⎡123⎦⎤x2=⎣⎡567⎦⎤x3=⎣⎡321⎦⎤
是线性相关的,因为:
x
3
=
−
2
x
1
+
x
2
x_3 = -2x_1 + x_2
x3=−2x1+x2 。
矩阵 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n 的列秩是构成线性无关集合的 A A A 的最大列子集的大小。由于术语的多样性,这通常简称为 A A A 的线性无关列的数量。同样,行秩是构成线性无关集合的 A A A 的最大行数。对于任何矩阵,事实证明 A A A 的列秩等于 A A A 的行秩(尽管我们不会证明这一点),因此两个量统称为 A A A 的秩,用 r a n k ( A ) rank(A) rank(A) 表示。以下是矩阵秩的一些基本属性:
- 对于 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n ,始终有 r a n k ( A ) ≤ min ( m , n ) rank(A) \leq \min (m, n) rank(A)≤min(m,n),如果 r a n k ( A ) = min ( m , n ) rank(A) = \min (m, n) rank(A)=min(m,n) ,则 A A A 被称为满秩矩阵;
- 对于 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n ,有 r a n k ( A ) = r a n k ( A T ) rank(A) = rank(A^T) rank(A)=rank(AT) ;
- 对于 A ∈ R m × k , B ∈ R k × n A \in \mathbb{R}^{m \times k},B \in \mathbb{R}^{k \times n} A∈Rm×k,B∈Rk×n ,有 r a n k ( A B ) ≤ min ( r a n k ( A ) , r a n k ( B ) ) rank(AB) \leq \min (rank(A), rank(B)) rank(AB)≤min(rank(A),rank(B)) ;
- 对于 A , B ∈ R m × n A,B \in \mathbb{R}^{m \times n} A,B∈Rm×n ,有 r a n k ( A + B ) ≤ r a n k ( A ) + r a n k ( B ) rank(A + B) \leq rank(A) + rank(B) rank(A+B)≤rank(A)+rank(B) 。
1.7 方阵的逆
方阵
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n 的倒数表示为
A
−
1
A^{-1}
A−1 ,并且是这样的独特矩阵:
A
−
1
A
=
I
=
A
A
−
1
A^{-1}A = I = AA^{-1}
A−1A=I=AA−1
请注意,并非所有矩阵都具有逆。例如,非方形矩阵根据定义没有逆。然而,对于一些方形矩阵
A
A
A ,仍然存在
A
−
1
A^{-1}
A−1 可能不存在的情况。特别是,如果
A
−
1
A^{-1}
A−1 存在,我们说
A
A
A 是可逆的或非奇异的,否则就是不可逆或奇异的。为了使方阵
A
A
A 具有逆
A
−
1
A^{-1}
A−1 ,则
A
A
A 必须是满秩。我们很快就会发现,除了满秩之外,还有许多其它的充分必要条件。以下是逆的属性,假设
A
,
B
∈
R
n
×
n
A,B \in \mathbb{R}^{n \times n}
A,B∈Rn×n ,而且是非奇异的:
- ( A − 1 ) − 1 = A (A^{-1})^{-1} = A (A−1)−1=A ;
- ( A B ) − 1 = B − 1 A − 1 (AB)^{-1} = B^{-1}A^{-1} (AB)−1=B−1A−1 ;
- ( A − 1 ) T = ( A T ) − 1 (A^{-1})^T = (A^T)^{-1} (A−1)T=(AT)−1 ,因此,该矩阵一般也可用 A − T A^{-T} A−T 来表示。
作为如何使用逆的示例,考虑线性方程组 A x = b Ax = b Ax=b ,其中 A ∈ R n × n x , b ∈ R A \in \mathbb{R}^{n \times n} \quad x,b \in \mathbb{R} A∈Rn×nx,b∈R , 如果 A A A 是非奇异的(即可逆的),那么 x = A − 1 b x = A^{-1}b x=A−1b 。(如果 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n 不是方阵,这公式就不能用了。)
1.8 正交矩阵
如果 x T y = 0 x^Ty = 0 xTy=0 ,则两个向量 x , y ∈ R n x,y \in \mathbb{R}^n x,y∈Rn 是正交的。如果 ∣ ∣ x ∣ ∣ 2 = 1 ||x||_2 = 1 ∣∣x∣∣2=1 即 x T x = 1 x^Tx = 1 xTx=1 ,则向量 x ∈ R n x \in \mathbb{R}^n x∈Rn 被归一化。如果一个方阵 U ∈ R n × n U \in \mathbb{R}^{n \times n} U∈Rn×n 的所有列彼此正交并被归一化(这些列然后被称为正交向量),则方阵 U U U 是正交阵(注意和在讨论向量时的意义不一样)。
它可以从正交性和正态性的定义中得出:
U
T
U
=
I
=
U
U
T
U^TU = I = UU^T
UTU=I=UUT
换句话说,正交矩阵的逆是其转置。注意,如果
U
U
U 不是方阵:即
U
∈
R
m
×
n
U \in \mathbb{R}^{m \times n}
U∈Rm×n,
m
<
n
m \lt n
m<n ,但其列仍然是正交的,则
U
T
U
=
I
U^TU = I
UTU=I ,但是
U
U
T
≠
I
UU^T \neq I
UUT=I 。我们通常只使用术语"正交"来描述先前的情况 ,其中
U
U
U 是方阵。正交矩阵的另一个好的特性是在具有正交矩阵的向量上操作不会改变其欧几里德范数,即:
∣
∣
U
x
∣
∣
2
=
∣
∣
x
∣
∣
2
||Ux||_2 = ||x||_2
∣∣Ux∣∣2=∣∣x∣∣2
对于任何
x
∈
R
x \in \mathbb{R}
x∈R ,
U
∈
R
n
U \in \mathbb{R}^n
U∈Rn 是正交的。
1.9 矩阵的值域(列空间)和零空间
一组向量
{
x
1
,
x
2
,
.
.
.
,
x
n
}
\{x_1, x_2, ..., x_n\}
{x1,x2,...,xn} 是可以表示为
{
x
1
,
x
2
,
.
.
.
,
x
n
}
\{x_1, x_2, ..., x_n\}
{x1,x2,...,xn} 的线性组合的所有向量的集合。即:
s
p
a
n
(
{
x
1
,
x
2
,
.
.
.
,
x
n
}
)
=
{
v
:
v
=
∑
i
=
1
n
α
i
x
i
,
α
i
∈
R
}
span(\{x_1, x_2, ..., x_n\}) = \bigg\{v \colon v = \sum_{i=1}^n \alpha_i x_i, \quad \alpha_i \in \mathbb{R} \bigg\}
span({x1,x2,...,xn})={v:v=i=1∑nαixi,αi∈R}
可以证明,如果
{
x
1
,
x
2
,
.
.
.
,
x
n
}
\{x_1, x_2, ..., x_n\}
{x1,x2,...,xn} 是一组
n
n
n 个线性无关的向量,其中每个
x
i
∈
R
n
x_i \in \mathbb{R}^n
xi∈Rn ,则
s
p
a
n
(
{
x
1
,
x
2
,
.
.
.
,
x
n
}
)
=
R
n
span(\{x_1, x_2, ..., x_n\}) = \mathbb{R}^n
span({x1,x2,...,xn})=Rn 。换句话说,任何向量
v
∈
R
n
v \in \mathbb{R}^n
v∈Rn 都可以写成
x
1
x_1
x1 到
x
n
x_n
xn 的线性组合。
向量 y ∈ R m y \in \mathbb{R}^m y∈Rm 投影到 { x 1 , x 2 , . . . , x n } \{x_1, x_2, ..., x_n\} {x1,x2,...,xn} (这里我们假设 x i ∈ R m x_i \in \mathbb{R}^m xi∈Rm )得到向量 v ∈ s p a n ( { x 1 , x 2 , . . . , x n } ) v \in span(\{x_1, x_2, ..., x_n\}) v∈span({x1,x2,...,xn}) ,由欧几里德范数 ∣ ∣ v − y ∣ ∣ 2 ||v - y||_2 ∣∣v−y∣∣2 可以得知,这样 v v v 尽可能接近 y y y 。
我们将投影表示为
P
r
o
j
(
y
;
{
x
1
,
x
2
,
.
.
.
,
x
n
}
)
Proj(y;\{x_1, x_2, ..., x_n\})
Proj(y;{x1,x2,...,xn}) ,并且可以将其正式定义为:
P
r
o
j
(
y
;
{
x
1
,
x
2
,
.
.
.
,
x
n
}
)
=
a
r
g
m
i
n
v
∈
s
p
a
n
(
{
x
1
,
x
2
,
.
.
.
,
x
n
}
)
∣
∣
v
−
y
∣
∣
2
Proj(y;\{x_1, x_2, ..., x_n\}) = argmin_{v \in span(\{x_1, x_2, ..., x_n\})} ||v - y||_2
Proj(y;{x1,x2,...,xn})=argminv∈span({x1,x2,...,xn})∣∣v−y∣∣2
矩阵
A
∈
R
m
×
n
A \in \mathbb{R}^{m \times n}
A∈Rm×n 的值域(有时也称为列空间),表示为
R
(
A
)
\mathcal{R}(A)
R(A) ,是
A
A
A 列的跨度。换句话说:
R
(
A
)
=
{
v
∈
R
m
:
v
=
A
x
,
x
∈
R
n
}
\mathcal{R}(A) = \{v \in \mathbb{R}^m \colon v = Ax, x \in \mathbb{R}^n\}
R(A)={v∈Rm:v=Ax,x∈Rn}
以上关于列空间有两种解释:
- 假设矩阵 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n 代表一个矩阵变换,原始空间中所有的向量 x ∈ R n x \in \mathbb{R}^n x∈Rn ,在经由矩阵 A A A 的变换之后,所得到的所有新向量的集合 A x = b ∈ R m Ax = b \in \mathbb{R}^m Ax=b∈Rm ;
- 由矩阵 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n 的列向量所张成的空间。
做一些技术性的假设(即
A
A
A 是满秩且
n
<
m
n \lt m
n<m ),向量
y
∈
R
m
y \in \mathbb{R}^m
y∈Rm 到
A
A
A 的范围的投影由下式给出:
P
r
o
j
(
y
;
A
)
=
a
r
g
m
i
n
v
∈
R
(
A
)
∣
∣
v
−
y
∣
∣
2
=
A
(
A
T
A
)
−
1
A
T
y
Proj(y;A) = argmin_{v \in \mathcal{R}(A)} ||v - y||_2 = A(A^TA)^{-1}A^Ty
Proj(y;A)=argminv∈R(A)∣∣v−y∣∣2=A(ATA)−1ATy
最后的这个方程应该看起来非常熟悉了,因为它几乎与我们在课程中得到的公式:用于参数估计的最小二乘法一样。看一下投影的定义,显而易见,这实际上是我们在最小二乘问题中最小化的目标(除了范数的平方这里有点不一样,这不会影响我们找到最优解),所以这些问题自然是非常相关的。
当
A
A
A 只包含一列时,
a
∈
R
m
a \in \mathbb{R}^m
a∈Rm ,这给出了向量投影到一条线上的特殊情况:
P
r
o
j
(
y
;
a
)
=
a
a
T
a
T
a
y
Proj(y;a) = \frac{aa^T}{a^Ta}y
Proj(y;a)=aTaaaTy
一个矩阵
A
∈
R
m
×
n
A \in \mathbb{R}^{m \times n}
A∈Rm×n 的零空间
N
(
A
)
\mathcal{N} (A)
N(A) 是所有乘以
A
A
A 时等于 0 向量的集合(顾名思义,即使得
A
x
=
0
Ax = 0
Ax=0 时
x
x
x 的解),即:
N
(
A
)
=
{
x
∈
R
n
,
A
x
=
0
}
\mathcal{N} (A) = \{x \in \mathbb{R}^n,Ax = 0\}
N(A)={x∈Rn,Ax=0}
上述表达式的另外一个解释为:
如果某个向量空间在线性变换之后,存在降维,那么就会有一系列原来不是零向量的向量落到了零向量的位置,所有这些向量的集合构成了零空间。
注意,
R
(
A
)
\mathcal{R}(A)
R(A) 中的向量的大小为
m
m
m ,而
N
(
A
)
\mathcal{N} (A)
N(A) 中的向量的大小为
n
n
n ,因此
R
(
A
T
)
\mathcal{R}(A^T)
R(AT) 和
N
(
A
)
\mathcal{N} (A)
N(A) 中的向量的大小均为
R
n
\mathbb{R}^n
Rn 。事实上,还有很多例子。证明:
{
w
:
w
=
u
+
v
,
u
∈
R
(
A
T
)
,
v
∈
N
(
A
)
}
=
R
n
a
n
d
R
(
A
T
)
∩
N
(
A
)
=
{
0
}
\{w \colon w = u + v, u \in \mathcal{R} (A^T), v \in \mathcal{N} (A)\} = \mathbb{R}^n \quad and \quad \mathcal{R} (A^T) \cap \mathcal{N} (A) = \{\pmb{0}\}
{w:w=u+v,u∈R(AT),v∈N(A)}=RnandR(AT)∩N(A)={000}
换句话说,
R
(
A
T
)
\mathcal{R}(A^T)
R(AT) 和
N
(
A
)
\mathcal{N} (A)
N(A) 是不相交的子集,它们一起跨越
R
n
\mathbb{R}^n
Rn 的整个空间。这种类型的集合我们称之为正交补,用
R
(
A
T
)
=
N
(
A
)
⊥
\mathcal{R}(A^T) = \mathcal{N} (A)^{\bot}
R(AT)=N(A)⊥ 表示。
1.10 行列式
一个方阵 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n 的行列式是函数 d e t det det : R n × n → R n \mathbb{R}^{n \times n} \rightarrow \mathbb{R}^n Rn×n→Rn,并且表示为 ∣ A ∣ |A| ∣A∣ 。或者 d e t ( A ) det(A) det(A) (有点像迹运算符,我们通常省略括号 d e t A det A detA )。从代数的角度来说,我们可以写出一个关于 A A A 行列式的显式公式。因此,我们首先提供行列式的几何解释,然后探讨它的一些特定的代数性质。
给定一个矩阵:
A
=
[
−
a
1
T
−
−
a
2
T
−
⋮
−
a
n
T
−
]
A = \begin{bmatrix} -& a_1^T & - \\ -& a_2^T & - \\ & \vdots & \\ -& a_n^T & - \end{bmatrix}
A=⎣⎢⎢⎢⎡−−−a1Ta2T⋮anT−−−⎦⎥⎥⎥⎤
考虑通过采用
A
A
A 行向量
a
1
,
a
2
,
.
.
.
,
a
n
∈
R
n
a_1, a_2, ..., a_n \in \mathbb{R}^n
a1,a2,...,an∈Rn 的所有可能线性组合形成的点
S
⊂
R
n
S \subset \mathbb{R}^n
S⊂Rn 的集合,其中线性组合的系数都在 0
和 1
之间; 也就是说,集合
S
S
S 是
s
p
a
n
(
{
a
1
,
a
2
,
.
.
.
,
a
n
}
)
span(\{a_1, a_2, ..., a_n\})
span({a1,a2,...,an}) 受到系数
α
1
,
α
2
,
.
.
.
,
α
n
\alpha_1, \alpha_2, ..., \alpha_n
α1,α2,...,αn 的限制的线性组合,
α
1
,
α
2
,
.
.
.
,
α
n
\alpha_1, \alpha_2, ..., \alpha_n
α1,α2,...,αn 满足
0
≤
α
i
≤
1
,
i
=
1
,
2
,
.
.
.
,
n
0 \leq \alpha_i \leq 1,i = 1, 2, ..., n
0≤αi≤1,i=1,2,...,n 。从形式上看:
S
=
{
v
∈
R
n
:
v
=
∑
i
=
1
n
α
i
a
i
where
0
≤
α
i
≤
1
,
i
=
1
,
2
,
.
.
.
,
n
}
S = \bigg\{v \in \mathbb{R}^n \colon v = \sum_{i = 1}^n \alpha_i a_i \quad \text{where $0 \leq \alpha_i \leq 1,i = 1, 2, ..., n$}\bigg\}
S={v∈Rn:v=i=1∑nαiaiwhere 0≤αi≤1,i=1,2,...,n}
事实证明,
A
A
A 的行列式的绝对值是对集合
S
S
S 的“体积”的度量。
比方说:一个
2
×
2
2 \times 2
2×2 的矩阵:
A
=
[
1
3
3
2
]
A = \begin{bmatrix} 1 & 3 \\ 3 & 2 \end{bmatrix}
A=[1332]
它的矩阵的行是:
a
1
=
[
1
3
]
a
2
=
[
3
2
]
a_1 = \begin{bmatrix} 1 \\ 3 \end{bmatrix} a_2 = \begin{bmatrix} 3 \\ 2 \end{bmatrix}
a1=[13]a2=[32]
对应于这些行对应的集合
S
S
S 如图 1 所示。对于二维矩阵,
S
S
S 通常具有平行四边形的形状。在我们的例子中,行列式的值是
∣
A
∣
=
−
7
|A| = -7
∣A∣=−7 (可以使用本节后面显示的公式计算),因此平行四边形的面积为 7
。(请自己验证!)
在三维中,集合
S
S
S 对应于一个称为平行六面体的对象(一个有倾斜边的三维框,这样每个面都有一个平行四边形)。行定义
S
S
S 的
3
×
3
3 \times 3
3×3 矩阵 S
的行列式的绝对值给出了平行六面体的三维体积。在更高的维度中,集合
S
S
S 是一个称为 n
维平行切面体的对象。
图1:上面给出的
2
×
2
2 \times 2
2×2 矩阵
A
A
A 的行列式的图示。这里
a
1
a_1
a1 和
a
2
a_2
a2 是对应于
A
A
A 行的向量,并且集合
S
S
S 对应于阴影区域(即,平行四边形)。这个行列式的绝对值,
∣
d
e
t
A
∣
=
7
|det A| = 7
∣detA∣=7 ,即平行四边形的面积。
在代数上,行列式满足以下三个属性(所有其他属性都遵循这些属性,包括通用公式):
- 单位矩阵的行列式为 1, ∣ I ∣ = 1 |I| = 1 ∣I∣=1 (几何上,单位超立方体的体积为 1);
- 给定一个矩阵
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n , 如果我们将
A
A
A 中的一行乘上一个标量
t
∈
R
t \in \mathbb{R}
t∈R,那么新矩阵的行列式是
t
∣
A
∣
t|A|
t∣A∣:
[ − t a 1 T − − t a 2 T − ⋮ − t a n T − ] = t ∣ A ∣ \begin{bmatrix} -& ta_1^T & - \\ -& ta_2^T & - \\ & \vdots & \\ -& ta_n^T & - \end{bmatrix} = t|A| ⎣⎢⎢⎢⎡−−−ta1Tta2T⋮tanT−−−⎦⎥⎥⎥⎤=t∣A∣
几何上,将集合 S S S 的一个边乘以系数 t t t,体积也会增加一个系数 t t t 。 - 如果我们交换任意两行
a
i
T
a_i^T
aiT 和
a
j
T
a_j^T
ajT ,那么新矩阵的行列式是
−
∣
A
∣
-|A|
−∣A∣ ,例如:
[ − a 2 T − − a 1 T − ⋮ − a n T − ] = − ∣ A ∣ \begin{bmatrix} -& a_2^T & - \\ -& a_1^T & - \\ & \vdots & \\ -& a_n^T & - \end{bmatrix} = -|A| ⎣⎢⎢⎢⎡−−−a2Ta1T⋮anT−−−⎦⎥⎥⎥⎤=−∣A∣
你一定很奇怪,满足上述三个属性的函数并不多。事实上,这样的函数确实存在,而且是唯一的(我们在这里不再证明了)。
从上述三个属性中得出的几个属性包括:
- 对于 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n ,有 ∣ A ∣ = ∣ A T ∣ |A| = |A^T| ∣A∣=∣AT∣ ;
- 对于 A , B ∈ R n × n A,B \in \mathbb{R}^{n \times n} A,B∈Rn×n ,有 ∣ A B ∣ = ∣ A ∣ ∣ B ∣ |AB| = |A||B| ∣AB∣=∣A∣∣B∣ ;
- 对于 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n ,有且只有当 A A A 是奇异的(比如不可逆),则 ∣ A ∣ = 0 |A| = 0 ∣A∣=0 ;
- 对于 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n ,且 A A A 为非奇异的,有 ∣ A ∣ − 1 = 1 / ∣ A ∣ |A|^{-1} = 1/|A| ∣A∣−1=1/∣A∣ ;
在给出行列式的一般定义之前,我们定义,对于
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n ,
A
∼
i
,
∼
j
A_{\sim i,\sim j}
A∼i,∼j 是由于删除第
i
i
i 行和第
j
j
j 列而产生的矩阵。行列式的一般(递归)公式是:
∣
A
∣
=
∑
i
=
1
n
(
−
1
)
i
+
j
a
i
j
∣
A
∼
i
,
∼
j
∣
(for any
j
∈
1
,
2
,
.
.
.
,
n
)
|A| = \sum_{i=1}^n (-1)^{i+j} a_{ij} |A_{\sim i,\sim j}| \quad \text{(for any $j \in 1, 2, ..., n$)}
∣A∣=i=1∑n(−1)i+jaij∣A∼i,∼j∣(for any j∈1,2,...,n)
=
∑
j
=
1
n
(
−
1
)
i
+
j
a
i
j
∣
A
∼
i
,
∼
j
∣
(for any
i
∈
1
,
2
,
.
.
.
,
n
)
= \sum_{j=1}^n (-1)^{i+j} a_{ij} |A_{\sim i,\sim j}| \quad \text{(for any $i \in 1, 2, ..., n$)}
=j=1∑n(−1)i+jaij∣A∼i,∼j∣(for any i∈1,2,...,n)
对于
A
∈
R
1
×
1
A \in \mathbb{R}^{1 \times 1}
A∈R1×1 ,初始情况为
∣
A
∣
=
a
11
|A| = a_{11}
∣A∣=a11 。如果我们把这个公式完全展开为
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n ,就等于
n
!
n!
n! ( n
的阶乘)不同的项。因此,对于大于
3
×
3
3 \times 3
3×3 的矩阵,我们几乎没有明确地写出完整的行列式方程。然而,
3
×
3
3 \times 3
3×3 大小的矩阵的行列式方程是相当常见的,建议好好地了解它们:
∣
a
11
∣
=
a
11
\begin{vmatrix} a_{11} \end{vmatrix} = a_{11}
∣∣a11∣∣=a11
∣
a
11
a
12
a
21
a
22
∣
=
a
11
a
22
−
a
12
a
21
\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix} = a_{11}a_{22} - a_{12}a_{21}
∣∣∣∣a11a21a12a22∣∣∣∣=a11a22−a12a21
∣
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
∣
=
a
11
a
22
a
33
+
a
12
a
23
a
31
+
a
13
a
21
a
32
−
a
31
a
22
a
13
−
a
11
a
23
a
32
−
a
21
a
12
a
33
\begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{vmatrix} = a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} - a_{31}a_{22}a_{13} - a_{11}a_{23}a_{32} - a_{21}a_{12}a_{33}
∣∣∣∣∣∣a11a21a31a12a22a32a13a23a33∣∣∣∣∣∣=a11a22a33+a12a23a31+a13a21a32−a31a22a13−a11a23a32−a21a12a33
矩阵
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n 的经典伴随矩阵(通常称为伴随矩阵)表示为
a
d
j
(
A
)
adj(A)
adj(A) ,并定义为:
a
d
j
(
A
)
∈
R
n
×
n
,
(
a
d
j
(
A
)
)
i
j
=
(
−
1
)
i
+
j
∣
A
∼
j
,
∼
i
∣
adj(A) \in \mathbb{R}^{n \times n}, \quad (adj(A))_{ij} = (-1)^{i+j}|A_{\sim j, \sim i}|
adj(A)∈Rn×n,(adj(A))ij=(−1)i+j∣A∼j,∼i∣
(注意索引
A
∼
j
,
∼
i
A_{\sim j, \sim i}
A∼j,∼i 中的变化)。可以看出,对于任何非奇异
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n :
A
−
1
=
1
∣
A
∣
a
d
j
(
A
)
A^{-1} = \frac{1}{|A|}adj(A)
A−1=∣A∣1adj(A)
虽然这是一个很好的“显式”的逆矩阵公式,但我们应该注意,从数字上讲,有很多更有效的方法来计算逆矩阵。
1.11 二次型和半正定矩阵
给定方阵
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n 和向量
x
∈
R
n
x \in \mathbb{R}^n
x∈Rn ,标量值被称为二次型。写得清楚些,我们可以看到:
x
T
A
x
=
∑
i
=
1
n
x
i
(
A
x
)
i
=
∑
i
=
1
n
x
i
(
∑
j
=
1
n
A
i
j
x
j
)
=
∑
i
=
1
n
∑
j
=
1
n
A
i
j
x
i
x
j
x^TAx = \sum_{i=1}^n x_i (Ax)_i = \sum_{i=1}^n x_i \bigg(\sum_{j=1}^n A_{ij} x_j\bigg) = \sum_{i=1}^n \sum_{j=1}^n A_{ij} x_i x_j
xTAx=i=1∑nxi(Ax)i=i=1∑nxi(j=1∑nAijxj)=i=1∑nj=1∑nAijxixj
注意:
x
T
A
x
=
(
x
T
A
x
)
T
=
x
T
A
T
x
=
x
T
(
1
2
A
+
1
2
A
T
)
x
x^TAx = (x^TAx)^T = x^TA^Tx = x^T\bigg(\frac{1}{2}A + \frac{1}{2}A^T\bigg)x
xTAx=(xTAx)T=xTATx=xT(21A+21AT)x
第一个等号成立是因为标量的转置与自身相等,而第三个等号成立是因为上式中:
x
T
A
x
=
x
T
A
T
x
x^TAx = x^TA^Tx
xTAx=xTATx
⇒
2
x
T
A
x
=
x
T
A
x
+
x
T
A
T
x
\Rightarrow 2x^TAx = x^TAx + x^TA^Tx
⇒2xTAx=xTAx+xTATx
⇒
x
T
A
x
=
1
2
(
x
T
A
x
+
x
T
A
T
x
)
=
x
T
(
1
2
A
+
1
2
A
T
)
x
\Rightarrow x^TAx = \frac{1}{2}(x^TAx + x^TA^Tx) = x^T\bigg(\frac{1}{2}A + \frac{1}{2}A^T\bigg)x
⇒xTAx=21(xTAx+xTATx)=xT(21A+21AT)x
由此,我们可以得出结论,只有 A A A 的对称部分有助于形成二次型。出于这个原因,我们经常隐含地假设以二次型出现的矩阵是对称阵。我们给出以下定义:
- 对于所有非零向量 x ∈ R n x \in \mathbb{R}^n x∈Rn , x T A x > 0 x^TAx \gt 0 xTAx>0 ,对称阵 A ∈ S n A \in \mathbb{S}^n A∈Sn 为正定(positive definite,PD)。这通常表示为 A ≻ 0 A \succ 0 A≻0 (或 A > 0 A \gt 0 A>0 ),并且通常将所有正定矩阵的集合表示为 S + + n \mathbb{S}_{++}^n S++n 。
- 对于所有非零向量 x ∈ R n x \in \mathbb{R}^n x∈Rn , x T A x ≥ 0 x^TAx \geq 0 xTAx≥0 ,对称阵 A ∈ S n A \in \mathbb{S}^n A∈Sn 是半正定(positive semidefinite,PSD)。这写为 A ⪰ 0 A \succeq 0 A⪰0 (或 A ≥ 0 A \geq 0 A≥0 ),并且所有半正定矩阵的集合通常表示为 S + n \mathbb{S}_{+}^n S+n 。
- 同样,对称阵 A ∈ S n A \in \mathbb{S}^n A∈Sn 是负定(negative definite,ND),如果对于所有非零向量 x ∈ R n x \in \mathbb{R}^n x∈Rn ,则表示为 A ≺ 0 A \prec 0 A≺0 (或 A < 0 A \lt 0 A<0 )。
- 类似地,对称阵 A ∈ S n A \in \mathbb{S}^n A∈Sn 是半负定(negative semidefinite,NSD),如果对于所有非零向量 x ∈ R n x \in \mathbb{R}^n x∈Rn ,则表示为 A ⪯ 0 A \preceq 0 A⪯0 (或 A ≤ 0 A \leq 0 A≤0 )。
- 最后,对称阵 A ∈ S n A \in \mathbb{S}^n A∈Sn 是不定的,如果它既不是正半定也不是负半定,即如果存在 x 1 , x 2 ∈ R n x_1, x_2 \in \mathbb{R}^n x1,x2∈Rn ,那么存在 x 1 T A x 1 > 0 x_1^TAx_1 \gt 0 x1TAx1>0 且 x 2 T A x 2 < 0 x_2^TAx_2 \lt 0 x2TAx2<0 。
很明显,如果 A A A 是正定的,那么 − A -A −A 是负定的,反之亦然。同样,如果 A A A 是半正定的,那么 − A -A −A 是半负定的,反之亦然。如果 A A A 是不定的,那么 − A -A −A 也是不定的。
正定矩阵和负定矩阵的一个重要性质是它们总是满秩,因此是可逆的。为了了解这是为什么,假设某个矩阵
A
∈
S
n
A \in \mathbb{S}^n
A∈Sn 不是满秩。然后,假设
A
A
A 的第
j
j
j 列可以表示为其他
n
−
1
n-1
n−1 列的线性组合:
a
j
=
∑
i
≠
j
x
i
a
i
a_j = \sum_{i \ne j} x_i a_i
aj=i=j∑xiai
对于某些
x
1
,
.
.
.
,
x
j
−
1
,
x
j
+
1
,
.
.
.
,
x
n
∈
R
x_1, ..., x_{j-1}, x_{j+1}, ..., x_n \in \mathbb{R}
x1,...,xj−1,xj+1,...,xn∈R 。设
x
j
=
−
1
x_j = -1
xj=−1 ,则:
A
x
=
∑
i
≠
j
x
i
a
i
=
0
Ax = \sum_{i \ne j} x_i a_i = 0
Ax=i=j∑xiai=0
但这意味着对于某些非零向量
x
x
x ,
x
T
A
x
=
0
x^TAx = 0
xTAx=0 ,因此
A
A
A 必须既不是正定也不是负定。如果是正定或负定,则必须是满秩。最后,有一种类型的正定矩阵经常出现,因此值得特别提及。给定矩阵
A
∈
R
m
×
n
A \in \mathbb{R}^{m \times n}
A∈Rm×n (不一定是对称或偶数平方),矩阵
G
=
A
T
A
G = A^TA
G=ATA (有时称为 Gram
矩阵)总是半正定的。此外,如果
m
≥
n
m \geq n
m≥n (同时为了方便起见,我们假设
A
A
A 是满秩),则
G
=
A
T
A
G = A^TA
G=ATA 是正定的。
1.12 特征值和特征向量
给定一个方阵
A
∈
R
n
×
n
A \in \mathbb{R}^{n \times n}
A∈Rn×n ,我们认为在以下条件下,
λ
∈
C
\lambda \in \mathbb{C}
λ∈C 是
A
A
A 的特征值,
x
∈
C
n
x \in \mathbb{C}^n
x∈Cn 是相应的特征向量:
A
x
=
λ
x
,
x
≠
0
Ax = \lambda x, \quad x \ne 0
Ax=λx,x=0
直观地说,这个定义意味着将
A
A
A 乘以向量
x
x
x 会得到一个新的向量,该向量指向与
x
x
x 相同的方向,但按系数
λ
\lambda
λ 缩放。值得注意的是,对于任何特征向量
x
∈
C
n
x \in \mathbb{C}^n
x∈Cn 和标量
t
∈
C
t \in \mathbb{C}
t∈C ,
A
(
t
x
)
=
t
A
x
=
t
λ
x
=
λ
(
t
x
)
A(tx) = tAx = t\lambda x = \lambda (tx)
A(tx)=tAx=tλx=λ(tx) ,
t
x
tx
tx 也是一个特征向量。因此,当我们讨论与
λ
\lambda
λ 相关的特征向量时,我们通常假设特征向量被标准化为长度为 1
(这仍然会造成一些歧义,因为
x
x
x 和
−
x
-x
−x 都是特征向量,但我们必须接受这一点)。
我们可以重写上面的等式来说明
(
λ
,
x
)
(\lambda, x)
(λ,x) 是
A
A
A 的特征值和特征向量的组合:
(
λ
I
−
A
)
x
=
0
,
x
≠
0
(\lambda I - A)x = 0, \quad x \ne 0
(λI−A)x=0,x=0
但是
(
λ
I
−
A
)
x
=
0
(\lambda I - A)x = 0
(λI−A)x=0 只有当
(
λ
I
−
A
)
(\lambda I - A)
(λI−A) 有一个非空零空间时,同时
(
λ
I
−
A
)
(\lambda I - A)
(λI−A) 是奇异的,
x
x
x 才具有非零解,即:
∣
(
λ
I
−
A
)
∣
=
0
|(\lambda I - A)| = 0
∣(λI−A)∣=0
现在,我们可以使用行列式的先前定义将表达式
∣
(
λ
I
−
A
)
∣
|(\lambda I - A)|
∣(λI−A)∣ 扩展为
λ
\lambda
λ 中的(非常大的)多项式,其中,
λ
\lambda
λ 的度为 n
。它通常被称为矩阵
A
A
A 的特征多项式。
然后我们找到这个特征多项式的 n
(可能是复数)根,并用
λ
1
,
λ
2
,
.
.
.
,
λ
n
\lambda_1, \lambda_2, ..., \lambda_n
λ1,λ2,...,λn 表示。这些都是矩阵
A
A
A 的特征值,但我们注意到它们可能不明显。为了找到特征值
λ
i
\lambda_i
λi 对应的特征向量,我们只需解线性方程
(
λ
I
−
A
)
x
=
0
(\lambda I - A)x = 0
(λI−A)x=0 ,因为
(
λ
I
−
A
)
(\lambda I - A)
(λI−A) 是奇异的,所以保证至少有一个非零解(可能有多个或无穷多个解)。
应该注意的是,这不是实际用于数值计算特征值和特征向量的方法(记住行列式的完全展开式有 n ! n! n! 项),这是一个数学上的争议。
以下是特征值和特征向量的属性(所有假设都在 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n 具有特征值 λ 1 , λ 2 , . . . , λ n \lambda_1, \lambda_2, ..., \lambda_n λ1,λ2,...,λn 的前提下):
-
A
A
A 的迹等于其特征值之和:
t r A = ∑ i = 1 n λ i trA = \sum_{i=1}^n \lambda_i trA=i=1∑nλi -
A
A
A 的行列式等于其特征值的乘积:
∣ A ∣ = ∏ i = 1 n λ i |A| = \prod_{i=1}^n \lambda_i ∣A∣=i=1∏nλi - A A A 的秩等于 A A A 的非零特征值的个数;
- 假设 A A A 非奇异,其特征值和特征向量分别为 λ , x \lambda, x λ,x 。那么 1 / λ 1/\lambda 1/λ 是具有相关特征向量 x x x 的 A − 1 A^{-1} A−1 的特征值,即 A − 1 x = ( 1 / λ ) x A^{-1}x = (1/\lambda)x A−1x=(1/λ)x 。(要证明这一点,取特征向量方程, A x = λ x Ax = \lambda x Ax=λx ,两边都左乘 A − 1 A^{-1} A−1 );
- 对角阵的特征值 d = d i a g ( d 1 , d 2 , . . . , d n ) d = diag(d_1, d_2, ..., d_n) d=diag(d1,d2,...,dn) 实际上就是对角元素 d 1 , d 2 , . . . , d n d_1, d_2, ..., d_n d1,d2,...,dn 。
1.13 对称矩阵的特征值和特征向量
通常情况下,一般的方阵的特征值和特征向量的结构可以很细微地表示出来。值得庆幸的是,在机器学习的大多数场景下,处理对称实矩阵就足够了,其处理的对称实矩阵的特征值和特征向量具有显著的特性。
在本节中,我们假设是 A A A 实对称矩阵, 具有以下属性:
- A A A 的所有特征值都是实数。我们用 λ 1 , λ 2 , . . . , λ n \lambda_1, \lambda_2, ..., \lambda_n λ1,λ2,...,λn 来表示。
- 存在一组特征向量 u 1 , u 2 , . . . , u n u_1, u_2, ..., u_n u1,u2,...,un ,对于所有 i i i , u i u_i ui 是具有特征值 λ i \lambda_i λi 和 b b b 的特征向量。 u 1 , u 2 , . . . , u n u_1, u_2, ..., u_n u1,u2,...,un 是单位向量并且彼此正交。
设
U
U
U 是包含
u
i
u_i
ui 作为列的正交矩阵:
U
=
[
∣
∣
∣
u
1
u
2
⋯
u
n
∣
∣
∣
]
U = \begin{bmatrix} | & | & &| \\ u_1 & u_2 & \cdots & u_n \\ | & | & &| \end{bmatrix}
U=⎣⎡∣u1∣∣u2∣⋯∣un∣⎦⎤
设
Λ
=
d
i
a
g
(
λ
1
,
λ
2
,
.
.
.
,
λ
n
)
\Lambda = diag(\lambda_1, \lambda_2, ..., \lambda_n)
Λ=diag(λ1,λ2,...,λn) 是包含
λ
1
,
λ
2
,
.
.
.
,
λ
n
\lambda_1, \lambda_2, ..., \lambda_n
λ1,λ2,...,λn 作为对角线上的元素的对角矩阵。使用 上一篇文章中介绍到的矩阵 - 矩阵向量乘法的方法,我们可以验证:
A
U
=
[
∣
∣
∣
A
u
1
A
u
2
⋯
A
u
n
∣
∣
∣
]
=
[
∣
∣
∣
λ
1
u
1
λ
2
u
2
⋯
λ
n
u
n
∣
∣
∣
]
=
U
d
i
a
g
(
λ
1
,
λ
2
,
.
.
.
,
λ
n
)
=
U
Λ
AU = \begin{bmatrix} | & | & &| \\ Au_1 & Au_2 & \cdots & Au_n \\ | & | & &| \end{bmatrix} = \begin{bmatrix} | & | & &| \\ \lambda_1u_1 & \lambda_2u_2 & \cdots & \lambda_nu_n \\ | & | & &| \end{bmatrix} = U diag(\lambda_1, \lambda_2, ..., \lambda_n) = U \Lambda
AU=⎣⎡∣Au1∣∣Au2∣⋯∣Aun∣⎦⎤=⎣⎡∣λ1u1∣∣λ2u2∣⋯∣λnun∣⎦⎤=Udiag(λ1,λ2,...,λn)=UΛ
考虑到正交矩阵
U
U
U 满足
U
U
T
=
I
UU^T = I
UUT=I,利用上面的方程,我们得到:
A
=
A
U
U
T
=
U
Λ
U
T
A = AUU^T = U\Lambda U^T
A=AUUT=UΛUT
这种j对矩阵
A
A
A 的新的表示形式为
U
Λ
U
T
U\Lambda U^T
UΛUT ,通常称为对矩阵
A
A
A 的对角化。术语对角化是这样来的:通过这种表示,我们通常可以有效地将对称矩阵
A
A
A 视为对角矩阵,这更容易理解。关于由特征向量
U
U
U 定义的基础, 我们将通过几个例子详细说明。
背景知识: 代表另一个基的向量。
任何正交矩阵
U
=
[
∣
∣
∣
u
1
u
2
⋯
u
n
∣
∣
∣
]
U = \begin{bmatrix}| & | & &| \\u_1 & u_2 & \cdots & u_n \\| & | & &| \end{bmatrix}
U=⎣⎡∣u1∣∣u2∣⋯∣un∣⎦⎤ 定义了一个新的属于
R
n
\mathbb{R}^n
Rn 的基(坐标系),意义如下:
对于任何向量
x
∈
R
n
x \in \mathbb{R}^n
x∈Rn 都可以表示为
u
1
,
u
2
,
.
.
.
,
u
n
u_1, u_2, ..., u_n
u1,u2,...,un 的线性组合,其系数为
x
^
1
,
x
^
2
,
.
.
.
,
x
^
n
\hat{x}_1, \hat{x}_2, ..., \hat{x}_n
x^1,x^2,...,x^n :
x
=
x
^
1
u
1
+
x
^
2
u
2
+
.
.
.
+
x
^
n
u
n
=
U
x
^
x = \hat{x}_1 u_1 + \hat{x}_2 u_2 + ... + \hat{x}_n u_n = U\hat{x}
x=x^1u1+x^2u2+...+x^nun=Ux^
在第二个等式中,我们使用矩阵和向量相乘的方法。实际上,这种
x
^
\hat{x}
x^ 是唯一存在的(第一个等式两边同时左乘
U
T
U^T
UT ):
x
=
U
x
^
⇔
U
T
x
=
x
^
x = U\hat{x} \Leftrightarrow U^Tx = \hat{x}
x=Ux^⇔UTx=x^
换句话说,向量
x
^
=
U
T
x
\hat{x} = U^Tx
x^=UTx 可以作为向量
x
x
x 的另一种表示,与
U
U
U 定义的基有关。
“对角化”矩阵向量乘法。通过上面的设置,我们将看到左乘矩阵
A
A
A 可以被视为左乘以对角矩阵关于特征向量的基。假设
x
x
x 是一个向量,
x
^
\hat{x}
x^ 表示
U
U
U 的基。设
z
=
A
x
z = Ax
z=Ax 为矩阵向量积。现在让我们计算关于
U
U
U 的基
z
z
z :然后,再利用
U
U
T
=
U
T
U
=
I
UU^T = U^TU = I
UUT=UTU=I 和方程
A
=
A
U
U
T
=
U
Λ
U
T
U
U
T
=
U
Λ
U
T
A = AUU^T = U\Lambda U^T UU^T = U\Lambda U^T
A=AUUT=UΛUTUUT=UΛUT ,我们得到:
z
^
=
U
T
z
=
U
T
A
x
=
U
T
U
Λ
U
T
x
=
Λ
x
^
=
[
λ
1
x
^
1
λ
2
x
^
2
⋮
λ
n
x
^
n
]
\hat{z} = U^Tz = U^TAx = U^TU\Lambda U^Tx = \Lambda \hat{x} = \begin{bmatrix} \lambda_1 \hat{x}_1 \\ \lambda_2 \hat{x}_2 \\ \vdots \\ \lambda_n \hat{x}_n \\ \end{bmatrix}
z^=UTz=UTAx=UTUΛUTx=Λx^=⎣⎢⎢⎢⎡λ1x^1λ2x^2⋮λnx^n⎦⎥⎥⎥⎤
我们可以看到,原始空间中的左乘矩阵
A
A
A 等于左乘对角矩阵
Λ
\Lambda
Λ 相对于新的基,即仅将每个坐标缩放相应的特征值。在新的基上,矩阵多次相乘也变得简单多了。例如,假设
q
=
A
A
A
x
q = AAAx
q=AAAx 。根据
A
A
A 的元素导出
q
q
q 的分析形式,使用原始的基可能是一场噩梦,但使用新的基就容易多了:
q
^
=
U
T
q
=
U
T
A
A
A
x
=
U
T
U
Λ
U
T
U
Λ
U
T
U
Λ
U
T
x
=
Λ
3
x
^
=
[
λ
1
3
x
^
1
λ
2
3
x
^
2
⋮
λ
n
3
x
^
n
]
\hat{q} = U^Tq = U^TAAAx = U^TU\Lambda U^TU\Lambda U^TU\Lambda U^Tx = \Lambda^3\hat{x} = \begin{bmatrix} \lambda_1^3 \hat{x}_1 \\ \lambda_2^3 \hat{x}_2 \\ \vdots \\ \lambda_n^3 \hat{x}_n \\ \end{bmatrix}
q^=UTq=UTAAAx=UTUΛUTUΛUTUΛUTx=Λ3x^=⎣⎢⎢⎢⎡λ13x^1λ23x^2⋮λn3x^n⎦⎥⎥⎥⎤
“对角化”二次型。作为直接的推论,二次型
x
T
A
x
x^TAx
xTAx 也可以在新的基上简化:
x
T
A
x
=
x
T
U
Λ
U
T
x
=
x
^
T
Λ
x
^
=
∑
i
=
1
n
λ
i
x
^
i
2
x^TAx = x^TU\Lambda U^Tx = \hat{x}^T\Lambda \hat{x} = \sum_{i=1}^n \lambda_i \hat{x}_i^2
xTAx=xTUΛUTx=x^TΛx^=i=1∑nλix^i2
(回想一下,在旧的表示法中,
x
T
A
x
=
∑
i
=
1
,
j
=
1
n
x
i
x
j
A
i
j
x^TAx = \sum_{i=1, j=1}^n x_ix_jA_{ij}
xTAx=∑i=1,j=1nxixjAij 涉及一个
n
2
n^2
n2 项的和,而不是上面等式中的
n
n
n 项。)利用这个观点,我们还可以证明矩阵的正定性完全取决于其特征值的符号:
- 如果对于所有的 λ i > 0 \lambda_i \gt 0 λi>0 ,则矩阵 A A A 是正定的,因为对于任意的 x ^ ≠ 0 , x T A x = ∑ i = 1 n λ i x ^ i 2 > 0 \hat{x} \ne 0, \quad x^TAx = \sum_{i=1}^n \lambda_i \hat{x}_i^2 \gt 0 x^=0,xTAx=∑i=1nλix^i2>0 ;
- 如果对于所有的 λ i ≥ 0 \lambda_i \geq 0 λi≥0 ,则矩阵 A A A 是半正定的,因为对于任意的 x ^ ≠ 0 , x T A x = ∑ i = 1 n λ i x ^ i 2 ≥ 0 \hat{x} \ne 0, \quad x^TAx = \sum_{i=1}^n \lambda_i \hat{x}_i^2 \geq 0 x^=0,xTAx=∑i=1nλix^i2≥0 ;
- 同样,如果对于所有 λ i < 0 \lambda_i \lt 0 λi<0 或 λ i ≤ 0 \lambda_i \leq 0 λi≤0 ,则矩阵分别为负定或半负定 ;
- 最后,如果 A A A 同时具有正特征值和负特征值,比如 λ i > 0 \lambda_i \gt 0 λi>0 和 λ j < 0 \lambda_j \lt 0 λj<0 ,那么它是不定的。这是因为如果我们让 x ^ \hat{x} x^ 满足 x ^ i = 1 \hat{x}_i = 1 x^i=1 和 x ^ j = 0 \hat{x}_j = 0 x^j=0 ,同时所有的 j ≠ i j \ne i j=i ,那么 x T A x = ∑ i = 1 n λ i x ^ i 2 > 0 x^TAx = \sum_{i=1}^n \lambda_i \hat{x}_i^2 \gt 0 xTAx=∑i=1nλix^i2>0 ;同理,我们让 x ^ \hat{x} x^ 满足 x ^ i = 0 \hat{x}_i = 0 x^i=0 和 x ^ j = 1 \hat{x}_j = 1 x^j=1 ,同时所有的 j ≠ i j \ne i j=i ,那么 x T A x = ∑ i = 1 n λ i x ^ i 2 < 0 x^TAx = \sum_{i=1}^n \lambda_i \hat{x}_i^2 \lt 0 xTAx=∑i=1nλix^i2<0 。
特征值和特征向量经常出现的应用是最大化矩阵的某些函数。特别是对于矩阵
A
∈
S
n
A \in \mathbb{S}^n
A∈Sn ,考虑以下最大化问题:
max
x
∈
R
n
x
T
A
x
=
∑
i
=
1
n
λ
i
x
^
i
2
subject to
∣
∣
x
∣
∣
2
2
=
1
\max_{x \in \mathbb{R}^n} x^TAx = \sum_{i=1}^n \lambda_i \hat{x}_i^2 \quad \text{subject to $||x||_2^2 = 1$}
x∈RnmaxxTAx=i=1∑nλix^i2subject to ∣∣x∣∣22=1
也就是说,我们要找到(范数为 1
)的向量,它使二次型最大化。假设特征值的阶数为
λ
1
≥
λ
2
≥
.
.
.
λ
n
\lambda_1 \geq \lambda_2 \geq ... \lambda_n
λ1≥λ2≥...λn ,此优化问题的最优值为
λ
1
\lambda_1
λ1 ,且
λ
1
\lambda_1
λ1 与对应的任何特征向量
u
1
u_1
u1 都是最大值之一。(如果
λ
1
≥
λ
2
\lambda_1 \geq \lambda_2
λ1≥λ2 ,那么有一个与特征值
λ
1
\lambda_1
λ1 对应的唯一特征向量,它是上面那个优化问题的唯一最大值。) 我们可以通过使用对角化技术来证明这一点:注意,通过公式
∣
∣
U
x
∣
∣
2
=
∣
∣
x
∣
∣
2
||Ux||_2 = ||x||_2
∣∣Ux∣∣2=∣∣x∣∣2 推出
∣
∣
x
∣
∣
2
=
∣
∣
x
^
∣
∣
2
||x||_2 = ||\hat{x}||_2
∣∣x∣∣2=∣∣x^∣∣2 ,并利用公式:
x
T
A
x
=
x
T
U
Λ
U
T
x
=
x
^
T
Λ
x
^
=
∑
i
=
1
n
λ
i
x
^
i
2
x^TAx = x^TU\Lambda U^Tx = \hat{x}^T\Lambda \hat{x} = \sum_{i=1}^n \lambda_i \hat{x}_i^2
xTAx=xTUΛUTx=x^TΛx^=i=1∑nλix^i2
我们可以将上面那个优化问题改写为:
max
x
^
∈
R
n
x
^
T
A
x
^
=
∑
i
=
1
n
λ
i
x
^
i
2
subject to
∣
∣
x
^
∣
∣
2
2
=
1
\max_{\hat{x} \in \mathbb{R}^n} \hat{x}^TA\hat{x} = \sum_{i=1}^n \lambda_i \hat{x}_i^2 \quad \text{subject to $||\hat{x}||_2^2 = 1$}
x^∈Rnmaxx^TAx^=i=1∑nλix^i2subject to ∣∣x^∣∣22=1
然后,我们得到目标的上界为
λ
1
\lambda_1
λ1 :
x
^
T
A
x
^
=
∑
i
=
1
n
λ
i
x
^
i
2
≤
∑
i
=
1
n
λ
1
x
^
i
2
=
λ
1
\hat{x}^TA\hat{x} = \sum_{i=1}^n \lambda_i \hat{x}_i^2 \leq \sum_{i=1}^n \lambda_1 \hat{x}_i^2 = \lambda_1
x^TAx^=i=1∑nλix^i2≤i=1∑nλ1x^i2=λ1
此外,设置
x
^
=
[
1
0
⋮
0
]
\hat{x} = \begin{bmatrix}1\\0\\ \vdots \\ 0\end{bmatrix}
x^=⎣⎢⎢⎢⎡10⋮0⎦⎥⎥⎥⎤ 可让上述等式成立,这与设置
x
=
u
1
x = u_1
x=u1 相对应。