資料・アプリへ戻る

数学記事・メモ

MacWilliams恒等式で学ぶシリーズ第6回 / 全12回

MacWilliams恒等式で学ぶPlessモーメント入門

MacWilliams恒等式の五つの証明系統のうち,モーメント・二重数え上げ系に着目し,重み分布のモーメント,二項モーメント,Plessの冪モーメント恒等式,二重数え上げ,モーメントからの分布の復元を導入する.
公開:
更新:
読了目安:
20分 (約11,540字)
Tagscoding theoryMacWilliams identityPless power momentsmomentsdouble countingweight distributionfinite fieldsexpository note
PDF ダウンロード

はじめに

符号理論における基本定理の一つに,MacWilliams恒等式があります. EE を座標集合,n=En = \card{E} とし,有限体 Fq\F_{q} 上の線形符号 CFqEC \leq \F_{q}^{E} に対して,その双対符号

C{uFqE:uc=0 for all cC}C^{\perp} \coloneqq \{ u \in \F_q^E : u \cdot c = 0 \text{ for all } c \in C \}

を考えます.ここで

uc=eEueceu \cdot c = \sum_{e \in E} u_e c_e

です. 本稿では,符号語 cFqEc \in \F_q^E に対して

supp(c)={eE:ce0},wt(c)=supp(c)\supp(c)=\{e\in E: c_e\neq 0\}, \qquad \wt(c)=\card{\supp(c)}

と書きます. 線形符号 CC重み多項式 (weight enumerator) を

WC(X,Y)cCXnwt(c)Ywt(c)W_{C}(X, Y) \coloneqq \sum_{c \in C} X^{n - \wt(c)} Y^{\wt(c)}

で定めます. MacWilliams恒等式は,双対符号の重み多項式が,CC の重み多項式から次のように計算できるという公式です:

WC(X,Y)=1CWC(X+(q1)Y,XY).W_{C^{\perp}}(X,Y) = \frac{1}{\card{C}} W_{C}\bigl( X + (q - 1)Y, X - Y \bigr).

これがMacWilliams恒等式です.

この連載では,MacWilliams恒等式の証明を手掛かりに, 周辺分野・周辺概念への入門を試みます. そのため,本連載では以下のような読者を対象としています:

符号理論の初歩,具体的には

  • (有限)体とは何か

  • 有限体上の線形符号とは何か

  • Hamming重みとは何か

  • 双対符号とは何か

程度は既知であることを前提としています (MacWilliams恒等式の証明は知らなくても問題ありません).

本稿は,第1回〜第5回を前提にしません. 途中でKrawtchouk多項式やアソシエーションスキームの影が見える箇所はありますが, 本稿ではそれらの理論は使いません. 必要な道具は,重み分布,モーメント,二項係数,二重数え上げ,有限次元線形代数だけです.

この連載では,MacWilliams恒等式の証明手法を大きく次の五つの系統に分けて眺めます.

  1. Fourier・指標・Poisson系.

  2. Möbius反転・束論・短縮穿孔系.

  3. 直交多項式・アソシエーションスキーム系.

  4. マトロイド・Tutte多項式系.

  5. モーメント・二重数え上げ系.

本稿では,このうち「モーメント・二重数え上げ系」に着目します. 今回の目標は,MacWilliams恒等式の証明を案内役として, Plessモーメント,特に重み分布のモーメントと二重数え上げに入門することです.

重み分布を

Aw(C)={cC:wt(c)=w}(0wn)A_{w}(C) = \card{\{ c \in C: \wt(c) = w \}} \qquad (0 \leq w \leq n)

と書くと,重み多項式は

WC(X,Y)=w=0nAw(C)XnwYwW_{C}(X, Y) = \sum_{w = 0}^{n} A_{w}(C) X^{n-w} Y^{w}

です. 別の立場では,Krawtchouk多項式やHammingスキームを使って, MacWilliams恒等式を重み分布そのものに対する変換として見ることができます. ここでいうHammingスキームとは,おおまかには二つの語をHamming距離ごとに分類して得られる組合せ構造のことです. しかし本稿では,その理論的な定義や一般論は使いません. ここでは,重み分布を直接変換する代わりに,まず

w=0nAw(C)whw=0nAw(C)(wr)\sum_{w = 0}^{n} A_{w}(C) w^{h} \quad\text{や}\quad \sum_{w=0}^{n} A_{w}(C) \binom{w}{r}

のようなモーメントを見ます.

確率論では,分布を理解するために平均,分散,高次モーメントを調べます. ここでも同じことをします. ただし,本稿で扱うモーメントは,確率分布として正規化した期待値ではありません. 符号語全体にわたる総和としてのモーメントを使います. 確率論的な平均や期待値として見たい場合は,これらの量を C\card{C} で割ればよいです. ただし,符号理論では,普通の冪 whw^{h} よりも,二項係数 (wr)\binom{w}{r} を使ったモーメントの方が自然です. なぜなら (wt(c)r)\binom{\wt(c)}{r} は,符号語 cc の非零座標の中から rr 個の座標を選ぶ方法の数だからです. したがって

w=0nAw(C)(wr)\sum_{w=0}^{n}A_{w}(C)\binom{w}{r}

は,符号語と座標集合の組を数える量になります. この量を二通りに数えることで,Plessのモーメント恒等式が現れます.

本稿の流れは次のようになります.

重み分布 → 二項モーメント → モーメント母関数 → 二重数え上げ → Plessモーメント恒等式 → MacWilliams恒等式

