タグ付けされた質問 「quadrature」

数値積分とも呼ばれる求積法は、有限数の点で被積分関数を評価することによって作成された積分の近似を指します。

2
三角形/四面体/シンプレックスの高次数値積分
してみましょう三角形こととしましょうfは上のスムーズな関数であるT。TTTfffTTT 当社は、中間点の直交使用することができ、X Mは、の中間点であるT。∫fdx≈|T|⋅f(xM)∫fdx≈|T|⋅f(xM)\int f dx \approx |T|\cdot f(x_M)xMxMx_MTTT シンプレックスの高次式(のリファレンス)を提供してくれませんか?
10 quadrature 

3
三角形でコンパクトにサポートされている関数の数値積分
タイトルが示唆しているように、三角形でコンパクトにサポートされている関数(ウェンドランドの5次多項式)の積分を計算しようとしています。関数の中心が3次元空間のどこかにあることに注意してください。この関数を任意の小さな三角形に統合します()。私は現在、Dunavant、1985(p = 19)によって記述された統合を使用しています。area&lt;(radius/4)22area&lt;(radius/4)22area < \frac{(radius/4)^2}{2} ただし、これらの求積法のルールは、コンパクトにサポートされる問題には適していないようです。これは私が統合場合という事実によって支持されて三角形を用いて離散化された平面上(半径1の円の内側に1関数ように)、私の(正規化)結果の間であります1.001および0.897。f(r)=[r≤1]f(r)=[r≤1]f(r) = [r\leq1] だから私の質問は、この種の問題に特化した求積法が存在するのですか?低次の複合統合ルールはうまく機能しますか? 残念ながら、このルーチンは私のコードでは本当に重要なので、精度は非常に重要です。一方、この統合を1回のタイムステップで「数回」行う必要があるため、計算コストが高すぎないようにする必要があります。統合自体をシリアルで実行するため、並列化は問題になりません。 回答ありがとうございます。 EDIT:Wendlandの五次多項式によって与えられる、α=21W(q)=[q≤2]αh3(1−q2)4(2q+1)W(q)=[q≤2]αh3(1−q2)4(2q+1)W(q) = [q\leq2]\frac{\alpha}{h^3}(1-\frac{q}{2})^4(2q+1)α=2116πα=2116π\alpha = \frac{21}{16\pi}q=∥r−r0∥hq=‖r−r0‖hq=\frac{\|r-r_0\|}{h}r0r0r_0R3R3\mathbb{R}^3 EDIT2:が2次元の三角形の場合、を計算します。したがって、が0より小さくなることはありません。積分は 2次元表面上の表面積分であることに注意してくださいΔΔ\Delta∫Δω(r)dr∫Δω(r)dr\int_\Delta \omega(r) drω(r)=W(∥r−r0∥h)ω(r)=W(‖r−r0‖h)\omega(r) = W(\frac{\|r-r_0\|}{h})qqqWWWR3R3\mathbb{R}^3 EDIT3:1次元(線)の問題の分析ソリューションがあります。2次元(三角形)の1つを計算することも可能です。
10 quadrature 

5
数値積分用のC ++ライブラリ(求積法)
私は数値積分(求積)のための独自の小さなサブルーチンを持っています。これは、Bulirsch&Stoerによって1967年に公開されたALGOLプログラムのC ++適応です(Numerische Mathematik、9、271-278)。 より近代的な(アダプティブ)アルゴリズムにアップグレードし、そのような(無料の)C ++ライブラリが提供されているかどうか疑問に思います。私はGSL(Cです)のように見えましたが、恐ろしいAPIが付属しています(数値は良いかもしれませんが)。他に何かありますか? 便利なAPIは次のようになります。 double quadrature(double lower_integration_limit, double upper_integration_limit, std::function&lt;double(double)&gt; const&amp;func, double desired_error_bound_relative=1.e-12, double desired_error_bound_absolute=0, double*error_estimate=nullptr);
10 c++  quadrature 

1
求積規則、方法、および参照
直近に更新されていないようで、アクセスが制限されている直交規則の非常に包括的な百科事典が少なくとも1つあります。この情報源は、いくつかの古典的情報源と現代的情報源を参照しており、一般によくまとめられています。しかし、それは純粋に理論的なアプローチから求積法則の構築に近づくため、たとえば有限要素計算のためのより実用的な方法を見逃しています。 求積ルールのより学際的な概要は存在しますか、または単純なドメイン(有限要素に使用されるものなど)にそのようなメソッドの幅広い範囲を実装するオープンソースライブラリを知っている人はいますか?

