如果我们取 k 次单位根的集合(其中 k 为偶数)并将每个元素平方,所得集合的大小将是原来的一半。新集合将是 2k 次单位根的集合。
例如,假设 k=6。6 次单位根将是
{1,ω,ω2,ω3,ω4,ω5}
如果我们将每个元素平方,我们会得到以下集合。有些元素的指数大于或等于 k,但我们将在下一步中处理这个问题。
{12,ω2,ω4,ω6,ω8,ω10}
然后我们可以将指数拆分如下:
{12,ω2,ω4,ω6,(ω6)ω2,(ω6)ω4}
由于 ω 是 6 次单位根,ω6≡1,因此我们有:
{12,ω2,ω4,1,(1)ω2,(1)(ω4)}
消除乘以 1 的操作后,我们得到
{12,ω2,ω4,1,ω2,ω4}
现在将所有重复的项替换为单个元素:
{1,ω2,ω4}
新集合的大小是原集合的一半,且每个元素都是 3 次单位根:
- 13≡1
- (ω2)3=ω6≡1
- (ω4)3=ω12=ω6ω6≡1⋅1=1
如果我们将 6 次单位根绘制在一个圆上,我们可以看到平方操作“移除”了每隔一个的元素。我们从 {1,ω,ω2,ω3,ω4,ω5} 开始,最终得到 {1,ω2,ω4}

重申一下,如果我们取 k 次单位根的集合,且 k 为偶数,然后将每个元素平方,我们会得到一个大小减半的集合,其中每个元素都是 2k 次单位根。
更多示例:
- 如果 k=10,我们将每个 10 次单位根平方,我们会得到一个大小为 5 的集合,即 5 次单位根。
- 如果 k=8,我们将每个 8 次单位根平方,我们会得到一个大小为 4 的集合,即 4 次单位根。
- 如果 k=4,我们将每个 4 次单位根平方,我们会得到一个大小为 2 的集合,即 2 次单位根。
- 如果 k=2,我们将每个 2 次单位根平方,我们会得到一个大小为 1 的集合,其中只有元素 1。
最后一点很容易说明。2 次单位根是 1 的平方根,始终为 {1,−1}≡{1,ωk/2}。1 的平方是 1,-1 的平方也是 1。等价地,(ωk/2)2=ωk≡1。
8 次单位根平方的示例
考虑有限域 F17 中 8 次单位根的子群 ⟨9⟩={1,9,13,15,16,8,4,2}。我们将该子群的所有元素平方如下:
12=1(mod17),92≡13(mod17),132≡16(mod17),152≡4(mod17),162≡1(mod17),82≡13(mod17),42≡16(mod17),22=4(mod17).
平方后得到的集合是 {1,13,16,4},这恰好是 4 次单位根的子群。
这是平方前后单位根的可视化。我们从集合 {1,9,13,15,16,8,4,2} 开始,最终得到集合 {1,13,16,4}

k 必须为偶数
如果 k 为奇数,那么就不存在“群的一半”这种说法,因为奇数大小的集合无法被分为两半。出于 NTT 的目的,我们只处理偶数大小的 k,因此我们对 k 为奇数的情况不感兴趣。
新集合大小减半这一主张的证明
设 ω 为本原 k 次单位根,且 k 为偶数。设 ⟨ω⟩ 为由 ω 生成的阶数为 k 的子群。我们主张 ∣{ω2∣ω∈⟨ω⟩}∣=k/2。
证明实际上非常简单直观。
我们在前面的章节中已经确定了 ωi 和 ωi+k/2 是加法逆元。由于 k 为偶数,我们可以将该群划分为两个集合,第一个集合为 0...(k/2−1),第二个集合为 k/2...k−1:
{ω0,ω1,ω2,...}{ωk/2,ωk/2+1,ωk/2+2,...}
这些元素同余于以下表示形式:
{ω0,ω1,ω2,...}{−ω0,−ω1,−ω2,...}
如果我们将 f(x)=x2 应用于这两个集合,我们会得到两个内容完全相同且大小为 k/2 的集合:
{1,ω2,ω4,...}{1,ω2,ω4,...}
由于这两个集合完全相同,因此这两个集合的并集大小也将相同,即为 k/2。
k 次单位根平方产生 k/2 次单位根的证明
假设 a 是 k 次单位根。我们的目的是证明 a2 是 2k 次单位根,也就是说:
(a2)2k≡1
让我们化简 (a2)2k:
(a2)2k=ak
由于 ak≡1(因为 a 是 k 次单位根),因此可以得出 (a2)2k≡1。
因此,a2 确实是 2k 次单位根。