Papers
Topics
Authors
Recent
Search
2000 character limit reached

Forney's Cubing Construction of Golay Codes

Updated 9 February 2026
  • Forney’s cubing construction is a structured method that generates the optimal (24,12,8) Golay code using nested binary codes with triple redundancy.
  • The construction leverages explicit generator matrices from single-parity-check, Reed–Muller, and repetition codes combined via a cubing operator to form a 24-bit codeword.
  • Modern adaptations integrate PAC-based decoding, enabling efficient, parallel decoding of the Golay code and related lattices such as the Leech lattice.

Forney's cubing construction provides a structured, algebraic method for generating the binary extended Golay code, an optimal (24,12,8)(24,12,8) linear code. This technique, first introduced by Forney in "Coset Codes II" (1988), assembles the length-24 codeword by composing three shorter, nested binary block codes of length 8, using a specific “cubing” operator. Recent work, notably Ji et al. (Ji et al., 2 Feb 2026), has revisited and refined this structural approach, demonstrating its connection to modern Polarization Adjusted Convolutional (PAC) codes and leveraging it for efficient decoding and lattice construction.

1. Overview of the Cubing Construction

Forney’s cubing construction synthesizes the (24,12,8)(24,12,8) extended Golay code by stacking three nested binary codes:

  • C1C2C3C_1 \supset C_2 \supset C_3 on F28\mathbb F_2^8
  • C1C_1: (8,7,2)(8,7,2) single-parity-check code
  • C2C_2: (8,4,4)(8,4,4) code, specifically the first-order Reed–Muller code RM(1,3)\operatorname{RM}(1,3)
  • C3C_3: (8,1,8)(8,1,8) repetition code

A codeword is constructed as (x,y,z)=(a+c,b+c,c)(x, y, z) = (a + c,\, b + c,\, c) for aC1a \in C_1, bC2b \in C_2, and cC3c \in C_3. This “cubing” creates a $24$-bit word, generating a (24,12,8)(24,12,8) code with the Golay parameters.

2. Generator Matrices for Component Codes

The construction depends on explicit generator matrices:

  • C1C_1:

G(8,7)=[I717]G^*(8,7) = \left[I_7\,|\,\mathbf{1}_7\right]

where I7I_7 is the 7×77 \times 7 identity matrix, and 17\mathbf{1}_7 is a column vector of ones.

  • C2C_2 (Reed–Muller RM(1,3)\operatorname{RM}(1,3)): Begin with F23F_2^{\otimes 3} and select the four rows of weight 4\geq 4 to get

G8=[11110000 11001100 10101010 11111111]G_8 = \begin{bmatrix} 1&1&1&1&0&0&0&0\ 1&1&0&0&1&1&0&0\ 1&0&1&0&1&0&1&0\ 1&1&1&1&1&1&1&1 \end{bmatrix}

  • C2C_2': A column-permutation π3=[5,4,2,3,1,6,7,8]\pi_3 = [5, 4, 2, 3, 1, 6, 7, 8] of C2C_2 gives

G8=[01111000 10011100 11001010 11111111]G_8' = \begin{bmatrix} 0&1&1&1&1&0&0&0\ 1&0&0&1&1&1&0&0\ 1&1&0&0&1&0&1&0\ 1&1&1&1&1&1&1&1 \end{bmatrix}

  • C3C_3: The all-ones (8,1,8)(8,1,8) repetition code:

Grep=[11111111]G_{\mathrm{rep}} = [1\,1\,1\,1\,1\,1\,1\,1]

3. Algebraic Assembly of the Golay Generator

The full (24,12,8)(24,12,8) code is constructed via Kronecker products and block assembly. Let SS and RR be:

S=[101 011],R=[111]S = \begin{bmatrix} 1 & 0 & 1 \ 0 & 1 & 1 \end{bmatrix}, \quad R = [1\,1\,1]

where SS generates the (3,2,2)(3,2,2) SPC code and RR the (3,1,3)(3,1,3) repetition code.

The large generator matrix is:

