#20705: Classes for Reed Muller Codes
-------------------------------------+-------------------------------------
Reporter: panda314 | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-7.3
Component: coding theory | Resolution:
Keywords: | Merged in:
Authors: Parthasarathi | Reviewers: David Lucas
Panda | Work issues:
Report Upstream: N/A | Commit:
Branch: | 13cda90026b28644ed1c018d7628ea1e007cd4ef
u/dlucas/classes_for_reed_muller_codes| Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by panda314):
Replying to [comment:34 jsrn]:
No problem with comments :) . Will work on them. Some doubts/explanation.
1. Well i guess they are so because of the length of line restrictions and
the automated formatter did everything 'strictly'. 249--255 is indeed ugly
will change that. 70--75 seems fine though.
2. Oh. I guess i will remove the linear_code.py path and use '//' instead
of '/' in binomial sum. Might be faster too because of integer divisions
instead of rational numbers.
21. Isn't it sum upto 'k' that we need?
22. Directly iterating involves enumeration over the subset redundantly if
i am not mistaken. Used the iterator to do the generation in one scan.
24. So given the term prod!^m_{i=1} x!^(d_i)_i, exponent is the set
{!{1}*d_1 {2}*d_2 ...{m}*d_m}. In which case i believe that the generator
matrix is correct (it matches with polynomial evaluation).
Will use the prod function instead.
Well everything else makes sense. Will implement them :)
> 22. In `ReedMullerVectorEncoder.generator_matrix`, you should iterate
directly over `exponents`: `for exponent in exponents: ...`.
> 1. In `ReedMullerVectorEncoder.generator_matrix` and other places,
perhaps `base_field_tuple` should simply be called `points`.
> 1. There should be a method to get the list of points used for
evaluation.
> 1. I don't think `ReedMullerVectorEncoder.generator_matrix` is correct:
you are indexing in the point `x` using `exponent`. But you *should* be
computing `prod_{i=1}^m x[i]^exponent[i]`. Using `reduce(mul,...)` in this
instance is less clear than using `prod(...)`.
> 1. In doc for `ReedMullerPolynomialEncoder` it says "polynomial field",
but it should be "polynomial ring". It should say that `polynomial_ring`
is optional.
> 1. Copy-paste error: it says something about `If code is not GRS code
...`.
> 1. The polynomial in the example of `ReedMullerPolynomialEncoder.encode`
is badly formatted.
> 1. The failing example of `ReedMullerPolynomialEncoder.encode` with poly
of too high degree could be with a poly where each variable has OK degree,
but the total degree is bad, e.g. `x0^2*x1`.
>
> Otherwise, good job! Don't worry about the volume of my comments. David
has fond memories of tickets where I similarly put him through the wringer
;-)
>
> Best,
> Johan
--
Ticket URL: <http://trac.sagemath.org/ticket/20705#comment:35>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.