陶哲轩论文解析:从特征值到特征向量
背景
陶哲轩和三个物理学家张西宁、Peter Denton和Stephen Parke的论文《EIGENVECTORS FROM EIGENVALUES》。这篇论文写了一种新的从特征值求解特征向量的方法并完成数学证明。用陶哲轩的话说:这个公式看起来好得令人难以置信,我完全没想过,子矩阵的特征值编码了原矩阵特征向量的隐藏信息。
论文地址:https://arxiv.org/abs/1908.03795
https://arxiv.org/pdf/1908.03795.pdf
什么是特征值和特征向量
对于一个n阶方阵A,存在n维非零向量x和标量λ,使下式满足:
A
x
=
λ
x
Ax=λx
Ax=λx即:矩阵A乘以向量x,仅对x做了线性变换λx,而未改变向量的方向。这时,对于方阵A,满足条件的λ就是特征值,x就是该特征值对应的特征向量。
教科书版求解方法
1.先求特征值
将上式改写为
(
A
−
λ
I
)
x
=
0
(A-λI)x=0
(A−λI)x=0该式为x的线性方程组,x存在非零解需要满足条件:
d e t ( A − λ I ) = 0 det(A-λI)=0 det(A−λI)=0det指对行列式的求解。可以得到一个关于λ的一元n次方程,包括重根可得到n个解,即为A的特征值。
2.求解特征向量
将计算得到的某特征值λ代入方程:
(
A
−
λ
I
)
x
=
0
(A-λI)x=0
(A−λI)x=0可以解得非零向量x为λ的特征向量。
举个栗子
太懒了不想打公式,找了个百度文库的栗子截个图
先求特征值,得到-2和7,然后分别求-2和7的特征向量。
比如求特征值-2的特征向量:
注意:特征向量是一个方向,如(4,-5),(8,-10) 都是特征值-2的特征向量,因此一般用单位向量来表示。
特征值和特征向量的主要性质
- 对于满秩矩阵,满足特征值不等于0.
- 每个n*n的方阵都有包括重根的n个特征值。
- 对于k重特征值,对应的线性无关的特征向量最多有k个。
- 对于单根特征值,有且只有一个单位特征向量。
- 两个不同的特征值,对应的特征向量一定线性无关。
- Hermitian矩阵(共轭对称矩阵)一定存在n个线性无关的特征向量。
- 所有n个特征值包括重根的乘积等于该方阵的行列式值。(在证明过程中将经常用到这个性质)
矩阵特征分解
矩阵对角化又称为矩阵的特征分解,常常应用在Hermit矩阵中。
假设现在有一个NxN的矩阵A,如果这个矩阵A有N个线性无关的特征向量,那么A就可以分解为:
A
=
V
D
V
−
1
A=VDV^{-1}
A=VDV−1其中,D是以n个特征值为对角元素的n*n的对角阵diag{λ},V是n个特征值对应的n个线性无关的列特征向量组成的方阵
V
=
[
v
(
1
)
,
v
(
2
)
,
v
(
3
)
,
.
.
.
,
v
(
n
)
]
V=[v^{(1)},v^{(2)},v^{(3)},...,v^{(n)}]
V=[v(1),v(2),v(3),...,v(n)]
该分解常常用于实对称矩阵的分解,因为实对称的矩阵的特征值和特征向量一定为实数。
陶哲轩论文内容
下面进入正题。
陶哲轩这篇被传的神乎其神的论文到底讲了个啥。
简单摘要一下
一般的求解特征值特征向量的方法是求解特征值后将特征值带回特征方程求解线性方程组。这篇论文针对Hermitian矩阵论证了存在于特征值和特征向量信息之间的联系,提出了一种不需要知道矩阵元素,仅通过特征值和主子矩阵的特征值求解平方赋范特征向量的方法。
定义一波
- Hermitian矩阵:共轭对称矩阵。
- 主子矩阵Mi:Hermitian矩阵去掉第i行和第i列,(仍对称)
- 平方赋范特征向量:对n维特征向量x的每个值都平方一下。本文求解的仅仅是特征向量每个值的平方,没有方向。
先看看结论
这篇文章主要就是证明了一个公式。即:特征值和特征向量之间存在着的一个普遍的规律。
稍微解释一下。
A
A
A是需要求特征向量的Hermitian矩阵。
λ
i
(
A
)
λ_{i}(A)
λi(A)是方阵A的特征值,共n个。
M
j
M_{j}
Mj是A的(n-1)阶的主子矩阵,共n个,每个有n-1个特征值,表示为
λ
k
(
M
j
)
λ_{k}(M_{j})
λk(Mj)
∣
v
i
,
j
∣
2
|v_{i,j}|^{2}
∣vi,j∣2是特征值λi对应的n维的特征向量vi的第j个值的平方。
那么,我们就得到了求解平方赋范特征向量的方法。
- 求出A 的n个 特征值 λ 1 ( A ) λ_{1}(A) λ1(A), λ 2 ( A ) λ_{2}(A) λ2(A),…, λ n ( A ) λ_{n}(A) λn(A).
- 分别求出Mj (j为1~n)的n-1个特征值 λ 1 ( M j ) λ_{1}(M_{j}) λ1(Mj), λ 2 ( M j ) λ_{2}(M_{j}) λ2(Mj),…, λ n − 1 ( M j ) λ_{n-1}(M_{j}) λn−1(Mj)
- 对于λi,求其特征向量{ v i , 1 v_{i,1} vi,1, v i , 2 v_{i,2} vi,2,… v i , n v_{i,n} vi,n}的平方赋范向量{ ∣ v i , 1 ∣ 2 |v_{i,1}|^{2} ∣vi,1∣2, ∣ v i , 2 ∣ 2 |v_{i,2}|^{2} ∣vi,2∣2,… ∣ v i , n ∣ 2 |v_{i,n}|^{2} ∣vi,n∣2}。求出公式右边的连乘,求出公式右边的连乘,除一下,就得到了 ∣ v i , j ∣ 2 |v_{i,j}|^{2} ∣vi,j∣2
举个栗子
因为笔者过于懒惰,例子抄自https://blog.csdn.net/FnqTyr45/article/details/103104824
来证明一下
陶提供了两种证法,一种是用柯西-binet引理,另一种用伴随矩阵证明。
第一种:用Cauchy-Binet引理
先证引理
对存在特征值为 0的矩阵A,不失一般性的假设
λ
n
=
0
λ_{n}=0
λn=0,那么(1)成立。
证明:
右边=det(B* AB), B表示B的共轭对称。
将A特征分解为A=VDV,其中,D是对角阵,V是n个线性无关的向量组成的正交矩阵,因此VV*=I(单位矩阵)
右边=det(B* VDV* B)
因为B是大小为n*(n-1)的任意矩阵,我们令B=V*B,并把B的前n-1行写作B’,最后一行写作任意的n-1维向量x.
右边=
d
e
t
(
B
∗
D
B
)
det(B^{*}DB)
det(B∗DB) 大小为
(
n
−
1
)
∗
n
(n-1)*n
(n−1)∗n,
n
∗
n
n*n
n∗n ,
n
∗
(
n
−
1
)
n*(n-1)
n∗(n−1)
由于D的特征值组成的对角阵,且
λ
n
=
0
λ_{n}=0
λn=0,因此第n行,第n列为0。
因此,右边=
d
e
t
(
B
∗
D
B
)
=
d
e
t
(
B
′
∗
D
′
B
)
det(B^{*}DB)=det(B'^{*}D'B)
det(B∗DB)=det(B′∗D′B),D’表示去掉第n行和第n列的0.
应用一个特征值的性质: 所有n个特征值包括重根的乘积等于该方阵的行列式值。得到
右
边
=
∏
i
=
1
n
−
1
λ
i
(
A
)
∣
d
e
t
(
B
′
)
∣
2
右边=\prod_{i=1}^{n-1}λ_{i}(A)|det(B')|^{2}
右边=i=1∏n−1λi(A)∣det(B′)∣2
对比左边,只需证明|det(B
v
n
v_{n}
vn)|=|det(B’)|,其中(B
v
n
v_{n}
vn)是拼接得到的nxn矩阵.
因为A=D,那么
v
n
=
e
n
v_{n}=e_{n}
vn=en,是
λ
n
=
0
λ_{n}=0
λn=0的特征向量,满足Den=0en。en是列向量(0,0,0…1)
因此对于(B
v
n
v_{n}
vn)第n列只有最后一个值是1,其他都是0
根据行列式计算法则得到|det(B
v
n
v_{n}
vn)|=|det(B’)|,得到
左
边
=
∏
i
=
1
n
−
1
λ
i
(
A
)
∣
d
e
t
(
B
′
)
∣
2
左边=\prod_{i=1}^{n-1}λ_{i}(A)|det(B')|^{2}
左边=i=1∏n−1λi(A)∣det(B′)∣2
证明结论
非常简单。
我们的上面的引理的A有一个特征值是0,那普通的没有怎么办?没有特征值创造特征值也要上啊。假设A的最后一个特征值是 λn,那么,
A
=
A
−
λ
n
I
A=A-λ_{n}I
A=A−λnI,这样就得到了一个存在特征值 λn=0的hermitian矩阵A。
我们再假设要求第n个特征向量的第一个元素,即i=n,j=1。要证明的式子就变成了(3)
右边我们再应用连乘的性质,知道了右边=det(Mj)
最后我们应用Cauchy-Binet引理,令B=第一行是全0,下面n-1维方阵是单位矩阵。代入这个式子
计算行列式可得右边det(B*AB)=det(Mj)
左边|det(B
v
n
v_{n}
vn)|=
∣
v
n
,
1
∣
|v_{n,1}|
∣vn,1∣
证明完毕。
第二种:用伴随矩阵证明
先上图
先翻译关键词
adj():伴随矩阵
v
j
v
j
∗
vjvj^{*}
vjvj∗我¥们只需要知道它的对角元素是我们要求的平方赋范向量就可以了。
进入证明:
(4)是伴随矩阵的性质。
两边同乘以特征向量vj
(
λ
I
n
−
A
)
∗
v
j
=
λ
v
j
−
λ
j
v
j
(λI_{n}-A)*v_{j}=λv_{j}-λ_{j}v_{j}
(λIn−A)∗vj=λvj−λjvj
(
λ
I
n
−
A
)
−
1
∗
v
j
=
(
λ
−
λ
j
)
−
1
v
j
(λI_{n}-A)^{-1}*v_{j}=(λ-λ_{j})^{-1}v_{j}
(λIn−A)−1∗vj=(λ−λj)−1vj再应用det(方阵)=特征值连乘,det(λI-A)=
∏
i
=
1
n
(
λ
−
λ
i
)
\prod^{n}_{i=1}(λ-λ_{i})
∏i=1n(λ−λi)得到(5)
取特征向量v1,v2,…vn作为标准正交基,
Σ
n
(
v
j
v
j
∗
)
=
I
\Sigma_n(v_{j}v_{j}^{*})=I
Σn(vjvj∗)=I.对(5)乘以vj*后连加,得到(6)
取λ为λj得到(7)成立。因此,(7)左边伴随矩阵的对角元素也等于右边的对角元素(就是我们想要的平方赋范特征向量)
根据伴随矩阵的定义:
得到(7)左边伴随矩阵的对角元素Aii=det(Mi)=
∏
k
=
1
n
−
1
λ
k
(
M
i
)
\prod^{n-1}_{k=1}λ_{k} (M_{i})
∏k=1n−1λk(Mi)
证明完毕。
最后
稍微划一下重点:
- 针对共轭对称矩阵。
- 求的是平方赋范特征向量。
- 仅通过特征值和主子矩阵的特征值求解。
- 揭示了特征值和特征向量之间的联系。
那么这个发现有什么意义呢?
引用一下我同学的发言:对我们这个水平的人来说就没什么用。