#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 vdelecroix):
Thanks for having a look. (disclaimer: I actually only ended up here
because of [http://ask.sagemath.org/question/29424/liner-code-over-
integerring/ this question on ask]).
Replying to [comment:17 jsrn]:
> I'm not particularly fond of this patch, I must admit. It doesn't seem
very well thought out. I prefer not putting in code which is weak and not
thought through, rather than superficially being able to claim that "Sage
can do codes over rings". For instance, what can the code actually do
right now, besides computing the list of codewords?
Nothing I guess. But it is already something and it seems to be done
efficiently.
> Some concrete complaints:
>
> * The mathematical object of such a code is a free `ZZ/mZZ` module.
Shouldn't
> this be reflected by some parent/category magic in `__init__`?
Nope. It is not necessarily free. The submodule of `(ZZ/4ZZ)` generated by
`2` is '''not''' free.
> On a broader design level: I dislike that tons of computation is done at
`__init__`, in particular tabulating all codewords. In coding theory stuff
that I have been involved in, we have tried very hard to postpone
computation until it becomes necessary. In particular, construction should
be cheap.
I guess it would be reasonable to turn it into a function or method.
> For instance, I think that e.g. the cardinality of such a code can be
relatively easily computed without tabulating the entire code.
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.
> The design of ring codes should also think the new (well, almost-
accepted) `Encoder` and `Decoder` structure into it: #18376, #18813.
+1
> Note that I did not run or test the code -- I just looked at it.
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.
Vincent
--
Ticket URL: <http://trac.sagemath.org/ticket/6452#comment:18>
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.