This approach goes back to the fundamental motivation behind eigenvalue:
We can write this product using the outer form of matrix-matrix products:
Assume that
Then:
The range of is nearly
Pick a random vector with and
We have that simply converges to the span of .
Algorithm pseudo-code:
while not_converged:
zk = A * qk
ev = dot(zk, qk)
qk = zk / norm(zk)
ev
converges to the eigenvalue.qk
does not necessarily converge, butspan(qk)
converges tospan(x1)
.
We can make a more precise statement. Denote by
for a general complex eigenvalue. is a unit eigenvector associated with .
Then, because of the step qk = zk / norm(zk)
, we get
So converges to .
Eigenvalues, Eigenvalues cannot be computed exactly, Why eigenvalues