11institutetext: SISSA, Via Bonomea 265, 34136 Trieste, Italy
11email: jyao@sissa.it
22institutetext: INFN, Via Valerio 2, 34127 Trieste, Italy 33institutetext: IFPU, Via Beirut 2, 34014 Trieste, Italy 44institutetext: Instituto de Astrofísica de Andalucía, Glorieta de la Astronomía s/n, 18008 Granada, Spain 55institutetext: Dipartimento di Fisica e Astronomia, Università degli Studi di Catania, via S. Sofia, 64, 95123, Catania, Italy 66institutetext: INFN - Sezione di Catania, Via S. Sofia 64, 95123 Catania, Italy 77institutetext: INAF - Osservatorio Astrofisico di Catania, via S. Sofia 78, 95123 Catania, Italy

ForSE+: Simulating non-Gaussian CMB foregrounds at 3 arcminutes in a stochastic way based on a generative adversarial network

Jian Yao \orcid0000-0003-0813-9480 112233    Nicoletta Krachmalnicoff \orcid0000-0002-5501-8449 112233    Marianna Foschi \orcid0000-0001-8147-4993 44    Giuseppe Puglisi \orcid0000-0002-0689-4290 556677    Carlo Baccigalupi 112233

We present ForSE+, a Python package that produces non-Gaussian diffuse Galactic thermal dust emission maps at arcminute angular scales and that has the capacity to generate random realizations of small scales. This represents an extension of the ForSE (Foreground Scale Extender) package, which was recently proposed to simulate non-Gaussian small scales of thermal dust emission using generative adversarial networks (GANs). With the input of the large-scale polarization maps from observations, ForSE+ has been trained to produce realistic polarized small scales at 333\arcmin3 ′ following the statistical properties, mainly the non-Gaussianity, of observed intensity small scales, which are evaluated through Minkowski functionals. Furthermore, by adding different realizations of random components to the large-scale foregrounds, we show that ForSE+ is able to generate small scales in a stochastic way. In both cases, the output small scales have a similar level of non-Gaussianity compared with real observations and correct amplitude scaling as a power law. These realistic new maps will be useful, in the future, to understand the impact of non-Gaussian foregrounds on the measurements of the cosmic microwave background (CMB) signal, particularly on the lensing reconstruction, de-lensing, and the detection of cosmological gravitational waves in CMB polarization B-modes.

Key Words.:
Cosmology: Cosmic Microwave Background, Cosmology: diffuse radiation, methods: data analysis
\nolinenumbers

1 Introduction

The cosmic microwave background (CMB) contains valuable information about the initial conditions in the early Universe and physical processes that happened during its propagation from the last scattering surface to our observation (Hu & Dodelson, 2002). In addition to the great success of observations and interpretation of the CMB total intensity signal, mainly sourced by scalar perturbations (Hinshaw et al., 2013; Planck Collaboration VI, 2020), the focus of experimental efforts has now been transferred to the observations of the CMB polarization signal. In particular, the quest for the curl or B-mode component in the CMB polarized signal has drawn the most attention nowadays, as it can be a unique probe of primordial gravitational waves (PGWs, i.e., tensor-mode cosmological perturbations) (Zaldarriaga & Seljak, 1997; Kamionkowski et al., 1997; Kamionkowski & Kovetz, 2016). These tensor perturbations are predicted by the families of inflationary theories, which describe a history of accelerated expansion in the very early Universe (Guth, 1981). Great efforts are being made with many ongoing and future telescopes, including ground-based ones, such as PolarBear111Polarization of the Background Radiation experiment (POLARBEAR Collaboration, 2022), SPT222South Pole Telescope (SPT Collaboration, 2023), ACT333Atacama Cosmology Telescope (Madhavacheril et al., 2024), SO444Simons Observatory(Ade et al., 2019), CMB-S4555CMB-Stage-IV (Abazajian et al., 2016), BICEP666Background Imaging of Cosmic Extragalactic Polarization (The BICEP/Keck Collaboration, 2022), and AliCPT777Ali CMB Polarization Telescope (Li et al., 2018), balloon-borne ones such as SPIDER888Suborbital Polarimeter for Inflation Dust and the Epoch of Reionization (Spider Collaboration, 2022), and telescopes on satellites, like LiteBIRD999Lite (Light) satellite for the studies of B-mode polarization and Inflation from the cosmic background Radiation Detection (LiteBIRD Collaboration et al., 2023). The tightest constraint on the amplitude of the PGW, in terms of the tensor-to-scalar ratio, rAT/AS𝑟subscript𝐴𝑇subscript𝐴𝑆r\equiv A_{T}/A_{S}italic_r ≡ italic_A start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT / italic_A start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT, is r<0.032𝑟0.032r<0.032italic_r < 0.032 (Tristram et al., 2022), at a 95%percent9595\%95 % confidence level.

While the scalar perturbations do not contribute to the CMB B-modes and only source the parity-even E-modes, the gravitational lensing effect from the forming cosmological structures along the propagation of CMB photons, with a typical deflection angle of a few arcmins, converts a small portion of E-modes into B-ones. These lensing-induced B-modes dominate over the PGWs at arcminute angular scales (Hu, 2000; Planck Collaboration VIII, 2020). Some inflationary models also predict nearly Gaussian statistics of the CMB anisotropies with small deviations known as primordial non-Gaussianity (PNG), which can be used to further constrain the vast space of inflationary theories that go beyond a simple single field slow roll scenario (Bartolo et al., 2004; Planck Collaboration IX, 2020). However, the lensing effect will also induce non-Gaussianity into the distribution of CMB photons by distorting the paths and coupling different multipole bins of power spectra.

Despite being a contaminant to PGWs and PNG, CMB lensing carries cosmological information on processes occurring during structure formation, on neutrino masses (Allison et al., 2015), and Dark Energy (Acquaviva & Baccigalupi, 2006). Effective techniques capable of reconstructing the lensing field have been developed, mainly relying on detecting the non-Gaussianity presented in the observed CMB maps (Hu & Okamoto, 2002; Maniyar et al., 2021). The latest detection of lensing potential comes from the ACT experiment, which achieves a 43σ43𝜎43\sigma43 italic_σ detection of the CMB lensing signal (Qu et al., 2024).

The primary source of contamination to CMB B-modes arises from astrophysical processes causing diffuse emissions within our own Galaxy. The two main polarized components are represented by the thermal dust and synchrotron emission, dominating at high (70greater-than-or-equivalent-toabsent70\gtrsim 70≳ 70 GHz) and low (70less-than-or-similar-toabsent70\lesssim 70≲ 70 GHz) frequencies, respectively, exceeding the CMB B-mode signal in any frequency and any position on the sky (Krachmalnicoff et al., 2016, 2018). They are caused by dust grains heated by starlight, exhibiting a quasi-thermal emission at about 18 K, and cosmic ray electrons spiraling around the lines of the Galactic magnetic field, respectively. The class of data analysis algorithms capable of extracting the cosmological B-mode anisotropies out of a multi-frequency dataset is known as component separation. Several implementations exist, exploiting the different properties that CMB and foregrounds have, such as frequency dependency and spatial distribution. Depending on the assumptions made about the foregrounds, these methods can generally be classified into blind (Yao et al., 2018; Santos et al., 2021; Zhang et al., 2019; Delabrouille et al., 2009) and parametric ones (Stompor et al., 2009; Planck Collaboration IV, 2020; BeyondPlanck Collaboration I, 2023).

Unlike the CMB, diffuse foregrounds generically exhibit a large degree of non-Gaussianity. This comes primarily from large-scale observations (Coulton & Spergel, 2019; Allys et al., 2019) and is expected to also be true at smaller scales, since dust grains are highly locally distributed and the magnetic field in the diffuse interstellar medium is highly turbulent. The foreground non-Gaussianity introduces coupling between different modes in the angular power spectra, which induces non-diagonal terms in the covariance matrices of the observed signal. On the other hand, covariance matrices are usually treated as diagonal under the assumption that all the sky components behave like Gaussian random fields. Additionally, approaches relying on power spectra will inherently ignore the non-Gaussianity, as the two-point functions are insufficient in capturing its presence. Therefore, the existence of non-Gaussianity in the Galactic foregrounds will potentially induce systematic errors in primordial B-mode detection.

Abril-Cabezas et al. (2024) claim that the constraints on r𝑟ritalic_r are robust against the non-Gaussianity in the polarized dust at the power spectra level, but they only focus on 303003030030\leq\ell\leq 30030 ≤ roman_ℓ ≤ 300, the angular scales at which the PGWs cause a maximum B-mode contribution known as recombination bump. At smaller scales where lensing dominates, non-Gaussian foreground will possibly cause bias to lensing reconstruction (Beck et al., 2020) and de-lensing. Moreover, non-Gaussianity also affects PNG measurements (Cabella et al., 2010).

The main reason for neglecting non-Gaussianity is that observations of foregrounds at arcminute scales are lacking, and so is our capability of generating realizations of simulations of their patterns. Current observations of polarized foregrounds are limited to degree scales over a large sky fraction and can only reach a higher resolution at sub-degree or arcminute scales for portions of the sky (Planck Collaboration XI, 2020; Bernardi et al., 2004; Remazeilles et al., 2015).

The way to simulate foregrounds relies on data and phenomenology. Foreground observations at a given frequency are used as templates and extrapolated to other frequency bands by making assumptions about their spectral energy distributions (SEDs). These templates are mostly based on the observations by the Planck (Planck Collaboration IV, 2020) and Wilkinson Microwave Anisotropy Probe (WMAP) satellite observations (Remazeilles et al., 2015; Bennett et al., 2013), which characterize the signal down to a limited angular resolution (around 1superscript11^{\circ}1 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT). There exist several widely used packages that simulate Galactic foreground maps, such as the Python Sky Model (PySM, Thorne et al. (2017)) and Planck Sky Model (Delabrouille et al., 2013). The latest version of PySM3 package (Zonca et al., 2021; PanEx Collaboration, 2024) uses foreground templates from the latest available observations and extrapolates them to arcminute angular scales. These packages usually fit a power law to the observed large-scale power spectra of foregrounds and extrapolate to small scales with Gaussian realizations of them. Although commonly used, these packages are not able to produce foreground small scales with significant non-Gaussianity comparable to the observed large scales.

Clark & Hensley (2019) provides a data-driven framework to construct three-dimensional Stokes parameter maps of thermal dust emission in position–position–velocity space using only neutral hydrogen data on the basis that HI is strongly correlated with the dust in the diffuse interstellar medium (Lenz et al., 2017). By integrating over the velocity space, they obtained the polarized dust emission maps over the full sky at a resolution of 16.216.216.2\arcmin16.2 ′, corresponding to that of HI data, which are in good agreement with the Planck observed 353 GHz dust maps in terms of several physical properties such as the polarization fraction and power spectra, although they do not have a thorough discussion about the non-Gaussianity contained in their maps.

Hervías-Caimapo & Huffenberger (2022) uses a large number of filaments in the distribution of the thermal dust grains together with the large-scale template from data to reproduce the main features of the Planck 353 GHz map. These include the power spectrum slopes of intensity and polarization maps, the ratios between EE, BB, and TE power spectra, and the level of non-Gaussianity in the total intensity map, which can be controlled by the density of filaments. When focusing on scales of arcminutes or tens of arcminutes, =30012003001200\ell=300-1200roman_ℓ = 300 - 1200, however, the Planck 353 GHz total intensity map has more non-Gaussianity with respect to the generated small scales from the model based on filaments.

Diffuse foreground models are also generated by exploiting magnetohydrodynamic (MHD) simulations. They model the physical processes of the interstellar medium, such as heating and cooling of the gas and the interaction between dust grains and the turbulent magnetic field. The thermal dust emission can be obtained by integrating the emission of dust grains along the line of sight (Padoan et al., 2001; Planck Collaboration Int. XX, 2015; Kim et al., 2019). The simulated maps are thus non-Gaussian because of the MHD processes and can reach small scales according to the resolution of the MHD simulation itself. However, the MHD simulations can only reproduce the statistical properties of the Galaxy, and thus fail to generate the specific morphology of Galactic foreground emission. Another important limiting factor of MHD simulations is that they are computationally expensive, especially in achieving a high resolution.

An additional technique consists of simulating the foreground by exploiting innovative algorithms capable of modeling the emission pattern at a high resolution on the basis of the observed one at moderated and low angular scales. The ForSE model introduced by Krachmalnicoff & Puglisi (2021) (hereafter KP2021) is able to generate small scales, up to 121212\arcmin12 ′, starting from the low-resolution polarized dust observations. It utilizes a generative adversarial network (GAN), which is trained to inject small-scale features with statistical properties like the ones observed at a high resolution in the intensity maps.

In this study, we further extend the ForSE algorithm to: i) produce dust polarization maps at 333\arcmin3 ′ resolution, which is vital for checking the stability of lensing reconstruction and de-lensing algorithms in CMB observations, ii) stochastically generate multiple realizations of small-scale features, which are most important in estimating the uncertainty associated with foreground variations.

Additional uses of deep generative models for dust simulations exist in the literature. For example, Aylor et al. (2021) use GANs to generate simulated total intensity maps from the observed Planck generalized needlet internal linear combination (GNILC) map at 353GHz. Other common generative models, such as variational autoencoders (Thorne et al., 2021) or diffusion models (Heurtel-Depeiges et al., 2023), are also used.

The outline of the paper is as follows. In Section 2, we summarize the first version of the ForSE algorithm and present the extension and methodology used to achieve the new version operating at arcminute scale. In Section 3, we describe the pre-processing, training, and post-processing of the new model and also present our validation procedure. In Section 4, full-sky maps are presented and compared with maps from the latest version of PySM3 package. Conclusions are given in Section 5.

2 The ForSE+ model

In this section, we briefly review the basic structure and assumptions of the ForSE algorithm presented in KP2021. We then introduce our new version of the code, ForSE+, which allows one to generate maps of the thermal dust emission with non-Gaussian structures at 333\arcmin3 ′ angular resolution, in both a deterministic and a stochastic way.

2.1 Review of the ForSE model: From 808080\arcmin80 ′ to 121212\arcmin12 ′

As has already been mentioned, the ForSE model, introduced and validated in KP2021, is based on GANs and allows one to produce non-Gaussian full-sky maps of polarized thermal dust emission at an angular resolution of 121212\arcmin12 ′ from low-resolution Planck observations at 808080\arcmin80 ′.

Generative adversarial networks are a particular family of networks (Goodfellow et al., 2014) whose characteristic feature is to be composed of two sub-networks called Generator (G𝐺Gitalic_G) and Discriminator (D𝐷Ditalic_D), which are trained to compete against each other. In practice, the goal of G𝐺Gitalic_G is to produce new images that are compared by D𝐷Ditalic_D with a set of real images that are the training set. Once the training of the two sub-networks is done in an adversarial way, G𝐺Gitalic_G is able to produce images that have the same statistical properties as those belonging to the training set, in such a way that mock and real images are no longer distinguishable by D𝐷Ditalic_D.

In the ForSE implementation, the input to G𝐺Gitalic_G are images at a low resolution (808080\arcmin80 ′) of the thermal dust emission observed by the Planck satellite and processed through the GNILC method101010http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_CompMap_IQU-thermaldust-gnilc-unires_2048_R3.00.fits (Planck Collaboration IV, 2020). The output of G𝐺Gitalic_G are small-scale features at 121212\arcmin12 ′, which are then compared by D𝐷Ditalic_D with real observations in total intensity at the same angular resolution. We note that different training is performed for total intensity and Stokes Q𝑄Qitalic_Q and U𝑈Uitalic_U maps, but always having as the training set images of small scales m~12I,20superscriptsubscript~𝑚superscript12𝐼superscript20\tilde{m}_{12^{\prime}}^{I,20^{\circ}}over~ start_ARG italic_m end_ARG start_POSTSUBSCRIPT 12 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_I , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT in total intensity. KP2021 therefore assumed that thermal dust statistical properties of small scales in polarization are the same as for Stokes I𝐼Iitalic_I maps. We also rely on that assumption in this work.

In KP2021 and in this work, the following definition of “small scales” is used. Let MTOTsubscript𝑀𝑇𝑂𝑇M_{TOT}italic_M start_POSTSUBSCRIPT italic_T italic_O italic_T end_POSTSUBSCRIPT be a foreground map at a given angular resolution, which can be seen as the sum of two maps containing, respectively, only large- and small-scale structures:

MTOT=MLS+MSS.subscript𝑀𝑇𝑂𝑇subscript𝑀𝐿𝑆subscript𝑀𝑆𝑆M_{TOT}=M_{LS}+M_{SS}.italic_M start_POSTSUBSCRIPT italic_T italic_O italic_T end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT italic_L italic_S end_POSTSUBSCRIPT + italic_M start_POSTSUBSCRIPT italic_S italic_S end_POSTSUBSCRIPT . (1)

Assuming that the map encoding small-scale features, MSSsubscript𝑀𝑆𝑆M_{SS}italic_M start_POSTSUBSCRIPT italic_S italic_S end_POSTSUBSCRIPT, is modulated by the large scales, MLSsubscript𝑀𝐿𝑆M_{LS}italic_M start_POSTSUBSCRIPT italic_L italic_S end_POSTSUBSCRIPT – that is, MSS=MLSmsssubscript𝑀𝑆𝑆subscript𝑀𝐿𝑆subscript𝑚𝑠𝑠M_{SS}=M_{LS}\cdot m_{ss}italic_M start_POSTSUBSCRIPT italic_S italic_S end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT italic_L italic_S end_POSTSUBSCRIPT ⋅ italic_m start_POSTSUBSCRIPT italic_s italic_s end_POSTSUBSCRIPT – we have

MTOT=MLS+MLSmss=MLSm~ss,subscript𝑀𝑇𝑂𝑇subscript𝑀𝐿𝑆subscript𝑀𝐿𝑆subscript𝑚𝑠𝑠subscript𝑀𝐿𝑆subscript~𝑚𝑠𝑠M_{TOT}=M_{LS}+M_{LS}\cdot m_{ss}=M_{LS}\cdot\tilde{m}_{ss},italic_M start_POSTSUBSCRIPT italic_T italic_O italic_T end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT italic_L italic_S end_POSTSUBSCRIPT + italic_M start_POSTSUBSCRIPT italic_L italic_S end_POSTSUBSCRIPT ⋅ italic_m start_POSTSUBSCRIPT italic_s italic_s end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT italic_L italic_S end_POSTSUBSCRIPT ⋅ over~ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_s italic_s end_POSTSUBSCRIPT , (2)

