I just submitted SphericalBesselTransforms.jl the registrator.
It's a fairly direct translation of pySBT which implements the algorithm described in Talman, Comp. Phys. Comms. 180, 332 (2009) for the SBT/Hankel transform of functions on a logarithmic radial mesh in O(Nlog(N)) time using FFTs.
The implementation is fairly minimal, and the interface is not super ergonomic at the moment. I spent some time with the profiler to make sure it's pretty fast, so the typing might be a bit too strict.
An implementation in DFTK would probably also require some interpolation because the transform returns g(k) on a logarithmic grid. For AD support, we'd also need to write a rule.
I wrote up a quick example here which does the transforms for HGH pseudos and compares with the analytic reference. It seems to do quite well, but I should probably also compare to simpson integration / QuadGK.jl.
I just submitted SphericalBesselTransforms.jl the registrator.
It's a fairly direct translation of pySBT which implements the algorithm described in Talman, Comp. Phys. Comms. 180, 332 (2009) for the SBT/Hankel transform of functions on a logarithmic radial mesh in O(Nlog(N)) time using FFTs.
The implementation is fairly minimal, and the interface is not super ergonomic at the moment. I spent some time with the profiler to make sure it's pretty fast, so the typing might be a bit too strict.
An implementation in DFTK would probably also require some interpolation because the transform returns
g(k)on a logarithmic grid. For AD support, we'd also need to write a rule.I wrote up a quick example here which does the transforms for HGH pseudos and compares with the analytic reference. It seems to do quite well, but I should probably also compare to simpson integration / QuadGK.jl.