Changes between Version 3 and Version 13 of Ticket #18099


Ignore:
Timestamp:
04/07/15 08:22:49 (7 years ago)
Author:
dlucas
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #18099

    • Property Status changed from needs_review to needs_work
    • Property Cc ncohen added
    • Property Commit changed from bf70359e1dd818e8dfc066ad2efa4ea03e06144d to 8905552948a0896a46e587815cce539b6e60aae9
  • Ticket #18099 – Description

    v3 v13  
    11For now, every family of linear code (eg: Hamming code) is a method which returns a `LinearCode` object. It would be nice to change this: every family of code should be an object.
    22
    3 LinearCode's need to be initialised with some magic incantations for them to work as modules and in the category framework. This needs to be called by all sub-classes as well, and could be achieved by a "initialise code"-function (which is not `__init__`).
     3LinearCode's need to be initialised with some magic incantations for them to work as modules and in the category framework. This needs to be called by all sub-classes as well, and could be achieved by creating an abstract linear code class.
    44
    5 Several private fields are also being set in the constructor which need to be set by all sub-classes. To avoid that subclasses need to know the name of these private fields (they should be accessed through public getters), we can instead set them using the above function as well.
     5Several private fields are also being set in the constructor which need to be set by all sub-classes. To avoid that subclasses need to know the name of these private fields (they should be accessed through public getters), we can instead set them using the abstract class constructor as well.
    66
    7 Besides, a linear code gets his `base_ring` using the `base_ring()` method from vector spaces. Linear codes should have their own method to do that. 
     7So, every sub-family of linear will only need to inherit from the abstract class.
     8
     9Besides, a linear code gets his `base_field` using the `base_ring()` method coming from its category. Linear codes should have their own method to do that.