Haskell中的模块化方程

时间:2015-10-26 10:00:10

标签: haskell equation-solving modular-arithmetic

我想在一个变量中解决Haskell中的线性和二次模块方程。我现在这样做的方法是将x = [1..]逐个放入等式中并找到余数(expr `rem` p == 0,如果等式为模p(不一定是素数),其中expr具有变量x)。我相信这是一个非常低效的过程。那么还有更好的方法吗?

1 个答案:

答案 0 :(得分:5)

求解模二次方程包括:

对于Haskell,arithmoi包具有这些算法的实现。请特别注意chineseRemaindersqrtModPsqrtModPP函数。

在这里你可以找到一些有用的例子:

http://www.mersennewiki.org/index.php/Modular_Square_Root