# [Numpy-discussion] Getting non-normalized eigenvectors from generalized eigenvalue solution?

Olivier Delalleau shish at keba.be
Wed Dec 21 07:01:46 EST 2011

```Aaah, thanks a lot Lennart, I knew there had to be some logic to Octave's
output, but I couldn't see it...

-=- Olivier

2011/12/21 Lennart Fricke <pge08aqw at studserv.uni-leipzig.de>

> Dear Fahreddın,
> I think, the norm of the eigenvectors corresponds to some generic
> amplitude. But that is something you cannot extract from the solution of
> the eigenvalue problem but it depends on the initial deflection or
> velocities.
>
> So I think you should be able to use the normalized values just as well
> as the non-, un- or not normalized ones.
>
> Octave seems to normalize that way that, transpose(Z).B.Z=I, where Z is
> the matrix of eigenvectors, B is matrix B of the generalized eigenvalue
> problem and I is the identity. It uses lapack functions. But that's only
> true if A,B are symmetric. If not it normalizes the magnitude of largest
> element of each eigenvector to 1.
>
> I believe you can get it like that. If U is a Matrix with normalization
> factors it is diagonal and Z.A contains the normalized column vectors.
> then it is:
>
>  transpose(Z.A).B.Z.A
> =transpose(A).transpose(Z).B.Z.A
> =A.transpose(Z).B.Z.A=I
>
> and thus invert(A).invert(A)=transpose(Z).B.Z
> As A is diagonal invert(A) has the reciprocal elements on the diagonal.
> So you can easily extract them
>
> A=diag(1/sqrt(diag(transpose(Z).B.Z)))
>
> I hope that's correct.
>
> Best Regards
> Lennart
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20111221/16966abe/attachment.html>
```