本文 largely based on Prof. Kschischang 和 Chen Feng 2014 年给的 tutorial。原 tutorial 的标题是 “An Introduction to Lattices and their Applications in Communications”. Slides 在网上可以下载到。
Lattice 基础
Notations
我们将使用的一些符号:
R , C \mathbb{R,C} R,C: 实数域和复数域。所谓域 (field) 是指一种可进行加减乘除(当然不能除以零之外,“零” 即加法单位元)运算的代数结构。如果域中元素个数有限,那就是有限域finite field.
Z \mathbb{Z} Z: 整数环 (ring)。所有的整数不构成域,因为整数的倒数一般不是整数。环 (ring) 是由集合R和定义于其上的两种二元运算(常被简称为加和乘,但与一般所说的加法和乘法不同)所构成的。
X n = { ( x 1 , x 2 , . . . , x n ) : x 1 , . . . x n ∈ X } X^n=\left\{(x_1,x_2,...,x_n):x_1,...x_n\in X\right\} Xn={ (x1,x2,...,xn):x1,...xn∈X}: 一个set X X X 自身的 n n n 重笛卡儿积 ( n n n-fold Cartesian product). 如果set X X X 本身是一个域,那么 X n X^n Xn 的每一个元素都是一个行向量。简而言之就是把set X X X 扩充到 n n n 维。
X m × n X^{m\times n} Xm×n: size 为 m × n m\times n m×n 的矩阵,且每个元素都是从 X X X 中选取的。所以上方 n n n 重笛卡儿积的定义也可以写为 X 1 × n X^{1\times n} X1×n。本文中一般使用行向量 instead of 列向量。
( G , + ) (G,+) (G,+): 表示一个群, G ∗ = G \ { 0 } G^*=G~\backslash\{0\} G∗=G \{ 0} 表示群 G G G 除了加法单位元 0 0 0 之外的所有元素的集合。Note: 群(group)是由一种集合以及一个二元运算所组成的,并且符合“群公理”: 封闭性、结合律、单位元和对于集合中所有元素存在逆元素。
Euclidean Space
我们把一个有限维的 Euclidean space 记作 R n \mathbb{R}^n Rn. 对于 R n \mathbb{R}^n Rn 中的任意两个元素 x \bm{x} x 和 y \bm{y} y,我们定义
- 内积 inner product: < x , y > = ∑ i = 1 n x i y i <\bm{x},\bm{y}>=\sum_{i=1}^n x_iy_i <x,y>=∑i=1nxiyi. 对应坐标元素相乘再相加, 内积为0时两个向量垂直;
- 范数 norm: ∥ x ∥ = < x , x > \|\bm{x}\|=\sqrt{<\bm{x},\bm{x}>} ∥x∥=<x,x>;
- metric: d ( x , y ) = ∥ x − y ∥ d(\bm{x,y})=\|\bm{x-y}\| d(x,y)=∥x−y∥.
- 令 R \mathcal{R} R 为 R n \mathbb{R}^n Rn 的一个subset,那么 R \mathcal{R} R 关于 x \bm{x} x 的 translation 是把 R \mathcal{R} R 平移 x \bm{x} x 后得到的set, 即 x + R = { x + y , y ∈ R } \bm{x}+\mathcal{R}=\{\bm{x+y},\bm{y}\in\mathcal{R}\} x+R={ x+y,y∈R}.
- Ball B r = { x ∈ R n : ∥ x ∥ ≤ r } \mathcal{B}_r=\left\{\bm{x}\in\mathbb{R}^n:\|\bm{x}\|\leq r\right\} Br={ x∈Rn:∥x∥≤r},这是一个圆心在 origin 半径为 r r r 的 n n n 维球。
其中, n n n 维球的体积为
V ( B r ) = π n / 2 Γ ( n 2 + 1 ) r n V(\mathcal{B}_r)=\frac{\pi^{n/2}}{\Gamma(\frac{n}{2}+1)}r^n V(Br)=Γ(2n+1)πn/2rn
分母中 Γ \Gamma Γ 把阶乘拓展到了非整数域,我们也可以把 Γ ( n 2 + 1 ) \Gamma(\frac{n}{2}+1) Γ(2n+1) 记作 n 2 ! \frac{n}{2}! 2n!. By Stirling’s approximation, 我们进一步可以得到一个 asymptotic formula:
V ( B r ) ≈ 1 n π ( 2 π e n ) n / 2 r n V(\mathcal{B}_r)\approx \frac{1}{\sqrt{n\pi}}\left(\frac{2\pi e}{n}\right)^{n/2}r^n V(Br)≈nπ1(n2πe)n/2rn.
Lattice Definition
我们现在可以定义 lattice 了. 在一下定义中,我们只关心 m = n m=n m=n 的情况,即 lattice 铺满整个空间 R n \mathbb{R}^n Rn, 而非仅存在于其subspace R m \mathbb{R}^m Rm.

讯享网
其中
- dim ( Λ ) = n \text{dim}(\Lambda)=n dim(Λ)=n;
- rank ( Λ ) = n \text{rank}(\Lambda)=n rank(Λ)=n;
- g 1 , g 2 , . . . , g n \bm{g_1},\bm{g_2},...,\bm{g_n} g1,g2,...,gn 这组线性无关的向量被称为 generators of Λ \Lambda Λ
简而言之,lattice就是 R n R^n Rn 用 generators 的整数倍线性组合能得到的所有离散点。按照群的定义,也可以说 Lattice is a subgroup of R n \mathbb{R}^n Rn.
举两个例子:


Lattice Generator Matrix
先然,我们可以把 Λ \Lambda Λ 写成矩阵形式。首先, n n n 个 线性无关的 generators g i \bm{g_i} gi 可以组成一个满秩矩阵,记作
G Λ = [ g 1 g 2 . . . g n ] \bm{G}_\Lambda=\begin{bmatrix} \bm{g_1} \\ \bm{g_2} \\ ... \\ \bm{g_n} \end{bmatrix} GΛ=⎣⎢⎢⎡g1g2...gn⎦⎥⎥⎤
那么,Lattice
Λ = { c G Λ : c ∈ Z n } \Lambda=\{c\bm{G}_\Lambda: c\in\mathbb{Z}^n\} Λ={
cGΛ:c∈Zn}
在上面的两个例子中,实际上最后生成的 lattice 是一模一样的. 但是由于我们使用了不同的generators,因此也有不同的生成矩阵。这意味着 同一个lattice有不同的生成矩阵,那么,一个自然的问题是,什么样的生成矩阵能生成同样的 lattice 尼?

这个定理很好理解,生成矩阵可以是小数,但是他们可以通过一个 unimodular matrix U \bm{U} U 相互转换。注意,unimodular matrix是一个整数矩阵且行列式 det ( U ) = { 1 , − 1 } \text{det}(\bm{U})=\{1,-1\} det(U)={
1,−1}. 等价的,我们可以定义它为整数域上可逆的整数矩阵,即它的逆仍然是 unimodular matrix. 而且显然两个unimodular matrix 的乘积仍然是unimodular matrix (仍是整数,且行列式仍是1 or -1).
Lattice Determinant

Lattice 的生成矩阵之间可以用 unimodular matrix相互转换,因此他们的determinant之间只差一个系数 1 或 -1. 换句话说,lattice的determinant是不随生成矩阵而变化的
这种不变性有很重要的几何意义,因为我们都知道矩阵的行列式实际上就是它的各行(或者各列) 生成的平行六面体 (parallelepiped) 的体积。这就意味着对于任何生成矩阵来说,他们的各行生成的 parallelepiped 体积都是相同的。下面我们给出严格的定义。

