我用C++编写了一个例程,用Gauss-Seidel方法求解方程组Ax = b.但是,我想将此代码用于稀疏的特定"A"矩阵(大多数元素为零).这样,此解算器所采用的大部分时间都是繁忙地将一些元素乘以零.
例如,对于以下方程组:
| 4 -1 0 0 0 | | x1 | | b1 |
|-1 4 -1 0 0 | | x2 | | b2 |
| 0 -1 4 -1 0 | | x3 | = | b3 |
| 0 0 -1 4 -1 | | x4 | | b4 |
| 0 0 0 -1 4 | | x5 | | b5 |
Run Code Online (Sandbox Code Playgroud)
使用Gauss-Seidel方法,我们将为x1提供以下迭代公式:
x1 = [b1 - ( - 1*x2 + 0*x3 + …
我正在写一个学校项目.在我的项目中,有几个函数可以处理20-30个变量.有没有办法可以在一个单独的文件中声明和初始化这些全局变量,这样我的主要代码仍然简短而整洁?