[Top][All Lists]

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

Re: debug output of eigs?

From: David Bateman
Subject: Re: debug output of eigs?
Date: Wed, 18 May 2005 18:18:26 +0200
User-agent: Mozilla Thunderbird 0.8 (X11/20040923)

Keith Goodman wrote:

On 5/18/05, David Bateman <address@hidden> wrote:
In implementing eigs and trying to make it matlab compatible I've run
across an issue with the debugging output when opts.disp > 0 (default
value of 1 in matlab).

For what it's worth, I always set opts.disp to zero since I'm calling
eigs hundreds of time and since I don't understand what the output
means anyway.

My typical call is

OPTS.disp = 0;
[eigvec,eigval] = eigs(x,n,'LM',OPTS);

On another point was is the best way to treat the ordering of the eigenvalues returned from eigs. Matlab seems to be inconsistent here are depending on the type of matrix and the value of sigma does different things. The returned eigenvalues from the matlab eigs function are ordered in the fashion

Sigma        Real Postive Definite               Complex or unsymmetric

"lm"             D                                    abs D
"sm"             D                                    abs I
"la"             D                                    -
"sa"             I                                    -
"lr"             -                                    real D
"sr"             -                                    real I
"li"             -                                    imag D
"si"             -                                    imag I
"be"             I                                    -
value            D                                    abs (eigenvalue - value) I

where D is for monotonically decreasing and I for montonically increasing. So there are inconsistence is the ordering in most of the above cases, and they also down correspond to the ordering given back by ARPACK itself. Is it important to respect the same ordering as matlab? Should I define a specific ordering (eg. abs value always monotonically decreasing), or should I just accept the output of ARPACK as it is given? If I don't respect the matlab ordering, the problem is something like

e = eigs (A);

% Get largest eigenvalue
emax  = e(1);

won't work consistently.... Then again doing something like

e = eigs (A,5,'sm')
emin = e(1);

in matlab will work or not depending on wether A is positive definite or not... To me this seems like a misfeature in matlab, but before I pronounce it as that, and just do my own things, some feedback would be helpful..


David Bateman                                address@hidden
Motorola Labs - Paris +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE

The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary

reply via email to

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