Plessの古典的な論文 [Ple63] では,MacWilliams恒等式から冪モーメント恒等式が導かれ, それらの応用も与えられています. 本稿では,MacWilliams恒等式を既知とせず,二項モーメントを直接二重数え上げで計算し, 十分多くのモーメントからMacWilliams恒等式を復元する,という方向で説明します. 双対符号の重み分布とMacWilliams方程式の古典的な扱いについては MacWilliams–Sloane [MS77, Chapter 5] を参照してください. また,MacWilliams方程式とPlessモーメントを含む同値な定式化については Huffman–Pless [HP03, Sections 7.1–7.2] が標準的です. Plessモーメントの教科書的な扱いについては, Pless [Ple98, Chapter 8] も参照してください.

重み分布とモーメント

まず,重み分布を数列として見ます. CFqEC \leq \F_{q}^{E} を線形符号とし,

AwAw(C)={cC:wt(c)=w}(0wn)A_{w} \coloneqq A_{w}(C) = \card{\{ c \in C : \wt(c) = w \}} \qquad (0\leq w\leq n)

と書きます.この数列 (A0,A1,,An)(A_{0}, A_{1}, \dots, A_{n})CC重み分布 (weight distribution) です.

重み分布を一変数多項式としてまとめるために

PC(t)WC(1,t)=w=0nAwtwP_{C}(t) \coloneqq W_{C}(1, t) = \sum_{w=0}^{n} A_{w} t^{w}

とおきます. この PC(t)P_{C}(t) は,重み多項式 WC(X,Y)W_{C}(X,Y) を非斉次化したものです. 実際,

WC(X,Y)=XnPC(Y/X)W_C(X, Y) = X^{n} P_{C}(Y/X)

と読めます. ここでの Y/XY/X は形式的な読み替えであり,最終的には両辺を多項式として比較します.

定義2.1.

非負整数 hh に対して,CChh冪モーメント (power moment) を

Mhpow(C)w=0nAw(C)whM_{h}^{\mathrm{pow}}(C) \coloneqq \sum_{w = 0}^{n} A_{w}(C) w^{h}

で定める.

h=0h = 0 のときは,慣習として 00=10^{0} = 1 と読み,

M0pow(C)=w=0nAw(C)=CM_{0}^{\mathrm{pow}}(C) = \sum_{w=0}^{n} A_{w}(C) = \card{C}

です. h=1h = 1 のときは,符号語の重みの総和

cCwt(c)\sum_{c \in C} \wt(c)

です. h=2h=2 は,重みの二乗和です.

しかし,符号理論では冪モーメントよりも,次の二項モーメントの方が扱いやすいです.

定義2.2.

0rn0 \leq r \leq n に対して,CCrr二項モーメント (binomial moment) を

Mr(C)w=0nAw(C)(wr)M_{r}(C) \coloneqq \sum_{w = 0}^{n} A_{w}(C) \binom{w}{r}

で定める.

ここで (wr)=0\binom{w}{r}=0 (w<rw < r) と約束します. 二項モーメントの意味は非常に具体的です. 符号語 cCc \in C を固定すると,(wt(c)r)\binom{\wt(c)}{r}supp(c)\supp(c) の中から rr 個の座標を選ぶ方法の数です. したがって rr 次の二項モーメント Mr(C)M_{r}(C) は,次のような組を数えています:

(c,S)wherecC,Ssupp(c),S=r.(c, S) \quad\text{where}\quad c \in C, \quad S \subseteq \supp(c), \quad \card{S} = r.

この「組を数える」という見方が,Plessモーメント恒等式の入口になります.

二項モーメント母関数

二項モーメントは,多項式 PC(t)P_{C}(t)t=1t = 1 のまわりで展開した係数として現れます.

定理3.1.

PC(t)=w=0nAw(C)twP_{C}(t) = \sum_{w = 0}^{n} A_{w}(C) t^{w} とする. このとき

PC(1+z)=r=0nMr(C)zrP_{C}(1 + z) = \sum_{r = 0}^{n} M_{r}(C) z^{r}

が成り立つ.

証明

二項定理により

(1+z)w=r=0w(wr)zr(1 + z)^{w} = \sum_{r = 0}^{w} \binom{w}{r} z^{r}

である.したがって

PC(1+z)=w=0nAw(C)(1+z)w=w=0nAw(C)r=0w(wr)zr=r=0n(w=0nAw(C)(wr))zr=r=0nMr(C)zr.\begin{aligned} P_{C}(1 + z) &= \sum_{w = 0}^{n} A_{w}(C)(1 + z)^{w} \\ &= \sum_{w = 0}^{n} A_{w}(C) \sum_{r = 0}^{w} \binom{w}{r} z^{r} \\ &= \sum_{r = 0}^{n} \left( \sum_{w = 0}^{n} A_{w}(C) \binom{w}{r} \right)z^r \\ &= \sum_{r = 0}^{n} M_{r}(C) z^{r}. \end{aligned}
証明終わり

この定理から,二項モーメントは分布を完全に決めることが分かります.

定理3.2.

数列 a0,a1,,ana_{0}, a_{1}, \dots, a_{n} に対して

mr=w=0naw(wr)(0rn)m_{r} = \sum_{w=0}^{n} a_{w} \binom{w}{r} \qquad(0 \leq r\leq n)

とおく. このとき,m0,m1,,mnm_{0}, m_{1}, \dots, m_{n} から a0,a1,,ana_{0}, a_{1}, \dots, a_{n} が一意に復元できる. 具体的には

aw=r=wn(1)rw(rw)mr(0wn)a_{w} = \sum_{r=w}^{n}(-1)^{r-w}\binom{r}{w} m_{r} \qquad(0\leq w\leq n)

である.

証明

