11[ ![ image] ( https://github.com/astro-informatics/s2fft/actions/workflows/tests.yml/badge.svg?branch=main )] ( https://github.com/astro-informatics/s2fft/actions/workflows/tests.yml )
2- [ ![ image] ( https://readthedocs.org/projects/ansicolortags/badge/?version=latest )] ( https://astro-informatics.github.io/s2fft )
32[ ![ image] ( https://codecov.io/gh/astro-informatics/s2fft/branch/main/graph/badge.svg?token=7QYAFAAWLE )] ( https://codecov.io/gh/astro-informatics/s2fft )
43[ ![ image] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://opensource.org/licenses/MIT )
54[ ![ image] ( http://img.shields.io/badge/arXiv-xxxx.xxxxx-orange.svg?style=flat )] ( https://arxiv.org/abs/xxxx.xxxxx ) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
65[ ![ All Contributors] ( https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square )] ( #contributors- ) <!-- ALL-CONTRIBUTORS-BADGE:END -->
76[ ![ image] ( https://img.shields.io/badge/code%20style-black-000000.svg )] ( https://github.com/psf/black )
7+ [ ![ Open In Colab] ( https://colab.research.google.com/assets/colab-badge.svg )] ( https://colab.research.google.com/drive/1YmJ2ljsF8HBvhPmD4hrYPlyAKc4WPUgq?usp=sharing )
88
99<img align =" left " height =" 85 " width =" 98 " src =" ./docs/assets/sax_logo.png " >
1010
1111# Differentiable and accelerated spherical transforms with JAX
1212
1313` S2FFT ` is a JAX package for computing Fourier transforms on the sphere
1414and rotation group. It leverages autodiff to provide differentiable
15- transforms, which are also deployable on modern hardware accelerators
15+ transforms, which are also deployable on hardware accelerators
1616(e.g. GPUs and TPUs).
1717
1818More specifically, ` S2FFT ` provides support for spin spherical harmonic
@@ -30,7 +30,20 @@ algorithms are based on new Wigner-d recursions that are stable to high
3030angular resolution $L$. The diagram below illustrates the recursions
3131(for further details see Price & McEwen, in prep.).
3232
33- ![ image] ( ./docs/assets/figures/schematic.png )
33+ ![ image] ( ./docs/assets/figures/Wigner_recursion_legend_darkmode.png )
34+ With this recursion to hand, the spherical harmonic coefficients of an
35+ isolatitudinally sampled map may be computed as a two step process. First,
36+ a 1D Fourier transform over longitude, for each latitudinal ring. Second,
37+ a projection onto the real polar-d functions. One may precompute and store
38+ all real polar-d functions for extreme acceleration, however this comes
39+ with an equally extreme memory overhead, which is infeasible at L ~ 1024.
40+ Alternatively, the real polar-d functions may calculated recursively,
41+ computing only a portion of the projection at a time, hence incurring
42+ negligible memory overhead at the cost of slightly slower execution. The
43+ diagram below illustrates the separable spherical harmonic transform
44+ (for further details see Price & McEwen, in prep.).
45+
46+ ![ image] ( ./docs/assets/figures/sax_schematic_legend_darkmode.png )
3447
3548## Sampling :earth_africa :
3649
@@ -70,8 +83,7 @@ from the root directory of the repository. Unit tests can then be
7083executed to ensure the installation was successful by running
7184
7285``` bash
73- pytest tests/ # for pytest
74- tox -e py38 # for tox
86+ pytest tests/
7587```
7688
7789In the very near future one will be able to install ` S2FFT ` directly
@@ -166,10 +178,11 @@ referenced. A BibTeX entry for this reference may look like:
166178
167179```
168180@article{price:s2fft,
169- AUTHOR = "Matthew A. Price and Jason D. McEwen and Contributors",
170- TITLE = "TBA",
171- YEAR = "2023",
172- EPRINT = "arXiv:0000.00000"
181+ author = "Matthew A. Price and Jason D. McEwen and Contributors",
182+ title = "Differentiable and accelerated spherical harmonic and Wigner transforms",
183+ journal = "Journal of Computational Physics",
184+ year = "2023",
185+ eprint = "arXiv:0000.00000"
173186}
174187```
175188
@@ -178,29 +191,29 @@ code builds:
178191
179192```
180193@article{mcewen:fssht,
181- AUTHOR = "Jason D. McEwen and Yves Wiaux",
182- TITLE = "A novel sampling theorem on the sphere",
183- JOURNAL = "IEEE Trans. Sig. Proc.",
184- YEAR = "2011",
185- VOLUME = "59",
186- NUMBER = "12",
187- PAGES = "5876--5887",
188- EPRINT = "arXiv:1110.6298",
189- DOI = "10.1109/TSP.2011.2166394"
194+ author = "Jason D. McEwen and Yves Wiaux",
195+ title = "A novel sampling theorem on the sphere",
196+ journal = "IEEE Trans. Sig. Proc.",
197+ year = "2011",
198+ volume = "59",
199+ number = "12",
200+ pages = "5876--5887",
201+ eprint = "arXiv:1110.6298",
202+ doi = "10.1109/TSP.2011.2166394"
190203}
191204```
192205
193206```
194207@article{mcewen:so3,
195- AUTHOR = "Jason D. McEwen and Martin B{\"u}ttner and Boris ~Leistedt and Hiranya V. Peiris and Yves Wiaux",
196- TITLE = "A novel sampling theorem on the rotation group",
197- JOURNAL = "IEEE Sig. Proc. Let.",
198- YEAR = "2015",
199- VOLUME = "22",
200- NUMBER = "12",
201- PAGES = "2425--2429",
202- EPRINT = "arXiv:1508.03101",
203- DOI = "10.1109/LSP.2015.2490676"
208+ author = "Jason D. McEwen and Martin B{\"u}ttner and Boris ~Leistedt and Hiranya V. Peiris and Yves Wiaux",
209+ title = "A novel sampling theorem on the rotation group",
210+ journal = "IEEE Sig. Proc. Let.",
211+ year = "2015",
212+ volume = "22",
213+ number = "12",
214+ pages = "2425--2429",
215+ eprint = "arXiv:1508.03101",
216+ doi = "10.1109/LSP.2015.2490676"
204217}
205218```
206219
0 commit comments