Re: JordanDecomposition trouble
- To: mathgroup@smc.vnet.net
- Subject: [mg10659] Re: [mg10604] JordanDecomposition trouble
- From: Daniel Lichtblau <danl@wolfram.com>
- Date: Fri, 30 Jan 1998 04:23:59 -0500
- References: <199801260942.EAA25966@smc.vnet.net.>
Josip Loncaric wrote:
>
> Let {s,j} denote Jordan decomposition of the following exact matrix:
>
> m = {{0,1,0,1},{0,0,0,0},{0,1,0,1},{0,0,0,0}} {s,j} =
> JordanDecomposition[m]
>
> We should have m == s.j.Inverse[s], but in Mathematica 3.01 this is not
> the case.
> Instead, we get a rather different result:
>
> In[3]:= s.j.Inverse[s]
> Out[3]= {{0,1,0,2},{0,0,0,0},{0,1,0,2},{0,0,0,0}}
>
> The problem is not in matrix inversion since s.Inverse[s] returns
> identity. The source of trouble appears to be in the
> JordanDecomposition result.
>
> Jordan decomposition notorious for creating numerical difficulties, but
> exact matrices should not lead to such failures.
>
> The situation gets even worse for larger versions of m. Here is what
> happens:
>
> size = 8;
> m = Table[If[OddQ[i] && EvenQ[j], 1, 0],{i,size},{j,size}]
>
> Out[6]= {{0,1,0,1,0,1,0,1},{0,0,0,0,0,0,0,0},
> {0,1,0,1,0,1,0,1},{0,0,0,0,0,0,0,0},
> {0,1,0,1,0,1,0,1},{0,0,0,0,0,0,0,0},
> {0,1,0,1,0,1,0,1},{0,0,0,0,0,0,0,0}}
>
> {s,j} = JordanDecomposition[m];
> s.j.Inverse[s]
>
> Out[7]= {{0,1,0,3,0,15,0,90},
> {0,0,0,0,0,0, 0,0},
> {0,1,0,3,0,15,0,90},
> {0,0,0,0,0,0, 0,0},
> {0,1,0,3,0,15,0,90},
> {0,0,0,0,0,0, 0,0},
> {0,1,0,3,0,15,0,90},
> {0,0,0,0,0,0, 0,0}}
>
> This is not even close to m, although it should be exactly m.
>
> --
> Dr. Josip Loncaric, Senior Staff Scientist ICASE, M/S 403, NASA Langley
> Research Center, Hampton, VA 23681-0001 Phone: (757) 864-2192
> mailto:josip@icase.edu Fax: (757) 864-6134
> http://www.icase.edu/~josip/
Appears to be a bug in JordanDecomposition of derogatory matrices.
Thanks for pointing this out and providing examples. I'll look into it.
Daniel Lichtblau
Wolfram Research
- References:
- JordanDecomposition trouble
- From: Josip Loncaric <josip@icase.edu>
- JordanDecomposition trouble