|
Triumvirate C++ API 0.5.0
Three-point clustering measurements in large-scale structure analyses.
|
#include <fftlog.hpp>
Inheritance diagram for trv::maths::SphericalBesselTransform:
Collaboration diagram for trv::maths::SphericalBesselTransform:Public Member Functions | |
| SphericalBesselTransform (int ell, int n, bool threaded=true) | |
| Construct the spherical Bessel transform. | |
| void | initialise (std::vector< double > sample_pts, double kr_c, bool lowring=true, trva::ExtrapOption extrap=trva::ExtrapOption::NONE, double extrap_exp=2.) |
| Initialise the spherical Bessel transform. | |
| void | initialise (std::vector< double > sample_pts, double kr_c, bool lowring=true, int extrap=0, double extrap_exp=2.) |
| Initialise the spherical Bessel transform. | |
| void | biased_transform (std::vector< std::complex< double > > &a, std::vector< std::complex< double > > &b) |
| Perform the (forward biased) spherical Bessel transform. | |
| void | transform_cosmological_multipole (int dir, std::vector< std::complex< double > > &pre_samples, std::vector< std::complex< double > > &post_samples) |
| Transform csomological multipole samples. | |
Public Member Functions inherited from trv::maths::HankelTransform | |
| HankelTransform (double mu, double q, bool threaded=true) | |
| Construct the Hankel transform. | |
| ~HankelTransform () | |
| Destruct the Hankel transform. | |
| void | initialise (std::vector< double > sample_pts, double kr_c, bool lowring=true, trva::ExtrapOption extrap=trva::ExtrapOption::NONE, double extrap_exp=2.) |
| Initialise the Hankel transform. | |
| void | initialise (std::vector< double > sample_pts, double kr_c, bool lowring=true, int extrap=0, double extrap_exp=2.) |
| Initialise the Hankel transform. | |
| void | biased_transform (std::complex< double > *a, std::complex< double > *b) |
| Perform the (forward biased) Hankel transform. | |
| std::vector< std::complex< double > > | compute_kernel_coeff () |
| Compute the FFTLog transform kernel coefficients \( u \). | |
| double | calc_lowring_pivot (double delta, double kr_c=1.) |
| Calculate a low-ringing FFTLog transform pivot value \( k r = k_c r_c \). | |
Public Attributes | |
| int | degree |
| degree of the spherical Bessel transform | |
Public Attributes inherited from trv::maths::HankelTransform | |
| double | order |
| order of the Hankel transform | |
| double | bias |
| power-law bias index | |
| int | nsamp = 0 |
| number of samples provided | |
| int | nsamp_trans = 0 |
| number of samples transformed | |
| double | logres = 0. |
| logarithmic interval sample spacing | |
| double | pivot = 1. |
| pivot value | |
| std::vector< double > | pre_sampts |
| logarithmically linearly-spaced sample points pre-transform | |
| std::vector< double > | post_sampts |
| logarithmically linearly-spaced sample points post-transform | |
Definition at line 233 of file fftlog.hpp.
| trv::maths::SphericalBesselTransform::SphericalBesselTransform | ( | int | ell, |
| int | n, | ||
| bool | threaded = true ) |
Construct the spherical Bessel transform.
| ell | Degree of the spherical Bessel transform. |
| n | Power-law bias index. |
| threaded | If true (default), use multi-threads FFT. |
Definition at line 402 of file fftlog.cpp.
| void trv::maths::SphericalBesselTransform::initialise | ( | std::vector< double > | sample_pts, |
| double | kr_c, | ||
| bool | lowring = true, | ||
| trva::ExtrapOption | extrap = trva::ExtrapOption::NONE, | ||
| double | extrap_exp = 2. ) |
Initialise the spherical Bessel transform.
This sets up the underlying Hankel transform with order \( \mu = \ell + 1/2 \). The low-ringing pivot value is enforced from an initial value of 1.
| sample_pts | Logarithmically linearly-spaced sample points. Must be even in length if extrapolation is enabled. |
| kr_c | Pivot value. |
| lowring | If true (default), set the pivot value by the low-ringing condition. |
| extrap | Extrapolation option. If not trv::array::ExtrapOption::NONE (default), the sample size for the transform is the smallest power of 2 that is greater than or equal to extrap_exp times the original number of sample points; the pre-transform samples are assumed to be real and must be even in length. |
| extrap_exp | Sample size expansion factor (default is 2) for extrapolation. The smallest power of 2 greater than or equal to this times the original number of sample points is used as the sample size for the transform. |
Definition at line 408 of file fftlog.cpp.
Here is the call graph for this function:| void trv::maths::SphericalBesselTransform::initialise | ( | std::vector< double > | sample_pts, |
| double | kr_c, | ||
| bool | lowring = true, | ||
| int | extrap = 0, | ||
| double | extrap_exp = 2. ) |
Initialise the spherical Bessel transform.
This sets up the underlying Hankel transform with order \( \mu = \ell + 1/2 \). The low-ringing pivot value is enforced from an initial value of 1.
| sample_pts | Logarithmically linearly-spaced sample points. Must even in length if extrapolation is enabled. |
| kr_c | Pivot value. |
| lowring | If true (default), set the pivot value by the low-ringing condition. |
| extrap | Extrapolation option. If not 0 (default), the sample size for the transform is the smallest power of 2 that is greater than or equal to extrap_exp times the original number of sample points; the pre-transform samples are assumed to be real and must be even in length. |
| extrap_exp | Sample size expansion factor (default is 2) for extrapolation. The smallest power of 2 greater than or equal to this times the original number of sample points is used as the sample size for the transform. |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 415 of file fftlog.cpp.
Here is the call graph for this function:| void trv::maths::SphericalBesselTransform::biased_transform | ( | std::vector< std::complex< double > > & | a, |
| std::vector< std::complex< double > > & | b ) |
Perform the (forward biased) spherical Bessel transform.
The transform is defined here as
\[ b(k) = 4\pi \int_0^\infty r^2 \mathrm{d}r \, (k r)^q j_\ell(k r) a(r) \,. \]
| [in] | a | Pre-transform sample values. Must even in length if extrapolation is enabled. |
| [out] | b | Post-transform sample values. |
extrap, the pre-transform samples are assumed to be real. Definition at line 422 of file fftlog.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void trv::maths::SphericalBesselTransform::transform_cosmological_multipole | ( | int | dir, |
| std::vector< std::complex< double > > & | pre_samples, | ||
| std::vector< std::complex< double > > & | post_samples ) |
Transform csomological multipole samples.
| [in] | dir | Transform direction: +1 (forward) for configuration to Fourier space, -1 (backward) for Fourier to configuration space. |
| [in] | pre_samples | Pre-transform multipole samples. Must be even in length if extrapolation is enabled. |
| [out] | post_samples | Post-transform multipoles samples. |
extrap not trv::array::ExtrapOption::NONE, the pre-transform samples are assumed to be real. Definition at line 452 of file fftlog.cpp.
Here is the call graph for this function:| int trv::maths::SphericalBesselTransform::degree |
degree of the spherical Bessel transform
Definition at line 235 of file fftlog.hpp.