Macaulay2 » Documentation
Packages » CodingTheory > LinearCode > linearCode > randomCode
next | previous | forward | backward | up | index | toc

randomCode -- constructs a random linear code over a finite field

Synopsis

Description

Given a finite field F (or a quotient ring QR) and two positive integers n and k, returns a random linear code over F (or QR) of length $n$ and dimension at most $k$.

i1 : F = GF(2, 4)

o1 = F

o1 : GaloisField
i2 : C = randomCode(F,5,3)

                                  5
o2 = LinearCode{AmbientModule => F                                                                                                                                                }
                BaseField => F
                cache => CacheTable{}
                Code => image | a3+a2+1   a2+1   a3      |
                              | a3+1      a3+1   a3+a2+1 |
                              | a3+a2+a   0      a3+a2+a |
                              | a2+a      a2+a+1 a3+a+1  |
                              | a3+a2+a+1 1      a+1     |
                GeneratorMatrix => | a3+a2+1 a3+1    a3+a2+a a2+a   a3+a2+a+1 |
                                   | a2+1    a3+1    0       a2+a+1 1         |
                                   | a3      a3+a2+1 a3+a2+a a3+a+1 a+1       |
                                 3    2       3       3    2       2       3    2             2       3          2                3   3    2       3    2       3
                Generators => {{a  + a  + 1, a  + 1, a  + a  + a, a  + a, a  + a  + a + 1}, {a  + 1, a  + 1, 0, a  + a + 1, 1}, {a , a  + a  + 1, a  + a  + a, a  + a + 1, a + 1}}
                ParityCheckMatrix => | 1 0 0    a3+a a2+a |
                                     | 0 1 a2+1 a+1  0    |
                                               3       2               2
                ParityCheckRows => {{1, 0, 0, a  + a, a  + a}, {0, 1, a  + 1, a + 1, 0}}

o2 : LinearCode
i3 : QR = ZZ/3

o3 = QR

o3 : QuotientRing
i4 : C = randomCode(QR,5,3)

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

o4 : LinearCode

Ways to use randomCode :

For the programmer

The object randomCode is a method function.