#11579: Free module equality, comparisons
------------------------------+---------------------------------------------
   Reporter:  rbeezer         |          Owner:  jason, was
       Type:  defect          |         Status:  new       
   Priority:  major           |      Milestone:  sage-4.7.2
  Component:  linear algebra  |       Keywords:            
Work_issues:                  |       Upstream:  N/A       
   Reviewer:                  |         Author:            
     Merged:                  |   Dependencies:            
------------------------------+---------------------------------------------
 On #11553, mmarco gives an example that can be distilled to:

 {{{
 sage: R = PolynomialRing(QQ, 'a')
 sage: x = vector(R, [1, 0])
 sage: y = vector(R, [0, 1])
 sage: z = vector(R, [0,-1])
 sage: A = (R^2).span([x, y])
 sage: B = (R^2).span([x, z])
 sage: A == B
 False
 sage: A.is_submodule(B)
 True
 sage: B.is_submodule(A)
 True
 }}}

 Root cause looks like an assumption that echelon form (Hermite form) over
 PIDs is unique, which may be insurmountable in general.

 {{{
 sage: S = matrix([x, y])
 sage: S._echelon_form_PID()[1]
 [1 0]
 [0 1]
 sage: T = matrix([x, z])
 sage: T._echelon_form_PID()[1]
 [ 1  0]
 [ 0 -1]
 }}}

 This also affects the ordering of free modules via the {{{__cmp__}}}
 method.

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