c++ - 用 C++ 求解模方程组

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

我正在 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|   

然后像往常一样使用高斯消元法求解。细微的差别在于,您仅使用值 01,并且减去行与添加行相同(在 Z/2Z 中,-a = a )

关于c++ - 用 C++ 求解模方程组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963209/

相关文章:

python - 如何有效地将函数应用于图像中每个像素的每个 channel (用于颜色转换)?

c++ - 只有一个常数项发生变化时线性系统Ax= b的高效求解

java - PCA 降维

c++ - 无法在谷歌测试中检查异常类型

c++ - 在 FTGL 中正确定位字体的 y 轴

c++ - boost::asio + std::future - 关闭套接字后访问冲突

algorithm - 如何在 bloomfilter 中创建白名单?

c++ - 编译 CUDA 示例会出现构建错误

javascript - 数学逻辑,将可缩放数字转换为百分比

machine-learning - 神经网络激活函数的选择