where m~ss=mss+1subscript~𝑚𝑠𝑠subscript𝑚𝑠𝑠1\tilde{m}_{ss}=m_{ss}+1over~ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_s italic_s end_POSTSUBSCRIPT = italic_m start_POSTSUBSCRIPT italic_s italic_s end_POSTSUBSCRIPT + 1 represents the small-scale map generated by network G𝐺Gitalic_G, having as an input MLSsubscript𝑀𝐿𝑆M_{LS}italic_M start_POSTSUBSCRIPT italic_L italic_S end_POSTSUBSCRIPT.

Although there exist neural networks designed to work on the sphere (Krachmalnicoff & Tomasi, 2019), our GAN deals with flat two-dimensional images. For this reason, we had to project the input maps onto flat patches, and project output patches back onto the sphere, after the application of the trained GAN model. We used the same projection strategy as that described in the appendix of KP2021, which divides the GNILC thermal dust Stokes Q𝑄Qitalic_Q and U𝑈Uitalic_U maps at 80\arcmin with Nside=2048subscript𝑁𝑠𝑖𝑑𝑒2048N_{side}=2048italic_N start_POSTSUBSCRIPT italic_s italic_i italic_d italic_e end_POSTSUBSCRIPT = 2048111111Presented in the Hierarchical Equal Area Latitude Pixels (HEALPix) (Górski et al., 2005) format. into 174 square patches that have 320×320320320320\times 320320 × 320 pixels and a physical side length of 20superscript2020^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. We note that this projection on flat patches and reprojection on the sphere can introduce distortions in the final full-sky map. In order to mitigate this effect, the flat patches overlap each other. We estimate that the final level of distortion induced by our procedure is always less than 7% of the signal (around 2% on average).

From now on we will use m~zX,ysuperscriptsubscript~𝑚superscript𝑧𝑋superscript𝑦\tilde{m}_{z^{\prime}}^{X,y^{\circ}}over~ start_ARG italic_m end_ARG start_POSTSUBSCRIPT italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_X , italic_y start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT and MzX,ysubscriptsuperscript𝑀𝑋superscript𝑦superscript𝑧M^{X,y^{\circ}}_{z^{\prime}}italic_M start_POSTSUPERSCRIPT italic_X , italic_y start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to refer to the small-scale (output of the network) and large-scale (input of the network) patches, respectively, where X=I/Q/U𝑋𝐼𝑄𝑈X=I/Q/Uitalic_X = italic_I / italic_Q / italic_U defines the Stokes parameters, ysuperscript𝑦y^{\circ}italic_y start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT the physical dimension of the patch in degrees, and z𝑧z\arcminitalic_z ′ its angular resolution in arcminutes.

The GAN architecture, training procedure, input maps, and output validation of the ForSE model are fully described in KP2021.

Refer to caption
Figure 1: Structures in ForSE (KP2021) and ForSE+ (this work). ForSE is designed to achieve a 121212\arcmin12 ′ resolution from input large scales at 808080\arcmin80 ′. We have three kinds of newly trained models here: ForSE+S12 and ForSE+S3 to produce stochastic maps at 121212\arcmin12 ′ and 333\arcmin3 ′, and ForSE+D to generate a deterministic map at 333\arcmin3 ′. The output, M12Q/U,20superscriptsubscript𝑀12𝑄𝑈superscript20M_{12\arcmin}^{Q/U,20^{\circ}}italic_M start_POSTSUBSCRIPT 12 ′ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT, from ForSE and ForSE+S12 are the input to ForSE+D and ForSE+S3 to get deterministic and stochastic small scales at 333\arcmin3 ′, respectively.

2.2 ForSE+: Producing non-Gaussian dust maps at 333\arcmin3 ′

In this work, we implement ForSE+, an updated version of the ForSE code and its training procedure, with two objectives:

  1. 1.

    To allow the generation of full-sky polarization maps with non-Gaussian features at an enhanced resolution of 333\arcmin3 ′.

  2. 2.

    Starting from the same low-resolution maps, to generate multiple realizations of stochastic small scales that still have the correct non-Gaussian statistical properties.

In the sections below, we explain the assumptions and methodology used to achieve these two goals. Figure 1 sketches the input and output of the new ForSE+ models and in Table 1 we summarize the new models trained in this paper.

Model Description (Output) Input
ForSE KP2021 version to simulate deterministic thermal dust emission maps at 121212\arcmin12 ′ Planck GNILC maps at 808080\arcmin80 ′
ForSE+S12 new model to simulate stochastic thermal dust emission at 121212\arcmin12 ′ Planck GNILC maps at 808080\arcmin80 ′ plus random component
ForSE+D new model to simulate deterministic thermal dust emission maps at 333\arcmin3 ′ Maps at 202020\arcmin20 ′, smoothed from ForSE 121212\arcmin12 ′ maps
ForSE+S3 new model to simulate stochastic thermal dust emission maps at 333\arcmin3 ′ Maps at 202020\arcmin20 ′ smoothed from ForSE+S12 plus random component
Table 1: Summary of three newly trained models in this paper and the first version of the model proposed in KP2021.

In order to incorporate these extensions, we used the same GAN architecture as for the ForSE model, re-implemented using the new Tensorflow121212https://www.tensorflow.org framework (version 2.6.0), and we performed additional fine-tuning steps of some hyper-parameters of the networks to improve our results.

2.2.1 Scale invariance assumption

The first goal of our implementation of ForSE+ is to generate a map of polarized dust emission with non-Gaussian features at arcminute angular scales. As we anticipated, this is crucial to understand the possible impact of non-Gaussianity in the extraction of the CMB B𝐵Bitalic_B-mode lensing signals, which peak at these scales. In order to achieve this, we need to find a way to overcome the current limitation in the observational data at our disposal. As a matter of fact, in order to train our GANs we can only rely on a training set composed of 350 patches, with dimensions of 20×20superscript20superscript2020^{\circ}\times 20^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT and 320×320320320320\times 320320 × 320 pixels, at an angular resolution of 121212\arcmin12 ′, taken from the total intensity GNILC Planck map at 353 GHz, described in KP2021. No other observations of thermal dust emission at a higher angular resolution in a portion of the sky large enough to be used as training set are available.

The idea to circumvent this restriction and still be able to reach a resolution higher than 121212\arcmin12 ′, even in the absence of a proper training set, is to make a scale-invariance assumption, applying our GAN model in an iterative way. In practice, our set of training squared patches with dimensions of 20×20superscript20superscript2020^{\circ}\times 20^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT and a resolution of 121212\arcmin12 ′ can equally be treated as having dimensions of 5×5superscript5superscript55^{\circ}\times 5^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT and resolution of 333\arcmin3 ′, since the network does not have a sense of physical units and is only sensitive to the ratio between the dimension of the patch and its angular resolution (i.e., m~12I,20m~3I,5subscriptsuperscript~𝑚𝐼superscript20superscript12subscriptsuperscript~𝑚𝐼superscript5superscript3\tilde{m}^{I,20^{\circ}}_{12^{\prime}}\equiv\tilde{m}^{I,5^{\circ}}_{3^{\prime}}over~ start_ARG italic_m end_ARG start_POSTSUPERSCRIPT italic_I , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 12 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ≡ over~ start_ARG italic_m end_ARG start_POSTSUPERSCRIPT italic_I , 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT). In this way, the same dataset used to train the first version of ForSE in KP2021 can be used to train a new GAN model. This model takes the output of the first iteration of the code as input and generates non-Gaussian scales at 333\arcmin3 ′. As has been mentioned, this implies that we are assuming scale invariance for the statistical properties of dust emission; that is, scales at 121212\arcmin12 ′ have the same properties as those at 333\arcmin3 ′. This assumption is justified by the fact that current observations of the dust polarization power spectra shows that they can, at the first order, be approximated as a power law as a function of the angular scales (Planck Collaboration XI, 2020).

Additional pre- and post-processing of the input patches (including upsampling, smoothing, and the sub-division of patches) is needed to train the GAN in the correct way and to be able to restore full-sky maps, as is described in Section 3.2.1.

2.2.2 Stochasticity

Our second goal is to produce different realizations of the non-Gaussian small-scale structures. This is important to estimate the variance of the signal we are simulating as well as the correlation among different angular scales. The way we achieved this was by simply adding a random component to the large-scale maps that are the input of our GANs. We then trained new models on these signal + random component maps, always using the 350 m~12I,20superscriptsubscript~𝑚superscript12𝐼superscript20\tilde{m}_{12^{\prime}}^{I,20^{\circ}}over~ start_ARG italic_m end_ARG start_POSTSUBSCRIPT 12 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_I , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT patches as the training set.

The random component that we considered was simply generated as a random realization from a uniform distribution in the range [1,1]11[-1,1][ - 1 , 1 ]. Since our input maps were always re-scaled to have pixel values ranging in the same interval to be compatible with the input of our neural networks, we had a signal-to-noise ratio (SNR)\rm SNR)roman_SNR ) of 1similar-toabsent1\sim 1∼ 1. We refer to this as “stochastic training;” in other words, a random component was added to the input signal, ForSE+S, as opposed to the deterministic case (ForSE+D), in which we did not add any random component to the input maps.

