Sage: Ticket #20387: Deprecate support for finite rings in `LinearCode`
https://trac.sagemath.org/ticket/20387
<p>
Purportedly, <code>LinearCode</code> supports making codes over finite rings. The documentation states only that the ring needs to support "various methods" such as matrices over the ring has a <code>rank</code> function.
</p>
<p>
However, the underlying assumption in almost all of the code in <code>LinearCode</code> is and has always been that the code is over a finite field. Just because one or two random methods don't (currently) blow up on a code over a finite ring doesn't mean we should claim to support finite rings since all the other functions *do* blow up or, worse, return wrong or non-sensical results. No-one writing methods for <code>LinearCode</code> is ever thinking of finite rings.
</p>
<p>
Concrete functions that don't properly work over (most) finite rings: <code>dimension</code>, <code>cardinality</code>, <code>automorphism_*</code>, <code>unencode</code>, <code>canonical_representative</code>, <code>characteristic_polynomial</code>, <code>parity_check_matrix</code>. And there are many more.
</p>
<p>
The only sensible way forward is to honestly say that we don't support finite rings. If someone really needs finite rings, it is clear that this is yet to be implemented, and that person would hopefully do it. Note that <a class="needs_work ticket" href="https://trac.sagemath.org/ticket/19345" title="#19345: enhancement: Fast lexicographic iterator for module over ZZ/nZZ (needs_work)">#19345</a> provides a step in this direction.
</p>
en-usSagehttps://trac.sagemath.org/chrome/site/logo_sagemath_trac.png
https://trac.sagemath.org/ticket/20387
Trac 1.2Johan RosenkildeFri, 08 Apr 2016 09:21:54 GMTkeywords changed
https://trac.sagemath.org/ticket/20387#comment:1
https://trac.sagemath.org/ticket/20387#comment:1
<ul>
<li><strong>keywords</strong>
<em>beginner</em> added
</li>
</ul>
Ticket