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