3 Pre-processing, training, and post-processing of ForSE+

In this section, we describe the training details of ForSE+S and ForSE+D, including the pre-processing and post-processing steps, and present the results on flat-squared patches, including maps and power spectra, before reprojecting them to full-sky maps.

3.1 ForSE+S to 121212\arcmin12 ′

We first describe how we generate stochastic maps with non-Gaussian features at a resolution of 121212\arcmin12 ′. We also applied a similar procedure to construct maps at 333\arcmin3 ′, as is described in Section 3.2. For clarity, we will call ForSE+S12 the model that generates stochastic maps at 121212\arcmin12 ′ and ForSE+S3 the one that goes up to 333\arcmin3 ′.

As was mentioned above, we injected stochasticity into our generative process by simply adding a random component to the low-resolution maps that are the input of our GAN. By doing so, ForSE+S is able to generate non-Gaussian small-scale features that still partially depend on the real observed large-scale structures but will have a different morphology as we change the realization of the random component in the input dataset.

3.1.1 Training and post-processing

As in KP2021, we trained two models for Q𝑄Qitalic_Q and U𝑈Uitalic_U maps separately. The inputs to the generator, G𝐺Gitalic_G, were the 174 M80Q/U,20subscriptsuperscript𝑀𝑄𝑈superscript2080M^{Q/U,20^{\circ}}_{80\arcmin}italic_M start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 80 ′ end_POSTSUBSCRIPT patches that together cover the full sky, with dust signal plus an additional random component. The training set, which encodes the target statistical distribution of small scales, was the 350 m~12I,20subscriptsuperscript~𝑚𝐼superscript2012\tilde{m}^{I,20^{\circ}}_{12\arcmin}over~ start_ARG italic_m end_ARG start_POSTSUPERSCRIPT italic_I , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 12 ′ end_POSTSUBSCRIPT maps. The weights of the neural works were updated for 2×1052superscript1052\times 10^{5}2 × 10 start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT epochs and saved every 500 steps. Since we do not want to generalize the usage of the trained model – the trained model only needs to predict the output from the training data – it is not a problem if there is an over-fitting during training. Therefore, there was no consideration of a separate validation set during the training process.

Following KP2021, we used the Minkowski functionals (MFs), as implemented in (Mantz et al., 2008), as the criteria with which to choose the best epoch. For two-dimensional fields, three kinds of MFs can be built: 𝒱0subscript𝒱0\mathcal{V}_{0}caligraphic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, 𝒱1subscript𝒱1\mathcal{V}_{1}caligraphic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and 𝒱2subscript𝒱2\mathcal{V}_{2}caligraphic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. They fully describe the statistical properties of the field and represent the covered area (𝒱0subscript𝒱0\mathcal{V}_{0}caligraphic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT), the boundary length (𝒱1subscript𝒱1\mathcal{V}_{1}caligraphic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT), and the number difference of connected domains and holes of the image’s feature (𝒱2subscript𝒱2\mathcal{V}_{2}caligraphic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT), as a function of the threshold, ρ𝜌\rhoitalic_ρ (Hadwiger, 1957).

During the GAN training process, the goal is to produce small-scale feature maps with statistical properties as close as possible to the ones of the training set. We quantified the level of agreement by calculating the overlapping fractions between the distributions of MFs of the maps in the training set (m~12I,20subscriptsuperscript~𝑚𝐼superscript2012\tilde{m}^{I,20^{\circ}}_{12\arcmin}over~ start_ARG italic_m end_ARG start_POSTSUPERSCRIPT italic_I , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 12 ′ end_POSTSUBSCRIPT) and those of the generated ones (m~12Q/U,20subscriptsuperscript~𝑚𝑄𝑈superscript2012\tilde{m}^{Q/U,20^{\circ}}_{12\arcmin}over~ start_ARG italic_m end_ARG start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 12 ′ end_POSTSUBSCRIPT). The distributions of MFs are indicated by the ±1σplus-or-minus1𝜎\pm 1\sigma± 1 italic_σ variation among the training set or generated maps and the overlapping fractions were computed as the ratio between the intersection area and the total area spanned by the two distributions. In practice, we calculated the MFs overlapping for each saved epoch of G𝐺Gitalic_G and selected as the best model the one with the highest score. In doing so, we computed the MFs for the output maps, m~12Q/U,20subscriptsuperscript~𝑚𝑄𝑈superscript2012\tilde{m}^{Q/U,20^{\circ}}_{12\arcmin}over~ start_ARG italic_m end_ARG start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 12 ′ end_POSTSUBSCRIPT, by applying G𝐺Gitalic_G to maps with the realization of a random component different from the one used for training.

The best models are obtained after 5500 epochs and 6000 epochs for Q𝑄Qitalic_Q and U𝑈Uitalic_U, respectively. Their MFs are shown in Figure 2 and compared with the ones from the training set. The overlap among the distributions is at a level of 50%60%percent50percent6050\%-60\%50 % - 60 %, comparable with the one obtained in Krachmalnicoff & Puglisi (2023) (that includes corrections to KP2021). In comparison, Gaussian small scales have MFs with obviously different shapes from these two sets of maps, as is illustrated in Fig.7 of KP2021.

Refer to caption
Figure 2: MFs of small scales at 121212\arcmin12 ′ produced by ForSE+S, compared with the ones from the intensity maps in the training set. The overlapping fractions (OFs) of each pair of MFs are also shown. The dashed line represents the mean over the set of different patches and the shaded area is their standard deviation. The distribution of Q𝑄Qitalic_Q maps is shown in the upper panel, and U𝑈Uitalic_U in the lower panel.

We also computed the overlapping fraction of the MFs by considering 100 different realizations of the small-scale maps (obtained by changing the random component in the input). The mean (standard variation) values of the overlapping fraction for 𝒱0subscript𝒱0\mathcal{V}_{0}caligraphic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, 𝒱1subscript𝒱1\mathcal{V}_{1}caligraphic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and 𝒱2subscript𝒱2\mathcal{V}_{2}caligraphic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are 59.1%(1.5%), 62.9%(0.6%), and 55.8%(0.7%), respectively, for Stokes Q𝑄Qitalic_Q maps, and 58.8%(2%), 56.3% (1.3%), and 45.5%(1.1%), respectively, for U𝑈Uitalic_U maps. These numbers show the robustness of ForSE+S in generating stochastic small scales with non-Gaussian high-order statistics.

Since in the training procedure both the input maps and the training sets are normalized in the range of [-1,1], the output maps also have pixel values in this range, and therefore need to be normalized to restore physical units. We achieved this by following the procedure of KP2021, hence ensuring that, for each patch and for both Q𝑄Qitalic_Q and U𝑈Uitalic_U, the amplitude of the power spectrum of the produced small scales matches the extrapolation at higher multipoles of the power spectrum of the low-resolution input maps at 808080\arcmin80 ′.

3.1.2 Results of ForSE+S at 121212\arcmin12 ′

Figure 3 shows M12Q/U,20superscriptsubscript𝑀12𝑄𝑈superscript20M_{12\arcmin}^{Q/U,20^{\circ}}italic_M start_POSTSUBSCRIPT 12 ′ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT patches with two different realizations of small scales at 121212\arcmin12 ′ from ForSE+S12, after the normalization mentioned above, in the second and third columns, compared with the deterministic results from ForSE in the first column. Both the differences at small scales and consistency at large scales between the outputs from ForSE and ForSE+S12 show the capability of the trained model to produce small-scale features in the map space.

Refer to caption
Figure 3: Maps of 20×20superscript20superscript2020^{\circ}\times 20^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT patches at 121212\arcmin12 ′. From left to right are the deterministic map from ForSE and two stochastic realizations from ForSE+S12. Throughout this paper, all the maps are shown in Galactic coordinates.
Refer to caption
Figure 4: EE and BB power spectra of the squared patches at 121212\arcmin12 ′ shown in Figure 3. Dash-dotted black lines are the power spectra for GNILC 808080\arcmin80 ′ patches and green lines are for the deterministic 121212\arcmin12 ′ patches. Gray lines show the power spectra of all the 100 realizations from ForSE+S12 and red lines are the means.

To further validate these maps, we calculated the second-order statistics – the power spectrum – using the Namaster package (Alonso et al., 2019).131313https://namaster.readthedocs.io/en/latest/sample_flat.html In Figure 4, we show the EE and BB power spectra from the QU𝑄𝑈QUitalic_Q italic_U squared patches of low-resolution maps, the output from ForSE, and 100 realizations of ForSE+S12 in black, green, and gray, respectively. The mean values of power spectra from 100 stochastic realizations are also shown in red. The output maps from ForSE+S12 are consistent with the deterministic output maps in terms of the power spectra, as was expected.

3.2 ForSE+D and ForSE+S3 to 333\arcmin3 ′

We describe now the procedures that we followed to generate maps at the resolution of 333\arcmin3 ′, by using our GAN model iteratively both in the case of ForSE+D and for ForSE+S3. The whole procedures, including several pre- and post-processing steps, are sketched in Figure 5 and described in the following (see also Foschi (2021)).

Refer to caption
Figure 5: Pipeline to prepare the training data for ForSE+D (upper row, from left to right) and post-processing to transform the output patches from ForSE+D into the full-sky map at 333\arcmin3 ′ in the HEALPix format (lower row, from right to left). 174 in the upper right corner of each tile means the number of images. The first number beneath the images indicates the number of pixels on each side of the image and the second expression has the same subscript and superscript as that described in Section 2.1. We note that after the “Dividing” and before the “Composing” steps, each original image was divided into 49 sub-patches, with a side length of 5superscript55^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. At the end, all the flat patches were reprojected onto a HEALPix map with Nsidesubscript𝑁𝑠𝑖𝑑𝑒N_{side}italic_N start_POSTSUBSCRIPT italic_s italic_i italic_d italic_e end_POSTSUBSCRIPT equal to 4096.

3.2.1 Pre-processing for the training of ForSE+D

As was mentioned above, we reached the resolution of 333\arcmin3 ′ by assuming scale invariance in the statistics of the thermal dust emission. We exploited the output of the first GAN model as the input to a second generative step by using the same training set and considering it to be composed of 350 patches with dimensions of 5×5superscript5superscript55^{\circ}\times 5^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT at a resolution of 3superscript33^{\prime}3 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, as was explained in Section 2.2.1. Therefore, since the first iteration of ForSE allows one to go from maps with dimensions of 20×20superscript20superscript2020^{\circ}\times 20^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT and a resolution of 80superscript8080^{\prime}80 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to maps at a resolution of 12superscript1212^{\prime}12 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, the second iteration can produce 5×5superscript5superscript55^{\circ}\times 5^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT maps at a resolution of 3superscript33^{\prime}3 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. In order to preserve the proportions among all the relevant quantities (i.e., patch dimension, resolution of input, and resolution of output), the input patches for the second iteration should have dimensions of 5×5superscript5superscript55^{\circ}\times 5^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT and a resolution of 20superscript2020^{\prime}20 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. We can obtain those patches by smoothing and subdividing the output of ForSE.

In practice, we pre-processed each of the 174 M12Q/U,20subscriptsuperscript𝑀𝑄𝑈superscript2012M^{Q/U,20^{\circ}}_{12\arcmin}italic_M start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 12 ′ end_POSTSUBSCRIPT maps with 320×320320320320\times 320320 × 320 pixels obtained from the first iteration in the following way:

  1. 1.

    We upsampled each map with 320×320320320320\times 320320 × 320 pixels to 1280×1280128012801280\times 12801280 × 1280 by repeating each pixel four times.

  2. 2.

    We smoothed these maps with a Gaussian kernel in order to reach a resolution of 20superscript2020^{\prime}20 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

  3. 3.

    We subdivided each of these large squared patches into 5×5superscript5superscript55^{\circ}\times 5^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT patches, each one containing 320×320320320320\times 320320 × 320 pixels. We divided each large patch into 49 small ones, with a large overlap among them, made of 160 pixels on each side. This overlap is needed in order to avoid border effects when the composition and reprojection on the sphere is performed.

  4. 4.

    At the end of this procedure, we have a set of 174×49=8526174498526174\times 49=8526174 × 49 = 8526 patches for Q𝑄Qitalic_Q and U𝑈Uitalic_U, which is the total amount of patches covering the full sky and represents the M20Q/U,5subscriptsuperscript𝑀𝑄𝑈superscript520M^{Q/U,5^{\circ}}_{20\arcmin}italic_M start_POSTSUPERSCRIPT italic_Q / italic_U , 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 20 ′ end_POSTSUBSCRIPT that will be used as the input to the second GAN iteration.

We applied the same pre-processing to the output of ForSE and ForSE+S12 in order to produce maps at 3superscript33^{\prime}3 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in both the deterministic case and the stochastic one. In the stochastic case, we added an additional random component, as is described in Section 2.2.2.

3.2.2 Training and post-processing of ForSE+D

Once the pre-processing steps described above are performed, the obtained 8526 patches can be used to train a new GAN model. However, the time cost is basically linear with the number of patches. We note that the 8526 patches have repeating pixels among them (see the steps above to get 8526 patches); thus, they are actually not independent. In order to save computational time, we fed as input to the generator, G𝐺Gitalic_G, only a subset of 696 patches, randomly selected from the total 8526 patches. Once the network was trained, we applied it to the remaining patches.

In Figure 6 we show the MFs of the generated small scales at 333\arcmin3 ′. The overlap with the target distribution is at a level of 70-80% in the deterministic case. In the stochastic case (not shown), on the other hand, the overlap ranges between 60% and 70%, showing therefore that we are also able to generate non-Gaussian small-scale features at this higher resolution.

Refer to caption
Figure 6: MFs overlapping between deterministic 3\arcmin small scales and intensity small scales.

The output of the GAN models are patches, m~3Q/U,5subscriptsuperscript~𝑚𝑄𝑈superscript53\tilde{m}^{Q/U,5^{\circ}}_{3\arcmin}over~ start_ARG italic_m end_ARG start_POSTSUPERSCRIPT italic_Q / italic_U , 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 ′ end_POSTSUBSCRIPT, containing the small-scale features that, as in the first iteration, have pixel values in the range of [1,1]11[-1,1][ - 1 , 1 ]. We therefore normalized them in physical units before multiplying them with the large-scale maps at the resolution of 20superscript2020^{\prime}20 start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, obtaining 8526 M3Q/U,5subscriptsuperscript𝑀𝑄𝑈superscript53M^{Q/U,5^{\circ}}_{3\arcmin}italic_M start_POSTSUPERSCRIPT italic_Q / italic_U , 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 ′ end_POSTSUBSCRIPT maps.

We recall that each of these patches comes from a subdivision of the larger maps with physical dimensions of 20×20superscript20superscript2020^{\circ}\times 20^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT (as is described in Section 3.2.1) into 49 sub-patches with a large overlap among each other. Therefore, before reprojecting them on the sphere to obtain the full-sky maps, we needed to recombine them. In order to avoid border effects, we did this by using cos2superscript2\cos^{2}roman_cos start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT apodization window functions, as is shown in Figure 7: each sub-patch was weighted with the corresponding window function, then they were summed together to form the 174 M3Q/U,20subscriptsuperscript𝑀𝑄𝑈superscript203M^{Q/U,20^{\circ}}_{3\arcmin}italic_M start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 ′ end_POSTSUBSCRIPT maps that could then be reprojected on the sphere.

Refer to caption
Figure 7: Apodized window function of each sub-patch at different positions to compose 49 sub-patches with a side length of 5superscript55^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT into a patch with a length of 20superscript2020^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT.

3.2.3 Results of ForSE+D and ForSE+S3 at 333\arcmin3 ′

Refer to caption
Figure 8: 20×20superscript20superscript2020^{\circ}\times 20^{\circ}20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT × 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT patches of three different resolutions. From left to right are GNILC maps at 808080\arcmin80 ′, ForSE maps at 121212\arcmin12 ′, and ForSE+D maps at 333\arcmin3 ′.
Refer to caption
Figure 9: EE and BB power spectra of the squared patches at 333\arcmin3 ′ shown in Figure 8. Dash-dotted black lines are the power spectra for GNILC 808080\arcmin80 ′ patches and purple lines are for the deterministic 121212\arcmin12 ′ patches. Green lines depict the behavior of ForSE+D maps, while gray lines show the power spectra of all the 100 realizations from ForSE+S3 and red lines are the means.
Refer to caption
Figure 10: Upper panel: Two stochastic realizations of Q𝑄Qitalic_Q maps, m~3Q,5superscriptsubscript~𝑚3𝑄superscript5\tilde{m}_{3\arcmin}^{Q,5^{\circ}}over~ start_ARG italic_m end_ARG start_POSTSUBSCRIPT 3 ′ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_Q , 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT, from ForSE+S3. Lower panel: M3Q,5superscriptsubscript𝑀3𝑄superscript5M_{3\arcmin}^{Q,5^{\circ}}italic_M start_POSTSUBSCRIPT 3 ′ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_Q , 5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT maps of the upper panel after the normalization step. This patch is at the position of the dashed red box in the upper right plot of Figure 8.

In Figure 8, we show the comparisons of a selected patch at 808080\arcmin80 ′, 121212\arcmin12 ′ from ForSE and maps at 333\arcmin3 ′ from ForSE+D, from left to right. It is clear that ForSE+D can inject small-scale structures, following the modulation of the large-scale emission.

The power spectra, computed on the same patch, are shown in Figure 9. As can be seen, the amplitude at low \ellroman_ℓ matches the one from the low-resolution GNILC maps, and the generated small scales have power at higher multipoles, with no breaks in the power spectrum that follows a power law, as was expected.

ForSE+S3 was utilized to generate stochastic small scales at 333\arcmin3 ′, as is mentioned in 2.2.2. Two realizations of small scales for the Q𝑄Qitalic_Q map in the range of [-1, 1] with a side length of 5superscript55^{\circ}5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT and centered on [288,61.5]superscript288superscript61.5[288^{\circ},-61.5^{\circ}][ 288 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT , - 61.5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT ] (i.e., at the position of the dashed red box in the upper right plot of Figure 8) are shown in the upper panel of Figure 10, and in the lower panel we show the normalized maps combined with the large scales. The differences between the two realizations should be noted and both of them trace the large-scale features of the input maps. We also show the power spectra of 100 realizations in Figure 9, where we also plot the mean, validating the results of stochasticity on the power spectrum level.

