Goal
The current implementation of the lens magnification Hankel transform in the _gamma_t_LSS function is slow. We should improve the performance by changing to an FFTLog based Hankel transform, such as the ifht provided by scipy.
Scope
Refactor src/dsf/data_vector/mag_bias.py to use FFTLog instead of direct integration.
This will be a $J_2$ transformation from $C_\ell$ to $\gamma_t$ ; we already have a $j_0$ transformation implemented in src/dsf/utils/converters.py as power_spectrum_to_correlation. We should therefore add another converter in this same style for the $J_2$ transformation which we can call in mag_bias.py. We can also consider moving both of the Hankel transforms into src/dsf/utils/integrators.py, and then adding wrappers in src/dsf/utils/converters.py. But this would probably be a separate issue + PR which we can address later.
Acceptance criteria
Goal
The current implementation of the lens magnification Hankel transform in the
_gamma_t_LSSfunction is slow. We should improve the performance by changing to an FFTLog based Hankel transform, such as the ifht provided byscipy.Scope
Refactor
src/dsf/data_vector/mag_bias.pyto use FFTLog instead of direct integration.This will be a$J_2$ transformation from $C_\ell$ to $\gamma_t$ ; we already have a $j_0$ transformation implemented in $J_2$ transformation which we can call in
src/dsf/utils/converters.pyaspower_spectrum_to_correlation. We should therefore add another converter in this same style for themag_bias.py. We can also consider moving both of the Hankel transforms intosrc/dsf/utils/integrators.py, and then adding wrappers insrc/dsf/utils/converters.py. But this would probably be a separate issue + PR which we can address later.Acceptance criteria
_gamma_t_LSSis refactored and passes all tests/benchmarks.src/dsf/utils/converters.py.