P(t)=w=0nawtwP(t) = \sum_{w=0}^{n} a_{w} t^{w} とおく. 仮定は

P(1+z)=r=0nmrzrP(1 + z) = \sum_{r = 0}^{n} m_{r} z^{r}

が成り立つことである. ここで z=t1z = t - 1 と置き換えると

P(t)=r=0nmr(t1)rP(t) = \sum_{r = 0}^{n} m_{r}(t - 1)^{r}

を得る.右辺の twt^{w} の係数を取ると

aw=r=wnmr(rw)(1)rwa_{w} = \sum_{r=w}^{n} m_{r} \binom{r}{w}(-1)^{r-w}

を得る.

証明終わり

この定理は,今回の証明で重要です. MacWilliams恒等式は,重み分布全体を結ぶ公式です. しかし,重み分布全体を直接扱わなくても, すべての二項モーメントを求めれば重み分布は復元できます. したがって,双対符号の重み分布を求めるには,双対符号の二項モーメントをすべて求めれば十分です.

二項モーメントを二重に数える

ここから二項モーメントを数えます. CCFq\F_{q} 上の [n,k][n,k] 線形符号,つまり dimFqC=k\dim_{\F_{q}} C = k とします. したがって C=qk\card{C} = q^{k} です. 双対符号の重み jj の符号語数は,通常通り Aj(C)A_{j}(C^{\perp}) と書きます.

二項モーメント Mr(C)=w=0nAw(C)(wr)\displaystyle M_{r}(C) = \sum_{w = 0}^{n} A_{w}(C) \binom{w}{r} は,組

(c,S),cC,Ssupp(c),S=r(c, S), \qquad c \in C, \quad S \subseteq \supp(c), \quad \card{S} = r

の個数を数えるものでした.これを,まず SS を固定して数えます.

定義4.1.

SES \subseteq E に対して

NC(S){cC:ce0 for all eS}N_{C}(S) \coloneqq \card{\{ c \in C: c_{e} \neq 0 \text{ for all } e \in S\}}

と定める.

この記号を使うと

Mr(C)=SES=rNC(S)(4.1)M_{r}(C) = \sum_{\substack{S \subseteq E \\\card{S} = r}} N_{C}(S) \tag{4.1}

です. 固定した SS に対して,NC(S)N_{C}(S) は「SS の座標がすべて非零である符号語」の数です. ここで SS の外の座標には条件を課していないことに注意します. つまり NC(S)N_{C}(S) は,台がちょうど SS である符号語数ではなく, 少なくとも SS 上では非零である符号語数です. この「非零」という条件は線形条件ではないので, まず「どの座標が 00 であるか」という線形条件に直して数えます.

TST \subseteq S に対して,TT の座標がすべて 00 である符号語全体を考えます. これは線形部分空間です.TT の座標への制限写像

ρT ⁣:CFqT,ccT\rho_{T} \colon C \to \F_{q}^{T}, \qquad c \mapsto c|_{T}

を考えると,その核は

Ker(ρT)={cC:ce=0 for all eT}\Ker(\rho_{T}) = \{ c \in C : c_{e} = 0 \text{ for all } e \in T\}

です. Ze={cC:ce=0}Z_{e} = \{ c \in C : c_{e} = 0\} とおくと, NC(S)N_{C}(S)SS 内のどの ZeZ_{e} にも属さない符号語の数です. したがって包除原理により

NC(S)=TS(1)TKer(ρT).(4.2)N_{C}(S) = \sum_{T \subseteq S}(-1)^{\card{T}}\card{\Ker(\rho_{T})}. \tag{4.2}

次に,Ker(ρT)\card{\Ker(\rho_{T})} を双対符号の情報で書きます. ここで,双対符号のうち台が TT に含まれるものを

C(T){uC:supp(u)T}C^{\perp}(T) \coloneqq \{ u \in C^{\perp}:\supp(u) \subseteq T\}

と書きます. これは CC^{\perp}TT に短縮した符号そのものではなく, EE 上の符号語のうち台が TT に含まれるものを集めた部分空間です.

補題4.2.

任意の TET \subseteq E に対して

Ker(ρT)=qkTC(T)\card{\Ker(\rho_{T})} = q^{k - \card{T}} \card{C^{\perp}(T)}

が成り立つ.

証明

制限写像 ρT ⁣:CFqT\rho_{T} \colon C \to \F_{q}^{T} の像を ρT(C)\rho_{T}(C) と書く. 第一同型定理より

Ker(ρT)=CρT(C)=qkρT(C).\card{\Ker(\rho_{T})} = \frac{\card{C}}{\card{\rho_{T}(C)}} = \frac{q^{k}}{\card{\rho_{T}(C)}}.

一方,FqT\F_{q}^{T} の標準内積に関して,C(T)C^{\perp}(T)ρT(C)\rho_{T}(C) の直交補と同一視できます. 実際,uFqTu \in \F_{q}^{T}EE 上に零で延長したものを u~\widetilde{u} とすると,

uρT(C)ucT=0for all cCu~c=0for all cCu~C.\begin{aligned} u \in \rho_{T}(C)^{\perp} &\Longleftrightarrow u \cdot c|_{T} = 0 \quad\text{for all } c \in C \\ &\Longleftrightarrow \widetilde{u} \cdot c = 0 \quad\text{for all } c \in C \\ &\Longleftrightarrow \widetilde u \in C^{\perp}. \end{aligned}

さらに u~\widetilde{u}TT の外で 00 なので,これは u~C(T)\widetilde{u} \in C^{\perp}(T) と同値である. 一般に,有限次元空間 FqT\F_{q}^{T} の部分空間 DD について dimD+dimD=T\dim D + \dim D^{\perp} = \card{T} である. したがって DD=qT\card{D}\card{D^{\perp}} = q^{\card{T}} が成り立つ. これを D=ρT(C)D = \rho_{T}(C) に適用すると

ρT(C)C(T)=qT\card{\rho_{T}(C)}\card{C^{\perp}(T)} = q^{\card{T}}

が成り立つ.これを上の式に代入すると

Ker(ρT)=qkC(T)qT=qkTC(T)\card{\Ker(\rho_{T})} = q^{k} \frac{\card{C^{\perp}(T)}}{q^{\card{T}}} = q^{k-\card{T}}\card{C^{\perp}(T)}

を得る.

証明終わり

この補題が,二重数え上げの線形代数的な核心です. CC の座標制限写像の核の大きさが,双対符号 CC^{\perp} のうち台が TT に含まれる符号語数で表されます. なお,右辺には qkTq^{k-\card{T}} が現れるので,T>k\card{T} > k のとき一見分数のように見えます. しかしこれは Ker(ρT)=C/ρT(C)\card{\Ker(\rho_{T})}=\card{C}/\card{\rho_{T}(C)} を直交補の大きさで書き換えたもので,最終的には必ず整数です. 同値に,その場合は C(T)\card{C^{\perp}(T)} が不足分の qq の冪を含んでいます.

Plessの二項モーメント恒等式

前節の準備から,二項モーメントの公式を得ます. これがPlessモーメント恒等式の二項モーメント版です.

定理5.1(Plessの二項モーメント恒等式).

CFqEC \leq \F_{q}^{E}[n,k][n, k] 線形符号とする. このとき,0rn0 \leq r \leq n に対して

w=0nAw(C)(wr)=qkrj=0r(1)j(q1)rj(njrj)Aj(C)(5.1)\sum_{w=0}^{n} A_{w}(C)\binom{w}{r} = q^{k - r} \sum_{j = 0}^{r} (-1)^{j}(q - 1)^{r-j} \binom{n - j}{r - j} A_{j}(C^{\perp}) \tag{5.1}

が成り立つ.

証明

証明に入る前に,三つの集合の役割を整理しておく. SS は,符号語 cc が非零であることを要求する rr 個の座標集合である. TT は,包除原理の中で「ここは 00 である」と指定する座標集合である. UU は,双対符号語 uCu \in C^{\perp} の台である. 条件 UTSU \subseteq T \subseteq S は,台が UU である双対符号語が C(T)C^{\perp}(T) に数えられ,その TT が包除原理で使われる,という意味である.

左辺を Mr(C)M_{r}(C) と書く. (4.1)(4.2) より

Mr(C)=SES=rTS(1)TKer(ρT).\begin{aligned} M_{r}(C) &= \sum_{\substack{S \subseteq E\\\card{S} = r}} \sum_{T \subseteq S}(-1)^{\card{T}}\card{\Ker(\rho_{T})}. \end{aligned}

ここに 補題 4.2 を代入すると

Mr(C)=SES=rTS(1)TqkTC(T).M_{r}(C) = \sum_{\substack{S \subseteq E\\\card{S} = r}} \sum_{T \subseteq S} (-1)^{\card{T}}q^{k-\card{T}}\card{C^{\perp}(T)}.

ここで,CC^{\perp} の符号語を台ごとに分ける. UEU \subseteq E に対して

AC(U){uC:supp(u)=U}A_{C^{\perp}}(U) \coloneqq \card{\{ u \in C^{\perp}:\supp(u) = U \}}

とおく. これは重みだけを固定した個数 Aj(C)A_j(C^{\perp}) ではなく,台 UU そのものを固定した個数を表す補助記号である. このとき

C(T)=UTAC(U)\card{C^{\perp}(T)} = \sum_{U \subseteq T}A_{C^{\perp}}(U)

である.したがって

Mr(C)=UEAC(U)SE, S=rT:UTS(1)TqkT\begin{aligned} M_{r}(C) &= \sum_{U \subseteq E}A_{C^{\perp}}(U) \sum_{\substack{S \subseteq E,\ \card{S} = r}} \sum_{\substack{T: U \subseteq T \subseteq S}} (-1)^{\card{T}}q^{k-\card{T}} \end{aligned}

となる.

固定した UU について,U=j\card{U} = j とする. ここからは,UTSU \subseteq T \subseteq S を満たす S,TS,T の寄与を数える. j>rj > r なら,USU \subseteq S かつ S=r\card{S} = r を満たす SS は存在しないので寄与は 00 となる. 以下 jrj \leq r とする. SSUSU\subseteq S, S=r\card{S}=r を満たすとき, TTUTSU \subseteq T \subseteq S を動く. T=ULT = U \cup LLSUL \subseteq S \setminus U と書くと,内側の和は

LSU(1)j+LqkjL=(1)jqkjLSU(q1)L=(1)jqkj(11q)rj=(1)jqkr(q1)rj.\begin{aligned} \sum_{L \subseteq S \setminus U} (-1)^{j + \card{L}} q^{k - j - \card{L}} &= (-1)^{j} q^{k - j} \sum_{L \subseteq S \setminus U}(-q^{-1})^{\card{L}} \\ &= (-1)^{j} q^{k-j} \left( 1 - \frac{1}{q} \right)^{r-j} \\ &= (-1)^{j} q^{k - r}(q - 1)^{r - j}. \end{aligned}

また,UU を含む rr 元部分集合 SS の個数は (njrj)\binom{n-j}{r-j} である. したがって,台が UU である双対符号語の全寄与は

