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
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
- 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