halomod.halo_exclusion.Exclusion¶
- class halomod.halo_exclusion.Exclusion(m, density, Ifunc, bias, r, delta_halo, mean_density)[source]¶
Base class for exclusion models.
All models will need to perform single or double integrals over arrays that may have an extra two dimensions. The maximum possible size is k*r*m*m, which for normal values of the vectors equates to ~ 1000*50*500*500 = 12,500,000,000 values, which in 64-bit reals is 1e11 bytes = 100GB. We thus limit this to a maximum of either k*r*m or r*m*m, both of which should be less than a GB of memory.
It is possibly better to limit it to k*r or m*m, which should be quite memory efficient, but then without accelerators (ie. Numba), these will be very slow.
Methods
__init__
(m, density, Ifunc, bias, r, …)Initialize self.
Get a dictionary of all implemented models for this component.
Integrate the
raw_integrand()
over mass.Return either a 2d (k,m) or 3d (r,k,m) array with the general integrand.