AC(U)(1)jqkr(q1)rj(njrj)A_{C^{\perp}}(U) (-1)^{j} q^{k-r}(q-1)^{r-j}\binom{n-j}{r-j}

となる.

最後に,U=j\card{U} = j である UU 全体について足し合わせると

UEU=jAC(U)=Aj(C)\sum_{\substack{U \subseteq E \\ \card{U} = j}}A_{C^{\perp}}(U) = A_{j}(C^{\perp})

となる.よって

Mr(C)=qkrj=0r(1)j(q1)rj(njrj)Aj(C)M_{r}(C) = q^{k-r} \sum_{j = 0}^{r} (-1)^{j}(q - 1)^{r - j} \binom{n - j}{r - j}A_{j}(C^{\perp})

を得る.

証明終わり

この公式は,かなり意味のある形をしています. 左辺は CCrr 次二項モーメントです. 右辺には,双対符号 CC^{\perp} の重み 0,1,,r0, 1, \dots, r までの個数だけが現れています. つまり,CC の低次モーメントは,双対符号の低重み部分に支配されます.

例えば r=0r = 0 の場合,公式は

w=0nAw(C)=qkA0(C)=qk\sum_{w = 0}^{n} A_{w}(C) = q^{k} A_{0}(C^{\perp}) = q^{k}

となります.これは単に C=qk\card{C} = q^{k} です. r=1r = 1 の場合は

w=0nwAw(C)=qk1((q1)nA1(C))\sum_{w = 0}^{n} w A_{w}(C) = q^{k - 1}\bigl( (q - 1)n - A_{1}(C^{\perp}) \bigr)

です.もし CC^{\perp} に重み 11 の符号語がなければ,

w=0nwAw(C)=qk1(q1)n\sum_{w = 0}^{n} wA_{w}(C) = q^{k - 1}(q - 1)n

となります. 重み 11 の双対符号語がないことは,各座標への写像 ccec \mapsto c_{e} が零写像ではないことを意味します. 非零な線形写像 CFqC \to \F_{q} は全射なので,各座標では 00qk1q^{k - 1} 回,非零値が合計 (q1)qk1(q - 1)q^{k - 1} 回現れます. これを全座標で合計すると,上の qk1(q1)nq^{k - 1}(q - 1)n が得られます. これは,平均的には各座標が q1q - 111 の比で非零になる,という感覚と一致します.

r=2r = 2 の場合は

w=0nAw(C)(w2)=qk2((q1)2(n2)(q1)(n1)A1(C)+A2(C))\begin{aligned} \sum_{w = 0}^{n} A_{w}(C)\binom{w}{2} &= q^{k-2}\Bigl( (q-1)^2\binom{n}{2}\\ &\qquad - (q - 1)(n - 1)A_{1}(C^{\perp}) + A_{2}(C^{\perp}) \Bigr) \end{aligned}

です. ここでは,双対符号の重み 11 と重み 22 の符号語が,二次モーメントの補正項として現れます.

冪モーメントとしてのPless恒等式

Plessの恒等式は,しばしば二項モーメントではなく,冪モーメント w=0nAw(C)wh\sum_{w = 0}^{n} A_{w}(C) w^{h} の形で書かれます. 二項モーメントから冪モーメントへ移るには,Stirling数を使います.

定義6.1.

非負整数 hh, rr に対して,第二種Stirling数 {hr}\Stirling{h}{r}

xh=s=0h{hs}x(x1)(xs+1)x^{h} = \sum_{s=0}^{h}\Stirling{h}{s} x(x - 1) \dotsm (x - s + 1)

によって定める. ただし,s=0s = 0 の項は h=0h = 0 のとき 11h>0h > 0 のとき 00 と読む.

ここで

x(x1)(xr+1)=r!(xr)x(x - 1)\dotsm(x - r + 1) = r! \binom{x}{r}

なので,

xh=r=0hr!{hr}(xr)(6.1)x^{h} = \sum_{r=0}^{h} r! \Stirling{h}{r} \binom{x}{r} \tag{6.1}

です.

定理6.2(Plessのpower moment identities).

CFqEC \leq \F_{q}^{E}[n,k][n,k] 線形符号とする. このとき,任意の非負整数 hh に対して

w=0nAw(C)wh=r=0min(h,n)r!{hr}qkrj=0r(1)j(q1)rj(njrj)Aj(C)(6.2)\begin{aligned} \sum_{w = 0}^{n} A_{w}(C) w^{h} = \sum_{r=0}^{\min(h,n)} r!\Stirling{h}{r} q^{k-r} \sum_{j=0}^{r} (-1)^{j}(q - 1)^{r - j} \binom{n - j}{r - j} A_{j}(C^{\perp}) \tag{6.2} \end{aligned}

が成り立つ.

証明

(6.1)x=wx = w を代入し,重み分布で重み付き和を取る. すると

w=0nAw(C)wh=w=0nAw(C)r=0hr!{hr}(wr)=r=0min(h,n)r!{hr}w=0nAw(C)(wr).\begin{aligned} \sum_{w = 0}^{n} A_{w}(C) w^{h} &= \sum_{w=0}^{n} A_{w}(C) \sum_{r=0}^{h} r!\Stirling{h}{r}\binom{w}{r} \\ &= \sum_{r=0}^{\min(h,n)} r! \Stirling{h}{r} \sum_{w=0}^{n} A_{w}(C)\binom{w}{r}. \end{aligned}

ここに 定理 5.1 を代入すればよい.

証明終わり

この形が,Pless [Ple63] に由来する古典的な冪モーメント恒等式です. 見た目は少し複雑ですが,構造は単純です. まず,冪 whw^{h} を二項係数 (wr)\binom{w}{r} の線形結合に展開します. 次に,二項モーメントを二重数え上げで計算します.

