フォワードr2c変換中に保持される入力ベクトルをpyFFTW(FFTWのラッパー)に強制する可能性があるかどうかを知りたいです。
少なくとも元の FFTWでは、FFTW_PRESERVE_INPUTがデフォルトのオプションのようです (こちらのアルゴリズム制限フラグを参照してください: http://www.fftw.org/doc/Planner-Flags.html ) 。
pyFFTW のFFTW.__call__()を使用すると、いくつかのフラグを渡すことができますが、「FFTW_DESTROY_INPUT」のみがここにリストされています: http://hgomersall.github.io/pyFFTW/pyfftw/pyfftw.html#pyfftw.FFTW
ソース コードのファイルbuilders/builders.pyには、少し恐ろしいステートメント (166 行目) があるため、おそらくドキュメントの誤りだけではありません。
overwrite_input: 変換中に入力配列を上書きできるかどうか。
さらに、関数_Xfftnの定義のファイルbuilders/_utils.pyのコードでは、destory フラグのみが存在します。
if overwrite_input:
flags.append('FFTW_DESTROY_INPUT')
究極の質問は、FFTW_PRESERVE_INPUT を pyFFTW で渡すことができないことを知っている場合、元の FFTW ではこのフラグ FFTW_PRESERVE_INPUT がデフォルトであるという事実に少なくとも依存できますか? 上記のコメントを思い出してください。
$ rpm -q fftw
fftw-3.3.4-6.fc23.x86_64
>>> pyfftw.__version__
'0.10.1