它的 volume
V ( P ( g 1 , . . . , g n ) ) = det ( Λ ) = ∣ det ( G Λ ) ∣ V(\mathcal{P}(\bm{g_1,...,g_n}))=\text{det}(\Lambda)=|\text{det}(\bm{G}_\Lambda)| V(P(g1,...,gn))=det(Λ)=∣det(GΛ)∣
两个简单的例子如下所示。

Lattice Fundamental Region
接下来我们讲一下 fundamental region。实际上fundamental parallelepiped 也是一种 fundamental region,只要carefully选择边界即可。

显然,所谓的 fundamental region 就是围绕在每个 lattice point 周围的一部分region。他们在一起覆盖了整个空间 R n \mathbb{R}^n Rn 但又相互不重叠。下面我们给出同一lattice的一些fundamental region

可以看到,fundamental region 不唯一,而且甚至不用是 connected set。但是需要注意的一点是,fundamental region不存在两个差为nonzero lattice point 的点。换句话说,对于任意一个fundamental region里的点,平移某个generator之后必然得跳出fundamental region了,不然会overlap。
每个fundamental region都有同样的volume, det ( Λ ) \text{det}(\Lambda) det(Λ)。
下面介绍另一种特殊的fundamental region – the Voronoi region.

对于某个lattice 点 λ \lambda λ, 这个特殊的 Voronoi region V ( λ ) \mathcal{V}(\lambda) V(λ) 的要求是, V ( λ ) \mathcal{V}(\lambda) V(λ) 种所有点到 λ \lambda λ 比到其他 lattice points 都要近。这也就意味着这个region是规则的lattice之间的等分region,如下图所示

其实也可以看到 Voronoi region 是很重要的,因为我们单独给了它一个符号 V \mathcal{V} V. 特别的,Lattice point λ = 0 \bm{\lambda=0} λ=0 的 region 被称为 the Voronoi region of the lattice, 记作 V ( Λ ) \mathcal{V}(\Lambda) V(Λ).
Minimum Distance and Successive Minima
lattice 本身具有一些距离属性,定义如下。
首先,minimum distance 是非零 lattice points 距离零最近的距离
d min ( Λ ) = min λ ∈ Λ ∗ ∥ λ ∥ d_\text{min}(\Lambda)=\min_{\lambda\in\Lambda^*} \|\lambda\| dmin(Λ)=λ∈Λ∗min∥λ∥

紧接着我们定义 lattice 的successive minima L i ( Λ ) L_i(\Lambda) Li(Λ),即包含 i i i 个线性无关的lattice vectors 的最小ball的半径。

显然, L 1 ( Λ ) = d min ( Λ ) L_1(\Lambda)=d_\text{min}(\Lambda) L1(Λ)=dmin(Λ). 另外需要注意的是,虽然 L n ( Λ ) L_n(\Lambda) Ln(Λ) 中有 n n n 个线性无关的 vector,但这不代表这 n n n 个线性无关的 vector可以张成exactly the same lattice。
Quick Summary
Lattice的几个regions:
给定一个 lattice,
- 它有不唯一的生成矩阵,不同生成矩阵行列式的abs都是一样的,记为 det ( Λ ) \text{det}(\Lambda) det(Λ).
- 每个生成矩阵对应一个fundamental parallelepiped,体积都是 det ( Λ ) \text{det}(\Lambda) det(Λ).
- 它有无穷个fundamental region,体积也都是 det ( Λ ) \text{det}(\Lambda) det(Λ).
- 一种特殊的fundamental region是Voronoi region,等分所有lattice points.
- The Voronoi region of the lattice 就是 lattice point 0 的 Voronoi region.
关于 Lattice 本身的一些属性:
- generators and generator matrix G Λ \bm{G}_{\Lambda} GΛ (不唯一);
- determinant det ( Λ ) = ∣ det ( G Λ ) ∣ \text{det}(\Lambda)=|\text{det}(\bm{G}_{\Lambda})| det(Λ)=∣det(GΛ)∣ (fixed);
- Voronoi region V ( Λ ) = V ( 0 ) \mathcal{V}(\Lambda)=\mathcal{V}(0) V(Λ)=V(0);
- minimum distance d min ( Λ ) d_\text{min}(\Lambda) dmin(Λ) and successive minima L i ( Λ ) L_i(\Lambda) Li(Λ);
下面我们研究 lattice 和 lattice 之间的关系
Dual Lattice

