-
-
Notifications
You must be signed in to change notification settings - Fork 568
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A new structure for Reed-Solomon codes in Sage #18928
Comments
This comment has been minimized.
This comment has been minimized.
Branch: u/dlucas/grs |
New commits:
|
Commit: |
Author: David Lucas |
comment:6
I updated this ticket to latest beta, and added a few new methods, it's still in the needs_review state. |
comment:7
This is not a review: just a comment. I slightly modified the description to underline the awesomeness of your latest commit ("overwrote a few methods"). Perhaps you could also add to the docstring of those overwritten methods that they are fast for this code (since a user would otherwise assume they are slow)? Johan |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:9
I updated this ticket by resolving merge conflicts with latest beta, removing dependency to #18813 and fixing broken doctests in thematic tutorial related to coding theory. It's now open for review as it does not depend on unmerged ticket anymore. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:12
Fixed merge conflicts after release of 6.10beta3. Still open for review. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Changed branch from u/dlucas/grs to u/jsrn/grs |
comment:16
I read through everything. I've polished a number of doc-tests and doc-strings, both for clarity, correctness and paedagogy. Also, I've removed If you can accept my modifications, I give this ticket the green light. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:18
Hello, It seems that your changes actually broke something... If you look in
is not accepted anymore. Furthermore, the following:
is accepted but David |
comment:19
Merde... Good catch. |
comment:20
Yup. Oh, by the way I got tricked by that quite a lot of times (until I add these into my test script), there's two external files using methods from coding, namely:
They do contain doctests, so remember to test these as well as the |
comment:21
Got it, thanks. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:23
Ok, coercion and conversion galore! I've rolled back to a refined version of your "let the vector constructor take care of conversion for me"-solution: now eval pts and col mults are converted simultaneously to find a common parent field. This forbids e.g. having eval pts in F(59) but col mults in F(61) (which was allowed with your version). |
Changed author from David Lucas to David Lucas, Johan Sebastian Rosenkilde Nielsen |
Reviewer: Johan Sebastian Rosenkilde Nielsen, David Lucas |
comment:24
Ok, tests pass and I agree with your changes. |
Changed branch from u/jsrn/grs to |
This ticket proposes a new implementation for Generalized Reed-Solomon codes in Sage.
It contains:
GeneralizedReedSolomonCode
, which wraps Reed-Solomon code in the object-oriented structure introduced in Prepare linear_code for inheritance #18099,GRSEvaluationVectorEncoder
, which can encode words from a message space which is a vector space, andGRSEvaluationPolynomialEncoder
, which can encode words from a message space which is a polynomial ring.This new implementation properly sets GRS codes in the object-oriented structure, which allows the user to use specific methods and algorithms to encode (and later decode) words. It also introduces the notion of generalized Reed-Solomon codes, which means that the user can now set a list of column multipliers for the code.
It also allows to compute parity-check matrix and generator matrix from the parameters of the code, through dedicated methods. It allows super-fast computation of certain - usually exponential - properties, such as weight distribution.
As GRS codes are now objects in Sage, it is also possible to ask a GRS code for its specific parameters (like the list of its evaluation points, or its column multipliers).
The two provided encoders follow the structure introduced in #18376.
This ticket also removes the old
ReedSolomonCode
method from the global namespace as it was deprecated more than a year ago (see #15445).More details about GRS codes can be found in the docstring of the provided code.
Depends on #18376
Component: coding theory
Author: David Lucas, Johan Sebastian Rosenkilde Nielsen
Branch/Commit:
eabe7e0
Reviewer: Johan Sebastian Rosenkilde Nielsen, David Lucas
Issue created by migration from https://trac.sagemath.org/ticket/18928
The text was updated successfully, but these errors were encountered: