Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to do an eigenvalue decomposition on a matrix $A^{\top} A$ - positive definite. Eigenvalue decomposition algorithms typically give eigenvectors which are orthogonal to each other, even when the eigenspaces have dimension larger than 1.

However, I would like the resulting eigenvectors $U$ to be orthonormal to each other (i.e. $A^{\top}A = U^{\top} \Sigma U$) under a different inner-product, and not the regular dot product.

Is there an eigendecomposition algorithm that does that? Or should I just use eigenvalue decomposition as usual and then orthonormalize each eigenspace separately using Gram-Schmidt? Is there more natural way to do it?

(note that I assume that eigenvalues from different eigenspaces will be orthogonal under the new inner-product, since the inner product is $\langle x,y\rangle = x^{\top} B^{\top}By$, and $Bu_i$ is an eigenvector of another matrix for any $u_i$ column of $U$ with the corresponding eigenvalue from $\Sigma$).

share|cite|improve this question
Look up "generalized singular value decomposition". – J. M. Aug 15 '12 at 13:14
I just looked it up in wikipedia: I am not sure how it is related? thanks. – kloop Aug 15 '12 at 13:33
Hmm, the discussion there is somewhat spotty. See this instead. – J. M. Aug 15 '12 at 13:42
For normal matrices, their eigenvectors from different eigenspaces are already orthogonal (regular inner product) to each other, how can these eigenvectors be orthogonal under new inner product? – chaohuang Aug 16 '12 at 3:57

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.