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

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

[Octave-bug-tracker] [bug #50846] Unexpected results with ordered qz dec


From: Johannes Pfeifer
Subject: [Octave-bug-tracker] [bug #50846] Unexpected results with ordered qz decomposition
Date: Sat, 22 Apr 2017 04:14:42 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36

Follow-up Comment #3, bug #50846 (project octave):

Dear Rik,
thanks for looking into this. I am not convinced it is entirely due to
numerical precision. The eigenvalue is actually 1 and therefore should be
indistinguishable from 1. Thus, it should be contained in the stable block
that stores everything <=1. But qz(,'S') counts it as being strictly bigger
than 1.

For this reason, one cannot rely on the output of qz() with the 'S' option to
contain the stable sub-block in the upper corner for the purpose of continuing
computations in Octave. 

The fifth eigenvalue is actually a unit eigenvalue that is not properly
recognized by qz(,'S') in Octave. 
If you run

[ss,tt,w,eigvalS] = qz(e,d,'S');
res1=diag(ss)./diag(tt)
[ss,tt,w,eigvalS] = qz(e,d,'N');
res2=diag(ss)./diag(tt)
(res2(2)-1)*1e10
ans = 0
(res1(6)-1)*1e10
ans =  -1.11022302462516e-006

The eigenvalue is exactly 1 for the non-sorted case, while it becomes slightly
smaller than 1 for the sorted case. But it is counted as being strictly larger
than 1. Numerical precision alone cannot explain why something smaller equal
to 1 is suddenly bigger than 1.

The result from qz() also contradicts the one returned by eig() in Octave 


lambda = sort(abs(eig(e,d)));
abs(lambda)>1

returns

  0
  0
  0
  0
  0
  1
  1
  1
  1
  1

Here, the fifth eigenvalue is properly computed to be smaller equal to 1.

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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