• 締切済み

数値計算ライブラリ集の実際の使い方について

Fortran やCでは数多くのソースコードがあり、それらを組み合わせて仕事ができるようになっていると思います。特に連立方程式の求解とかフーリエ変換とか数値積分とか特殊関数とか定型処理に近いものは多くの知見とそれに対応したソースコード群がネットにもあるようです。BLAS, LAPACK, LINPACKとかそれらを先導したドンガラ教授など、いっぱい検索できます。一方で、実際に自分が何か仕事でガウスの消去法程度を使う場合、いつもやるように、ソースプログラム集の本を見てサブルーチンをコツコツと打ち込んで仕事に使うことはまあ、できます。連立方程式も普通の感じ(初等物理に近い問題なので)ですのでそれでもいいのですが、先に書いたようなプロが作ったソースコードでもいいはずです。そこで質問ですが、先のソースコード群からどのように自分の問題に必要なものを選び出すのかという疑問があります。また、どれをダウンロードするのかということもです。例えば、ソースプログラム全体が提供されていて全部をコンパイルするけれどもメインから呼び出すのはそのほんの一部だけというようなことなのでしょうか。 ゼロベース(スクラッチ)からプログラム全体をできるだけ早く構築する、という場合、先のソースコード群は役に立つものでしょうか。使い方のドキュメントを調べ読みしているうちにガウスの消去法のシンプルなコードぐらい打ち込めそうなのですが。やはりプロが作ったソースコードは高速性、堅牢性、柔軟性とかに富んでいるのでしょうが、そこまで必要ない場合はほぼほぼ適当なものでもいいということになるのかなと思いますが。あと、使用するハードウェア、コンパイラなどの環境との関係もあるはずなのですが。つまり、トータルな意味でのこれらのコード群の考え方が私にはわかっていないのです。そのあたりの考え方について教えて頂ければと思います。 長文ですみません。よろしくお願いします。

みんなの回答

回答No.1

商用の場合、基本的に「参考にする」程度しか使えません。 多くのライブラリは「商用利用」に制限や条件を設けています。 例えば「商用利用不可」とか「商用に利用する場合は著作権表示を行なう事」とか。 また、場合によっては、開発の現場で「セキュリティの関係上、第三者が作ったソースコードや、実行プログラムは利用しないこと」と制限している場合があります。 ですので「そのまま取り込む」のはほぼ不可能で >ソースプログラム集の本を見てサブルーチンをコツコツと打ち込んで仕事に使う くらいしか許されていない筈です。 今の時代、下手なライブラリを使うと「無許可で転用した」と騒がれるので、やりにくいです。

関連するQ&A