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

evCodeGraph -- Reed–Muller-type code over a graph

Synopsis

Description

Given a finite field F, an incidence matrix M of a connected graph $G$, and an ordered list S of polynomials over F, this method produces an EvaluationCode $C$ generated by evaluating the given polynomials in S at the columns of the matrix M.

i1 : G = graph({1,2,3,4}, {{1,2},{2,3},{3,4},{4,3}});
i2 : B=incidenceMatrix G;

              4       3
o2 : Matrix ZZ  <-- ZZ
i3 : S=ZZ/2[t_(0)..t_(#vertexSet G-1)];
i4 : Y=evCodeGraph(coefficientRing S,B,flatten entries basis(1,S))

                                      ZZ 3
o4 = EvaluationCode{AmbientModule => (--)                                                             }
                                       2
                    cache => CacheTable{}
                                                               ZZ 4
                    LinearCode => LinearCode{AmbientModule => (--)                                   }
                                                                2
                                                          ZZ
                                             BaseField => --
                                                           2
                                             cache => CacheTable{}
                                             Code => image | 1 0 0 |
                                                           | 1 1 0 |
                                                           | 0 1 1 |
                                                           | 0 0 1 |
                                             GeneratorMatrix => | 1 1 0 0 |
                                                                | 0 1 1 0 |
                                                                | 0 0 1 1 |
                                             Generators => {{1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}}
                                             ParityCheckMatrix => | 1 1 1 1 |
                                             ParityCheckRows => {{1, 1, 1, 1}}
                    Points => {{1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}}
                    PolynomialSet => {t  + 1, t , t , t }
                                       2       1   2   3
                                                           2                            2
                    VanishingIdeal => ideal (t  + t  + 1, t  + t , t t  + t  + t  + 1, t  + t )
                                              0    2       2    2   1 2    1    2       1    1

o4 : EvaluationCode

Caveat

While this function may work even when a ring is given, instead of a finite field, it is possible that the results are not the expected ones.

Ways to use evCodeGraph :

For the programmer

The object evCodeGraph is a method function with options.