Construction analogous to that of a dual vector space
格子 理論において 、 双対格子は 双対ベクトル空間 のそれに類似した構成である 。ある点において、格子の双対格子の幾何学は の 幾何学の逆数であり 、この観点は多くの用途の根底にある。 L {\textstyle L} L {\textstyle L}
双対格子は、格子理論、理論計算機科学、暗号学、そしてより広い意味での数学において、多くの応用を持っています。例えば、 ポアソン和公式 の定式化に用いられ、転移定理は格子の幾何学とその双対格子の幾何学との間の関係性を提供し、多くの格子アルゴリズムは双対格子を利用しています。
物理学/化学への応用に重点を置いた記事については、 「逆格子」を 参照してください。この記事では、双対格子という数学的概念に焦点を当てています。
意味 を格子とする 。つまり、 何らかの行列 に対してである 。 L ⊆ R n {\textstyle L\subseteq \mathbb {R} ^{n}} L = B Z n {\textstyle L=B\mathbb {Z} ^{n}} B {\textstyle B}
双対格子は、 の各点で整数値を取る 線形 関数 の集合です 。 L {\textstyle L} L {\textstyle L}
L ∗ = { f ∈ ( span ( L ) ) ∗ : ∀ x ∈ L , f ( x ) ∈ Z } . {\displaystyle L^{*}=\{f\in ({\text{span}}(L))^{*}:\forall x\in L,f(x)\in \mathbb {Z} \}.} がドット積 を 使って と同一視される 場合 、 と書くことができます。 の 範囲 内の ベクトル に制限することが重要です 。そうしないと、結果のオブジェクトは 格子 に はなりません。 ( R n ) ∗ {\textstyle (\mathbb {R} ^{n})^{*}} R n {\textstyle \mathbb {R} ^{n}} L ∗ = { v ∈ span ( L ) : ∀ x ∈ L , v ⋅ x ∈ Z } . {\textstyle L^{*}=\{v\in {\text{span}}(L):\forall x\in L,v\cdot x\in \mathbb {Z} \}.} L {\textstyle L}
周囲ユークリッド空間のこの同一視にもかかわらず、格子とその双対は根本的に異なる種類のオブジェクトであることを強調しておくべきである。一方は ユークリッド空間の ベクトルから成り、もう一方はその空間上の線型汎関数の集合から構成される。この観点から、より抽象的な定義を次のように与えることもできる。
L ∗ = { f : L → Z : f is a linear function } = Hom Ab ( L , Z ) . {\displaystyle L^{*}=\{f:L\to \mathbb {Z} :{\text{f is a linear function}}\}={\text{Hom}}_{\text{Ab}}(L,\mathbb {Z} ).} しかし、双対は単なる抽象的な アーベル群 の汎関数としてではなく、自然な内積 を伴うことに注意してください。 ここで、は の 直交 基底 です 。(同様に、 の 直交基底に対して、 によって定義される 双対ベクトル 、 は直交基底であると宣言することもできます。)格子理論における双対性の重要な用途の1つは、主格子の幾何学とその双対の幾何学の関係であり、そのためにはこの内積が必要です。上記の具体的な記述では、双対の内積は一般に暗黙的です。 f ⋅ g = ∑ i f ( e i ) g ( e i ) {\textstyle f\cdot g=\sum _{i}f(e_{i})g(e_{i})} e i {\textstyle e_{i}} span ( L ) {\textstyle {\text{span}}(L)} e i {\textstyle e_{i}} span ( L ) {\textstyle {\text{span}}(L)} e i ∗ {\textstyle e_{i}^{*}} e i ∗ ( e j ) = δ i j {\textstyle e_{i}^{*}(e_{j})=\delta _{ij}}
プロパティ 双対格子の基本的な性質をいくつか挙げます。
が格子 の基底を与える行列である 場合 、 を満たします 。 B = [ b 1 , … , b n ] {\textstyle B=[b_{1},\ldots ,b_{n}]} L {\textstyle L} z ∈ span ( L ) {\textstyle z\in {\text{span}}(L)} z ∈ L ∗ ⟺ b i T z ∈ Z , i = 1 , … , n ⟺ B T z ∈ Z n {\textstyle z\in L^{*}\iff b_{i}^{T}z\in \mathbb {Z} ,i=1,\ldots ,n\iff B^{T}z\in \mathbb {Z} ^{n}} が格子 の基底を与える行列である 場合 、 は 双対格子 の基底を与えます。 がフルランクである場合 、 は双対格子 の基底を与えます 。 B {\textstyle B} L {\textstyle L} B ( B T B ) − 1 {\textstyle B(B^{T}B)^{-1}} L {\textstyle L} B − T {\textstyle B^{-T}} z ∈ L ∗ ⟺ B T z ∈ Z n ⟺ z ∈ B − T Z n {\textstyle z\in L^{*}\iff B^{T}z\in \mathbb {Z} ^{n}\iff z\in B^{-T}\mathbb {Z} ^{n}} 前の事実は、 ということを示しています 。この等式は、ベクトル空間とその二重双対との通常の同一視、または内積が その双対と同一視されている設定で成立します。 ( L ∗ ) ∗ = L {\textstyle (L^{*})^{*}=L} R n {\textstyle \mathbb {R} ^{n}} 2つの格子を固定します 。その場合 、 のときのみ となります 。 L , M {\textstyle L,M} L ⊆ M {\textstyle L\subseteq M} L ∗ ⊇ M ∗ {\textstyle L^{*}\supseteq M^{*}} 格子の行列式はその双対の行列式の逆数です。 det ( L ∗ ) = 1 det ( L ) {\textstyle {\text{det}}(L^{*})={\frac {1}{{\text{det}}(L)}}} がゼロ以外のスカラーの 場合、 となります 。 q {\textstyle q} ( q L ) ∗ = 1 q L ∗ {\textstyle (qL)^{*}={\frac {1}{q}}L^{*}} が回転行列である 場合、 となります 。 R {\textstyle R} ( R L ) ∗ = R L ∗ {\textstyle (RL)^{*}=RL^{*}} 格子が整列的であるとは、 すべての に対して が成り立つことを 意味する。格子は フルランクであると仮定する。ユークリッド空間とその双対空間との同一視のもとで、 整列格子 に対してが成り立つ。 および ならば で ある ことを思い出す 。このことから、整列格子 に対して が成り立つ 。 L {\textstyle L} x ⋅ y ∈ Z {\textstyle x\cdot y\in \mathbb {Z} } x , y ∈ L {\textstyle x,y\in L} L {\textstyle L} L ⊆ L ∗ {\textstyle L\subseteq L^{*}} L {\textstyle L} L ′ ⊆ L {\textstyle L'\subseteq L} | L / L ′ | < ∞ {\textstyle |L/L'|<\infty } det ( L ′ ) = det ( L ) | L / L ′ | {\textstyle {\text{det}}(L')={\text{det}}(L)|L/L'|} det ( L ) 2 = | L ∗ / L | {\textstyle {\text{det}}(L)^{2}=|L^{*}/L|} 整格子が ユニモジュラ であるとは 、 が成り立つことを意味する 。これは、上記の式から、 L = L ∗ {\textstyle L=L^{*}} det ( L ) = ± 1. {\textstyle {\text{det}}(L)=\pm 1.}
例 上記の特性を利用すると、格子の双対を手作業またはコンピューターで効率的に計算できます。
の双対は です 。 Z n {\textstyle \mathbb {Z} ^{n}} Z n {\textstyle \mathbb {Z} ^{n}} の双対は です 。 2 Z ⊕ Z {\textstyle 2\mathbb {Z} \oplus \mathbb {Z} } 1 2 Z ⊕ Z {\textstyle {\frac {1}{2}}\mathbb {Z} \oplus \mathbb {Z} } 座標の和が偶数となる整数ベクトルの格子を とします。すると 、 、つまり双対は整数ベクトルとすべての s ベクトルによって生成される格子です 。 L = { x ∈ Z n : ∑ x i = 0 mod 2 } {\textstyle L=\{x\in \mathbb {Z} ^{n}:\sum x_{i}=0\mod 2\}} L ∗ = Z n ∪ ( Z n + ( 1 2 , … , 1 2 ) ) {\textstyle L^{*}=\mathbb {Z} ^{n}\cup \left(\mathbb {Z} ^{n}+({\frac {1}{2}},\ldots ,{\frac {1}{2}})\right)} 1 / 2 {\textstyle 1/2}
転移定理 それぞれの整数値に対応するレベルセットに従って分割されます。 の選択肢が小さいほど、 レベル セット 間の距離は大きくなります。特に、層間の距離は です。このように推論すると、 における小さなベクトルを見つけること で、 の点の周りに配置できる重なり合わない球面の最大サイズの下限が得られること が示されます 。一般に、格子の特性とその双対の特性を関連付ける定理は、転移定理として知られています。このセクションでは、それらのいくつかと、複雑性理論への影響について説明します。 f ∈ L ∗ ∖ { 0 } {\textstyle f\in L^{*}\setminus \{0\}} L {\textstyle L} f {\textstyle f} 1 / | | f | | {\textstyle 1/||f||} L ∗ {\textstyle L^{*}} L {\textstyle L}
ここでいくつかの用語を思い出してみましょう。格子 において 、 は の線形独立ベクトルの 集合を含む最小半径の球体を表します 。例えば、 は の最短ベクトルの長さです 。 は の被覆半径を表します 。 L {\textstyle L} λ i ( L ) {\textstyle \lambda _{i}(L)} i {\textstyle i} L {\textstyle L} λ 1 ( L ) {\textstyle \lambda _{1}(L)} L {\textstyle L} μ ( L ) = max x ∈ R n d ( x , L ) {\textstyle \mu (L)={\text{max}}_{x\in \mathbb {R} ^{n}}d(x,L)} L {\textstyle L}
この表記法では、このセクションの導入部で述べた下限は となります 。 μ ( L ) ≥ 1 2 λ 1 ( L ∗ ) {\textstyle \mu (L)\geq {\frac {1}{2\lambda _{1}(L^{*})}}}
格子が短い非零ベクトル、すなわちベクトル自身を持つという主張には、常に効率的に検証可能な証明が存在する。バナシュチクの転移定理の重要な系は であり 、これは、格子が短いベクトルを持たないことを証明するために、短いベクトルからなる双対格子の基底を示すことができることを意味する。これらの考え方を用いると、格子の最短ベクトルをnの因数以内で近似すること( 問題 )が に含まれることを示すことができる 。 [2] λ 1 ( L ) ≥ 1 λ n ( L ∗ ) {\textstyle \lambda _{1}(L)\geq {\frac {1}{\lambda _{n}(L^{*})}}} GAPSVP n {\textstyle {\text{GAPSVP}}_{n}} NP ∩ coNP {\textstyle {\text{NP}}\cap {\text{coNP}}}
その他の転移定理:
この関係は 、最短ベクトル 上のミンコフスキーの境界 から得られます 。つまり、、 および であり 、 であるため、この主張が導かれます 。 λ 1 ( L ) λ 1 ( L ∗ ) ≤ n {\textstyle \lambda _{1}(L)\lambda _{1}(L^{*})\leq n} λ 1 ( L ) ≤ n ( det ( L ) 1 / n ) {\textstyle \lambda _{1}(L)\leq {\sqrt {n}}({\text{det}}(L)^{1/n})} λ 1 ( L ∗ ) ≤ n ( det ( L ∗ ) 1 / n ) {\textstyle \lambda _{1}(L^{*})\leq {\sqrt {n}}({\text{det}}(L^{*})^{1/n})} det ( L ) = 1 det ( L ∗ ) {\textstyle {\text{det}}(L)={\frac {1}{{\text{det}}(L^{*})}}}
デュアル格子は、一般的なポアソン和公式の記述に使用されます。
さらに読む エーベリング、ヴォルフガング (2013)。 「格子とコード」。 数学の上級講義 。ヴィースバーデン: Springer Fachmedien Wiesbaden。 土井 :10.1007/978-3-658-00360-9。 ISBN 978-3-658-00359-3 . ISSN 0932-7134.
参考文献 ^ Banaszczyk, W. (1993). 「数の幾何学におけるいくつかの転移定理の新しい境界」. Mathematische Annalen . 296 (1). Springer Science and Business Media LLC: 625– 635. doi :10.1007/bf01445125. ISSN 0025-5831. S2CID 13921988. ^ Cai, Jin-Yi; Nerurkar, Ajay (2000). 「一般クック縮約下における近似格子問題の非NP困難性に関する注記」. Information Processing Letters . 76 ( 1–2 ): 61–66 . doi :10.1016/S0020-0190(00)00123-X. MR 1797563. ^ コーン, ヘンリー; クマール, アビナフ; ライハー, クリスチャン; シュールマン, アキル (2014). 「ポアソン和公式の形式的双対性と一般化」. 離散幾何学と代数的組合せ論 . 現代数学. 第625巻. pp. 123– 140. arXiv : 1306.6796v2 . doi :10.1090/conm/625/12495. ISBN 9781470409050 . S2CID 117741906。