---
title: Kim’s Building-Up Construction in Self-Dual Codes
url: https://www.emergentmind.com/topics/kim-s-building-up-construction
type: topic
---

# Kim’s Building-Up Construction in Self-Dual Codes

Kim’s building-up construction is a predecessor–successor method for producing self-dual codes from shorter self-dual codes by adjoining a controlled hyperbolic piece and compensating correction terms. In the binary formulation, it starts from a self-dual code of length \(2n\) and produces a self-dual code of length \(2n+2\); in the odd-characteristic and ring-theoretic formulation completed by Lee and Kim, it starts from length \(2n\) and produces length \(2n+4\). The construction is accompanied by converse statements: longer self-dual codes can be reduced to shorter ones by removing the added coordinates, and a later formalization identifies the binary construction with Chinburg–Zhang’s Hilbert-symbol construction through isotropic lines in a hyperbolic plane [1201.5689] [2604.08485].

## 1. Core schema and ambient hypotheses

A linear code \(C \subset \F_q^n\) is self-dual if
\[
C = C^\perp
=
\{\,v \in \F_q^n : (v,w)=0 \text{ for all } w \in C\},
\]
where \((u,v)=\sum_{i=1}^n u_i v_i\) is the standard Euclidean inner product. In the ring-theoretic setting used by Lee–Kim, the same construction is organized around the corresponding bilinear form over a finite chain ring or Galois ring [1201.5689] [2604.08485].

The construction has several variants, each governed by a specific algebraic input.

| Setting | Required algebraic input | Length change |
|---|---|---|
| Binary \(\F_2\) | No extra hypothesis; \(-1=1\) is automatically a square | \(2n \to 2n+2\) |
| Split \(q\)-ary \(\F_q\), \(q \equiv 1 \pmod 4\) | Fix \(c \in \F_q^\times\) with \(c^2=-1\) | \(2n \to 2n+2\) |
| Lee–Kim field/ring version | Units \(a,b\) with \(a^2+b^2+1=0\) | \(2n \to 2n+4\) |

For fields of characteristic not \(2\), Kim’s original building-up construction already covered the cases \(q\) a \(2\)-power or \(q \equiv 1 \pmod 4\), provided one can solve
\[
a^2+b^2+1=0
\]
in the alphabet. Lee–Kim completed the remaining field case \(q \equiv 3 \pmod 4\), then extended the same two-vector mechanism to \(\mathbb Z_{p^m}\), Galois rings \(\mathrm{GR}(p^m,r)\), and arbitrary finite chain rings under the same existence condition on \(a\) and \(b\) [1201.5689].

## 2. Binary formulation

In the binary case, Kim’s method starts with a self-dual \([2n,n]\) code \(C_0 \subset \F_2^{2n}\) with generator matrix
\[
G_0=
\begin{pmatrix}
g_1\\
g_2\\
\vdots\\
g_n
\end{pmatrix},
\qquad g_i \in \F_2^{2n}.
\]
Choose a vector \(x \in \F_2^{2n}\) satisfying the Euclidean norm condition \((x,x)=1\), and define
\[
y_i=(x,g_i)\in \F_2,\qquad i=1,\dots,n.
\]
Then the matrix
\[
G=
\begin{pmatrix}
1 & 0 & x\\
y_1 & y_1 & g_1\\
y_2 & y_2 & g_2\\
\vdots & \vdots & \vdots\\
y_n & y_n & g_n
\end{pmatrix}
\]
generates a binary self-dual code \(C=\mathrm{RowSpace}(G)\subset \F_2^{2n+2}\). The construction is described as adding one “odd-weight” row to obtain a new self-dual code of length \(2n+2\) [2604.08485].

A worked example builds the unique binary self-dual \([4,2]\) code from the \([2,1]\) parent. The parent code \(C_0 \subset \F_2^2\) is generated by \(g_1=(1,1)\), which is self-dual because \((g_1,g_1)=0\). Choosing \(x=(1,0)\) gives \((x,x)=1\) and
\[
y_1=(x,g_1)=1.
\]
The extended generator matrix is
\[
G=
\begin{pmatrix}
1 & 0 & 1 & 0\\
1 & 1 & 1 & 1
\end{pmatrix}.
\]
One checks directly that \(GG^T=0\) over \(\F_2\) and \(\mathrm{rank}(G)=2\), so \(\mathrm{RowSpace}(G)\) is the unique binary self-dual \([4,2]\) code of minimum distance \(2\) [2604.08485].

## 3. Completion over odd finite fields

