Re: preserving order of eigenvalues in a matrix diagonalization
- To: mathgroup at smc.vnet.net
- Subject: [mg61824] Re: [mg61819] preserving order of eigenvalues in a matrix diagonalization
- From: Kristjan Kannike <kkannike at physic.ut.ee>
- Date: Mon, 31 Oct 2005 06:10:02 -0500 (EST)
- References: <200510310617.BAA28560@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hello,
On Mon, 31 Oct 2005 grub_snuffler at yahoo.com wrote:
> I'm trying to diagonalize a matrix in Mathematica, but I need the eigenvalues
> to stay in order. So, for instance, for the initial matrix m,
[snip]
First, how do you specify the order of the eigenvalues, if your matrix is
not diagonal to begin with?
I had the same problem: I un-diagonalized a diagonal matrix with a unitary
matrix in the beginning, used it in the initial conditions to a system of
ODEs, and later had to recover the _changed_ eigenvalues AND eigenvectors
in the same order as put in. (As the eigenvalues were continuous functions
of the variable t, their order made sense.)
I did not find an easy way.
So I:
1) got symbolic expressions for eigenvalues by evaluationg the native
Eigenvalues function for a general matrix of appropriate dimension, e.g.
{{m11,m12},{m21,m22}} in your case);
2) re-ordered the said expressions by evaluating them numerically on the
initial matrix and comparing them to the initial eigenvalues (in correct
order by def.);
3) and made the expressions into a function.
It is not pretty, but it does work.
The eigenvectors I reordered after eigenvalues, of course.
Kristjan Kannike
- References:
- preserving order of eigenvalues in a matrix diagonalization
- From: grub_snuffler@yahoo.com
- preserving order of eigenvalues in a matrix diagonalization