#13179: Compare matrices consistently for different base rings
------------------------------+---------------------------------------------
   Reporter:  SimonKing       |             Owner:  jason, was       
       Type:  defect          |            Status:  new              
   Priority:  major           |         Milestone:  sage-5.2         
  Component:  linear algebra  |          Keywords:  matrix comparison
Work issues:                  |   Report Upstream:  N/A              
  Reviewers:                  |           Authors:                   
  Merged in:                  |      Dependencies:                   
   Stopgaps:                  |  
------------------------------+---------------------------------------------
 Apparently we use three essentially different ways of comparing
 matrices.

 {{{
   sage: def test(K):
   ....:     M1 = Matrix(K,[[1,0,0]])
   ....:     M2 = Matrix(K,[[0,1,0]])
   ....:     M3 = Matrix(K,[[0,1,1]])
   ....:     M4 = Matrix(K,[[0,0,1]])
   ....:     L = [M1,M2,M3,M4]
   ....:     L.sort()
   ....:     return L
   ....:
 }}}

 __First group__

 Matrices over not too big fields of characteristic 2
 {{{
   sage: K = GF(2)
   sage: test(K)
   [[1 0 0], [0 1 0], [0 0 1], [0 1 1]]
   sage: K = GF(4,'z')
   sage: test(K)
   [[1 0 0], [0 1 0], [0 0 1], [0 1 1]]
   sage: K = GF(2^10,'q')
   sage: test(K)
   [[1 0 0], [0 1 0], [0 0 1], [0 1 1]]
 }}}

 __Second group__

 Matrices over big finite fields of characteristic 2
 {{{
   sage: K = GF(2^100,'q')
   sage: test(K)
   [[1 0 0], [0 1 0], [0 1 1], [0 0 1]]
 }}}

 __Third group__

 Matrices over all other rings
 {{{
   sage: K = GF(3)
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K = GF(9,'z')
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K = GF(3^100,'q')
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K = QQ
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K = ZZ
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K.<x> = GF(2)[]
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K.<x> = GF(3)[]
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K.<x> = GF(4,'z')[]
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
   sage: K.<x> = GF(2^100,'z')[]
   sage: test(K)
   [[0 0 1], [0 1 0], [0 1 1], [1 0 0]]
 }}}

 I guess the inconsistent behaviour is "big fun" for all who want to
 implement the F4 algorithm in Sage. It ought to be fixed.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13179>
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