由一个本原 k 次单位根生成的 k 次单位根的幂之和要么是零,要么是 k。我们将这个性质称为单位根的正交性(orthogonality of roots of unity)。在下一章中,我们将直接利用这个性质。
我们首先通过示例来说明这个性质,以便读者对其有所熟悉。然后我们将在一般情况下对其进行证明。
单位根的幂之和
考虑由一个本原 k 次单位根 ω 生成的 k 次单位根:
[1,ω,ω2,...,ωk−1]
如果我们取这个元素列表并将每个元素求 m 次幂,我们会得到另一个列表:
[1m,ωm,(ω2)m,...,(ωk−1)m]
本章的目标是展示当我们对这个新列表的所有元素求和时会发生什么。换句话说,对于任意 m,我们想要计算以下总和 s 的值:
s=1m+ωm+(ω2)m+...+(ωk−1)m
考虑 F17 中的 4 次单位根(尽管任何具有本原 4 次单位根的域都可以)。对于一个本原根 ω,这些根是
[1,ω1,ω2,ω3],
或者,利用在这种情况下 ω2≡−1,它们是
[1,ω,−1,−ω]
让我们将这些元素求某个指数 m 的幂,假设 m=3:
[13,ω3,(−1)3,(−ω)3]
我们可以通过注意到 (−1)3=−1 和 (−ω)3=−ω3 来化简其中的一些元素。
因此,同一个列表可以写成
[1,ω3,−1,−ω3]
这些元素的总和为零,因为
1+ω3+(−1)+(−ω3)=0
作为另一个例子,让我们再次从 F17 中的 4 次单位根开始,但现在将每个元素求 8 次幂。
这产生了以下元素:
[18,ω8,(−1)8,(−ω)8]
因为 8 是偶数,所以我们有 (−1)8=1 且 (−ω)8=ω8。
此外,请记住对于 4 次单位根,ω4=1。因此,ω8=(ω4)2=12=1。
因此,我们的列表化简为
[18=1,ω8=1,18=1,ω8=1]
元素的总和是
s=1+1+1+1=4
在上面的例子中,当 m 不是 k 的倍数时(k=4,m=3),总和为零,但当 m 是 k 的倍数时(k=4,m=8),总和为 k。这在一般情况下也是成立的。
我们将展示并证明以下内容:
- 如果幂 m 不是 k 的倍数,则总和为零。
- 否则,如果 m 是 k 的倍数,则总和为 k。
在一般地证明这个事实之前,让我们再看一个例子。
F17 中的 8 次单位根
考虑 F17 中的 8 次单位根。它们可以写成
[1,ω,ω2,ω3,−1,−ω,−ω2,−ω3],
这里我们对于本原 8 次单位根 ω 使用了 ω4≡−1。
如果我们将这个列表的每个元素求 m 次幂,且 m 不是 8 的倍数,然后对所有元素求和,结果为零。否则,如果 m 是 8 的倍数,总和就是 8。
新的列表由下式给出
[1m,ωm,(ω2)m,(ω3)m,(−1)m,(−ω)m,(−ω2)m,(−ω3)m]
让我们检查一下可能的情况。
情况 1:m 不是 8 的倍数
让我们考虑 m=2 的情况。列表是
[12,ω2,(ω2)2,(ω3)2,(−1)2,(−ω)2,(−ω2)2,(−ω3)2]
它可以写成
[1,ω2,ω4,ω6,1,ω2,ω4,ω6]
利用 ω4≡−1 这个事实,列表变成
[1,ω2,−1,−ω2,1,ω2,−1,−ω2]
将这些元素求和,我们得到
s=1+ω2+(−1)+(−ω2)+1+ω2+(−1)+(−ω2)=(1−1)+(ω2−ω2)+(1−1)+(ω2−ω2)=0
练习:证明对于 m=3 和 m=4,总和为零。
情况 2:m 是 8 的倍数
让我们考虑 m=16 的情况。那么我们得到新的列表
[116,ω16,(ω2)16,(ω3)16,(−1)16,(−ω)16,(−ω2)16,(−ω3)16],
或
[1,ω16,ω32,ω48,1,ω16,ω32,ω48]
我们还有:
ω16ω32ω48=(ω8)2=(ω8)4=(ω8)6
因为我们知道对于任意本原 8 次单位根都有 ω8≡1,所以该列表实际上是
[1,12,14,16,1,12,14,16]
并且所有项的总和是 8。
k 次单位根的幂之和
现在让我们一般地证明我们通过例子展示的内容。
定理。 考虑由本原 k 次单位根 ω 生成的所有 k 次单位根。这些 k 次单位根的幂之和为:
- 零,如果幂不是 k 的倍数;
- k,如果幂是 k 的倍数。
下面,我们将分别证明这两种情况。
情况 (1):当指数不是 k 的倍数时总和为零的证明
考虑 k 次单位根,每个求 m 次幂,且 m 不是 k 的倍数:
[(ω0)m,(ω1)m,(ω2)m,...,(ωk−1)m]
我们想要计算总和
s=(ω0)m+(ω1)m+(ω2)m+...+(ωk−1)m
这个总和可以写成
s=i=0∑k−1(ωi)m
我们可以利用 (ωi)m=(ωm)i 这一事实将总和改写为
s=i=0∑k−1(ωm)i
上面的公式是一个几何级数(等比数列),即同一个元素的连续次幂之和:
s=(ωm)0+(ωm)1+(ωm)2+...+(ωm)k−1
这种形式的几何级数满足
s=(ωm)0+(ωm)1+(ωm)2+...+(ωm)k−1=ωm−1(ωm)k−1
为了证明上述分数等于零,我们必须首先证明分母非零,然后证明分子等于零。
m 不是 k 的倍数这一事实在此至关重要。回顾本原 k 次单位根的定义:它是一个元素 ω,满足 ωk≡1,但对于任何 0≤r<k,ωr=1。
因此,对于本原 k 次单位根 ω,只有 ωk 的幂等于 1,例如 (ωk)0,(ωk)1,(ωk)2 等等。
因为 m 不是 k 的倍数,ωm 的形式不是对于任何整数 n 的 ωnk,因此 ωm=1。所以,上述分数的分母 ωm−1 非零。
现在让我们考虑分子 (ωm)k−1。它可以写成 (ωk)m−1。
因为 ω 是一个本原 k 次单位根,我们有 ωk=1,分子变成
(ωk)m−1=(1)m−1=1−1=0
因为分子为零且分母非零,所以整个总和为零。
在下一节中,我们将研究指数 m 是 k 的倍数的情况。
情况 (2):将每个元素求一个为 k 的倍数的指数次幂
在本节中,我们将证明 k 次单位根求 m 次幂(其中 m 是 k 的倍数)的总和不为零,而是 k。
考虑 k 次单位根
[ω0,ω1,ω2,...,ωk−1]
让我们将此列表中的每个元素求某个幂 m:
[(ω0)m,(ω1)m,(ω2)m,...,(ωk−1)m]
因为 (ab)c=(ac)b,我们可以如下重新排列上面的每一项:
[(ωm)0,(ωm)1,(ωm)2,...,(ωm)k−1]
现在考虑 m 是 k 的倍数的情况,即对于某个 n,m=kn。因此,我们的列表可以写成
[(ωnk)0,(ωnk)1,(ωnk)2,...,(ωnk)k−1]
因为 ωnk=(ωk)n,我们得到列表
[(ωk)0n,(ωk)1n,(ωk)2n,...,(ωk)(k−1)n]
利用 ωk≡1,该列表由数字 1 的若干次幂组成:
[(1)0n,(1)1n,(1)2n,...,(1)(k−1)n]
或简写为
[1,1,1,...,1]
因为列表中有 k 个元素,总和是
k times1+1+1+⋯+1=k
结合这两个性质
表达这两个性质的一种优雅而简便的方法如下:
i=0∑k−1(ωi)m=⎩⎨⎧k,0,if m is a multiple of k,otherwise.
这里的求和范围从第一项 ω0 到最后一项 ωk−1。
两个 k 次单位根列表的内积
在本节中,我们将以上面获得的关联重写为一种更适合在后续章节中使用的形式。
更准确地说,我们将把它写成
i=0∑k−1(ωi)r−s=⎩⎨⎧k,0,if r≡s(modk),otherwise.
首先,让我们证明这两种形式是相同的,然后解释第二种形式的动机。
两种形式是等价的
如果 r 模 k 同余于 s(第二种形式),那么对于某个整数 n,r−s=nk。
因此,我们说在第一种形式中被写为 m 的 r−s,是 k 的倍数。这与声明 m 是 k 的倍数是一样的。
在第二种形式中使用 r 和 s 的原因是我们将考虑两个向量的内积,每个向量都由单位根的幂组成。
两个单位根向量的内积
让我们考虑两个 k 次单位根向量。第一个向量 A 求 r 次幂,形式为
A=[(ω0)r,ωr,(ω2)r,...,(ωk−1)r]
第二个向量 B 求负指数 −s 次幂,形式为
B=[(ω0)−s,ω−s,(ω2)−s,...,(ωk−1)−s]
注意:将本原 k 次单位根求负数次幂不是问题。我们可以写成 ω−s=(ω−1)s,其中 ω−1 是 ω 的乘法逆元。
由于 ωk=1,将两边同时乘以 ω−1 得到 ω−1=ωk−1。将两边求 s 次幂,我们得到 ω−s=ω(k−1)s。
向量 A 和 B 的内积是
A⋅B=(ω0)r⋅(ω0)−s+ωr⋅ω−s+...+(ωk−1)r(ωk−1)−s
等价地,这可以写成
A⋅B=(ω0)r−s+ωr−s+...+(ωk−1)r−s
用紧凑的符号表示,A 和 B 的内积可以写成
A⋅B=i=0∑k−1(ωi)r−s
因此,公式
i=0∑k−1(ωi)r−s=⎩⎨⎧k,0,if r≡s(modk),otherwise.
可以理解如下:分量为 k 次单位根的幂的两个向量的内积要么是 k,要么是零,这取决于指数 r 和 s 模 k 是否同余。我们将在接下来的章节中使用这个事实。
本文是我们 ZK Book 中关于数论变换(Number Theoretic Transform)系列文章的一部分