#6452: Codes over rings
-------------------------+-------------------------------------------------
       Reporter:  wdj    |        Owner:  rlm
           Type:         |       Status:  needs_work
  enhancement            |    Milestone:  sage-6.9
       Priority:  major  |   Resolution:
      Component:         |    Merged in:
  coding theory          |    Reviewers:
       Keywords:         |  Work issues:
        Authors:         |       Commit:
Report Upstream:  N/A    |  1177056cb4942b0ce938a30537357bcb07f1bf19
         Branch:         |     Stopgaps:
  public/6452            |
   Dependencies:         |
-------------------------+-------------------------------------------------

Comment (by jsrn):

 > Nothing I guess. But it is already something and it seems to be done
 efficiently.

 Well, it's perhaps efficient if what you want is to tabulate the entire
 code and immediately ask it for various stuff (like minimum distance).
 It's inefficient if you are only interested in some of the properties.

 On the other hand, the implementation forces Cython on pretty base
 functionality. I'm not sure what kind of speed-up Cython brings here as
 opposed to pure Python -- after all, the actual work is done in finite
 field arithmetic. It would be interesting to compare and see whether
 Cython is worth it.

 > Nope. It is not necessarily free. The submodule of `(ZZ/4ZZ)` generated
 by `2` is '''not''' free.

 No of course you're right that it's not -- the word "free" slipped in
 there by mistake. But it *is* a module.

 > I guess it would be reasonable to turn it into a function or method.

 Minimum distance and minimum codeword computation should also be extracted
 from the code tabulation. I might want the list of codewords but not care
 about the minimum distance, and so computing the hamming weight of all the
 vectors is a huge waste.

 > True. It would basically be equivalent to implement a generalized
 echelon form for matrices over `ZZ/nZZ` that give you a "pseudo-basis" of
 submodules of `(ZZ/nZZ)^r`. I have no idea where to find such algorithm.

 It's interesting: I'll think more on this. For instance, would the Hermite
 Normal form be sufficient?

 > The tests do not pass, but at least some examples run just nicely.
 Moreover, there was at least one person interested. This is why I thought
 it would be worse to make it a branch.

 You are right, it would be nice to support codes over `ZZ/mZZ`. I just
 want to avoid adding stuff that will have to be reformed through a heavy
 reviewing process just a bit further down the road ;-)

--
Ticket URL: <http://trac.sagemath.org/ticket/6452#comment:19>
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