タグ付けされた質問 「numerical-analysis」

連続問題の近似離散解を計算するアルゴリズムの構築と分析。標準的な例は、差分商による導関数の近似です。

2
有限要素による特異摂動反応拡散問題の振動
ときは、FEM-離散化と反応拡散問題を解決する、例えば 用いて 0 < ε « 1(特異摂動)、離散問題の解決策は、典型的に近い境界に振動層を示すであろう。Ω = (0 、1 )、 ε = 10 - 5と線形有限要素、溶液 U Hルックス等- ε Δ U + U = 1 で Ωuが= 0を 上 ∂Ω−ε△あなたは+あなたは=1 オン Ωあなたは=0 オン ∂Ω - \varepsilon \Delta u + u = 1 \text{ on } \Omega\\ u = 0 \text{ …

1
ラインサーチおよび信頼領域アルゴリズムのスケール不変性
Nocedal&Wrightの数値最適化に関する本では、セクション2.2(27ページ)に「一般的に、信頼領域アルゴリズムよりもライン探索アルゴリズムのスケール不変性を保持する方が簡単です」という記述があります。同じセクションで、元の変数のスケーリングされたバージョンである新しい変数を使用することについて説明します。これは、ライン検索と信頼領域の両方に役立ちます。別のアプローチは事前調整です。信頼領域メソッドの場合、事前条件付けは楕円形の信頼領域を持つことと同等であるため、スケール不変性を提供します。ただし、行検索の前提条件については、同様の直観が明確ではありません。線の探索はどのような点でスケール不変性に適していますか?実用的な考慮事項はありますか? また、信頼領域メソッドの前提条件に関する質問があります。非常に条件の悪い問題の場合、優れた前提条件は外側のニュートン反復と内側のCG反復の両方を減らすか、後者のみを減らすか?信頼領域は元の空間では楕円体であるため、適切な前提条件子を使用すると、地形によりよく一致する楕円体が得られます。これにより、アルゴリズムがより良い方向に進むように強制することにより、外側のニュートン反復の数を減らすことができると思います。これは正しいですか?

1
Runge-Kuttaメソッドを2次ODEに適用する
オイラー法をルンゲ・クッタの4次に置き換えて、一定の重力ではない自由落下運動(たとえば、地上1万kmからの自由落下)を決定する方法を教えてください。 これまで、オイラー法による簡単な統合を書きました。 while() { v += getMagnitude(x) * dt; x += v * dt; time += dt; } x変数は現在位置、vは速度、getMagnitude(x)はx位置の加速度を返します。 私はRK4を実装しようとしました: while() { v += rk4(x, dt) * dt; // rk4() instead of getMagintude() x += v * dt; time += dt; } ここで、rk4()関数本体は次のとおりです。 inline double rk4(double tx, double tdt) { …

1
積分変換を反転するための数値的方法?
私は次の積分変換を数値的に反転しようとしています: F(y)= ∫∞0yexp[ − 12(y2+ x2)] I0(x y) f(x )d xF(y)=∫0∞yexp⁡[−12(y2+x2)]I0(xy)f(x)dxF(y) = \int_{0}^{\infty} y\exp{\left[-\frac{1}{2}(y^2 + x^2)\right]} I_0\left(xy\right)f(x)\;\mathrm{d}x したがって、与えられたに対して、f (x )を近似する必要が あります。F(y)F(y)F(y)f(x )f(x)f(x) および F (y )は実数かつ正f(x )f(x)f(x)F(y)F(y)F(y)(連続確率分布) は実数で正ですx 、yx,yx,y(大きさです) 私はこれをすぐに行うための非常に厄介で総当たり的な方法を持っています: と一連のポイント上のスプラインを定義します。スプライン化されたポイントの値はランダムサンプリングによって「推測」され、予測されたF (y )が生成されます。私が書いた基本的な遺伝的アルゴリズムは、予測されたF (y )配列と測定されたF (y )配列の差を最小化します。次に、アルゴリズムが収束するf (x )を反転の答えとします。f(x )f(x)f(x)F(y)F(y)F(y)F(y)F(y)F(y)f(x )f(x)f(x) このアプローチは、いくつかの単純なケースではかなりうまく機能しますが、私には面倒で、特に堅牢ではありません。 誰もこの問題を解決するより良い方法についてのガイダンスをくれますか? お時間をいただきありがとうございます! [コンピューターサイエンスに投稿]

3
有限体積の一次風上スキームで非定数係数をどのように扱うべきですか?
保存形式の移流方程式から始めます。 あなたはt= (a (x )u )バツut=(a(x)u)x u_t = (a(x)u)_x ここでは空間に依存する速度であり、uは保存されている種の濃度です。a (x )a(x)a(x)あなたはuu 流束の離散化(流束がメッシュポイント間のセルのエッジで定義される)を与えると、 u t = 1f= a (x )uf=a(x)uf=a(x)uあなたはt= 1h(fj − 12− fj + 12)ut=1h(fj−12−fj+12) u_t = \frac{1}{h}\left( f_{j-{\frac{1}{2}}} - f_{j+{\frac{1}{2}}} \right) 一次風上を使用して、フラックスを次のように近似します。 これは、 ut=1fj − 12= a (xj − 12)あなたj − 1fj + 12= a (xj + 12)あなたjfj−12=a(xj−12)uj−1fj+12=a(xj+12)uj …

1
困難な方程式系を数値的に解く
数値的に解きたいの非線形方程式のシステムがあります。んnn f = (f 1、… 、f n)f(x)= af(x)=a\mathbf{f}(\mathbf{x})=\mathbf{a} f= (f1、… 、fん)x =( x1、… 、xん)f=(f1,…,fn)x=(x1,…,xn)\mathbf{f}=(f_1,\dots,f_n)\quad\mathbf{x}=(x_1,\dots,x_n) このシステムには、取り扱いを特に困難にする多くの特性があります。より効率的にシステムに対処する方法についてのアイデアを探しています。 なぜシステムが難しいのですか? 関数はこれに似ています(もちろん多次元です): 彼らは滑らかな変化の領域で区切られた平らな台地を持っています。2Dでは、1つのに対して次のようなものを想像できます。f私fif_i 一般に、各は、次元超平面の周りの滑らかな変化によって分離された2つのプラトーがあります。 n − 1f私fif_in − 1n−1n-1 このような関数は、導関数がプラトーで実質的にゼロになるため、ニュートンのような方法で処理することが困難です。多次元では、いずれにもf私fif_i n=1プラトーがない領域を簡単に見つけることができません。問題を解決できるとしたら。二分法は場合にうまく機能しますが、複数の次元にうまく一般化できません。n = 1n=1n=1 関数の計算は非常に遅いです。可能な限り少ない反復で根の妥当な近似を得ることができる方法を探しています。 関数はモンテカルロ法で計算されます。これは、それらが計算されるたびに、わずかに異なるランダム値を取得することを意味します。デリバティブは推定が困難です。ルートに十分近づくと、ノイズが支配的になり始め、精度を上げるために平均化を使用する必要があります。理想的には、この方法を同等の確率近似バージョン(たとえば、ニュートン→ロビンスモンロ)に一般化できるはずです。 システムは高次元です。は10〜20の大きさにすることができます。場合、効果的な方法は、おそらく次のようになります。トライによって定義された輪郭追従するととどこが交差参照します。これがどのように高次元に一般化されるかは明らかではありません。n = 2 f 1(x 1、x 2)= 0 f 2(x 1、x 2)= 0nnnn=2n=2n=2f1(x1,x2)=0f1(x1,x2)=0f_1(x_1,x_2) = 0f2(x1,x2)=0f2(x1,x2)=0f_2(x_1,x_2)=0 システムについて他に何を知っていますか? (理論的な結果から)正確に1つのルートがあります。 高原のの値を知っています(どのでも0と1だとしましょう)。 Ififif_iiii xは私をfはI(... …

2
log(x)の高速近似について
少し前に、ライブラリ関数を使用せずにを計算しようとするコードを書きました。昨日、私は古いコードをレビューしていて、それを可能な限り速くするように試みました(そして正しい)。これまでの私の試みは次のとおりです。l o g(x )log(バツ)log(x) const double ee = exp(1); double series_ln_taylor(double n){ /* n = e^a * b, where a is an non-negative integer */ double lgVal = 0, term, now; int i, flag = 1; if ( n <= 0 ) return 1e-300; if ( n * ee < …

2
SVDを安定させるためにどれだけの正則化を追加しますか?
インテルMKLのSVD(dgesvdSciPyを介して)を使用していて、マトリックスの条件が悪い/フルランクではない場合float32と精度を変更すると、結果が大幅に異なることに気付きましたfloat64。結果がfloat32-> float64変更の影響を受けないようにするために追加する必要がある正則化の最小量に関するガイドはありますか? 際、特に、、Iはその参照L ∞ノルムV T Xの Iとの間の精度を変更した場合約1による移動とを。AのL 2ノルムは10 5であり、合計784のうち約200のゼロ固有値があります。A = UD VTA=UDVTA=UDV^{T}L∞L∞L_\inftyVTバツVTXV^{T}Xfloat32float64L2L2L_2あAA10510510^5 上のSVDをやっでλ = 10 - 3は違いワニスを作りました。λ I+ AλI+A\lambda I + Aλ = 10− 3λ=10−3\lambda=10^{-3}

2
フォンノイマンの安定性分析は、非線形有限差分方程式について何を教えてくれますか?
以下の非線形方程式u t + u x + u u x − u x x t = 0 を有限差分法を使って解く論文[1]を読んでい ます。また、フォンノイマンの安定性分析を使用してスキームの安定性を分析します。ただし、作成者が認識しているように、これは線形PDEにのみ適用できます。したがって、著者は非線形項を「フリーズ」することでこれに対処します。つまり、u u x項をU u xに置き換えます。ここで、Uは「あなたt+ uバツ+ u uバツ− Ux x t= 0あなたt+あなたバツ+あなたあなたバツ−あなたバツバツt=0\begin{equation} u_t + u_x + uu_x - u_{xxt} = 0 \end{equation}U Uバツあなたあなたバツuu_xUあなたバツUあなたバツUu_xUUU。」あなたあなたu だから私の質問は2つあります: 1:この方法を解釈する方法となぜそれが機能しない(しない)のか? 2:項をu U x項で置き換えることもできます。ここで、U xは「u xの局所的に一定の値を表すと見なされます」?U Uバツあなたあなたバツuu_xu UバツあなたUバツuU_xUバツUバツU_xあなたバツあなたバツu_x 参考文献 …

1
以下のための反復「ソルバー」
私が次の問題について最初に考えるとは思えないので、リファレンスで満足します(ただし、完全で詳細な回答は常に高く評価されます)。 あなたは対称正定持っていると言う。nは非常に大きいと考えられるため、Σをメモリに保持することは不可能です。ただし、評価することができますΣは、xは任意のため、X ∈ Rのn個。与えられたいくつかのx ∈ R nは、あなたが検索したいのx T Σ - 1のx。Σ∈Rn×nΣ∈Rn×n\Sigma \in \mathbb{R}^{n \times n}nnnΣΣ\SigmaΣxΣx\Sigma xx∈Rnx∈Rnx \in \mathbb{R}^{n}x∈Rnx∈Rnx \in \mathbb{R}^{n}xtΣ−1xxtΣ−1xx^t\Sigma^{-1}x 心に来る最初の解決策は見つけることです(例えば)共役勾配を使用しました。ただし、これは多少無駄が多いようです。スカラーを探すと、R nに巨大なベクトルが見つかります。(つまり、通過せずに直接スカラーを計算する方法を考え出すために、より理にかなっているようだΣ - 1 xと)。このような方法を探しています。Σ−1xΣ−1x\Sigma^{-1}xRnRn\mathbb{R}^{n}Σ−1xΣ−1x\Sigma^{-1}x

1
ヘッセンベルク行列の指数を計算するアルゴリズム
[1]のように、クリロフ法を使用してODEのラージシステムの解を計算することに興味があります。このような方法には、指数関数に関連する関数(いわゆる関数)が含まれます。これは基本的に、Arnoldi反復を使用してクリロフ部分空間を作成し、この部分空間に関数を投影することにより、行列関数のアクションを計算することで構成されます。これにより、はるかに小さいヘッセンバーグ行列の指数を計算する問題が軽減されます。φφ\varphi 指数を計算するアルゴリズムがいくつかあることを知っています([2] [3]とその参照を参照)。行列がヘッセンバーグであることを利用できる指数を計算するための特別なアルゴリズムがあるのだろうか? [1] Sidje、RB(1998)。Expokit:行列指数を計算するためのソフトウェアパッケージ。ACM Transactions on Mathematical Software(TOMS)、24(1)、130-156。 [2] Moler、C。、およびVan Loan、C。(1978)。行列の指数を計算する19の疑わしい方法。SIAMレビュー、20(4)、801〜836。 [3]モーラーC.、およびバンローンC.(2003)。25年後のマトリックスの指数を計算する19の疑わしい方法。SIAMレビュー、45(1)、3-49。

2
ラインサーチで3次と2次の内挿を決定するのに役立ちます
準ニュートンBFGSアルゴリズムの一部としてラインサーチを実行しています。ラインサーチの1つのステップで、3次補間を使用して、ローカルミニマイザーに近づけます。 してみましょうf:R→R,f∈C1f:R→R,f∈C1f : R \rightarrow R, f \in C^1関心の関数です。f ′(x ∗)≈0となるようなを見つけたい。x∗x∗x^*f′(x∗)≈0f′(x∗)≈0f'(x^*) \approx 0 ましょうf(xk)f(xk)f(x_k)、f′(xk)f′(xk)f'(x_k)、f(xk+1)f(xk+1)f(x_{k+1})とf′(xk+1)f′(xk+1)f'(x_{k+1})知られています。また、想定0≤xk&lt;x∗&lt;xk+10≤xk&lt;x∗&lt;xk+10\le x_k<x^*<x_{k+1}。三次多項式Q(x)=ax3+bx2+cx+dQ(x)=ax3+bx2+cx+dQ(x)=ax^3+bx^2+cx+dので、Q(0)=f(xk)Q(0)=f(xk)Q(0)=f(x_k)、Q′(0)=f′(xk)Q′(0)=f′(xk)Q'(0)=f'(x_k)、Q(xk+1−xk)=f(xk+1)Q(xk+1−xk)=f(xk+1)Q(x_{k+1}-x_{k})=f(x_{k+1})と。Q′(xk+1−xk)=f′(xk+1)Q′(xk+1−xk)=f′(xk+1)Q'(x_{k+1}-x_{k})=f'(x_{k+1}) 私は二次方程式を解きます:は、閉形式の解を使用して、求めたx ∗ に対してです。(1):Q′(x∗−xk)=0(1):Q′(x∗−xk)=0(1): Q'(x^*-x_k) = 0x∗x∗x^* 上記は、が(1 )の閉じた形の解をaで割るaで除算する場合を除いて、ほとんどの場合にうまく機能します。f(x)=O(x2)f(x)=O(x2)f(x)=\mathcal{O}(x^2)(1)(1)(1)aaa000 私の解決策を見ていると、それは「小さすぎる」であれば、単純に二次多項式の最小化のための閉じた形のソリューション取るQ 2(X )= B のx 2 + C X + D私はすでに係数の持っているBを、C 、Dへの以前のフィットからQ (X )。aaaQ2(x)=bx2+cx+dQ2(x)=bx2+cx+dQ_2(x)=bx^2+cx+db,c,db,c,db,c,dQ(x)Q(x)Q(x) 私の質問は次のとおりです。立方体に対して2次補間を行うタイミングを調べるにはどうすればよいでしょうか。以下のためのテストへの単純なアプローチ≡ 0は私が探していますので、数値的な理由による悪いです| a | &lt; ε τどこεはマシンの精度ですが、私は良いのかを決定することができないんだτの規模不変だFを。a≡0a≡0a \equiv 0|a|&lt;ϵτ|a|&lt;ϵτ|a| < \epsilon\tauϵϵ\epsilonττ\taufff おまけの質問:失敗した3次近似からの係数使用に数値的な問題はありますか、または係数を計算する適切な方法で新しい2次近似を実行する必要がありますか?b,c,db,c,db,c,d 明確化のための編集: …



2
ラグランジュ乗数空間は数学的な見方では多すぎる
バックグラウンド: ラグランジュ乗数法は、接触問題、材料界面、相変態、剛性拘束、または界面に沿った滑りなど、多くの分野で採用されてきました。 ラグランジュ乗数空間の選択または設計が悪いと、ラグランジュ乗数に振動結果(不安定な問題)が生じることはよく知られています。膨大な量の文献がこの観察を示しており、通常、供給不足状態の偏差によって発生する振動を取り除くためにいくつかの変更または改善が行われました。 質問: XFEMに関する文献を読んでいるとき、以下の議論が赤くハイライトされていて、これは非常に数学的なものです。空間を局所的に解釈または理解する方法は局所的に高すぎるため、結果としてinf-sup条件に違反していますか?貢献してくれてありがとう。

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