3
ラグランジュ多項式と多くのノードの統合、丸め
一連の点して、を計算し 正確に。は、をノードとする点に関するラグランジュ多項式です。つまり、 これは次数多項式なので、十分な次数の古いガウス求積法を使用できます。これがあればうまく動作あまり大きくないが、大きなための丸め誤差により損なわれた結果につながる。 [ - 1 、1 ] ∫ 1 - 1 L I(X ){xj}nj=1{xj}j=1n\{x_j\}_{j=1}^n[−1,1][−1,1][-1, 1]L i x j x i L i(x )= ∏ j ≠ i x − x j∫1−1Li(x)dx∫−11Li(x)dx \int_{-1}^{1} L_i(x)\,\text{d} x LiLiL_ixjxjx_jxixix_innnLi(x)=∏j≠ix−xjxi−xj.Li(x)=∏j≠ix−xjxi−xj. L_i(x) = \prod_{j\neq i} \frac{x - x_j}{x_i - x_j}. nnnnnnnnn それらを回避する方法はありますか?

2
多くの独立した周期を持ち、閉じた形を持たない振動積分の評価
フォームの積分との契約について私が知っている振動積分のためのほとんどの方法 ここで ωが大きいです。∫f(x)eiωxdx∫f(x)eiωxdx \int f(x)e^{i\omega x}\,dx ωω\omega Iは、フォームの積分を使用している場合 ここで、 G kの振動その根のみ約知られている機能が、漸近形のいくつかの種類である G K(xは)〜E I ω K X 周波数で、知られている ω kは(とすべての異なる Qを -linearly独立)では、どうすればこの積分を評価できますか?∫f(x)g1(x)⋯gn(x)dx,∫f(x)g1(x)⋯gn(x)dx, \int f(x)g_1(x)\cdots g_n(x)\,dx, gkgkg_kgk(x)∼eiωkxgk(x)∼eiωkx g_k(x) \sim e^{i\omega_k x} ωkωk\omega_kQQ\mathbb{Q} 以下の場合と異なり、多項式積分∫ X A Π G K(X ) Iは、多項式補間値のセット構築することができないので、知られていないF (Xの)と正確に補間値を統合します。eiωxeiωxe^{i\omega x}∫xa∏gk(x)∫xa∏gk(x)\int x^a \prod g_k(x)f(x)f(x)f(x) gkgkg_kJ0(ωkx)J0(ωkx)J_0(\omega_k x)f(x)=xαf(x)=xαf(x)=x^\alpha[0,∞)[0,∞)[0,\infty)[xk−1,xk][xk−1,xk][x_{k-1},x_k]MMMgk(x)gk(x)g_k(x)xxxnnng1…gng1…gng_1\ldots g_nrrrrnrnr^nnnn ヒューリスティックな厳密でない答え、提案、参照はすべて歓迎されます。

1
関数を特異点と統合するためにどの数値求積法を選択しますか?
たとえば、u = 1のノルムを数値計算したいとします。L2L2L^2ゼロを含むいくつかのドメインにおいて、Iは、ガウス求積を試み、それが失敗し、それはちょっと遠い実からなるL2統合する球座標を用いて、単位球上のノルムでありますこれを行う良い方法はありますか?この問題は、リエントラントコーナーのあるドメインの有限要素計算のおもちゃの問題でよく見られます。ありがとう。u = 1(x2+ y2+ z2)1 / 3あなた=1(バツ2+y2+z2)1/3\displaystyle u = \frac{1}{(x^2+y^2+z^2)^{1/3}}L2L2L^2

2
「ゼロ」による除算が可能な数値積分
統合しようとしています ∫10t2 n + 2exp(α R0t) dt∫01t2ん+2exp⁡(αr0t)dt\int^1_0 t^{2n+2}\exp\left({\frac{\alpha r_0}{t}}\right)dt これはの単純な変換です ∫∞1バツ2 nexp(- α R0x )dバツ∫1∞バツ2んexp⁡(−αr0バツ)dバツ\int^{\infty}_1 x^{2n}\exp(-\alpha r_0 x)dx 不適切な積分を数値で近似することが難しいため、を使用します。ただし、これは新しい被積分関数をゼロに近い値で評価するという問題につながります。間隔は長さ1しかないため、適切な数の直交ノードを取得するのは非常に簡単です(したがって、比較可能なを非常に小さくすることができます)。t = 1バツt=1バツt = \frac1{x}dtdtdt あるレベルでは、単にをとることは、がいくつかの小さな数である場合に良い考えだと思います。しかし、何を選ぶべきですか?マシンイプシロンにする必要がありますか?マシンイプシロンによる除算は十分に数値化された数ですか?さらに、私のマシンのイプシロン(またはそれに近い)の除算が信じられないほど大きな数を与える場合、取得はさらに大きくなります。∫1εt2 n + 2exp(α R0t) dt∫ε1t2ん+2exp⁡(αr0t)dt\int^1_\epsilon t^{2n+2}\exp({\frac{\alpha r_0} {t}})dtεε\epsilonexp(1ε)exp⁡(1ε)\exp(\frac{1}{\epsilon}) これをどのように説明する必要がありますか?この関数の数値積分を明確に定義する方法はありますか?そうでない場合、機能を統合する最良の方法は何ですか?

