octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation


From: Jordi Gutiérrez Hermoso
Subject: [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix
Date: Wed, 27 Mar 2013 13:19:10 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Firefox/10.0.12

Follow-up Comment #7, bug #38577 (project octave):

> Hermitian matrices can never be spectrally defective.

But they can be very close to defective. A defective matrix is somewhat
numerically invisible, since any perturbation destroys its defect. This is why
the Jordan form is somewhat useless, since it's numerically unstable.

> Eig returning a zero eigenvector for a hermitian matrix is a sign of a bug.


Not necessarily, a defective matrix can be close to being Hermitian, e.g. [1
eps; 0 1].

The eigenvalue routine that Octave uses isn't implemented in Octave. It's just
calling LAPACK's dgeev family of functions:

http://hg.savannah.gnu.org/hgweb/octave/file/a2f65b8f1955/liboctave/numeric/EIG.cc#l31

I'm not sure how your matrix is getting close to being defective, and it seems
to depend on the algorithm since the Schur factorisation doesn't exhibit this
problem. I have had reports that different Octave builds on Windows don't have
this problem.

I don't have a development machine right now to test on, but if you're able to
build Octave and step through it with a debugger, you should check if indeed
the LAPACK dseev symmetric eigenvalue algorithm is being called for your
matrix. If it isn't, then there's a possible bug in Octave. If it is, then the
problem is in LAPACK.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?38577>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]