符号理論は,ノイズのある通信経路で正確に情報を送るための工学的な技術として発展してきた分野です.しかし,その背後にある構造を深く調べていくと,純粋数学との思いがけない繋がりが見えてきます.本記事では,代数的符号理論における金字塔である「MacWilliamsの恒等式」を紹介し,さらに不変式論を経由することで,自己双対符号という有限な対象から「モジュラー形式」という解析的な関数が自然に現れる様子を解説します.
$\mathbb{F}_2 := \mathbb{Z} / 2 \mathbb{Z} = \{ 0, 1 \}$を2元体とします($1+1 = 0$)
$$
\mathbb{F}_2^n := \{ x = (x_1,x_2, \cdots, x_n) \mid x_1,x_2,\cdots, x_n \in \mathbb{F}_2 \}
$$
は$\mathbb{F}_2$上の線形空間です.
単純な例として,$n=3$ の繰り返し符号を考えます.$$ C = \{(0,0,0), (1,1,1)\} \subset \mathbb{F}_2^3 $$
この符号の次元は$k=1$です.$C$ の0以外の元は$(1,1,1)$のみであり,そのHamming重みは$3$なので最小重みは$d=3$となります.したがって,これは$[3, 1, 3]$-符号です.
情報工学的には,$\mathbb{F}_2^n$の元は通信を行う際のビット列を表し,$C$の元はそのうちメッセージとして意味のあるビット列を表します.もし$x \in C$にノイズが加わって$x + \varepsilon \in \mathbb{F}_2^n$が受信されたとしても,$\mathrm{wt}(\varepsilon) < d/2$であれば,$C$の元の中で$x + \varepsilon$に最も近いものとして元のメッセージ$x$を特定できるため,誤り訂正が可能になります.
このような理由から,$C \subset \mathbb{F}_2^n$が良い符号であるとは,
ということを意味します.このような「良い符号」を構成することが符号理論の主要なテーマです.
符号理論特有の慣習として,$C$の元は行ベクトルで書き,$C$の生成行列(基底行列)は$k \times n$行列で書くのが一般的です.
$C$の生成行列とは,
$$
C = \{ mG \mid m \in \mathbb{F}_2^k\}
$$
を満たす行列$G \in M_{k \times n}(\mathbb{F}_2)$のことをいう.
つまり,$G$の各行が$C$の基底を表します.平文 $m \in \mathbb{F}_2^k$ を符号語 $mG \in C$ に変換する操作を符号化と呼びます.
$\mathbb{F}_2^n$上の双線型形式$\langle \cdot, \cdot \rangle \colon \mathbb{F}_2^n \times \mathbb{F}_2^n \to \mathbb{F}_2$を
$$
\langle x, y \rangle = x_1 y_1 + \cdots + x_n y_n
$$
と定める.これを内積という
$C \subset \mathbb{F}_2^n$の双対符号を
$$
C^\perp = \{x \in \mathbb{F}_2^n \mid \langle x, c \rangle = 0 \text{ for all } c \in C\}
$$
と定める.
$C$が自己双対符号であるとは,$C = C^\perp$であることをいう.
$C \subset \mathbb{F}_2^n$を符号とするとき
$$
\dim C + \dim C^{\perp} = n
$$
である.特に,$C \subset \mathbb{F}_2^n$が自己双対符号であるとき,$n$は偶数で$\dim C = n/2$
最も簡単な自己双対符号は,長さ2の符号 $$ C_2 = \{(0,0), (1,1)\} \subset \mathbb{F}_2^2 $$ です.$\langle (1,1), (1,1) \rangle = 1 \cdot 1 + 1 \cdot 1 \equiv 0 \pmod{2}$ となるため $C_2 \subset C_2^\perp$ がわかり,次元の比較から $C_2 = C_2^\perp$ となります.
自己双対符号のメリットを説明しましょう.通常,メッセージの符号化には符号語を$c = mG$と生成する行列$G$(生成行列)が,誤り検出には$Hc^\top = 0$によって判定する行列$H$ (パリティ検査行列)が必要になります.しかし,$C = C^{\perp}$であれば,誤り検出も生成行列$G$の各行と直交するかどうかを調べるだけでいいので,$H = G$とすることができます.つまり,符号化と誤り検出の両方を同じ行列$G$を用いて行うことができます.
これに加えて,自己双対符号に多くの良い符号が存在することも知られているため,中心的な研究対象となっています.
$C \subset \mathbb{F}_2^n$が自己双対符号であるとき,$c \in C$の重み$\mathrm{wt}(c)$は偶数である.
自己双対符号$C$がType IIであるとは,任意の$c \in C$の重み$\mathrm{wt}(c)$が$4$の倍数であることをいう.
自己双対符号$C$がType IIであることの必要十分条件は,$C$の生成元の重みが$4$の倍数であること
拡張Hamming符号$\mathcal{H}_8$は長さ $n=8$,次元 $k=4$ ,最小重み $d = 4$ のType II自己双対符号です.その生成行列 $G$ は次のように具体的に構成できます. $$ G = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 1 & 1 & 1 \\ 0 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\ 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 1 & 1 & 1 & 0 \end{pmatrix} $$
左側は単位行列$I_4$で,右側は$I_4$のビット反転です.$G$ の各元の重みは $4$ であり,異なる行の $\mathbb{F}_2$ 上の内積は $0$ になることが確認できると思います.すなわち $\mathcal{H}_8 \subset \mathcal{H}_8^\perp$ であり,次元の比較から $\mathcal{H}_8 = \mathcal{H}_8^\perp$(自己双対)であることが確認できます.
拡張Golay符号$\mathcal{G}_{24}$は長さ $n=24$,次元 $k=12$ ,最小重み $d = 8$ のType II自己双対符号です.生成行列 $G = [I_{12} \mid B]$ の右側の $12 \times 12$ 行列 $B$ は,正$20$面体の$12$個の頂点を$v_1,v_2,\cdots,v_{12}$として,
$$
B_{ij} := \begin{cases}
1 & v_i,v_j \text{が辺で結ばれていないとき} \\
0 & v_i,v_j \text{が辺で結ばれているとき} \\
\end{cases}
$$
と書かれます(隣接行列のビット反転).具体的には,
$$B = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\ 0 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 1 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 1 & 1 & 1 \\ 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 1 & 1 \\ 0 & 1 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & 1 & 0 & 1 & 1 & 1 & 1 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\ 1 & 1 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 1 & 0 \\ 1 & 1 & 1 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 1 & 1 & 0 & 0 & 1 & 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 1 \end{pmatrix}$$
です.$G$ の各行の重みは$8$で,互いに直交することが分かります.
ちなみに,$\mathcal{G}_{24}$の自己同型群は散在型有限単純群の1つであるマシュー群$M_{24}$として知られています.また,NASAのボイジャー計画におけるカラー画像転送ではこの符号が実際に使われたそうです
符号$C$の重み分布多項式を
$$
W_C(X,Y) = \sum_{c \in C} X^{n - \mathrm{wt}(c)} Y^{\mathrm{wt}(c)}
$$
と定める.
自己双対符号$C_2 = \{(0,0), (1,1)\}$において,元の重みは0と2なので,$C_2$ の重み分布多項式は $$ W_{C_2^\perp}(X,Y) = W_{C_2}(X,Y) = X^2 + Y^2 $$ です.
拡張Hamming符号 $\mathcal{H}_8$において,16個の符号語の重み分布は,$0$ が1個,$4$ が14個,$8$ が1個となるため,重み分布多項式は $$ W_{\mathcal{H}_8}(X,Y) = X^8 + 14X^4Y^4 + Y^8 $$ となります.
拡張Golay符号 $\mathcal{G}_{24}$ の最小重みは $d=8$ であり,重み分布多項式は $$ W_{\mathcal{G}_{24}}(X,Y) = X^{24} + 759 X^{16} Y^8 + 2576 X^{12} Y^{12} + 759 X^8 Y^{16} + Y^{24} $$ となります
代数的符号理論における重要な定理の一つが次のMacWilliamsの恒等式です.
$C \subset \mathbb{F}_2^n$を符号とする.このとき,
$$
W_{C^\perp}(X,Y) = \frac{1}{|C|} W_C(X+Y, X-Y)
$$
が成り立つ.
自己双対符号$C_2 = \{(0,0), (1,1)\}$で恒等式を確認してみましょう.$C_2$ の重み分布多項式は $$ W_{C_2^\perp}(X,Y) = W_{C_2}(X,Y) = X^2 + Y^2 $$ です.MacWilliamsの恒等式の右辺を計算すると,$$ \frac{1}{|C_2|} W_{C_2}(X+Y, X-Y) = \frac{1}{2} \left( (X+Y)^2 + (X-Y)^2 \right) = \frac{1}{2} (2X^2 + 2Y^2) = X^2 + Y^2 $$ となり,一致することが確かめられます.
証明には次の補題を用います.これはPoissonの和公式の$\mathbb{F}_2$における類似物です.
$\mathbb{C}$線形空間$W$と,関数$f \colon \mathbb{F}_2^n \to W$に対して,そのフーリエ変換を
$$
\widehat{f}(v) := \sum_{u \in \mathbb{F}_2^n} (-1)^{\langle u, v \rangle} f(u)
$$
と定める.このとき,任意の符号$C \subset \mathbb{F}_2^n$に対し,
$$
\sum_{u \in C^\perp} f(u) = \frac{1}{|C|} \sum_{v \in C} \widehat{f}(v)
$$
$$
\frac{1}{|C|} \sum_{v \in C} \widehat{f}(v) = \frac{1}{|C|} \sum_{v \in C} \sum_{u \in \mathbb{F}_2^n} (-1)^{\langle u, v \rangle} f(u) = \sum_{u \in \mathbb{F}_2^n} f(u) \left( \frac{1}{|C|} \sum_{v \in C} (-1)^{\langle u, v \rangle} \right)
$$
である.$u \in C^\perp$のとき,任意の$v \in C$に対して$\langle u, v \rangle = 0$であるから,
$$
\frac{1}{|C|} \sum_{v \in C} (-1)^{\langle u, v \rangle} = \frac{1}{|C|} \sum_{v \in C} 1 = 1
$$
である.一方,$u \not\in C^\perp$のとき,ある$v_0 \in C$に対して$\langle u, v_0 \rangle = 1$であるから,
$$
\frac{1}{|C|} \sum_{v \in C} (-1)^{\langle u, v \rangle} = \frac{1}{|C|} \sum_{v \in C} (-1)^{u \cdot (v + v_0)} = -\frac{1}{|C|} \sum_{v \in C} (-1)^{\langle u, v \rangle}
$$
なので,
$$
\frac{1}{|C|} \sum_{v \in C} (-1)^{\langle u, v \rangle} = 0
$$
である.以上より,
$$
\frac{1}{|C|} \sum_{v \in C} \widehat{f}(v) = \sum_{u \in C^\perp} f(u)
$$
$\mathbb{F}_2$版Poissonの和公式において,
$$
W := \mathbb{C}[X,Y], \quad f(u) := X^{n - \mathrm{wt}(u)} Y^{\mathrm{wt}(u)}
$$
とする.$f$のフーリエ変換は,
$$
\widehat{f}(v) = \sum_{u \in \mathbb{F}_2^n} (-1)^{\langle u, v \rangle} X^{n - \mathrm{wt}(u)} Y^{\mathrm{wt}(u)} \\
= \sum_{u \in \mathbb{F}_2^n} \prod_{i=1}^n (-1)^{u_i v_i} X^{1 - u_i} Y^{u_i} \\
= \prod_{i=1}^n \left( \sum_{u_i \in \mathbb{F}_2} (-1)^{u_i v_i} X^{1 - u_i} Y^{u_i} \right)
$$
であり,
さて,$C$が$[n,k,d]$-自己双対符号である場合を考えましょう.この場合$k = n/2$であり,MacWilliamsの恒等式は
$$
W_{C}(X,Y) = \frac{1}{2^{n/2}} W_C(X+Y, X-Y)
$$
です.$W_C(X,Y)$は$X$と$Y$の$n$次同次多項式ですので,
$$
W_C(X,Y) = W_C\left(\frac{X+Y}{\sqrt{2}}, \frac{X-Y}{\sqrt{2}}\right)
$$
が成り立つことが分かります.また,任意の$c \in C$の重み$\mathrm{wt}(c)$は偶数なので,$W_C(X,Y)$には$Y$は偶数乗でしか現れず,
$$
W_C(X,Y) = W_C(X,-Y)
$$
となります.また,$C$がType IIであるとき,
$$
W_C(X,Y) = W_C(X, \sqrt{-1} Y)
$$
も成り立ちます.以上より,次が分かります.
有限部分群$G_I \subset G_{II} \subset \mathrm{GL}_2(\mathbb{C})$を
$$
G_I = \left\langle \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}, \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \right\rangle ,\quad
G_{II} = \left\langle \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}, \begin{pmatrix} 1 & 0 \\ 0 & \sqrt{-1} \end{pmatrix} \right\rangle
$$
と定める.
あとは不変式論の範疇です.これらの群の不変式環の生成元は具体的に求めることができます.
$$ \mathbb{C}[X,Y]^{G_I} = \mathbb{C}[X^2 + Y^2, X^2 Y^2 (X^2 - Y^2)^2] $$ $$ \mathbb{C}[X,Y]^{G_{II}} = \mathbb{C}[X^8 + 14 X^4 Y^4 + Y^8, X^4 Y^4 (X^4 - Y^4)^4] $$
不変式環$\mathbb{C}[X,Y]^{G_{II}}$の生成元$X^8 + 14 X^4 Y^4 + Y^8$は,先ほど紹介した拡張Hamming符号$\mathcal{H}_8$の重み分布多項式と完全に一致しています.
また,符号$C$の最小重み$d$は,$W_C(1,Y)$に現れる最初の項として現れます.
$$
W_C(1,Y) = 1 + A_d Y^d + A_{d+1} Y^{d+1} + \cdots \quad (A_d \neq 0)
$$
$C$が自己双対符号であるとき,$W_C(X,Y)$が不変式環の元であることを用いると,$d$の上界,すなわち自己双対符号の性能の限界が分かります.
$d = 4 \left\lfloor \frac{n}{24} \right\rfloor + 4$という上界を達成するType II自己双対符号は極値符号と呼ばれています.$[8,4,4]$-符号である拡張Hamming符号$\mathcal{H}_8$や,$[24,12,8]$-符号であるGolay符号$\mathcal{G}_{24}$は極値符号です.
最後に,モジュラー形式と符号理論の関係を紹介します.
$k$を非負の偶数とする.$\mathrm{SL}_2(\mathbb{Z}) := \{ \gamma \in \mathrm{GL}_2(\mathbb{Z}) \mid \det \gamma = 1 \}$の上半平面$\mathbb{H} = \{\tau \in \mathbb{C} \mid \mathrm{Im}(\tau) > 0\}$への作用を
$$
\begin{pmatrix} a & b \\ c & d \end{pmatrix} \cdot \tau = \frac{a\tau + b}{c\tau + d}
$$
とする.次を満たす正則関数$f \colon \mathbb{H} \to \mathbb{C}$をウェイト$k$のフルモジュラー形式と呼ぶ.
ウェイト$k$のフルモジュラー形式全体の集合を$M_k(\mathrm{SL}_2(\mathbb{Z}))$と表す.
テータ級数を
$$
\theta_{\mathbb{Z}}(\tau) = \sum_{n \in \mathbb{Z}} e^{2 \pi i n^2 \tau}, \quad \theta_{\mathbb{Z}+\frac{1}{2}}(\tau) = \sum_{n \in \mathbb{Z}} e^{2 \pi i (n + \frac{1}{2})^2 \tau} \quad (\tau \in \mathbb{H})
$$
と定める.
テータ級数はフルモジュラー形式ではありませんが,次の関係式が成り立ちます.
$$
\theta_{\mathbb{Z}}^8(\tau) + 14 \theta_{\mathbb{Z}}^4(\tau) \theta_{\mathbb{Z}+\frac{1}{2}}^4(\tau) + \theta_{\mathbb{Z}+\frac{1}{2}}^8(\tau) = E_4(\tau)
$$ $$
\theta_{\mathbb{Z}}^4(\tau) \theta_{\mathbb{Z}+\frac{1}{2}}^4(\tau) (\theta_{\mathbb{Z}}^4(\tau) - \theta_{\mathbb{Z}+\frac{1}{2}}^4(\tau))^4 = 16 \Delta(\tau)
$$
さて,
$$
\mathbb{C}[X,Y]^{G_{II}} = \mathbb{C}[X^8 + 14 X^4 Y^4 + Y^8, X^4 Y^4 (X^4 - Y^4)^4]
$$
であったことを思い出しましょう.$E_4, 16\Delta$は不変式$X^8 + 14 X^4 Y^4 + Y^8,\ X^4 Y^4 (X^4 - Y^4)^4$にそれぞれ$X = \theta_{\mathbb{Z}}, Y = \theta_{\mathbb{Z} + \frac{1}{2}}$を代入したものになっています.これより,次数付き環の準同型
$$
\mathbb{C}[X,Y]^{G_{II}} \to M(\mathrm{SL}_2(\mathbb{Z})), \quad f(X,Y) \mapsto f(\theta_{\mathbb{Z}}(\tau), \theta_{\mathbb{Z}+\frac{1}{2}}(\tau))
$$
が定まります.これより,Type IIの自己双対符号からモジュラー形式が構成できることがわかります.
Type II自己双対符号$C$の重み分布多項式$W_C(X,Y)$に対して,
$$
W_C(\theta_{\mathbb{Z}}(\tau), \theta_{\mathbb{Z}+\frac{1}{2}}(\tau))
$$
はフルモジュラー形式である.
なお,一般の自己双対符号$C$に対して
$$
W_C(\theta_{\mathbb{Z}}(\tau), \theta_{\mathbb{Z}+\frac{1}{2}}(\tau))
$$
はフルモジュラー形式にはなるとは限りませんが,合同部分群$\Gamma_0(2)$に対するモジュラー形式になります.
たとえば,
$$
W_{\mathcal{H}_8}(X,Y) = X^8 + 14 X^4 Y^4 + Y^8
$$
なので,アイゼンシュタイン級数は
$$
E_4(\tau) = W_{\mathcal{H}_8}(\theta_{\mathbb{Z}}(\tau), \theta_{\mathbb{Z}+\frac{1}{2}}(\tau))
$$
と表されます.また,
$$W_{\mathcal{G}_{24}}(X,Y) = X^{24} + 759 X^{16} Y^8 + 2576 X^{12} Y^{12} + 759 X^8 Y^{16} + Y^{24}
$$
なので,これらの間には,
$$
42 X^4 Y^4 (X^4 - Y^4)^4 = W_{\mathcal{H}_8}(X,Y)^3 - W_{\mathcal{G}_{24}}(X,Y)
$$
という関係があります.$\mathcal{H}_8$ を3つ直和した符号 $\mathcal{H}_8^{\oplus 3}$ を用いると,
$$
W_{\mathcal{H}_8^{\oplus 3}}(X,Y) = W_{\mathcal{H}_8}(X,Y)^3
$$
であることが分かります.よって,テータ級数を代入すると,
$$
672 \Delta(\tau) = W_{\mathcal{H}_8^{\oplus 3}}(\theta_{\mathbb{Z}}(\tau), \theta_{\mathbb{Z}+\frac{1}{2}}(\tau)) - W_{\mathcal{G}_{24}}(\theta_{\mathbb{Z}}(\tau), \theta_{\mathbb{Z}+\frac{1}{2}}(\tau))
$$
という関係が導かれます.解析的で複雑なはずのラマヌジャンのデルタ関数が,符号という有限な対象を調べることで分かるというのは驚くべきことです.符号理論の視点で見ると $\mathcal{H}_8^{\oplus 3}$ は小さな符号をただ3つ並べただけの「素朴な符号(最小重み $d=4$)」であり,$\mathcal{G}_{24}$ は空間の対称性を極限まで活用した「最適な符号(最小重み $d=8$)」です.つまり,数論における解析的な関数$\Delta$が,情報工学における「素朴な符号と最適化された符号の性能差」として翻訳されていることを物語っています.