特に重要なのは,右辺に双対符号の低重み分布だけが現れることです. hnh \leq n の範囲では,CC^{\perp} の重み 0,1,,h0, 1, \dots, h の符号語数だけを知ればよい. 一般には,必要なのは重み 0,1,,min(h,n)0, 1, \dots, \min(h,n) までである. この性質は,具体的な符号の重み分布を決めるときに非常に有用です.

モーメントからMacWilliams恒等式を復元する

ここまでで,Plessの二項モーメント恒等式を示しました. 次に,この恒等式からMacWilliams恒等式を復元します. ポイントは,二項モーメントを母関数にまとめることです.

CC[n,k][n,k] 符号なら,CC^{\perp}[n,nk][n,n-k] 符号です. CC^{\perp} に対して 定理 5.1 を適用します. (C)=C(C^{\perp})^{\perp} = C なので,Aw=Aw(C)A_{w} = A_{w}(C) と書けば,CC^{\perp} の二項モーメントは

Mr(C)=qnkrw=0r(1)w(q1)rw(nwrw)Aw(7.1)M_{r}(C^{\perp}) = q^{n - k - r} \sum_{w = 0}^{r} (-1)^{w}(q - 1)^{r - w} \binom{n - w}{r - w} A_{w} \tag{7.1}

です.

一方,定理 3.1 より

PC(1+z)=r=0nMr(C)zrP_{C^{\perp}}(1 + z) = \sum_{r=0}^{n} M_{r}(C^{\perp})z^{r}

です. (7.1) を代入すると

PC(1+z)=r=0nqnkrw=0r(1)w(q1)rw(nwrw)Awzr=w=0nAw(1)wr=wnqnkr(q1)rw(nwrw)zr.\begin{aligned} P_{C^{\perp}}(1 + z) &= \sum_{r = 0}^{n} q^{n - k - r} \sum_{w = 0}^{r} (-1)^{w} (q - 1)^{r - w} \binom{n - w}{r - w} A_{w} z^{r} \\ &= \sum_{w = 0}^{n} A_{w}(-1)^{w} \sum_{r = w}^{n} q^{n - k - r}(q - 1)^{r - w} \binom{n - w}{r - w} z^{r}. \end{aligned}

ここで r=w+sr = w + s とおくと,内側の和は

s=0nwqnkws(q1)s(nws)zw+s=qkzws=0nw(nws)qnws(q1)szs=qkzw(q+(q1)z)nw.\begin{aligned} &\sum_{s = 0}^{n - w} q^{n - k - w - s}(q - 1)^{s} \binom{n-w}{s} z^{w + s} \\ ={}& q^{-k} z^{w} \sum_{s = 0}^{n - w} \binom{n - w}{s} q^{n - w - s}(q - 1)^{s} z^{s} \\ ={}& q^{-k} z^{w} \bigl( q + (q - 1)z \bigr)^{n - w}. \end{aligned}

したがって

PC(1+z)=1Cw=0nAw(z)w(q+(q1)z)nw.(7.2)P_{C^{\perp}}(1 + z) = \frac{1}{\card{C}} \sum_{w = 0}^{n} A_{w}(-z)^{w} \bigl( q + (q - 1)z \bigr)^{n - w}. \tag{7.2}

ここで t1+zt \coloneqq 1 + z と置きます. すると

z=1t,q+(q1)z=1+(q1)t-z = 1 - t, \qquad q + (q - 1)z = 1 + (q - 1)t

なので,(7.2)

PC(t)=1Cw=0nAw(C)(1+(q1)t)nw(1t)w(7.3)P_{C^{\perp}}(t) = \frac{1}{\card{C}} \sum_{w=0}^{n} A_{w}(C) \bigl( 1 + (q - 1)t \bigr)^{n-w}(1 - t)^{w} \tag{7.3}

となります.

最後に,この一変数の等式を斉次化します. PC(t)=WC(1,t)P_{C^{\perp}}(t) = W_{C^{\perp}}(1, t) なので,形式的に t=Y/Xt = Y/X と置いて両辺に XnX^{n} を掛けると,

WC(X,Y)=1Cw=0nAw(C)(X+(q1)Y)nw(XY)w=1CWC(X+(q1)Y,XY).\begin{aligned} W_{C^{\perp}}(X, Y) &= \frac{1}{\card{C}} \sum_{w = 0}^{n} A_{w}(C) \bigl( X + (q - 1)Y \bigr)^{n - w}(X - Y)^{w} \\ &= \frac{1}{\card{C}} W_{C}\bigl( X + (q - 1)Y, X - Y \bigr). \end{aligned}

これは多項式恒等式としての計算です. したがってMacWilliams恒等式が得られました.

定理7.1(MacWilliams恒等式).

CFqEC \leq \F_{q}^{E} を線形符号とする. このとき

WC(X,Y)=1CWC(X+(q1)Y,XY)W_{C^{\perp}}(X, Y) = \frac{1}{\card{C}} W_{C}\bigl( X + (q - 1)Y, X - Y \bigr)

が成り立つ.

この証明では,Krawtchouk多項式を名前としては使いませんでした. しかし,二項モーメントを母関数にまとめる過程で, 実質的には同じ変換係数が姿を変えて現れています. 違いは,今回の見方では重み分布をいきなり変換するのではなく, まずすべてのモーメントを計算し,そこから分布を復元しているという点です.

小さな例:長さ 33 の二元反復符号

小さな例で,モーメントから双対符号の重み分布を復元してみます. F23\F_{2}^{3} 上の反復符号

C={000,111}C = \{ 000, 111 \}

を考えます. この符号は [3,1][3,1] 符号であり,重み分布は

(A0,A1,A2,A3)=(1,0,0,1)(A_{0}, A_{1}, A_{2}, A_{3}) = (1, 0, 0, 1)

です. 双対符号 CC^{\perp} は偶数重みの語全体

C={000,011,101,110}C^{\perp} = \{ 000, 011, 101, 110 \}

なので,答えは

(1,0,3,0)(1, 0, 3, 0)

になるはずです. ここでは,これをPlessモーメントから復元します.

CC^{\perp}[3,2][3,2] 符号です. Plessの二項モーメント恒等式を CC^{\perp} に適用すると, (C)=C(C^{\perp})^{\perp} = C なので

Mr(C)=22rw=0r(1)w(3wrw)Aw(C)M_{r}(C^{\perp}) = 2^{2-r} \sum_{w=0}^{r}(-1)^{w} \binom{3-w}{r-w}A_{w}(C)

です. ここでは q=2q = 2 なので (q1)rw=1(q - 1)^{r - w} = 1 です.

順に計算します. r=0r = 0 では

M0(C)=22A0(C)=4.M_{0}(C^{\perp}) = 2^{2} A_{0}(C) = 4.

r=1r = 1 では

M1(C)=2((31)A0(C)A1(C))=23=6.M_{1}(C^{\perp}) = 2\left(\binom{3}{1}A_{0}(C) - A_{1}(C)\right) = 2 \cdot 3 = 6.

r=2r = 2 では

M2(C)=(32)A0(C)(21)A1(C)+A2(C)=3.M_{2}(C^{\perp}) = \binom{3}{2} A_{0}(C) - \binom{2}{1} A_{1}(C) + A_{2}(C) =3.

r=3r = 3 では

M3(C)=21(A0(C)A1(C)+A2(C)A3(C))=0.M_{3}(C^{\perp}) = 2^{-1}\left(A_{0}(C) - A_{1}(C) + A_{2}(C) - A_{3}(C) \right) = 0.

したがって

PC(1+z)=4+6z+3z2.P_{C^{\perp}}(1 + z) = 4 + 6z + 3z^{2}.

ここで z=t1z = t - 1 と置くと

PC(t)=4+6(t1)+3(t1)2=1+3t2.P_{C^{\perp}}(t) = 4 + 6(t - 1) + 3(t - 1)^{2} = 1 + 3t^{2}.

よって

PC(t)=1+3t2P_{C^{\perp}}(t) = 1 + 3t^{2}

であり,重み分布は

(A0(C),A1(C),A2(C),A3(C))=(1,0,3,0)(A_{0}(C^{\perp}), A_{1}(C^{\perp}), A_{2}(C^{\perp}), A_{3}(C^{\perp})) = (1, 0, 3, 0)

と復元されます.

この例では,双対符号の元を直接列挙して答えを確認しました. しかし,Plessモーメントの見方では,まず M0(C)M_{0}(C^{\perp}), M1(C)M_{1}(C^{\perp}), M2(C)M_{2}(C^{\perp}), M3(C)M_{3}(C^{\perp}) を求め,そこから PC(t)P_{C^{\perp}}(t) を復元し,最後に重み分布を読み取っています. 分布を直接当てにいくのではなく,モーメントを経由して分布を決める,という流れです.

この証明でPlessモーメントは何をしていたか

証明の中でPlessモーメントが担っていた役割を整理しておきます.

第一に,重み分布をモーメントで見る視点を導入しました. 重み分布 (A0,A1,,An)(A_{0}, A_{1}, \dots, A_{n}) を直接扱う代わりに,

w=0nAwwhw=0nAw(wr)\sum_{w=0}^{n} A_{w} w^{h} \quad\text{や}\quad \sum_{w=0}^{n} A_{w} \binom{w}{r}

を見ました. これは,正規化すれば平均値や高次平均値に対応する総和型の量,および二項モーメントによって分布を調べるという考え方です.

第二に,二項モーメントは自然な数え上げになっていました. w=0nAw(C)(wr)\displaystyle \sum_{w=0}^{n} A_{w}(C) \binom{w}{r} は,符号語 cCc \in C と,その非零座標に含まれる rr 元部分集合 SS の組を数えています. このため,二項モーメントは二重数え上げに向いています.

第三に,二重数え上げの途中で双対符号の低重み分布が現れました. SS の座標がすべて非零である符号語を数えるために包除原理を使い, 座標制限写像の核を双対符号の台が小さい部分で表しました. その結果,rr 次二項モーメントには CC^{\perp} の重み 0,1,,r0, 1, \dots, r の符号語数だけが現れました.

第四に,すべての二項モーメントを集めると重み分布全体が復元できました. 母関数

PC(1+z)=r=0nMr(C)zrP_{C}(1 + z) = \sum_{r = 0}^{n} M_{r}(C) z^{r}

を使うと,モーメント列は重み分布多項式を t=1t = 1 のまわりで展開した係数です. したがって,十分多くのモーメントを知れば,分布そのものが分かります.

今回の証明の要点は,次の一文にまとめられます.

MacWilliams恒等式は,重み分布を直接変換する公式であると同時に, 双対符号の低重み分布が元の符号のモーメントを支配するというPlessモーメント恒等式の母関数版でもある.

この回で見た概念

この回では,MacWilliams恒等式の証明を目標にしながら, Plessモーメントの基本的な道具を導入しました. 整理すると次のようになります.

重み分布

符号 CC に対して

Aw(C)={cC:wt(c)=w}A_{w}(C) = \card{\{ c \in C : \wt(c) = w \}}

