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