zeus21.correlations

Code to compute correlation functions from power spectra and functions of them. Holds two classes:

Correlations (with matter correlation functions smoothed over different R), Power_Spectra (which will compute and hold the 21-cm power spectrum and power for derived quantities like xa, Tk, etc.).

Authors: zeus21 v2 collaboration - June 2026

Emily Bregou ; Hector Afonso G. Cruz ; Sarah Libanore ; Julian B. Muñoz ; Yonny Sklansky ; Emilie Thélie ; Alessandra Venditti

arXiv:2302.08506, arXiv:2306.09403, arXiv:2407.18294, Sklansky et al. (in prep)

Classes

Power_Spectra

Get the 21-cm power spectrum and its components from correlation functions and coefficients

Module Contents

class zeus21.correlations.Power_Spectra(UserParams, CosmoParams, AstroParams, T21coeffs, RSD_MODE=1)[source]

Get the 21-cm power spectrum and its components from correlation functions and coefficients

Parameters:
  • UserParams (UserParams class)

  • CosmoParams (CosmoParams class)

  • AstroParams (AstroParams class)

  • T21coeffs (T21coeffs class)

  • RSD_MODE (int) – Choice of redshift-space distortion mode. 0 = None (mu=0), just for comparison with real-space 1 = Spherical avg (like 21-cmFAST), standard assumption in sims 2 = LoS only (mu=1), more observationally relevant Default is 1

Basic Setup Attributes
self.klist_PS

Input array of wavenumbers used in inputs.py

Type:

array

self.kwindow

Output array of wavenumbers used in window function calls. Identical to klist_PS

Type:

array

Window Function Attributes
self.windowalpha_II

Linear Pop II LyA window functions. Dimension (z, k)

Type:

matrix

self.windowalpha_III

Linear Pop III LyA window functions. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

self.windowxray_II

Linear Pop II Xray window functions. Dimension (z, k)

self.windowxray_III

Linear Pop III Xray window functions. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Baryon Power Spectra Attributes (Used only if UserParams.USE_BARYON_FLAG == True)
self.pK_bOnlyCLASS_intp

Baryon-only power spectrum, interpolated over redshift z and wavenumber k

Type:

interpolator

self.pK_bANDcbCLASS_intp

Baryon-CDM cross power spectrum, interpolated over redshift z and wavenumber k

Type:

interpolator

Linear Power Spectra
self.Deltasq_xa_lin_II

Linear Pop II contribution to LyA power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xa_lin_III

Linear Pop III contribution to LyA power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False Density-only power spectra used

Type:

matrix

self.Deltasq_xa_lin_IIxIII

Linear Pop II x III cross contribution to LyA power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_Tx_lin_II

Linear Pop II contribution to Xray power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_Tx_lin_III

Linear Pop III contribution to Xray power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False Density-only power spectra used (no linear eta power spectra)

Type:

matrix

self.Deltasq_Tx_lin_IIxIII

Linear Pop II x III cross contribution to Xray power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_xaTx_lin_II

Linear Pop II contribution to LyA-Xray cross spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xaTx_lin_III

Linear Pop III contribution to LyA-Xray cross spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False Density-only power spectra used (no linear eta power spectra)

Type:

matrix

self.Deltasq_xaTx_lin_IIxIII

Linear Pop II x III cross contribution to LyA-Xray cross spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_d_lin

Linear LSS power spectra. Dimension (z, k) Set to P_baryon(k) if UserParams.USE_BARYON_FLAG == True

Type:

matrix

self.Deltasq_dxa_lin_II

Linear Pop II density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True

Type:

matrix

self.Deltasq_dxa_lin_III

Linear Pop III density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_dTx_lin_II

Linear Pop II density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True

Type:

matrix

self.Deltasq_dTx_lin_III

Linear Pop III density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

Total Power Spectra (including nonlinear corrections)
self.Deltasq_xa_II

Nonlinear Pop II contribution to LyA power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xa_III

Nonlinear Pop III contribution to LyA power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_xa_IIxIII

Nonlinear Pop II x III cross contribution to LyA power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_Tx_II

Nonlinear Pop II contribution to Xray power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_Tx_III

Nonlinear Pop III contribution to Xray power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_Tx_IIxIII

Nonlinear Pop II x III cross contribution to Xray power spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_xaTx_II

Nonlinear Pop II contribution to LyA-Xray cross spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xaTx_III

Nonlinear Pop III contribution to LyA-Xray cross spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_xaTx_IIxIII

Nonlinear Pop II x III cross contribution to LyA-Xray cross spectrum. Dimension (z, k) Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_d

Nonlinear LSS power spectra. Dimension (z, k) Set to P_baryon(k) if UserParams.USE_BARYON_FLAG == True

Type:

matrix

self.Deltasq_dxa_II

Nonlinear Pop II density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True

Type:

matrix

self.Deltasq_dxa_III

Nonlinear Pop III density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

self.Deltasq_dTx_II

Nonlinear Pop II density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True

Type:

matrix

self.Deltasq_dTx_III

Nonlinear Pop III density-LyA cross power spectrum. Dimension (z, k) Uses P_baryonXcdm(k) if UserParams.USE_BARYON_FLAG == True Set to zero if AstroParams.USE_POPIII == False

Type:

matrix

Combined (Pop II + Pop III) Total Power Spectra
self.Deltasq_d

Total density power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_dxa

Total density-LyA cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_dTx

Total density-Xray cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xa

Total LyA power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xaTx

Total LyA-Xray cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_Tx

Total Xray power spectrum. Dimension (z, k)

Type:

matrix

Ionization/Bubble Related Power Spectra
self.Deltasq_xion

Nonlinear ionization power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xion_lin

Linear ionization power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_dxion

