用C ++解决一组模块化方程

时间:2015-11-27 18:42:13

标签: c++ algorithm linear-algebra equation-solving

我正在研究c ++中的Quadratic Sieve算法。在高斯消除之后,我需要求解一组模块化方程,例如:

main :: IO ()
main = do
  let x = do
        a <- Just 3
        b <- Just 5
        return (a, b)
  print x

这里的符号=用于表示“与...一致”。我正在处理矩阵,如下所示:https://math.stackexchange.com/questions/289348/matrix-processing-in-the-quadratic-sieve?rq=1。如果有人有任何想法如何实现这样一个解决这些方程的函数我会很感激。

1 个答案:

答案 0 :(得分:3)

您可以用矩阵表示法重写此系统:

   M   . X  =  S 

|0 1 1|.|a| = |0|
|1 0 1| |b|   |0|
        |c|   

然后你像往常一样用高斯消元法解决它。不同之处在于您只使用值01,并且减去行与添加行相同(在Z / 2Z中,-a = a)