格子 (数学)

数学における、特に初等幾何学および群論における、*n*-次元空間 **R***n* 内の**格子**（こうし、）とは、実ベクトル空間 **R***n* を生成するような **R***n* の離散部分群をいう。すなわち、**R***n* の任意の格子は、ベクトル空間としての基底から、その整数係数線型結合の全体として得られる。ひとつの格子は、その基本領域あるいはによる正多面体空間充填 (regular tiling) と見ることもできる。

格子には多くの顕著な応用があり、純粋数学では特にリー環論、数論および群論に関係がある。応用数学でいえば、まず暗号理論において、いくつかの格子問題の計算が困難であることに起因する符号理論に関連する。また、物理科学においてもいくつかのやり方で応用があり、例えば物質科学および固体物理学では、「格子」は結晶構造の「枠組み」の同義語であり、結晶において原子や分子が隣接して占める正多面体状の三次元的な空間配列を意味する。より一般に、物理学において格子モデルが（しばしば計算物理の手法を用いて）研究される。

## 対称性としての解釈と例
格子は *n* 種類の方向への平行移動対称性の成す離散的対称変換群である。この平行移動対称性の格子のパターンは、もっと多くの対称性を含みうるが、格子自身の持つ対称変換より対称性が少なくなることはない。

3-次元の正多面体空間充填の意味での格子（例えば結晶における原子や分子の位置や、もっと一般に平行移動対称性としての群の作用の軌道）は平行移動の成す格子に翻訳することができる。平行移動に関するコセットは必ずしも原点を含むことは必要ではないので、冒頭で述べた意味では格子でない。
 
格子の簡単な例として、**R***n* の部分群としての **Z***n* が挙げられる。少し込み入った例では、**R**24 におけるリーチ格子がある。また、19世紀数学で発展した楕円函数の研究で中心的な役割を果たす **R**2 の周期格子が挙げられる。これはアーベル函数論においてさらに高次元へ一般化される。

## 格子による空間分割
典型的な **R***n* の格子 &Lambda; は
:
\Lambda = \left\{ \sum_{i=1}^n a_i v_i \; | \; a_i \in\mathbb{Z} \right\}

という形に書くことができる。ただし {*v*1, ..., *v**n*} は **R***n* の基底である。異なる基底が同じ格子を生成することはありうるが、ベクトル *v**i* を並べた行列の行列式の絶対値は &Lambda; に対して一意に決まり、それを *d*(Λ) で表す。格子を全空間 **R***n* の同一の多面体（格子の**[[基本領域]]**と呼ばれる *n*-次元平行多面体のコピー）による分割として見るならば、
*d*(Λ) はこの多面体の *n*-次元体積である。このことから、*d*(&Lambda;) は、格子の**余体積** (*covolume*) と呼ばれることもある。

## 凸集合の格子点
ミンコフスキーの定理は体積 *d*(Λ) に関係するもので、対称凸集合 *S* の体積と、*S* に含まれる格子点の数の関係を述べたものである。多胞体に含まれる格子点の数、格子の元となっている全ての頂点が、多胞体のエルハート多項式によって記述される。この多項式のいくつかの係数に関する公式に *d*(&Lambda;) が現れる。

Theorem: let P be the polytope: fundamental region of a basis which is a weighted square self-blocking clutter S.
then covolume(P) = k and P contains k - 1 integer interior points, where k is the wheight of the edges of S.

## 格子による計算

**格子基底縮小** (*Lattice basis reduction*) とは、より小さくより近い直交格子基底を求める問題である。 (Lenstra-Lenstra-Lovász lattice basis reduction algorithm, **LLL**) はそのような格子基底に多項式時間で近似する。これにはいくらかの応用があり、特に公開鍵暗号に利用されている。

## 平面格子
二次元の格子はに示される5種類のタイプがある。平行移動対称性の格子を使った文様はさらに多くの対称性を持つかもしれないが、格子自体の対称性より少なくはならない。文様の対称性の群が *n*-回回転を含むならば、*n* が偶数のとき *n*-回回転対称性、*n* が奇数のとき 2*n*-回回転対称性を、もとの格子は持つ。 

以下では、格子の平面結晶群（文様群）としての記号を丸カッコ内に示した。

file:Rhombic Lattice.svg|**斜方格子**、**菱形格子**、**中心矩形格子**、**二等辺三角格子** (cmm): 均等な間隔で並べられた列の上に均等な間隔で点が並ぶ、かつ、各列は配置間隔の半分ずつ互い違いにずれている（対称的にジグザグ）
file:Equilateral Triangle Lattice.svg|**六角格子**、**正三角格子** (p6m)
file:SquareLattice.svg|**[[正方格子]]** (p4m)
file:Rectangular Lattice.svg|**矩形格子**、**原始矩形格子** (pmm)
file:Oblique Lattice.svg|**平行体格子**、**歪斜格子** (p2): （非対称なジグザグ）


与えられた格子の分類のため、ある一点から始めて次に最も近い点をとる。三つ目の点は、それが同一直線上にないなら、もとの二点との距離を考える。そして、それら二つの距離より距離が小さくなるような点たちのうち、この二つの距離のうち小さいほうが最小距離となるような点たちの中で、その二つの距離のうちの大きいほうが最小距離となるようなものを選ぶ（論理同値ではないが、今の場合は単に「その二つの距離のうちの大きいほうが最小距離となるようなものを選ぶ」と言っても結果としては同じである）。

