直接的な方法を使用した場合の悪条件の症状は何ですか?


14

線形システムがあり、そのコンディショニングについて何も知らず、ソリューションに関する予備情報がないとします。盲目的にガウス消去法を適用し、解を取得します。マトリックスの予備的な分析を完全に行わずに、このソリューションが信頼できるかどうか(つまり、システムの条件が整っているかどうか)を判断することは可能ですか?ピボットの大きさは信頼できる情報を提供しますか?バツ

そして一般的に、「オンザフライ」で悪条件を検出するための主なガイドラインは何ですか?

回答:


13

行列が条件付けられているのはいつですか?「見る人の目には美しさがあります」と同様に、あなたが探している解決策の精度に依存します...

L U分解に基づいた安価で堅牢な条件数推定器があるので、あなたの質問をより良く言い換えるべきでしょうか?LU

倍精度演算では、あなたが本当の一般的に興味を持っていると仮定すると、(密な、非対称)の問題、私はあなたがソルバーLAPACKの専門家使用することをお勧めDGESVXその逆数の形の状態推定値を提供RCOND≈1/κ(A)。ボーナスとして、方程式の平衡化/平衡化、反復調整、前方および後方のエラー境界など、その他の利点もあります。ところで、病理学的病気コンディショニング(κ(A)>1/ϵ)によってエラーとしてシグナリングされますINFO>0。

さらに詳しく説明すると、LAPACK はDGECONを介して1ノルム(またはA T x = bを解く場合は∞ノルム)の条件数を推定します。基礎となるアルゴリズムは、芝生36で説明されています:「条件推定で使用するためのロバストな三角解法」。ATx=b

私はこの分野の専門家ではないことを告白する必要がありますが、私の哲学は「LAPACKに十分であれば、それは私に適しています」です。


8

ノルム1の行列をもつ条件の悪い連立方程式の解は、ノルム1のランダムな右辺が条件数の次数のノルムを高い確率で持っています。したがって、いくつかのそのようなソリューションを計算すると、何が起こっているかがわかります。


これは実際、DGECONが行っていることです。結果を最大化するために検索方向を繰り返し洗練し、近似誤差によって物事が歪められないようにカスタムの三角形ソルバー(BLASソルバーではありません)を使用します。したがって、DGECONの計算コストは​​単純なテストに匹敵します。+1は、マトリックスのノルムと条件数の単純な意味を覚えているためです。DGECONが単純なランダムチェックよりも本当に堅牢かどうかを調べるのは興味深いはずです。
— ステファノM

解決の条件数ということを考慮に入れて算出の条件数と一致するxはそれだけではなく、実際の解決のそれらのランダムベクトルでスケーリング行列を乗算するために十分でないA X = B?Ax=bAxAx=b
— faleichik

2
Aκ (A )= ‖ A ‖ ⋅ ‖ A - 1 ‖ = ‖ A - 1 ‖ A A X ‖ A ‖ ‖ A - 1 ‖‖A‖=1κ(A)=‖A‖⋅‖A−1‖=‖A−1‖AAバツ‖A‖‖A−1‖

5

システムが1つの結果だけで悪条件であるかどうかを判断することはほとんど不可能です。システムの振る舞いに対する洞察力がない場合(つまり、ソリューションが何をすべきかを知っている場合)、1つのソリューションから言えることはあまりありません。

これを言って、同じ複数のシステムを解くと、より多くの情報を得ることができます。という形式のシステムがあるとします。条件付けに関する予備知識がない特定のAに対して、次のテストを実行できます。 A x = bAAバツ=b

  1. 特定の右辺ベクトルについてを解きます。 bAバツ=bb
  2. 右辺のベクトルをで摂動しますここでと比較して非常に小さい 。| | ϵ | | | | b | |bnew=b+ε||ϵ||||b||
  3. をます。Aバツnew=bnew
  4. システムの条件が整っている場合、新しいソリューションは古いソリューションにかなり近いはずです(つまり、は小さいはずです)。新しいソリューションに劇的な変化が見られる(つまりが大きい)場合は、システムの状態が悪い可能性があります。 | | x − x n e w | |||バツ−バツnew||||バツ−バツnew||

システムが悪条件であるかどうかをより適切に示すために、異なる右辺ベクトルを持ついくつかの線形システムを解く必要がある場合があります。もちろん、このプロセスは、(ビット高価で第一の溶液とするための操作連続する各溶液のための操作は、あなたの直接ソルバーはその要因を保存仮定します)。マトリックスAがかなり小さい場合、これは問題ではありません。大きい場合、これを行いたくない場合があります。代わりに、条件数計算した方がよい場合があります 便利な基準で。Θ (n 2)| | A | | ⋅ | | A − 1 | |Θ(n3)Θ(n2)||A||⋅||A−1||


2
あなたの主張は真実とはかけ離れています。場合でも、緻密で、で一度因数分解することができる作業と、その後それぞれが解決するだけ必要の作業を。Θ(kn3)AAO(n3)O(n2)
— ジャックポールソン

@JackPoulson:あなたは絶対に正しいです...私はそれについて完全に間隔を空けたと思います。心配ありません:)答えを更新します
— ポール

結果の解の残差も評価できますか?以来 スケール| | A | | ⋅ | | x | | ほぼ特異なAは、解が非常に悪い場合でも意味のある残差を与える可能性があります。
||Ax−b||
||A||⋅||x||
A
— -Reid.Atcheson

@ Reid.Atcheson:そうでもない。悪条件のシステムに対する近似解では、まだ小さな残差が生じる可能性があります。これは、実際のソリューションからどれだけ離れているかを示すものではありません。
— ポール

1
それが明示的状態に、より賢明であるかもしれ非常に小さなに関して‖ B ‖。この分野ではすべてが相対的です...ほとんどの読者は知っていますが、危険な海域で誰かが誤解を招く可能性があります。‖ε‖ ‖b‖
— ステファノM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.