找回密码
 欢迎注册
楼主: 提问能手

[提问] 有限域中的三次方根求解(三次剩余)

[复制链接]
发表于 2022-10-8 11:43:04 | 显示全部楼层
PowerMod[2, 1/3, 2^31 - 1]
得到
2097152
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-10-8 12:44:23 | 显示全部楼层
  1. Clear["Global`*"];
  2. p=2^31-1(*模*)
  3. g=PrimitiveRoot[p](*得到原根*)
  4. m=MultiplicativeOrder[g,p,{2}](*g^m=2(mod p),得到指数m*)
  5. n=MultiplicativeOrder[g,p,{1}](*g^n=1(mod p),得到原根的指数*)
  6. root1=PowerMod[g,(m+0*n)/3,p](*得到第1个根*)
  7. root2=PowerMod[g,(m+1*n)/3,p](*得到第2个根*)
  8. root3=PowerMod[g,(m+2*n)/3,p](*得到第3个根*)
复制代码


g=7
m=484915662
n=2147483646

点评

第5行没必要,原根的指数,显然等于 EulerPhi[p],此时等于 p-1  发表于 2022-10-8 17:47
nyy
p=2147483647  发表于 2022-10-8 12:44
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-10-8 17:48:32 | 显示全部楼层
  1. PowerModList[2, 1/3, 2^31 - 1] // Timing
复制代码

结果为:
  1. {0., {2097152, 854160010, 1291226485}}
复制代码

点评

nyy
在你的reply上点评的最大好处是确保你能百分百看到我的回复,点评我自己,估计百分百你看不到  发表于 2022-10-27 10:53
@nyy: 点评,请在相关贴或点评处;否则,失去上下文关联,会让其他网友一脸懵。又或者,你可通过论坛短信交流。  发表于 2022-10-9 09:31
nyy
只有你知道“原根的指数,显然等于 EulerPhi[p]”?  发表于 2022-10-9 09:07
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-10-17 12:10:28 | 显示全部楼层
提问能手 发表于 2022-10-6 15:47
y=znlog(2, g, v)/3
y = 161638554
抱歉 这边没有看懂什么意思,能稍微扩展说下么

感谢
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-10-17 12:11:06 | 显示全部楼层
liyqa 发表于 2022-10-8 08:39
这是什么定理,没看懂呀

会用到费马小定理

点评

nyy
不要搞这类问题,很难的  发表于 2022-10-17 14:38
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-10-26 08:43:14 | 显示全部楼层

费马小定理就是个金矿!能产生素数判定算法:费马测试、miller rabin测试、二次域费马小定理,p-1分解质因数,椭圆曲线分解质因数算法!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-22 06:31 , Processed in 0.021420 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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