Compute numerically eigenspace of eigenvalue with multiplicity larger than 1.

52 Views Asked by At

I am starting to learn how eigenvalues and eigenvectors are computed in computers. For the moment, I understood that in order to compute the eigenvalues I can use the qr-iteration. Given a matrix $A$, we set

$A_0=A$,

$A_k=Q_kR_k$

$A_{k+1} := R_kQ_k = Q_k^T\underbrace{Q_kR_k}_{A_k}Q_k$

so $A_{k+1}$ and $A_k$ are similar and by induction are similar to $A$, and so have same eigenvalues. Then one can show that $(A_k)_{k\ge 1}$ converges to a upper triangular matrix and so we just need to read the elements on the diagonal of this matrix to know the eigenvalues.

For the eigenvectors, we can use the inverse power iteration. From the previous steps, we know the eigenvalues and we pick one $\lambda$. The power iteration applied on $(A-\lambda I)^{-1}$ will select the eigen pair with the biggest eigenvalue of $(A-\lambda I)^{-1}$, i.e. the smallest eigenvalue of $A-\lambda I$ which will be the eigen-pair associated with the eigen-value $\lambda$.

However, I don't understand how we calculate all the eigenvectors when an eigenvalue has an eigenspace of higher dimension than 1. Is it also done with the inverse power iteration?