#10626: Route sparse integer matrices to a working Smith form
------------------------------+---------------------------------------------
   Reporter:  rbeezer         |       Owner:  jason, was
       Type:  defect          |      Status:  new       
   Priority:  minor           |   Milestone:  sage-4.6.2
  Component:  linear algebra  |    Keywords:            
     Author:                  |    Upstream:  N/A       
   Reviewer:                  |      Merged:            
Work_issues:                  |  
------------------------------+---------------------------------------------
 Sparse integer matrices get sent to the generic Smith form routine, where
 they fail (see #10625).  They should instead get dense-ified
 and routed to the integer-only version.  This solves some failures on
 #10604.

 {{{
 sage: A = matrix(2, range(4), sparse=True)
 sage: A.smith_form()
 ---------------------------------------------------------------------------
 TypeError                                 Traceback (most recent call
 last)

 /home/sage/sage-4.6.1.alpha2/devel/sage-main/<ipython console> in
 <module>()

 /home/sage/sage-4.6.1.alpha2/local/lib/python2.6/site-
 packages/sage/matrix/matrix2.so in sage.matrix.matrix2.Matrix.smith_form
 (sage/matrix/matrix2.c:37477)()

 /home/sage/sage-4.6.1.alpha2/local/lib/python2.6/site-
 packages/sage/matrix/matrix2.so in sage.matrix.matrix2._smith_onestep
 (sage/matrix/matrix2.c:42366)()

 /home/sage/sage-4.6.1.alpha2/local/lib/python2.6/site-
 packages/sage/matrix/matrix2.so in sage.matrix.matrix2._smith_onestep
 (sage/matrix/matrix2.c:42181)()

 /home/sage/sage-4.6.1.alpha2/local/lib/python2.6/site-
 packages/sage/matrix/matrix2.so in
 sage.matrix.matrix2._generic_clear_column (sage/matrix/matrix2.c:41049)()

 /home/sage/sage-4.6.1.alpha2/local/lib/python2.6/site-
 packages/sage/rings/integer.so in sage.rings.integer.Integer.inverse_mod
 (sage/rings/integer.c:28740)()

 /home/sage/sage-4.6.1.alpha2/local/lib/python2.6/site-
 packages/sage/rings/integer.so in sage.rings.integer.as_Integer
 (sage/rings/integer.c:6052)()

 /home/sage/sage-4.6.1.alpha2/local/lib/python2.6/site-
 packages/sage/rings/integer.so in sage.rings.integer.Integer.__init__
 (sage/rings/integer.c:7312)()

 TypeError: unable to coerce <class 'sage.rings.ideal.Ideal_pid'> to an
 integer
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10626>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to