对于3x3唯一的对称和正定线性系统,Cholesky仍然比Householder快吗?

时间:2013-12-20 01:14:23

标签: linear-algebra eigen solver symmetric

我正在尝试解决线性系统Ax=b,其中A3x3对称正定。

虽然它的规模很小,但我必须在不同的A百万次重复它。因此效率仍然很重要。

线性系统有许多解算器(C ++,通过Eigen)。 我个人更喜欢:HouseholderQr().solve()llt().solve()ldlt().solve()

我知道当n非常大时,基于Cholesky分解的求解器比Householder的求解器快。但是对于n只有3的情况,我怎样才能比较它们的相对效率?是否有任何准确的float operation分析公式?

感谢

1 个答案:

答案 0 :(得分:0)

是的,Cholesky仍然会更快。它将是大约n ^ 3/3的触发器。使用QR的唯一原因是你的矩阵是非常恶劣的。

如果您需要解决这些系统一百万次并且效率很重要,我建议您直接调用LAPACK。你想要DPOSV函数。

http://www.netlib.org/lapack/lug/node26.html#1272

http://www.netlib.org/clapack/what/double/dposv.c