我正在 C++ 中研究二次筛算法。在高斯消元法之后,我需要求解一组模方程,例如:
(1) b + c = 0 mod 2
(2) a + c = 0 mod 2
这里符号=的意思是“等同于”。我正在处理矩阵,如下所示:https://math.stackexchange.com/questions/289348/matrix-processing-in-the-quadratic-sieve?rq=1 。如果有人有任何想法如何实现这样一个函数来求解这些方程,我将不胜感激。
最佳答案
您可以用矩阵表示法重写该系统:
M . X = S
|0 1 1|.|a| = |0|
|1 0 1| |b| |0|
|c|
然后像往常一样使用高斯消元法求解。细微的差别在于,您仅使用值 0
和 1
,并且减去行与添加行相同(在 Z/2Z 中,-a = a )
关于c++ - 用 C++ 求解模方程组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963209/