Skip to content

Consider using SphericalBesselTransforms.jl for log-grid pseudos #1258

@azadoks

Description

@azadoks

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions