使用直接方法时出现不适的症状是什么?


14

假设我们有一个线性系统,并且对它的条件一无所知,也没有关于解的初步信息。我们盲目地应用高斯消去法并得到一些解x。如果不对矩阵进行全面的初步分析,是否可以确定该解决方案是否值得信赖(即系统状况良好)?枢纽的数量是否能提供可靠的信息?

通常,“动态”检测疾病的主要准则是什么?

Answers:


13

什么时候患病?这取决于您要寻找的解决方案的准确性,甚至取决于“情人眼中的情人”。

也许是因为基于L U分解的廉价且健壮的条件数估计量,您的问题应该改写一下?LU

假设你有兴趣在现实一般(密集,非对称)的双精度运算的问题,我建议你使用LAPACK专家求解DGESVX提供在其倒数的形式条件估计。作为奖励,您还可以使用其他好处,例如方程式平衡/平衡,迭代细化,正向和反向误差范围。顺便说一句,病理性疾病状况(κ A > 1 / ϵ)被信号表示为错误。RCOND1/κ(A)κ(A)>1/ϵINFO>0

进入更详细地,LAPACK估计在1范数的条件数(或范数,如果你正在解决Ť X = b经由)DGECON。在草坪36:“用于条件估计中的鲁棒三角求解”中描述了基础算法。ATx=b

我不得不承认我不是该领域的专家,但是我的理念是:“如果对LAPACK足够好,那么对我来说就是”。


8

具有范数1的矩阵和范数1的随机右手边的病态方程组的解很有可能具有条件数阶的范数。因此,计算一些这样的解决方案将告诉您发生了什么。


这确实是DGECON正在做的事情,它具有反复优化搜索方向以最大化结果的技巧,并使用自定义的三角求解器(而不是BLAS求解器)来避免事物被近似误差所扭曲。因此,DGECON的计算成本可与您的简单测试相媲美。+1是为了让我们记住矩阵范数和条件数的简单含义。弄清楚DGECON是否真的比简单的随机检查更可靠。
Stefano M

考虑到求解的条件数与计算A x的条件数一致,是否足以将缩放矩阵与那些随机向量相乘,而不是实际求解A x = bAx=bAxAx=b
faleichik 2012年

2
@faleichik可以肯定的是:这里的诀窍是缩放以使A = 1κ A = A A 1= A 1。当然,作为该线性代数,您不必实际缩放A,而仅缩放A x …不过,您需要首先计算A 。您的反向论证将需要首先计算A 1AA=1κ(A)=AA1=A1AAxAA1我们正在努力评估的内容。
Stefano M

5

仅凭一个结果就很难判断您的系统是否状况不佳。除非您对系统的行为有一定的了解(即知道解决方案应该是什么),否则从单个解决方案中您将无法说太多话。

话虽如此,如果您用同求解多个系统,则可以获得更多信息。假设您有一个形式为A x = b的系统。对于您不了解其条件的特定A,可以执行以下测试: AAx=b

  1. Solve Ax=b for a specific right hand side vector b.
  2. Perturb your right hand side vector by bnew=b+ε where ||ϵ|| is very small in comparison to ||b||.
  3. Solve Axnew=bnew.
  4. ||xxnew||||xxnew|| is large), then your system is probably ill-conditioned.

Θ(n3)Θñ2 operations for each successive solution, assuming your direct solver saves its factors). If your matrix A is fairly small, this is not a problem. If it is large, you may not want to do this. Instead, you may be better off calculating the condition number ||A||||A1|| in a convenient norm.


2
Your Θ(kn3) claim is extremely far from the truth. Even if A is dense, A can be factored once with O(n3) work and then each solve requires only O(n2) work.
Jack Poulson

@JackPoulson: You're absolutely right... I guess I completely spaced out about it. No worries:) I'll update my answer
Paul

Could one also evaluate the residual of the resulting solve? Since
||Axb||
scales as
||A||||x||
a nearly singular A might give a meaningful residual even if its solution is very bad.
Reid.Atcheson

@Reid.Atcheson: Not really. The approximate solution to an ill conditioned system can still produce a small residual. This does not really doesn't give you any indication as to how far away it is from the true solution.
Paul

1
May be it is more wise to explicitly state ε very small with respect to b. Everything is relative in this area... Most readers will know, but someone could be mislead in dangerous waters.
Stefano M
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.