These five codes are derived from an article by Gabidulin, Davydov and Tombak. These five codes are defined by check matrices. Exact definitions can be found in the article.
The Gabidulin code, the enlarged Gabidulin code, the Davydov code, the Tombak code, and the enlarged Tombak code, correspond with theorem 1, 2, 3, 4, and 5, respectively in the article.
These codes have fixed minimum distance and covering radius, but can be arbitrarily long. They are defined through check matrices.
GabidulinCode( m, w1, w2 )
GabidulinCode
yields a code of length 5 cdot 2^{m-2}-1,
redundancy 2m-1, minimum distance 3 and covering radius 2.
w1 and w2 should be elements of GF(2^{m-2})
.
EnlargedGabidulinCode( m, w1, w2, e )
EnlargedGabidulinCode
yields a code of length 7 cdot 2^{m-2}-2,
redundancy 2m, minimum distance 3 and covering radius 2.
w1 and w2 are elements of GF(2^{m-2})
.
e is an element of GF(2^m)
.
The core of an enlarged Gabidulin code consists of a Gabidulin code.
DavydovCode( r, v, ei, ej )
DavydovCode
yields a code of length 2^v + 2^{r-v} - 3,
redundancy r, minimum distance 4 and covering radius 2.
v is an integer between 2 and r-2.
ei and ej are elements of GF(2^v)
and GF(2^{r-v})
,
respectively.
TombakCode( m, e, beta, gamma, w1, w2 )
TombakCode
yields a code of length 15 cdot 2^{m-3} - 3,
redundancy 2m, minimum distance 4 and covering radius 2.
e is an element of GF(2^m)
.
beta and gamma are elements of GF(2^{m-1})
.
w1 and w2 are elements of GF(2^{m-3})
.
EnlargedTombakCode( m, e, beta, gamma, w1, w2, u )
EnlargedTombakCode
yields a code of length 23 cdot 2^{m-4} - 3,
redundancy 2m-1, minimum distance 4 and covering radius 2.
The parameters m, e, beta, gamma, w1 and w2 are defined
as in TombakCode
.
u is an element of GF(2^{m-1})
.
The code of an enlarged Tombak code consists of a Tombak code.
gap> GabidulinCode( 4, Z(4)^0, Z(4)^1 ); a linear [19,12,3]2 Gabidulin code (m=4) over GF(2) gap> EnlargedGabidulinCode( 4, Z(4)^0, Z(4)^1, Z(16)^11 ); a linear [26,18,3]2 enlarged Gabidulin code (m=4) over GF(2) gap> DavydovCode( 6, 3, Z(8)^1, Z(8)^5 ); a linear [13,7,4]2 Davydov code (r=6, v=3) over GF(2) gap> TombakCode( 5, Z(32)^6, Z(16)^14, Z(16)^10, Z(4)^0, Z(4)^1 ); a linear [57,47,4]2 Tombak code (m=5) over GF(2) gap> EnlargedTombakCode( 6, Z(32)^6, Z(16)^14, Z(16)^10, > Z(4)^0, Z(4)^0, Z(32)^23 ); a linear [89,78,4]2 enlarged Tombak code (m=6) over GF(2)
GAP 3.4.4