ちょっと数値解析の練習: 簡単な常微分方程式を相手に
数値解析のための個々の話をつなげるために、ここで一つ、Julia を使って、「通しで」いろいろやってみよう. 対象は、ごく簡単なものだけれども、»
数値解析のための個々の話をつなげるために、ここで一つ、Julia を使って、「通しで」いろいろやってみよう. 対象は、ごく簡単なものだけれども、»
中身の詰まった dense 行列をそのまま sparse 型にしていろいろ計算すると、添字アクセスのせいで処理が重くなるはず…なんだけど、 これを前提として先へ進む前に»
Julia の計算をもっと速く? もちろんコードによるんだけど、数値計算の世界ではプログラムの計算時間の大半(90% を越えることも…)が線形計算にとられ»
Julia では配列の添字は 1 から始まる 1 ことになっていて,しかも変えられない. 1から始まるこのルールは線形代数を始めとする多くの数学の場面で使い勝手»
意外に知られていない, 加速法ってやつについてちょろっと書いとこう. ほんのわずかな計算コストでより良い情報を引き出せる可能性が結構高いオトクな»
さて,sample コード: Euler 法 と同じ問題について、今度は構造保存数値スキームを作ってみるぜ. 数値計算での構造保存ってのは,元の問題が持つ数学»
さて、sample コード: Euler 法 と同じ問題について、Crank-Nicolson スキームを作ってプログラムしてみましょか. CN スキームは、Eul»
Julia の便利なパッケージの一つがこの ForwardDiff. いや~、ありがたやありがたや. なんとこいつは、関数 $f$ を与えると自動微分をしてくれる. 自動微分ってのは、関数»
問題設定 空間変数を $x$, 時間変数を $t$ として、関数 $u(x,t)$ に対する偏微分方程式 \begin{equation} \pdrv{u}{x} = u \pdrv{^2 u}{x^2} \mbox{ } \mbox{ in } \mbox{} \Omega = [0, L] \end{equation} が対象問題. ただし、境界条件はノイマンゼ»