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

Lennart Fricke pge08aqw at studserv.uni-leipzig.de
Wed Dec 21 08:51:45 EST 2011


I read it like that: 
(**T is the transpose)

Let's call M the mass matrix and N the modal mass matrix. Then
X**T*M*X=N. If X (matrix of eigenvectors) is normalized with respect to
M, N is I (unity) so it just mean that X**T*M*X=I. That is what octave
and matlab give you.

For this to be true. x**T*M*x=1 must be true for each column x of X.
Thus if y is the not normalized eigenvector.
a*y**T*M*a*y=1
a**2 * y**T*M*y=1
a**2 = 1/(y**T*M*y)

For me the question, why X diagonalizes M and K at the same time, remains.

Another hint. If the matrizes are hermitian (symmetric if real) you can
use scipy.linalg.eigh, which gives you result with correct
normalization.

Best regards
Lennart




More information about the NumPy-Discussion mailing list