## ``mkl_fft`` -- a NumPy-based Python interface to Intel (R) MKL FFT functionality
[![Build Status](https://travis-ci.com/IntelPython/mkl_fft.svg?branch=master)](https://travis-ci.com/IntelPython/mkl_fft)
`mkl_fft` started as a part of Intel (R) Distribution for Python* optimizations to NumPy, and is now being released
as a stand-alone package. It can be installed into conda environment using
```
conda install -c https://software.repos.intel.com/python/conda mkl_fft
```
or from conda-forge channel:
```
conda install -c conda-forge mkl_fft
```
---
To install mkl_fft Pypi package please use following command:
```
python -m pip install --index-url https://software.repos.intel.com/python/pypi --extra-index-url https://pypi.org/simple mkl_fft
```
If command above installs NumPy package from the Pypi, please use following command to install Intel optimized NumPy wheel package from Intel Pypi Cloud:
```
python -m pip install --index-url https://software.repos.intel.com/python/pypi --extra-index-url https://pypi.org/simple mkl_fft numpy==<numpy_version>
```
Where `<numpy_version>` should be the latest version from https://software.repos.intel.com/python/conda/
---
Since MKL FFT supports performing discrete Fourier transforms over non-contiguously laid out arrays, MKL can be directly
used on any well-behaved floating point array with no internal overlaps for both in-place and not in-place transforms of
arrays in single and double floating point precision.
This eliminates the need to copy input array contiguously into an intermediate buffer.
`mkl_fft` directly supports N-dimensional Fourier transforms.
More details can be found in SciPy 2017 conference proceedings:
https://github.com/scipy-conference/scipy_proceedings/tree/2017/papers/oleksandr_pavlyk
---
It implements the following functions:
### Complex transforms, similar to those in `scipy.fftpack`:
`fft(x, n=None, axis=-1, overwrite_x=False)`
`ifft(x, n=None, axis=-1, overwrite_x=False)`
`fft2(x, shape=None, axes=(-2,-1), overwrite_x=False)`
`ifft2(x, shape=None, axes=(-2,-1), overwrite_x=False)`
`fftn(x, n=None, axes=None, overwrite_x=False)`
`ifftn(x, n=None, axes=None, overwrite_x=False)`
### Real transforms
`rfft(x, n=None, axis=-1, overwrite_x=False)` - real 1D Fourier transform, like `scipy.fftpack.rfft`
`rfft_numpy(x, n=None, axis=-1)` - real 1D Fourier transform, like `numpy.fft.rfft`
`rfft2_numpy(x, s=None, axes=(-2,-1))` - real 2D Fourier transform, like `numpy.fft.rfft2`
`rfftn_numpy(x, s=None, axes=None)` - real 2D Fourier transform, like `numpy.fft.rfftn`
... and similar `irfft*` functions.
The package also provides `mkl_fft._numpy_fft` and `mkl_fft._scipy_fft` interfaces which provide drop-in replacements for equivalent functions in NumPy and SciPy respectively.
---
To build ``mkl_fft`` from sources on Linux:
- install a recent version of MKL, if necessary;
- execute ``source /path/to/mklroot/bin/mklvars.sh intel64`` ;
- execute ``pip install .``
Raw data
{
"_id": null,
"home_page": "http://github.com/IntelPython/mkl_fft",
"name": "mkl-fft",
"maintainer": "Intel Corp.",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "scripting@intel.com",
"keywords": "DFTI, FFT, Fourier, MKL",
"author": "Intel Corporation",
"author_email": null,
"download_url": "http://github.com/IntelPython/mkl_fft",
"platform": "Windows",
"description": "## ``mkl_fft`` -- a NumPy-based Python interface to Intel (R) MKL FFT functionality\r\n[![Build Status](https://travis-ci.com/IntelPython/mkl_fft.svg?branch=master)](https://travis-ci.com/IntelPython/mkl_fft)\r\n\r\n`mkl_fft` started as a part of Intel (R) Distribution for Python* optimizations to NumPy, and is now being released\r\nas a stand-alone package. It can be installed into conda environment using\r\n\r\n```\r\n conda install -c https://software.repos.intel.com/python/conda mkl_fft\r\n```\r\n\r\nor from conda-forge channel:\r\n\r\n```\r\n conda install -c conda-forge mkl_fft\r\n```\r\n\r\n---\r\n\r\nTo install mkl_fft Pypi package please use following command:\r\n\r\n```\r\n python -m pip install --index-url https://software.repos.intel.com/python/pypi --extra-index-url https://pypi.org/simple mkl_fft\r\n```\r\n\r\nIf command above installs NumPy package from the Pypi, please use following command to install Intel optimized NumPy wheel package from Intel Pypi Cloud:\r\n\r\n```\r\n python -m pip install --index-url https://software.repos.intel.com/python/pypi --extra-index-url https://pypi.org/simple mkl_fft numpy==<numpy_version>\r\n```\r\n\r\nWhere `<numpy_version>` should be the latest version from https://software.repos.intel.com/python/conda/\r\n\r\n---\r\n\r\nSince MKL FFT supports performing discrete Fourier transforms over non-contiguously laid out arrays, MKL can be directly\r\nused on any well-behaved floating point array with no internal overlaps for both in-place and not in-place transforms of\r\narrays in single and double floating point precision.\r\n\r\nThis eliminates the need to copy input array contiguously into an intermediate buffer.\r\n\r\n`mkl_fft` directly supports N-dimensional Fourier transforms.\r\n\r\nMore details can be found in SciPy 2017 conference proceedings:\r\n https://github.com/scipy-conference/scipy_proceedings/tree/2017/papers/oleksandr_pavlyk\r\n\r\n---\r\n\r\nIt implements the following functions:\r\n\r\n### Complex transforms, similar to those in `scipy.fftpack`:\r\n\r\n`fft(x, n=None, axis=-1, overwrite_x=False)`\r\n\r\n`ifft(x, n=None, axis=-1, overwrite_x=False)`\r\n\r\n`fft2(x, shape=None, axes=(-2,-1), overwrite_x=False)`\r\n\r\n`ifft2(x, shape=None, axes=(-2,-1), overwrite_x=False)`\r\n\r\n`fftn(x, n=None, axes=None, overwrite_x=False)`\r\n\r\n`ifftn(x, n=None, axes=None, overwrite_x=False)`\r\n\r\n### Real transforms\r\n\r\n`rfft(x, n=None, axis=-1, overwrite_x=False)` - real 1D Fourier transform, like `scipy.fftpack.rfft`\r\n\r\n`rfft_numpy(x, n=None, axis=-1)` - real 1D Fourier transform, like `numpy.fft.rfft`\r\n\r\n`rfft2_numpy(x, s=None, axes=(-2,-1))` - real 2D Fourier transform, like `numpy.fft.rfft2`\r\n\r\n`rfftn_numpy(x, s=None, axes=None)` - real 2D Fourier transform, like `numpy.fft.rfftn`\r\n\r\n... and similar `irfft*` functions.\r\n\r\n\r\nThe package also provides `mkl_fft._numpy_fft` and `mkl_fft._scipy_fft` interfaces which provide drop-in replacements for equivalent functions in NumPy and SciPy respectively.\r\n\r\n---\r\n\r\nTo build ``mkl_fft`` from sources on Linux:\r\n - install a recent version of MKL, if necessary;\r\n - execute ``source /path/to/mklroot/bin/mklvars.sh intel64`` ;\r\n - execute ``pip install .``\r\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "MKL-based FFT transforms for NumPy arrays",
"version": "1.3.11",
"project_urls": {
"Download": "http://github.com/IntelPython/mkl_fft",
"Homepage": "http://github.com/IntelPython/mkl_fft"
},
"split_keywords": [
"dfti",
" fft",
" fourier",
" mkl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cb925bbf9c7221716ec454e502b702700f20d328ca46461a93fa58959dae2107",
"md5": "9de22b1e93ec0946222c13eb44dfd531",
"sha256": "0634f56f28ed3b8bc98712e5383495a93080472f26b30dcadcaa89d76c2ac916"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp310-cp310-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "9de22b1e93ec0946222c13eb44dfd531",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3686963,
"upload_time": "2024-10-29T17:02:20",
"upload_time_iso_8601": "2024-10-29T17:02:20.823129Z",
"url": "https://files.pythonhosted.org/packages/cb/92/5bbf9c7221716ec454e502b702700f20d328ca46461a93fa58959dae2107/mkl_fft-1.3.11-81-cp310-cp310-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "87e695965719f1935c51211ed3a01da90e18e950efc5469c4b332df653d08d4b",
"md5": "ab84ebf72116ce238a4a0c0c366936c1",
"sha256": "a1a627490e8775863abab752484bcfdefaabee9c876a5d66846e151132c0f8d9"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "ab84ebf72116ce238a4a0c0c366936c1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 178725,
"upload_time": "2024-10-29T17:01:17",
"upload_time_iso_8601": "2024-10-29T17:01:17.409539Z",
"url": "https://files.pythonhosted.org/packages/87/e6/95965719f1935c51211ed3a01da90e18e950efc5469c4b332df653d08d4b/mkl_fft-1.3.11-81-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0f65e2473c1dfc4f727e0462beb092b6ecb264360a61cce6888d815e69d14c1c",
"md5": "0270e6556a9cd720966b6cd8927286c7",
"sha256": "be80a554b3e3de20f4e9df9f934757ebd407efe1b2f74a26ceec555320214716"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp311-cp311-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "0270e6556a9cd720966b6cd8927286c7",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3685210,
"upload_time": "2024-10-29T17:02:02",
"upload_time_iso_8601": "2024-10-29T17:02:02.873643Z",
"url": "https://files.pythonhosted.org/packages/0f/65/e2473c1dfc4f727e0462beb092b6ecb264360a61cce6888d815e69d14c1c/mkl_fft-1.3.11-81-cp311-cp311-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "454b522fc74ebe9bcef143c964090eba19eb51ac19abd82f99b60f1e4afab9df",
"md5": "1399c401460c24bb5f991f8552ee0c2d",
"sha256": "cbd0800d6f08ff21579b9b45f5bfb42c209e934c0c72e4adb73cd8fd6852220a"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "1399c401460c24bb5f991f8552ee0c2d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 178734,
"upload_time": "2024-10-29T17:01:04",
"upload_time_iso_8601": "2024-10-29T17:01:04.078249Z",
"url": "https://files.pythonhosted.org/packages/45/4b/522fc74ebe9bcef143c964090eba19eb51ac19abd82f99b60f1e4afab9df/mkl_fft-1.3.11-81-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b54bd11f5fb3bfffac597f3716bf869dad317159ea8b613be11b3478f5b0f4b3",
"md5": "0902c0f0a978bc0d8f98c92d408051c7",
"sha256": "5561565f832a921eb08ce6adca04a9b03d03046ab60dfa4080d1342b803fd165"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp312-cp312-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "0902c0f0a978bc0d8f98c92d408051c7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 3686995,
"upload_time": "2024-10-29T17:01:47",
"upload_time_iso_8601": "2024-10-29T17:01:47.042068Z",
"url": "https://files.pythonhosted.org/packages/b5/4b/d11f5fb3bfffac597f3716bf869dad317159ea8b613be11b3478f5b0f4b3/mkl_fft-1.3.11-81-cp312-cp312-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e48282c6ad9eccf4d8ca168a75770379acde1f353af5a1754f497a1cb1e1e8b",
"md5": "50ba93b49dd6409b6b9229766b1a3b3d",
"sha256": "aad6ee1f290a0163246a0ccb8d761236e90a1fe5acc42b402ef71c6ca3ca6c4a"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "50ba93b49dd6409b6b9229766b1a3b3d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 171487,
"upload_time": "2024-10-29T17:00:50",
"upload_time_iso_8601": "2024-10-29T17:00:50.424500Z",
"url": "https://files.pythonhosted.org/packages/1e/48/282c6ad9eccf4d8ca168a75770379acde1f353af5a1754f497a1cb1e1e8b/mkl_fft-1.3.11-81-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "03d4475f7844f151c8002ece7eb9a19bd5969230d74e0d51568ae2c4790a0283",
"md5": "b3f1707e815909573980a5c2c5c15f1e",
"sha256": "bb8f5a3aea3400da34a0f13fa45e74a7a656778b0b7df7268c23f51bebcbbac1"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp39-cp39-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "b3f1707e815909573980a5c2c5c15f1e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3686180,
"upload_time": "2024-10-29T17:01:32",
"upload_time_iso_8601": "2024-10-29T17:01:32.709304Z",
"url": "https://files.pythonhosted.org/packages/03/d4/475f7844f151c8002ece7eb9a19bd5969230d74e0d51568ae2c4790a0283/mkl_fft-1.3.11-81-cp39-cp39-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "332883b81cdeb116386d98688e6333811ed9f95aad8934d7138d72210708f115",
"md5": "99f49111dd5a27c4b273a98ed8fc5f5e",
"sha256": "26d0cbb4aca433efb8e54615ca397f4b9106e4a09dad8ca1a08a999e916f89aa"
},
"downloads": -1,
"filename": "mkl_fft-1.3.11-81-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "99f49111dd5a27c4b273a98ed8fc5f5e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 178651,
"upload_time": "2024-10-29T17:00:08",
"upload_time_iso_8601": "2024-10-29T17:00:08.742203Z",
"url": "https://files.pythonhosted.org/packages/33/28/83b81cdeb116386d98688e6333811ed9f95aad8934d7138d72210708f115/mkl_fft-1.3.11-81-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-29 17:02:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "IntelPython",
"github_project": "mkl_fft",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mkl-fft"
}