私はまだPythonにはかなり慣れていないので、この質問がばかげている場合はご容赦ください。Googleで答えを見つけることができませんでした...
私は自分のコードで PyFFTW を使用しています。これには、変換元/変換先の 2 つの変数 (ソース/宛先) を渡す計画段階があります。その後、FFT を呼び出すと、これらの変数が計画段階で配置された正確なメモリ空間で動作します。したがって、これらの 2 つの変数のメモリ内の場所が変わらないように、変数に対して実行されるすべての操作を実行する必要があります。標準の数学演算子に対してこれを行う演算子*=
、などを見つけました。+=
ただし、私のプログラムでは、関数を変数に適用する必要があり、変数は同じメモリ位置に返されます。これを行う方法?!
最初は次の方法でスライスを使用しました。
a[:] = func(a)[:]
ただし、これは非常に遅いことに気付きました (私のコードは約 10% 遅いです)。では、これについてどうすればよいか知っている人はいますか?
どんな助けでも大歓迎です。前もって感謝します!