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 _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion