FFTW库的Python接口
项目描述
在Python中计算快速傅里叶变换。
示例
以下代码片段显示了如何计算64个样本的任意数组的正向傅里叶变换
>>> from fftw.fftw import Plan >>> import numpy >>> input_array = numpy.arange(64, dtype=numpy.complex) >>> plan = Plan(input_array, output_array=numpy.empty_like(input_array)) >>> result_array = plan() >>> print(input_array) [ 0.+0.j 1.+0.j 2.+0.j 3.+0.j 4.+0.j 5.+0.j 6.+0.j 7.+0.j 8.+0.j 9.+0.j 10.+0.j 11.+0.j 12.+0.j 13.+0.j 14.+0.j 15.+0.j 16.+0.j 17.+0.j 18.+0.j 19.+0.j 20.+0.j 21.+0.j 22.+0.j 23.+0.j 24.+0.j 25.+0.j 26.+0.j 27.+0.j 28.+0.j 29.+0.j 30.+0.j 31.+0.j 32.+0.j 33.+0.j 34.+0.j 35.+0.j 36.+0.j 37.+0.j 38.+0.j 39.+0.j 40.+0.j 41.+0.j 42.+0.j 43.+0.j 44.+0.j 45.+0.j 46.+0.j 47.+0.j 48.+0.j 49.+0.j 50.+0.j 51.+0.j 52.+0.j 53.+0.j 54.+0.j 55.+0.j 56.+0.j 57.+0.j 58.+0.j 59.+0.j 60.+0.j 61.+0.j 62.+0.j 63.+0.j] >>> print(result_array) [ 2016. +0.j -32.+651.374964j -32.+324.9014524j -32.+215.72647697j -32.+160.87486375j -32.+127.75116108j -32.+105.48986269j -32. +89.43400872j -32. +77.254834j -32. +67.65831544j -32. +59.86778918j -32. +53.38877458j -32. +47.89138441j -32. +43.14700523j -32. +38.99211282j -32. +35.30655922j -32. +32.j -32. +29.00310941j -32. +26.26172131j -32. +23.73281748j -32. +21.38171641j -32. +19.18006188j -32. +17.10435635j -32. +15.13487283j -32. +13.254834j -32. +11.44978308j -32. +9.70709388j -32. +8.01558273j -32. +6.36519576j -32. +4.7467516j -32. +3.15172491j -32. +1.57205919j -32. +0.j -32. -1.57205919j -32. -3.15172491j -32. -4.7467516j -32. -6.36519576j -32. -8.01558273j -32. -9.70709388j -32. -11.44978308j -32. -13.254834j -32. -15.13487283j -32. -17.10435635j -32. -19.18006188j -32. -21.38171641j -32. -23.73281748j -32. -26.26172131j -32. -29.00310941j -32. -32.j -32. -35.30655922j -32. -38.99211282j -32. -43.14700523j -32. -47.89138441j -32. -53.38877458j -32. -59.86778918j -32. -67.65831544j -32. -77.254834j -32. -89.43400872j -32.-105.48986269j -32.-127.75116108j -32.-160.87486375j -32.-215.72647697j -32.-324.9014524j -32.-651.374964j ]
安装
要求
以下依赖项是构建、运行和测试该软件包所必需的
setuptools
pkgconfig
numpy
cffi
nose
需要安装FFTW库。它应该可以通过pkg-config调用进行发现
$ pkg-config --libs fftw3
支持使用PKG_CONFIG_PATH进行本地或非系统安装位置的安装
$ export PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig $ pkg-config --libs fftw3
使用pip
安装该软件包的推荐方法是使用pip
$ pip install fftw-cffi
使用setup.py
此方法适用于pip不可用的环境或用于测试软件包的修改
$ python setup.py install
贡献
指南
开发团队欢迎社区对软件包的反馈、代码和增强建议。请考虑打开一个问题或通过pull-request提交补丁以包含到代码库中。对于代码贡献,请为每个新功能提供适当的测试用例,并验证完整的测试套件是否成功运行。
运行测试
如果修改了绑定,则应首先使用以下命令重建CFFI模块
$ python setup.py build_ext --inplace
在运行测试套件之前
$ python setup.py nosetests
许可证
fftw-cffi源代码根据新BSD许可证的条款发布。版权信息可以在附带的LICENSE文件中找到。
需要单独安装FFTW库。可以从官方主页下载源代码,并按照相应README文件中的说明进行安装。FFTW库采用GPL版本2或更高版本授权。
项目详情
关闭
fftw-cffi-0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f103d60fac0ef5fa56f96c14badcdebc7a8efa08f603afcb4353e3143552bea |
|
MD5 | f0bf96acb97acafdb1d190c7403087c1 |
|
BLAKE2b-256 | da2e066d3396550084036acbf193360b7c85c110808c0aea17ab690e442c27af |