1

我正在用热传导建模物理系统,并且要进行数值计算,我需要用三对角矩阵求解线性方程组。我正在使用这个算法来获得结果:http ://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm但我担心我的方法很简单而且不是最优的。应该使用哪个 C++ 库以最快的方式解决该系统?我还应该提到矩阵不经常更改(仅更改等式的右侧部分)。谢谢!

4

3 回答 3

3

查看本征

于 2011-11-08T10:12:03.523 回答
1

该算法的性能可能由浮点除法主导。使用 SSE2 一次执行两个除法(c i和 d i),您将接近最佳性能。

于 2011-11-23T06:45:02.220 回答
0

值得一看的是 LAPACK 和 BLAS 接口,其中有几个实现库。最初是开源的netlib ,然后是其他的,比如你必须付费的 MKL。函数dgtsv 可以满足您的需求。开源 netlib 版本不执行任何明确的 SIMD 指令,但 MKL 执行并且将在英特尔芯片上表现最佳。

于 2017-04-05T10:24:03.233 回答