next | previous | forward | backward | up | top | index | toc | Macaulay2 website
CodingTheory > LinearCode > linearCode > randomCode

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+a a2+1      a3+a+1  |
                              | a2+1    a2+a+1    a3+a2+a |
                              | a       a3        a2+1    |
                              | a3      a3+a2+a+1 a3+a2+1 |
                              | a3+a+1  a3        1       |
                GeneratorMatrix => | a3+a2+a a2+1    a    a3        a3+a+1 |
                                   | a2+1    a2+a+1  a3   a3+a2+a+1 a3     |
                                   | a3+a+1  a3+a2+a a2+1 a3+a2+1   1      |
                                 3    2       2          3   3             2       2           3   3    2           3     3           3    2       2       3    2
                Generators => {{a  + a  + a, a  + 1, a, a , a  + a + 1}, {a  + 1, a  + a + 1, a , a  + a  + a + 1, a }, {a  + a + 1, a  + a  + a, a  + 1, a  + a  + 1, 1}}
                ParityCheckMatrix => | 1 0 a+1 a2+a a3+a2  |
                                     | 0 1 a3  a3+a a3+a+1 |
                                                   2       3    2           3   3       3
                ParityCheckRows => {{1, 0, a + 1, a  + a, a  + a }, {0, 1, a , a  + a, a  + a + 1}}

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 | 0 -1 -1 |
                              | 1 -1 -1 |
                              | 1 -1 1  |
                              | 0 -1 -1 |
                              | 1 0  1  |
                GeneratorMatrix => | 0  1  1  0  1 |
                                   | -1 -1 -1 -1 0 |
                                   | -1 -1 1  -1 1 |
                Generators => {{0, 1, 1, 0, 1}, {-1, -1, -1, -1, 0}, {-1, -1, 1, -1, 1}}
                ParityCheckMatrix => | 1  1 1 0 1 |
                                     | -1 0 0 1 0 |
                ParityCheckRows => {{1, 1, 1, 0, 1}, {-1, 0, 0, 1, 0}}

o4 : LinearCode

Ways to use randomCode :

For the programmer

The object randomCode is a method function.