Wolfram mathematica Mathematica中二次同余方程的求解
为了解决Wolfram mathematica Mathematica中二次同余方程的求解,wolfram-mathematica,modulo,Wolfram Mathematica,Modulo,为了解决 x^2 == 123456 mod 1299709 在Mathematica中,我使用了: Reduce[x^2 == 123456 + 1299709 k, {x, k}, Integers] 这就得到了正确的答案 问题:Reduce是解决二次同余方程的最佳方法(性能、优雅还是其他?显然,您正在寻求选择 (*Out[]=x==427784 | | x==871925*) 引用文件: 模数->n 是一个选项,可以在某些代数函数中给出,以指定整数应按模n处理 模的方程可
x^2 == 123456 mod 1299709
在Mathematica中,我使用了:
Reduce[x^2 == 123456 + 1299709 k, {x, k}, Integers]
这就得到了正确的答案
问题:Reduce是解决二次同余方程的最佳方法(性能、优雅还是其他?显然,您正在寻求选择 (*Out[]=x==427784 | | x==871925*) 引用文件: 模数->n
是一个选项,可以在某些代数函数中给出,以指定整数应按模n处理
- 模的方程可以在解和相关函数中给出
- 模在因子、多项式GCD和多项式CM以及线性代数函数(如逆)中显示为选项, 线性溶剂和Det
- 算术通常在整个环上进行ℤ 整数的计算;设置选项模数指定应改为使用算术 在有限环中完成ℤn
- 设置模数->0指定全环ℤ 整数的数目
- 有些函数要求将模设为素数或素数的幂。ℤ当n是素数时,n是有限域
丹尼尔·利希特布拉(Daniel Lichtblau)这就是我一直在寻找的优雅@尼洛:-)我不确定这是你想要的答案,因此我的措辞是。@Mr.Wizard-考虑到你的编辑,你显然低估了对你答案的反应。-美丽在沉默中说话。@Nilo,你是说我不应该做那个编辑吗?对不起,伙计们,我今天比平时更迟钝。现在你们为什么要发那个帖子来破坏这个时刻呢?;-)+1@Mr.Wizard“对不起,警长。”(当然,麦克斯韦还有其他精彩的评论。比如,我想起了经典的“如果他用PowerModList做好事而不是坏事就好了”。好吧,这只是一个小小的解释。所以起诉我。)丹尼尔,现在我知道你是86号特工的粉丝,或者至少是一些引语,我一定会不时删去一些典故D
Reduce[x^2 == 123456, x, Modulus -> 1299709]
(*Out[]= x == 427784 || x == 871925 *)
In[1]:= PowerModList[123456, 1/2, 1299709]
Out[1]= {427784, 871925}