pyNFFT3 0.2.2__tar.gz → 0.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyNFFT3 might be problematic. Click here for more details.
- {pynfft3-0.2.2 → pynfft3-0.2.3}/.github/workflows/ci.yml +2 -2
- pynfft3-0.2.3/.github/workflows/documentation.yml +29 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/.github/workflows/release.yml +4 -4
- pynfft3-0.2.3/.gitignore +17 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/PKG-INFO +7 -3
- {pynfft3-0.2.2 → pynfft3-0.2.3}/README.md +4 -1
- pynfft3-0.2.3/docs/source/_static/custom.css +8 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/source/api/fastsum.rst +1 -1
- pynfft3-0.2.3/docs/source/api/fsft.rst +77 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/source/api/nfct.rst +12 -3
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/source/api/nfft.rst +21 -3
- pynfft3-0.2.3/docs/source/api/nfsft.rst +81 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/source/api/nfst.rst +12 -3
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/source/api.rst +2 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/source/conf.py +1 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/source/index.rst +2 -0
- pynfft3-0.2.3/docs/source/tutorial.rst +337 -0
- pynfft3-0.2.3/lib64 +1 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/pyproject.toml +5 -2
- pynfft3-0.2.3/src/pyNFFT3/FSFT.py +281 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/src/pyNFFT3/NFCT.py +40 -24
- {pynfft3-0.2.2 → pynfft3-0.2.3}/src/pyNFFT3/NFFT.py +36 -21
- pynfft3-0.2.3/src/pyNFFT3/NFSFT.py +319 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/src/pyNFFT3/NFST.py +32 -15
- {pynfft3-0.2.2 → pynfft3-0.2.3}/src/pyNFFT3/__init__.py +65 -7
- {pynfft3-0.2.2 → pynfft3-0.2.3}/src/pyNFFT3/fastsum.py +33 -13
- pynfft3-0.2.3/src/pyNFFT3/flags.py +384 -0
- pynfft3-0.2.3/tests/FSFT_test.py +87 -0
- pynfft3-0.2.3/tests/NFSFT_test.py +92 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/tests/run_tests.py +2 -0
- pynfft3-0.2.2/.github/workflows/sphinx.yml +0 -24
- pynfft3-0.2.2/.gitignore +0 -12
- pynfft3-0.2.2/docs/requirements.txt +0 -2
- pynfft3-0.2.2/docs/source/tutorial.rst +0 -198
- pynfft3-0.2.2/src/pyNFFT3/NFMT.py +0 -1
- pynfft3-0.2.2/src/pyNFFT3/flags.py +0 -231
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.22/libfastsumjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.22/libnfctjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.22/libnfftjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.22/libnfstjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.40/libfastsumjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.40/libnfctjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.40/libnfftjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/glibc2.40/libnfstjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libfastsumjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libfastsumjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libnfctjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libnfctjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libnfftjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libnfftjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libnfstjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX/libnfstjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.22/libfastsumjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.22/libnfctjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.22/libnfftjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.22/libnfstjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.40/libfastsumjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.40/libnfctjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.40/libnfftjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/glibc2.40/libnfstjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libfastsumjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libfastsumjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libnfctjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libnfctjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libnfftjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libnfftjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libnfstjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/AVX2/libnfstjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.22/libfastsumjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.22/libnfctjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.22/libnfftjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.22/libnfstjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.40/libfastsumjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.40/libnfctjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.40/libnfftjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/glibc2.40/libnfstjulia.so +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libfastsumjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libfastsumjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libnfctjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libnfctjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libnfftjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libnfftjulia.dylib +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libnfstjulia.dll +0 -0
- pynfft3-0.2.2/src/pyNFFT3/lib/SSE2/libnfstjulia.dylib +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/.github/workflows/format.yml +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/LICENSE +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/Makefile +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/docs/make.bat +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/tests/NFCT_test.py +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/tests/NFFT_test.py +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/tests/NFST_test.py +0 -0
- {pynfft3-0.2.2 → pynfft3-0.2.3}/tests/fastsum_test.py +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: documentation
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request, workflow_dispatch]
|
|
4
|
+
|
|
5
|
+
permissions:
|
|
6
|
+
contents: write
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
docs:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
- uses: actions/setup-python@v5
|
|
14
|
+
- name: Install dependencies
|
|
15
|
+
run: |
|
|
16
|
+
pip install sphinx sphinx_rtd_theme myst_parser
|
|
17
|
+
- name: Sphinx build
|
|
18
|
+
run: |
|
|
19
|
+
cd docs
|
|
20
|
+
sphinx-apidoc -o ./source ../src -f
|
|
21
|
+
make html
|
|
22
|
+
- name: Deploy to GitHub Pages
|
|
23
|
+
uses: peaceiris/actions-gh-pages@v3
|
|
24
|
+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
|
25
|
+
with:
|
|
26
|
+
publish_branch: gh-pages
|
|
27
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
28
|
+
publish_dir: docs/build/html
|
|
29
|
+
force_orphan: true
|
|
@@ -26,7 +26,7 @@ jobs:
|
|
|
26
26
|
- name: Build a binary wheel and a source tarball
|
|
27
27
|
run: python3 -m build
|
|
28
28
|
- name: Store the distribution packages
|
|
29
|
-
uses: actions/upload-artifact@
|
|
29
|
+
uses: actions/upload-artifact@v4
|
|
30
30
|
with:
|
|
31
31
|
name: python-package-distributions
|
|
32
32
|
path: dist/
|
|
@@ -42,7 +42,7 @@ jobs:
|
|
|
42
42
|
id-token: write
|
|
43
43
|
steps:
|
|
44
44
|
- name: Download the dists
|
|
45
|
-
uses: actions/download-artifact@
|
|
45
|
+
uses: actions/download-artifact@v4
|
|
46
46
|
with:
|
|
47
47
|
name: python-package-distributions
|
|
48
48
|
path: dist/
|
|
@@ -80,9 +80,9 @@ jobs:
|
|
|
80
80
|
id-token: write
|
|
81
81
|
steps:
|
|
82
82
|
- name: Download the dists
|
|
83
|
-
uses: actions/download-artifact@
|
|
83
|
+
uses: actions/download-artifact@v4
|
|
84
84
|
with:
|
|
85
85
|
name: python-package-distributions
|
|
86
86
|
path: dist/
|
|
87
87
|
- name: Publish distribution to PyPI
|
|
88
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
88
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
pynfft3-0.2.3/.gitignore
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.vscode/
|
|
2
|
+
build/
|
|
3
|
+
dist/
|
|
4
|
+
*.egg-info/
|
|
5
|
+
*.egg
|
|
6
|
+
*.py[cod]
|
|
7
|
+
__pycache__/
|
|
8
|
+
venv/
|
|
9
|
+
|
|
10
|
+
bin/
|
|
11
|
+
lib64/
|
|
12
|
+
pyvenv.cfg
|
|
13
|
+
lib/
|
|
14
|
+
src/pyNFFT3/lib/AVX2/libfftw3-3.dll
|
|
15
|
+
src/pyNFFT3/lib/AVX2/libgomp-1.dll
|
|
16
|
+
src/pyNFFT3/lib/AVX2/libgcc_s_seh-1.dll
|
|
17
|
+
src/pyNFFT3/lib/AVX2/libwinpthread-1.dll
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyNFFT3
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Python interface for the NFFT C library
|
|
5
5
|
Project-URL: Homepage, https://github.com/NFFT/pyNFFT3
|
|
6
6
|
Author-email: Michael Nolander <nolander.michael@gmail.com>
|
|
7
|
+
Maintainer-email: Pascal Schröter <pascal.schroeter@mathematik.tu-chemnitz.de>
|
|
7
8
|
License-File: LICENSE
|
|
8
9
|
Requires-Python: >=3.8
|
|
9
10
|
Requires-Dist: numpy>=2.0.0
|
|
@@ -21,6 +22,8 @@ Python interface for the [NFFT C library](https://github.com/NFFT/nfft). Based o
|
|
|
21
22
|
- nonequispaced fast Fourier transform (NFFT)
|
|
22
23
|
- nonequispaced fast cosine transform (NFCT)
|
|
23
24
|
- nonequispaced fast sine transform (NFST)
|
|
25
|
+
- nonequispaced fast spherical Fourier transforms (NFSFT)
|
|
26
|
+
- fast spherical Fourier transforms (FSFT)
|
|
24
27
|
- fast summation (fastsum)
|
|
25
28
|
|
|
26
29
|
## Getting started
|
|
@@ -38,4 +41,5 @@ Requirements
|
|
|
38
41
|
|
|
39
42
|
- Python 3.8 or greater
|
|
40
43
|
- Numpy 2.0.0 or greater
|
|
41
|
-
-
|
|
44
|
+
- py-cpuinfo 9.0.0 or greater
|
|
45
|
+
- packaging 24.1 or greater
|
|
@@ -8,6 +8,8 @@ Python interface for the [NFFT C library](https://github.com/NFFT/nfft). Based o
|
|
|
8
8
|
- nonequispaced fast Fourier transform (NFFT)
|
|
9
9
|
- nonequispaced fast cosine transform (NFCT)
|
|
10
10
|
- nonequispaced fast sine transform (NFST)
|
|
11
|
+
- nonequispaced fast spherical Fourier transforms (NFSFT)
|
|
12
|
+
- fast spherical Fourier transforms (FSFT)
|
|
11
13
|
- fast summation (fastsum)
|
|
12
14
|
|
|
13
15
|
## Getting started
|
|
@@ -25,4 +27,5 @@ Requirements
|
|
|
25
27
|
|
|
26
28
|
- Python 3.8 or greater
|
|
27
29
|
- Numpy 2.0.0 or greater
|
|
28
|
-
-
|
|
30
|
+
- py-cpuinfo 9.0.0 or greater
|
|
31
|
+
- packaging 24.1 or greater
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
``pyNFFT3.FSFT`` - FSFT Class
|
|
2
|
+
================================
|
|
3
|
+
|
|
4
|
+
FSFT Methods
|
|
5
|
+
-------------
|
|
6
|
+
|
|
7
|
+
.. autoclass:: pyNFFT3.FSFT
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:member-order: bysource
|
|
11
|
+
:exclude-members: f, fhat, __init__
|
|
12
|
+
|
|
13
|
+
FSFT Attributes
|
|
14
|
+
----------------
|
|
15
|
+
|
|
16
|
+
.. attribute:: plan <fsft_plan>
|
|
17
|
+
|
|
18
|
+
FSFT plan (C pointer)
|
|
19
|
+
|
|
20
|
+
.. attribute:: N <int>
|
|
21
|
+
|
|
22
|
+
The bandwidth :math:`N \epsilon N_0`. Must be a positive integer.
|
|
23
|
+
|
|
24
|
+
.. attribute:: M <int>
|
|
25
|
+
|
|
26
|
+
The number of nodes. Must be a positive integer.
|
|
27
|
+
|
|
28
|
+
.. attribute:: flags <ctypes.c_uint32>
|
|
29
|
+
|
|
30
|
+
The FSFT flags.
|
|
31
|
+
|
|
32
|
+
.. attribute:: nfft_flags <ctypes.c_unit32>
|
|
33
|
+
|
|
34
|
+
The NFFT flags.
|
|
35
|
+
|
|
36
|
+
.. attribute:: nfft_cutoff <int>
|
|
37
|
+
|
|
38
|
+
The NFFT cutoff.
|
|
39
|
+
|
|
40
|
+
.. attribute:: f <numpy.ndarray>
|
|
41
|
+
|
|
42
|
+
Complex array for FSFT values or coefficients for the adjoint FSFT.
|
|
43
|
+
|
|
44
|
+
.. attribute:: fhat <numpy.ndarray>
|
|
45
|
+
|
|
46
|
+
Complex array of spherical Fourier coefficients for the FSFT or values for the adjoint FSFT.
|
|
47
|
+
|
|
48
|
+
.. attribute:: init_done <boolean>
|
|
49
|
+
|
|
50
|
+
Boolean to indicate if the FSFT plan is initialized.
|
|
51
|
+
|
|
52
|
+
.. attribute:: finalized <boolean>
|
|
53
|
+
|
|
54
|
+
Boolean to indicate if the FSFT plan is finalized.
|
|
55
|
+
|
|
56
|
+
NFSFT Flags
|
|
57
|
+
------------
|
|
58
|
+
.. autodata:: pyNFFT3.flags.NFSFT_NORMALIZED
|
|
59
|
+
.. autodata:: pyNFFT3.flags.NFSFT_USE_NDFT
|
|
60
|
+
.. autodata:: pyNFFT3.flags.NFSFT_USE_DPT
|
|
61
|
+
.. autodata:: pyNFFT3.flags.NFSFT_MALLOC_X
|
|
62
|
+
.. autodata:: pyNFFT3.flags.NFSFT_MALLOC_F_HAT
|
|
63
|
+
.. autodata:: pyNFFT3.flags.NFSFT_MALLOC_F
|
|
64
|
+
.. autodata:: pyNFFT3.flags.NFSFT_PRESERVE_F_HAT
|
|
65
|
+
.. autodata:: pyNFFT3.flags.NFSFT_PRESERVE_X
|
|
66
|
+
.. autodata:: pyNFFT3.flags.NFSFT_PRESERVE_F
|
|
67
|
+
.. autodata:: pyNFFT3.flags.NFSFT_DESTROY_F_HAT
|
|
68
|
+
.. autodata:: pyNFFT3.flags.NFSFT_DESTROY_X
|
|
69
|
+
.. autodata:: pyNFFT3.flags.NFSFT_DESTROY_F
|
|
70
|
+
.. autodata:: pyNFFT3.flags.NFSFT_NO_DIRECT_ALGORITHM
|
|
71
|
+
.. autodata:: pyNFFT3.flags.NFSFT_NO_FAST_ALGORITHM
|
|
72
|
+
.. autodata:: pyNFFT3.flags.NFSFT_ZERO_F_HAT
|
|
73
|
+
.. autodata:: pyNFFT3.flags.NFSFT_EQUISPACED
|
|
74
|
+
.. autodata:: pyNFFT3.flags.nfsft_default
|
|
75
|
+
.. autodata:: pyNFFT3.flags.nfsft_nfft_default
|
|
76
|
+
.. autodata:: pyNFFT3.flags.nfsft_default_nfft_cut_off
|
|
77
|
+
.. autodata:: pyNFFT3.flags.nfsft_default_threshold
|
|
@@ -33,11 +33,11 @@ NFCT Attributes
|
|
|
33
33
|
|
|
34
34
|
The window size. A larger m results in more accuracy but at a higher computational cost.
|
|
35
35
|
|
|
36
|
-
.. attribute:: f1 <c_uint32>
|
|
36
|
+
.. attribute:: f1 <ctypes.c_uint32>
|
|
37
37
|
|
|
38
38
|
The NFCT flags.
|
|
39
39
|
|
|
40
|
-
.. attribute:: f2 <c_unit32>
|
|
40
|
+
.. attribute:: f2 <ctypes.c_unit32>
|
|
41
41
|
|
|
42
42
|
The FFTW flags.
|
|
43
43
|
|
|
@@ -63,4 +63,13 @@ NFCT Attributes
|
|
|
63
63
|
|
|
64
64
|
.. attribute:: finalized <boolean>
|
|
65
65
|
|
|
66
|
-
Boolean to indicate if the NFCT plan is finalized.
|
|
66
|
+
Boolean to indicate if the NFCT plan is finalized.
|
|
67
|
+
|
|
68
|
+
NFCT Flags
|
|
69
|
+
------------
|
|
70
|
+
.. autodata:: pyNFFT3.flags.NFCT_SORT_NODES
|
|
71
|
+
.. autodata:: pyNFFT3.flags.NFCT_OMP_BLOCKWISE_ADJOINT
|
|
72
|
+
.. autodata:: pyNFFT3.flags.f1_default_1d
|
|
73
|
+
.. autodata:: pyNFFT3.flags.f1_default
|
|
74
|
+
.. autodata:: pyNFFT3.flags.f2_default
|
|
75
|
+
.. autodata:: pyNFFT3.flags.default_window_cut_off
|
|
@@ -33,11 +33,11 @@ NFFT Attributes
|
|
|
33
33
|
|
|
34
34
|
The window size. A larger m results in more accuracy but at a higher computational cost.
|
|
35
35
|
|
|
36
|
-
.. attribute:: f1 <c_uint32>
|
|
36
|
+
.. attribute:: f1 <ctypes.c_uint32>
|
|
37
37
|
|
|
38
38
|
The NFFT flags.
|
|
39
39
|
|
|
40
|
-
.. attribute:: f2 <c_unit32>
|
|
40
|
+
.. attribute:: f2 <ctypes.c_unit32>
|
|
41
41
|
|
|
42
42
|
The FFTW flags.
|
|
43
43
|
|
|
@@ -63,4 +63,22 @@ NFFT Attributes
|
|
|
63
63
|
|
|
64
64
|
.. attribute:: finalized <boolean>
|
|
65
65
|
|
|
66
|
-
Boolean to indicate if the NFFT plan is finalized.
|
|
66
|
+
Boolean to indicate if the NFFT plan is finalized.
|
|
67
|
+
|
|
68
|
+
NFFT Flags
|
|
69
|
+
------------
|
|
70
|
+
.. autodata:: pyNFFT3.flags.PRE_PHI_HUT
|
|
71
|
+
.. autodata:: pyNFFT3.flags.FG_PSI
|
|
72
|
+
.. autodata:: pyNFFT3.flags.PRE_LIN_PSI
|
|
73
|
+
.. autodata:: pyNFFT3.flags.PRE_FG_PSI
|
|
74
|
+
.. autodata:: pyNFFT3.flags.PRE_FULL_PSI
|
|
75
|
+
.. autodata:: pyNFFT3.flags.MALLOC_X
|
|
76
|
+
.. autodata:: pyNFFT3.flags.MALLOC_F_HAT
|
|
77
|
+
.. autodata:: pyNFFT3.flags.MALLOC_F
|
|
78
|
+
.. autodata:: pyNFFT3.flags.FFT_OUT_OF_PLACE
|
|
79
|
+
.. autodata:: pyNFFT3.flags.FFTW_INIT
|
|
80
|
+
.. autodata:: pyNFFT3.flags.PRE_ONE_PSI
|
|
81
|
+
.. autodata:: pyNFFT3.flags.f1_default_1d
|
|
82
|
+
.. autodata:: pyNFFT3.flags.f1_default
|
|
83
|
+
.. autodata:: pyNFFT3.flags.f2_default
|
|
84
|
+
.. autodata:: pyNFFT3.flags.default_window_cut_off
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
``pyNFFT3.NFSFT`` - NFSFT Class
|
|
2
|
+
=============================================
|
|
3
|
+
|
|
4
|
+
NFSFT Methods
|
|
5
|
+
-------------
|
|
6
|
+
|
|
7
|
+
.. autoclass:: pyNFFT3.NFSFT
|
|
8
|
+
:members:
|
|
9
|
+
:undoc-members:
|
|
10
|
+
:member-order: bysource
|
|
11
|
+
:exclude-members: f, fhat, x, __init__
|
|
12
|
+
|
|
13
|
+
NFSFT Attributes
|
|
14
|
+
----------------
|
|
15
|
+
|
|
16
|
+
.. attribute:: plan <nfsft_plan>
|
|
17
|
+
|
|
18
|
+
NFSFT plan (C pointer)
|
|
19
|
+
|
|
20
|
+
.. attribute:: N <int>
|
|
21
|
+
|
|
22
|
+
The bandwidth :math:`N \epsilon N_0`. Must be a positive integer.
|
|
23
|
+
|
|
24
|
+
.. attribute:: M <int>
|
|
25
|
+
|
|
26
|
+
The number of nodes. Must be a positive integer.
|
|
27
|
+
|
|
28
|
+
.. attribute:: flags <ctypes.c_uint32>
|
|
29
|
+
|
|
30
|
+
The NFSFT flags.
|
|
31
|
+
|
|
32
|
+
.. attribute:: nfft_flags <ctypes.c_unit32>
|
|
33
|
+
|
|
34
|
+
The NFFT flags.
|
|
35
|
+
|
|
36
|
+
.. attribute:: nfft_cutoff <int>
|
|
37
|
+
|
|
38
|
+
The NFFT cutoff.
|
|
39
|
+
|
|
40
|
+
.. attribute:: x <numpy.ndarray>
|
|
41
|
+
|
|
42
|
+
Float array for sampling nodes.
|
|
43
|
+
|
|
44
|
+
.. attribute:: f <numpy.ndarray>
|
|
45
|
+
|
|
46
|
+
Complex array for NFSFT values or coefficients for the adjoint NFSFT.
|
|
47
|
+
|
|
48
|
+
.. attribute:: fhat <numpy.ndarray>
|
|
49
|
+
|
|
50
|
+
Complex array of spherical Fourier coefficients for the NFSFT or values for the adjoint NFSFT.
|
|
51
|
+
|
|
52
|
+
.. attribute:: init_done <boolean>
|
|
53
|
+
|
|
54
|
+
Boolean to indicate if the NFSFT plan is initialized.
|
|
55
|
+
|
|
56
|
+
.. attribute:: finalized <boolean>
|
|
57
|
+
|
|
58
|
+
Boolean to indicate if the NFSFT plan is finalized.
|
|
59
|
+
|
|
60
|
+
NFSFT Flags
|
|
61
|
+
------------
|
|
62
|
+
.. autodata:: pyNFFT3.flags.NFSFT_NORMALIZED
|
|
63
|
+
.. autodata:: pyNFFT3.flags.NFSFT_USE_NDFT
|
|
64
|
+
.. autodata:: pyNFFT3.flags.NFSFT_USE_DPT
|
|
65
|
+
.. autodata:: pyNFFT3.flags.NFSFT_MALLOC_X
|
|
66
|
+
.. autodata:: pyNFFT3.flags.NFSFT_MALLOC_F_HAT
|
|
67
|
+
.. autodata:: pyNFFT3.flags.NFSFT_MALLOC_F
|
|
68
|
+
.. autodata:: pyNFFT3.flags.NFSFT_PRESERVE_F_HAT
|
|
69
|
+
.. autodata:: pyNFFT3.flags.NFSFT_PRESERVE_X
|
|
70
|
+
.. autodata:: pyNFFT3.flags.NFSFT_PRESERVE_F
|
|
71
|
+
.. autodata:: pyNFFT3.flags.NFSFT_DESTROY_F_HAT
|
|
72
|
+
.. autodata:: pyNFFT3.flags.NFSFT_DESTROY_X
|
|
73
|
+
.. autodata:: pyNFFT3.flags.NFSFT_DESTROY_F
|
|
74
|
+
.. autodata:: pyNFFT3.flags.NFSFT_NO_DIRECT_ALGORITHM
|
|
75
|
+
.. autodata:: pyNFFT3.flags.NFSFT_NO_FAST_ALGORITHM
|
|
76
|
+
.. autodata:: pyNFFT3.flags.NFSFT_ZERO_F_HAT
|
|
77
|
+
.. autodata:: pyNFFT3.flags.NFSFT_EQUISPACED
|
|
78
|
+
.. autodata:: pyNFFT3.flags.nfsft_default
|
|
79
|
+
.. autodata:: pyNFFT3.flags.nfsft_nfft_default
|
|
80
|
+
.. autodata:: pyNFFT3.flags.nfsft_default_nfft_cut_off
|
|
81
|
+
.. autodata:: pyNFFT3.flags.nfsft_default_threshold
|
|
@@ -33,11 +33,11 @@ NFST Attributes
|
|
|
33
33
|
|
|
34
34
|
The window size. A larger m results in more accuracy but at a higher computational cost.
|
|
35
35
|
|
|
36
|
-
.. attribute:: f1 <c_uint32>
|
|
36
|
+
.. attribute:: f1 <ctypes.c_uint32>
|
|
37
37
|
|
|
38
38
|
The NFST flags.
|
|
39
39
|
|
|
40
|
-
.. attribute:: f2 <c_unit32>
|
|
40
|
+
.. attribute:: f2 <ctypes.c_unit32>
|
|
41
41
|
|
|
42
42
|
The FFTW flags.
|
|
43
43
|
|
|
@@ -63,4 +63,13 @@ NFST Attributes
|
|
|
63
63
|
|
|
64
64
|
.. attribute:: finalized <boolean>
|
|
65
65
|
|
|
66
|
-
Boolean to indicate if the NFST plan is finalized.
|
|
66
|
+
Boolean to indicate if the NFST plan is finalized.
|
|
67
|
+
|
|
68
|
+
NFST Flags
|
|
69
|
+
------------
|
|
70
|
+
.. autodata:: pyNFFT3.flags.NFST_SORT_NODES
|
|
71
|
+
.. autodata:: pyNFFT3.flags.NFST_OMP_BLOCKWISE_ADJOINT
|
|
72
|
+
.. autodata:: pyNFFT3.flags.f1_default_1d
|
|
73
|
+
.. autodata:: pyNFFT3.flags.f1_default
|
|
74
|
+
.. autodata:: pyNFFT3.flags.f2_default
|
|
75
|
+
.. autodata:: pyNFFT3.flags.default_window_cut_off
|
|
@@ -15,6 +15,8 @@ pyNFFT3 Documentation
|
|
|
15
15
|
- nonequispaced fast Fourier transform (NFFT)
|
|
16
16
|
- nonequispaced fast cosine transform (NFCT)
|
|
17
17
|
- nonequispaced fast sine transform (NFST)
|
|
18
|
+
- nonequispaced fast spherical Fourier transforms (NFSFT)
|
|
19
|
+
- fast spherical Fourier transforms (FSFT)
|
|
18
20
|
- fast summation (fastsum)
|
|
19
21
|
|
|
20
22
|
Contents
|