#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.

Reply via email to