SHTns is a high-performance Spherical Harmonic Transform library. It was designed for numerical simulation (fluid flows, mhd, etc.) in spherical geometries, but can be used for any kind of problem involving scalar or vector spherical harmonics. It is very fast, thanks to careful vectorization and runtime tuning. It supports multi-threaded transforms via OpenMP. It features scalar and vector transforms, synthesis and analysis, and flexible truncation and normalization. A Python interface is included.
| Tags | Scientific/Engineering Mathematics Software Development Libraries |
|---|---|
| Licenses | CeCILL |
| Operating Systems | Linux Unix BSD Mac OS X |
| Implementation | C SWIG OpenMP sse2 avx Python |
Recent releases


Release Notes: This release fixes problems with compilation, adds optional support for the fft provided by intel MKL, and allows multi-threaded and single-threaded libraries to be installed side-by-side. The multi-threaded fftw is detected more reliably. The timing program now works on MacOS X and requires less memory. There are also other minor fixes and improvements.


Release Notes: This release adds new functions to access more data structures (m, gauss nodes, etc.) and allows some special operators to be applied in spectral space without performing a transform (like multiplication by cos(theta)). There are also minor improvements and two important bugfixes (one specific to openmp, the other to clang).


Release Notes: This release applies the previous critical bugfix to the OpenMP parallel code.


Release Notes: This release fixes an imported bug which led to wrong results when computing gradients (functions SHtor_to_spat and SHsph_to_spat) with on-the-fly transforms. Other transform functions have been not affected, and only the on-the-fly algorithm was wrong for mmax > 0. All users should upgrade.


Release Notes: This minor release fixes a few bugs in the build system and comes with an improved Python interface, thanks to two new very simple methods, synth() and analys().