既知の境界を持つ多次元積分の数値積分


12

(2次元)不適切な積分があります

I=AW(x,y)F(x,y)dxdy

ここで、積分領域Aは、よりも小さいですが、によってさらに制限されてい。以来および滑らかであり、x=[1,1]y=[1,1]F(x,y)>0FWW0境界では、後者の関係は、被積分関数が境界で特異になる可能性があることを意味します。ただし、被積分関数は有限です。私はこれまでのところ、ネストされた数値積分を使用してこの積分を計算します。これは成功しますが、遅いです。積分に対処するために、より適切な(より高速な)メソッド、おそらくモンテカルロメソッドを検索します。しかし、非立方体領域Aの境界に点を配置せず、不適切な積分の制限を正しく取るものが必要です。積分変換は、この一般的な表現に役立ちますか?私は解決することが可能であるするためのの関数としてとも計算いくつかの特別な重み関数のための。F(x,y)yxIW(x,y)


これまでにどの方法を使用したかについてもう少し具体的に教えていただけますか?ネストされた方法で使用した特定のルーチンは何ですか?また、Aの内部にありますか、つまりF x y )の根は境界上のみですか?F(x,y)0AF(x,y)
ペドロ

GSLアルゴリズムQAGS:gnu.org/software/gsl/manual/html_node/…。編集してくれてありがとう(方程式をタイプセットするオプションが表示されませんでした)!
-highsciguy

回答:


7

免責事項:私は適応求積法で博士論文を書いたので、この答えは私自身の仕事に大きく偏っています。

GSLのQAGSは古いQUADPACKインテグレーターであり、特に特異点がある場合は完全に堅牢ではありません。これは通常、ユーザーが実際に必要とするよりもはるかに多くの桁数の精度を要求するため、統合が非常に高価になります。

GSLを使用している場合は、このペーパーで説明されている独自のコードCQUADを試してください。区間エッジとドメイン内の両方で特異点に対処するように設計されています。エラー推定値は非常に堅牢であるため、実際に必要なだけの桁を要求してください。

モンテカルロ統合に関しては、どのような精度を求めているかによって異なります。また、特異点の近くでどれだけうまく機能するかについてもよくわかりません。


それを実装するのが最も簡単なので、私は間違いなくこれを見ていきます。実際、QAGSルーチンはこの問題に対して非常に安定していないことを経験しました。
highsciguy

「GSL_EDIVERGE」の発生に影響を与える方法はありますか?一部のパラメータに表示されるようです。
-highsciguy

@highsciguy:アルゴリズムは、積分が有限ではないと判断したときにGSL_EDIVERGEを返します。失敗した例を教えていただければ、詳しく見ていきます。
ペドロ

n次元積分の汎用コードに組み込まれているため、単純なルーチンを分離するのは少し難しいです。表示されます...しかし、yが固定されている場合、F(x、y)その後、xの多項式として書くことができます。しかし、1 / sqrt(x)の動作が遅れて開始する可能性があります。被積分関数の数値精度があまり良くないこともあり得ます。
-highsciguy

1
@highsciguy:はい、これは悪い考えです。ほとんどの求積規則は、被積分関数がある程度の滑らかさを持っていると仮定しており、任意のポイントでゼロに設定すると、不連続性が生じます。実際の間隔を使用すると、より良い結果が得られます!
ペドロ

5

一般に、モンテカルロ法は、直交点とその次元の組み合わせ爆発を許容できない高次元積分がない限り、適応求積法と競合できません。

その理由は比較的わかりやすいです。ただ、例えば、取るここで、 nは問題の次元です。簡単にするために、すべての次元を M個のサブインターバルに細分化するとしましょう。つまり、合計で M n個のハイパーキューブセルを取得します。さらに、例として k個のガウス点を持つガウス公式を使用すると仮定します。次に、合計で N = k M nの直交点があり、 kガウス点が次数2 k 1 )の精度を提供するため、 e = Oh 5[01]nfバツdnバツnMMnkN=kMnk2k1、評価点の関数としての全体的な精度は e = ON 2 k 1 / n)になります。 一方、モンテカルロ法は、一般的に専用として誤差収束を提供し 、E = ON - 1 / 2 少なくとも有する任意のガウス式の場合よりも悪くなる K > N /e=Oh5=OM2k1

e=ON2k1/n
e=ON1/2
間隔あたりポイント。理由は比較的簡単に理解できます。ガウス求積法は、何らかのスマートな方法で補間点を選択しますが、モンテカルロはそうではありません。後者については有用なものは期待できません。(もちろん、ガウス求積法が難しい状況もあります。たとえば、統合ドメインが不規則な形状である場合などです。しかし、その場合は、適応統合などを行う方が良いでしょう。)k>n/4+1/2

k8n=30M=1N=830統合ポイントは、一生の評価でこれまでになかったほど多くのものです。つまり、十分な統合ポイントを評価できる限り、統合ドメインの下位区分の求積法が常により効率的なアプローチです。収束順序が悪いにもかかわらず、モンテカルロ法を使用している単一の下位区分でさえも積分点を評価できない高次元積分がある場合です。


1

ネストされた二重指数求積法を試してください(Oouraの実装を参照)。この手法は、変換された被積分関数が境界で非常にスムーズに動作するようにする変数変換を使用し、境界での特異点の処理に非常に効率的です。彼のWebサイトには、DE求積法に関する非常に優れた参考文献のリストもあります。

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