#19462: LinearCode.is_projective
-------------------------+-------------------------------------------------
Reporter: | Owner:
ncohen | Status: needs_review
Type: | Milestone: sage-6.10
enhancement | Resolution:
Priority: major | Merged in:
Component: | Reviewers:
coding theory | Work issues:
Keywords: | Commit:
Authors: | 017089a65dc9ef2087762007590d43cde1832240
Nathann Cohen | Stopgaps:
Report Upstream: N/A |
Branch: |
public/19462 |
Dependencies: |
-------------------------+-------------------------------------------------
Comment (by jsrn):
`LinearCode` is beyond broken for rings. That the object cannot even be
constructed is only the tip of the iceberg. The `ZZ/pZZ`-modules that
Vincent implemented can form a base of a type of code over ring later on,
but that will not inherit from `LinearCode` or `AbstractLinearCode` since
there field assumption is everywhere. I don't know how much code sharing
will be possible, but I doubt too much non-trivial code.
Also, I don't think it's high on anyone's list of priorities...
I've also been discussing with David to change `LinearCode` so it doesn't
mention rings anymore. It's stupid since they're clearly not supported.
So I agree with Vincent that it's nicer to have code run in linear time
rather than quadratic.
Moreover, I don't even think your code is correct over rings. Consider the
following generator matrix over ZZ mod 6:
[ 1 2 0 ]
[ 1 2 1 ]
This is clearly not projective since 2*c1 = c2.
But your code would compare
set([ c1 * (ZZ mod 6) ]) = { (0,0), (1, 1), (2,2), ..., (5,5) }
set([ c2 * (ZZ mod 6) ]) = { (0,0), (2,2), (4,4) }
Thus the check at the end would succeed, and you return `True`.
--
Ticket URL: <http://trac.sagemath.org/ticket/19462#comment:21>
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.