For fields of characteristic different from \(2\), the Lee–Kim construction uses two extension vectors. Let \(C_0\) be a self-dual \([2n,n]\) code over a field \(F\) with generator matrix \(G_0\) whose rows are \(r_i\). Assume there exist \(a,b \in F^\ast\) such that
\[
a^2+b^2+1=0.
\]
Choose \(x_1,x_2 \in F^{2n}\) satisfying
\[
x_1 \cdot x_1 = x_2 \cdot x_2 = -1,\qquad x_1 \cdot x_2 = 0.
\]
For each \(i\), define
\[
s_i=x_1\cdot r_i,\qquad t_i=x_2\cdot r_i,
\]
and
\[
y_i=(-s_i,-t_i,-a s_i-b t_i,-b s_i+a t_i).
\]
Then
\[
G=
\begin{pmatrix}
1 & 0 & \vrule & x_1\\
0 & 1 & \vrule & x_2\\
\hline
y_1 & \vrule & r_1\\
\vdots & & \vdots\\
y_n & \vrule & r_n
\end{pmatrix}
\]
generates a self-dual \([2n+4,n+2]\) code over \(F\). The proof checks that all rows are mutually orthogonal under the standard inner product, that the dimension rises by exactly \(2\) to \(n+2\), and hence that the resulting code is self-dual [1201.5689].

The open case in earlier work was \(\GF(q)\) with \(q \equiv 3 \pmod 4\). Lee–Kim resolve precisely that case by observing in Lemma 2.1 that there do exist \(a,b \in \GF(q)^\ast\) with
\[
a^2+b^2+1=0.
\]
Proposition 2.2 then shows that the same matrix construction works for any odd prime power \(q \equiv 3 \pmod 4\) when \(n\) is even. Proposition 2.4 gives the converse: any self-dual \([2n,n]\) code over \(\GF(q)\) with \(n \ge 2\) even and \(q \equiv 3 \pmod 4\) arises, up to coordinate permutation, from a self-dual \([2n-4,n-2]\) code by the same building-up step [1201.5689].

## 4. Extension to \(\mathbb Z_{p^m}\), Galois rings, and finite chain rings

Lee–Kim observe that the proof over fields uses only the bilinear form and the existence of units \(a,b\) with \(a^2+b^2+1=0\). This yields Proposition 3.1: if \(R\) is a finite chain ring admitting units \(a,b \in R^\ast\) such that
\[
a^2+b^2+1=0 \text{ in } R,
\]
and if \(C_0\) is a self-dual code of even length \(2n\) over \(R\) with generator \(G_0\), then the same choice of \(x_1,x_2\), the same definitions of \(s_i,t_i\), and the same four-term correction vectors \(y_i\) produce a self-dual code of length \(2n+4\) over \(R\) [1201.5689].

The converse is also stated in ring-theoretic form. Proposition 3.2 asserts that every self-dual code over \(R\) of length at least \(4\) and free rank at least \(4\) arises by this same building-up step. In particular, for \(R=\mathbb Z_{p^m}\) or \(\mathrm{GR}(p^m,r)\) with \(p \equiv 3 \pmod 4\), \(r\) odd, one first lifts \(a,b\) from \(\mathbb Z_p\) to \(\mathbb Z_{p^m}\) by a Hensel-type lemma to obtain units satisfying \(a^2+b^2+1=0\), and then the same construction applies [1201.5689].

For arbitrary finite chain rings, the ambient algebra is described through the unique maximal ideal \(\langle y \rangle\) with nilpotency index \(e\). A linear code of length \(n\) over such a ring has a generator matrix in a Smith-type block form,
\[
G=
[\, I_{k_0}\;|\; yI_{k_1}\;|\;\cdots\;|\; y^{e-1}I_{k_{e-1}}\;|\; A_0\;|\; yA_1\;|\;\cdots \,].
\]
The main chain-ring theorem states that if \(R\) admits a solution of \(a^2+b^2+1=0\) in \(R^\ast\), then the two-vector building-up step extends every self-dual code of length \(2n\) to length \(2n+4\), and conversely every self-dual code with free part rank at least \(4\) arises by iterating this step [1201.5689].

## 5. Algorithmic realization and representative constructions

The Lee–Kim procedure is explicitly algorithmic. Its input is a self-dual \([2n,n]\) code \(C_0\) over a ring or field admitting \(a^2+b^2+1=0\), together with a generator matrix \(G_0\) with rows \(r_1,\dots,r_n\). One first precomputes any one pair \((a,b)\) solving \(a^2+b^2+1=0\). One then enumerates candidates \(x_1\) with \(x_1\cdot x_1=-1\), and for each such \(x_1\) enumerates \(x_2\) such that \(x_2\cdot x_2=-1\) and \(x_1\cdot x_2=0\). For each pair \((x_1,x_2)\), one computes \(s_i=x_1\cdot r_i\) and \(t_i=x_2\cdot r_i\), forms
\[
y_i=(-s_i,-t_i,-a s_i-b t_i,-b s_i+a t_i),
\]
builds the generator matrix \(G\), lets \(C=\mathrm{row\text{-}span}(G)\), tests whether \(C\) is self-dual, records \(C\) up to equivalence, and then may recurse to longer lengths or apply isomorphism checks to remove duplicates [1201.5689].

Several concrete families were obtained in this way.

| Starting point | Output | Notable property |
|---|---|---|
| Pless symmetry \([28,14,9]\) code \(S(11)\) over \(\GF(3)\) | 945 new extremal \([32,16,9]\) codes | Each has trivial automorphism group |
| Length-\(4\) code \(C_1\) over \(\mathbb Z_9\) | Lengths \(12,16,20\) | Minimum Hamming weight \(6\) |
| Base codes over \(\GF(7)\) | \([16,8,7]\) and \([24,12,9]\) families | New optimal or best known parameters |

