Previous page XQML
1. Introduction
2. XQML code :
2.1 cross :
- Matrices S and \displaystyle \frac{d S}{d C_b} are computed at the same time.
- Define matrix \displaystyle P_b = \frac{d S}{d C_b}
- Diagonal pixel covariance matrix, with V_A = pixel noise variance for map A. Same for map B :
- C^{AB} = S ,
- C^{AA} = S + \mathbb 1 \cdot V_A ,
- C^{BB} = S + \mathbb 1 \cdot V_B .
- Compute {C^{AA}}^{-1} and {C^{BB}}^{-1}
- Compute E_b^{AB} = {C^{AA}}^{-1} P_b {{C^{BB}}}^{-1}
- Compute \displaystyle F_{bb'}^{AB} = Tr_{pix}[ {C^{AA}}^{-1} P_b {{C^{BB}}}^{-1} P_{b'} ] = \sum_{allpix~ij} (E_b^{ij} P_{b'}^{ij} ) (term-by-term matrix product from trace property).
- Compute {F_{bb'}^{AB}}^{-1}
- Compute C^{AB}\cdot E_b then G_{bb'}^{AB} = \sum_{allpix~ij} (C^{AB}\cdot E_b)^{ij} ( C^{AB} E_{b'})^{ij}
2.2 auto :
- Matrices S and \displaystyle \frac{d S}{d C_b} are computed at the same time.
- S is now computed from \ell = 2 to ell=lmax, whatever the binning.
- Define matrix \displaystyle P_b = \frac{d S}{d C_b}
- Diagonal pixel covariance matrix, with V_A = pixel noise variance for map A. Same for map B :
- C^{auto} = S + \mathbb 1 \cdot V_A ,
- Compute {C^{auto}}^{-1}
- Compute E_b^{auto} = {C^{auto}}^{-1} P_b {{C^{auto}}}^{-1}
- Compute \displaystyle F_{bb'}^{auto} = Tr_{pix}[ {C^{auto}}^{-1} P_b {{C^{auto}}}^{-1} P_{b'} ] = \sum_{allpix~ij} (E_b^{ij} P_{b'}^{ij} ) (term-by-term matrix product from trace property).
- Compute {F_{bb'}^{auto}}^{-1}
3. Simulation pipeline :
- Get pre-saved S and \displaystyle \frac{d S}{d C_b} matrices computed for defined set of parameters :
- patch (bicep or litebird like),
- fwhm (beam),
- nside,
- mask (fksy),
- Clth (fiducial spectrum model),
- first \ell,
- bin size \Delta \ell ,
- pixwin (yes/no)
- Compute useful matrices for xqml (description above).
- Compute 1000 simulations as follow :
- Noise maps :
- Map noise auto : N = \mathcal N (0, \sqrt {V_A})
- Map noise A : N_A = \mathcal N (0, \sqrt {2V_A})
- Map noise B : N_B = \mathcal N (0, \sqrt {2V_B})
- Map CMB : synfast(Clth, fwhm=fwhmrad, pixwin=True)
- Maps :
- Map d : d = CMB + N,
- Map A : d_A = CMB + N_A,
- Map B : d_B = CMB + N_B
- cross xqml :
- cross pre-estimator \hat y_b = d_A E_b d_B
- cross estimator \hat C_b = {F_{bb'}^{AB}}^{-1} \cdot \hat y_{b'}
- auto xqml :
- auto pre-estimator \hat y_b = d E_b d
- spectrum bias term : \hat B_{b} = Tr_{pix} [N \cdot E_b ] = \sum_{allpix~ij} (N^{ij} E_{b}^{ij})
- auto estimator \hat C_b = {F_{bb'}^{AB}}^{-1} \cdot (\hat y_{b'} - \hat B_{b} )
- Evaluates analytic error : Cov(C_b, C_{b'}) = {F_{bb_1}^{AB}}^{-1} G_{b_1b_2}^{AB} {F_{b_2b'}^{AB}}^{-1} + {F_{bb'}^{AB}}^{-1}
- Compute MC spectra means and variances, then compare to the model and the analytic variance.
3.1 Bicep patch Inverse noise variance :
My version (wrong)
Let w be the apodization weighing mask map of bicep ( [0,..,1] \in w ). We want to build a noise map with variance inversely proportional to the weighing map.
If we choose the weighed mean variance per pixel of the map to be \sigma^2 [\mu K\cdot arcmin] , and V_i the variance of pixel i, then we have \displaystyle \sigma = \frac{\sum_i V_i w_i}{\sum_i w_i} . Since we want to weight the variance for each pixel, we take V_i = \alpha \sigma^2 w_i^{-1} with \alpha the normalisation factor that assures the mean variance of the map V to be \sigma^2. Thus, \displaystyle \sigma^2 = \frac{\sum_i \sigma \alpha}{\sum w_i} = \frac{n_{pix} \sigma^2 \alpha}{\sum w_i} , which gives \displaystyle \alpha = \frac{\sum_i w_i}{n_{pix}} , and the final variance per pixel read : \displaystyle V_i = \frac{\sigma^2}{ w_i} \frac{\sum_j w_j}{n_{pix}}
Matt's version :
We demand the total variance of the map to be \displaystyle \frac{\sigma^2}{n_{pix}} [\mu K\cdot arcmin] = \frac 1 {\sum_i 1/ V_i} which is equal to \displaystyle \frac{\sigma^2}{n_{pix}} if V_i = \sigma^2 (white noise case). Now we demand a weighting of the variance such that V_i = \beta w_i^{-1} with \beta the normalisation factor. Injecting V_i gives \beta = \displaystyle \frac{\sigma^2}{n_{pix}} \sum_i w_i ad finally \displaystyle V_i = \frac{\sigma^2}{ w_i} \frac{\sum_j w_j}{n_{pix}} .
4. Simulations variance en fits results :
- Compute std for two patches : Full and small (litebird and bicep like).
- Xqml spectra estimators are computed for 1000 simulation. Theoretical std is compared to MC std.
- Upper plot corresponds to the mean of the 1000 xqml simulations spectrum estimation (blue dot) compared to C_\ell model (dashed black).
- Down plot are standard deviations (error bars) compared to Fisher error (dasher red) and C_\ell model (dashed black).
- The cross Fisher variance estimate follows :
\displaystyle Cov( C^{AB}_\ell, C^{AB}_{\ell} ) = \frac{1}{ f_{sky} (2 \ell+1) \Delta \ell} \left[ C_\ell^{AA} C_\ell^{BB} + C_\ell^{AB}C_\ell^{BA} \right]
\displaystyle Cov( C^{AB}_\ell, C^{AB}_{\ell} ) = \frac{1}{ f_{sky} (2 \ell+1) \Delta \ell} \left[ 2 C_\ell^2 + C_\ell ( N_\ell^A + N_\ell^B )b_\ell^{-2} + N_\ell^A N_\ell^B b_\ell^{-4} \right]
where \displaystyle f_{sky} = \frac 1{n_{pix}} \frac{(\sum_i W_i^2)^2}{\sum_i W_i^4} (from MASTER paper)
- While the auto- Fisher variance estimate follows :
\displaystyle Cov( C^{A=B}_\ell, C^{A=B}_{\ell} ) = \frac{1}{ f_{sky} (2 \ell+1) \Delta \ell} \left[ C_\ell^{AA} C_\ell^{BB} + C_\ell^{AB}C_\ell^{BA} \right]
\displaystyle Cov( C^{A=B}_\ell, C^{A=B}_{\ell} ) = \frac{1}{ f_{sky} (2 \ell+1) \Delta \ell} \times 2 \times \left[ C_\ell + N_\ell^A b_\ell^{-2} \right]^2
- Right tab describes simulation inputs :
- Patch and nside. (BICEPivw means that I used inverse variance weighting (ivw) for noise maps. Otherwise, "BICEP" alone means that I used white noise.).
- 1bins40 means that the minimum \ell taken in the binning starts at \ell = 40
- pixwin (1 = True, always the case in simulations so far)
- fwhmdeg (beam in degrees, always used 0.5 deg in simulations so far)
- wiEE corresponds to C_\ell^{EE} \neq 0. While noEE is the opposite ( C_\ell^{EE} = 0).
- r0.1 corresponds to r=0.1 (always used r=0.1 case in simulation so far).
- fsky
- noise \sigma = 0.1 [\mu K\cdot arcmin ] , gives the following variance noise per pixel : \displaystyle \sigma_{pix}^2 = \frac{\sigma^2 \cdot 10^{-12} }{60^2 \cdot PixelArea [deg]}
- mean value of N_\ell is boxed in magenta, and \ell (\ell+1)/2/\pi N_\ell is plotted in magenta.
- yellow triangles are Xpol fits and variance.
4.1 Bicep patch, Nside 128 :
no ponderation (white noise)
4.2 Bicep patch, Nside 128 :
- Avec ponderation du bruit par pixel !
fwhm=0.5deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
fwhm=0.5deg, \sigma=0.1 \mu Karcm | | |
fwhm=0.5deg, \sigma=1.0 \mu Karcm | | |
fwhm=0.5deg, \sigma=5.0 \mu Karcm | | |
4.3 Litebird patch, Nside 16 :
fwhm=1.0deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
fwhm=1.0deg, \sigma=0.1 \mu Karcm | | |
fwhm=1.0deg, \sigma=1.0 \mu Karcm | | |
fwhm=1.0deg, \sigma=5.0 \mu Karcm | | |
5. Error in pixel covariance matrix :
5.1 Estimation and variance :
We change C = S + N by C = S + p \cdot N with p = [0.5, 1.0, 2.0.]
- Note : Le biais en auto sur Bicep pondéré est dû à une erreur dans mes jobs : Je lui donne une matrice de bruit diagonale constante pour débiaiser l'estimateur, alors que dans ce cas la diagonale n'est justement pas constante. C'est en cours de correction.
Bicep (ponderé)
cross :
fwhm=0.5deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
\sigma=1.0 \mu Karcm | | |
\sigma=5.0 \mu Karcm | | |
auto :
fwhm=0.5deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
\sigma=1.0 \mu Karcm | | |
\sigma=5.0 \mu Karcm | | |
Litebird :
Cross :
fwhm=0.5deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
\sigma=1.0 \mu Karcm | | |
\sigma=5.0 \mu Karcm | | |
Auto :
fwhm=0.5deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
\sigma=1.0 \mu Karcm | | |
\sigma=5.0 \mu Karcm | | |
5.2 Ratio of variance
Again, we change C = S + N by C = S + p \cdot N with p = [0.5, 1.0, 2.0.], and plot the ratio \displaystyle R(p) = \sqrt{ \frac{VarCl (C = S + p \cdot N)}{VarCl (C = S + N)} } of the MC standard deviations. Note that for each value of p, the 1000 cmb + noise simulations are the same.
Bicep (ponderé)
Cross and auto :
fwhm=0.5deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
\sigma=1.0 \mu Karcm | | |
\sigma=5.0 \mu Karcm | | |
Litebird :
Cross and auto :
fwhm=0.5deg | C_\ell^{EE} \neq 0 | C_\ell^{EE} = 0 |
\sigma=1.0 \mu Karcm | | |
\sigma=5.0 \mu Karcm | | |
6. Other :
- My to do list :
- Test and compare Pure B-mode