onepower.ia.SatelliteAlignment.compute_uell_gamma_r_hankel#
- property SatelliteAlignment.compute_uell_gamma_r_hankel#
Computes a 4D array containing u_ell as a function of l, z, m, and k. THIS FUNCTION IS THE SLOWEST PART!
h_transf = HankelTransform(ell+0.5,N_hankel,pi/N_hankel) Note even though ell is not used in this function, h_transf depends on ell We initialize the class in setup as it only depends on predefined ell values
Note: I experimented coding the use of Simpson integration for where the Bessel function is flat and then switching to the Hankel transform for where the Bessel function oscillates. This is more accurate than using the Hankel transform for all k values with lower accuracy settings, but it’s slower than using the Hankel transform for all k values. It’s also difficult to decide how to define the transition between the two methods. Given that low-k accuracy is unimportant for IA, I’ve decided to use the Hankel transform for all k values.