4 Validations of full-sky maps from ForSE+

In this section, we show the maps and power spectra after reprojecting the flat patches back to the sphere, following the algorithm in the appendix of KP2021. Before showing the results, we introduce a further step to adjust the E-to-B ratio in the simulated maps to match the observations at large scales.

4.1 Fine-tuning of the E-to-B ratio to match observations

Refer to caption
Figure 11: E-to-B ratios of non-tuned and tuned maps in green and red lines, for different sky masks.

We recall that, due to the limitation of observational data in polarization, we used the statistical properties of the total intensity small scales to be the ground truth of both Q𝑄Qitalic_Q and U𝑈Uitalic_U during the training process. This implies that the output high-resolution map will have the same power for E𝐸Eitalic_E and B𝐵Bitalic_B modes. However, high-frequency observations of the Planck satellite have shown the existence of an asymmetry between the measured power of thermal dust emission in the E𝐸Eitalic_E and B𝐵Bitalic_B modes, with ABB/AEE0.5similar-tosubscript𝐴𝐵𝐵subscript𝐴𝐸𝐸0.5A_{BB}/A_{EE}\sim 0.5italic_A start_POSTSUBSCRIPT italic_B italic_B end_POSTSUBSCRIPT / italic_A start_POSTSUBSCRIPT italic_E italic_E end_POSTSUBSCRIPT ∼ 0.5 over the multipole range of 406004060040\leq\ell\leq 60040 ≤ roman_ℓ ≤ 600 (Planck Collaboration XI, 2020). Therefore, in order to match the real observations, we applied a fine-tuning to the full-sky maps, obtained after all the steps mentioned above.

We first transformed QU𝑄𝑈QUitalic_Q italic_U maps into the harmonic space to obtain the amEsuperscriptsubscript𝑎𝑚𝐸a_{\ell m}^{E}italic_a start_POSTSUBSCRIPT roman_ℓ italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_E end_POSTSUPERSCRIPT and amBsuperscriptsubscript𝑎𝑚𝐵a_{\ell m}^{B}italic_a start_POSTSUBSCRIPT roman_ℓ italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_B end_POSTSUPERSCRIPT coefficients. Then we applied a factor of 0.50.5\sqrt{0.5}square-root start_ARG 0.5 end_ARG to the amBsuperscriptsubscript𝑎𝑚𝐵a_{\ell m}^{B}italic_a start_POSTSUBSCRIPT roman_ℓ italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_B end_POSTSUPERSCRIPT to decrease its power, since amEsuperscriptsubscript𝑎𝑚𝐸a_{\ell m}^{E}italic_a start_POSTSUBSCRIPT roman_ℓ italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_E end_POSTSUPERSCRIPT and amBsuperscriptsubscript𝑎𝑚𝐵a_{\ell m}^{B}italic_a start_POSTSUBSCRIPT roman_ℓ italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_B end_POSTSUPERSCRIPT have the same variance as was just mentioned. Finally, we transformed the tuned amssubscript𝑎𝑚𝑠a_{\ell m}sitalic_a start_POSTSUBSCRIPT roman_ℓ italic_m end_POSTSUBSCRIPT italic_s back to the map space to get maps that match the observed ratio of 0.5 at the power spectra level. We note that the large scales in the output maps of ForSE/ForSE+ remain to be the observed ones, so the tuning was applied only to the small scales; that is, amssubscript𝑎𝑚𝑠a_{\ell m}sitalic_a start_POSTSUBSCRIPT roman_ℓ italic_m end_POSTSUBSCRIPT italic_s belonging to >135135\ell>135roman_ℓ > 135141414Corresponding to 80\arcmin: =π/θ𝜋𝜃\ell=\pi/\thetaroman_ℓ = italic_π / italic_θ = π/(80/60/180π)=135𝜋8060180𝜋135\pi/(80/60/180*\pi)=135italic_π / ( 80 / 60 / 180 ∗ italic_π ) = 135 and the transition between large and small scales was smoothed with a sigmoid function to avoid discontinuities in the final power spectra.

The E-to-B ratios of the power spectra calculated for different fractions of sky are shown in Figure 11. The red lines show the ratios after the tuning steps, which were indeed corrected to 2similar-toabsent2\sim 2∼ 2 for the injected small scales.

4.2 Full-sky maps

We are now ready to present the full-sky maps and specifically, we show the ForSE+D maps at 333\arcmin3 ′, at Nside = 4096, in Figure 12, compared with the input GNILC ones at 808080\arcmin80 ′. The difference between the two highlights the presence of small-scale features in the ForSE+D maps. When zooming into a patch that consists of two M3Q/U,20subscriptsuperscript𝑀𝑄𝑈superscript203M^{Q/U,20^{\circ}}_{3\arcmin}italic_M start_POSTSUPERSCRIPT italic_Q / italic_U , 20 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 3 ′ end_POSTSUBSCRIPT patches we also find no clear edge effects. These results show that border effects from reprojection are negligible.

In Figure 13, the power spectra of the maps on the sphere at different resolutions are shown for different sky fractions. As was expected, our maps at 333\arcmin3 ′ can further extrapolate the power up to 3600similar-to3600\ell\sim 3600roman_ℓ ∼ 3600, which corresponds to the drop scale of 333\arcmin3 ′. We also note the absence of discontinuities at the transition from large scales to small scales (>200200\ell>200roman_ℓ > 200), implying that the small scales are produced with a similar pattern as the one at large scales, attributed to the normalization step to rescale the generated small scales in the range of [-1, 1] to the correct amplitude, as was mentioned in Section 3.2.2. In order to make a comparison with the latest d9 dust model from PySM3151515https://github.com/galsci/pysm (PanEx Collaboration, 2024), we also show the power spectra of d9 maps at 353GHz in blue. Although the latter was produced with entirely different methods, the power spectra of ForSE+D maps at 333\arcmin3 ′ are impressively close to those of d9 maps, even for different sky fractions.

Refer to caption
Figure 12: Top panel: Full-sky polarization maps (left: Stokes Q𝑄Qitalic_Q, right: Stokes U𝑈Uitalic_U) for the GNILC template at a 808080\arcmin80 ′ angular resolution. These maps are the input to our algorithm. Middle panel: Maps with small-scale features, up to 333\arcmin3 ′, generated by ForSE+D. Bottom panel: The difference between the two maps. The residuals mostly encode smaller angular scales, as was expected.
Refer to caption
Figure 13: EE and BB Power spectra of GNILC 808080\arcmin80 ′, deterministic 333\arcmin3 ′ in gray and red, with fskysubscript𝑓𝑠𝑘𝑦f_{sky}italic_f start_POSTSUBSCRIPT italic_s italic_k italic_y end_POSTSUBSCRIPT = 1, 0.8, and 0.4 in solid, dash-dotted, and dashed lines, respectively. In order to make a comparison, we also show the power spectra of PySM3 d9 dust map at 353GHz in blue.

We also calculated the power spectra of 100 realizations of full-sky maps at 333\arcmin3 ′, generated with ForSE+S3, with a 80%percent8080\%80 % sky mask, up to max=4096subscript𝑚𝑎𝑥4096\ell_{max}=4096roman_ℓ start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT = 4096 and with a bin width of Δ=160Δ160\Delta\ell=160roman_Δ roman_ℓ = 160. The covariance matrix from these 100 realizations is shown in Figure 14. The correlation among multipoles at small scales is further evidence that the small scales at >800800\ell>800roman_ℓ > 800 were synthesized in a non-Gaussian way. In fact, if the small-scale features were produced with Gaussian properties, we would not observe any non-diagonal correlation, which is verified from our experiment to calculate the covariance matrix of a purely Gaussian field. We devote the next section to further deepening the non-Gaussian properties of our maps.

Refer to caption
Figure 14: Covariance matrices of maps at 333\arcmin3 ′ on the sphere with an 80%percent8080\%80 % sky mask, shown in absolute values. Calculated for power spectra of an \ellroman_ℓ-bin range of [40, 4096] with a bin width of 160. Non-diagonal terms are normalized with the diagonal values, i.e., Rij=CijCiiCjjsubscript𝑅𝑖𝑗subscript𝐶𝑖𝑗subscript𝐶𝑖𝑖subscript𝐶𝑗𝑗R_{ij}=\frac{C_{ij}}{\sqrt{C_{ii}C_{jj}}}italic_R start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = divide start_ARG italic_C start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT end_ARG start_ARG square-root start_ARG italic_C start_POSTSUBSCRIPT italic_i italic_i end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_j italic_j end_POSTSUBSCRIPT end_ARG end_ARG.

4.3 Non-Gaussianity measured on the sphere

In previous sections, we considered the MFs in order to characterize non-Gaussianity for flat patches. Here, we expand the analysis to the full-sky maps, by exploiting the algorithms described in Grewal et al. (2022), in order to calculate MFs for spherical maps in the HEALPix format. We focus on the small scales injected by ForSE and ForSE+D and here we used the multipole range [200, 2048] to band-pass filter the raw maps and applied a 80%percent8080\%80 % sky mask to ignore the Galactic plane.

