对于任何偶数 k,其 k 次单位根的 k/2 次方都将等于 1 或 -1。
这不应与看起来相似的概念相混淆,即 ωk/2≡−1 或单位根 ωi 和 ωi+k/2 互为加法逆元。
让我们以 8 次本原单位根为例,其生成元(8 次本原单位根)为 ω:
- (1)k/2=1
- (ω)k/2≡−1
- (ω2)k/2≡ω2k/2≡ωk≡1
- (ω3)k/2≡ω3k/2≡(ωk/2)3≡(−1)3≡−1
- (ω4)k/2≡ω4k/2≡ω2k≡1
- (ω5)k/2≡ω5k/2≡(ωk/2)5≡(−1)5≡−1
- (ω6)k/2≡ω6k/2≡ω3k≡1
- (ω7)k/2≡ω7k/2≡(ωk/2)7≡(−1)7≡−1
作为留给读者的练习,我们建议取 6 次单位根,将每个元素求 3 次方(k/2),并观察结果是否为 {1,−1}。
观察上面的求值结果,我们发现一个规律:将偶数次幂的单位根代入 f(x)=xk/2 的求值结果为 1,将奇数次幂的单位根代入 f(x)=xk/2 的求值结果为 -1。对此的证明见附录。同时,让我们提出本章的核心论点:
当 k 为偶数时,任何 k 次单位根的 k/2 次方结果均为 1 或 -1。具体而言,设 ω 为 k 次本原单位根,所讨论的单位根为 ωs。如果 s 为偶数,(ωs)k/2 的求值结果将为 1;如果 s 为奇数,则 (ωs)k/2 的求值结果将为 -1。
这个论点的一个附带作用是,如果在单位根上进行求值,那么多项式中带有 xk/2 幂的项几乎可以无成本地求值。
举个例子,假设我们有一个多项式 f(x)=x4,我们希望在 8 个点上对其进行求值。现在假设我们将这 8 个点设为 8 次单位根。通常情况下,我们必须遍历 {1,ω,...,ω7} 并在每个点上对 f(x) 求值。然而,我们实际上不需要对每个求值点进行求幂计算——我们只需检查单位根的幂次是偶数还是奇数即可!
事实上,我们可以完全走捷径。让我们将 {1,ω,...,ω7} 视为一个长度为 8 的数组。我们可以根据数组索引是偶数还是奇数来返回 1 或 -1,并且完全忽略指数。换句话说,f(x)=x4 的求值结果将为
[1,−1,1,−1,1,−1,1,−1]
如果多项式具有非一的系数,例如 f(x)=ax4,求值将仅取决于我们处于偶数索引还是奇数索引:
[a,−a,a,−a,a,−a,a,−a]
但是,对于不是 f(x)=xk/2 形式的多项式该怎么办呢?可以对多项式进行分解,以引入尽可能多的 xk/2 项。例如,考虑以下多项式:
f(x)=a0+a1x+a2x2+a3x3+a4x4+a5x5+a6x6+a7x7
只有项 a4x4 是 xk/2 的形式。然而,假设我们按如下方式分解多项式:
f(x)=(a0+a4x4)+(a1x+a5x5)+(a2x2+a6x6)+(a3x3+a7x7)
f(x)=(a0+a4x4)+x(a1+a5x4)+x2(a2+a6x4)+x3(a3+a7x4)
这个多项式求值起来要容易得多,因为我们预先知道了 x4 项何时会求值为 1 或 -1。
然而,我们目前还没有处理较低 x 幂次的巧妙方法。这将是后续章节的主题。
总结
对于 k 次单位根 ωs 进行 k/2 次方求幂,如果 s 为偶数则结果为 1,如果 s 为奇数则结果为 -1。如果我们在 k 次单位根上对多项式进行求值,只需知道正在求值的单位根是偶数次幂还是奇数次幂,就可以自动计算出幂为 k/2 的项。因此,最好对多项式进行分解,以便最大化 xk/2 项的数量。
附录 — 偶数 k 情况下,当 s 为偶数时 (ωs)k/2 为 1,当 s 为奇数时为 -1 的证明
ωs 和 ωs+k/2 互为加法逆元。由于 ω0=1 且 ω0+k/2=ωk/2,ωk/2 必须是 1 的加法逆元,因此 ωk/2≡−1。
现在我们取 ωk/2(即 -1)并将其求 s 次方:
(ωk/2)s
请注意, (−1)s 只能是 1 或 -1。具体来说,如果 s 为偶数,则 (−1)s=1;如果 s 为奇数,则 (−1)s=−1。因此,如果 s 为偶数,我们表达式的结果为 1;如果 s 为奇数,则结果为 -1。
我们的表达式可以重写为:
(ωk/2)s=(ω(k/2)s)=(ωs(k/2))=(ωs)k/2
由于表达式的代数恒等关系没有改变,我们仍然可以说:如果 s 为偶数,则 (ωs)k/2=1;如果 s 为奇数,则 (ωs)k/2=−1。
因此,我们证明了最初的命题:当 s 为偶数时 (ωs)k/2=1,当 s 为奇数时 (ωs)k/2=−1。