next | previous | forward | backward | up | top | index | toc | packages | Macaulay2 website
CodingTheory > LinearCode > linearCode > cyclicCode > quasiCyclicCode

quasiCyclicCode -- constructs a quasi-cyclic code

Synopsis

Description

We present below the ways in how a quasi-cyclic code $C$ can be defined.

a list is given

  • Usage:
    quasiCyclicCode(L)
  • Inputs:
  • Outputs:

L is a list of vectors. Every vector \(v_i\) in L generates a cyclic matrix $A_i$. Returns the quasi-cyclic code $C$ whose generator matrix is the concatenation of the matrices $A_i$.

i1 : F = GF(5);
i2 : L = apply(toList(1..2),j-> apply(toList(1..4),i-> random(F)));
i3 : L

o3 = {{-2, 0, 2, -2}, {0, -1, -2, 1}}

o3 : List
i4 : C2=quasiCyclicCode(L)

                                  4
o4 = LinearCode{AmbientModule => F                                                                                                                            }
                BaseField => F
                cache => CacheTable{}
                Code => image | -2 -2 2  0  0  1  -2 -1 |
                              | 0  -2 -2 2  -1 0  1  -2 |
                              | 2  0  -2 -2 -2 -1 0  1  |
                              | -2 2  0  -2 1  -2 -1 0  |
                GeneratorMatrix => | -2 0  2  -2 |
                                   | -2 -2 0  2  |
                                   | 2  -2 -2 0  |
                                   | 0  2  -2 -2 |
                                   | 0  -1 -2 1  |
                                   | 1  0  -1 -2 |
                                   | -2 1  0  -1 |
                                   | -1 -2 1  0  |
                Generators => {{-2, 0, 2, -2}, {-2, -2, 0, 2}, {2, -2, -2, 0}, {0, 2, -2, -2}, {0, -1, -2, 1}, {1, 0, -1, -2}, {-2, 1, 0, -1}, {-1, -2, 1, 0}}
                ParityCheckMatrix => 0
                ParityCheckRows => {}

o4 : LinearCode

a finite field and a list are given

L is a list of vectors, whose entries belong to the field F. Every vector \(v_i\) in L generates a cyclic matrix $A_i$. Returns the quasi-cyclic code $C$ whose generator matrix is the concatenation of the matrices $A_i$.

i5 : F = GF(5);
i6 : L = apply(toList(1..2),j-> apply(toList(1..4),i-> random(F)));
i7 : L

o7 = {{-2, -2, 0, 0}, {-2, 0, -1, -2}}

o7 : List
i8 : C2=quasiCyclicCode(F,L)

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

o8 : LinearCode

Ways to use quasiCyclicCode :

For the programmer

The object quasiCyclicCode is a method function.