トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

BugTrack-R備忘録/43

R備忘録 /状態空間モデリング/donlp2/その他のメモ

R備忘録 - 記事一覧

数値積分「QUADPACK」

  • 投稿者: みゅ
  • カテゴリ: なし
  • 優先度: 普通
  • 状態: 完了
  • 日時: 2009年09月21日 23時33分44秒

内容

メモ

  • Rとは直接関係無いけどメモ
  • Rにはintegrateという「QUADPACK」ベースの関数があるけど、パフォーマンスを考えて、関数を直接FORTRANで書いてRで呼びたい場合が、ある(かもしれない)
  • そのうちRとリンクさせる予定
    • RのC言語APIにQUADPACKへのインターフェースを発見(笑(2010/03)
    • BugTrack- R備忘録/54の【6.9 Integration】を参照

QUADPACKのインストール

F90SPLIT

$ gfortran -c -g f90split.f90
  • 「f90split.o」ができる.
$ gfortran f90split.o -o f90split
  • で「f90split」を作成

quadpackのライブラリを作る

  • 次に「quadpack.csh」を参考に、quadpackのライブラリを作る.
  • 以下のシェルを用意.「quadpack.csh」という名前にした.
#!/bin/csh
#
mkdir temp
cd temp
rm *
../f90split ../quadpack.f90
#
foreach FILE (`ls -1 *.f90`)
  F90 -c -g $FILE >& compiler.txt
  if ( $status != 0 ) then
    echo "Errors compiling " $FILE
    exit
  endif
  rm compiler.txt
end
rm *.f90
#
ar qc libquadpack.a *.o
  • 実行権限をつけて実行
$ ./quadpack.csh
  • tempの下に「libquadpack.a」というファイルができているので、これを好きなところへ.

a sample problem

  • 次にサンプルを作成する.
  • quadpack_prb.csh」を参考に、コンパイルする.
$ gfortran -c -g quadpack_prb.f90
  • 「quadpack_prb.o」ができる.
$ gfortran quadpack_prb.o -L. -lquadpack -o quadpack_prb
  • 「quadpack_prb」ができる
  • 実行
$ ./quadpack_prb

コメント