# PureB by Messenger Method

*Michael Ray, Colin Bischoff, 2019-09-16*

This posting describes an alternate pure-B estimator applied to the 95 GHz DC 04.00 maps with *A _{L}*=1. It uses the "messenger method" (Elsner & Wandelt 2012) to Wiener filter the maps. We treat the E-mode part of the signal covariance as if it was noise covariance (Bunn & Wandelt 2017), so filter equation becomes:

map_{wf}= (S_{B}/(S_{B}+S_{E}+N)) * map,

where `S _{E,B}` are the E-mode and B-mode parts of the signal covariance.

For these simulations with unfiltered skies, the signal covariance is diagonal in the spherical harmonic basis. We treat the noise covariance as diagonal in the pixel basis (not strictly true because of the white + 1/ℓ noise spectrum in the data challenge maps). The messenger method iteratively solves fo the Wiener-filtered map by introducing a messenger field, `t`, with covariance matrix, `T`, that is proportional to the identity matrix, so it can be written easily in any basis. For each step of the algorithm, we transform back and forth between pixel space and spherical harmonic space, with the messenger field carrying information between the two bases.

As a first demonstration, we applied this technique to the 95 GHz DC 04.00 maps (Gaussian foregrounds, circular 3% fsky mask). The signal covariance matrices (in spherical harmonic space) are set to lensed-LCDM EE and BB spectra (purely diagonal), multiplied by *B _{ℓ}^{2}* and zeroed for ℓ < 30 (this last choice appears to have consequences for the bandpower window functions). We did not include any foreground contribution to the signal covariance. The noise covariance is diagonal in pixel space, with values equal to 0.01 μK

^{2}times the inverse of the mask (checked against a set of noise maps). For unobserved pixels, the noise covariance is set to a very large but finite value.

The messenger method includes parameter, λ, which scales the covariance of the messenger field. Convergence proceeds more quickly for large values of λ, but the final solution is obtained for λ = 1. This means that we want to implement a "cooling schedule" for efficient filtering. In our implementation, λ starts at a value of 1300, is decreased to 100 on the second iteration, and then is reduced by factor η = 0.825 on each subsequent iteration. When λ reaches 1, we iterate an additional 5 times. We have experimented fairly extensively with other cooling schedules and found that this method gives good convergence in a reasonable amount of time. (We are able to filter a single set of Q and U maps in 34 minutes on a single processor.)

Figures 1 and 2 show a map before and after filtering. The input maps is dominated by LCDM E modes. The output map contains B modes from foregrounds and lensing. The output map color scale has been zoomed in so that we can see that the pure-B filtering operation has extended the map into the unobserved region.

After applying the filter, we calculate the BB spectrum with anafast and bin with Δℓ=35, to match the pure-S2hat analysis. Noise bias is measured from 100 noise-only simulations. Bandpower window functions (Figures 4 and 5) and suppression factors are calculated by running ℓ-by-ℓ simulations (but only 6 realizations per ℓ value so far). Figure 3 shows noise-debiased and suppression-factor-corrected power spectra for 100 LCDM+foregrounds+noise simulations. The expectation value line is calculated by applying the bandpower window functions to a LCDM+foregrounds model that matches the sims.

There is some noticeable bias in the last bin especially. Something is clearly off with the calculations for this bin (see bandpower window functions) and needs to be investigated.

Figures 4 and 5 show bandpower window functions for input B modes >> output BB (left) and input E modes >> output BB (right). These were calculated by running just six simulations for each ℓ value, and could be made less noisy with additional computation. The purity of the estimator can be seen by comparing the absolute level of the two sets of functions; the first ell bin responds has response to B modes that is ~1000x greater than the response to E modes. Our initial reaction was that this is not an extremely impressive level of purity (though it is better than simply masking and running anafast). However, keep in mind that we are using a Wiener filter that knows about the noise level, so it might choose to keep modes that are slightly ambiguous if they result in a net decrease in bandpower variance.

The input B >> output BB window functions show a prominent bump for 𡄓 < 30. This is probably due to the choice we made to zero the E and B signal covariance matrices in that range (which does match the sim construction). Our naive expectation based on the Wiener filter equation was that the filter would kill that ℓ range because it contains no signal, but clearly this is not happening. We plan to investigate this by calculating window functions without zeroing that part of the covariance matrix.

The 10th ℓ bin shows odd behavior, with no upper end cutoff and very different normalization from other bins. This might just be a bug in the binning code. That bin also showed the largest bias in Figure 3, which might be related.

Figure 6 shows the variance calculated from BB bandpowers of the first 100 signal + noise maps by pure-S2hat and by this estimator. The Wiener filter / messenger method estimator produces lower variance for all bins (but the last bin shouldn't be trusted, for reasons discussed above). We believe that at least part of this improvement is because the Wiener filter considers both signal and noise variance, so it could decide to keep more modes for a signal-dominated case. There results are from sims with *A _{L}* = 1, which is a pretty large B-mode signal when compared to the CMB-S4 forecasted 95 GHz noise. We expect that the improvement would be much smaller for maps that have been delensed.

There are several steps that are still needed before this estimator can be used as part of a full Data Challenge analysis:

- Look into the effect of zeroing signal covariance for ℓ < 30. Is this responsible for the low-ℓ feature in the bandpower window functions?
- Figure out what is going on with the 10th ℓ bin.
- Incorporate this filter into a pipeline infrastructure that can run on all maps, take cross-spectra, calculate TT, EE, TE, EB, TB, etc.