Just to be completely clear, there is no such thing as a "non-normalized" eigenvector. An eigenvector is only determined *up to a scalar normalization*, which is obvious from the eigenvalue equation:
A v = l v where A is the matrix, l is the eigenvalue, and v is the eigenvector. Obviously v is only determined up to a constant factor. A given eigen routine can return anything at all, but there is no native "non-normalized" version. Traditionally, you can decide to return "normalized" eigenvectors with the scalar factor determined by norm(v)=1 for some suitable norm. (I could imagine that an algorithm could depend on that.) Andrew On 21/12/2011 07:01, Olivier Delalleau wrote: > 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 <pge08...@studserv.uni-leipzig.de > <mailto:pge08...@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@scipy.org <mailto:NumPy-Discussion@scipy.org> > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion