計算科学

科学的問題を解決するためにコンピュータを使用する科学者のためのQ&A

2
ガウスザイデル、実際のSOR?
SORについて知ったとき、それは主に反復法の最初の例の1つとして与えられ、その後、私が最終的に使用する反復法はクリロフ部分空間法になります。 Gauss-SeidelやSORのような反復法のいずれかが実際に使用されたことはありますか?デモ以外の目的でそれらを「真剣に」使用する実際のパッケージを知っていますか?

1
関連ルジャンドル関数の2次導関数
高速多重極法を使用したラプラス方程式の解の一部として、関連する第1種ルジャンドル関数の 2次導関数を計算したいと思います。具体的には、私はCの実装、または自分で関数を記述するために使用する正しい繰り返し関係を探しています。 私は再発の関係を探してみて、これを見つけましたが、それが正しくないのではないかと思います。 また、これらのようなすぐに使用できる関数を検索しようとしましたが、関連する関数の1次導関数の関数だけに出くわしました。2番目の関数ではありません。 誰かが私を正しい方向に向けることができれば、私は本当に感謝します!どうもありがとう!

2
PDEの結合システムを分離する効果
私は以前にやや似たような質問をしましたが、おそらくあまりに具体的すぎて誰も本当に答えることができなかったかもしれません。これが私が苦労している質問のもう少し一般的なものです。次のシステムを考えてみましょう: ∂ U 2- ∇ ⋅ (D1(u2)∇ U1)= ∇ ⋅ F1(u2)−∇⋅(D1(u2)∇u1)=∇⋅f1(u2) -\nabla\cdot(D_{1}(u_{2})\nabla u_{1}) = \nabla\cdot\mathbf{f}_{1}(u_{2}) ∂あなた2∂t+ ∇ ⋅ F2(u1、あなた2)- ∇ ⋅ (D2(u2)∇ U2)= 0∂u2∂t+∇⋅f2(u1,u2)−∇⋅(D2(u2)∇u2)=0 \frac{\partial u_{2}}{\partial t} + \nabla\cdot\mathbf{f}_{2}(u_{1},u_{2}) - \nabla\cdot(D_{2}(u_{2})\nabla u_{2}) = 0 BCの一般的なセットを想定: D I ∇ U I ⋅ N = U 、I 、N、あなた私= u私、D、オンΓDui=ui,D,onΓD u_{i} = u_{i,D}, …

3
多くの小さな行列に対する行列-ベクトル乗算の最適化
私は行列-ベクトル積の高速化を検討していますが、私が読むすべては非常に大きな行列に対してそれを行う方法についてです。私の場合、行列は小さいですが、実行しなければならない回数は非常に多いです。 これを最適化する方法はありますか?小さな行列と小さなベクトルで構成される1つの大きなベクトルから非常に大きな対角ブロック行列を作成し、大きな行列ベクトルの高速化の手法を使用する方が高速でしょうか?または、グローバルマトリックスとベクトルを設定すると、そこでメリットが失われますか?

1
循環三重対角行列を使用した線形方程式の解法
私の教科書にこの問題があります: 形である環状三対角行列、線形方程式系を解くための効率的なアルゴリズムを提案する: 行と列を交換せずに。複雑さを推定します。⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢a1c20⋮0d2b1a2⋱⋮⋯00b2⋱cn − 2⋯⋯⋯0⋱an − 2cn − 100⋮0bn − 2an − 1cんd10⋮0bn − 1aん⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[a1b10⋯0d1c2a2b20⋮00⋱⋱⋱0⋮⋮⋮cn−2an−2bn−200⋯⋯cn−1an−1bn−1d20⋯0cnan]\begin{bmatrix} a_1&b_1&0&\cdots&0&d_1\\c_2&a_2&b_2&0&\vdots&0\\0&\ddots&\ddots&\ddots&0&\vdots\\\vdots&\vdots&c_{n-2}&a_{n-2}&b_{n-2}&0\\0&\cdots&\cdots&c_{n-1}&a_{n-1}&b_{n-1}\\d_2&0&\cdots&0&c_n&a_n\end{bmatrix} そして、私はこれにどのように取り組むか知りません。クラシック除去は非常に効率的に働くだろうこの行列との時間が、LETだと言うが、私は排除したいときに、問題があるcを2と1秒の行に追加され-st行- C 2O (n )O(n)O(n)c2c2c_{2}111のとき1=0。私はそれを行うことができない、としても1≠0、同じ問題は、このproccessの途中のどこかで発生する可能性があります。さらに、問題のテキストに記載されているように、行や列を入れ替えることは許可されていないため、このアプローチを何らかの方法で修正できるかどうかはわかりません。誰か助けてもらえますか?− c2a1⋅ [ a1b10⋯0d1]−c2a1⋅[a1b10⋯0d1]\frac{-c_{2}}{a_{1}}\cdot \begin{bmatrix} a_1&b_1&0&\cdots&0&d_1 \end{bmatrix}a1= 0a1=0a_1=0a1≠ 0a1≠0a_1\neq 0


1
F(x)= 0対|| F(x)|| ^ 2->分
F(x)=0.F(x)=0. F(x) = 0. ∥F(x)∥2→min‖F(x)‖2→min \|F(x)\|^2 \to\min x^x^\hat{x}F(x)=0F(x)=0F(x)=0 問題は、どの処方が特定の問題により適しているかをアプリオリに教えられるかどうかです。以前にこれに取り組んだことはありますか? 一例 関数 F(x、y)= \ begin {pmatrix} x ^ 3-3x y ^ 2-1 \\ 3 x ^ 2 y-y ^ 3 \ end {pmatrix}について考え ます。 F(x,y)=(x3−3xy2−13x2y−y3).F(x,y)=(x3−3xy2−13x2y−y3). F(x, y) = \begin{pmatrix} x^3 - 3x y^2 - 1\\ 3 x^2 y - y^3 \end{pmatrix}. …

3
線形代数演算に使用するGPUライブラリ
私が持っているコードを高速化するGPUライブラリを探しています。その主要な「高性能」領域には、特異値分解、QR分解、固有値、固有ベクトル計算があります。CuBLAS、MagmaなどのツールでNvidiaのWebサイトを確認しましたが、Cudaでコードを記述したくありません。 SVD、QRなどのメインCコードから「呼び出す」ことができるライブラリがあり、GPUで計算が行われるとすばらしいと思います。つまり、要約すると、集中的な線形代数演算が加速される通常のCコードがあります。これを行うことができるオープンソース(できれば)ライブラリを知っている人はいますか? ありがとう。

2
パラメトリック行列の固有ベクトルの連続性
私は次元の行列H(→ K)ベクターパラメータに応じ→ Kを。んnnH^(k⃗ )H^(k→)\mathrm{\hat{H}}(\vec{k})k⃗ k→\vec{k} ここで、固有値ルーチンは固有値を特定の順序で返しません(通常は並べ替えられます)が、固有値を→ kの滑らかな関数としてトレースしたいと思います。固有値は特定の順序で返されていないので、ちょうどトレースE Iを、いくつかの特定のインデックスのためのI ∈ { 1 、。。、n }は、以下の図に示すように、滑らかではない線のセットを返しますEiEiE_ik⃗ k→\vec{k}EiEiE_ii∈{1,..,n}i∈{1,..,n}i\in\{1,..,n\} k⃗ k→\vec{k}k⃗ +dk⃗ k→+dk→\vec{k}+d\vec{k}vi(k⃗ )⋅vj(k⃗ +dk⃗ )∼δpipjvi(k→)⋅vj(k→+dk→)∼δpipjv_i(\vec{k})\cdot v_j(\vec{k}+d\vec{k})\sim \delta_{p_i p_j}pi,pj∈π({1,...,n})pi,pj∈π({1,...,n})p_i, p_j\in \pi(\{1,...,n\})ππ\pi つまり、固有ベクトルの連続性を追跡します。 ただし、数値ルーチンではいくつかの問題が発生します。私が使用する点の特定の小さなサブセットでは、近くの点にあるいくつかの固有ベクトルがほとんど正規直交ではありません。私の最初の疑いは、それらの固有ベクトルが縮退した固有値に対応していることでしたが、常にそうであるとは限りません。 dk⃗ dk→d\vec{k} そのようなことが起こるのを許されていますか?または、数値ルーチンが連続固有ベクトルを返すことを保証することは可能ですか?私が使用するルーチンはnumpy.linalg.eighで、これはLAPACKのzheevdのインターフェースです。 (あなたの中の物理学者は私がバンド構造について話していることを認識するでしょう)

1
Runge Kutta Fehlbergソルバーでエラーが発生するのはなぜですか?
私の現在のプロジェクトは、C ++での何千ものODEのソリューションを含むタンパク質フォールディングモデルの再プログラミングです。完全にGPUで実行するソルバーを作成しているので、私はいくつかの停止と開始を進めてきました。ようやく統合しましたが、固定ステップサイズh = .001のRKF45アルゴリズムの5次解を使用してdC / dt = -Cを解こうとすると、e ^ {-tの計算値から決定が得られます}は、10 ^ {-12}程度のグローバルエラーが予想される場合、10 ^ {-4}程度です。 これが発生しているのは、適応ステップサイズと4次と5次の両方のソリューションを使用したエラー制御を使用していないためですか?私の考えは、適応アルゴリズムは4次と5次の違いを推測し、基本的には5次を「正しい答え」として扱うため、その答えを使用してインテグレーターを試してみるというものでした。 編集: それ以来 グローバルエラー=(ポイント数)*(ローカルエラー) そして ローカルエラー= h ^ O ここで、hはステップサイズ、Oは次数です、私は計算します O = ln(グローバルエラー/ポイント数)/ ln h 私が正しいと思う方法と回答で提案された方法の両方で次数分析を行うと、次の結果が得られます。 Number of Points h Global Error My Way The Answer's Way 10 0.1 2.89E-06 6.539E+00 20 0.05 7.09E-08 6.495E+00 5.350E+00 …

2
ノルムの不等式制約に対処する方法
(凸)最適化タスクを解決したい: 以下の2つの制約を受ける R ‖ X I ‖ - X T I Z ≤ 0maxr,zrmaxr,zrmax_{r,z}\quad r ‖ Z ‖ ≤ 1 R ≥ 0r∥xi∥−xTiz≤0∀i=1,…,Nr‖xi‖−xiTz≤0∀i=1,…,Nr\|x_i\| - x_i^Tz \leq 0 \qquad \forall i=1,\dots, N ∥z∥≤1‖z‖≤1\|z\| \leq 1 r≥0r≥0r\geq0 スカラーであり、 zはベクトルであり、 X 私のは、同じ次元のベクトルであり、 ‖ ⋅ ‖は簡単のEuClあります。規範。実行可能領域は空ではないと想定できます。 これを解決する簡単な方法はありますか?私はなしであるため、これは簡単なはずだと思う ‖ Z ‖ ≤ 1制約これは単なる線形プログラムです。私にソフトウェアパッケージを紹介する前に、この種のタスクに役立つ一般的なアプローチについてのヒントを教えてください。 ありがとうDGrrrzzzxixix_i∥⋅∥‖⋅‖\|\cdot\|∥z∥≤1‖z‖≤1\|z\|\leq 1

1
PDEのシステム用の有限差分行列の自動生成
解くPDEのシステムがあるとします。少なくとも簡単にするために、それが時間に依存せず、(x、y)空間の長方形グリッド上で解決された準線形(その導関数では線形)であり、境界条件がすべて指定されていると仮定しましょう。私の質問はより一般的ですが、ここから始めましょう。 2つの従属変数、とv (x 、y )がある場合があります。一般的な方程式は次のような形になります。u (x 、y)あなた(バツ、y)u(x,y)v (x 、y)v(バツ、y)v(x,y) a (x 、y)Yx x+ b (x 、y)Yyy+ c Yx y+ d(x 、y)Yバツ+ e (x 、y)Yy= f(x 、y、Y)a(バツ、y)Yバツバツ+b(バツ、y)Yyy+cYバツy+d(バツ、y)Yバツ+e(バツ、y)Yy=f(バツ、y、Y) a(x,y) Y_{xx} + b(x,y) Y_{yy} + cY_{xy} + d(x,y) Y_x + e(x,y) Y_y = f(x, y, Y) ここで、からeまでのすべての関数は2x2行列、fは2x1行列、YはaaaeeefffYYY Y(x 、y)= (u (x 、y)v (x …


2
既知のポテンシャルサーフェス上の最小パス
グリッドで既知の潜在的なサーフェスの最小値の間の最小パスを検索しています。 (ソース:http : //www.math.nus.edu.sg/~matrw/string/) パス上の任意の点は、パスに垂直なすべての方向で最小になる可能性があります。 このパスを計算するSciPyメソッドまたは他のPythonパッケージはありますか?未知の表面を検索できる方法を探しているのではありません。 編集:障壁が最も低いパスを検索しています。

1
運動反応を伴う陰的有限差分熱方程式のMatlab解
私は、陰的有限差分法を使用して、木材シリンダー内の熱伝導をモデル化しようとしています。円筒形と球形に使用している一般的な熱方程式は次のとおりです。 ここで、pは形状係数です。円柱の場合はp = 1、球の場合はp = 2です。境界条件には、表面での対流が含まれます。モデルの詳細については、以下のMatlabコードのコメントを参照してください。 メインのmファイルは次のとおりです。 %--- main parameters rhow = 650; % density of wood, kg/m^3 d = 0.02; % wood particle diameter, m Ti = 300; % initial particle temp, K Tinf = 673; % ambient temp, K h = 60; % heat transfer coefficient, W/m^2*K % …

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