Algorithms: eigenvectors from eigenvalues

You may think that in a mature field such as linear algebra, there will
be very few undiscovered nuggets of gold lying around on the ground. But
you would be wrong. In 2019 a group of FermiLab neutrino physicists noted
that the squares of eigenvector components can be computed entirely from hermitian matrix and submatrix eigenvalues. They and Terence Tao produced a lovely and short proof

arXiv:1908.03795v1 (2019, Denton,Parke,Tao,Zhang)

of this very useful result:
A is n\times n hermitian, normed eigenvalue/vector pairs (\lambda_i(A), v_i).
M_j is the submatrix gotten from deleting j^{th} row and column of A, with eigenvalues \lambda_k(M).

Lemma 2.

    \[|v_{i,j}|^2\prod_{k=1;k\ne i}^n (\lambda_i(A)-\lambda_k(A))=\prod_{k=1}^{n-1}(\lambda_i(A)-\lambda_k(M_j))\]

This is easy to code up (let’s use octave, note how similar octave, julia, R and python are, you know one, you know them all). It gives us a chance to play with array indexing and submatric creation. We could use the shifted and deflated QR algorithm that we previously talked about to get the eigenvalues, but we will use octaves built-in function.

m=[1,2,3;2,7,-1;3,-1,1]
[V,L]=eig(m)
Lm=diag(L)

# Make the array of eigenvalues of the submatrices
MS=zeros(3,2)
a=[1,2,3]
for k =1:3
MS(k,:)=eig(m(a(a~=k),a(a~=k)))';
end

# make the denominators
Den=ones(3)
for i=1:3
for k=a(a~=i)
Den(i,:)=Den(i,:)*(Lm(i)-Lm(k));
end
end

# make the numerators
Vals=ones(3,3)
for l=1:3
for i=1:3
for k=1:2
Vals(i,l)=Vals(i,l)*(Lm(l)-MS(i,k));
end
end
end

# make the eigevector components (abs value)
sqrt(Vals./Den')

Let’s run it and see what we get, first the actual matrix of eigenvectors as columns (each column is an eigenvector) and then the matrix v_{i,j} where j labels the eigenvalue

octave:125> V
V =

  -0.706549   0.648749  -0.282688
   0.220040  -0.178262  -0.959065
   0.672585   0.739829   0.016800


octave:124> sqrt(Vals./Den')
ans =

   0.706549   0.648749   0.282688
   0.220040   0.178262   0.959065
   0.672585   0.739829   0.016800
Home 2.0
error: Content is protected !!