1
積分を数値的に反復することはいつ有利ですか?
ある場合には(n+1)(n+1)(n+1)の形の次元積分は 通常1は、ドメイン全体にわたって多次元統合ライブラリを使用してこれを評価するであろう [ 0 、1 ] のn + 1。∫[0,1]n+1f(x,y)dnxdy,∫[0,1]n+1f(x,y)dnxdy, \int_{[0,1]^{n+1}} f(x, y)\,\mathrm{d}^n x \,\mathrm{d}y,[0,1]n+1[0,1]n+1[0,1]^{n+1} しかし、1次元の求積法を使用して積分を個別に実行し、多次元積分ライブラリを使用して他のn座標で被積分関数を評価することが理にかなっている条件はありますか? ∫ [ 0 、1 ] nは G (X )yyynnn∫[0,1]ng(x)dnx,g(x)=∫10f(x,y)dy.∫[0,1]ng(x)dnx,g(x)=∫01f(x,y)dy. \int_{[0,1]^n}g(x)\,\mathrm{d}^nx, \qquad g(x) = \int_0^1 f(x,y)\,\mathrm{d}y. これは、たとえば、がyの関数として特に滑らかであるがxの関数としては滑らかでない場合に意味があります。しかし、この場合、正確にどれほどスムーズでなければならないのでしょうか。1-d求積法の評価点が多すぎると「無駄」になるため、ほとんど意味がないと思いますが、これが常に当てはまるとは思いません。これは、高次元の統合方法の設計によって保証されますか?fffyyyxxx 自分の場合、ブラックボックスであるが、に区分平滑Y、およびキンクの未知量を有しにジャンプX未知の位置で、かつnは極めて高い(N ≥ 4)の積分にxが有しています特に多くの次元のために何かを行うために。yの積分は、のような通常の方法で実行できます。この例では、関数はyで十分滑らかであり、ほとんど機能しているように見えますが、繰り返しの積分は最終的に30倍遅くなるため、アプローチが誤っているのではないかと思います。fffyyyxxxnnnn≥4n≥4n\geq 4xxxyyyquadgkyyy これが文献のどこですでに議論されているかを知っているなら、それも役に立ちます。 例。 (これが簡単ではない理由です)私が本当に興味を持っているものとは異なり、非常に滑らかな「簡単な」積分を考えてみましょう: 被積分関数で ナイーブ n次元モンテカルロを実行するか、または積分された被積分関数でナイーブ(n − 1 )次元モンテカルロを x 1について一度積分すると、 g (x 2 :n)= …

1
ベッセルウェイトを使用した高価な関数の放射状積分
積分を計算する必要があります 私= ∫R0f(r )Jん(zn mrR) rdrI=∫0Rf(r)Jn(znmrR)rdrI = \int_0^R f(r)J_n\left(\frac{z_{nm}r}{R}\right)rdr ここで、は第1種の次のベッセル関数であり、はそのゼロであり、はやや類似した実数関数です(同じではない、それは非常に複雑であり、通常で用語を伴う時には)。JんJnJ_nんトンの時間nthn^{\mathrm{th}}zn mznmz_{nm}メートルトンの時間mthm^{\mathrm{th}}f(r )f(r)f(r)JんJnJ_nJ2んJn2J_n^2exp(Jん)exp⁡(Jn)\exp(J_n) 非常に高価であり、この積分は非常に多くの時間を評価しなければならない、私はそれを解決するための最良の(非常に速いが、それでもかなり正確に)数値法を探しています。現在、私は11ポイントの台形ルールを使用しています。しかし、私はClenshaw–CurtisやGauss–Kronrod(低次数)などの他の方法を調査しています。f(r )f(r)f(r) しかし、特にハンケル変換の計算に必要なものと同様であることを考えると、そのような積分に特に適した方法があるかどうか疑問に思っています。

1
ポリャ分布上の数値積分の提案
この問題は、ベイジアン統計モデリングプロジェクトから発生します。私のモデルで計算するために、被積分関数の一部が「ポリヤ」または「ディリクレ多項式」分布である積分を実行する必要があります。 p(n∣α)=(N!)Γ(Kα)Γ(α)KΓ(N+Kα)∏i=1KΓ(ni+α)ni!p(n∣α)=(N!)Γ(Kα)Γ(α)KΓ(N+Kα)∏i=1KΓ(ni+α)ni!p(n\mid \alpha) = \frac{(N!) \Gamma(K\alpha)}{\Gamma(\alpha)^K \Gamma ( N + K\alpha)} \prod_{i=1}^K \frac{\Gamma(n_i + \alpha)}{ n_i!} ここで、およびN = ∑ K i = 1 n iは整数、n = (n 1、n 2、… 、n K )、およびα &gt; 0です。一体型Iの計算に願い、∫ ∞ 0(他の項)のp (nは| α )D α、小規模に適していますNninin_iN=∑Ki=1niN=∑i=1KniN = \sum_{i=1}^K n_in=(n1,n2,…,nK)n=(n1,n2,…,nK)n = \left(n_1, n_2, \dots, n_K\right)α&gt;0α&gt;0\alpha > 0∫∞0(other …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.