Multigridで収束チェックを行わないのは普通ですか?


12

Briggs / Henson / McCormickによる「A Multigrid Tutorial」の第3章、linkを読みました 。

テキストは、Vサイクル、ミューサイクル、FMGなどのマルチグリッドサイクルに関するものです。私の目を引いたもの:ほとんどの反復手順では、目的の許容誤差/精度に収束したかどうかを確認し、収束した場合は手順を停止します。ただし、Briggs / Henson / McCormickは提示されたスキームで収束チェックを使用しません。反復と再帰の数はハードコーディングされているだけであり、スキームが収束することを信頼する必要があります。

それでは、これはマルチグリッドで通常どのように行われますか?反復/再帰の数が単にハードコーディングされているのは普通ですか?私は非常に正確であるために多くの計算時間を浪費するか、逆に反復/再帰の数を少なくすると多くの場合精度が低下することを本当に恐れています。


この質問に対する答えの欠如は、私にとって本当に驚きです。確かに、研究および/または実稼働環境でかなりのマルチグリッドの経験を持っている非常にアクティブなユーザーがここにいますか?
ダグリピンスキー

2
問題は、今日ではマルチグリッドが単独でソルバーとして使用されることはめったにないことだと思います(一般的な収束理論がないため)、むしろCGやGMRESなどのより確立された反復法の前提条件として使用されます。このコンテキストでは、外部グリッドがマルチグリッドを処理するため、マルチグリッドの収束チェックは必要ありません。
クリスチャンクラソン

回答:


4

はい、MGで収束チェックを行わないのは、いくつかの理由で正常です。まず、各パスで異なる数の反復を使用する場合、MG演算子は線形ではなくなり、FGMRESのようなものを非線形前提条件に対応できるアクセラレータとして使用する必要があります。第二に、FMGは機能するときは正確なソルバーであり(誤差を離散化誤差以下に低減します)、収束をチェックするとアルゴリズムに同期のコストがかかります。通常、収束を確認するために最後にチェックします。


これをバックアップするソースはありますか?現在、あなたの答えと他のトップ投票の答えは互いに直接矛盾しています。
ダグリピンスキー

1)Saadの本は、変化する前提条件に対応するためにFGMRESを使用するための最良の参考資料です:www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf FMGは十分に強力で離散化誤差以下のエラーを減少させることを2)私は信じている証拠VサイクルはTrottenbergとOsterleeにありますが、私は自分の本で証明を再現しています:cse.buffalo.edu/~knepley/classes/caam519/CSBook.pdf
Matt Knepley

4

絶対にありません。1つの例を挙げると、マルチグリッドの本には53ページのプロット(図2.10)があり、VまたはWサイクルの数の関数として残差の減少を示しています。残差のサイズに満足したら、サイクリングを停止します。

混乱の原因は、一部の説明が単一のVサイクルのみを説明しているためかもしれません。いくつかの限られたケースでは、マルチグリッドは非常に強力な手法であるため、適切なソリューションを生成できます。また、マルチグリッドは前提条件として使用できます。その場合、マルチグリッドは単なるアクセラレータであり、収束のチェックはより高いレベルで行われます。ただし、チェックは常にどこかで行われる必要があります。


1
これをバックアップするソースはありますか?現在、あなたの答えと他のトップ投票の答えは互いに直接矛盾しています。
ダグリピンスキー

1

ソルバーとして使用されるマルチグリッドでは、通常、残差の相対ノルムが停止基準として使用されます。この比率を下げると、ソリューションの精度が向上します。さらに、最も粗いレベルでは、研究者はさまざまなことを行います。

  1. 直接ソルバーを使用して解く(収束なし)
  2. 固定反復を使用します(収束なし)
  3. 使用 収束基準として反復間連続した差をます(解から遠く離れている可能性があるため、良い方法ではありません)
  4. 再び使用する 、停止基準として残差の相対ノルムをます。

上記の最も粗いレベルの方法2は、マルチグリッドが 前提条件ます(ここでマルチグリッドの専門家はコメントできます-私は初心者です)。

そのため、一般的に収束が使用されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.