数论变换Number Theoretic Transform(NTT)

本文详细介绍了数论变换在快速计算多项式乘法中的应用,特别是NTT(数论变换)如何等效于负折叠卷积的傅里叶变换。通过NTT,可以高效地处理多项式环模运算,特别是在有限域$mathbb{Z}

数论变换是用来干什么的?

数论变换是用来快速高效地计算系数为 Z q Z_q Zq多项式环乘法运算结果的一个算法。

多项式定义

f ( x ) = ∑ i = 0 n a i x i f(x)=\sum_{i=0}^{n}a_ix^i f(x)=i=0naixi

  1. 多项式的根: f ( x 0 ) = 0 f(x_0)=0 f(x0)=0, x 0 x_0 x0为多项式的根
  2. a n ≠ 0 , d e g ( f ) = n a_n \neq 0, deg(f) =n an=0,deg(f)=n

多项式乘法

f ( x ) = ∑ i = 0 n a i x i f(x)=\sum_{i=0}^{n}a_ix^i f(x)=i=0naixi g ( x ) = ∑ j = 0 n a j y j g(x)=\sum_{j=0}^{n}a_jy^j g(x)=j=0najyj
f ( x ) ⋅ g ( x ) = ∑ i = 0 n + m C t x t f(x)\cdot g(x)=\sum_{i=0}^{n+m}C_tx^t f(x)g(x)=i=0n+mCtxt
其中 C t = ∑ i + j = t a i b j C_t=\sum_{i+j=t}a_ib_j Ct=i+j=taibj
并且满足 d e g ( f ) > = d e g ( g ) , f ( x ) ≠ 0 deg(f)>=deg(g), f(x)\neq0 deg(f)>=deg(g),f(x)=0
多项式 f f f g g g的乘积 h h h称为 f f f g g g的折叠卷积

群的定义

带有二元运算的集合G(以下默认集合非空)
满足以下条件:
1、结合律
2、存在零元
3、有可逆元

Abel群

在以上定义的基础上还满足交换律
a + b = b + a a+b=b+a a+b=b+a

环的定义

对集合 R R R,现在有两种运算, + + + ⋅ \cdot ,满足
1、在 + + +(加法)下成Abel群
2、 a ⋅ ( b ⋅ c ) = ( a ⋅ b ) ⋅ c a \cdot (b \cdot c)=(a \cdot b) \cdot c a(bc)=(ab)c(结合律)
3、 ( a + b ) ⋅ c = a c + b c (a+b)\cdot c = ac + bc (a+b)c=ac+bc(分配率)
则称集合 R R R为环

多项式环、多项式商环

多项式环就是多项式系数在环上。多项式商环就是多项式环模了一个多项式

多项式商环下的乘法

现在存在一个多项式环 Z q [ x ] / ( x n + 1 ) , n = 2 m \mathbb{Z}_{q}[x]/(x^n+1),n=2^m Zq[x]/(xn+1),n=2m n n n是2的某次幂), q q q是素数,并且满足 2 n ∣ ( q − 1 ) 2n|(q-1) 2n(q1)
其中 f , g f,g f,g都是是属于多项式环的,需要计算多项式环 f , g f,g f,g的乘积:
f , g ∈ Z q / ( x n + 1 ) h = f ⋅ g ∈ Z q / ( x n + 1 ) f = ( f 0 , f 1 , f 2 , . . . , f n − 1 ) g = ( g 0 , g 1 , g 2 , . . . , g n − 1 ) f,g \in \mathbb{Z}_{q} /( x^n +1) \\ h=f\cdot g \in \mathbb{Z}_{q}/(x^n+1) \\ f=(f_0,f_1,f_2,...,f_{n-1}) \\ g=(g_0,g_1,g_2,...,g_{n-1}) \\ f,gZq/(xn+1)h=fgZq/(xn+1)f=(f0,f1,f2,...,fn1)g=(g0,g1

评论 15
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值