线性方程组的求解(C++)

2022-12-30,

1. 最佳求解方案

Most efficient way to solve a system of linear equations

求解形如 Ax=b 的最佳方式

    将 A 分解为三角矩阵,A=M1⋅M2
    通过 M1⋅y=b 求解 y,使用 back substitution

    通过 M2⋅x=y 求解 x,使用 back substitution

    如果 A 为方阵,步骤 1 可以使用 LU 分解;
    如果 A 非方阵,步骤 1 可以使用 QR 分解;
    如果 A 是正定且不稀疏,步骤 1 可以使用 Cholesky 分解(这也是 matlab 在解线性方程组时,会进行的判断);

2. C++ 下可用的矩阵运算的库

System of linear equations in C++?

Eigen
Boost:也有部分线性代数的 api

references

数值计算:线性方程组的数值解法的C++程序

线性方程组的求解(C++)的相关教程结束。

《线性方程组的求解(C++).doc》

下载本文的Word格式文档,以方便收藏与打印。