#14973: New functions for binary linear codes
---------------------------------+--------------------------
       Reporter:  veronica       |         Owner:
           Type:  enhancement    |        Status:  new
       Priority:  major          |     Milestone:  sage-5.12
      Component:  coding theory  |    Resolution:
       Keywords:  binary codes   |     Merged in:
        Authors:                 |     Reviewers:
Report Upstream:  N/A            |   Work issues:
         Branch:                 |  Dependencies:
       Stopgaps:                 |
---------------------------------+--------------------------

Comment (by veronica):

 Replying to [comment:8 ppurka]:
 > Some comments:
 >
 Thanks for your comments!!
 > 1. The indentation error is not only in the line `F = self.base_ring()`.
 All of the existing code in the `covering_radius` method needs to be
 indented.
 Yes, it got moved after I runned the tests, I guess. I just fixed it.
 > 2. The `@rename_keyword` should not be introduced at all in the
 `covering_radius` code. This is a new keyword to the covering radius
 method and so you can simply introduce it without any deprecation
 warnings.
 Ok I got it. Also fixed
 > 3. Is all of your code only for linear codes over `GF(2)`? Then you need
 to check the inputs to make sure that if other parents are input then it
 either degrades gracefully and automatically to an older algorithm (for
 instance in `covering_radius`), or it gives an error.
 So far it is only for linear codes over `GF(2)`. I'll do the check in
 every function.
 > 3. Do you have plans to use values of `order` other than `degrevlex`?
 `degrevlex` in most of the cases reduce the number of operations to
 compute the `grobner_basis`.
 Even that I'd like to leave it as option to the user, but maybe I should
 do this only for the function `groebner_basis()`(still at work)
 In other cases like `grobner_representation()` and `coset_leaders()` I
 should use only `degrevlex`.

 > In fact, I don't understand why `ETuple` is being used. The only place I
 am finding it really being used is in comparing of two lists (the
 `compare_tuples_degrevlex` function). I raise this point because quite a
 bit of time would be spent in simply converting vectors to lists and then
 the lists to `ETuple`s. Later on, you also need the `ETuple`s to be
 converted back to vectors in the `grobner_representation` function. If
 there is a more direct way of doing the comparison you are doing (without
 all these conversions to `ETuple` and back), then that should speed up the
 computations a bit.

 You're right
 Actually the set of coset leaders it doesn't depend on the order, so at
 least for this function I'm doing the implementation without using
 `ETuple`. I also think that should speed up the computations.

 `grobner_representation()` is going to be used in one of the decoding
 algorithm, so maybe I can also only use `degrevlex`, I'll discuss it with
 my mentors.

--
Ticket URL: <http://trac.sagemath.org/ticket/14973#comment:9>
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/groups/opt_out.


Reply via email to