- New normalization mode
support
for DISCO convolutions - More efficient computation of Morlet filter basis
- Changed default for Morlet filter basis to a Hann window function
- New filter basis normalization in DISCO convolutions
- More robust pre-computation of DISCO convolution tensor
- Reworked DISCO filter basis datastructure
- Support for new filter basis types
- Added Zernike polynomial basis on a disk
- Added Morlet wavelet basis functions on a spherical disk
- Cleaning up the SFNO example and adding new Local Spherical Neural Operator model
- Updated resampling module to extend input signal to the poles if needed
- Added slerp interpolation to the resampling module
- Added distributed resampling module
- Changing default grid in all SHT routines to
equiangular
- Hotfix to the numpy version requirements
- Added resampling modules for convenience
- Changing behavior of distributed SHT to use
dim=-3
as channel dimension - Fixing SHT unittests to test SHT and ISHT individually, rather than the roundtrip
- Changing the way custom CUDA extensions are handled
- Hotfix to AMP in SFNO example
- CUDA-accelerated DISCO convolutions
- Updated DISCO convolutions to support even number of collocation points across the diameter
- Distributed DISCO convolutions
- Fused quadrature into multiplication with the Psi tensor to lower memory footprint
- Removed DISCO convolution in the plane to focus on the sphere
- Updated unit tests which now include tests for the distributed convolutions
- Discrete-continuous (DISCO) convolutions on the sphere and in two dimensions
- DISCO supports isotropic and anisotropic kernel functions parameterized as hat functions
- Supports regular and transpose convolutions
- Accelerated spherical DISCO convolutions on GPU via Triton implementation
- Unittests for DISCO convolutions in
tests/test_convolution.py
- Reworking distributed to allow for uneven split tensors, effectively removing the necessity of padding the transformed tensors
- Distributed SHT tests are now using unittest. Test extended to vector SHT versions
- Tests are defined in
torch_harmonics/distributed/distributed_tests.py
- Base pytorch container version bumped up to 23.11 in Dockerfile
- Adding gradient check in unit tests
- Temporary work-around for NCCL contiguous issues with distributed SHT
- Refactored examples and documentation
- Updated SFNO example
- Adding github CI
- Changed SHT modules to convert dtype dynamically when computing the SHT/ISHT
- Bugfixes to fix importing examples
- Minor bugfixes to export SFNO code
- Readme should now render correctly in PyPI
- Added SFNO example
- Added Shallow Water Equations Dataset for SFNO training
- Cleanup of the repository and added PyPI
- Updated Readme
- Reworked distributed SHT
- Module for sampling Gaussian Random Fields on the sphere
- Computation of associated Legendre polynomials
- changed algorithm to compute the associated Legendre polynomials for improved stability
- Improved Readme
- Vector Spherical Harmonic Transforms
- projects vector-valued fields onto the vector Spherical Harmonics
- supports computation of div and curl on the sphere
- New quadrature rules
- Clenshaw-Curtis quadrature rule
- Fejér quadrature rule
- Legendre-Gauss-Lobatto quadrature
- New notebooks
- complete with differentiable Shallow Water Solver
- notebook on quadrature and interpolation
- Unit tests
- Refactor of the API
- Renaming from torch_sht to torch_harmonics
- Adding distributed SHT support
- New logo
- Single GPU forward and backward transform
- Minimal code example and notebook