In Figure 15 we show the results of the MFs statistics applied to the sphere, confirming our previous claims. Differences in the ForSE+D map are visible with respect to the case of Gaussian maps in dashed gray for all three kinds of MFs. The Gaussian maps were generated from a random realization from the power spectra of the ForSE+D Q𝑄Qitalic_Q map. We also show the results of the latest PySM3 d9 dust maps in blue, which exhibits a deviation from Gaussianity, although being similar to the modulated Gaussian maps in orange, whose non-Gaussianity is supposed to derive only from the modulation of large scales. We further checked that the results are robust for the 40%percent4040\%40 % sky mask and for minsubscript𝑚𝑖𝑛\ell_{min}roman_ℓ start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT = 500 and 1000.

Refer to caption
Figure 15: The three kinds of MFs for the ForSE+D Q𝑄Qitalic_Q full-sky map at 333\arcmin3 ′ with an 80%percent8080\%80 % sky mask (red). The raw map is band-pass filtered to keep small scales only, corresponding to the multipole range [200, 2048]. The dashed gray lines show the MFs of the Gaussian maps. Results for PySM3 d9 and modulated Gaussian maps are also shown in blue and orange, respectively.

5 Discussion

In this paper, we extend the ability of the ForSE model proposed in KP2021 based on the GAN technique to simulate non-Gaussian stochastic small scales of polarized thermal dust emission up to 333\arcmin3 ′. We have trained three new models, which are summarized in Table 1, together with the one trained in KP2021.

Based on the results obtained in KP2021, our first test was to bring stochasticity into our models by adding a random component into the input and to train a new network called ForSE+S12 so that it can generate different maps with different seeds. Minkowski functionals were used to quantify the level of non-Gaussianity in the maps and in Figure 2 we demonstrate that the polarized thermal dust small scales have a similar level of non-Gaussianity to that in the intensity small scales. Different realizations of maps at 121212\arcmin12 ′ for a specific patch and the corresponding power spectra are shown in Figure 4, which indeed have expected variations at small scales and the correct amplitude scaling with multipoles for power spectra.

We then considered the case of a 333\arcmin3 ′ angular scale, where lensing B𝐵Bitalic_B-modes have the strongest signal, and we studied the deterministic case first, ForSE+D. By relying on the scale invariance assumption discussed in Section 2.2.1 and the pre- and post-processing steps outlined in Figure 5, we trained the model to generate maps at 333\arcmin3 ′ out of those at 121212\arcmin12 ′, which are the output from ForSE. MFs distributions in Figure 6 represent a verification of the training process. Maps and power spectra of a selected patch of maps at 333\arcmin3 ′ are shown in Figure 8, where the 333\arcmin3 ′ power is present as expected. ForSE+S3 was finally trained in order to generate stochastic small scales at 333\arcmin3 ′. Two realizations of small scales are shown in Figure 10, with their power spectra shown in the right panel of Figure 8, showing the expected multipole scaling.

After obtaining the small scales on flat patches, we reprojected them onto the celestial sphere in order to get full-sky maps in the HEALPix format, with Nside=2048subscript𝑁𝑠𝑖𝑑𝑒2048N_{side}=2048italic_N start_POSTSUBSCRIPT italic_s italic_i italic_d italic_e end_POSTSUBSCRIPT = 2048 for maps at 121212\arcmin12 ′ and 4096 for maps at 333\arcmin3 ′. We show the Mollview projection of the deterministic maps at 333\arcmin3 ′ in Figure 12 and compare them with the observed Planck GNILC maps, validating both the effectiveness of the injected small scales and the reprojection process. The power spectra of deterministic maps at 80,12801280\arcmin,12\arcmin80 ′ , 12 ′, and 333\arcmin3 ′ with 100%,80%percent100percent80100\%,80\%100 % , 80 %, and 40%percent4040\%40 % sky masks are plotted in Figure 13, indicating that the small scales generated preserve the same anisotropies as the low-resolution observations.

We further obtain the covariance matrix of power spectra up to max4000similar-tosubscript𝑚𝑎𝑥4000\ell_{max}\sim 4000roman_ℓ start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ∼ 4000 from 100 realizations of maps at 333\arcmin3 ′ in Figure 14, which has a strong correlation between different multipoles at small scales, and thus highlights the non-Gaussianity in our maps. We note that for a Gaussian field, the variances along the diagonal line are smaller than the variances we obtained here and the off-diagonal correlation is zero. We repeated the calculation of the covariance matrix for the PySM3 d11 model, which is also designed to generate multiple realizations of small scales of thermal dust emission (PanEx Collaboration, 2024), and find that off-diagonal elements are also close to zero, meaning that the level of non-Gaussianity of the injected small scales on the full sky is small.

Finally, we measured the level of non-Gaussianity using MFs in the simulated full-sky maps in Figure 15, and compared it with the small scales simulated within the Gaussian assumption. The difference between the MFs obtained from the two kinds of maps is another clear indication of the non-Gaussian small-scale component generated with ForSE+.

Once the steps above are achieved, we can use the synthetic dust Stokes Q𝑄Qitalic_Q and U𝑈Uitalic_U maps at 353GHz at 333\arcmin3 ′ resolution as a template and appropriately scale across different frequencies by taking the observed dust SEDs. The series of maps can then serve as a simulation suite to obtain the scatter of component separation against variations in the foreground realization. Moreover, high-resolution maps are essential in order to validate the lensing reconstruction methods, tested so far on foreground models where the arcminute structure is either absent or Gaussian (Lonappan et al., 2023), or based on models of the Galactic magnetic fields in order to reproduce a non-Gaussian pattern (Beck et al., 2020). In a forthcoming work, we will investigate if any variation of the results shown in Beck et al. (2020) occurs when considering the foreground maps exhibiting non-Gaussianity generated through GANs in this paper.

With the new version of PySM3 under development, we capitalize on integrating our maps into a new model of the latest PySM packages for public use. Maps will be shared upon request to the authors. The code to generate maps has also been made publicly available.161616https://github.com/yaojian95/ForSEplus. Finally, we report here future improvements in the ForSE algorithm. First, more observations are needed. In fact, the assumptions made in Section 2.2 are somewhat a compromise due to the lack of observation at the required resolution. The models will get more reliable as more observations become available. Second, by considering the network architecture, the loss function accounting for the non-Gaussianity of the targets produced by the GAN may be considered, as in the current implementation this process is not automatized. A way to quantify the level of non-Gaussianity with a formalism that is differentiable with respect to the input pixels would be desirable, as then we could construct the loss function of the network in order to include the information of non-Gaussianity, which will effectively guide the generator. The last point we want to mention is that the operation of adding noise is to some extent like the training process of diffusion models in deep learning, which is more natural than what is done in this work, so if we turn to use the network of diffusion model, it may have a better performance.

Acknowledgement

The authors acknowledge partial support by the Italian Space Agency LiteBIRD Project (ASI Grants No. 2020-9-HH.0 and 2016-24-H.1-2018), as well as the InDark and LiteBIRD Initiative of the National Institute for Nuclear Phyiscs, and the RadioForegroundsPlus Project (HORIZON-CL4-2023-SPACE-01, GA 101135036). G.P. acknowledges support from Italian Research Center on High Performance Computing Big Data and Quantum Computing (ICSC), project funded by European Union - NextGenerationEU - and National Recovery and Resilience Plan (NRRP) - Mission 4 Component 2 within the activities of Spoke 3 (Astrophysics and Cosmos Observations). J.Y. thanks Yun Zheng for useful discussions. This research used resources of the National Energy Research Scientific Computing Center (NERSC), a U.S. Department of Energy Office of Science User Facility located at Lawrence Berkeley National Laboratory, operated under Contract No. DE-AC02-05CH11231.

Software used: Astropy (Astropy Collaboration et al., 2013, 2018), PySM (Zonca et al., 2021; Thorne et al., 2017), NumPy (Harris et al., 2020), Namaster (Alonso et al., 2019), numba (Lam et al., 2015), Tensorflow (Abadi et al., 2015), reproject (Robitaille et al., 2023), HEALPix (Zonca et al., 2019; Górski et al., 2005)

