The power iteration is great for computing a single eigenvalue, but how can we obtain the other eigenvalues as well?

We will now assume that

We will see a modification later to address situations when this is not true. A shift of the eigenvalues will be required.

Recall that

As we multiply by , the vector qk converges to x1. What happens if we apply a projection orthogonal to x1?

That is, let’s run the power iteration for with

with .

We use the Schur decomposition of .

Define such that its first row is 0

and

when . Then:

This is the Schur decomposition of . The eigenvalues of are on the diagonal of and are equal to 0, , …, . So the largest eigenvalue of is . Its eigenvector is .

Therefore, the power iteration applied to yields and .

We can generalize this process and get all the eigenvalues. To get we need to apply the power iteration to:

The largest eigenvalue is now and its eigenvector is .

This is a nice algorithm, but it is fairly complicated. You need to calculate , then , , etc. We will see later on a faster and simpler way to perform this calculation.