GGGGCorrelation: Shear-Shear-Shear-Shear Correlations

class orpheus.GGGGCorrelation_NoTomo(min_sep, max_sep, thetabatchsize_max=10000, method='Tree', **kwargs)[source]

Bases: BinnedNPCF

Class containing methods to measure and obtain statistics that are built from nontomographic fourth-order shear correlation functions.

min_sep

The smallest distance of each vertex for which the NPCF is computed.

Type

float

max_sep

The largest distance of each vertex for which the NPCF is computed.

Type

float

thetabatchsize_max

The largest number of radial bin combinations that are processed in parallel. Defaults to 10 000.

Type

int, optional

Notes

Inherits all other parameters and attributes from BinnedNPCF. Additional child-specific parameters can be passed via kwargs. Either nbinsr or binsize has to be provided to fix the binning scheme.

__init__(min_sep, max_sep, thetabatchsize_max=10000, method='Tree', **kwargs)[source]
process(cat, statistics='all', tofile=False, apply_edge_correction=False, projection='X', lowmem=None, mapradii=None, batchsize=None, custom_thetacombis=None, cutlen=2147483647)[source]

Arguments:

Logic works as follows: * Keyword ‘statistics’ in [4pcf_real, 4pcf_multipoles, M4, Map4, M4c, Map4c, allMap, all4pcf, all] * - If 4pcf_multipoles in statistics –> save 4pcf_multipoles * - If 4pcf_real in statistics –> save 4pcf_real * - If only M4 in statistics –> Do not save any 4pcf. This is really the lowmem case. * - allMap, all4pcf, all are abbreviations as expected * If lowmem=True, uses the inefficient, but lowmem function for computation and output statistics from there as wanted. * If lowmem=False, use the fast functions to do the 4pcf multipole computation and do the potential conversions lateron. * Default lowmem to None and * - Set to true if any aperture statistics is in stats or we will run into mem error * - Set to false otherwise * - Raise error if lowmem=False and we will have more than 2^31-1 elements at any stage of the computation

custom_thetacombis: array of inds which theta combis will be selected

multipoles2npcf_c(projection='X')[source]

Converts a 4PCF in the multipole basis in the real space basis.

multipoles2npcf_singlethetcombi(elthet1, elthet2, elthet3, projection='X')[source]

Converts a 4PCF from the multipole basis to the real-space basis for a fixed combination of radial bins.

multipoles2npcf_gggg_singletheta_nconvergence(elthet1, elthet2, elthet3, projection='X')[source]

Checks convergence of the conversion between multipole-space and real space for a combination of radial bins.

computeMap4(radii, nmax_trafo=None, basis='MapMx')[source]

Computes the fourth-order aperture mass statistics using the polynomial filter of Crittenden 2002.

projectnpcf(projection)[source]
_x2centroid()[source]
static fourpcf_gauss_x(theta1, theta2, theta3, phi12, phi13, xipspl, ximspl)[source]

Computes disconnected part of the 4pcf in the ‘x’-projection given a splined 2pcf

__gauss4pcf_analytic(theta1, theta2, theta3, xip_arr, xim_arr, thetamin_xi, thetamax_xi, dtheta_xi)
gauss4pcf_analytic(itheta1, itheta2, itheta3, nsubr, xip_arr, xim_arr, thetamin_xi, thetamax_xi, dtheta_xi)[source]
gauss4pcf_multipolebasis(itheta1, itheta2, itheta3, nsubr, xip_arr, xim_arr, thetamin_xi, thetamax_xi, dtheta_xi)[source]
estimateMap4disc(cat, radii, basis='MapMx', fac_minsep=0.05, fac_maxsep=2.0, binsize=0.1, nsubr=3, nsubsample_filter=1)[source]

Estimate disconnected part of fourth-order aperture statistics on a shape catalog.

Map4analytic(mapradii, xip_spl, xim_spl, thetamin_xi, thetamax_xi, ntheta_xi, nsubr=1, nsubsample_filter=1, batchsize=None, basis='MapMx')[source]
getMultipolesFromSymm(nmax_rec, itheta1, itheta2, itheta3, eltrafo)[source]
static MMStar2MapMx_fourth(res_MMStar)[source]

Transforms fourth-order aperture correlators to fourth-order aperture mass. See i.e. Eqs (32)-(36) in Silvestre-Rosello+ 2025 (arxiv.org/pdf/2509.07973).

__annotations__ = {}
__module__ = 'orpheus.npcf_fourth'