正交变换何时能胜过高斯消除?


22

众所周知,线性方程组的正交变换方法(Givens旋转和Housholder反射)比高斯消元法昂贵,但从理论上讲,它们在不改变系统条件数的情况下具有更好的稳定性。尽管我只知道矩阵的一个学术示例,但由于部分旋转而被高斯消除所破坏。而且,人们普遍认为,在实践中很难实现这种行为(请参阅本讲义[pdf])。

那么,我们应该在哪里寻找有关该主题的答案?并行实现?正在更新?

Answers:


24

准确性

特雷菲森(Trefethen)和施雷伯(Schreiber)撰写了一篇出色的论文,《高斯消去的平均情况稳定性》,讨论了问题的准确性。以下是其一些结论:

  1. “对于QR分解具有或不具有柱枢转,残余基质的平均最大元素是,而对于高斯消去它是ø Ñ 这种比较表明,高斯消去是轻度不稳定的,但仅对于以低精度解决的非常大的矩阵问题,才可以检测到不稳定性。对于大多数实际问题,高斯消元平均具有很高的稳定性。 ”(强调矿井)O(n1/2)O(n)

  2. “经过高斯消除的前几步,其余矩阵元素大致呈正态分布,无论它们是否以这种方式开始。”

我在这里无法捕获到本文的更多内容,包括您提到的最坏情况矩阵的讨论,因此我强烈建议您阅读它。

性能

对于正方形实矩阵,LU与部分枢转需要大约触发器,而基于的Householder-QR需要大约4 / 3 Ñ 3触发器。因此,对于相当大的平方矩阵,QR分解将仅是LU分解的两倍。2/3n34/3n3

对于矩阵,其中Ñ,LU与部分枢转需要ñ 2 - Ñ 3 / 3触发器,与QR的2 Ñ 2 - 2 Ñ 3 / 3(这仍然是两次LU分解的那个)。然而,这是非常普遍的应用,以产生非常高的瘦矩阵(» Ñ),和Demmel等。有一篇不错的论文,避免通信的并行和顺序QR因式分解m×nmnmn2n3/32mn22n3/3mn,(第4节)讨论了一种聪明的算法,该算法仅要求在使用p个处理器时发送消息,而不是传统方法的n个log p消息。代价是要执行O n 3 log p )个额外的触发器,但是对于非常小的n,这通常比发送更多消息的等待时间成本更可取(至少当仅需要执行一次QR分解时)。logppnlogpO(n3logp)n


10

我很惊讶没有人提到线性最小二乘问题,它在科学计算中经常发生。如果要使用高斯消除,则必须形成和求解法线方程,如下所示:

ATAx=ATb,

其中是与独立变量的观测值相对应的数据点的矩阵,x是要找到的参数的向量,b是与因变量的观测值相对应的数据点的向量。Axb

正如Jack Poulson经常指出的那样,的条件数是A的条件数的平方,因此,正规方程式可能会带来灾难性的病态。在这种情况下,尽管基于QR和SVD的方法比较慢,但它们产生的结果要准确得多。ATAA


2
Upvoted,但QR实际上应该看齐LU,如果你认为不必要形成所需的操作^ h(QR只需要2 / 3 ñ 3多谐振荡器比LU)。SVD方法仍然应该更慢(人们可以认为其成本约为6 n 3)。n3AHA2/3n36n3
杰克·普尔森

1
除了使用正交变换保证的稳定性外,SVD的一大优点是分解提供了自己的条件检查,因为最大奇异值与最小奇异值之比恰好是(2-范数)条件数。对于其他分解,条件估计器(例如Hager-Higham)的使用虽然不如分解本身那么昂贵,但还是有些“固定”的。
JM 2012年

1
@JackPoulson出于好奇,您是否对SVD的翻牌计数有参考?从快速浏览Golub&Van Loan(第254页,第3版)中可以看出,使用SVD解决最小二乘问题的常数似乎更高,但我可能会误解。提前致谢。
OscarB 2012年

1
@OscarB:这是我头顶上的一个非常粗糙的数字,比形成完整的SVD要低(因为我们可以避免反向转换成本)。工作需要用于还原为双对角线形式(比如,= ˚F ģ ħ),一定量的工作,说Ç,需要用于双对角线SVD(= û Σ V ħ),然后x = G V i n vΣ 8/3n3A=FBGHCB=UΣVH,这需要 O n 2工作。因此,这完全取决于 C的大小...如果MRRR在这里工作,它将为 O n 2,但是直到那时它都是三次的且与问题有关。x:=(G(V(inv(Σ)(UH(FHb)))))O(n2)CO(n2)
Jack Poulson

1
@JM但是,请注意,最小二乘问题的条件号不是“经典”条件号矩阵; 这是一个更复杂的数量。σ1σn
Federico Poloni

3

您如何衡量效果?速度?准确性?稳定性?在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分解求解单个系统的速度的三倍,而精度为半个十进制数字(此示例!)。


欢迎您提出的任何优点。
faleichik,2012年

3

您引用的文章为高斯消除辩护,说即使它在数值上是不稳定的,它在随机矩阵上也往往表现良好,并且由于大多数人都可以想到它们就像随机矩阵,所以我们应该没事。许多数值不稳定的方法也可以这样说。

考虑所有矩阵的空间。这些方法几乎在任何地方都可以正常工作。那就是可以创建的所有矩阵的99.999 ...%,使用不稳定的方法不会有问题。GE和其他人很难解决的只有很少一部分矩阵。

研究人员关心的问题往往只占其中的很小一部分。

我们不会随机构造矩阵。我们构造具有非常特殊属性的矩阵,这些属性对应于非常特殊的非随机系统。这些矩阵通常状况不佳。

在几何上,您可以考虑所有矩阵的线性空间。穿过该空间的奇异矩阵的体积/度量子空间为零。我们构造的许多问题都围绕该子空间聚集。它们不是随机分布的。

例如,考虑热方程或色散。这些系统倾向于从系统中删除信息(所有初始状态都吸引到单个最终状态),结果,描述这些方程式的矩阵非常单一。此过程在随机情况下极不可能,但在物理系统中无处不在。


2
如果线性系统最初是病态的,那么无论使用哪种方法:LU和QR分解都会给出不正确的结果。QR仅在高斯消除过程“破坏”良好矩阵的情况下才能获胜。主要问题是这种行为的实际情况尚不清楚。
faleichik 2012年

对于大多数科学应用,我们通常获得稀疏,对称,正定和/或对角占优的矩阵。除极少数例外外,矩阵中的结构使我们能够利用某些技术超越传统的高斯消除。
保罗

@Paul:另一方面,稀疏的非对称矩阵的多时间方法花费了大量时间进行密集的高斯消除。
杰克·普尔森

6
@Paul“大多数应用程序生成SPD /对角占优矩阵”是不正确的。是的,通常存在某种可利用的结构,但是非对称和不确定的问题极为普遍。
杰德·布朗

4
“在五十年的计算中,在自然环境下,还没有出现引起爆炸性不稳定的矩阵问题。” - LN Trefethen和D.巴乌他们给在他们的著作一个有趣的概率分析。
JM 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.