This is now Ticket #4273 on trac (http://trac.sagemath.org/sage_trac/
ticket/4273).

I will try to fix this if no one else does.  Many Sage developers are
busy at Sage Days 10 in Nancy, France, so they might be a little more
distracted than usual, but I think this is a major bug so it should
get attention soon.

-M. Hampton

On Oct 12, 10:39 pm, Marshall Hampton <[EMAIL PROTECTED]> wrote:
> The transformation=True fails even for matrix(QQ,[[0,1,0],[0,0,0],
> [0,0,0]]).  It looks like the algorithm to construct it is flawed, and
> will not work if there are blocks with the same eigenvalue.  Anyone
> want to re-write this?
>
> -M. Hampton
>
> On Oct 12, 9:34 pm, Rob Beezer <[EMAIL PROTECTED]> wrote:
>
> > I have a 6x6 matrix with integer entries, whose eigenvalues are also
> > integers.  I wanted the Jordan canonical form, and the associated
> > matrix to make the similarity transformation.  The Jordan form comes
> > out nicely, but I can't get the transformation matrix.  I've included
> > the error output below - the error seems more severe without setting
> > base_ring=QQ.  I've also include a legitimate transformation matrix I
> > worked up by hand (with some help from SAGE!).
>
> > Is this expected behavior?  Any usage hints or workarounds?  Thanks.
>
> > Rob
>
> > m=matrix(QQ, [[2,0,1,1,0,0],[0,2,1,1,0,0],[2,0,1,0,0,1],[2,0,0,1,1,0],
> > [0,2,1,0,0,1],[0,2,0,1,1,0]])
> > m.jordan_form()
>
> > [4|0|0 0|0 0]
> > [-+-+---+---]
> > [0|2|0 0|0 0]
> > [-+-+---+---]
> > [0|0|0 1|0 0]
> > [0|0|0 0|0 0]
> > [-+-+---+---]
> > [0|0|0 0|0 1]
> > [0|0|0 0|0 0]
>
> > p=m.jordan_form(base_ring=QQ, transformation=True)
>
> > Traceback (click to the left for traceback)
> > ...
> > ValueError: cannot compute the basis of the Jordan block of size 2
> > with
> > eigenvalue 0
>
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> >   File "/home/rob/.sage/sage_notebook/worksheets/admin/46/code/98.py",
> > line 6, in <module>
> >     p=m.jordan_form(base_ring=QQ, transformation=True)
> >   File "/opt/sage-3.1.2/local/lib/python2.5/site-packages/
> > SQLAlchemy-0.4.6-py2.5.egg/", line 1, in <module>
> >   File "matrix2.pyx", line 4125, in
> > sage.matrix.matrix2.Matrix.jordan_form (sage/matrix/matrix2.c:23429)
> > ValueError: cannot compute the basis of the Jordan block of size 2
> > with eigenvalue 0
>
> > p=matrix(QQ,[[1,1,0,1,3,1],[1,-1,0,1,3,1],[1,0,1,1,0,1],
> > [1,0,-1,-3,-6,0],[1,-2,1,0,0,-8],[1,-2,-1,-2,-6,-3]])
> > p.inverse()*m*p == m.jordan_form()
>
> > True
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to