[SciPy-user] Generalized eigenvalue problem --> linalg.eig

Pearu Peterson pearu at cens.ioc.ee
Thu Sep 12 10:21:55 EDT 2002


On Thu, 12 Sep 2002, Nils Wagner wrote:

> Pearu Peterson schrieb:
> > 
> > On Thu, 12 Sep 2002, Nils Wagner wrote:
> > 
> > > Hi,
> > >
> > > Is there any normalization with respect to the
> > > the generalized eigenvectors vl, vr ?
> > >
> > > A vr = \lambda B vr
> > > A^\top vl = \lambda B^\top vl
> > >
> > > I cannot find a hint in help(linalg.eig)
> > >
> > 
> > The underlying LAPACK function is ?ggev and according to its
> > documentation:
> > """
> > *          Each eigenvector will be scaled so the largest component have
> > *          abs(real part)+abs(imag. part)=1.
> > """
> > 
> This kind of normalization is not very meaningful.

Hmm, I guess the meaning depends on the application.

> Instead of this, I suggest something like
> 
> V_l^\top A V_r = \diag{a_i}   V_l^\top B V_r = diag{b_i}

Hmm, I am not sure if we want to diverge from the LAPACK conventsion. 
I think, normalization is always a matter of choice. Some prefer one to
another. If we decide to use different normalization from the LAPACK one,
then it would add extra burden to other users that either don't care or
need a different normalization. So, I would leave re-normalization to the
users space.
Other opinions?

> BTW, what will happen in case of a defective matrix ?

I am not sure. But you can try out what will happen.

Pearu




More information about the SciPy-User mailing list