• 締切済み

フリーの数値計算ライブラリ

皆さん,こんにちは。 世の中には,MKL,IMSL 等,数値計算ライブラリがいろいろあるようです。でも,有料なので個人で使うにはちょっと敷居が高いです。そこで,フリーの数値計算ライブラリを探しています。 線形代数ライブラリとしては,MTL/ITL を見つけました。その他,特殊関数,非線形方程式等まで含めたものは,まだ見つけられていません。liboctave は Windows で使うのは面倒臭そうなので,却下したいです。また,言語は C++ が希望ですが,Fortran 以外なら何でも構いません。Excel でも,XNumber や MATRIX なんていうのがあるみたいですね。 ちなみに,僕自身はこのようなライブラリを使ったことがないのですが,今後はこういったものをどんどん利用して作業を楽にしたいと思っています。 皆さんが使われている,お勧めの数値計算ライブラリを教えて下さい。よろしくお願いします。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

個人的には「数値計算するんだったら Fortran は避けて通れない道」だと思う....

関連するQ&A

  • 数値計算ができるようになりたいのですが…

    現在、大学院修士課程1年です。 将来はアカデミックな研究者を目指しています。 今行っている研究で、非線形方程式(多変数)の解を数値計算を用いて得たいと考えています。 今まで数値計算はやったことがないのでこれから勉強をはじめるところなのですが、少し悩んでいます。 今は数値計算に便利なMATLABのような市販ソフトがあることが分かっており、勉強すれば短時間で実際に研究につかうことができそうです。 しかし、やはり研究者を目指すなら、そのようなソフトに頼らず、しっかりと数値計算の理論を理解したうえで、FORTRANなどで自らプログラムを書くべきなのでしょうか。 良いアドバイスがありましたらよろしくお願いします。

  • fortranプログラミングでの数値計算と可視化環

    現在fortran77により数値計算し、可視化する環境を探しています。素人なので、アドバイス頂ければ幸いです。 背景:matlabで既にプログラム済みファイルを、fortranで書き直したい。プログラムは数値計算をしてその結果をグラフ(2D,3D)で可視化する物。matlab環境では計算時間がかかる為、fortranで時間短縮したい。 環境:Win XPへ所有しているマイクロソフトビジュアルFortran77(Ver調査中。7年くらい前の物)をインストールして、それを使おうと考えています。 疑問:どうやって計算結果を可視化するか?ポストプロセッサーとして、gnueplotやmatlabを使用するのは可能だと思うがそれが一番効率的なのでしょうか?ビジュアルFortranには可視化ライブラリみたいな物があるのでしょうか? 不足情報あればアップいたします。初心者ですが、アドバイスを宜しくお願いします。 追伸:研究室の過去の資産の関係でFortranを考えています。多言語でのメリットもあれば教えて頂たいですが、基本古い言語使用に対する中傷「のみ」はご遠慮下さい。

  • CとFORTRANの計算速度はどちらが速いですか?

    マシンスペックは同じとして、OSはUNIXであった場合、科学技術計算(微分方程式を解いたり、行列を対角化したり。。。)の計算速度はどちらが速いですか? 普通、科学計算というとFORTRANを使っていますが、これはライブラリの遺産が多いからだと思いますが、実際のところFORTRANとCではどちらが計算速度が速いのでしょうか。

  • 連立方程式 未知数より方程式の数が多いとき

    線形代数での連立方程式についてです。 今現在線形代数を勉強しているのですが、未知数より方程式の数が多いときはどうなるのでしょうか? 解は一つに定まるか不定になる思うのでしょうか。。。。 なぜなら Guass elimination で計算すると、たとえば (1) (2) 1 2 | 3 1 2 | 3 0 1 | 2 0 1 | 2 0 0 | 0 0 0 | 2 (1)のような場合だと解が一つに定まり、(2)なら不定だになると思うからです。 しかし、ネットで検索すると以下のサイトで、”方程式の個数が未知数の個数よりも多い連立1次方程式は,一般には解が存在しない.”とありました。 http://www.geisya.or.jp/~mwm48961/linear_algebra/simul_eq1.htm なぜでしょうか?

  • 非線形偏微分方程式の数値解法(差分法)について

    非線形偏微分方程式(具体的にはKdV方程式)を数値的に解こうとしていますが、 式の立て方が分かりません。 漸化式のように次々と値を求めていけば良いのは分かるのですが、 Web上にある差分法の解説はどれも移流方程式のような、1階の微分方程式を例に上げたものあばかりで、KdV方程式のように3階微分が入った場合、どのようにそれを応用すれば良いのでしょうか。 例えば、Lax-Wendroff scheme( http://en.wikipedia.org/wiki/Lax–Wendroff_method ) を用いてKdV方程式を解く場合、どのような式で計算すれば良いのでしょうか。 ご存知の方がいらっしゃれば教えてください。

  • Unix上のCで

    有名なよく使われている科学計算用ライブラリは何でしょうか? 科学計算用ライブラリとは 連立一次方程式 行列演算(固有値、逆行列) n次多項式の根 数値積分 などです

  • Fortranの導入について質問

    以下のようなプログラムを作ろうと思い、Fortranを導入しようか考え中です。 1.実験データ(ヒストグラムみたいな形)のテキストデータを読み込み、XY座標にプロットする。 2.適当な曲線で、ヒストグラムの山にフィッティングさせて、その山の面積を測る。 3.面積とその他のパラメーターから数値計算をする。 というのが概略です。 面積を測るときに積分しますが、簡単にプログラムを書けるのでしょうか? プログラミングの経験は、Visual Basicを使ったことがあるだけです。 また、2元2次方程式とか(線形の)簡単に解けますか? 以上の点で、回答をお願いいたします。 よろしくお願いいたします。

  • 数値解析の手法(差分法)について

    現在、とある2元の1階偏微分方程式(解はu,vでそれぞれ右と左に進行する波)を数値解析によって解こうと考えています。 数値解析の手段として、差分法がよく用いられると思いますが、 現在、私は、場所に関してはuは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って解いています。 ネットでは場所に関しては中心差分、時間に関してはルンゲ=クッタやリープフロッグなどが 使われていることが多く、私もこの2つを用いて解いてみました。 偏微分方程式には線形項が含まれていたため、 線形問題に対する制約であるΔt/Δx << 1は最低満たすように刻み幅をいろいろ取り、 計算時間も辞さず計算機を動かしてみましたが、 ノイズが消えず、解析解に限りなく近づくには至りませんでした。。 Δt/Δx=0.0001なども試したのですが・・・ そこで、諦めて違う差分法を試し、 場所に関して、uは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って見たところ、 Δt/Δx=0.01程度で解析解に近い、なかなか精度の良い数値解を得ることが出来ました。 2次の差分では上手くいかず、1次の差分だとわりかし上手くいく・・・ 精度的には中心差分やルンゲ=クッタなどの方がいいと思うのですが・・ 正直不思議でなりませんでした。。。 最初に試した差分法のコードミスかと思い、何回もコードを確認し直しましたが、 やはり解析解に近づくには至りませんでした。 こんなことってあるのでしょうか?? 差分法でも場合によって使い分ける必要があるということでしょうか・・? その場合分けするときの指標など、知っておられる方、教えて頂けると助かります。 問題によって

  • プログラム言語でポストスクリプトを操作する方法

    Fortran ,Cで科学技術系のポストスクリプトの作図をすることを考えています。 1.今回については計算が作成した出力ファイルを受けて外部のグラフソフトを立ち上げるのではなく、プログラム言語でコントロールしたいです。 2.PSPLOTというライブラリを使ってやっておりましたが、コンパイラをintel fortranを2015年版に更新したら動作しなくなりました。http://cnso.nova.edu/psplot/ 3.PGPLOTというライブラリは、Windows10でのウィルス対策ソフトが起動してダウンロードしたら消されます。ウィルス対策ソフトとしては強引な動作だなと思いますが。PGPLOTがよいというなら、何としてでも入手しますが。いかがでしょうか。 4.ポストスクリプトはそのもの自体がテキストなのでPSPLOTやPGPLOTのライブラリはファイルを開いてwriteとかprintとかでテキストを出力していると思います。とすると、ライブラリなしでも可能なのですが、それを調べる時間の投資は避けたいと思っています。 ポストスクリプトはテキストっぽい処理なのでコンパイラがが変わったぐらいで動作しなくなるものかなと思いますが。またPGPLOTはライセンス設定まであるので利用についてちょっと敷居があります。 以上のようなことなのですが、ポストスクリプトを出力するfortranのライブラリでよいものがありましたら教えて頂きたいのですが。 よろしくお願いします。

  • 線形代数の3次元空間での法線ベクトル、平面の方程式

    線形代数の、3次元空間での法線ベクトル、平面の方程式の問題を教えて下さい この問題が分かりません 3 次元空間において次の問いに答えなさい. (1) 原点を含む法線ベクトル 1   2 -1 の平面S の方程式を求めなさい (2) 点(4, 5, 2) から平面S に垂線Lを下ろす. 直線Lの方程式とLとS の交点を求めなさい (3) 直線Lを含み点(0, 0, 0) も含む平面の方程式を求めなさい という問題です。皆さんお願いします 教えて下さい

専門家に質問してみよう