07 对偶格与对偶基
整理日期:2026-10-16。
前置笔记:01 格与格基、02 基本区域、格行列式与正交化。算法联系见 06 Babai 最近平面算法与近似 CVP。
本篇先讨论满秩格:
B=(b1,…,bn)∈Rn×n,Λ=L(B),
其中 B 可逆,基向量按列排列。
记 Λ∗ 为对偶格,对偶基记为 D=(d1,…,dn);bi∗ 仍沿用前文的 Gram–Schmidt 正交化记号。
1. 对偶格与对偶基
对偶格定义为
Λ∗={y∈Rn:⟨x,y⟩∈Z对所有 x∈Λ}.
也就是说,对偶向量与每一个原格向量的内积都是整数。
判断一个向量是否属于对偶格,只需检查它与各个基向量的内积:
y∈Λ∗⟺BTy∈Zn.
原因是任意格点都可以写成 x=Bz,其中 z∈Zn,于是
⟨x,y⟩=zTBTy.
由此直接得到
Λ∗=L(B−T),D=B−T:=(BT)−1.
矩阵 D 称为 B 的对偶基,满足
BTD=I,⟨bi,dj⟩=δij.
因此,dj 与其余的 bi 正交,与对应的 bj 内积为 1。这个条件约束两组基之间的配对关系,d1,…,dn 本身一般并不两两正交。见 Regev《Lecture 8: Dual Lattices》,Fall 2004,第 1–2 页,Definition 1–2、Claim 1。
对偶基还有一个直接作用:通过内积读出原基坐标。若
x=Bz,
则
DTx=z,⟨x,di⟩=zi.
于是,同一个格可以用两种方式描述:
Λ=BZn={x∈Rn:DTx∈Zn}.
前一种写法用整数系数组合生成格点;后一种写法用整数内积约束刻画格点。见 Micciancio《The dual lattice》,Fall 2017,§1,PDF 第 2–3 页,Theorem 2 及其后说明。
2. 基本性质
对偶具有对称性:
(Λ∗)∗=Λ.
格行列式互为倒数:
det(Λ∗)=det(Λ)1.
在满秩情形,这两条可以直接由 D=B−T 推出。第二条联系的是基本区域的体积,并不表示对应基向量的长度逐个互为倒数。见 Regev,第 2 页,Claim 2–3。
此外,缩放和包含关系分别满足
(aΛ)∗=a1Λ∗,a>0,
以及
Λ1⊆Λ2⟺Λ2∗⊆Λ1∗,
其中 Λ1,Λ2 都是 Rn 中的满秩格。
包含关系反向,是因为原格中的向量越多,对整数内积的要求就越多,满足条件的对偶向量集合越小。见 Micciancio,§1,PDF 第 2 页,Exercise 2–3。
3. 对偶向量、格点分层与最近平面
取对偶基的最后一个向量 dn。对任意格点 x=Bz,
⟨x,dn⟩=zn∈Z.
因此,格点按照最后一个整数坐标,分布在一组平行超平面上:
Hk={x∈Rn:⟨x,dn⟩=k},k∈Z.
每一层中的格点恰好是
Λ∩Hk=kbn+L(b1,…,bn−1).
这些平面的法向量为 dn,相邻平面间距为
∥dn∥1.
这就是第六篇使用的分层。对偶基与正交化之间满足
dn=∥bn∗∥2bn∗,
所以
∥dn∥1=∥bn∗∥.
于是,Babai 算法第一轮的选层操作也可以写成
cn=round(⟨t,dn⟩)=round(∥bn∗∥2⟨t,bn∗⟩).
对偶基给出了整数层编号,正交化给出了计算层间距离所需的方向和长度。这里的公式针对最后一个向量;一般不能直接把每个 di 都写成 bi∗/∥bi∗∥2。见 Micciancio,§3,PDF 第 6 页,Corollary 6 及其后的分层解释。
4. 一个二维例子
沿用第二篇和第六篇的基:
B=(2012).
其对偶基为
D=B−T=(21−41021).
因此
d1=(21,−41),d2=(0,21),Λ∗=L(d1,d2).
若原格点写成
x=z1b1+z2b2=(2z1+z2,2z2),
则
⟨x,d1⟩=z1,⟨x,d2⟩=z2.
同时,
detΛ=4,detΛ∗=41.
由 d2=(0,21),整数等值平面在二维中表现为直线
⟨x,d2⟩=k⟺x2=2k.
相邻直线间距为 2,与第六篇中的分层一致。
第二篇的正交化向量是
b1∗=(2,0),b2∗=(0,2),
而这里的对偶基是 d1,d2。两者是不同的对象:正交化用于分解正交方向,对偶基用于建立整数内积配对。
原基把整数坐标映射为格点,对偶基通过内积读回这些坐标;这也是用对偶格理解格点分层的出发点。
引用此笔记