[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: |
Mon, 25 Mar 2013 16:06:27 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Firefox/10.0.12 |
Update of bug #38577 (project octave):
Status: None => Confirmed
_______________________________________________________
Follow-up Comment #5:
I can confirm this. My first instinct is that the matrix is numerically
defective, so that v not being of full rank would make sense:
a = sparse ([200,100], [100, 200], [-1,-1]);
[v,~] = eig (a);
rank (v)
That's of rank 199, not 200. It is akin to the following situation:
b = [0 1; 0 0];
[v,~] = eig (b);
rank (v)
However, this doesn't seem to explain it. The original 200x200 matrix is not
apparently numerically defective:
rank (null (a)) ## Since 0 is the repeated eigenvalue...
Compare with
rank (null (b))
which is 1, showing the spectral defect.
At any rate, eig returning a zero eigenvector *is* a sign of a defective
matrix. I would need to study deeper the Schur decomposition method to
understand this... Curiously enough, as a workaround, you can use schur()
instead of eig, since in this case it does produce the eigenvectors (the upper
triangular S matrix ends up being not just upper triangular, but diagonal).
I have heard reports that this problem doesn't exist in some Windows builds.
Which version of LAPACK and which BLAS are you using?
_______________________________________________________
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 <=
- [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, 2013/03/27
- [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