Intel MKLでHelmholtz方程式とデータ補完 [電子工作・プログラミング]

今や無料で使えてしまうIntelの数値計算ライブラリMKL (Math Kernel Library) のPoisson SolverとData Fitting Funtionsを使ってみました。

前者は簡単な形のLaplace方程式・Poisson方程式・Helmholtz方程式を解けるサービスルーチンで、内部的にはフーリエ変換を使っているよう。確かに波数空間で展開をしてPoisson方程式を解く、というのを大学のころやった気がしますが、理解が追いついていません(が、いまググってみたところ、グリーン関数を使って出した解を計算しているように思えます)。
ソルバーとしては比較的簡単に使えて、結構速いように思えます。ただ、なにぶん問題の制限が強くて。右辺のソース項こそ空間的な分布を持たせられますが、左辺の係数は全領域で一定である必要があります。しかも変数は実数のみ、境界条件はDirichlet条件かNeumann条件のみです。あまりに適用し辛いのですが、メジャーな用途は何になるのでしょうか。座標系として、直交座標の他に球殻上の座標が選べるので、例えば地球上の大気拡散のシミュレーションなどでしょうか。マニアックです。

後者は1次元関数の補完をトライしてみました。Python(のSciPy)だと大変使いやすそうな補完ルーチンがあるのですが、C言語で使えるものは意外と見当たらず、GSLくらいでしょうか。ただ、GSLもSciPyの元ネタも使うのは一見面倒で。ここで、MKLでも用意されていることに気づいたので、使ってみた次第です。やりたいことは確かにできましたが、パラメータの設定が微妙に面倒くさいような…?
でもまぁ、Windows環境下でライブラリのビルドをする手間がないことを思うと、使いやすいのかもしれません。

2月19日25時4分
fartrip
コメント(0)