可以看到, Λ ⊥ \Lambda^{\perp} Λ⊥ 中的向量 x \bm{x} x,跟 Λ \Lambda Λ 中的任意 lattice point λ \lambda λ 的内积都是整数.

以上 fact 也告诉我们
- det ( Λ ) ∗ det ( Λ ⊥ ) = 1 \text{det}(\Lambda)*\text{det}(\Lambda^{\perp})=1 det(Λ)∗det(Λ⊥)=1;
- Λ ⊥ \Lambda^{\perp} Λ⊥ 的生成矩阵可以作为 Λ \Lambda Λ 生成矩阵的 parity-check matrix.
Nested Lattices
现在我们研究lattice的嵌套。这是 lattice 比较重要的性质因此我们要稍微多说一点。

如下图所示, Λ ′ \Lambda' Λ′ 嵌套入 Λ \Lambda Λ,此时我们分别称 Λ \Lambda Λ as the fine lattice while Λ ′ \Lambda' Λ′ as the coarse lattice. 记作
Λ ′ ⊆ Λ \Lambda'\subseteq\Lambda Λ′⊆Λ

而且,如果 Λ ′ \Lambda' Λ′ 能嵌套入 Λ \Lambda Λ,那说明 Λ ′ \Lambda' Λ′ 的元素也是属于 Λ \Lambda Λ的,可以用 Λ \Lambda Λ的 generator matrix 来产生。特别的,他们的generator matrix 必须满足以下关系
G Λ ′ = J G Λ \bm{G}_{\Lambda'}=\bm{JG}_{\Lambda} GΛ′=JGΛ
其中整数矩阵 J \bm{J} J 被称为 nesting matrix. J \bm{J} J 有以下性质:
- 不管怎么选 G Λ ′ , G Λ \bm{G}_{\Lambda'}, \bm{G}_{\Lambda} GΛ′,GΛ,
det ( J ) = det ( Λ ′ ) det ( Λ ) \text{det}(\bm{J})=\frac{\text{det}(\bm{\Lambda'})}{\text{det}(\bm{\Lambda})} det(J)=det(Λ)det(Λ′)
由于RHS只会变换符号,因此 ∣ det ( J ) ∣ |\text{det}(\bm{J})| ∣det(J)∣ 是fix不变的。 - 一旦 G Λ ′ , G Λ \bm{G}_{\Lambda'}, \bm{G}_{\Lambda} GΛ′,GΛ 给定 J \bm{J} J 也唯一确定;而且总能找到一组 G Λ ′ , G Λ \bm{G}_{\Lambda'}, \bm{G}_{\Lambda} GΛ′,GΛ 使得 J \bm{J} J 是一个对角阵。 这在如下theorem 中阐述。

[Q] here, the vertical bar between c i c_i ci means divisibility? does not make sense!
其中, c 1 , c 2 , . . . , c n c_1,c_2,...,c_n c1,c2,...,cn 被称为nesting matrix 的 invariance factors. 为了证明确实存在这样的diagonal nesting matrix, 我们先来看看矩阵的 Smith Normal Form.

从这个定义上看,principal ideal domain (PID) 中的任意非零矩阵 A \bm{A} A 都能被对角化。而这种对角化被称为 the Smith Normal Form of A \bm{A} A:
A = P − 1 D Q − 1 \bm{A}=\bm{P}^{-1}\bm{D}\bm{Q}^{-1} A=P−1DQ−1
好,现在让我们回到 nesting matrix
G Λ ′ = J G Λ \bm{G}_{\Lambda'}=\bm{JG}_{\Lambda} GΛ′=JGΛ
上面的叙述主要是想说存在2个 unimodular matrices U , V \bm{U,V} U,V 可以使 J \bm{J} J 对角化,即
J = U − 1 D V − 1 \bm{J}=\bm{U}^{-1}\bm{D}\bm{V}^{-1} J=U−1DV−1
则
G Λ ′ = U − 1 D V − 1 G Λ \bm{G}_{\Lambda'}=\bm{U}^{-1}\bm{D}\bm{V}^{-1}\bm{G}_{\Lambda} GΛ′=U−1DV−1GΛ
( U G Λ ′ ) = D ( V − 1 G Λ ) (\bm{U}\bm{G}_{\Lambda'})=\bm{D}(\bm{V}^{-1}\bm{G}_{\Lambda}) (UGΛ′)=D(V−1GΛ)
G Λ ′ ′ = D G Λ ′ \bm{G}^\prime_{\Lambda'}=\bm{D}\bm{G}^\prime_{\Lambda} GΛ′′=DGΛ′
即,用 U , V \bm{U,V} U,V 分别对原来的 G Λ ′ , G Λ \bm{G}_{\Lambda'}, \bm{G}_{\Lambda} GΛ′,GΛ 进行变换即可得到两个 lattice 新的 generator matrices 从而使得 nesting matrix 是diagonal的。
Labeling the Nested Lattice
给定一对 nested lattice ( Λ , Λ ′ ) (\Lambda,\Lambda') (Λ,Λ′), 我们可以对 Λ ′ \Lambda' Λ′ 的 fundamental parallelepiped 中 Λ \Lambda Λ 的元素进行label.
比如说,给定一对 nested lattices
G Λ ′ = diag ( c 1 , c 2 , . . . , c n ) G Λ \bm{G}_{\Lambda'}=\text{diag}(c_1,c_2,...,c_n)\bm{G}_{\Lambda} GΛ′=diag(c1,c2,...,cn)GΛ
Λ ′ \Lambda' Λ′ 的 fundamental parallelepiped 中,每个lattice points 可以记作
( a 1 , a 2 , . . . , a n ) G Λ (a_1,a_2,...,a_n)\bm{G}_{\Lambda} (a1,a2,...,an)GΛ
其中 0 ≤ a i ≤ c i 0\leq a_i \leq c_i 0≤ai≤ci, i = 1 , 2 , . . . , n i=1,2,...,n i=1,2,...,n.
下图是一个 G Λ ′ = diag ( 2 , 4 ) G Λ \bm{G}_{\Lambda'}=\text{diag}(2,4)\bm{G}_{\Lambda} GΛ′=diag(2,4)GΛ 的例子, 在 Λ ′ \Lambda' Λ′ 的 fundamental parallelepiped 中, 总共有 det ( J ) = ∏ i = 1 n c i \text{det}(\bm{J})=\prod_{i=1}^n c_i det(J)=∏i=1nci 个点, 我们可以按照上式对所有的点进行label.

这种label方式可以进一步periodically extend 到整个lattice Λ \Lambda Λ

如上图所示,此时 label 也是 linear 的,即两个 lattice points 和的label等于它们label的和 (在各个维度模 c n c_n cn), 即
ℓ ( λ 1 + λ 2 ) = ℓ ( λ 1 ) + ℓ ( λ 2 ) \ell(\lambda_1+\lambda_2)=\ell(\lambda_1)+\ell(\lambda_2) ℓ(λ1+λ2)=ℓ(λ1)+ℓ(λ2)
Complex Lattice
在本节的最后,我们讲一下complex lattice。在通信中我们的 baseband 信号是 complex 的 (after QAM modulation).

注意这里的定义和实数情况下并无二致. 我们让 m = n m=n m=n, 那么这个 n n n 维空间中所有点都是一个complex number,因此这些系数 c i c_i ci 也应该是complex integer (具体不再展开讲)。注意一般在通信中,我们讲 constellation,那是把复数当做二维实数来看 (复平面),这里每一个维度都可以看做一个复平面。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/34210.html