で定まる数列です. 重み多項式は,この数列を二変数多項式としてまとめたものです.

冪モーメント
w=0nAw(C)wh\sum_{w = 0}^{n} A_{w}(C) w^{h}

の形の量です. 重み分布を重みの hh 乗で測ったものです.

二項モーメント
Mr(C)=w=0nAw(C)(wr)M_{r}(C) = \sum_{w = 0}^{n} A_{w}(C) \binom{w}{r}

で定まる量です. これは,符号語とその非零座標内の rr 元部分集合の組を数えています.

モーメント母関数

非斉次重み多項式 PC(t)=WC(1,t)P_{C}(t) = W_{C}(1, t) に対して

PC(1+z)=r=0nMr(C)zrP_{C}(1 + z) = \sum_{r = 0}^{n} M_{r}(C) z^{r}

が成り立ちます. 二項モーメントは,PC(t)P_{C}(t)t=1t = 1 のまわりの展開係数です.

二重数え上げ

Mr(C)M_{r}(C) を,符号語から数える方法と,座標集合を固定して数える方法の二通りで見ました. 後者では包除原理と座標制限写像が現れます.

Plessの二項モーメント恒等式

CC[n,k][n,k] 符号のとき

w=0nAw(C)(wr)=qkrj=0r(1)j(q1)rj(njrj)Aj(C)\sum_{w=0}^{n} A_{w}(C)\binom{w}{r} = q^{k-r} \sum_{j=0}^{r} (-1)^{j} (q - 1)^{r - j} \binom{n - j}{r - j} A_{j}(C^{\perp})

です. rr 次二項モーメントは,双対符号の重み 00 から rr までの分布だけで決まります.

Plessのpower moment identities

whw^{h} を二項係数 (wr)\binom{w}{r} の線形結合に展開することで, 二項モーメント恒等式から冪モーメントの公式が得られます. その変換係数として第二種Stirling数が現れます.

Plessモーメントの見方では,MacWilliams恒等式は単に「重み多項式を変数変換する公式」ではありません. それは,符号の重み分布の各モーメントが,双対符号の低重み符号語によって制御されるという, 数え上げ的な構造をまとめたものでもあります.

今回の系統の振り返り

冒頭で述べたように,今回の証明は

モーメント・二重数え上げ系

に属します. 表面的には,重み分布のモーメントを計算する証明です. しかし,深いところでは,分布そのものを直接変換するのではなく, その分布が定める数え上げ量を二通りに数え, 十分な個数のモーメントから分布を復元しています.

今回の証明の要点は,次の一文です.

重み分布をモーメント列として見直し,そのモーメントを二重数え上げで双対符号の低重み分布に結びつける.

Fourier・指標系では,双対符号は指標の直交関係から現れます. アソシエーションスキームの言葉を使う証明では, Hamming距離ごとに分類された関係を行列として扱い, それらの行列の同時固有分解から重み分布の変換を読み取る,という見方をします. 本稿ではその行列代数を使わず,同じ変換をモーメントの数え上げから取り出しました. 今回のモーメント系では,双対符号は座標制限写像の核を数える過程で現れます. 同じMacWilliams恒等式でも,見ている量が違うため,かなり違った姿になります.

次回へ

次回は,MacWilliams恒等式をマトロイドとTutte多項式の側から見ます.

今回の証明では,重み分布のモーメントを二重数え上げによって調べました. 次回は,線形符号の生成行列の列が定める組合せ構造,すなわちマトロイドを考えます. 符号の重み多項式は,対応するマトロイドのTutte多項式の特殊化として表されます. そして,双対符号は双対マトロイドに対応し,Tutte多項式の双対性からMacWilliams恒等式が出てきます.

つまり次回の主役は,

生成行列 → ベクトルマトロイド → Tutte多項式 → 双対マトロイド → MacWilliams恒等式

です. 同じMacWilliams恒等式が,今度はマトロイド不変量の双対性として現れます.

参考文献

  1. [Ple63] Vera Pless. Power moment identities on weight distributions in error correcting codes. Information and Control, vol. 6, no. 2, pp. 147–152, 1963. doi:10.1016/S0019-9958(63)90189-X ↩1 ↩2
  2. [MS77] F. J. MacWilliams and N. J. A. Sloane. The theory of error-correcting codes. I. North-Holland Publishing Co., Amsterdam-New York-Oxford, vol. Vol. 16, pp. i–xv and 1–369, 1977
  3. [HP03] W. Cary Huffman and Vera Pless. Fundamentals of Error-Correcting Codes. Cambridge University Press, 2003. doi:10.1017/CBO9780511807077
  4. [Ple98] Vera Pless. Introduction to the theory of error-correcting codes. John Wiley & Sons, Inc., New York, pp. xiv+207, 1998. doi:10.1002/9781118032749

この連載

MacWilliams恒等式で学ぶシリーズ · 第6回 / 全12回

連載一覧へ戻る

免責事項

当サイトの記事は、運営者個人の理解・調査・研究メモに基づいて作成しています。内容については正確であるよう努めていますが、誤りや不十分な記述が含まれる可能性があります。正確性・完全性・有用性・最新性を保証するものではありません。

当サイトの情報の利用は、利用者ご自身の判断と責任において行ってください。当サイトの情報を利用したこと、または利用できなかったことにより生じた損害、損失、不利益等について、運営者は法律上許される範囲において責任を負いません。

ただし、記事内容の誤り、不明確な記述、リンク切れ、出典の不備等にお気づきの場合は、運営者までご連絡いただけると幸いです。内容を確認し、必要に応じて訂正・追記・削除等の対応を行います。