MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

JordanDecomposition trouble



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/



  • Prev by Date: Re: iterative function query
  • Next by Date: Re: mathematica xpm
  • Prev by thread: RE: Method to eliminate
  • Next by thread: Re: JordanDecomposition trouble