TVD法のうち、流束制限関数に関して、ソースを晒したいが、まとまってないので、躊躇してます。
そのうちに。QUICK法とかLaxWendroff法とか、今日ではあまり使わないかもしれませんが、非常に勉強になります。
スキームはこだわりを持って使いたいものですね。
「解ければ何でも良いじゃん!」
はちょっと、バカすぎます。
その場合、1次精度のみでロバスト性を求めるだけで良くて、ぼーっと格子点が増やせるハードが出てくるのを待っているだけです。
CIP法(CSL系)が一番好きですが、既存のコードに対して、フラクショナルステップを使って、移流項のみ改善したい場合は、既存のオイラリアンのスキームの方が良いみたいですね。
ゼロから書くなら、CIP法+その他の項があれば完全陰解法にします。
ロバストかつ高精度。
2013年6月22日土曜日
2013年6月8日土曜日
C/C++
C/C++は書き方がたくさんあります。
Better Cとして。
C with classesとして。
STLをふんだんに使って。
数値解析としては、実行が速くて、可読性に優れ、修正しやすいものが好まれると思います。速度はfortranとC/C++がトップ集団かと思います。
ただし、可読性や修正のしやすさはイマイチ(独断)です。
いや、可読性はFortranであれば、素直に読んで行けば必ずわかるはずです。
時間はめちゃくちゃかかりますが・・・。Cはポインタの概念、C++であればオブジェクト指向の実装方法が分ってないといくら読んでも次に進みません。
解析のコードを0から作るとなると、一旦、ベースの部分をスクリプト言語で書いてから移植するのが良いんでしょうね。
VBAは邪道ですが、結果の確認や出力も簡単なのでオススメですよ。
簡単なGUIも簡単に使えますし。
その後、高速に実行できる言語に移植します。
数値解析に依存しない言語にしたいならC/C++でしょう。
なんかソース書く書く言っておきながら晒せてないです。
済みません。
Better Cとして。
C with classesとして。
STLをふんだんに使って。
数値解析としては、実行が速くて、可読性に優れ、修正しやすいものが好まれると思います。速度はfortranとC/C++がトップ集団かと思います。
ただし、可読性や修正のしやすさはイマイチ(独断)です。
いや、可読性はFortranであれば、素直に読んで行けば必ずわかるはずです。
時間はめちゃくちゃかかりますが・・・。Cはポインタの概念、C++であればオブジェクト指向の実装方法が分ってないといくら読んでも次に進みません。
解析のコードを0から作るとなると、一旦、ベースの部分をスクリプト言語で書いてから移植するのが良いんでしょうね。
VBAは邪道ですが、結果の確認や出力も簡単なのでオススメですよ。
簡単なGUIも簡単に使えますし。
その後、高速に実行できる言語に移植します。
数値解析に依存しない言語にしたいならC/C++でしょう。
なんかソース書く書く言っておきながら晒せてないです。
済みません。
2013年6月7日金曜日
C/C++
数値解析をやる人間(主に科学技術計算)にとって、C/C++のメモリ管理だと思ってます。普通やれよ!とエキスパートに激怒されそうですが、
Fortanは余気にせず、計算アルゴリズムの組み合わせに集中できるところだと思います。
ただし、好きか嫌いかは別。ポインタを理解すれば、あらゆることが出来ると勝手に思ってます。今のところ、第1言語はC/C++、第2言語はPython,
第3言語はRuby。
一番はLISPを理解することだと思います。如何せん「LISPER」です。このように言える人は良い意味で相当マニアックです。
GPGPUならC/C++ですね。組み込みならCになるかと思います。
0から作るのはあまりないですが、修正を掛ける場合は、Fortran,
C/C++ですね。
新規のウェブアプリなら、PHPとかRailsになるんでしょうね。
Fortanは余気にせず、計算アルゴリズムの組み合わせに集中できるところだと思います。
ただし、好きか嫌いかは別。ポインタを理解すれば、あらゆることが出来ると勝手に思ってます。今のところ、第1言語はC/C++、第2言語はPython,
第3言語はRuby。
一番はLISPを理解することだと思います。如何せん「LISPER」です。このように言える人は良い意味で相当マニアックです。
GPGPUならC/C++ですね。組み込みならCになるかと思います。
0から作るのはあまりないですが、修正を掛ける場合は、Fortran,
C/C++ですね。
新規のウェブアプリなら、PHPとかRailsになるんでしょうね。
2013年5月22日水曜日
2013年5月21日火曜日
2013年5月13日月曜日
登録:
投稿 (Atom)