小编典典

对称正正半对称固定尺寸(N = 9)的密集线性系统的快速求解

algorithm

对于固定尺寸(N = 9)(矩阵是对称的,正半确定的)的密集线性系统的快速解决方案,您会建议使用哪种算法?

  • 高斯消去
  • LU分解
  • 胆固醇分解
  • 等等?

类型是32位和64位浮点。

这样的系统将解决数百万次,因此算法在维数方面应相当快(n = 9)。

赞赏所提出算法的 健壮 C ++实现的PS示例。

1)“解决百万次”是什么意思?具有一百万个不同右手项或一百万个不同矩阵的相同系数矩阵?

数百万种不同的矩阵。

2)正数_semi_definite表示矩阵可以是奇异的(对于机器精度而言)。您想如何处理此案?只是提出一个错误,还是尝试返回一些明智的答案?

引发错误是可以的。


阅读 251

收藏
2020-07-28

共1个答案

小编典典

矩阵是对称的,正次中定的, Cholesky分解
严格优于LU分解。(无论矩阵的大小如何,其速度都比LU快两倍左右。资料来源:Trefethen和Bau的“数值线性代数”)

实际上,它也是小型密集矩阵的标准(来源:我在计算数学专业获得博士学位)迭代方法的效率要比直接方法低,除非系统变得足够大(快速的经验法则没什么用,但这总是很好)拥有:在任何现代计算机上,任何小于100 * 100的矩阵绝对是需要直接方法而不是迭代方法的小矩阵)

现在,我不建议自己这样做。那里有大量经过全面测试的优秀库。但是,如果我不得不推荐您一个,那就是Eigen

  • 无需安装(仅标头库,因此无需链接的库,仅#include <>)
  • 健壮高效(它们在主页上有很多基准测试,结果不错)
  • 易于使用且有据可查

顺便说一下,在此文档中,您可以在一个简洁的表格中找到其7个直接线性求解器的优缺点。看来您的情况是LDLT(Cholesky的一种变体)获胜

2020-07-28