在讲了大一堆概念之后,我们终于可以开始来看看 lattice 的一些性质了。其实lattice有很好的几何含义,因此实际上关于 lattice的概念和性质都还是很好理解的。
首先一个问题就是 packing。还记得第一讲中的 n n n 维球 B r \mathcal{B}_r Br 么,我们首先研究怎么用lattice来pack balls。为了方便叙述,我们进一步定义
- Unit-radius ball 的 Volume:
Vol ( B 1 ) = V n \text{Vol}(\mathcal{B}_1)=V_n Vol(B1)=Vn -
B
r
=
r
B
1
=
{
r
x
:
x
∈
B
1
}
\mathcal{B}_r=r\mathcal{B}_1=\{r\bm{x}:\bm{x}\in\mathcal{B}_1\}
Br=rB1={rx:x∈B1} 的Volume
Vol ( B r ) = r n Vol ( B 1 ) = r n V n \text{Vol}(\mathcal{B}_r)=r^n\text{Vol}(\mathcal{B}_1)=r^nV_n Vol(Br)=rnVol(B1)=rnVn
Sphere Packing
好,现在我们用Lattice来填球。注意我们是要在每个lattice point上一起填球,而填充半径packing radius也就定义最大能塞进去的球的半径。
Visually, 显然我们只用考虑在 Voronoi region
V
(
Λ
)
\mathcal{V}(\Lambda)
V(Λ) 里面塞球就好了
我们知道lattice它的所有 fundamental region 的volume都是
det
(
Λ
)
\text{det}(\Lambda)
det(Λ). 用这个Volume,我们可以定义出一个effective ball of radius
r
eff
(
Λ
)
=
(
det
(
Λ
)
V
n
)
1
/
n
r_\text{eff}(\Lambda)=\left(\frac{\text{det}(\Lambda)}{V_n}\right)^{1/n}
reff(Λ)=(Vndet(Λ))1/n
这也被称为 lattice 的 effective radius。显然这个肯定比
r
pack
(
Λ
)
r_\text{pack}(\Lambda)
rpack(Λ) 大,Voronoi region本身为球时两者相等。自然的,我们可以定义他们的比值作为lattice 的 packing efficiency:
ρ
pack
(
Λ
)
=
r
pack
(
Λ
)
r
eff
(
Λ
)
\rho_\text{pack}(\Lambda)=\frac{r_\text{pack}(\Lambda)}{r_\text{eff}(\Lambda)}
ρpack(Λ)=reff(Λ)rpack(Λ)
如上图所示,packing efficiency 是两个ball半径的比值,而且我们显然有
- 0 < ρ pack ( Λ ) ≤ 1 0<\rho_\text{pack}(\Lambda)\leq 1 0<ρpack(Λ)≤1;
- ρ pack ( Λ ) \rho_\text{pack}(\Lambda) ρpack(Λ) 不会随着 scaling 而变化: ρ pack ( α Λ ) = ρ pack ( Λ ) \rho_\text{pack}(\alpha\Lambda)=\rho_\text{pack}(\Lambda) ρpack(αΛ)=ρpack(Λ), α ≠ 0 \alpha\neq 0 α=0.
- 如果我们不看半径看volume的话,Volume的比值,即 packing density 为 ρ pack n ( Λ ) \rho^n_\text{pack}(\Lambda) ρpackn(Λ).
不同样子的lattice有不同的 Voronoi region, 因此在各个维度上一定存在最好的lattice使得packing能力最强 (packing efficiency最大)。 比如 n = 2 n=2 n=2 时, hexagonal lattice 最好; n = 3 n=3 n=3 时, face-centered cubic lattice 最好, etc. 目前 n > 8 n>8 n>8 的好多还未知。The Minkowski-Hlawka Theorem 给出了 lower bound.
Sphere Covering
Sphere covering 的意思在lattice的各个points上放球以覆盖整个空间。
所需球的最小半径也就是covering radius。其实很容易看出,只要球把 Voronoi region
V
(
Λ
)
\mathcal{V}(\Lambda)
V(Λ) 给覆盖掉就行了。
如下图所示,显然 covering radius
r
cov
(
Λ
)
r_\text{cov}(\Lambda)
rcov(Λ) 就是
V
(
Λ
)
\mathcal{V}(\Lambda)
V(Λ) 的 outer radius (能覆盖
V
(
Λ
)
\mathcal{V}(\Lambda)
V(Λ)最小球的半径)。
类似的,我们定义 covering efficiency
ρ
cov
(
Λ
)
=
r
cov
(
Λ
)
r
eff
(
Λ
)
\rho_\text{cov}(\Lambda)=\frac{r_\text{cov}(\Lambda)}{r_\text{eff}(\Lambda)}
ρcov(Λ)=reff(Λ)rcov(Λ)
则有
- ρ cov ( Λ ) > 1 \rho_\text{cov}(\Lambda)>1 ρcov(Λ)>1.
- ρ cov ( α Λ ) = ρ cov ( Λ ) \rho_\text{cov}(\alpha\Lambda) = \rho_\text{cov}(\Lambda) ρcov(αΛ)=ρcov(Λ) invariant to scaling.
在各个维度上有最好的lattice使得covering efficiency最小。 比如 n = 2 n=2 n=2 时, hexagonal lattice 最好; n = 3 n=3 n=3 时, body-centered cubic lattice 最好, etc.
Quantization
Lattice 毕竟只占据了空间中的一些点,对于其他的点,我们可以考虑 quantize 它到 lattice 上的某一点去。这就是 lattice quantizer。
quantizer
quantization error
我们用 quantization error 来衡量 quantizer 的好坏. 对于空间中任意一点
x
\bm{x}
x, 我们定义 quantization error
x
e
=
x
−
Q
Λ
(
x
)
\bm{x_e}=\bm{x}-\mathcal{Q}_\Lambda(\bm{x})
xe=x−QΛ(x)
显然,他也是一个向量。
nearest-neighbor quantizer
一个最简单的 quantization scheme 就是quantize到最近的点,即 Nearest-Neighbor Quantizer.
注意这只是一个定义而已,实际上怎么去求解最近的 lattice point 不是一个简单的问题 (虽然 conceptually 很简单)。我们也可以定义 NN quantizer 的逆运算,即为
λ
\lambda
λ 的 Voronoi region,
[
Q
Λ
N
N
]
−
1
(
λ
)
=
V
(
λ
)
\left[ \mathcal{Q}_\Lambda^{NN} \right]^{-1}(\lambda)=\mathcal{V}(\lambda)
[QΛNN]−1(λ)=V(λ)
NN quantizer 的error 仍然在 Voronoi region 中:
x
e
=
x
−
Q
Λ
(
N
N
)
(
x
)
∈
V
(
Λ
)
\bm{x_e}=\bm{x}-\mathcal{Q}_\Lambda^{(NN)}(\bm{x})\in\mathcal{V}(\Lambda)
xe=x−QΛ(NN)(x)∈V(Λ)
假设 x e \bm{x_e} xe 在 Voronoi region 中均匀分布,那么我们定义 the second moment of the quantization error per dimension
The second moment per dimension –
σ
2
(
Λ
)
=
1
n
E
[
∥
x
e
∥
2
]
=
1
n
1
det
(
Λ
)
∫
V
(
Λ
)
∥
x
e
∥
2
d
x
e
\sigma^2(\Lambda)=\frac{1}{n}\mathbb{E}\left[\|\bm{x_e}\|^2\right]=\frac{1}{n}\frac{1}{\text{det}(\Lambda)}\int_{\mathcal{V}(\Lambda)}\|\bm{x_e}\|^2 d \bm{x_e}
σ2(Λ)=n1E[∥xe∥2]=n1det(Λ)1∫V(Λ)∥xe∥2dxe
显然, σ 2 ( Λ ) \sigma^2(\Lambda) σ2(Λ) 越小,NN quantizer性能越好。因为我们假设 error 是均匀分布在 V ( Λ ) \mathcal{V}(\Lambda) V(Λ) 上的,因此 σ 2 ( Λ ) \sigma^2(\Lambda) σ2(Λ) 也是 lattice 的固有属性。
有一个问题是
σ
2
(
Λ
)
\sigma^2(\Lambda)
σ2(Λ) 会随着 scaling factor
α
\alpha
α 的变化而变化:
σ
2
(
α
Λ
)
=
1
n
1
α
n
det
(
Λ
)
∫
V
(
Λ
)
∥
α
x
e
∥
2
d
(
α
n
x
e
)
=
α
2
σ
2
(
Λ
)
\sigma^2(\alpha\Lambda)=\frac{1}{n}\frac{1}{\alpha^n\text{det}(\Lambda)}\int_{\mathcal{V}(\Lambda)}\|\alpha\bm{x_e}\|^2 d (\alpha^n\bm{x_e})=\alpha^{2}\sigma^2(\Lambda)
σ2(αΛ)=n1αndet(Λ)1∫V(Λ)∥αxe∥2d(αnxe)=α2σ2(Λ)
因此我们可以进一步定义 the normalized second moment
The normalized second moment per dimension –
G
(
Λ
)
=
σ
2
(
Λ
)
det
(
Λ
)
2
/
n
G(\Lambda)=\frac{\sigma^2(\Lambda)}{\text{det}(\Lambda)^{2/n}}
G(Λ)=det(Λ)2/nσ2(Λ)
它不再随着
α
\alpha
α 而变化:
G
(
α
Λ
)
=
σ
2
(
α
Λ
)
α
2
det
(
Λ
)
2
/
n
=
α
2
σ
2
(
Λ
)
α
2
det
(
Λ
)
2
/
n
=
G
(
Λ
)
G(\alpha\Lambda)=\frac{\sigma^2(\alpha\Lambda)}{\alpha^2\text{det}(\Lambda)^{2/n}} =\frac{\alpha^{2}\sigma^2(\Lambda)}{\alpha^2\text{det}(\Lambda)^{2/n}}=G(\Lambda)
G(αΛ)=α2det(Λ)2/nσ2(αΛ)=α2det(Λ)2/nα2σ2(Λ)=G(Λ)
对于 lattice 来说, G ( Λ ) G(\Lambda) G(Λ) 就是他的 Voronoi region 积分后归一化的结果。 G ( Λ ) G(\Lambda) G(Λ)越小,quantization error 也就越小。那一个自然的问题是,什么样的 lattice G ( Λ ) G(\Lambda) G(Λ) 比较小尼?
令
G
n
=
min
Λ
∈
R
n
G
(
Λ
)
G_n=\min_{\Lambda\in\mathbb{R}^n} G(\Lambda)
Gn=Λ∈RnminG(Λ)
我们想找到
G
(
Λ
)
G(\Lambda)
G(Λ) 的最小值。首先一个结论是,对于全部整数构成的 lattice
Z
n
\mathbb{Z}^n
Zn, we have
G
(
Z
n
)
=
1
12
G(\mathbb{Z}^n)=\frac{1}{12}
G(Zn)=121,
∀
n
\forall~n
∀ n. Thus,
G
n
≤
1
12
G_n\leq\frac{1}{12}
Gn≤121
实际上我们还可以用 ball来给出一个lower bound (显然同体积下 ball 的second moment 是最小的),因此有
1
12
≥
G
n
≥
G
n
∗
>
1
2
π
e
\frac{1}{12}\geq G_n \geq G^*_n>\frac{1}{2\pi e}
121≥Gn≥Gn∗>2πe1
这个lower bound 是 asymptotically achievable的.
Modulation
最后我们进入本节的最后一部分内容, modulation. 这也是我们第一次讲到 Lattice 的应用。
考虑 AWGN channel
y
=
x
+
z
\bm{y=x+z}
y=x+z
使用
n
n
n 次信道,我们可以用 lattice 当做 codebook,
x
∈
Λ
\bm{x}\in\Lambda
x∈Λ. 由于noise 是 Gaussian的,
y
\bm{y}
y 离
x
\bm{x}
x 越远概率越低, 因此我们可以使用NN decoder。The error probability is then
P
e
(
Λ
,
σ
2
)
=
Pr
[
z
∉
V
(
Λ
)
]
P_e(\Lambda,\sigma^2)=\Pr[z\notin \mathcal{V}(\Lambda)]
Pe(Λ,σ2)=Pr[z∈/V(Λ)]
其中 σ 2 \sigma^2 σ2 是噪声的variance (per dimension). 换句话说,错误概率是噪声跑出去 Voronoi region 的概率.
假设我们有一个目标错误概率 0 < ϵ < 1 0<\epsilon<1 0<ϵ<1, 定义 σ 2 ( ϵ ) \sigma^2(\epsilon) σ2(ϵ) 为 P e ( Λ , σ 2 ) = ϵ P_e(\Lambda,\sigma^2)=\epsilon Pe(Λ,σ2)=ϵ 时 σ 2 \sigma^2 σ2 的值。That is, 对于一个给定的lattice,每给定一个目标 P e P_e Pe, 就有一个对应的noise variance。
我们定义
其中
μ
(
Λ
,
P
e
)
\mu(\Lambda,P_e)
μ(Λ,Pe) 是不随 scaling 而变化的。即,给定一个目标
P
e
P_e
Pe, lattice 成比例变大变小,可容忍的最大噪声功率随着
det
(
Λ
)
2
/
n
\text{det}(\Lambda)^{2/n}
det(Λ)2/n 成比例放缩.