References

  • Abadi et al. (2015) Abadi, M., Agarwal, A., Barham, P., et al. 2015, TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems, software available from tensorflow.org
  • Abazajian et al. (2016) Abazajian, K. N., Adshead, P., Ahmed, Z., et al. 2016, arXiv e-prints, arXiv:1610.02743
  • Abril-Cabezas et al. (2024) Abril-Cabezas, I., Hervías-Caimapo, C., von Hausegger, S., Sherwin, B. D., & Alonso, D. 2024, MNRAS, 527, 5751
  • Acquaviva & Baccigalupi (2006) Acquaviva, V. & Baccigalupi, C. 2006, Phys. Rev. D, 74, 103510
  • Ade et al. (2019) Ade, P., Aguirre, J., Ahmed, Z., et al. 2019, J. Cosmology Astropart. Phys., 2019, 056
  • Allison et al. (2015) Allison, R., Caucal, P., Calabrese, E., Dunkley, J., & Louis, T. 2015, Phys. Rev. D, 92, 123535
  • Allys et al. (2019) Allys, E., Levrier, F., Zhang, S., et al. 2019, A&A, 629, A115
  • Alonso et al. (2019) Alonso, D., Sanchez, J., Slosar, A., & LSST Dark Energy Science Collaboration. 2019, MNRAS, 484, 4127
  • Astropy Collaboration et al. (2018) Astropy Collaboration, Price-Whelan, A. M., Sipőcz, B. M., et al. 2018, AJ, 156, 123
  • Astropy Collaboration et al. (2013) Astropy Collaboration, Robitaille, T. P., Tollerud, E. J., et al. 2013, A&A, 558, A33
  • Aylor et al. (2021) Aylor, K., Haq, M., Knox, L., Hezaveh, Y., & Perreault-Levasseur, L. 2021, MNRAS, 500, 3889
  • Bartolo et al. (2004) Bartolo, N., Komatsu, E., Matarrese, S., & Riotto, A. 2004, Phys. Rep, 402, 103
  • Beck et al. (2020) Beck, D., Errard, J., & Stompor, R. 2020, J. Cosmology Astropart. Phys., 2020, 030
  • Bennett et al. (2013) Bennett, C. L., Larson, D., Weiland, J. L., et al. 2013, ApJS, 208, 20
  • Bernardi et al. (2004) Bernardi, G., Carretti, E., Fabbri, R., et al. 2004, MNRAS, 351, 436
  • BeyondPlanck Collaboration I (2023) BeyondPlanck Collaboration I. 2023, A&A, 675, A1
  • Cabella et al. (2010) Cabella, P., Pietrobon, D., Veneziani, M., et al. 2010, MNRAS, 405, 961
  • Clark & Hensley (2019) Clark, S. E. & Hensley, B. S. 2019, ApJ, 887, 136
  • Coulton & Spergel (2019) Coulton, W. R. & Spergel, D. N. 2019, J. Cosmology Astropart. Phys., 2019, 056
  • Delabrouille et al. (2013) Delabrouille, J., Betoule, M., Melin, J. B., et al. 2013, A&A, 553, A96
  • Delabrouille et al. (2009) Delabrouille, J., Cardoso, J. F., Le Jeune, M., et al. 2009, A&A, 493, 835
  • Foschi (2021) Foschi, M. 2021, Master’s thesis, University of Trento
  • Goodfellow et al. (2014) Goodfellow, I. J., Pouget-Abadie, J., Mirza, M., et al. 2014, arXiv e-prints, arXiv:1406.2661
  • Górski et al. (2005) Górski, K. M., Hivon, E., Banday, A. J., et al. 2005, ApJ, 622, 759
  • Grewal et al. (2022) Grewal, N., Zuntz, J., Tröster, T., & Amon, A. 2022, The Open Journal of Astrophysics, 5, 13
  • Guth (1981) Guth, A. H. 1981, Phys. Rev. D, 23, 347
  • Hadwiger (1957) Hadwiger, H. 1957, Vorlesungen ueber Inhalt, Oberflache und Isoperimetrie, Die Grundlehren der mathematischen Wissenschaften (Springer)
  • Harris et al. (2020) Harris, C. R., Millman, K. J., van der Walt, S. J., et al. 2020, Nature, 585, 357
  • Hervías-Caimapo & Huffenberger (2022) Hervías-Caimapo, C. & Huffenberger, K. M. 2022, ApJ, 928, 65
  • Heurtel-Depeiges et al. (2023) Heurtel-Depeiges, D., Burkhart, B., Ohana, R., & Régaldo-Saint Blancard, B. 2023, arXiv e-prints, arXiv:2310.16285
  • Hinshaw et al. (2013) Hinshaw, G., Larson, D., Komatsu, E., et al. 2013, ApJS, 208, 19
  • Hu (2000) Hu, W. 2000, Phys. Rev. D, 62, 043007
  • Hu & Dodelson (2002) Hu, W. & Dodelson, S. 2002, ARA&A, 40, 171
  • Hu & Okamoto (2002) Hu, W. & Okamoto, T. 2002, ApJ, 574, 566
  • Kamionkowski et al. (1997) Kamionkowski, M., Kosowsky, A., & Stebbins, A. 1997, Phys. Rev. D, 55, 7368
  • Kamionkowski & Kovetz (2016) Kamionkowski, M. & Kovetz, E. D. 2016, ARA&A, 54, 227
  • Kim et al. (2019) Kim, C.-G., Choi, S. K., & Flauger, R. 2019, ApJ, 880, 106
  • Krachmalnicoff et al. (2016) Krachmalnicoff, N., Baccigalupi, C., Aumont, J., Bersanelli, M., & Mennella, A. 2016, A&A, 588, A65
  • Krachmalnicoff et al. (2018) Krachmalnicoff, N., Carretti, E., Baccigalupi, C., et al. 2018, A&A, 618, A166
  • Krachmalnicoff & Puglisi (2021) Krachmalnicoff, N. & Puglisi, G. 2021, ApJ, 911, 42
  • Krachmalnicoff & Puglisi (2023) Krachmalnicoff, N. & Puglisi, G. 2023, The Astrophysical Journal, 947, 93
  • Krachmalnicoff & Tomasi (2019) Krachmalnicoff, N. & Tomasi, M. 2019, A&A, 628, A129
  • Lam et al. (2015) Lam, S. K., Pitrou, A., & Seibert, S. 2015, in Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, 1–6
  • Lenz et al. (2017) Lenz, D., Hensley, B. S., & Doré, O. 2017, ApJ, 846, 38
  • Li et al. (2018) Li, H., Li, S.-Y., Liu, Y., et al. 2018, National Science Review, 6, 145
  • LiteBIRD Collaboration et al. (2023) LiteBIRD Collaboration, Allys, E., Arnold, K., et al. 2023, Progress of Theoretical and Experimental Physics, 2023, 042F01
  • Lonappan et al. (2023) Lonappan, A. I., Namikawa, T., Piccirilli, G., et al. 2023, arXiv e-prints, arXiv:2312.05184
  • Madhavacheril et al. (2024) Madhavacheril, M. S., Qu, F. J., Sherwin, B. D., et al. 2024, ApJ, 962, 113
  • Maniyar et al. (2021) Maniyar, A. S., Ali-Haïmoud, Y., Carron, J., Lewis, A., & Madhavacheril, M. S. 2021, Phys. Rev. D, 103, 083524
  • Mantz et al. (2008) Mantz, H., Jacobs, K., & Mecke, K. 2008, Journal of Statistical Mechanics: Theory and Experiment, 2008, 12015
  • Padoan et al. (2001) Padoan, P., Goodman, A., Draine, B. T., et al. 2001, ApJ, 559, 1005
  • PanEx Collaboration (2024) PanEx Collaboration. 2024, in preparation
  • Planck Collaboration Int. XX (2015) Planck Collaboration Int. XX. 2015, A&A, 576, A105
  • Planck Collaboration IV (2020) Planck Collaboration IV. 2020, A&A, 641, A4
  • Planck Collaboration IX (2020) Planck Collaboration IX. 2020, A&A, 641, A9
  • Planck Collaboration VI (2020) Planck Collaboration VI. 2020, A&A, 641, A6
  • Planck Collaboration VIII (2020) Planck Collaboration VIII. 2020, A&A, 641, A8
  • Planck Collaboration XI (2020) Planck Collaboration XI. 2020, A&A, 641, A11
  • POLARBEAR Collaboration (2022) POLARBEAR Collaboration. 2022, ApJ, 931, 101
  • Qu et al. (2024) Qu, F. J., Sherwin, B. D., Madhavacheril, M. S., et al. 2024, ApJ, 962, 112
  • Remazeilles et al. (2015) Remazeilles, M., Dickinson, C., Banday, A. J., Bigot-Sazy, M. A., & Ghosh, T. 2015, MNRAS, 451, 4311
  • Robitaille et al. (2023) Robitaille, T., Ginsburg, A., Mumford, S., et al. 2023, astropy/reproject: v0.10.0
  • Santos et al. (2021) Santos, L., Yao, J., Zhang, L., et al. 2021, A&A, 650, A65
  • Spider Collaboration (2022) Spider Collaboration. 2022, ApJ, 927, 174
  • SPT Collaboration (2023) SPT Collaboration. 2023, Phys. Rev. D, 108, 023510
  • Stompor et al. (2009) Stompor, R., Leach, S., Stivoli, F., & Baccigalupi, C. 2009, MNRAS, 392, 216
  • The BICEP/Keck Collaboration (2022) The BICEP/Keck Collaboration. 2022, ApJ, 927, 77
  • Thorne et al. (2017) Thorne, B., Dunkley, J., Alonso, D., & Næss, S. 2017, MNRAS, 469, 2821
  • Thorne et al. (2021) Thorne, B., Knox, L., & Prabhu, K. 2021, MNRAS, 504, 2603
  • Tristram et al. (2022) Tristram, M., Banday, A. J., Górski, K. M., et al. 2022, Phys. Rev. D, 105, 083524
  • Yao et al. (2018) Yao, J., Zhang, L., Zhao, Y., et al. 2018, ApJS, 239, 36
  • Zaldarriaga & Seljak (1997) Zaldarriaga, M. & Seljak, U. 1997, Phys. Rev. D, 55, 1830
  • Zhang et al. (2019) Zhang, P., Zhang, J., & Zhang, L. 2019, MNRAS, 484, 1616
  • Zonca et al. (2019) Zonca, A., Singer, L., Lenz, D., et al. 2019, Journal of Open Source Software, 4, 1298
  • Zonca et al. (2021) Zonca, A., Thorne, B., Krachmalnicoff, N., & Borrill, J. 2021, Journal of Open Source Software, 6, 3783