Answers:
特雷菲森(Trefethen)和施雷伯(Schreiber)撰写了一篇出色的论文,《高斯消去的平均情况稳定性》,讨论了问题的准确性。以下是其一些结论:
“对于QR分解具有或不具有柱枢转,残余基质的平均最大元素是,而对于高斯消去它是ø (Ñ )。这种比较表明,高斯消去是轻度不稳定的,但仅对于以低精度解决的非常大的矩阵问题,才可以检测到不稳定性。对于大多数实际问题,高斯消元平均具有很高的稳定性。 ”(强调矿井)
“经过高斯消除的前几步,其余矩阵元素大致呈正态分布,无论它们是否以这种方式开始。”
我在这里无法捕获到本文的更多内容,包括您提到的最坏情况矩阵的讨论,因此我强烈建议您阅读它。
对于正方形实矩阵,LU与部分枢转需要大约触发器,而基于的Householder-QR需要大约4 / 3 Ñ 3触发器。因此,对于相当大的平方矩阵,QR分解将仅是LU分解的两倍。
对于矩阵,其中米≥ Ñ,LU与部分枢转需要米ñ 2 - Ñ 3 / 3触发器,与QR的2 米Ñ 2 - 2 Ñ 3 / 3(这仍然是两次LU分解的那个)。然而,这是非常普遍的应用,以产生非常高的瘦矩阵(米» Ñ),和Demmel等。有一篇不错的论文,避免通信的并行和顺序QR因式分解,(第4节)讨论了一种聪明的算法,该算法仅要求在使用p个处理器时发送消息,而不是传统方法的n个log p消息。代价是要执行O (n 3 log p )个额外的触发器,但是对于非常小的n,这通常比发送更多消息的等待时间成本更可取(至少当仅需要执行一次QR分解时)。
我很惊讶没有人提到线性最小二乘问题,它在科学计算中经常发生。如果要使用高斯消除,则必须形成和求解法线方程,如下所示:
其中是与独立变量的观测值相对应的数据点的矩阵,x是要找到的参数的向量,b是与因变量的观测值相对应的数据点的向量。
正如Jack Poulson经常指出的那样,的条件数是A的条件数的平方,因此,正规方程式可能会带来灾难性的病态。在这种情况下,尽管基于QR和SVD的方法比较慢,但它们产生的结果要准确得多。
您如何衡量效果?速度?准确性?稳定性?在Matlab中进行的快速测试可以得出以下结果:
>> N = 100;
>> A = randn(N); b = randn(N,1);
>> tic, for k=1:10000, [L,U,p] = lu(A,'vector'); x = U\(L\b(p)); end; norm(A*x-b), toc
ans =
1.4303e-13
Elapsed time is 2.232487 seconds.
>> tic, for k=1:10000, [Q,R] = qr(A); x = R\(Q'*b); end; norm(A*x-b), toc
ans =
5.0311e-14
Elapsed time is 7.563242 seconds.
因此,使用LU分解求解单个系统的速度大约是使用QR分解求解单个系统的速度的三倍,而精度为半个十进制数字(此示例!)。
您引用的文章为高斯消除辩护,说即使它在数值上是不稳定的,它在随机矩阵上也往往表现良好,并且由于大多数人都可以想到它们就像随机矩阵,所以我们应该没事。许多数值不稳定的方法也可以这样说。
考虑所有矩阵的空间。这些方法几乎在任何地方都可以正常工作。那就是可以创建的所有矩阵的99.999 ...%,使用不稳定的方法不会有问题。GE和其他人很难解决的只有很少一部分矩阵。
研究人员关心的问题往往只占其中的很小一部分。
我们不会随机构造矩阵。我们构造具有非常特殊属性的矩阵,这些属性对应于非常特殊的非随机系统。这些矩阵通常状况不佳。
在几何上,您可以考虑所有矩阵的线性空间。穿过该空间的奇异矩阵的体积/度量子空间为零。我们构造的许多问题都围绕该子空间聚集。它们不是随机分布的。
例如,考虑热方程或色散。这些系统倾向于从系统中删除信息(所有初始状态都吸引到单个最终状态),结果,描述这些方程式的矩阵非常单一。此过程在随机情况下极不可能,但在物理系统中无处不在。