EIGENVECTORS FROM EIGENVALUES论文结论举例验证

陶哲轩论文原文[1]

论文总共三种证明方法来证明同一个理论:

作者博客[2]的其中一种表达形式如下:
在这里插入图片描述

其中:
在这里插入图片描述

下面举个例子来说明下陶哲轩论文里面的上述公式到底是什么意思.
设矩阵A为:
{ − 1 4 1 4 3 0 1 0 2 } \left\{ \begin{matrix} -1 & 4 & 1 \\ 4 & 3 & 0 \\ 1 & 0 & 2 \\ \end{matrix} \right\} 141430102

#################python代码求解矩阵A的所有特征值和特征向量:############

import numpy as np
from numpy import *
# X=[ [1,2,1,1],
#     [3,3,1,2],
#     [3,5,4,3],
#     [5,4,5,4],
#     [5,6,1,5],
#     [6,5,2,6],
#     [8,7,1,2],
#     [9,8,3,7]]
# X=np.array(X).T#这里注意,[1,2,1,1]在numpy的眼中是一列
 
 
np.linalg.eig
X=[[-1,4,1],
    [4,3,0],
    [1,0,2]]
print("X=",X)
X=matrix(X)
print("------------------下面计算原始矩阵的特征值和特征向量-----------------------")
eigenvalue,featurevector=np.linalg.eig(X)
print("原始矩阵的特征值")
print("eigenvalue=",eigenvalue)
print("---------------------------")
print("featurevector=\n",featurevector)

运行代码得到特征值
eigenvalue=[-3.60201123 5.55175228 2.05025894]


得到特征向量:
[[-0.8454712 0.53175808 0.04911014]
[ 0.51225069 0.83355752 -0.20683592]
[ 0.1509228 0.14971711 0.97714231]]
例如-3.60201123对应的特征向量就是:
-0.8454712, 0.51225069, 0.1509228

####################下面分析该公式##############################
∣ v i , 1 ∣ 2 |v_{i,1}|^2 vi,12表示:
第i个单位化特征向量,1表示特征向量中的第一个元素的值.
已知上面的-0.8454712, 0.51225069, 0.1509228已经是单位化处理过的.

所以 ∣ v i , 1 ∣ 2 |v_{i,1}|^2 vi,12= ( − 0.8454712 ) 2 = 0.7148215500 (-0.8454712)^2=0.7148215500 (0.8454712)2=0.7148215500

##################下面计算式(1)右侧的分子##################
∏ k = 1 n − 1 ( λ i ( A ) − λ k ( M ) ) \prod_{k=1}^{n-1}(\lambda_i(A)-\lambda_k(M)) k=1n1(λi(A)λk(M))

已知M的特征值是3和2.代入分子:

∏ k = 1 n − 1 ( λ i ( A ) − λ k ( M ) ) \prod_{k=1}^{n-1}(\lambda_i(A)-\lambda_k(M)) k=1n1(λi(A)λk(M))
=(-3.60201123-3)(-3.60201123-2)
=36.9845410510

注意这里的 λ i ( A ) \lambda_i(A) λi(A)在连乘运算中是定死的,就是 v i v_i vi对应的特征向量 λ i \lambda_i λi

#######################下面计算式(1)右侧分母######################
∏ k = 1 , k ≠ i n − 1 ( λ i ( A ) − λ k ( A ) ) \prod_{k=1,k≠i}^{n-1}(\lambda_i(A)-\lambda_k(A)) k=1,k=in1(λi(A)λk(A))
分母的意思就是"矩阵A的 v i v_i vi向量对应的特征值"-“矩阵A的其他特征值”
所以:
∏ k = 1 , k ≠ i n − 1 ( λ i ( A ) − λ k ( A ) ) \prod_{k=1,k≠i}^{n-1}(\lambda_i(A)-\lambda_k(A)) k=1,k=in1(λi(A)λk(A))
=(-3.60201123-5.55175228)(-3.60201123-2.05025894)
=51.7395444308
#######################检验等式是否成立##################
根据上面的计算:
分子=36.9845410510
分母=51.7395444308
所以式(1)右侧=36.9845410510/51.7395444308=.7148215442
∣ v i , 1 ∣ 2 = ( − 0.8454712 ) 2 = . 7148215442 |vi,1|^2=(-0.8454712)^2=.7148215442 vi,12=(0.8454712)2=.7148215442

所以式(1)成立.

由此可知,根据式(1),
可以直接根据原矩阵的特征值子矩阵的特征值,直接得到原矩阵的向量中的任一元素的绝对值

该论文的特点:
目前难以得到特征向量里面的元素的符号,只能得到元素的绝对值或者平方.
需要事先知道原矩阵和子矩阵各自的所有特征值.

知乎[3]上更新:
徐树方《矩阵计算的理论与方法》(1995年)Page 323th的引理3.1已经有类似结论
所以,总的来看,其实是一场误会,这个公式在20年前就已经被研究过了.

陶哲轩本人在博客[2]的评论回复中,被人挖出来是很久以前就出版的内容以后,之后基本就不回复了了,所以看热闹的,散了吧.

Reference:
[1]https://arxiv.org/pdf/1908.03795.pdf
[2]https://terrytao.wordpress.com/2019/08/13/eigenvectors-from-eigenvalues/#comment-528850
[3]https://www.zhihu.com/question/355978404/answer/895583246

你可能感兴趣的:(线性代数)