格子の5つのタイプは、三角形が等辺（正）、直角二等辺、直角、二等辺および不等辺となる各場合に対応する。斜方格子では、最短距離は菱形の対角線か辺のいずれかである。つまり、最初の二点を結ぶ線分は二等辺三角形の等辺になるかもしれないしならないかもしれない。これは菱形の小さいほうの角が 60° より小さいのか、60° と 90° の間になるのかに依存する。

一般の場合は周期格子として知られる。ベクトル **p** および **q** が格子を生成するとき、**p** と **q** の代わりに **p** および **p** &minus; **q** などを取っても同じ格子が生成される。平面では一般に、*ad* &minus; *bc* = &plusmn;1 を満たす整数 *a*, *b*, *c*, *d* を考えるとき、*a***p** + *b***q** および *c***p** + *d***q** はもとと同じ格子を生成する。これは、**p**, **q** 自身が他の二つのベクトルの整数係数線型結合となることをも保証する。どの対 **p**, **q** も平行四辺形を定めるが、その面積は全て同じ値で、それらの対のベクトル積の大きさになる。平行四辺形をひとつ決めれば、それによって平面全体を埋め尽くせる。追加の対称性を考えないならば、この平行四辺形は基本平行四辺形である。

ベクトル **p** および **q** は複素数として表現することができる。大きさと向きの違いを除けば、このような対をそれらの商として表せる。幾何学的に表示すれば、格子上の二点を 0 および 1 とし、格子上の第三点の位置を考えるのである。同じ格子を生成するという意味での同値性はモジュラー群によって表される。
: T\colon z\mapsto z+1
が表すのは、同じグリッドの第三点を取り替えることであり、
: S\colon z\mapsto -1/z
は三角形の基準とする辺 01 を別の辺に取り替えることを表す。これは一般に、格子のスケールを変えたり回転したりすることを含意する。

## 空間格子
三次元空間の14種類の格子のタイプは **[[ブラベー格子]]**と呼ばれ、それらの空間群によって特徴付けられる。特定のタイプの平行移動対称性の三次元パターンは、より多くの対称性を持ちうるが、格子自身の持つ対称性より少なくはならない。

## 複素空間における格子
**C***n* における格子は **C***n* の離散部分群で、実ベクトル空間として 2*n*-次元の実ベクトル空間 **C***n* を生成するものである。例えば、ガウスの整数環は **C** における格子を成す。

**R***n* における任意の格子は、階数 *n* の自由アーベル群であり、同様に **C***n* における格子は階数 2*n* の自由アーベル群である。

## リー群における格子

より一般に、リー群 *G* の格子 Γ は、商 *G*/Γ が測度有限となるような離散的部分群である。ただし、測度は *G* 上のハール測度から内在的に定まる測度とする（この格子の定義は、左不変でも右不変でも、ハール測度の選び方によらない）。*G*/Γ がコンパクトなときは明らかにこの要件が満たされるが、それは十分条件であって必要条件ではない。なんとなれば、''SL''<sub>2</sub>('''R''') に含まれるモジュラー群の場合を見ればよい。この場合、モジュラー群は格子になっているが、商はコンパクトではない（尖点 (cusp) が存在する）。リー群に含まれる格子の存在については一般的な結果として述べることができる。

格子が**一様**または**余コンパクト**であるとは、*G*/Γ がコンパクトになることを言う。さもなくば格子は**非一様**である。

## 一般のベクトル空間上の格子
通常は **R***n* の **Z**-格子を考える一方で、この概念は任意の体上の任意の有限次元ベクトル空間に対して一般化することができる。それは以下のような内容である。

*K* を体、*V* を *n*-次元 *K*-ベクトル空間とし、
: B = \{\mathbf{v}_1,\ldots, \mathbf{v}_n\}
を *V* の *K* 上の基底とする。さらに、*R* を *K* に含まれる環とすれば、*V* において *B* の生成する *R*-格子 \mathcal{L} は

:
\mathcal{L} = \left\{\sum_{i=1}^{n} a_i \mathbf{v}_i \mid a_i \in R, \mathbf{v}_i \in B \right\}


で与えられる。一般に異なる基底は異なる格子を生成するが、それらの基底の間に *R* の一般線型群 *GL**n*(*R*) に属する遷移行列 *T* があれば（つまり、*T* の全ての成分は *R* に属し、*T*&minus;1 の全ての成分が再び *R* に属す。これは *T* の行列式が *R*&times; に属するといってもよい。ただし *R*&times; は *R* の乗法可逆元全体の成す単元群である）、それらの基底の生成する格子は同型になる。これは遷移行列 *T* が二つの格子の間の同型写像を誘導するからである。

このような格子で重要なものとして、*K* として''p''-進数体、*R* として''p''-進整数環をとった数論における例が挙げられる。

もしベクトル空間がさらに内積空間となっているならば、上記の格子に対してその双対格子と呼ばれる格子が
:\mathcal{L}^*
 = \{ \mathbf{v} \in V \mid \langle \mathbf{v},\mathbf{x} \rangle \in R, \forall \mathbf{x} \in \mathcal{L} \}
 = \{ \mathbf{v} \in V \mid \langle \mathbf{v},\mathbf{v}_i \rangle \in R \}

によって与えられる。

## 関連項目
* 逆格子
* 単模格子 (Unimodular lattice)
* 結晶系
* マーラーのコンパクト性定理 (Mahler's compactness theorem)
* 格子グラフ (Lattice graph)
* Lattice-based cryptography
* Merkle-Hellmanナップサック暗号

## 参考文献
*