Re: [sage-support] Create Linear code from vector space

37 views
Skip to first unread message

David Joyner

unread,
Oct 6, 2016, 10:43:32 AM10/6/16
to SAGE support, sage-codi...@googlegroups.com
On Thu, Oct 6, 2016 at 10:15 AM, Giorgos Marios <prison...@gmail.com> wrote:
> Hello,
>
> Let's say I have a -Vector space of dimension n over Finite Field of size 2-
> I would like to know, how to create a large Linear code with specific weight
> and number of errors it can handle.

Can you please explain more precisely what you want?
Is it a linear code of length n with a given weight enumerator
polynomial that you want?

> Also i would like to know, if after that is possible to construct a fast
> decoder.
>
> Thank you very much!
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-support...@googlegroups.com.
> To post to this group, send email to sage-s...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.

David Joyner

unread,
Oct 6, 2016, 11:10:55 AM10/6/16
to SAGE support, sage-codi...@googlegroups.com
On Thu, Oct 6, 2016 at 11:03 AM, Giorgos Marios <prison...@gmail.com> wrote:
> I am sorry, i want a large linear code capable of correcting t errors so i
> can experiment with a simple McEliece implementation without using goppa
> codes.
> I am searching many hours for the right code family and the code
> constructors of sage without any luck.
>

Does a BCH code give you what you want?

>
> On Thursday, October 6, 2016 at 5:29:09 PM UTC+3, Giorgos Marios wrote:
>>
>> Hello,
>>
>> Let's say I have a -Vector space of dimension n over Finite Field of size
>> 2- I would like to know, how to create a large Linear code with specific
>> weight and number of errors it can handle.

Johan S. R. Nielsen

unread,
Oct 6, 2016, 11:20:26 AM10/6/16
to sage-coding-theory, sage-s...@googlegroups.com
On Thursday, October 6, 2016 at 5:10:55 PM UTC+2, David Joyner wrote:
On Thu, Oct 6, 2016 at 11:03 AM, Giorgos Marios <prison...@gmail.com> wrote:
> I am sorry, i want a large linear code capable of correcting t errors so i
> can experiment with a simple McEliece implementation without using goppa
> codes.
> I am searching many hours for the right code family and the code
> constructors of sage without any luck.

McEliece works with any code family for which you have an efficient decoding algorithm. Sage can out-of-the-box efficiently decode Reed-Solomon codes, so that's an obvious choice.
The classical McEliece scheme uses binary Goppa codes. These are subfield subcodes of Reed-Solomon codes, so using the `SubfieldSubcode` construction, Sage can decode those out-of-the-box as well (however, one must be careful about which Reed-Solomon code one takes).

Another obvious choice is, as David suggests, BCH codes which are subfield subcodes of "classical" Reed-Solomon codes, i.e. where the evaluation points form a multiplicative group. Be aware that the current implementation of BCH Codes in Sage does not give you an efficient decoder, since it "doesn't know" it's a subfield subcode of an RS code. There is work-in-progress on such an implementation of BCH codes on Trac: https://trac.sagemath.org/ticket/20335, but it's probably not yet ready for prime-time.

See also https://trac.sagemath.org/ticket/21352 for an in-progress implementation of getting a working McEliece implementation into Sage.
Reply all
Reply to author
Forward
0 new messages