#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):

 Replying to [comment:22 vdelecroix]:
 > All right, I will try to do something. I had a more careful look at the
 code (and the corresponding master thesis) but I was not able to
 understand anything. With the Smith form it will also be straightforward
 to implement a (possibly very efficient) iterator over the elements of the
 module.

 Nice, I didn't consider that.

 > One non trivial point is to decide equality of sub-modules. The only
 canonical part of the Smith form is the diagonal matrix (which only gives
 you a hint about isomorphisms between submodules). But I guess that we can
 somehow echelonize the part corresponding to a given ideal. I would be
 much more happy with a clean reference...
 >
 > Since this is more about submodules of `(ZZ/nZZ)^r` I am not sure it
 should go at all inside `sage.codings`. I would rather put it in
 `sage.modules`. And (as I already told you), it would be better to
 factorize more between `sage.modules` and `sage.codings` when the code is
 '''only''' given by a generator matrix. So, for the sake of this ticket,
 my concrete proposal is:
 >  - implement submodules of `(ZZ/nZZ)^r` with a canonical form
 >  - have an efficient iterator
 > If you think it is not too far from the original purpose of this ticket,
 I will modify the ticket description accordingly.

 Such a ticket would definitely make sense. And it seem to cover most of
 the functionality here (I mean, the minimum distance is right now just
 exhaustive checking distances...)

 The distinction between vector subspaces and linear codes (given only by
 their generator matrix) is right now that the latter exposes a list of
 specialised coding theory functions. Such functions might be interesting
 for non-coding theorists, but probably won't be. That's an argument for
 having a special class which basically just wraps vector subspaces.
 Exactly the same argument could be made for submodules of `(ZZ/nZZ)^r`.
 But no need to get ahead of ourselves here, though...

 A different matter: the current patch is Cython. Do we want that? I
 remember Jeroen's advice to always try Cython only after you have
 determined that you really need the performance, and that Cython will give
 this to you.

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