Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Replies: 1   Last Post: Sep 24, 2013 11:20 AM

 Messages: [ Previous | Next ]
 Steven Lord Posts: 18,038 Registered: 12/7/04
Posted: Sep 24, 2013 11:20 AM

"Gergö " <schmidtg@stud.uni-hannover.de> wrote in message
news:l1s450\$ddp\$1@newscl01ah.mathworks.com...
> Hello,
>
> I am writing to you regarding two questions which arose when we were using
> Matlab's "eigs" function.
>
> Question 1: How can it be achieved that "eigs" returns unnormalized
> vektors? It normalize the vectors, at least when all eigenvalues are
> computed.

In the situation where you ask for all or almost all the eigenvalues, EIGS
calls EIG. If you ask for fewer eigenvalues, EIGS does not.

> Question 2: It seems that if "eigs" returns the k largest eigenvalues and
> the corresponding vectors; and if we vary k: the sign of the eigenvectors
> sometimes changes in dependency of k. Why is that the case?

If v is an eigenvector of A with eigenvalue d, we know that A*v = d*v. If c
is a nonzero scalar, A*(c*v) = c*(A*v) = c*(d*v) = d*(c*v) so c*v is also an
eigenvector of A with eigenvalue d. Let c = -1.

Calling EIGS multiple times, if you don't specify opts.v0, uses a random v0.
That random v0 plus a change to the value of k may affect the signs of the
eigenvectors or the values in the eigenvectors slightly due to taking a
different path through the code; as long as A*V is "close to" V*D then the
results are a valid set of eigenvalues and eigenvectors.

--
Steve Lord
slord@mathworks.com