For ternary codes, \(\GF(3)\equiv 3 \pmod 4\), so Lee–Kim take \((a,b)=(1,1)\) since \(1^2+1^2+1=0 \bmod 3\). Starting from the Pless symmetry \([28,14,9]\) code \(S(11)\), they choose \(x_1\) of length \(28\) with \(x_1\cdot x_1=-1=2\), then \(x_2\) with \(x_1\cdot x_2=0\) and \(x_2\cdot x_2=2\), and obtain \([32,16]\) codes. By judicious choice of \((x_1,x_2)\), they construct 945 new extremal self-dual ternary \([32,16,9]\) codes with trivial automorphism group. Combined with earlier 293 known codes, the total is at least 1238 inequivalent codes [1201.5689].

For \(\mathbb Z_9\)-codes, they start from the length-\(4\) code \(C_1\) generated by \((1,0,2,2)\) and \((0,1,2,-2)\). Building up first yields a length-\(8\) code \(C_2=[8,4]\) with \(d_H=3\). Iterating the construction gives length-\(12\) codes, with eight inequivalent examples and \(A_6\) up to \(264\); length-\(16\) codes, with 20 examples satisfying \(A_6=230+6t\); and length-\(20\) codes, with 10 examples whose Construction \(A\) lattices have distinct kissing numbers. These \(\mathbb Z_9\)-codes have minimum Hamming weight \(6\), which is the best possible minimum Hamming weight that free self-dual codes over \(\mathbb Z_9\) of these lengths can attain. By Construction \(A\), they yield the unique optimal Type I lattices in dimensions \(12,16,20\) and, at length \(24\), the odd Leech lattice [1201.5689].

For \(\GF(7)\), Lee–Kim again use the \(q\equiv 3 \pmod 4\) case, with \(a,b\) solving \(a^2+b^2+1=0 \bmod 7\), for example \(a=2\), \(b=3\). Starting from a length-\(10\) base code \(C_{10}\) from Gulliver–Harada, they build up to length \(16\) and obtain at least 214 inequivalent \([16,8,7]\) codes, of which 207 are new, with automorphism group orders from \(6\) to \(72\). Starting from the length-\(20\) code \(C_{20,1}\), they build up to length \(24\) and obtain 59 new self-dual \([24,12,9]\) codes with trivial automorphism group [1201.5689].

## 6. Isotropic lines, Hilbert symbols, and formalization

The 2026 formalization shows that Kim’s building-up construction of binary self-dual codes is equivalent to Chinburg–Zhang’s Hilbert-symbol construction. Chinburg–Zhang’s approach starts from the global cup-product pairing on the étale cohomology of the ring of \(S\)-integers in \(\mathbb Q\), then uses a boxed normal form and a top-down Lagrangian reduction. The equivalence is expressed by the observation that deleting the distinguished hyperbolic block and the top row in the boxed form yields a self-orthogonal predecessor code, while re-inserting that hyperbolic pair by choosing an isotropic line recovers exactly Kim’s formulas \(y_i=(x,g_i)\) and the appended row \((1,0,x)\) [2604.08485].

In this framework, the common algebraic input is the condition that \(-1\) be a square. In the binary case this is automatic because \(-1=1\). In the split \(q\)-ary case, one fixes \(c \in \F_q^\times\) such that \(c^2=-1\), which is equivalent to \(-1\) being a square and to the standard Euclidean plane over \(\F_q\) being hyperbolic. If \(C_0 \subset \F_q^{2n}\) is self-dual and \(x\in \F_q^{2n}\) satisfies \((x,x)=-1\), then with
\[
y_i=(x,g_i),\qquad \tilde y_i=-y_i,\qquad \hat y_i=-c\,y_i,
\]
the new generator matrix is
\[
G=
\begin{pmatrix}
1 & 0 & x\\
-y_1 & -c\,y_1 & g_1\\
\vdots & \vdots & \vdots\\
-y_n & -c\,y_n & g_n
\end{pmatrix}.
\]
The identity \(c^2=-1\) makes the \(2\)-plane spanned by \((1,c)\) hyperbolic and organizes the isotropic correction terms on that line [2604.08485].

The Lean 4 development formalizes the self-dual/Lagrangian interface, the hyperbolic split background, binary and \(q\)-ary building-up, boxed forms, and reverse reconstruction in a single file without any “sorry” placeholders. The paper states that all 256 key lemmas and theorems were formalized. As an application of the efficient form of generator matrices, it constructs optimal self-dual codes from the split boxed construction, including self-dual \([6,3,4]\) and \([8,4,4]\) codes over \(\GF(5)\), MDS self-dual \([8,4,5]\) and \([10,5,6]\) codes over \(\GF(13)\), and a self-dual \([12,6,6]\) code over \(\GF(13)\) [2604.08485].

Source: https://www.emergentmind.com/topics/kim-s-building-up-construction