# Approximate the second largest eigenvalue (and corresponding eigenvector) given the largest

Given a real-valued matrix $A$, one can obtain its largest eigenvalue $\lambda_1$ plus the corresponding eigenvector $v_1$ by choosing a random vector $r$ and repeatedly multiplying it by $A$ (and rescaling) until convergence.

Once we have the first eigenpair, is there a similar way to estimate the second eigenpair?

Here is a theorem that you can use:

where $$\vec{x}=\frac{1}{\lambda_1 v_{1,k}}\begin{pmatrix} a_{k1}\\ a_{k2}\\ ...\\ a_{kn} \end{pmatrix}$$

$v_{1,k}$ is the $k$th component of $\vec{v}_1$, $a_{ki}$ is the $ki$th element of $A$. The row $k$ is smallest index such that $v_{1,k}$ is the infinity norm of $\vec{v}$, i.e., the largest component.

Then you can find the largest eigenvalue of $B$, which is the second largest of $A$.

• could you please share from which book / notes you took that theorem? thanks in advance! Jan 26, 2015 at 13:03
• I couldn't find the original source. This is similar: macs.citadel.edu/chenm/344.dir/08.dir/lect4_2.pdf. It is called Wielandt deflation. Jan 27, 2015 at 10:02

$A=\sum_{i=1}^n \lambda_i v_iv_i^\top$ where $(\lambda_i,v_i)$ are the eigenvalue/vector pairs of $A$.

So, if you know that $|\lambda_1| \ge |\lambda_2| \ge \dots \ge |\lambda_n|$, then you can obtain $\lambda_2$ by computing the largest eigenvalue/vector pair in absolute value of $$B=A-\lambda_1 v_1v_1^\top$$

• What about the k-th largest ? should that be the same as the second? i.e finding the largest e.v for B = Ak-1 - (Lambda_k-1*(V_k-1)*(V_k-1)) ? Feb 25, 2016 at 16:31
• To get the k-th largest using that method, you need to remove all the previous eigenvectors. So, that's quite long... Not very efficient compared to other methods, such as QR, etc. Sep 26, 2016 at 7:57

The method is called deflation. The link provided by KittyL seems failed. Just in case someone need a ref, here is anthor source for the method: