資料・アプリへ戻る

数学記事・メモ

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

MacWilliams恒等式で学ぶ格子とテータ関数入門

MacWilliams恒等式の五つの証明系統のうち,格子・テータ関数として見える証明に着目し,ユークリッド空間の格子,双対格子,余体積,Poisson和公式,格子テータ関数,構成法Aを導入する.本文では,必要な解析的標準事実を明記した上で,主に素体上の線形符号の場合を証明し,一般の有限体の場合は最後に拡張の見取り図を述べる.
公開:
更新:
読了目安:
52分 (約30,996字)
Tagscoding theoryMacWilliams identitylatticestheta functionsConstruction APoisson summationFourier transformfinite fieldscomplete weight enumeratorexpository note

はじめに

符号理論における基本定理の一つに,MacWilliams恒等式があります. EE を座標集合,n#En \coloneqq \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} (support) と Hamming重み (Hamming weight) を

supp(c){eE:ce0},wt(c)#supp(c)\supp(c) \coloneqq \{ e \in E : c_{e} \neq 0 \}, \qquad \wt(c) \coloneqq \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)=1#CWC(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恒等式の証明は知らなくても問題ありません).

格子の節では,大学初年級の線形代数,特に基底,行列式,転置行列,逆行列を使います. 部分格子の指数では,商群と有限指数部分群の初歩を使います. Smith標準形を知らない読者は,部分格子の指数と余体積の公式を標準事実として認めても構いません.

本稿は第1回から第10回を前提にしません. 連載全体ではMacWilliams恒等式の複数の証明を比較していますが, 本稿だけを読むために過去回の内容は必要ありません. 必要な範囲の格子,双対格子,余体積,Fourier変換,Poisson和公式,テータ関数,構成法Aは本文中で導入します. ただし,Fourier変換の基本性質やPoisson和公式そのものの証明まで追うには, 多変数微積分,Lebesgue積分,優収束定理,Fubini・Tonelliの定理, Fourier級数の基礎を使います. これは過去回への依存ではなく,本稿内の解析的な証明を詳しく読むための追加の予備知識です. 記事の主線だけを追う場合は,解析部分の証明を読み飛ばしても構いません. その場合は,後半で使う標準事実として,

  1. Schwartz関数の定義と基本的な急減少性,

  2. 任意の点の十分小さい近傍に台を持ち,その点で指定された値を取る滑らかなコンパクト台関数,すなわちbump関数を構成できること,

  3. ガウス関数のFourier変換,

  4. Fourier変換がSchwartz関数空間の自己同型であること,

  5. 積型関数のFourier変換が座標ごとの積に分解すること,

  6. 格子版Poisson和公式,

  7. 平行移動された一次元Poisson和公式

を認めれば十分です. 構成法A:符号から格子を作る まで読んだあと, Fourier変換とPoisson和公式の要約 で採用する Fourier変換の規約と定理文を確認し, 格子テータ関数 から読み進めれば主線に戻れます. 詳細な解析的証明は 付録:Fourier変換とPoisson和公式の証明 にまとめています.

この連載では,MacWilliams恒等式の証明手法を大きく次の五つの系統に分けて眺めています. ただし,この分類は連載全体の見取り図であり,本稿の証明を読むために必須ではありません:

  1. Fourier・指標・Poisson系.

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

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

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

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

今回扱う証明は,表面的には

格子・双対格子・構成法A・テータ関数・Poisson和公式

の言葉で書かれます. 五つの系統に圧縮すれば,これは「Fourier・指標・Poisson系」に属します. なぜなら,格子テータ関数の変換公式はPoisson和公式から来ており, そのPoisson和公式は連続的なFourier解析の基本公式だからです. ただし,本稿の主役は有限アーベル群の指標論ではありません. 今回の目標は,MacWilliams恒等式の証明を案内役として, ユークリッド空間の格子テータ関数に入門することです.

一つ注意があります. 標準整数格子を使う構成法Aは,合同式 ZZ/pZFp\Z \to \Z/p\Z \cong \F_{p} と最も自然に結び付きます. そのため,本稿の本文では,まず q=pq = p が素数である場合,すなわち CFpEC \leq \F_{p}^{E} のMacWilliams恒等式を扱います. 一般の q=pdq = p^{d} の場合も,Fq\F_{q}Fp\F_{p} 上の dd 次元ベクトル空間としてブロック化したり, 数体の整数環の剰余体を使ったりすることで同じ思想を実現できます. しかし,格子・テータ関数への入門としては,まず pp 元符号で本質を見た方が見通しがよいです. したがって,本稿では素体の場合を主筋とし,最後に一般の有限体への拡張について簡単に触れます.

今回の見取り図は次の通りです. まず,pp 元線形符号 CFpEC \leq \F_{p}^{E} から,構成法Aによってユークリッド空間 RE\R^{E} 内の格子

Λ(C)={mpRE:mZE,mmodpC}\Lat(C) = \left\{ \frac{m}{\sqrt{p}} \in \R^{E} : m \in \Z^{E},\, m \bmod p \in C \right\}

を作ります. この格子の双対格子は,双対符号から作った格子 Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp}) になります. ここにPoisson和公式を適用します. ガウス関数 xeπtx2x \mapsto \e^{-\pi t\norm{x}^{2}} を格子点上で足し上げると,格子テータ関数とその変換公式が現れます. さらに,ガウス関数に限らず任意のSchwartz関数を使い, 剰余類ごとの一座標和を独立に指定します. この自由度から,完全重み多項式版MacWilliams恒等式を多項式恒等式として取り出します. 最後に非零記号を一つの変数にまとめることで,通常のHamming重み版のMacWilliams恒等式を得ます.

構成法Aと符号・格子の関係については Conway–Sloane [CS99] や Ebeling [Ebe94] が標準的な参考文献です. 格子とテータ関数,Poisson和公式については Serre [Ser73] も古典的で読みやすい文献です. 二元符号の重み多項式と格子テータ関数の関係を扱う 先駆的な文献としては Broué–Enguehard [BE72] があります. pp 元線形符号のHamming重みMacWilliams恒等式を テータ関数から解析的に証明する文献としては Keyes [Key12] があります. 本稿ではこれらの一般論をすべて展開するのではなく, 必要な解析的標準事実を明記した上で扱う Fp\F_{p} 上の線形符号の場合に必要な部分だけを取り出して説明します. 一般の Fpd\F_{p^{d}} 上の場合は,最後に拡張の見取り図として述べます.

ユークリッド空間の格子

まず,格子という言葉を導入します. ここでいう格子は,英語でいうとlatticeですが, 順序論で現れるlattice(束)とは全く別の概念です1. 本稿でいう格子は,ユークリッド空間の中に規則正しく並んだ離散的な点集合です.

定義2.1.

Rn\R^{n} の部分集合 Λ\Lat格子 (lattice) であるとは, Rn\R^{n} の一次独立なベクトル b1,b2,,brRnb_{1}, b_{2}, \dots, b_{r} \in \R^{n} が存在して

Λ=Zb1+Zb2++Zbr={m1b1++mrbrm1,,mrZ}\Lat = \Z b_{1} + \Z b_{2} + \dots + \Z b_{r} = \left\{ m_{1}b_{1} + \dots + m_{r}b_{r} \mid m_{1}, \dots, m_{r} \in \Z \right\}

と書けることをいう. このとき rrΛ\Lat階数 (rank) という. 特に r=nr = n のとき,Λ\Latフルランク格子 (full-rank lattice) という.

定義に現れる一次独立なベクトル b1,,brb_1,\dots,b_r を,格子 Λ\Lat格子基底と呼びます. 一次独立性により,各格子点 m1b1++mrbrm_1b_1+\dots+m_rb_r の整数係数表示は一意です. 後で出てくる「別の格子基底」や「基底行列」は,このような生成ベクトルの組と, それらを列に並べた行列を指します.

この定義から,格子は有界集合の中に有限個の点しか持たないことが分かります. B=(b1br)B=(b_1\,\cdots\,b_r) とおき,

Λ=BZr\Lat=B\Z^r

と書きます. b1,,brb_1,\dots,b_r が一次独立であることは,線形写像 B ⁣:RrRnB\colon\R^r\to\R^n が単射であることを意味します. したがって単位球面上での Bu\norm{Bu} の最小値は正であり,ある定数 c>0c>0 が存在して

Bucu(uRr)\norm{Bu}\geq c\norm{u} \qquad(u\in\R^r)

が成り立ちます. よって

BmR(mZr)\norm{Bm}\leq R \qquad(m\in\Z^r)

を満たす整数ベクトル mm は,mR/c\norm{m}\leq R/c を満たす有限個に限られます. この局所有限性により,有界球内の格子点は有限個であり, 後で定義する NΛ(s)N_{\Lat}(s) も有限になります. また,テータ級数を長さの二乗ごとにまとめ直すときにも,この事実を使います.

本稿では,主に RE\R^{E} のフルランク格子を扱います. ここで EE は有限集合で,n#En \coloneqq \card{E} とおきます. 必要なら E={1,2,,n}E = \{ 1, 2, \dots, n \} と考えてください.

例2.2(標準整数格子).

最も基本的な格子は標準整数格子 (standard integer lattice) ZnRn\Z^{n} \subseteq \R^{n} である.Zn\Z^{n} は標準基底 e1,,en\bm{e}_{1}, \dots, \bm{e}_{n} を使って

Zn=Ze1++Zen\Z^{n} = \Z \bm{e}_{1} + \dots + \Z \bm{e}_{n}

と書ける.

例2.3(一次元格子).

R\R において,任意の α>0\alpha > 0 に対して

αZ={αmmZ}\alpha\Z = \{ \alpha m \mid m \in \Z \}

は格子である. αZ\alpha\Z は点と点の間隔が α\alpha の等間隔な点集合である.

格子を考えるとき,基本領域とその体積が重要になります. フルランク格子 Λ=Zb1++ZbnRn\Lat = \Z b_{1} + \dots + \Z b_{n} \subseteq \R^{n} に対して,半開平行多面体

P(b1,,bn)={t1b1++tnbn0ti<1}\mathcal{P}(b_{1}, \dots, b_{n}) = \left\{ t_{1}b_{1} + \dots + t_{n}b_{n} \mid 0 \leq t_{i} < 1 \right\}

を考えます. これは,格子による平行移動で Rn\R^{n} を敷き詰める一つの基本領域です. 実際,B=(b1bn)B=(b_1\,\cdots\,b_n) と書けば P=B[0,1)n\mathcal P=B[0,1)^n です. 任意の xRnx\in\R^n に対して,u=B1xu=B^{-1}x を各座標で整数部分と小数部分に分けると,一意に

x=Bm+Bt,mZn,t[0,1)nx=Bm+Bt, \qquad m\in\Z^n,\quad t\in[0,1)^n

と書けます. したがって集合族

{P+λ:λΛ}\{\mathcal P+\lambda:\lambda\in\Lat\}

Rn\R^n を互いに素に分割します.

定義2.4.

フルランク格子 ΛRn\Lat \subseteq \R^{n} の基底を b1,,bnb_{1}, \dots, b_{n} とする. これらを列に持つ行列を B=(b1bn)B = (b_{1}\, \cdots \, b_{n}) と書く.このとき

vol(Rn/Λ)detB\vol(\R^{n}/\Lat) \coloneqq \abs{\det B}

Λ\Lat余体積 (covolume) という.

Rn/Λ\R^n/\Lat は,差が格子ベクトルである二点を同一視して得られる商空間です. 幾何的には,基本領域の向かい合う面を貼り合わせたトーラスと見られます. 余体積は,その基本領域のユークリッド体積として定義されています. 平均的な格子点密度は余体積の逆数と考えられ,この直感はPoisson和公式で 余体積の逆数が係数として現れることにもつながります.

別の格子基底を選び,その基底行列を BB' と書くと,ある可逆整数行列 UU により

B=BU,UGLn(Z),detU=±1B'=BU, \qquad U\in\mathrm{GL}_n(\Z), \qquad \det U=\pm1

と書けます. したがって

detB=detBdetU=detB\abs{\det B'}=\abs{\det B}\abs{\det U}=\abs{\det B}

であり,余体積は基底の選び方に依存しません.

例2.5.

Zn\Z^{n} の余体積は 11 である. また,一次元格子 αZR\alpha\Z \subseteq \R の余体積は α\alpha である.

直感的には,余体積が小さいほど格子点は密に詰まっています. 符号から作る格子では,符号 CC が大きいほど合同条件が緩くなり,格子点が増えます. そのため,余体積は #C\card{C} と反比例する形で現れます.

命題2.6(部分格子とスカラー倍の余体積).

LLRnL^{\prime} \subseteq L \subseteq \R^{n} を有限指数のフルランク部分格子とする. ここで [L:L]\lbrack L:L^{\prime}\rbrack は剰余類の個数,すなわち商群 L/LL/L^{\prime} の位数である. このとき

vol(Rn/L)=[L:L]vol(Rn/L)\vol(\R^{n}/L^{\prime}) = \lbrack L:L^{\prime} \rbrack \,\vol(\R^{n}/L)

が成り立つ. また,γR{0}\gamma \in \R \setminus \{ 0 \} に対して

vol(Rn/γL)=γnvol(Rn/L)\vol(\R^{n}/\gamma L) = \abs{\gamma}^{n}\vol(\R^{n}/L)

が成り立つ.

証明

L=BZnL = B\Z^{n} と書く. LLL^{\prime} \subseteq L が有限指数なら,ある整数行列 AA が存在して

L=BAZnL^{\prime} = BA\Z^{n}

と書ける. このとき L/LZn/AZnL/L^{\prime}\cong\Z^{n}/A\Z^{n} であり, Smith標準形からその位数は detA\abs{\det A} である. したがって [L:L]=detA\lbrack L:L^{\prime} \rbrack = \abs{\det A} であり,

vol(Rn/L)=det(BA)=detAdetB=[L:L]vol(Rn/L)\vol(\R^{n}/L^{\prime}) = \abs{\det(BA)} = \abs{\det A}\abs{\det B} = \lbrack L : L^{\prime} \rbrack \,\vol(\R^{n}/L)

となる. スカラー倍については,γL=(γB)Zn\gamma L = (\gamma B) \Z^{n} であるから

vol(Rn/γL)=det(γB)=γndetB\vol(\R^{n}/\gamma L) = \abs{\det(\gamma B)} = \abs{\gamma}^{n}\abs{\det B}

となる.

証明終わり

双対格子

次に双対格子を導入します. 符号理論で双対符号が重要だったように,格子論でも双対格子が重要です.

Rn\R^{n} には標準内積

x,y=x1y1++xnyn\inner{x}{y} = x_{1}y_{1} + \dots + x_{n}y_{n}

があります. 座標集合 EE を使って書くなら

x,y=eExeye\inner{x}{y} = \sum_{e \in E} x_{e}y_{e}

です. この内積から定まるノルムを

x=x,x\norm{x} = \sqrt{\inner{x}{x}}

と書きます.

定義3.1.

フルランク格子 ΛRn\Lat \subseteq \R^{n} に対して, その双対格子 (dual lattice) を

Λ{yRn:x,yZ for all xΛ}\Lat^{\ast} \coloneqq \{ y \in \R^{n}: \inner{x}{y} \in \Z \text{ for all } x \in \Lat \}

で定める.

符号の双対では,内積が Fp\F_{p} 上で 00 になる条件が現れます. 一方,格子の双対では,実内積が整数になる条件が現れます. 構成法Aでは,後者の整数条件を pp で還元すると前者の直交条件が現れます. これはPoisson和公式で使う指数関数 exp(2π1x,y)\exp(2\pi\iu\inner{x}{y}) を見ると自然です. この関数が任意の λΛ\lambda \in \Lat による平行移動で不変であるための条件は

exp(2π1λ,y)=1\exp(2\pi\iu\inner{\lambda}{y})=1

であり,これは λ,yZ\inner{\lambda}{y} \in \Z と同値です. そのため,双対格子の定義はPoisson和公式に自然に適合しています.

例3.2.

Zn\Z^{n} の双対格子は Zn\Z^{n} 自身である. 実際,yRny \in \R^{n} がすべての xZnx \in \Z^{n} と整数値内積を持つことは, 各標準基底 ei\bm{e}_{i} に対して

ei,y=yiZ\inner{\bm{e}_{i}}{y} = y_{i} \in \Z

であることと同値である.

例3.3.

一次元格子 αZR\alpha\Z \subseteq \R の双対格子は

(αZ)=α1Z(\alpha\Z)^{\ast} = \alpha^{-1}\Z

である. 実際,yRy \in \R がすべての αm\alpha m (mZm \in \Z) と整数値積を持つことは, αyZ\alpha y \in \Z であることと同値である.

双対格子と余体積には,次の関係があります.

命題3.4.

フルランク格子 ΛRn\Lat \subseteq \R^{n} に対して

vol(Rn/Λ)=vol(Rn/Λ)1\vol(\R^{n}/\Lat^{\ast}) = \vol(\R^{n}/\Lat)^{-1}

が成り立つ.

証明

Λ\Lat の基底を b1,,bnb_{1}, \dots, b_{n} とし,これらを列に持つ行列を BB とする. このとき Λ=BZn\Lat = B\Z^{n} である. yΛy \in \Lat^{\ast} であることは,任意の mZnm \in \Z^{n} に対して

Bm,y=mByZ\inner{Bm}{y} = m^{\top}B^{\top} y \in \Z

であることと同値である. これは ByZnB^{\top}y \in \Z^{n} と同値であるから,

Λ=(B)1Zn\Lat^{\ast} = (B^{\top})^{-1}\Z^{n}

となる. これは行列計算だけでなく,基底と双対基底の対応を表している. 実際,(B)1(B^{\top})^{-1} の列を b1,,bnb_{1}^{\ast}, \dots, b_{n}^{\ast} と書けば, 元の基底 b1,,bnb_{1}, \dots, b_{n} に対して

bi,bj=δij\inner{b_{i}}{b_{j}^{\ast}} = \delta_{ij}

を満たす. ここで δij\delta_{ij} はKroneckerのデルタ,すなわち i=ji = j のとき 11,それ以外のとき 00 である. したがって,(B)1Zn(B^{\top})^{-1}\Z^{n} は双対基底の整数結合全体である. よって

vol(Rn/Λ)=det((B)1)=detB1=vol(Rn/Λ)1\vol(\R^{n}/\Lat^{\ast}) = \abs{\det((B^{\top})^{-1})} = \abs{\det B}^{-1} = \vol(\R^{n}/\Lat)^{-1}

となる.

証明終わり

双対格子は,Poisson和公式の右辺に現れます. 今回のMacWilliams恒等式の証明では,

符号の双対性が格子の双対性に変わり,Poisson和公式が格子と双対格子の和を結ぶ

という流れになります.

構成法A:符号から格子を作る

ここから符号理論に戻ります. 本稿の本文では pp を素数とし,有限体を Fp=Z/pZ\F_{p} = \Z/p\Z と同一視します. EE を座標集合とし,n#En \coloneqq \card{E} と置きます. 以後,指数関数や a/pa/\sqrt{p} のような実数式に Fp\F_{p} の元 aa を入れるときは, 標準代表 0,1,,p10, 1, \dots, p - 1 を用います. この約束は,剰余類テータ関数や一座標Poisson和公式で使います.

自然な剰余写像

ρ ⁣:ZEFpE,xxmodp\rho \colon \Z^{E} \to \F_{p}^{E}, \qquad x \mapsto x\bmod p

を考えます. pp 元線形符号 CFpEC \leq \F_{p}^{E} に対して,まず

L(C)ρ1(C)={mZE:mmodpC}L(C) \coloneqq \rho^{-1}(C) = \{ m \in \Z^{E} : m \bmod{p} \in C \}

を考えます.これは ZE\Z^{E} の部分格子です.実際, L(C)L(C) は剰余写像の逆像なので,ZE\Z^E の加法部分群です.

pZEL(C)ZEp\Z^{E} \subseteq L(C) \subseteq \Z^{E}

なので,商群 ZE/L(C)\Z^{E}/L(C) は有限です. したがって L(C)L(C)ZE\Z^{E} の有限指数部分群です. Smith標準形から従う標準事実として,ZE\Z^{E} の有限指数部分群は階数 nn の自由アーベル群です. よって L(C)L(C)nn 本の一次独立な整数ベクトルを格子基底に持ち,RE\R^{E} のフルランク格子です. L(C)L(C) は,符号 CC を標準整数格子 ZE\Z^E の中へ持ち上げて得られる, 正規化前の格子です. 文献によっては,この正規化前の格子 L(C)L(C) 自体を 構成法A格子と呼ぶこともあります. 本稿では,双対格子との対応をきれいにするため,さらに 1/p1/\sqrt{p} 倍して次を定義します.

定義4.1(構成法A).

CFpEC \leq \F_{p}^{E}pp 元線形符号とする. CC から得られる構成法A格子 (Construction A lattice) を

Λ(C)1pL(C)={mpRE:mZE,mmodpC}\Lat(C) \coloneqq \frac{1}{\sqrt{p}}L(C) = \left\{ \frac{m}{\sqrt{p}} \in \R^{E} : m \in \Z^{E},\, m \bmod{p} \in C \right\}

で定める.

L(C)L(C)Λ(C)\Lat(C) の違いを明確にしておきます. L(C)L(C) は,符号 CC を標準整数格子 ZE\Z^E の中へ持ち上げて得られる 正規化前の格子であり,

Λ(C)=p1/2L(C)\Lat(C) = p^{-1/2}L(C)

は,それを双対性に適するよう正規化した構成法A格子です. 本稿でいう格子は,ユークリッド空間の離散的な点集合であり,各座標が整数である必要はありません. したがって,一般の CC に対し,正規化後の Λ(C)\Lat(C)ZE\Z^E の部分集合とは限りません. また,格子論で整格子integral lattice)というと,任意の二つの格子点の内積が整数になる格子, すなわち ΛΛ\Lat\subseteq\Lat^\ast を指します. これは,ZE\Z^E 自体を指す標準整数格子とは別の概念です. この p1/2p^{-1/2} 倍は,双対格子との対応を簡潔にするための正規化です. 本稿でこの正規化を採用する理由は,双対格子が

Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp})

という非常にきれいな形になることです. もし 1/p1/\sqrt{p} を掛けないと,双対格子は (1/p)L(C)(1/p)L(C^{\perp}) のように書かれ, 少し見通しが悪くなります.

例4.2(二つの端の例).

C={0}FpnC = \{ 0 \} \leq \F_{p}^{n} のとき,

L(C)=pZn,Λ(C)=pZnL(C) = p\Z^{n}, \qquad \Lat(C) = \sqrt{p}\,\Z^{n}

である.一方,C=FpnC = \F_{p}^{n} のとき,

L(C)=Zn,Λ(C)=1pZnL(C) = \Z^{n}, \qquad \Lat(C) = \frac{1}{\sqrt{p}}\Z^{n}

である.この二つの格子は互いに双対であり,余体積はそれぞれ

pn/2,pn/2p^{n/2}, \qquad p^{-n/2}

である.

例4.3(二元長さ二の反復符号).

p=2p = 2 とし,

C={00,11}F22C = \{00,11\}\leq\F_{2}^{2}

を考える.このとき

L(C)=Z(1,1)+Z(1,1)L(C) = \Z(1,1)+\Z(1,-1)

である.したがって Λ(C)=21/2L(C)\Lat(C)=2^{-1/2}L(C)

12(1,1),12(1,1)\frac{1}{\sqrt2}(1,1), \qquad \frac{1}{\sqrt2}(1,-1)

を正規直交基底に持つ. つまり Λ(C)\Lat(C)Z2\Z^2 を直交変換した格子であり,余体積は 11 で,自己双対である. これは C=CC = C^\perp に対応している.

まず余体積を計算します.

命題4.4.

CFpEC \leq \F_{p}^{E}kk 次元の Fp\F_{p} 線形符号とする. このとき

vol(RE/Λ(C))=pn/2k\vol(\R^{E}/\Lat(C)) = p^{n/2-k}

が成り立つ.

証明

剰余写像 ρ ⁣:ZEFpE\rho \colon \Z^{E} \to \F_{p}^{E} は全射であり, L(C)=ρ1(C)L(C) = \rho^{-1}(C) である.写像

m+L(C)(mmodp)+Cm + L(C) \mapsto (m \bmod p) + C

は定まり,群同型 ZE/L(C)FpE/C\Z^{E}/L(C) \cong \F_{p}^{E}/C を与える. よって

[ZE:L(C)]=#FpE/C=pnk\lbrack \Z^{E} : L(C) \rbrack = \card{\F_{p}^{E}/C} = p^{n-k}

である. ここで CCkk 次元の Fp\F_{p} 線形空間なので #C=pk\card{C} = p^{k} である. ZE\Z^{E} の余体積は 11 なので,命題 2.6 より

vol(RE/L(C))=pnk\vol(\R^{E}/L(C)) = p^{n - k}

が得られる. 次に,L(C)L(C)1/p1/\sqrt{p} 倍すると,命題 2.6 より nn 次元の体積は pn/2p^{-n/2} 倍される. したがって

vol(RE/Λ(C))=pn/2pnk=pn/2k\vol(\R^{E}/\Lat(C)) = p^{-n/2}p^{n-k} = p^{n/2-k}

を得る.

証明終わり

次に,最も重要な双対性を確認します. ここで,任意のフルランク格子 LLαR{0}\alpha\in\R\setminus\{0\} に対して

(αL)=α1L(\alpha L)^\ast=\alpha^{-1}L^\ast

であることを使います. 実際,y(αL)y\in(\alpha L)^\ast であることは,すべての xLx\in L に対して αx,yZ\inner{\alpha x}{y} \in \Z,すなわち x,αyZ\inner{x}{\alpha y} \in \Z であることと同値です.

定理4.5(構成法Aと双対).

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

Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp})

が成り立つ.

証明

まず L(C)=ρ1(C)L(C) = \rho^{-1}(C) と書く. Λ(C)=p1/2L(C)\Lat(C) = p^{-1/2}L(C) なので,

Λ(C)=p1/2L(C)\Lat(C)^{\ast} = p^{1/2}L(C)^{\ast}

である. したがって,L(C)=p1L(C)L(C)^{\ast} = p^{-1}L(C^{\perp}) を示せばよい.

yL(C)y \in L(C)^{\ast} とする. pejp\bm{e}_{j} は任意の標準基底ベクトル ej\bm{e}_{j} (jEj \in E) に対して L(C)L(C) に属するので,

y,pejZ\inner{y}{p \bm{e}_{j}} \in \Z

である.したがって,すべての座標について pyjZp y_{j} \in \Z である. よって,ある zZEz \in \Z^{E} が存在して y=zpy = \frac{z}{p} と書ける.

さらに,任意の mL(C)m \in L(C) に対して

y,m=1peEzemeZ\inner{y}{m} = \frac{1}{p}\sum_{e \in E} z_{e}m_{e} \in\Z

である.これは

eE(zemodp)(memodp)=0in Fp\sum_{e \in E}(z_{e} \bmod{p})(m_{e} \bmod{p}) = 0 \quad\text{in } \F_{p}

を意味する. mmodpm \bmod{p}CC 全体を動くので,これは zmodpCz \bmod{p} \in C^{\perp} と同値である. したがって zL(C)z \in L(C^{\perp}) であり, yp1L(C)y \in p^{-1}L(C^{\perp}) となる.

逆に,zL(C)z \in L(C^{\perp}) とし,y=z/py = z/p とおく. 任意の mL(C)m \in L(C) に対して,zmodpCz \bmod{p} \in C^{\perp} かつ mmodpCm \bmod{p} \in C なので

eEzeme0(modp)\sum_{e \in E} z_{e}m_{e} \equiv 0 \pmod{p}

である.したがって

y,m=1peEzemeZ\inner{y}{m} = \frac{1}{p}\sum_{e \in E} z_{e}m_{e} \in \Z

であり,yL(C)y \in L(C)^{\ast} である. よって

L(C)=p1L(C)L(C)^{\ast} = p^{-1}L(C^{\perp})

が示された. これに p1/2p^{1/2} を掛ければ

Λ(C)=p1/2p1L(C)=p1/2L(C)=Λ(C)\Lat(C)^{\ast} = p^{1/2}p^{-1}L(C^{\perp}) = p^{-1/2}L(C^{\perp}) = \Lat(C^{\perp})

を得る.

証明終わり

この定理が,構成法Aを使う理由です. 符号の双対性 CCC \leftrightarrow C^{\perp} が,格子の双対性 Λ(C)Λ(C)\Lat(C) \leftrightarrow \Lat(C)^{\ast} に変換されます. したがって,双対格子を扱うPoisson和公式を使うと,双対符号が自然に現れます.

この定理から,自己直交性・自己双対性も格子側に翻訳できます. 構成法A格子の包含関係は元の符号の包含関係に対応するので,

CC    Λ(C)Λ(C)C \subseteq C^{\perp} \iff \Lat(C) \subseteq \Lat(C)^{\ast}

です. 実際,構成法Aでは CDC \subseteq DΛ(C)Λ(D)\Lat(C) \subseteq \Lat(D) が同値です. 一方向は定義から従い,逆方向は cCc\in C の整数代表 mZEm \in \Z^{E} を取って m/pΛ(C)Λ(D)m/\sqrt{p} \in \Lat(C) \subseteq \Lat(D) と見れば分かります. したがって,Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp}) を使うと上の同値が得られます. 同様に,

C=C    Λ(C)=Λ(C)C = C^{\perp} \iff \Lat(C) = \Lat(C)^{\ast}

です.

Fourier変換とPoisson和公式の要約

ここでは,後で使う解析的事実について, 採用するFourier変換の規約を明示した上で,定義と定理文だけをまとめます. 詳細な証明は 付録:Fourier変換とPoisson和公式の証明 に回します. 主線では,この節の内容を標準事実として認めれば十分です.

多重指数

α=(α1,,αn)Z0n\alpha=(\alpha_1,\dots,\alpha_n)\in\Z_{\geq0}^{n}

に対して

α1α1++αn,xαx1α1xnαn,αα1x1α1xnαn\lvert\alpha\rvert_1 \coloneqq \alpha_1+\cdots+\alpha_n, \qquad x^\alpha \coloneqq x_1^{\alpha_1}\cdots x_n^{\alpha_n}, \qquad \partial^\alpha \coloneqq \frac{\partial^{\lvert\alpha\rvert_1}} {\partial x_1^{\alpha_1}\cdots\partial x_n^{\alpha_n}}

と書きます. ここで α1\lvert\alpha\rvert_1 は多重指数 α\alpha の全次数 α1++αn\alpha_1+\cdots+\alpha_n を表します. 数や行列式の絶対値には,引き続き \abs{\cdot} を使います.

定義5.1.

滑らかな関数 f ⁣:RnCf\colon\R^n\to\CSchwartz関数であるとは,任意の多重指数 α,βZ0n\alpha,\beta\in\Z_{\geq0}^{n} に対して

supxRnxαβf(x)<\sup_{x\in\R^n} \abs{x^\alpha\partial^\beta f(x)} <\infty

が成り立つことをいう.

これは,ff とそのすべての偏微分が,無限遠で任意の多項式より速く 00 に近づくという条件を厳密に書いたものです. 実際,任意の非負整数 NN と多重指数 β\beta に対して

βf(x)AN,β(1+x)N\abs{\partial^\beta f(x)} \leq A_{N,\beta}(1+\norm{x})^{-N}

となる定数 AN,βA_{N,\beta} が存在します. これは,ある定数 CN>0C_N>0 について

(1+x)NCNα1Nxα(1+\norm{x})^N \leq C_N\sum_{\lvert\alpha\rvert_1\leq N}\abs{x^\alpha}

と有限個の単項式で評価できることから従います. 特に N>nN>n とすれば,ff とそのすべての偏微分は絶対可積分です. さらに,多項式とSchwartz関数の積もSchwartz関数です. 任意の点の十分小さい近傍に台を持ち,その点で指定された値を取る滑らかなコンパクト台関数, すなわちbump関数も標準的に構成できます. Schwartz関数の典型例はガウス関数

ft(x)=eπtx2(t>0)f_{t}(x) = \e^{-\pi t\norm{x}^{2}} \qquad(t > 0)

です.

定義5.2.

Schwartz関数 f ⁣:RnCf \colon \R^{n} \to \CFourier変換 (Fourier transform) を

f^(y)Rnf(x)e2π1x,ydx\what{f}(y) \coloneqq \int_{\R^{n}} f(x)\e^{-2\pi\iu\inner{x}{y}} \dd x

で定める.

ここでは,指数に 2π2\pi を含めるFourier変換の規約を採用します. この規約は,Poisson和公式を簡潔に書くのに適しています. この規約では,ガウス関数のFourier変換は次の形になります.

定理5.3(ガウス関数のFourier変換).

t>0t > 0 とし,ft(x)=eπtx2f_{t}(x)=\e^{-\pi t\norm{x}^{2}} とおく. このとき

ft^(y)=tn/2eπy2/t\what{f_t}(y) = t^{-n/2}\e^{-\pi \norm{y}^{2}/t}

が成り立つ.

命題5.4(Schwartz空間上のFourier変換).

Fourier変換について,次が成り立つ.

  1. ff がSchwartz関数なら,f^\what{f} もSchwartz関数である.

  2. 上で採用したFourier変換の規約では

    f^^(x)=f(x)\what{\what{f}}(x) = f(-x)

    が成り立つ.

  3. したがって,Fourier変換はSchwartz関数の空間の 線形自己同型である.

  4. 一変数Schwartz関数 f ⁣:RCf \colon \R \to \C

    fE(x)=eEf(xe)f_{E}(x) = \prod_{e \in E} f(x_{e})

    に対して,fEf_ERE\R^E 上のSchwartz関数であり,

    fE^(y)=eEf^(ye)\what{f_{E}}(y) = \prod_{e \in E} \what{f}(y_{e})

    が成り立つ.

次が今回の中心となるPoisson和公式です.

定理5.5(Poisson和公式).

ΛRn\Lat\subseteq\R^{n} をフルランク格子とし,f ⁣:RnCf\colon\R^{n}\to\C をSchwartz関数とする. このとき

xΛf(x)=1vol(Rn/Λ)yΛf^(y)(5.1)\sum_{x\in\Lat}f(x) = \frac{1}{\vol(\R^{n}/\Lat)} \sum_{y\in\Lat^{\ast}}\what{f}(y) \tag{5.1}

が成り立つ.

この公式は,格子上の和を双対格子上の和へ変換します. 右辺に余体積の逆数が現れるのは,格子の密度の違いを補正していると見られます. 例えば Λ=Zn\Lat=\Z^{n} の場合は Λ=Zn\Lat^{\ast}=\Z^{n} かつ余体積が 11 なので,

mZnf(m)=mZnf^(m)\sum_{m\in\Z^{n}}f(m) = \sum_{m\in\Z^{n}}\what{f}(m)

という形になります.

後で一座標の剰余類和に使うため,平行移動された一次元格子に対する形も書いておきます.

系5.6(平行移動版Poisson和公式).

f ⁣:RCf \colon \R \to \C をSchwartz関数,h>0h > 0x0Rx_{0} \in \R とする. このとき

rZf(x0+rh)=1hsZexp(2π1sx0/h)f^(s/h)(5.2)\sum_{r \in \Z} f(x_{0} + rh) = \frac{1}{h} \sum_{s \in \Z} \exp(2\pi\iu\,s x_{0}/h)\, \what{f}(s/h) \tag{5.2}

が成り立つ.

Poisson和公式は,この回の基礎となる原理です. 有限アーベル群上のMacWilliams恒等式を「有限Poisson和公式」と見ることができますが, 本稿ではユークリッド空間上のPoisson和公式を使います. このため,今回の証明は同じFourier・指標・Poisson系に属していても, 連続解析と格子の言葉で書かれます.

格子テータ関数

Poisson和公式にガウス関数を代入すると,格子テータ関数の変換公式が得られます. これは,格子とテータ関数がMacWilliams恒等式の証明に現れる一つの理由です. ここからはPoisson和公式を道具として認め,符号と格子の主線に戻ります.

定義6.1.

フルランク格子 ΛRn\Lat \subseteq \R^{n} に対して,そのテータ関数 (theta function) またはテータ級数 (theta series) を

ΘΛ(t)xΛeπtx2(t>0)\Theta_{\Lat}(t) \coloneqq \sum_{x \in \Lat} \e^{-\pi t\norm{x}^{2}} \qquad(t > 0)

で定める.

テータ級数は,ガウス関数を格子点上で足し上げた和であり,絶対収束します. これは,格子点の長さの二乗の離散分布を記録するLaplace型の母関数です. 短いベクトルほど大きく寄与し,長いベクトルほど小さく寄与します. 一般のユークリッド格子では x2\norm{x}^{2} が整数とは限りません. そこで

RΛ{x2:xΛ}\mathcal R_{\Lat} \coloneqq \{ \norm{x}^{2}:x\in\Lat\}

とおき,sRΛs\in\mathcal R_{\Lat} に対して

NΛ(s)#{xΛ:x2=s}N_{\Lat}(s) \coloneqq \card{\{ x \in \Lat: \norm{x}^{2} = s \}}

と定めます. ユークリッド空間の格子 で確認した局所有限性により,有界な球内の格子点は有限個であり,各 NΛ(s)N_{\Lat}(s) は有限です. テータ級数は非負項の絶対収束級数なので,同じ長さの二乗ごとにまとめ直して

ΘΛ(t)=sRΛNΛ(s)eπts\Theta_{\Lat}(t) = \sum_{s\in\mathcal R_{\Lat}} N_{\Lat}(s) \e^{-\pi ts}

と書けます. つまり,テータ関数は格子点の長さの二乗の分布をまとめたものです. 標準的な文献では,上半平面

{τC:Imτ>0}\{ \tau \in \C :\Im \tau > 0 \}

上の複素変数 τ\tau を用いて

xΛexp(π1τx2)\sum_{x \in \Lat} \exp(\pi\iu\tau\norm{x}^{2})

の形で書くことが多いです. 本稿の t>0t > 0 による定義は,そのテータ関数を虚軸 τ=1t\tau=\iu t に制限したものです. tt が大きいと,原点や短いベクトルの寄与が支配的になります. 反対に tt が小さいと,より多くの格子点が有意に寄与します. Poisson和公式から得られる変換公式は,Λ\Lattt における情報と 双対格子 Λ\Lat^{\ast}1/t1/t における情報を結び,この二つの見方を対応させます.

例6.2(標準整数格子のテータ関数).

一次元の標準整数格子 Z\Z のテータ関数は

ΘZ(t)=mZeπtm2=1+2eπt+2e4πt+2e9πt+\Theta_{\Z}(t) = \sum_{m\in\Z}\e^{-\pi t m^{2}} = 1+2\e^{-\pi t}+2\e^{-4\pi t}+2\e^{-9\pi t}+\cdots

である. 係数 22 は,mmm-m という二つの格子点が同じ長さの二乗を持つことを表している. Zn\Z^{n} では座標ごとに分解して

ΘZn(t)=(mZeπtm2)n\Theta_{\Z^{n}}(t) = \left(\sum_{m \in \Z} \e^{-\pi t m^{2}}\right)^{n}

となる.

Poisson和公式から,テータ関数の基本的な変換公式が得られます.

定理6.3(格子テータ関数の変換公式).

ΛRn\Lat \subseteq \R^{n} をフルランク格子とする. このとき任意の t>0t > 0 に対して

ΘΛ(t)=1vol(Rn/Λ)tn/2ΘΛ(1/t)(6.1)\Theta_{\Lat}(t) = \frac{1}{\vol(\R^{n}/\Lat)} t^{-n/2}\Theta_{\Lat^{\ast}}(1/t) \tag{6.1}

が成り立つ.

証明

Poisson和公式 (5.1)

ft(x)=eπtx2f_{t}(x) = \e^{-\pi t\norm{x}^{2}}

を代入する. 定理 5.3 より

ft^(y)=tn/2eπy2/t\what{f_t}(y) = t^{-n/2}\e^{-\pi\norm{y}^{2}/t}

である.したがって

ΘΛ(t)=xΛeπtx2=1vol(Rn/Λ)yΛtn/2eπy2/t=1vol(Rn/Λ)tn/2ΘΛ(1/t).\begin{aligned} \Theta_{\Lat}(t) &= \sum_{x \in \Lat} \e^{-\pi t\norm{x}^{2}} \\ &= \frac{1}{\vol(\R^{n}/\Lat)} \sum_{y \in \Lat^{\ast}} t^{-n/2}\e^{-\pi\norm{y}^{2}/t} \\ &= \frac{1}{\vol(\R^{n}/\Lat)} t^{-n/2}\Theta_{\Lat^{\ast}}(1/t). \end{aligned}
証明終わり

この定理は,テータ関数の世界での「双対性」です. 格子 Λ\Lat のテータ関数を tt で見ることは,双対格子 Λ\Lat^{\ast} のテータ関数を 1/t1/t で見ることと対応します. 本稿では,この双対性に構成法Aを組み合わせます. すると,Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp}) であるため, テータ関数の双対性が符号の双対性に翻訳されます.

完全重み多項式

構成法A格子のテータ関数は,符号の完全重み多項式と自然に結び付きます. 通常のHamming重み多項式は,座標値が 00 か非零かだけを見ます. 一方,完全重み多項式は,非零値の種類も区別します.

定義7.1.

CFpEC \leq \F_{p}^{E} を線形符号とする. 各 aFpa \in\F_{p} に変数 TaT_{a} を用意する. CC完全重み多項式 (complete weight enumerator) を

cweC((Ta)aFp)cCeETce\cwe_{C}\bigl( (T_{a})_{a \in \F_{p}} \bigr) \coloneqq \sum_{c \in C} \prod_{e \in E} T_{c_{e}}

で定める.

通常のHamming重み多項式は,完全重み多項式の特殊化です. 実際,

T0=X,Ta=Y(a0)T_{0} = X, \qquad T_{a} = Y \quad(a \neq 0)

とおけば

cweC((Ta)aFp)=WC(X,Y)\cwe_{C}\bigl((T_{a})_{a \in \F_{p}} \bigr) = W_{C}(X,Y)

になります. 完全重み多項式の各項は,座標集合 EE の各座標から一つずつ変数を取るので, 全次数 nn の斉次多項式です.

完全重み多項式が出る理由について見ていきます. 構成法A格子の点は x=m/px=m/\sqrt p と書かれます. 各座標で剰余類を決めるのは,実座標 xex_e そのものではなく, それに対応する整数 mem_e です. したがって,mea(modp)m_e \equiv a \pmod p ごとに整数集合 a+pZa+p\Z が現れます. 格子点の和を座標ごとに分けると,aFpa \in \F_{p} ごとに異なる一座標和が現れます. これを記録する自然な多項式が完全重み多項式です.

この点を,任意の一変数Schwartz関数を使って定式化します. f ⁣:RCf \colon \R \to \C をSchwartz関数とし,各 aFpa \in \F_{p} に対して

Sa(f)ma(modp)f(mp)(7.1)S_{a}(f) \coloneqq \sum_{m \equiv a \pmod{p}} f\left(\frac{m}{\sqrt{p}}\right) \tag{7.1}

と定めます.ここで SS は sum の頭文字です. この和の添字点集合は

ap+pZ\frac{a}{\sqrt p}+\sqrt p\,\Z

であり,格子 pZ\sqrt p\,\Z の平行移動,すなわち格子コセットです. Schwartz関数の急減少性により,この級数は絶対収束します. また,RE\R^{E} 上の関数

fE(x)eEf(xe)f_{E}(x) \coloneqq \prod_{e \in E} f(x_{e})

を考えます.

命題7.2.

CFpEC \leq \F_{p}^{E} を線形符号とし, f ⁣:RCf \colon \R \to \C をSchwartz関数とする. RE\R^E 上の関数

fE(x)=eEf(xe)f_E(x)=\prod_{e\in E}f(x_e)

を考える. このとき

xΛ(C)fE(x)=cweC((Sa(f))aFp)(7.2)\sum_{x \in \Lat(C)} f_{E}(x) = \cwe_{C}\bigl((S_{a}(f))_{a \in \F_{p}}\bigr) \tag{7.2}

が成り立つ.

証明

Λ(C)\Lat(C) の元は x=mpx = \frac{m}{\sqrt p} と書ける. ここで mZEm \in \Z^{E} かつ mmodpCm \bmod{p} \in C である. まず

mZEeEf(mep)=(rZf(rp))n<\sum_{m\in\Z^E} \prod_{e\in E} \left| f\left(\frac{m_e}{\sqrt p}\right) \right| = \left( \sum_{r\in\Z} \left| f\left(\frac r{\sqrt p}\right) \right| \right)^n <\infty

である.右辺が有限なのは,Schwartz関数の急減少性による. この絶対収束により,以下の和の並べ替えと座標ごとの積への分解は Tonelliの定理により正当化される. 剰余類 c=mmodpCc = m \bmod{p} \in C ごとに和を分けると,

xΛ(C)fE(x)=cCmZEmc(modp)eEf(mep)=cCeEmece(modp)f(mep)=cCeESce(f)=cweC((Sa(f))aFp).\begin{aligned} \sum_{x \in \Lat(C)} f_{E}(x) &= \sum_{c \in C} \sum_{\substack{m \in \Z^{E}\\ m \equiv c \pmod{p}}} \prod_{e \in E} f\left(\frac{m_{e}}{\sqrt{p}}\right) \\ &= \sum_{c \in C} \prod_{e \in E} \sum_{m_{e} \equiv c_{e}\, \pmod{p}} f\left(\frac{m_{e}}{\sqrt{p}}\right) \\ &= \sum_{c \in C} \prod_{e \in E} S_{c_{e}}(f) \\ &= \cwe_{C}\bigl((S_{a}(f))_{a \in \F_{p}}\bigr). \end{aligned}
証明終わり

この命題は,構成法A格子上の和が完全重み多項式として書けることを示しています. 特に ff をガウス関数にすると,左辺は格子テータ関数になります.

剰余類テータ関数

大文字の ΘΛ\Theta_{\Lat}nn 次元格子全体のテータ関数を表し, 小文字の ϑa\vartheta_a は一座標における剰余類ごとのテータ関数を表します. この節では,両者を完全重み多項式を通じて結びます.

ガウス関数

gt(x)=eπtx2(t>0)g_{t}(x) = \e^{-\pi t x^{2}} \qquad(t > 0)

を使うと,剰余類ごとの一座標和はテータ関数になります.

定義8.1.

aFpa \in \F_{p} に対して,剰余類テータ関数を

ϑa(t)ma(modp)eπtm2/p(t>0)\vartheta_{a}(t) \coloneqq \sum_{m \equiv a \pmod{p}} \e^{-\pi t m^{2}/p} \qquad(t > 0)

で定める.

同じ和は,格子 pZ\sqrt p\,\Z のコセット上の和として

ϑa(t)=rZexp(πt(ap+rp)2)\vartheta_a(t) = \sum_{r\in\Z} \exp\left( -\pi t \left( \frac{a}{\sqrt p}+r\sqrt p \right)^2 \right)

とも書けます. つまり,ϑa(t)\vartheta_a(t) は格子 pZ\sqrt p\,\Z のコセット上で ガウス関数を足し上げた和です.

p=2p=2 では,ϑ0(t)\vartheta_0(t) は偶数の整数を,ϑ1(t)\vartheta_1(t) は奇数の整数を足し上げています. 最初の数項は

ϑ0(t)=1+2e2πt+2e8πt+,\vartheta_0(t) = 1+2\e^{-2\pi t}+2\e^{-8\pi t}+\cdots,

および

ϑ1(t)=2eπt/2+2e9πt/2+\vartheta_1(t) = 2\e^{-\pi t/2} +2\e^{-9\pi t/2} +\cdots

です. 前者では m=0,±2,±4,m=0,\pm2,\pm4,\dots が,後者では m=±1,±3,m=\pm1,\pm3,\dots が寄与しています.

これは

Sa(gt)=ma(modp)gt(m/p)=ϑa(t)S_{a}(g_{t}) = \sum_{m \equiv a \pmod{p}} g_{t}(m/\sqrt{p}) = \vartheta_{a}(t)

です.したがって,命題 7.2 から次を得ます.

定理8.2.

CFpEC \leq \F_{p}^{E} とする.任意の t>0t>0 に対して

ΘΛ(C)(t)=cweC((ϑa(t))aFp)(8.1)\Theta_{\Lat(C)}(t) = \cwe_{C}\bigl((\vartheta_{a}(t))_{a \in \F_{p}}\bigr) \tag{8.1}

が成り立つ.

証明

格子テータ関数の定義より,

ΘΛ(C)(t)=xΛ(C)eπtx2.\Theta_{\Lat(C)}(t) = \sum_{x \in \Lat(C)} \e^{-\pi t\norm{x}^{2}}.

ここで gt(x)=eπtx2g_{t}(x) = \e^{-\pi t x^{2}} とおけば,

eπtx2=eEgt(xe).\e^{-\pi t\norm{x}^{2}} = \prod_{e \in E} g_{t}(x_{e}).

したがって 命題 7.2 を適用して

ΘΛ(C)(t)=cweC((Sa(gt))aFp)=cweC((ϑa(t))aFp)\Theta_{\Lat(C)}(t) = \cwe_{C}\bigl((S_{a}(g_{t}))_{a \in \F_{p}}\bigr) = \cwe_{C}\bigl((\vartheta_{a}(t))_{a \in \F_{p}}\bigr)

を得る.

証明終わり

この式は,完全重み多項式に

Ta=ϑa(t)T_{a} = \vartheta_{a}(t)

を代入した特殊化です. 一般には,完全重み多項式を通常の一変数格子テータ関数の中へ単射的に埋め込むものではありません. 実際,任意の aFpa \in \F_{p} について

ϑa(t)=ϑa(t)\vartheta_{a}(t) = \vartheta_{-a}(t)

が成り立ちます. これは和の添字を mmm\mapsto -m と置き換えれば分かります. 特に p=3p = 3 では ϑ1(t)=ϑ2(t)\vartheta_{1}(t) = \vartheta_{2}(t) なので, 通常の一変数格子テータ関数だけでは非零記号を完全には区別できません. 実際,

C={(0,0),(1,1),(2,2)}F32C=\{(0,0),(1,1),(2,2)\}\leq\F_3^2

を考えると,双対符号は

C={(0,0),(1,2),(2,1)}C^\perp=\{(0,0),(1,2),(2,1)\}

です. 完全重み多項式は

cweC=T02+T12+T22,cweC=T02+2T1T2\cwe_C=T_0^2+T_1^2+T_2^2, \qquad \cwe_{C^\perp}=T_0^2+2T_1T_2

であり,この二つは異なります. しかし ϑ1(t)=ϑ2(t)\vartheta_1(t)=\vartheta_2(t) を代入すると,どちらも

ϑ0(t)2+2ϑ1(t)2\vartheta_0(t)^2+2\vartheta_1(t)^2

になります. この例は,ガウス関数による通常の一変数格子テータ関数が,記号 112=12=-1 を区別できないことを示しています. 完全重み多項式の恒等式を取り出すには,任意のSchwartz関数によって 剰余類和を独立に指定する必要があります. ガウス関数の一変数族だけでは,完全重み多項式の pp 個の変数を独立に動かす自由度もありません. 任意のSchwartz関数へ一般化するのは,テータ関数の特殊な一族から, その背後にある多項式恒等式を取り出すためです. 剰余類テータ関数が一般には代数的に独立ではないことを指摘し, それらを形式変数に置き換えて完全重み多項式版の恒等式へ移る見方は, 西村 [Nis01] にも見られます. 本稿では,この形式変数への移行を, 任意の評価点を実現するSchwartz関数の構成として具体化します. したがって,ガウス関数による格子テータ関数の変換公式は, 後で示す完全重み多項式版MacWilliams恒等式の特殊化と見るのが正確です.

また,定理 6.3定理 4.5命題 4.4 を組み合わせると, 構成法A格子のテータ関数は kdimFpCk \coloneqq \dim_{\F_{p}} C として

ΘΛ(C)(t)=pkn/2tn/2ΘΛ(C)(1/t)(8.2)\Theta_{\Lat(C)}(t) = p^{k - n/2} t^{-n/2} \Theta_{\Lat(C^{\perp})}(1/t) \tag{8.2}

を満たします.これはテータ関数の変換公式そのものです.

一座標の剰余類テータ関数にも,同じ変換が見えます. ここで,以後

ψ(a)=exp(2π1a/p)\psi(a) = \exp(2\pi\iu a/p)

とおきます. 指数関数に入る aa は,先ほどの約束通り標準代表 0,1,,p10, 1, \dots, p - 1 で読みます. 代表元を pp の整数倍だけ変えても値は変わらないので,これは Fp\F_{p} 上の関数として定まります. ここで C×=C{0}\C^{\times} = \C \setminus \{ 0 \} です. この ψ\psiFp\F_{p} の加法群から C×\C^{\times} への準同型,すなわち加法指標 (additive character) です.実際,

ψ(a+a)=ψ(a)ψ(a)\psi(a + a^{\prime}) = \psi(a)\psi(a^{\prime})

であり,ψ≢1\psi \not{\equiv} 1 です.

命題8.3(一座標の剰余類テータ変換).

任意の aFpa \in \F_{p}t>0t > 0 に対して

ϑa(t)=1ptbFpψ(ab)ϑb(1/t)(8.3)\vartheta_{a}(t) = \frac{1}{\sqrt{pt}} \sum_{b \in \F_{p}} \psi(ab)\vartheta_{b}(1/t) \tag{8.3}

が成り立つ.

証明

gt(x)=eπtx2g_{t}(x) = \e^{-\pi tx^{2}} とおく. 系 5.6

h=p,x0=aph = \sqrt{p}, \qquad x_{0} = \frac{a}{\sqrt{p}}

を代入すると

rZgt(ap+rp)=1psZexp(2π1as/p)gt^(sp)\sum_{r \in \Z} g_{t} \left(\frac{a}{\sqrt{p}} + r\sqrt{p} \right) = \frac{1}{\sqrt{p}} \sum_{s \in \Z} \exp(2\pi\iu as/p) \what{g_t} \left(\frac{s}{\sqrt{p}}\right)

である.定理 5.3 より

gt^(y)=t1/2eπy2/t\what{g_t}(y) = t^{-1/2}\e^{-\pi y^{2}/t}

なので

ϑa(t)=1ptsZexp(2π1as/p)exp(πs2pt)\vartheta_{a}(t) = \frac{1}{\sqrt{pt}} \sum_{s\in\Z} \exp(2\pi\iu as/p) \exp\left(-\frac{\pi s^2}{pt}\right)

を得る.この和を剰余類 bFpb\in\F_p ごとに分けると

sZexp(2π1as/p)exp(πs2pt)=bFpsZsb(modp)exp(2π1as/p)exp(πs2pt)=bFpψ(ab)sZsb(modp)exp(πs2pt)=bFpψ(ab)ϑb(1/t).\begin{aligned} &\sum_{s\in\Z} \exp(2\pi\iu as/p) \exp\left(-\frac{\pi s^2}{pt}\right) \\ &\qquad= \sum_{b\in\F_p} \sum_{\substack{s\in\Z\\s\equiv b\pmod p}} \exp(2\pi\iu as/p) \exp\left(-\frac{\pi s^2}{pt}\right) \\ &\qquad= \sum_{b\in\F_p} \psi(ab) \sum_{\substack{s\in\Z\\s\equiv b\pmod p}} \exp\left(-\frac{\pi s^2}{pt}\right) \\ &\qquad= \sum_{b\in\F_p} \psi(ab)\vartheta_b(1/t). \end{aligned}

ここで sb(modp)s\equiv b\pmod p なら asab(modp)as \equiv ab \pmod p なので, exp(2π1as/p)=ψ(ab)\exp(2\pi\iu as/p)=\psi(ab) である. よって

ϑa(t)=1ptbFpψ(ab)ϑb(1/t)\vartheta_a(t) = \frac{1}{\sqrt{pt}} \sum_{b\in\F_p}\psi(ab)\vartheta_b(1/t)

となる.

証明終わり

p=2p = 2 の場合は ψ(ab)=(1)ab\psi(ab) = (-1)^{ab} なので,

ϑ0(t)=ϑ0(1/t)+ϑ1(1/t)2t,ϑ1(t)=ϑ0(1/t)ϑ1(1/t)2t\begin{aligned} \vartheta_{0}(t) &= \frac{\vartheta_{0}(1/t) + \vartheta_{1}(1/t)}{\sqrt{2t}}, \\ \vartheta_1(t) &= \frac{\vartheta_0(1/t)-\vartheta_1(1/t)}{\sqrt{2t}} \end{aligned}

となります.ここに現れる和と差が,後のHamming重みMacWilliams恒等式で

X+Y,XYX + Y, \qquad X - Y

になる変数変換のガウス特殊化です.

ここまでで得られたのは,ガウス関数による格子テータ関数の変換公式です. しかし,剰余類テータ関数は一つの実変数 tt に依存する特殊な関数であり, 完全重み多項式の pp 個の変数を独立に動かせるわけではありません. そこで次節では任意のSchwartz関数を用い,剰余類ごとの和を独立に指定することで, その背後にある多項式恒等式を取り出します.

一座標Poisson和公式

MacWilliams変数変換を取り出すには,一座標の剰余類和がFourier変換でどう変わるかを見れば十分です. ここからは,ガウス関数に限らず,任意のSchwartz関数を使います. この一般化により,完全重み多項式の pp 個の形式変数を独立に扱えるようになります. Fp×Fp{0}\F_{p}^{\times} \coloneqq \F_{p} \setminus \{ 0 \} と書きます.

f ⁣:RCf \colon \R \to \C をSchwartz関数とし,

Sa(f)=ma(modp)f(mp)S_{a}(f) = \sum_{m \equiv a \pmod{p}} f\left(\frac{m}{\sqrt{p}}\right)

と定めました.

補題9.1(加法指標の直交関係).

任意の aFpa \in \F_{p} に対して

bFpψ(ab)={p,a=0,0,a0\sum_{b \in \F_{p}}\psi(ab) = \begin{cases} p, & a = 0,\\ 0, & a \neq 0 \end{cases}

が成り立つ.

証明

a=0a = 0 なら各項が 11 なので和は pp である. a0a \neq 0 のとき,写像 babb \mapsto abFp\F_{p} の置換である. したがって

bFpψ(ab)=uFpψ(u)=u=0p1exp(2π1u/p)\sum_{b \in \F_{p}}\psi(ab) = \sum_{u \in \F_{p}}\psi(u) = \sum_{u = 0}^{p - 1}\exp(2\pi\iu u/p)

となる.これは公比が 11 でない pp 乗根の等比級数なので 00 である.

証明終わり

同様に,Fourier変換 f^\what{f} に対しては

Sb(f^)=mb(modp)f^(mp)S_{b}(\what{f}) = \sum_{m \equiv b \pmod{p}} \what{f} \left(\frac{m}{\sqrt{p}}\right)

と書きます.

定理9.2(一座標Poisson和公式).

上で定めたSchwartz関数 ff と任意の aFpa \in \F_{p} に対して

Sa(f)=1pbFpψ(ab)Sb(f^)(9.1)S_{a}(f) = \frac{1}{\sqrt{p}} \sum_{b \in \F_{p}} \psi(ab)S_{b}(\what{f}) \tag{9.1}

が成り立つ.

証明

左辺は

Sa(f)=rZf(a+prp)S_{a}(f) = \sum_{r \in \Z} f\left(\frac{a + pr}{\sqrt{p}}\right)

である.これは,一次元格子 pZ\sqrt p\,\Za/pa/\sqrt p だけ平行移動した集合,すなわち格子コセット

ap+pZ\frac{a}{\sqrt p} + \sqrt{p}\,\Z

上の和である. 系 5.6

h=p,x0=aph = \sqrt{p}, \qquad x_{0} = \frac{a}{\sqrt{p}}

を代入すると

rZf(ap+rp)=1psZe2π1sa/pf^(sp)\sum_{r \in \Z} f\left(\frac{a}{\sqrt{p}} + r\sqrt{p} \right) = \frac{1}{\sqrt{p}} \sum_{s \in \Z} \e^{2\pi\iu sa/p} \what{f}\left(\frac{s}{\sqrt{p}}\right)

を得る.右辺の sZs \in \Z を剰余類 bFpb \in \F_{p} ごとに分けると

Sa(f)=1pbFpe2π1ab/psb(modp)f^(sp)=1pbFpψ(ab)Sb(f^)\begin{aligned} S_{a}(f) &= \frac{1}{\sqrt{p}} \sum_{b \in \F_{p}} \e^{2\pi\iu ab/p} \sum_{s \equiv b \pmod{p}} \what{f} \left(\frac{s}{\sqrt{p}}\right) \\ &= \frac{1}{\sqrt{p}} \sum_{b \in \F_{p}}\psi(ab)S_{b}(\what{f}) \end{aligned}

となる.

証明終わり

この式は,有限体上の一座標Fourier変換そのものです. 連続的なPoisson和公式を,剰余類ごとに分けて読んだ結果, 有限群 Fp\F_{p} 上の指標表 (ψ(ab))a,bFp(\psi(ab))_{a, b \in \F_{p}} が現れています. つまり,連続的なPoisson和公式の中から,有限Fourier変換が取り出されています.

後で形式変数に使うために,剰余類和を任意に指定できることも確認しておきます.

補題9.3.

任意の複素数列 (za)aFp(z_{a})_{a \in \F_{p}} に対して,Schwartz関数 g ⁣:RCg \colon \R \to \C

ma(modp)g(mp)=za(aFp)\sum_{m \equiv a \pmod{p}} g\left(\frac{m}{\sqrt{p}}\right) = z_{a} \qquad(a \in \F_{p})

を満たすものが存在する.

証明

関数の台とは,その関数が非零となる点の集合の閉包である. 符号語の台と同じsupportという語を使うが,ここでは関数に対する台を意味する. 各代表 a{0,1,,p1}a \in \{ 0, 1, \dots, p - 1 \} に対して,a/pa/\sqrt{p} の近傍に台を持つ 滑らかなコンパクト台関数 ϕa\phi_{a} を取る. 台は,格子点集合

{mp:mZ}\left\{ \frac{m}{\sqrt{p}} : m \in \Z \right\}

のうち a/pa/\sqrt{p} 以外を含まないように選ぶ. 例えば,台を a/pa/\sqrt{p} を中心とする半径 1/(3p)1/(3\sqrt{p}) 未満の区間に含めればよい. さらに

ϕa(a/p)=1\phi_{a}(a/\sqrt{p}) = 1

となるように正規化する. このような関数は,解析で標準的に用いられるbump関数を平行移動・拡大縮小して構成できる. すると

g(x)=a=0p1zaϕa(x)g(x) = \sum_{a = 0}^{p - 1} z_{a} \phi_{a}(x)

は滑らかでコンパクト台を持つのでSchwartz関数であり, 各剰余類和は指定通り zaz_{a} になる. 実際,支持の選び方により,剰余類 bb に属する標本点のうち 寄与するのは b/pb/\sqrt p だけであり,その点では ϕb(b/p)=1\phi_b(b/\sqrt p)=1 かつ他の ϕa\phi_a は値 00 を取る.したがって

Sb(g)=mZmb(modp)g(mp)=g(bp)=zb\begin{aligned} S_b(g) &= \sum_{\substack{m\in\Z\\m\equiv b\pmod p}} g\left(\frac{m}{\sqrt p}\right) \\ &= g\left(\frac{b}{\sqrt p}\right) \\ &= z_b \end{aligned}

である.

証明終わり

この補題を g=f^g = \what{f} に適用します. Fourier変換は 命題 5.4 によりSchwartz関数の空間の自己同型なので, 任意の gg に対して g=f^g = \what{f} となるSchwartz関数 ff が存在します. したがって,Sa(f^)S_{a}(\what{f}) の値を任意に指定できます. この自由度により,Poisson和公式から多項式恒等式としてのMacWilliams恒等式を取り出せます.

Poisson和公式から完全MacWilliams恒等式へ

ここまでの準備を使って,完全重み多項式版のMacWilliams恒等式を証明します. ここで得るのは,ガウス関数によるテータ変換公式そのものではなく, 任意のSchwartz関数と剰余類和の自由度から取り出す多項式恒等式です. 証明では,まず任意の評価点 z=(zb)bFpCpz=(z_b)_{b\in\F_p}\in\C^p に対して等式を示します. その後,両辺が形式変数 TbT_b たちの多項式であることから,形式変数についての恒等式と結論します.

定理10.1(完全重み多項式版MacWilliams恒等式).

CFpEC \leq \F_{p}^{E}kk 次元の Fp\F_{p} 線形符号とする. 各 bFpb \in \F_{p} に変数 TbT_{b} を用意する. このとき

cweC((Tb)bFp)=1pkcweC((bFpψ(ab)Tb)aFp)(10.1)\cwe_{C^{\perp}}\bigl((T_{b})_{b \in \F_{p}} \bigr) = \frac{1}{p^{k}} \cwe_{C}\left( \left(\sum_{b \in \F_{p}} \psi(ab) T_{b} \right)_{a \in \F_{p}} \right) \tag{10.1}

が成り立つ.

証明

まず,評価点

z=(zb)bFpCpz=(z_b)_{b\in\F_p}\in\C^p

を任意に固定する. 補題 9.3 とFourier変換の可逆性により,Schwartz関数 ff を選んで

Sb(f^)=zb(bFp)S_{b}(\what{f}) = z_{b} \qquad(b \in \F_{p})

とできる. 定理 9.2 より

Sa(f)=1pbFpψ(ab)zb(10.2)S_{a}(f) = \frac{1}{\sqrt p}\sum_{b \in \F_{p}} \psi(ab) z_{b} \tag{10.2}

である.

次に,RE\R^{E} 上の関数

fE(x)=eEf(xe)f_{E}(x) = \prod_{e \in E} f(x_{e})

を考える.命題 5.4 より,そのFourier変換は

fE^(y)=eEf^(ye)\what{f_{E}}(y) = \prod_{e \in E}\what{f}(y_{e})

である.構成法A格子 Λ(C)\Lat(C) にPoisson和公式を適用すると

xΛ(C)fE(x)=1vol(RE/Λ(C))yΛ(C)fE^(y).\sum_{x \in \Lat(C)} f_{E}(x) = \frac{1}{\vol(\R^{E}/\Lat(C))} \sum_{y\in\Lat(C)^{\ast}}\what{f_{E}}(y).

命題 4.4定理 4.5 より

vol(RE/Λ(C))=pn/2k,Λ(C)=Λ(C)\vol(\R^{E}/\Lat(C)) = p^{n/2 - k}, \qquad \Lat(C)^{\ast} = \Lat(C^{\perp})

なので

xΛ(C)fE(x)=pkn/2yΛ(C)fE^(y).(10.3)\sum_{x \in \Lat(C)} f_{E}(x) = p^{k-n/2} \sum_{y \in \Lat(C^{\perp})} \what{f_{E}}(y). \tag{10.3}

命題 7.2 を左辺と右辺にそれぞれ適用すると,

cweC((Sa(f))aFp)=pkn/2cweC((Sb(f^))bFp)\cwe_{C}\bigl((S_{a}(f))_{a \in \F_{p}}\bigr) = p^{k - n/2} \cwe_{C^{\perp}}\bigl((S_{b}(\what{f}))_{b \in \F_{p}}\bigr)

である.いま Sb(f^)=zbS_{b}(\what{f}) = z_{b} かつ (10.2) なので,

cweC((1pbFpψ(ab)zb)aFp)=pkn/2cweC((zb)bFp).\cwe_{C}\left( \left(\frac{1}{\sqrt{p}} \sum_{b \in \F_{p}} \psi(ab)z_{b} \right)_{a \in \F_{p}} \right) = p^{k - n/2} \cwe_{C^{\perp}}\bigl((z_{b})_{b \in \F_{p}}\bigr).

完全重み多項式は全次数 nn の斉次多項式なので,左辺の 1/p1/\sqrt{p} は全体として pn/2p^{-n/2} を出す.したがって

pn/2cweC((bFpψ(ab)zb)aFp)=pkn/2cweC((zb)bFp).p^{-n/2} \cwe_{C}\left( \left(\sum_{b \in \F_{p}}\psi(ab) z_{b} \right)_{a \in \F_{p}} \right) = p^{k - n/2} \cwe_{C^{\perp}}\bigl((z_{b})_{b \in \F_{p}}\bigr).

両辺に pn/2kp^{n/2 - k} を掛ければ,(10.1)Tb=zbT_b=z_b と評価した等式を得る.

得られた等式は任意の zCpz\in\C^p で成立する. 一方,両辺は形式変数 (Tb)bFp(T_b)_{b\in\F_p} に関する複素係数多項式である. よって,多項式恒等式としても成り立つ. これは,複素係数の多変数多項式が Cp\C^p のすべての点で 00 なら零多項式であることによる.

証明終わり

この完全重み多項式版の恒等式から,ガウス関数による構成法A格子のテータ変換公式も特殊化として戻ります. 定理 10.1

Tb=ϑb(1/t)(bFp)T_b=\vartheta_b(1/t) \qquad(b\in\F_p)

を代入します. 命題 8.3

bFpψ(ab)ϑb(1/t)=ptϑa(t)\sum_{b\in\F_p}\psi(ab)\vartheta_b(1/t) = \sqrt{pt}\,\vartheta_a(t)

という形で用いると,

ΘΛ(C)(1/t)=cweC((ϑb(1/t))bFp)=pkcweC((ptϑa(t))aFp).\begin{aligned} \Theta_{\Lat(C^\perp)}(1/t) &= \cwe_{C^\perp}\bigl((\vartheta_b(1/t))_{b\in\F_p}\bigr) \\ &= p^{-k} \cwe_C\bigl((\sqrt{pt}\,\vartheta_a(t))_{a\in\F_p}\bigr). \end{aligned}

完全重み多項式は全次数 nn の斉次多項式なので,

ΘΛ(C)(1/t)=pn/2ktn/2ΘΛ(C)(t)\Theta_{\Lat(C^\perp)}(1/t) = p^{n/2-k}t^{n/2}\Theta_{\Lat(C)}(t)

を得ます. これを整理すると

ΘΛ(C)(t)=pkn/2tn/2ΘΛ(C)(1/t)\Theta_{\Lat(C)}(t) = p^{k-n/2}t^{-n/2} \Theta_{\Lat(C^\perp)}(1/t)

です. これは (8.2) で得た構成法A格子のテータ変換公式と一致します.

係数の出所を整理しておきます. 一座標Poisson和公式から,各座標について p1/2p^{-1/2} が現れます. 完全重み多項式は全次数 nn の斉次多項式なので,全座標では pn/2p^{-n/2} になります. 一方,構成法A格子の余体積から,格子版Poisson和公式の係数は pkn/2p^{k-n/2} です. これらを整理すると,最終的に pk=1/#Cp^{-k}=1/\card{C} が残ります.

この証明の中で,格子論と解析が果たした役割を確認しておきます. 構成法Aにより,符号 CC は格子 Λ(C)\Lat(C) に変わりました. Poisson和公式により,Λ(C)\Lat(C) 上の和は双対格子 Λ(C)\Lat(C)^{\ast} 上の和に変わりました. そして Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp}) なので,そこに双対符号が現れました. 一座標の剰余類和に対するPoisson和公式が,完全重み多項式の変数変換を与えました.

Hamming重みMacWilliams恒等式

完全重み多項式版から,通常のHamming重みMacWilliams恒等式を得ます. ここでは q=pq = p なので,目標は

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

です.

定理11.1(Hamming重みMacWilliams恒等式).

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

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

が成り立つ.

証明

kdimFpCk \coloneqq \dim_{\F_{p}} C とする. 定理 10.1 において

T0=X,Tb=Y(b0)T_{0} = X, \qquad T_{b} = Y \quad(b \neq 0)

と特殊化する. 左辺は

cweC((Tb)bFp)=WC(X,Y)\cwe_{C^{\perp}}\bigl((T_{b})_{b \in \F_{p}}\bigr) = W_{C^{\perp}}(X, Y)

である.

右辺の変数を計算する. a=0a = 0 のとき

bFpψ(0b)Tb=X+(p1)Y\sum_{b \in \F_{p}} \psi(0 \cdot b) T_{b} = X + (p - 1)Y

である. 一方,a0a \neq 0 のとき,補題 9.1 より

bFpψ(ab)=0\sum_{b \in \F_{p}} \psi(ab) = 0

であり,したがって

bFp×ψ(ab)=1\sum_{b \in \F_{p}^{\times}}\psi(ab) = -1

である.よって

bFpψ(ab)Tb=X+YbFp×ψ(ab)=XY.\sum_{b \in \F_{p}} \psi(ab) T_{b} = X + Y\sum_{b \in \F_{p}^{\times}} \psi(ab) = X - Y.

したがって右辺は

1pkWC(X+(p1)Y,XY)\frac{1}{p^{k}} W_{C}\bigl( X + (p - 1)Y, X - Y \bigr)

になる. CCkk 次元の Fp\F_{p} 線形空間なので pk=#Cp^{k} = \card{C} であり,主張を得る.

証明終わり

これで,構成法AとPoisson和公式からMacWilliams恒等式が導かれました. 通常の指標論的証明では,有限集合 FpE\F_{p}^{E} 上で有限和を計算します. 一方,本稿の証明では,符号をいったん無限集合である格子へ持ち上げ, その格子上のPoisson和公式を使いました. その後,剰余類ごとの一座標和を読み取ることで,有限体上のMacWilliams恒等式に戻りました.

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

最後に,小さな例で式を確認します. p=2p = 2E={1,2,3}E = \{ 1, 2, 3 \} とし,二元反復符号

C={000,111}F23C = \{ 000, 111 \} \leq \F_{2}^{3}

を考えます. この符号の重み多項式は

WC(X,Y)=X3+Y3W_{C}(X, Y) = X^{3} + Y^{3}

です.双対符号は偶重み符号

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

であり,その重み多項式は

WC(X,Y)=X3+3XY2W_{C^{\perp}}(X, Y) = X^{3} + 3XY^{2}

です.

MacWilliams恒等式の右辺を計算すると

1#CWC(X+Y,XY)=12((X+Y)3+(XY)3)=X3+3XY2\begin{aligned} \frac{1}{\card{C}} W_{C}(X + Y, X - Y) &= \frac{1}{2}\left((X + Y)^{3} + (X - Y)^{3} \right) \\ &= X^{3} + 3XY^{2} \end{aligned}

となり,確かに WC(X,Y)W_{C^{\perp}}(X, Y) と一致します.

構成法A格子を見ると,

Λ(C)={x2R3:x1x2x3(mod2)}\Lat(C) = \left\{ \frac{x}{\sqrt{2}} \in \R^{3}: x_{1} \equiv x_{2} \equiv x_{3} \pmod{2} \right\}

です. 正規化前の格子は

L(C)=Z(2,0,0)+Z(0,2,0)+Z(1,1,1)L(C) = \Z(2,0,0)+\Z(0,2,0)+\Z(1,1,1)

と書けます. 右辺の元は三つの座標がすべて同じ偶奇を持ちます. また

(0,0,2)=2(1,1,1)(2,0,0)(0,2,0)(0,0,2)=2(1,1,1)-(2,0,0)-(0,2,0)

なので,三つの偶数座標の方向もすべて生成できます. 逆に,三つの座標が同じ偶奇なら,(1,1,1)(1,1,1) の整数倍を引くことで各座標を偶数にでき, 残りは (2,0,0)(2,0,0)(0,2,0)(0,2,0)(0,0,2)(0,0,2) の整数結合で表せます. 一方,CC^{\perp} から得られる格子は

Λ(C)={y2R3:y1+y2+y30(mod2)}.\Lat(C^{\perp}) = \left\{ \frac{y}{\sqrt{2}} \in \R^{3}: y_{1} + y_{2} + y_{3} \equiv 0 \pmod{2} \right\}.

正規化前の格子は

L(C)=Z(1,1,0)+Z(1,0,1)+Z(0,1,1)L(C^{\perp}) = \Z(1,1,0)+\Z(1,0,1)+\Z(0,1,1)

と書けます. 右辺の元は座標和が偶数です. 逆に y=(y1,y2,y3)Z3y=(y_1,y_2,y_3)\in\Z^3 の座標和が偶数なら,

y=y1+y2y32(1,1,0)+y1y2+y32(1,0,1)+y1+y2+y32(0,1,1)y = \frac{y_1+y_2-y_3}{2}(1,1,0) + \frac{y_1-y_2+y_3}{2}(1,0,1) + \frac{-y_1+y_2+y_3}{2}(0,1,1)

と書けます.座標和が偶数であることから,三つの係数はいずれも整数です. 基底行列の行列式の絶対値はそれぞれ 4422 です. したがって 1/21/\sqrt2 倍による体積の変化も含めると

vol(R3/Λ(C))=2,vol(R3/Λ(C))=12\vol(\R^{3}/\Lat(C))=\sqrt2, \qquad \vol(\R^{3}/\Lat(C^{\perp}))=\frac{1}{\sqrt2}

です. 双対格子の余体積が互いに逆数になることも,この例で具体的に確認できます. 定理 4.5 により,この二つは互いに双対格子です. Poisson和公式は,この二つの格子上のガウス重み付き格子和を結びます. ガウス関数の場合に一座標で現れるのは,

ϑ0(1/t)+ϑ1(1/t),ϑ0(1/t)ϑ1(1/t)\vartheta_{0}(1/t)+\vartheta_{1}(1/t), \qquad \vartheta_{0}(1/t)-\vartheta_{1}(1/t)

という剰余類テータ和の和と差です. 任意のSchwartz関数へ広げ,Fourier変換後の剰余類和を形式変数 X,YX,Y に指定したとき, これが X+YX+YXYX-Y になります. この例では,非零剰余類が 11 だけなので,完全重み多項式とHamming重み多項式の違いはありません.

この証明で格子とテータ関数は何をしていたか

今回の証明で,格子とテータ関数が担っていた役割を整理します.

第一に,構成法Aは符号を格子へ持ち上げました. 符号 CFpEC \leq \F_{p}^{E} は有限集合ですが, 構成法A格子 Λ(C)RE\Lat(C) \subseteq \R^{E} は無限集合です. しかし,その格子点は剰余類 CC によって制御されています. つまり,xΛ(C)x \in \Lat(C) に対して pxZE\sqrt{p}\,x \in \Z^{E} であり, これを pp で還元すると CC の符号語が得られます.

第二に,双対符号は双対格子として現れました.

Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp})

という等式が,符号理論の双対性と格子論の双対性を結んでいます. この等式がなければ,Poisson和公式を使っても双対符号は現れません.

第三に,剰余類分解は格子点の和を完全重み多項式への代入として表しました. 格子点を剰余類ごとに分けると,完全重み多項式が現れます. ガウス関数を使えば,その和は格子テータ関数です. 一般のSchwartz関数を使えば,完全重み多項式の変数を自由に動かすことができます.

第四に,Poisson和公式がMacWilliams変換を与えました. 格子上の和を双対格子上の和へ変換するPoisson和公式を,一座標の剰余類和として読むと, 有限体 Fp\F_{p} の指標表が現れます. その指標表による変数変換が,完全重み多項式版MacWilliams恒等式です. Hamming重み多項式では,非零変数をすべて同じ YY に特殊化することで

X+(p1)Y,XYX + (p - 1)Y, \qquad X - Y

が現れます.

要点を一文で言えば,次のようになります.

ガウス関数ではテータ変換公式が現れ,任意のSchwartz関数ではその背後の完全重み多項式版MacWilliams恒等式が現れる.

この回で見た概念

この回では,MacWilliams恒等式の証明を目標にしながら, 格子とテータ関数の基本的な道具を導入しました. 整理すると次のようになります.

ユークリッド格子

Rn\R^{n} の中で,有限個の一次独立なベクトルの整数係数結合として得られる離散的な点集合です. 本稿ではフルランク格子を主に扱いました.

余体積

格子の基本領域の体積です. 構成法A格子では,符号 CFpEC \leq \F_{p}^{E} の次元 kk に対して

vol(RE/Λ(C))=pn/2k\vol(\R^{E}/\Lat(C)) = p^{n/2 - k}

となりました.

双対格子

すべての格子点と整数値内積を持つベクトル全体です. 構成法Aでは

Λ(C)=Λ(C)\Lat(C)^{\ast} = \Lat(C^{\perp})

が成り立ち,符号の双対性が格子の双対性として表れました.

Poisson和公式

格子上の和と双対格子上のFourier変換後の和を結ぶ公式です. 今回の証明の深層原理です.

テータ関数

ガウス関数を格子点上で足し上げた関数です. Poisson和公式から,テータ関数は双対格子のテータ関数と変換公式で結ばれます.

構成法A

符号 CFpEC \leq \F_{p}^{E} から,合同条件 mmodpCm \bmod{p} \in C を満たす整数ベクトルを使って格子を作る方法です. 符号・格子対応の最も基本的な構成です.

完全重み多項式

各記号 aFpa \in \F_{p} を別々の変数 TaT_{a} で記録する重み多項式です. 構成法A格子の剰余類ごとの和は,完全重み多項式として表されました.

今回の系統の振り返り

冒頭で述べたように,今回の証明は五つの系統のうち

Fourier・指標・Poisson系

に属します. ただし,表面的な道具立ては有限アーベル群の指標論ではなく, 格子・テータ関数・Poisson和公式でした.

この回の対応を整理すると,次のようになります.

符号側格子・解析側
符号 CC構成法A格子 Λ(C)\Lat(C)
双対符号 CC^{\perp}双対格子 Λ(C)\Lat(C)^{\ast}
完全重み多項式への剰余類和の代入構成法A格子上の積型関数の和
MacWilliams変数変換一座標Poisson和公式から出る有限Fourier変換

今回の証明は,有限体上の指標論的証明と深層では同じ方向にあります. しかし,有限集合上の指標和としてではなく, 連続空間上のPoisson和公式として見ることで,ガウス関数の場合はテータ変換公式が, 任意のSchwartz関数の場合は完全重み多項式版MacWilliams恒等式が現れます. この違いが,この連載で見たい「同じ定理が違う分野の言葉で見える」という現象です.

一般の q=pdq = p^{d} について

この節は発展的な補足であり,主証明には使わない拡張の見取り図です. 最初は読み飛ばして構いません.

本稿では,標準整数格子 Zn\Z^{n} と合同式 modp\bmod{p} を使うため,本文では Fp\F_{p} 上の符号を扱いました. では,一般の有限体 Fq\F_{q}q=pdq = p^{d} ではどう考えればよいでしょうか.

一つの方法は,Fq\F_{q}Fp\F_{p} 上の dd 次元ベクトル空間として見て, 各記号を dd 個の pp 元座標のブロックとして表すことです. この場合,格子は RE×[d]\R^{E\times[d]},すなわち dndn 次元の実空間の中に作られます. ただし,双対性には注意が必要です. 以下では

[d]{1,,d}[d]\coloneqq\{1,\dots,d\}

と書き,座標集合を E×[d]E\times[d] として明示します. ここで q=pdq=p^d のとき,有限体のトレースは

TrFq/Fp(z)=z+zp++zpd1\Tr_{\F_{q}/\F_{p}}(z) = z + z^{p} + \dots + z^{p^{d - 1}}

で定義されます. 標準事実として,トレース対

(x,y)TrFq/Fp(xy)(x,y)\longmapsto \Tr_{\F_q/\F_p}(xy)

は非退化です. したがって,任意の Fp\F_p 基底に対してトレース双対基底が存在します. Fq\F_{q}Fp\F_{p} 基底を β1,,βd\beta_{1}, \dots, \beta_{d} とすると, そのトレース双対基底 β1,,βd\beta_{1}^{\vee}, \dots, \beta_{d}^{\vee}

TrFq/Fp(βiβj)=δij\Tr_{\F_{q}/\F_{p}}(\beta_{i} \beta_{j}^{\vee}) = \delta_{ij}

を満たす基底です.ここで δij\delta_{ij} は前述のKronecker deltaです.

この二つの基底を使い分けます. c=(ce)eEFqEc=(c_e)_{e\in E}\in\F_q^E に対して

ce=j=1dce,jβj(ce,jFp)c_e=\sum_{j=1}^d c_{e,j}\beta_j \qquad(c_{e,j}\in\F_p)

と展開し,

Φβ(c)(ce,j)(e,j)E×[d]FpE×[d]\Phi_\beta(c) \coloneqq (c_{e,j})_{(e,j)\in E\times[d]} \in \F_p^{E\times[d]}

と定義します. 同様に,u=(ue)eEFqEu=(u_e)_{e\in E}\in\F_q^E

ue=j=1due,jβj(ue,jFp)u_e=\sum_{j=1}^d u_{e,j}\beta_j^\vee \qquad(u_{e,j}\in\F_p)

と展開し,

Φβ(u)(ue,j)(e,j)E×[d]FpE×[d]\Phi_{\beta^\vee}(u) \coloneqq (u_{e,j})_{(e,j)\in E\times[d]} \in \F_p^{E\times[d]}

と定義します. FpE×[d]\F_p^{E\times[d]} 上のドット積は

vw=(e,j)E×[d]ve,jwe,jv\cdot w = \sum_{(e,j)\in E\times[d]} v_{e,j}w_{e,j}

という標準内積です. この記法では,c,uFqEc,u\in\F_q^E に対して

Φβ(c)Φβ(u)=TrFq/Fp(uc)\Phi_\beta(c)\cdot\Phi_{\beta^\vee}(u) = \Tr_{\F_q/\F_p}(u\cdot c)

が成り立ちます. 実際,各座標で

TrFq/Fp(uece)=j=1due,jce,j\Tr_{\F_q/\F_p}(u_e c_e) = \sum_{j=1}^d u_{e,j}c_{e,j}

となるからです.

ここで

Φβ(C)\Phi_\beta(C)^\perp

{}^\perp は,FpE×[d]\F_p^{E\times[d]} の標準内積に関する Fp\F_p-双対を表します.

このとき

Φβ(C)=Φβ(C)\Phi_{\beta^{\vee}}(C^{\perp}) = \Phi_{\beta}(C)^{\perp}

が従います. ここで,CC 側では基底 β\beta を用いる一方, CC^\perp 側ではトレース双対基底 β\beta^\vee を用いていることが重要です. 一般には,同じ基底を両側に用いているわけではありません. したがって,たとえ C=CC=C^\perp であっても,選んだ座標表示の下で Φβ(C)\Phi_\beta(C)Φβ(C)\Phi_{\beta^\vee}(C^\perp) が 文字通り同じ部分空間になるとは限りません. 実際,uc=0u \cdot c = 0 なら当然そのトレースも 00 なので, Φβ(u)\Phi_{\beta^{\vee}}(u)Φβ(C)\Phi_{\beta}(C) と直交します. 逆に,すべての cCc\in C に対して TrFq/Fp(uc)=0\Tr_{\F_{q}/\F_{p}}(u \cdot c) = 0 であるとします. CCFq\F_{q} 線形なので,任意の λFq\lambda \in \F_{q} に対して λcC\lambda c \in C です. したがって

TrFq/Fp(λ(uc))=0(λFq)\Tr_{\F_{q}/\F_{p}}(\lambda (u \cdot c)) = 0 \qquad(\lambda \in \F_{q})

が成り立ちます. トレース対の非退化性より,これは uc=0u\cdot c=0 を意味します. よって uCu\in C^\perp です.

ここから,本文で証明した構成法Aの双対定理を FpE×[d]\F_p^{E\times[d]} 上の pp 元線形符号に適用できます. つまり,構成法Aを適用するときは,座標集合を E×[d]E\times[d] とみなします. 実座標を並べる順序の選択は,格子の座標置換を変えるだけです. ここで Φβ(C)\Phi_\beta(C)Φβ(C)\Phi_{\beta^\vee}(C^\perp)FpE×[d]\F_p^{E\times[d]} 内の pp 元線形符号です. したがって

Λ(Φβ(C))=Λ(Φβ(C))=Λ(Φβ(C))\Lat\bigl(\Phi_\beta(C)\bigr)^\ast = \Lat\bigl(\Phi_\beta(C)^\perp\bigr) = \Lat\bigl(\Phi_{\beta^\vee}(C^\perp)\bigr)

となります. この式が,一般の有限体でも双対符号を双対格子として見るための基本的な対応です.

一般の有限体上の一座標Fourier変換では,加法指標もトレースで書きます. 例えば aFqa \in \F_{q} に対して

χa(b)=exp(2π1pTrFq/Fp(ab))\chi_{a}(b) = \exp\left( \frac{2\pi\iu}{p} \Tr_{\F_{q}/\F_{p}}(ab) \right)

とおけば,bχa(b)b \mapsto \chi_{a}(b)Fq\F_{q} の加法群の指標です.

ただし,通常のHamming重みは「ブロックが零か非零か」を数える重みであり, dndn 個の pp 元座標のHamming重みとは一致しません. したがって,ブロックごとに零ベクトルと非零ベクトルを区別する変数を置く必要があります. この見方では,一つの Fq\F_q 座標を Fpd\F_p^d の一つのブロックと見ます. 各ブロックには,一次元Schwartz関数ではなく Rd\R^d 上のSchwartz関数を用います. そして (1/p)Zd(1/\sqrt p)\Z^dpd=qp^d=q 個の剰余類ごとの和を独立に指定します. これにより,各 aFqa\in\F_q に対応する完全重み多項式の変数を独立に扱えます. 最後に,ブロックが零か非零かで変数をまとめると,Fq\F_q 上のHamming重み版へ特殊化できます.

もう一つの方法は,数体の整数環 OK\mathcal{O}_{K} と素イデアル p\mathfrak{p} を用いて

OK/pFq\mathcal{O}_{K}/\mathfrak{p} \cong \F_{q}

を実現し,OKn\mathcal{O}_{K}^{n} の中で構成法Aを行うことです. この場合,OKn\mathcal{O}_{K}^{n} をMinkowski埋め込みにより実ユークリッド空間へ移し, その像として格子を得ます. したがって,「ユークリッド格子ではなく数体の埋め込みから得られる格子」という対比は正確ではありません. Minkowski埋め込み後は,やはり実ユークリッド空間内の格子です. 双対格子の記述にはトレース形式や余不同が現れます. また,CM体などではHermitian形式による記述も自然です. この方向は,テータ関数やモジュラー形式,代数的整数論と深く結び付きます.

したがって,格子・テータ関数による証明は,q=pq = p の場合が最も素直です. 一般の q=pdq = p^{d} にも同じ思想はありますが, そのためには標準整数格子 Zn\Z^{n} から一歩進んで,ブロック格子や数体上の格子を扱う必要があります. 本稿の目的は格子・テータ関数への入口を作ることなので, 本文では pp 元符号に絞りました.

付録:Fourier変換とPoisson和公式の証明

この付録では,Fourier変換とPoisson和公式の要約 で定理文だけを述べた解析的事実の証明をまとめます. 主線の証明にはこの節の細部は使いません. 格子上のSchwartz級数の一様収束,格子周期関数のFourier展開,Fourier反転などを確認したい読者のための補足です. なお,格子周期関数のFourier展開では,多変数Fejér平均の一様収束を標準定理として用います.

補題17.1(格子上のSchwartz級数の一様収束).

Λ=BZn\Lat=B\Z^n をフルランク格子とし,KRnK\subseteq\R^n をコンパクト集合とする. ff をSchwartz関数とする. このとき任意の多重指数 β\beta に対して

mZnβf(x+Bm)\sum_{m\in\Z^n}\partial^\beta f(x+Bm)

xKx\in K に関して絶対かつ一様に収束する. 特に格子上の和

λΛf(λ)\sum_{\lambda\in\Lat}\abs{f(\lambda)}

は収束する. さらに,周期化した級数

λΛf(x+λ)\sum_{\lambda\in\Lat}f(x+\lambda)

は滑らかであり,項別微分できる.

証明

BB は可逆なので,ある c>0c>0 が存在して

Bmcm(mZn)\norm{Bm}\geq c\norm{m} \qquad(m\in\Z^n)

が成り立つ. また,KK は有界なので,ある M>0M>0 について xM\norm{x}\leq M (xKx\in K) とできる. したがって

x+BmcmM(xK)\norm{x+Bm} \geq c\norm{m}-M \qquad(x\in K)

である. Schwartz関数の急減少性により,任意の NN に対して定数 Aβ,NA_{\beta,N} が存在し, 有限個の小さい mm を定数に吸収すれば

supxKβf(x+Bm)Aβ,N(1+m)N\sup_{x\in K} \abs{\partial^\beta f(x+Bm)} \leq A_{\beta,N}(1+\norm{m})^{-N}

と評価できる. N>nN>n と取れば右辺は mZnm\in\Z^n について総和可能である. Weierstrassの判定法により,級数は KK 上で絶対かつ一様に収束する. 同じ議論をすべての偏微分に適用できるので,周期化した級数は滑らかであり,項別微分できる.

証明終わり

この補題により,格子上でSchwartz関数を足し上げた級数は絶対収束します. 直感的には,格子点数の増加は多項式的である一方, Schwartz関数は任意の多項式より速く減少するからです. ガウス関数はSchwartz関数なので,テータ級数も絶対収束します.

定理 5.3 を証明します.

証明

まず一次元の場合を示す.

It(y)Reπtx2e2π1xydxI_{t}(y) \coloneqq \int_{\R} \e^{-\pi t x^{2}} \e^{-2\pi\iu xy} \dd x

とおく. xeπtx2x\e^{-\pi t x^{2}} は絶対可積分なので,積分の下で微分でき,

It(y)=R(2π1x)eπtx2e2π1xydx=1tRddx(eπtx2)e2π1xydx.\begin{aligned} I_{t}^{\prime}(y) &= \int_{\R} (-2\pi\iu x) \e^{-\pi t x^{2}} \e^{-2\pi\iu xy} \dd x \\ &= \frac{\iu}{t} \int_{\R} \frac{\dd}{\dd x}\left(\e^{-\pi t x^{2}}\right) \e^{-2\pi\iu xy} \dd x. \end{aligned}

部分積分すると,ガウス関数の急減少性により境界項は消え,

It(y)=1tReπtx2ddx(e2π1xy)dx=2πytIt(y)\begin{aligned} I_{t}^{\prime}(y) &= -\frac{\iu}{t} \int_{\R} \e^{-\pi t x^{2}} \frac{\dd}{\dd x} \left(\e^{-2\pi\iu xy}\right) \dd x \\ &= -\frac{2\pi y}{t} I_{t}(y) \end{aligned}

を得る. したがって

It(y)=It(0)eπy2/tI_{t}(y) = I_{t}(0)\e^{-\pi y^{2}/t}

である.

ここで,標準的なガウス積分を確認する.

AReπu2duA \coloneqq \int_{\R}\e^{-\pi u^{2}}\dd u

とおく.被積分関数が非負なので,Tonelliの定理と極座標変換により

A2=R2eπ(u2+v2)dudv=02π0eπr2rdrdθ=1.\begin{aligned} A^{2} &= \int_{\R^{2}} \e^{-\pi(u^{2} + v^{2})} \dd u \dd v \\ &= \int_{0}^{2\pi} \int_{0}^{\infty} \e^{-\pi r^{2}} r \dd r \dd\theta \\ &= 1. \end{aligned}

A>0A > 0 なので A=1A = 1 である. 変数変換 u=txu = \sqrt t\,x により

It(0)=Reπtx2dx=t1/2I_{t}(0) = \int_{\R} \e^{-\pi t x^{2}} \dd x = t^{-1/2}

であり,したがって

It(y)=t1/2eπy2/tI_{t}(y) = t^{-1/2}\e^{-\pi y^{2}/t}

を得る.

一般の nn に対しては,x=(x1,,xn)x = (x_{1}, \dots, x_{n})y=(y1,,yn)y = (y_{1}, \dots, y_{n}) と書くと

eπtx2e2π1x,y=j=1neπtxj2e2π1xjyj\e^{-\pi t\norm{x}^2} \e^{-2\pi\iu\inner{x}{y}} = \prod_{j=1}^{n} \e^{-\pi t x_{j}^{2}} \e^{-2\pi\iu x_{j} y_{j}}

である. この関数は絶対可積分なので,Fubiniの定理により

ft^(y)=j=1nIt(yj)=j=1nt1/2eπyj2/t=tn/2eπy2/t\begin{aligned} \what{f_t}(y) &= \prod_{j=1}^{n} I_{t}(y_{j}) \\ &= \prod_{j=1}^{n} t^{-1/2}\e^{-\pi y_{j}^{2}/t} \\ &= t^{-n/2}\e^{-\pi\norm{y}^{2}/t} \end{aligned}

を得る.

証明終わり

本稿では 定理 5.3 を標準的なFourier解析の基本公式として用います.

命題 5.4 を証明します.

証明
(1)

多重指数 βZ0n\beta \in \Z_{\geq 0}^{n} に対して, xβf(x)x^{\beta} f(x) は絶対可積分である. したがって,優収束定理により積分の下で任意回微分でき,

yβf^(y)=((2π1x)βf)^(y)(17.1)\partial_{y}^{\beta} \what{f}(y) = \what{ \bigl((-2\pi\iu x)^{\beta} f \bigr) }(y) \tag{17.1}

を得る. ここで

(2π1x)β=j=1n(2π1xj)βj(-2\pi\iu x)^{\beta} = \prod_{j=1}^{n} (-2\pi\iu x_{j})^{\beta_{j}}

である.

一方,Schwartz関数 hh と多重指数 α\alpha に対して, 各座標について部分積分することにより

αh^(y)=(2π1)α1yαh^(y)(17.2)\what{\partial^{\alpha} h}(y) = (2 \pi \iu)^{\lvert\alpha\rvert_1} y^{\alpha} \what{h}(y) \tag{17.2}

が成り立つ. Schwartz関数はすべての偏微分とともに急速に減少するため, 部分積分の境界項はすべて 00 になる.

(17.1)(17.2) を組み合わせると, 任意の多重指数 α\alpha, β\beta に対して

yαyβf^(y)=(2π1)α1α((2π1x)βf)^(y)y^{\alpha} \partial_{y}^{\beta} \what{f}(y) = (2\pi\iu)^{-\lvert\alpha\rvert_1} \what{ \partial^{\alpha} \bigl((-2\pi\iu x)^{\beta} f \bigr) }(y)

となる. Fourier変換の定義から,絶対可積分な関数 gg に対して

g^(y)Rng(x)dx\abs{\what{g}(y)} \leq \int_{\R^{n}} \abs{g(x)} \dd x

である.したがって

yαyβf^(y)(2π)α1Rnα((2π1x)βf(x))dx.\abs{ y^{\alpha} \partial_{y}^{\beta} \what{f}(y) } \leq (2\pi)^{-\lvert\alpha\rvert_1} \int_{\R^{n}} \abs{ \partial^{\alpha} \bigl((-2\pi\iu x)^{\beta} f(x)\bigr) } \dd x.

右辺は有限であり,yy に依存しない. よって

supyRnyαyβf^(y)<\sup_{y \in \R^{n}} \abs{ y^{\alpha} \partial_{y}^{\beta} \what{f}(y) } < \infty

である. α\alpha, β\beta は任意だったので,f^\what{f} はSchwartz関数である.

(2)

次に第2項を示す. ε>0\varepsilon > 0 に対して

Gε(y)eπεy2G_{\varepsilon}(y) \coloneqq \e^{-\pi\varepsilon\norm{y}^{2}}

とおき,

Iε(x)Rnf^(y)e2π1x,yGε(y)dyI_{\varepsilon}(x) \coloneqq \int_{\R^{n}} \what{f}(y) \e^{2\pi\iu\inner{x}{y}} G_{\varepsilon}(y) \dd y

と定める. 第1項より f^\what{f} はSchwartz関数,特に絶対可積分である. また 0<Gε(y)10 < G_{\varepsilon}(y) \leq 1 なので,優収束定理により

limε0Iε(x)=Rnf^(y)e2π1x,ydy(17.3)\lim_{\varepsilon \downarrow 0} I_{\varepsilon}(x) = \int_{\R^{n}} \what{f}(y) \e^{2\pi\iu\inner{x}{y}} \dd y \tag{17.3}

である.

Fourier変換の定義を代入すると

Iε(x)=RnRnf(u)e2π1u,ye2π1x,yGε(y)dudy.\begin{aligned} I_{\varepsilon}(x) &= \int_{\R^{n}} \int_{\R^{n}} f(u) \e^{-2\pi\iu\inner{u}{y}} \e^{2\pi\iu\inner{x}{y}} G_{\varepsilon}(y) \dd u\dd y. \end{aligned}

ここで

Rnf(u)duRnGε(y)dy<\int_{\R^{n}} \abs{f(u)} \dd u \int_{\R^{n}} G_{\varepsilon}(y) \dd y < \infty

なので,Fubiniの定理を適用できる. 積分の順序を交換し, 定理 5.3 を使うと

Iε(x)=Rnf(u)(RnGε(y)e2π1ux,ydy)du=Rnf(u)εn/2eπux2/εdu.\begin{aligned} I_{\varepsilon}(x) &= \int_{\R^{n}} f(u) \left( \int_{\R^{n}} G_{\varepsilon}(y) \e^{-2\pi\iu\inner{u-x}{y}} \dd y \right) \dd u \\ &= \int_{\R^{n}} f(u) \varepsilon^{-n/2} \e^{-\pi\norm{u - x}^{2}/\varepsilon} \dd u. \end{aligned}

変数変換 u=x+εvu = x + \sqrt{\varepsilon}\, v により

Iε(x)=Rnf(x+εv)eπv2dvI_{\varepsilon}(x) = \int_{\R^{n}} f(x + \sqrt{\varepsilon}\,v) \e^{-\pi\norm{v}^{2}} \dd v

となる. Schwartz関数 ff は有界であり, eπv2\e^{-\pi\norm{v}^{2}} は絶対可積分なので, 再び優収束定理を適用できる. また,Fubiniの定理と一次元ガウス積分 Reπu2du=1\int_{\R}\e^{-\pi u^2}\dd u=1 より Rneπv2dv=1\int_{\R^n}\e^{-\pi\norm{v}^{2}}\dd v=1 である. したがって

limε0Iε(x)=f(x)Rneπv2dv=f(x).\begin{aligned} \lim_{\varepsilon \downarrow 0} I_{\varepsilon}(x) &= f(x) \int_{\R^{n}} \e^{-\pi\norm{v}^{2}} \dd v \\ &= f(x). \end{aligned}

これと (17.3) から, Fourier反転公式

f(x)=Rnf^(y)e2π1x,ydy(17.4)f(x) = \int_{\R^{n}} \what{f}(y) \e^{2 \pi \iu\inner{x}{y}} \dd y \tag{17.4}

を得る. (17.4)xxx-x に置き換えると

f^^(x)=Rnf^(y)e2π1y,xdy=f(x)\begin{aligned} \what{\what{f}}(x) &= \int_{\R^{n}} \what{f}(y) \e^{-2\pi\iu\inner{y}{x}} \dd y \\ &= f(-x) \end{aligned}

となり,所望の結果が得られる.

(3)

Fourier変換を F\mathcal{F},反転作用素を (Rf)(x)=f(x)(Rf)(x) = f(-x) と書く.第2項は F2=R\mathcal{F}^{2} = R を意味する. R2R^{2} は恒等作用素なので

F4=(F2)2=R2=id\mathcal{F}^{4} = (\mathcal{F}^{2})^{2} = R^{2} = \id

である. したがって F1=F3\mathcal{F}^{-1} = \mathcal{F}^{3} であり, Fourier変換はSchwartz関数の空間の線形自己同型である.

(4)

各座標に関する微分と多項式倍を考えれば, fEf_{E}RE\R^{E} 上のSchwartz関数である. また

REeEf(xe)dx=(Rf(u)du)#E<\int_{\R^{E}} \prod_{e \in E}\abs{f(x_{e})} \dd x = \left( \int_{\R}\abs{f(u)} \dd u \right)^{\card{E}} <\infty

なので,Fubiniの定理を適用できる. よって

fE^(y)=REeEf(xe)e2π1eExeyedx=REeE(f(xe)e2π1xeye)dx=eERf(xe)e2π1xeyedxe=eEf^(ye)\begin{aligned} \what{f_{E}}(y) &= \int_{\R^{E}} \prod_{e \in E} f(x_{e}) \e^{-2 \pi \iu\sum_{e \in E} x_{e} y_{e}} \dd x \\ &= \int_{\R^{E}} \prod_{e \in E} \left( f(x_{e}) \e^{-2\pi\iu x_{e} y_{e}} \right) \dd x \\ &= \prod_{e \in E} \int_{\R} f(x_{e}) \e^{-2\pi\iu x_{e} y_{e}} \dd x_{e} \\ &= \prod_{e \in E} \what{f}(y_{e}) \end{aligned}

となる.

証明終わり

補題17.2(格子周期関数のFourier展開).

Λ=BZn\Lat = B\Z^{n} をフルランク格子とし,

P=B[0,1)n,V=detB\mathcal{P}=B[0,1)^{n}, \qquad V=\abs{\det B}

とおく.このとき Λ=(B)1Zn\Lat^{\ast}=(B^{\top})^{-1}\Z^{n} である. 滑らかな Λ\Lat 周期関数 H ⁣:RnCH\colon\R^{n}\to\C に対して

cyV1PH(x)e2π1x,ydx(yΛ)c_y \coloneqq V^{-1} \int_{\mathcal P} H(x)\e^{-2\pi\iu\inner{x}{y}}\dd x \qquad(y\in\Lat^{\ast})

と定めると,

H(x)=yΛcye2π1x,yH(x) = \sum_{y\in\Lat^{\ast}} c_y \e^{2\pi\iu\inner{x}{y}}

が成り立つ.この級数は絶対かつ一様に収束する.

証明

h(u)=H(Bu)h(u)=H(Bu) とおくと,hh は標準トーラス Rn/Zn\R^{n}/\Z^{n} 上の滑らかな周期関数である. y=(B)1my=(B^{\top})^{-1}m (mZnm\in\Z^{n}) と書くと, 変数変換 x=Bux=Bu により

cy=[0,1)nh(u)e2π1m,uduc_y = \int_{[0,1)^{n}} h(u)\e^{-2\pi\iu\inner{m}{u}}\dd u

となる.したがって,問題は標準トーラス上のFourier級数に帰着する.

標準トーラス上で,滑らかな周期関数のFourier係数は任意の多項式次数より速く減少する. 実際,

Δj=1n2uj2\Delta \coloneqq \sum_{j=1}^{n}\frac{\partial^{2}}{\partial u_{j}^{2}}

とおく.任意の非負整数 NN に対して,周期的な部分積分により

(1+4π2m2)Nc(B)1m=[0,1)n(1Δ)Nh(u)e2π1m,udu(1+4\pi^{2}\norm{m}^{2})^{N} c_{(B^{\top})^{-1}m} = \int_{[0,1)^{n}} (1-\Delta)^{N}h(u) \e^{-2\pi\iu\inner{m}{u}}\dd u

となる.周期性により境界項は相殺される. 右辺は mm に依存しない定数で一様に抑えられるので, ある定数 ANA_N が存在して

c(B)1mAN(1+m2)N\abs{c_{(B^{\top})^{-1}m}} \leq A_N(1+\norm{m}^{2})^{-N}

である.N>n/2N>n/2 と取れば右辺は mZnm\in\Z^{n} について総和可能である. Weierstrassの判定法により,Fourier級数は絶対かつ一様に収束する.

あとは,この一様収束級数が元の関数に一致することを確認すればよい. ここでは,標準トーラス上のFourier級数に関する標準定理として, 一変数Fejér核の積で作る多変数Fejér核が近似恒等族をなすこと, および連続周期関数のFejér平均が一様収束することを用いる. 一方,Fejér平均はFourier係数から作られる有限和である. Fourier係数が絶対可算であるため,Fejér平均は通常のFourier級数にも一様に収束する. よってFourier級数は hh に一様収束する. これを x=Bux=Bu に戻せば,主張を得る.

証明終わり

定理 5.5 を証明します.

証明

Λ=BZn\Lat=B\Z^{n} と書き,

P=B[0,1)n,P=B[0,1]n,V=vol(Rn/Λ)=detB\mathcal P=B[0,1)^{n}, \qquad \overline{\mathcal P}=B[0,1]^n, \qquad V=\vol(\R^{n}/\Lat)=\abs{\det B}

とおく. Schwartz関数 ff に対して

Pf(x)λΛf(x+λ)P_{f}(x) \coloneqq \sum_{\lambda \in \Lat} f(x + \lambda)

と定める. これは明らかに Λ\Lat 周期である. また,補題 17.1 を コンパクト集合 K=PK=\overline{\mathcal P} に適用すると, この級数と各階偏微分の級数は P\overline{\mathcal P} 上, したがって P\mathcal P 上でも絶対かつ一様に収束する. これにより,P\mathcal P 上での和と積分の交換が正当化される. 滑らかさと項別微分については,任意の点の近傍に含まれるコンパクト集合へ同じ補題を適用すればよい.

補題 17.2PfP_f に適用する. yΛy\in\Lat^{\ast} に対するFourier係数は

cy=V1PλΛf(x+λ)e2π1x,ydx.\begin{aligned} c_y &= V^{-1} \int_{\mathcal P} \sum_{\lambda\in\Lat} f(x+\lambda) \e^{-2\pi\iu\inner{x}{y}}\dd x . \end{aligned}

基本領域上で一様絶対収束するので,和と積分を交換できる. すると

cy=V1λΛPf(x+λ)e2π1x,ydx.\begin{aligned} c_y &= V^{-1} \sum_{\lambda\in\Lat} \int_{\mathcal P} f(x+\lambda) \e^{-2\pi\iu\inner{x}{y}}\dd x . \end{aligned}

ここで u=x+λu=x+\lambda と変数変換する. yΛy\in\Lat^{\ast} なので λ,yZ\inner{\lambda}{y}\in\Z であり,

e2π1λ,y=1\e^{2\pi\iu\inner{\lambda}{y}}=1

である.よって

cy=V1λΛP+λf(u)e2π1u,ydu.\begin{aligned} c_y &= V^{-1} \sum_{\lambda\in\Lat} \int_{\mathcal P+\lambda} f(u) \e^{-2\pi\iu\inner{u}{y}}\dd u . \end{aligned}

半開基本領域を使っているので, 集合族 {P+λ:λΛ}\{\mathcal P+\lambda:\lambda\in\Lat\}Rn\R^n を互いに素に分割する. したがって

cy=V1Rnf(u)e2π1u,ydu=V1f^(y).c_y = V^{-1} \int_{\R^{n}} f(u)\e^{-2\pi\iu\inner{u}{y}}\dd u = V^{-1}\what{f}(y).

命題 5.4 より f^\what{f} はSchwartz関数である. したがって右辺の格子和 yΛf^(y)\sum_{y\in\Lat^{\ast}}\what{f}(y) も絶対収束する. 補題 17.2 から

Pf(x)=1VyΛf^(y)e2π1x,yP_f(x) = \frac{1}{V} \sum_{y\in\Lat^{\ast}} \what{f}(y) \e^{2\pi\iu\inner{x}{y}}

が成り立つ. 最後に x=0x=0 を代入すると

λΛf(λ)=1VyΛf^(y)\sum_{\lambda\in\Lat}f(\lambda) = \frac{1}{V} \sum_{y\in\Lat^{\ast}}\what{f}(y)

である.これは (5.1) そのものである.

証明終わり

系 5.6 を証明します.

証明

g(x)=f(x+x0)g(x) = f(x + x_{0}) とおく. Fourier変換の定義から,変数変換 u=x+x0u = x + x_{0} により

g^(y)=exp(2π1x0y)f^(y)\what{g}(y) = \exp(2\pi\iu\,x_{0} y) \what{f}(y)

である.格子 hZh\Z に通常のPoisson和公式を適用すると

rZg(rh)=1hsZg^(s/h)\sum_{r \in \Z} g(rh) = \frac{1}{h} \sum_{s \in \Z} \what{g}(s/h)

となる. 左辺は rZf(x0+rh)\sum_{r \in \Z} f(x_{0} + rh) であり,右辺に上の式を代入すれば主張を得る.

証明終わり

次回へ

ここまでで,本稿の主張である格子・テータ関数から見たMacWilliams恒等式の導出は完結しています. 以下は連載上の予告です.

次回は,MacWilliams恒等式をゼータ関数とRiemann–Roch型の視点から見ます. 今回の証明では,符号から格子を作り,ガウス関数では格子テータ関数の変換公式を得て, 任意のSchwartz関数では完全重み多項式版MacWilliams恒等式を取り出しました. 次回は,符号にゼータ関数を付随させ,その関数等式やRiemann–Roch型の次元公式の側からMacWilliams恒等式を見ます.

次回の主役は,

符号のゼータ関数 → Riemann–Roch型公式 → 関数等式 → MacWilliams恒等式

です. 同じMacWilliams恒等式であっても, 次回は格子のPoisson和公式ではなく,数論的な関数等式の姿が見えてきます.

脚注

  1. この辺りの用語の衝突は激しく,latticeは日本語で格子と束で区別できますが, 日本語の「束」は順序理論のlatticeと,ベクトル束などで現れるbundleを指すこともあります. 実は著者もマトロイド理論で現れるlatticeを初学者の頃は格子だと勘違いしていました.

参考文献

  1. [CS99] J. H. Conway and N. J. A. Sloane. Sphere packings, lattices and groups. Springer-Verlag, New York, vol. 290, pp. lxxiv+703, 1999. doi:10.1007/978-1-4757-6568-7
  2. [Ebe94] Wolfgang Ebeling. Lattices and codes. Friedr. Vieweg & Sohn, Braunschweig, pp. xvi+178, 1994. doi:10.1007/978-3-322-96879-1
  3. [Ser73] J.-P. Serre. A course in arithmetic. Springer-Verlag, New York-Heidelberg, vol. No. 7, pp. viii+115, 1973
  4. [BE72] Michel Broué and Michel Enguehard. Polynômes des poids de certains codes et fonctions thêta de certains réseaux. Ann. Sci. École Norm. Sup. (4), vol. 5, pp. 157–181, 1972. http://www.numdam.org/item?id=ASENS_1972_4_5_1_157_0
  5. [Key12] David Keyes. F_p-codes, theta functions and the Hamming weight MacWilliams identity. Adv. Math. Commun., vol. 6, no. 4, pp. 401–418, 2012. doi:10.3934/amc.2012.6.401
  6. [Nis01] Shigeto Nishimura. Duality of codes and theta functions. Sci. Math. Jpn., vol. 53, no. 1, pp. 113–118, 2001

この連載

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

連載一覧へ戻る

免責事項

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

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

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