1

C.-L. Chen, Computer results on the minimum distance of some binary cyclic codes.

The above paper gives a table of binary cyclic codes with $n$ (code length), $k$ (code dimension), $d$ (actual minimum distance), $d_{BCH}$ (the BCH lower bound on minimum distance), and roots (the powers of $\beta$ that are roots of the generator polynomial where $\beta$ is a primitive $n$th root of unity).

Edit: the table looks like:

$$ \begin{split} &n\quad &k\quad &d\quad &d_{BCH}\quad &Roots\\ &15\quad &11\quad &3\quad &3\quad &1,\\ &&10 &4 &4 &0,1,\\ &\cdots\\ &51 &43 &3 &3 &1,\\ &\cdots\\ &&8 &24 &20 &0,17,3,9,1,5,19, \end{split} $$

How do I use this table to obtain each code? In particular, what are the codewords of the code $[51,8,24]$?

azimut
  • 24,316
Delong
  • 2,027
  • 2
    This particular code is better known as the (binary) Hamming code. Its check matrix has all the non-zero combinations of four bits as columns. In some order in general, to make the code cyclic you need to us an ordering like the one from this table - check out the table of powers of $\gamma$. – Jyrki Lahtonen Feb 05 '25 at 03:42
  • @JyrkiLahtonen I think what I should ask is how to use the table from Chen's paper to construct the corresponding codes. I will edit my question. – Delong Feb 05 '25 at 03:53
  • 2
    The table gives you the roots of the generator polynomial. Isn't that enough information to work out the codewords? – Gerry Myerson Feb 05 '25 at 05:04
  • @GerryMyerson How do I work out the codewords? I think the generator polynomial has degree $n-k$, but the number of roots is less than the degree, and the generator polynomial has distinct roots. How is that possible? – Delong Feb 05 '25 at 05:17
  • 2
    Since BCH codes are binary, if $\alpha^k$ is a root (indicated as $k$ in your table as far as I can tell) so are its conjugates $\alpha^{2k},\alpha^{2^2k},\ldots,\alpha^{2^{m-1}k}.$ – kodlu Feb 05 '25 at 11:42
  • @kodlu Now I know all the roots of the generator polunomial $g(x)$. For example, for $[15,11,3]$, $g(x)=(x-\beta)(x-\beta^2)(x-\beta^4)(x-\beta^8)$. How do I know the coefficients of $g(x)$? – Delong Feb 06 '25 at 06:07
  • 1
    @kodlu Thank you. I think I got this now. For $[51,8,24]$, I factored $x^{51} -1$ over $GF(2)$ in Sage. Then defined $\beta=\alpha^5$ where $\alpha$ is a generator of $GF(2^8)^{\times}$. Plugging each root in the factors gives the factors of $g$. – Delong Feb 07 '25 at 05:14

1 Answers1

1

The mentioned article can be found there, but the access is restricted.

The crucial part is

"root = the powers of $\beta$ that are roots of the generator polynomial where $\beta$ is a primitive $n$th root of unity."

Let us determine the generator polynomial $g$ for $n=51$ $k=8$, $d=24$, roots = $ 0,17,3,9,1,5,19$.

We fix a primitive 51th root of unity $\beta$ over $\mathbb{F}_2$. Note that $\beta$ generates a proper extension field $\mathbb{F}_{2^m}$ over $\mathbb{F}_2$. The number $m$ can be computed as the order of $2$ modulo $51$, which yields $m=8$ (note that $2^8 = 256 = 5\cdot 51 + 1$).

By the stated list of roots, $g$ is divisible by $$(x-\beta^0)(x-\beta^{17})(x-\beta^3)(x-\beta^9)(x-\beta^1)(x-\beta^5)(x-\beta^{19})$$ However, this is not enough, as the resulting polynomial won't have coefficients in $\mathbb{F}_2$. As remarked by kodlu, an $\mathbb{F}_2$-polynomial with the root $\alpha$ necessarily will also have all the roots $\alpha^2$, $\alpha^{4}$, $\alpha^{8}$, $\alpha^{16} \ldots$. Considering $\alpha = \beta^i$, an exponent $i$ of $\beta$ forces all the exponents of the so-called $i$-th cyclotomic coset $\operatorname{CC}(i,n) = \{i, i\cdot 2, i\cdot 4, i \cdot 8, \ldots\}$ modulo $n$ into the roots of $g$.

Hence, our job is to compute the cyclotomic cosets of the stated roots. Let as illustrate the process for the root $3$: $$ 3\cdot 2 = 6 \\ 6\cdot 2 = 12 \\ 12 \cdot 2 = 24 \\ 24 \cdot 2 = 48 \\ 48 \cdot 2 = 96 \equiv 45 \pmod{51} \\ 45 \cdot 2 = 90 \equiv 39 \pmod{51} \\ 90 \cdot 2 = 180 \equiv 27 \pmod{51} \\ 27 \cdot 2 = 54 \equiv 3 \pmod{51} $$ Hence $$ \operatorname{CC}(3,51) = \{3,6,12,24,48,45,39,27\}.$$

In the same way, $$ \operatorname{CC}(0,51) = \{0\} \\ \operatorname{CC}(17,51) = \{17,34\} \\ \operatorname{CC}(9,51) = \{9,18,36,21,42,33,15,30\} \\ \operatorname{CC}(1,51) = \{1,2,4,8,16,32,13,26\} \\ \operatorname{CC}(5,51) = \{5,10,20,40,29,7,14,28\} \\ \operatorname{CC}(19,51) = \{19,38,25,50,49,47,43,35\} $$

Hence the generator polynomial $g$ is the product of all $(x - \beta^i)$ where $i$ is an element of the above computed cyclotomic cosets. This job involves computing in the extension field $\mathbb{F}_{256}$ and is better handed over to a computer algebra system. Note that the result will in general depend on the choice of the primitive $n$th root of unity $\beta$, but the resulting codes will be isomorphic.

In this case, we get four possible results for $g$: $$ x^{43} + x^{42} + x^{41} + x^{40} + x^{37} + x^{36} + x^{35} + x^{33} + x^{31} + x^{28} + x^{22} + x^{20} + x^{19} + x^{17} + x^{16} + x^{14} + x^{11} + x^9 + x^8 + x^7 + x^6 + x^5 + x + 1, $$ $$ x^{43} + x^{39} + x^{38} + x^{36} + x^{33} + x^{31} + x^{30} + x^{27} + x^{26} + x^{24} + x^{23} + x^{22} + x^{21} + x^{18} + x^{17} + x^{16} + x^{14} + x^{13} + x^{10} + x^7 + x^6 + x^2 + x + 1, $$ $$ x^{43} + x^{42} + x^{41} + x^{37} + x^{36} + x^{33} + x^{30} + x^{29} + x^{27} + x^{26} + x^{25} + x^{22} + x^{21} + x^{20} + x^{19} + x^{17} + x^{16} + x^{13} + x^{12} + x^{10} + x^7 + x^5 + x^4 + 1, $$ $$ x^{43} + x^{42} + x^{38} + x^{37} + x^{36} + x^{35} + x^{34} + x^{32} + x^{29} + x^{27} + x^{26} + x^{24} + x^{23} + x^{21} + x^{15} + x^{12} + x^{10} + x^8 + x^7 + x^6 + x^3 + x^2 + x + 1. $$

azimut
  • 24,316