$\hat{G} = \begin{bmatrix} S \otimes G_8 \ R \otimes G_8' \end{bmatrix} = \begin{bmatrix} G_8 & 0 & G_8 \ 0 & G_8 & G_8 \ \hline G_8' & G_8' & G_8' \end{bmatrix}$

The top two 4×244 \times 24 blocks (from SG8S\otimes G_8) correspond to the indices of C2C_2 and C1C_1; the bottom block (from RG8R\otimes G_8') encodes the “cube”-symmetry from C3C_3.

4. The Cubing Operator: Definition and Clarification

The cubing operator \square is formally defined for nested codes C1C2C3F2mC_1 \supset C_2 \supset C_3 \subset \mathbb F_2^m as:

(a,b,c)=(a+c,b+c,c)F23m\square(a, b, c) = (a + c,\, b + c,\, c) \in \mathbb F_2^{3m}

with aC1a \in C_1, bC2b \in C_2, cC3c \in C_3.

For m=8m=8 (the Golay code case), this process precisely generates the (24,12,8)(24,12,8) code from the described component codes. The role of C3C_3 in each segment provides structural redundancy (triple coverage), with the additional degrees of freedom assigned via C2C_2 and C1C_1.

5. Specific Parameter Choices in Construction

Parameter selection in Ji et al. aligns with the standard Golay instantiation:

Code Parameters Generator Matrix Notes
C1C_1 (8,7,2)(8,7,2) G(8,7)=[I717]G^*(8,7) = [I_7\,|\,\mathbf{1}_7] Single-parity-check
C2C_2 (8,4,4)(8,4,4) G8G_8 as from RM(1,3)\operatorname{RM}(1,3) Reed–Muller, four heavy rows
C2C_2' (8,4,4)(8,4,4) G8G_8' (column permutation π3\pi_3) Symmetric structural redundancy
C3C_3 (8,1,8)(8,1,8) GrepG_{\mathrm{rep}} (all-ones) Repetition

This explicit structure facilitates efficient encoding and algebraic manipulation.

6. Integration into Modern PAC-Based Decoding

Building on the cubing construction, Ji et al. (Ji et al., 2 Feb 2026) identify a direct connection to the polar generator G24p=F23F23G_{24}^p = F_2^{\otimes 3} \otimes F_2^{\otimes 3} (a 3×33 \times 3' polar “cube”). They demonstrate that, for suitable sets and pre-transforms,

[vA,012]TG24p=vAG^\left[v_\mathcal{A},\,0_{12}\right]T G_{24}^p = v_\mathcal{A} \hat{G}

where A[24]\mathcal{A} \subset [24], A=12|\mathcal{A}| = 12, and TT is an upper-triangular convolutional transform.

Three distinct 3×33 \times 3 polar kernels F3(i)F_3^{(i)} and pre-transforms TiT_i give rise to three PAC code representations of the Golay code. This enables parallel decoding: three SCL (successive cancellation list) decoders, each with list size LL, yield $3L$ codeword candidates, allowing selection of the most likely path. Empirical results show near-ML decoding is attained with L8L\approx 8, and this method obviates ad hoc column permutations or codeword puncturing.

The approach generalizes to parallel decoding of related lattices such as the Leech lattice Λ24\Lambda_{24} and its sublattice H24H_{24}.

7. Broader Significance and Applications

Forney’s cubing construction, especially as modernized through PAC-based techniques, provides:

  • Structural insight into the Golay code’s deep symmetry and triple redundancy
  • Algebraic pathways for efficient implementation and algebraic enumeration of codewords
  • Foundations for small-list parallel list decoders achieving near-ML performance without manual index manipulation
  • Transferability to the construction and efficient decoding of high-dimensional lattices, such as H24H_{24} and Λ24\Lambda_{24}

A plausible implication is that these canonical algebraic decompositions may further inform code design and application in multilevel lattice decoders and other domains seeking both algebraic regularity and decoding efficiency (Ji et al., 2 Feb 2026).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Forney's Cubing Construction of Golay Codes.