Path: news.mathworks.com!not-for-mail
From: "John D'Errico" <woodchips@rochester.rr.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: order of eigenvalues
Date: Fri, 1 Feb 2008 13:40:18 +0000 (UTC)
Organization: John D'Errico (1-3LEW5R)
Lines: 34
Message-ID: <fnv7g2$h1o$1@fred.mathworks.com>
References: <fnv66a$cjt$1@fred.mathworks.com>
Reply-To: "John D'Errico" <woodchips@rochester.rr.com>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1201873218 17464 172.30.248.35 (1 Feb 2008 13:40:18 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Fri, 1 Feb 2008 13:40:18 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 869215
Xref: news.mathworks.com comp.soft-sys.matlab:448753


"Willem Geert " <wgphaff@gmail.com> wrote in message 
<fnv66a$cjt$1@fred.mathworks.com>...
> I'm working on a problem that requires me to trace the 
> eigenvalues of the gain matrix of a linearization of a non-
> linear ODE. However, the eig() function is causing some 
> problems.

As you have found out, eigenvalues have no
natural order that they come out in. They are
just the roots of a polynomial, and if you have
a pair of nearly similar eigensystems, the
corresponding eigenvalues may come out in
an arbitrarily different order.

Having said that, I've considered writing a
shuffle code for eigen-problems of this type.
The idea is that you have more information
available to you than the pure magnitude of
the eigenvalues. You also have the eigenvectors.

Assume that you have two sets of eigenvectors
and eigenvalues, related by the fact that they
came from systems which were close to each
other. Now shuffle the eigenvalues and vectors
from system 2 so that its eigenvectors are
maximally aligned with those of system 1.

This seems like it might be easy, except that 
the tiny eigenvalues for some systems may
sometimes end up with virtually random
eigenvectors. I'd visualize some potentially
nasty problems to resolve.

John