#18099: Prepare linear_code for inheritance
-------------------------------------+-------------------------------------
Reporter: dlucas | Owner:
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-6.6
Component: coding theory | Resolution:
Keywords: sd66 | Merged in:
Authors: David Lucas | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/dlucas/prepare_linear_code_for_inheritance|
57a4944f9f18915fbc8904631d622aeb4619b306
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by jsrn):
Hi Vincent
> What do you want to do with `LinearCode` in the future? Will it dispatch
into subclasses.
It is quite likely that `LinearCode` is a "final" class. I see little
reason why one would sub-class it.
> If not, you should add a comment about the implementation (telling that
everything is computed from the `generator_matrix`).
Clearly that is implied by the fact that the generator matrix given as
input to the constructor is **all** the information that the object has.
The `LinearCode` could compute stuff from nothing else.
> In your children classes of `AbstractLinearCode`, will your elements
always be vectors in a vector space? You talked about polynomials. Will
polynomials be valid elements for some code or you will handle a
conversion between them?
All `AbstractLinearCode`s will be subspaces of `GF(q)^n`, so yes, its
elements will always be vectors over some field. Usually, one talks of an
"encoding" which is a bijection between the code and some other space
called "the message space". The latter space is usually `GF(q)^k` where
`k` is the dimension of the code, and the "encoding" bijection can be
described by a linear mapping using a matrix. But it could also (for e.g.
Reed-Solomon codes) be a `k`-dimensional space of polynomials.
We will handle this - in a later ticket - using a light-weight system of
`Encoder` objects.
Best,
Johan
--
Ticket URL: <http://trac.sagemath.org/ticket/18099#comment:41>
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.