octave-maintainers
[Top][All Lists]
Advanced

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

Re: Jordan canonical form


From: Jordi Gutiérrez Hermoso
Subject: Re: Jordan canonical form
Date: Sun, 16 May 2010 17:36:24 -0500

On 14 May 2010 12:48, John Swensen <address@hidden> wrote:
> 1) Find the eigenvalues
> 2) Look at the null space of (\lambda_i * I - A)^k for k = [1:n]
> 3) Use the difference in rank between successive powers to determine
>    Jordan structure and the vectors in the null space as the
>    eigenvectors and generalized eigenvectors.
> 4) Repeat 2-3 for each eigenvalue of the matrix
>
> Does anyone have a better method?

Another thing, if you really do implement this but in the symbolic
package, I assume you don't actually mean raising \lambda_i*I - A to
powers in step 3.

There's a better method to avoid raising a matrix to powers.
Basically, you solve an inhomogenous linear system instead of a
homogenous linear system to get radical vectors ("generalised
eigenvectors"; a Cuban prof of mine got me hooked on the "radical
vectors" terminology). If you save some sort of LU factorisation of
the matrix, you can speed up rhe computation of radical vectors.

I wrote about this a while ago, but it's not a numerical method, just
*a* method to solve it, and it depends on exact arithmetic:

    http://everything2.com/user/Swap/writeups/Jordan+form

I think a Schur decomposition should be enough for logm, though.


reply via email to

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