Function trv::maths::hankel_transform#

Function Documentation#

void trv::maths::hankel_transform(double mu, double q, double kr_c, int N, bool lowring, double *r, std::complex<double> *a, double *k, std::complex<double> *b, std::complex<double> *u)#

Perform the (forward) Hankel transform.

The transform is defined here as

\[ b(k) = \int_0^\infty k \mathrm{d}r \, (k r)^q J_\mu(k r) a(r) \,. \]

Parameters
  • mu[in] Order of the Hankel transform.

  • q[in] FFTLog power-law bias index.

  • N[in] Sample number.

  • kr_c[in] (Initial) pivot value.

  • lowring[in] Boolean low-ringing condition.

  • r[in] Pre-transform sample points.

  • a[in] Pre-transform sample values.

  • k[out] Post-transform sample points.

  • b[out] Post-trasform sample values.

  • u[out] FFTLog transform kernel coefficients.