Nonlinear density-ionization cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_dxion_lin

Linear density-ionization cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xaxion

Nonlinear LyA-ionization cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_xaxion_lin

Linear LyA-ionization cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_Txxion

Nonlinear Xray-ionization cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_Txxion_lin

Linear Xray-ionization cross power spectrum. Dimension (z, k)

Type:

matrix

Final 21-cm Power Spectra
self.Deltasq_T21

Total nonlinear 21-cm power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_T21_lin

Total linear 21-cm power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_dT21

Nonlinear Density-21 cm cross power spectrum. Dimension (z, k)

Type:

matrix

self.Deltasq_dT21_lin

Linear Density-21 cm cross power spectrum. Dimension (z, k)

Type:

matrix

klist_PS[source]
RSD_MODE = 1[source]
Deltasq_xa_lin_II[source]
Deltasq_xa_lin_III[source]
Deltasq_xa_lin_IIxIII[source]
Deltasq_xa_II[source]
Deltasq_xa_III[source]
Deltasq_xa_IIxIII[source]
Deltasq_Tx_lin_II[source]
Deltasq_Tx_lin_III[source]
Deltasq_Tx_lin_IIxIII[source]
Deltasq_Tx_II[source]
Deltasq_Tx_III[source]
Deltasq_Tx_IIxIII[source]
Deltasq_xaTx_lin_II[source]
Deltasq_xaTx_lin_III[source]
Deltasq_xaTx_lin_IIxIII[source]
Deltasq_xaTx_II[source]
Deltasq_xaTx_III[source]
Deltasq_xaTx_IIxIII[source]
Deltasq_d_lin[source]
Deltasq_dxa_lin_II[source]
Deltasq_dxa_lin_III[source]
Deltasq_dTx_lin_II[source]
Deltasq_dTx_lin_III[source]
Deltasq_d[source]
Deltasq_dxa_II[source]
Deltasq_dxa_III[source]
Deltasq_dTx_II[source]
Deltasq_dTx_III[source]
Deltasq_dxa[source]
Deltasq_dTx[source]
Deltasq_xa[source]
Deltasq_xaTx[source]
Deltasq_Tx[source]
Deltasq_T21[source]
Deltasq_dT21[source]
Deltasq_dxa_lin[source]
Deltasq_dTx_lin[source]
Deltasq_xa_lin[source]
Deltasq_xaTx_lin[source]
Deltasq_Tx_lin[source]
Deltasq_T21_lin[source]
Deltasq_dT21_lin[source]
get_xa_window(CosmoParams, AstroParams, T21coeffs, pop=0)[source]

Computes the LyA window functions for each stellar population across z and k.

Parameters:
  • CosmoParams (CosmoParams class)

  • AstroParams (AstroParams class)

  • T21coeffs (T21coeffs class)

  • pop (int) – Which stellar population to use. 2 for Pop II, 3 for Pop III.

Returns:

  • _kwinalpha (array) – Array of wavenumbers

  • _win_alpha (matrix) – Matrix of LyA window functions. Dimension (z, k)

get_Tx_window(CosmoParams, AstroParams, T21coeffs, pop=0)[source]

Computes the Xray window functions for each stellar population across z and k.

Parameters:
  • CosmoParams (CosmoParams class)

  • AstroParams (AstroParams class)

  • T21coeffs (T21coeffs class)

  • pop (int) – Which stellar population to use. 2 for Pop II, 3 for Pop III.

Returns:

  • _kwinTx (array) – Array of wavenumbers

  • _win_Tx (matrix) – Matrix of Xray window functions. Dimension (z, k)

get_all_corrs_II(UserParams, CosmoParams, AstroParams, T21coeffs)[source]

Computes the Pop II correlation functions across z and R.

Parameters:
  • UserParams (UserParams class)

  • CosmoParams (CosmoParams class)

  • AstroParams (AstroParams class)

  • T21coeffs (T21coeffs class)

Return type:

Attributes stored in Power_Spectra

get_all_corrs_IIxIII(CosmoParams, T21coeffs)[source]

Computes the Pop IIxIII cross correlation functions across z and R.

Parameters:
  • CosmoParams (CosmoParams class)

  • T21coeffs (T21coeffs class)

Return type:

Attributes stored in Power_Spectra

get_xi_Sum_2ExpEta(xiEta, etaCoeff1, etaCoeff2)[source]

Computes the correlation function of the VCB portion of the SFRD, expressed using sums of two exponentials if rho(z1, x1) / rhobar = Ae^-b tilde(eta) + Ce^-d tilde(eta) and rho(z2, x2) / rhobar = Fe^-g tilde(eta) + He^-k tilde(eta) Then this computes <rho(z1, x1) * rho(z2, x2)> - <rho(z1, x1)> <rho(z2, x2)> Refer to eq. A12 in 2407.18294 for more details

Parameters:
  • xiEta (matrix) – Matrix of Eta correlation function. Dimension (corrEtaNL)

  • etaCoeff1 (matrix) – Stored Eta parameters in T21coeffs.vcb_expFitParams. Dimension (vcbCoeffsR1)

  • etaCoeff2 (matrix) – Stored Eta parameters in T21coeffs.vcb_expFitParams. Dimension (vcbCoeffsR2)

Returns:

xiTotal – Total <rho(z1, x1) * rho(z2, x2)> - <rho(z1, x1)> <rho(z2, x2)> power spectra

Return type:

matrix

get_all_corrs_III(UserParams, CosmoParams, T21coeffs)[source]

Computes the Pop III correlation functions across z and R.

Parameters:
  • UserParams (UserParams class)

  • CosmoParams (CosmoParams class)

  • T21coeffs (T21coeffs class)

Return type:

Attributes stored in Power_Spectra