Macaulay2 » Documentation
Packages » CodingTheory » EvaluationCode
next | previous | forward | backward | up | index | toc

EvaluationCode -- class of evaluation codes

Description

EvaluationCode is the class of linear codes obtained by evaluating polynomials in $F[X_1,\ldots,X_m]$, where $F$ is a finite field, at a set of points in $F^m$. There are various constructions of evaluation codes depending on how the polynomials and points are chosen. Important examples include Reed-Solomon codes, Reed-Muller codes, monomial codes, Cartesian codes, and toric codes. To construct a linear code, see evaluationCode.

The basic structure is a hash table. One of the values is the resulting linear code of type LinearCode. Other values include the set of points, its vanishing ideal, the set of polynomials, and more.

i1 : F=GF(4);
i2 : R=F[x,y];
i3 : P={{0,0},{1,0},{0,1},{a,a}};
i4 : S={x+y,x^2+y^2, a+x*y^2};
i5 : C=evaluationCode(F,P,S);
i6 : C.VanishingIdeal

                          2              2    2
o6 = ideal (x*y + (a + 1)y  + (a + 1)y, x  + y  + x + y)

o6 : Ideal of R
i7 : C.PolynomialSet

              2    2     2
o7 = {x + y, x  + y , x*y  + a}

o7 : List
i8 : C.LinearCode

                                  4
o8 = LinearCode{AmbientModule => F                                          }
                BaseField => F
                cache => CacheTable{}
                Code => image | 0 0 a   |
                              | 1 1 a   |
                              | 1 1 a   |
                              | 0 0 a+1 |
                GeneratorMatrix => | 0 1 1 0   |
                                   | 0 1 1 0   |
                                   | a a a a+1 |
                Generators => {{0, 1, 1, 0}, {0, 1, 1, 0}, {a, a, a, a + 1}}
                ParityCheckMatrix => | 1 0 0 a+1 |
                                     | 0 1 1 0   |
                ParityCheckRows => {{1, 0, 0, a + 1}, {0, 1, 1, 0}}

o8 : LinearCode
i9 : length C.LinearCode

o9 = 4
i10 : dim C.LinearCode

o10 = 2

Menu

Functions related to ideals and evaluation codes

Symbols that are used as a key for storing information of an evaluation code

Functions and methods returning an object of class EvaluationCode:

  • cartesianCode(Ring,List,List) -- see cartesianCode -- Cartesian code
  • cartesianCode(Ring,List,Matrix) -- see cartesianCode -- Cartesian code
  • cartesianCode(Ring,List,ZZ) -- see cartesianCode -- Cartesian code
  • evaluationCode(Ring,List,List) -- see evaluationCode -- functions to construct evaluation codes over Galois fields
  • evaluationCode(Ring,List,Matrix) -- see evaluationCode -- functions to construct evaluation codes over Galois fields
  • orderCode(Ideal,List,List,ZZ) -- see orderCode -- computes an order code for a given weight
  • orderCode(Ideal,List,ZZ) -- see orderCode -- computes an order code for a given weight
  • orderCode(Ring,List,List,ZZ) -- see orderCode -- computes an order code for a given weight
  • reedMullerCode -- constructs the Reed-Muller code
  • reedMullerCode(ZZ,ZZ,ZZ) -- see reedMullerCode -- constructs the Reed-Muller code
  • reedSolomonCode -- constructs the Reed-Solomon code
  • reedSolomonCode(Ring,List,ZZ) -- see reedSolomonCode -- constructs the Reed-Solomon code
  • toricCode(Ring,Matrix) -- see toricCode -- a toric code construction

For the programmer

The object EvaluationCode is a type, with ancestor classes HashTable < Thing.


The source of this document is in CodingTheory.m2:4554:0.