I think it is too much to expect general PIDs to have unique
(canonical) echelon forms, since that would, as a special case, mean a
canonical generator for each principal ideal.  Of course there are
PIDs (such as Z) where there is a natural choice, but not in general.

John

On Tue, Jul 5, 2011 at 10:52 PM, Rob Beezer <goo...@beezer.cotse.net> wrote:
> Looks to me like there is a problem with free module equality.  Note
> that this seems to be for general PID's, but not ZZ, thus the simple
> example over a polynomial ring.
>
> 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.
>
> 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]
>
> (a) Can this echelon form be made unique, or is that too much to
> expect over general PIDs?
>
> (b) Should  __cmp__  for free modules be adjusted to test submodules,
> as above, when the echelon forms are different?
>
> It appears that it would be easy to exploit the non-uniqueness of the
> echelon form to get inconsistencies in the ordering of free modules,
> since presently the ordering of free modules uses the ordering of the
> module's echelonized basis matrices as its final characterizing
> property.
>
> Rob
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to