[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/
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, anonymous, 2013/03/23
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, Rik, 2013/03/24
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, Rik, 2013/03/24
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, anonymous, 2013/03/25
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, anonymous, 2013/03/25
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, Jordi Gutiérrez Hermoso, 2013/03/25
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, anonymous, 2013/03/27
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix,
Jordi Gutiérrez Hermoso <=
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, Jordi Gutiérrez Hermoso, 2013/03/27
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, Mike Miller, 2013/03/27
- [Octave-bug-tracker] [bug #38577] Eig returns non-unitary transformation matrix, anonymous, 2013/03/28