From: Franz-Josef on
Hello!

I want to solve the generalized eigenvalue problem (A - lambda*B)x=0 .
The eigenvectors have to be orthogonal to B, i.e. x'*B*x=I, where
I is the identity matrix! With the standard command [eigVec,eigVal] = eig(A,B)
the eigenvectors in eigVec are not orthogonal to B!
How can I do that in MatLab?

Thx a lot, Franz
From: Matt J on
"Franz-Josef " <franz.falkner(a)uibk.ac.at> wrote in message <i3ueqb$cp0$1(a)fred.mathworks.com>...
> Hello!
>
> I want to solve the generalized eigenvalue problem (A - lambda*B)x=0 .
> The eigenvectors have to be orthogonal to B, i.e. x'*B*x=I, where
> I is the identity matrix! With the standard command [eigVec,eigVal] = eig(A,B)
> the eigenvectors in eigVec are not orthogonal to B!
> How can I do that in MatLab?
=============

What structure do A and B have that makes you sure this is possible? Clearly there are cases where it is not. For example, with A=[.1 0.9; .5 .5] and B=eye(2), only non-orthogonal eigenvectors exist...