According to this page eigenvectors are normalized with respect to the second matrix. Do you guys have any idea how that's done?
http://www.kxcad.net/Altair/HyperWorks/oshelp/frequency_response_analysis.htm "If the eigenvectors are normalized with respect to the mass matrix, the modal mass matrix is the unity matrix and the modal stiffness matrix is a diagonal matrix holding the eigenvalues of the system. This way, the system equation is reduced to a set of uncoupled equations for the components of d that can be solved easily." On Wed, Dec 21, 2011 at 7:31 AM, Andrew Jaffe <a.h.ja...@gmail.com> wrote: > 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 >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion