octave-maintainers
[Top][All Lists]
Advanced

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

Re: [ESA-SoC] Generalized eigenvalue


From: eem2314
Subject: Re: [ESA-SoC] Generalized eigenvalue
Date: Thu, 23 Apr 2015 10:18:54 -0700 (PDT)

Andras,
It's a little more complicated than that; balancing is always done in octave for the
standard (one matrix) nonsymmetric eigenvalue problem because dgeev always
does balancing. The generalized eigenvalue problem on the other hand never does
balancing because dggev does not balance.

In order to add the 'nobalance' option to octave to make it more compatible
with ML it would be necessary to use dgeevx in place of dgeev which does not
have the option to turn off balancing. Likewise to add balancing to the generalized
problem it would be necessary to change dggev to dggevx. These are in
liboctave/numeric/EIG.cc

The example shown in the ML doc
http://www.mathworks.com/help/matlab/ref/eig.html
in which 'nobalance' is necessary gives incorrect results in octave when
octave is built with lapack versions prior to 3.5, but gives correct results
when octave is built with 3.5, so it appears the new balancing algorithm works
for this example. It would be interesting to try it with larger examples, say from
http://www.math.wsu.edu/faculty/watkins/pdfiles/balbad.pdf
and difficult balancing cases should be added to the test cases for the
standard and generalized eigenvalue problems.

On Thu, Apr 23, 2015 at 2:51 AM, András Mihálykó [via Octave] <[hidden email]> wrote:
Hi,

so far I have understood, the problem is that balancing is usually beneficial, but there are some matrices, when without balancing the dgeevx (Lapack) function gives more accurate vectors. The octave code never includes the balancing step, and if we want to include it (if one knows that this is an option), we should do it previously manually. Although, it would be even better, if we would include the balancing step to the eig.cc, with optionally turn off. The dgeevx function has this option.
On the other side, the best option would be, if octave could decide if to use the balancing step or not, or have such a balancing step, that doesn't worsen the accuracy of the eigenvectors any times. Here http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4270&p=10278&hilit=geev#p10278 they claim that they have a better balancing algorithm. It should be examined, if it really gives proper result for every matrix.
There are also other ways to call eig from ML, the same could be developed, as well.

András


If you reply to this email, your message will be added to the discussion below:
http://octave.1599824.n4.nabble.com/ESA-SoC-Generalized-eigenvalue-tp4669870p4670024.html
To unsubscribe from [ESA-SoC] Generalized eigenvalue, click here.
NAML



--
Ed Meyer


View this message in context: Re: [ESA-SoC] Generalized eigenvalue
Sent from the Octave - Maintainers mailing list archive at Nabble.com.

reply via email to

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