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

Reply via email to