找回密码
 欢迎注册
楼主: 无心人

[讨论] NTT相关问题一则,有兴趣的参与

[复制链接]
发表于 2008-9-19 20:12:44 | 显示全部楼层

回复 63# 仙剑魔 的帖子

可惜 2^n+1 型的素数少之又少, 也就是那五个已知的Fermat Prime(3、5、17、257、65537), 要不在数论变换里可就大有作为了。 一般NTT是采用 k*2^b+1 型的素数, 虽然模运算麻烦了点, 但所需的临时空间比较小,总计算量也较小。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-9-19 20:24:37 | 显示全部楼层
老大 FNT并不要求模是素数啊 不是素数的费马数 $alpha$值不能选3而已 但选择2才能简化运算的啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-9-19 20:26:25 | 显示全部楼层
FNT的缺点不是别的 就是参数可选择的范围小而已 相邻两个费尔马数的差别也太大了点 呵呵 详细的看我总结的表
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-9-19 20:26:31 | 显示全部楼层

回复 70# 无心人 的帖子

如果没有溢出保护是不是会自动进位啊? 现在我的大脑告诉我2方幂进制的结果肯定是正确的 但是其他的进制我就不确定的 刚想到这个方法,我现在还有点混乱 怎么说好 之前的CRT已经有点颠覆我的观念了 这回的这个对我是又一次的震撼 计算的中间过程似乎需要大量的内存空间? 比如 w=2^32,n=2^m k个元素的序列a[k]和b[k]做变换 每个元素中间计算结果都得用一个长度为n的数组来保存? 那之后的a[k]*b[k]要怎么办呀? 不可能做k次n*n的乘法吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-9-19 20:28:46 | 显示全部楼层

回复 71# gxqcn 的帖子

素数只是为了搞出原根吧 放宽条件以后不是素数也能做变换的 变换长度为n的序列只要找到n重根就行了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-9-19 20:30:07 | 显示全部楼层
乘法算法速度越快 要求的辅助空间越大 FNT乘法存在一个初始切分的问题 先切分成符合要求的每个数字都是固定长度的序列 所以要求的辅助空间就大了 不象 CRT 几乎可在原位置变换
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-9-19 20:31:56 | 显示全部楼层

回复 76# 无心人 的帖子

恩 但是后面那个卷积怎么办呀 太长的话就变成n^2的乘法了呀 难道再嵌套NTT ?!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-9-19 20:36:34 | 显示全部楼层
PS: 突然有兴致去看机械键盘 发现好贵哦 800多 但似乎好好的样子 什么时候弄个来用啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-9-19 20:37:18 | 显示全部楼层
FNT中间的乘法太大 确实要用FNT再处理下啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-9-19 20:37:40 | 显示全部楼层

回复 77# 仙剑魔 的帖子

若这里“n^2”的 n 并不大,是一个较小的常整数时, 整体效率还是很好的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 03:44 , Processed in 0.026334 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表