0

多くの便利なサブルーチンを含む fortran ファイルがあり、f2py を使用して Python インターフェイスを作成したいと考えています。

この問題は、一部の fortran サブルーチンが NAG ライブラリ (c06ebf という名前) から FFT サブルーチンを呼び出すために発生します。Python にインポートすると、「undefined symbol: co6eb​​f」という警告が生成されます。

Fortran サブルーチン内で FFT を実行し、f2py を使用してそこから Python インターフェイスを作成できる他の方法はありますか?

4

1 に答える 1

0

この問題は、次の方法で解決されます。

  1. 商用 FFT ライブラリが呼び出されるすべてのインスタンスは、無料の FFT ライブラリ (この場合は FFTW3) への呼び出しに置き換えられます。もちろん、' include "fftw3.f" ' は必要に応じて fortran サブルーチンの上に配置されます。

  2. 拡張モジュールは f2py を使用して作成されます。1 行目で署名ファイルを作成し、2 行目で拡張モジュールをコンパイルします。プロセスで外部ライブラリをリンクしたことに注意してください。これは以前に行われなかったため、前述の問題が発生しました。

    f2py -m splib -h splib.fpy splib.f
    f2py -c splib splib.f -lfftw3

于 2013-02-12T10:59:30.063 に答える