# 65.167 Gabidulin codes

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
April 1997