在“黑书”中,数值计算第三版,给出了求解线性方程组的Gauss算法。后面是一个关于计算LU分解的部分,然后使用这个部分来求解线性方程组(参见LUdcmp::solve on第53页)。不幸的是,这本书并没有解释为什么一种方法比另一种方法更好。这两种方法是等同的,还是有理由在特定情况下选择一种方法而另一种方法?
发布于 2016-01-22 16:16:04
使用LU分解的优点是可以重用它来计算多个解决方案。
例如,如果你想要解这个方程
Ax = b对于一个常数A和许多不同的b,您只需要计算A的LU分解一次,就可以对每个b重用它。然而,由于高斯-乔丹淘汰,你将不得不为每一个b重新做所有的工作。
其原因是Gauss消尺度为O(n^3),而LU分解法的代换步长仅为O(n^2)。因此,对于LU情况,您只需对每个b执行一次昂贵的O(n^3)步骤。
关于这一点的一组合理的注释可以找到这里。
发布于 2019-01-31 00:53:18
实际上,比LU快得多.做一些C-代码,你会解开,因为你将使用更少的代码和更少的循环在高斯-约旦比LU。
https://stackoverflow.com/questions/34951048
复制相似问题