In [1]:
import cmbfittest as fit

In [2]:
from scipy.ndimage.filters import gaussian_filter1d as gaussian_filter
from numpy.random import multivariate_normal as normal
from numpy.random import normal as N
from numpy import dot, sqrt, zeros, array, arange, save, mean, std
from numpy.linalg import inv, eigh
from scipy.linalg import sqrtm
from matplotlib.colors import LogNorm

In [3]:
### Instancing models
primordial = fit.model.model('primordial', ellmax = 5000, force_calculation = False)
lcdm = fit.model.model('lcdm', ellmax = 5000, force_calculation = False)
primordial.get_dcldphi()
lcdm.get_dcldphi()
primordial.get_covariance()
lcdm.get_covariance()
primordial.save_dcldphi()
lcdm.save_dcldphi()

In [4]:
#lcdm.dcldphi = gaussian_filter(lcdm.dcldphi, sigma = 20, axis = 0)
primordial.dcldphi= gaussian_filter(primordial.dcldphi, sigma = 20, axis = 0)

In [5]:
figure(figsize = (11,8.5), dpi = 400)

plot(primordial.dcldphi[:3000,:3000], linewidth = 2);
xlabel('multipole $l$', fontsize = 24)
ylabel(r'$\delta C_l \left[\mu {\rm k}^2\right]$', fontsize = 24)
title('Primordial Perturbation Responses', fontsize = 24)
savefig('figures/responses.png')



In [6]:
### SPT
spt = fit.data.data('spt', ellmax = 5000)
spt.get_covariance()
spt.get_bandpowers()
spt.get_window_functions()
errorbar(arange(47), spt.observation, yerr = sqrt(diag(spt.covariance)))
figure()
errorbar(arange(35,47), spt.observation[35:47], yerr = sqrt(diag(spt.covariance))[35:47])


Out[6]:
<Container object of 3 artists>

In [7]:
### WMAP
wmap = fit.data.data('wmap', ellmax = 5000)
wmap.get_covariance()
wmap.get_bandpowers()
wmap.get_window_functions()
errorbar(wmap.lslice, wmap.observation, yerr = sqrt(diag(wmap.covariance)))


src/data.py:118: RuntimeWarning: divide by zero encountered in divide
  inv_covariance = np.diag(1.0/np.diag(tttt)) - R_eff/(tttt) + Epsilon/tttt**2
src/data.py:118: RuntimeWarning: invalid value encountered in divide
  inv_covariance = np.diag(1.0/np.diag(tttt)) - R_eff/(tttt) + Epsilon/tttt**2
Out[7]:
<Container object of 3 artists>

In [8]:
fisher_lcdm = fit.model.model('lcdm', ellmax = 5000)
parameter_prior_cov = inv(
                          dot(
                              dot(lcdm.dcldphi.T, wmap.windows.T),
                              dot(
                                  inv(wmap.covariance),
                                  dot(wmap.windows,lcdm.dcldphi)
                                  )
                              )
                        + dot(
                              dot(lcdm.dcldphi.T, spt.windows.T),
                              dot(
                                  inv(spt.covariance),
                                  dot(spt.windows,lcdm.dcldphi)
                                  )
                              )
                          )
fisher_lcdm.dcldphi = dot(lcdm.dcldphi, parameter_prior_cov)
fisher_lcdm.get_covariance()
imshow(fisher_lcdm.covariance)
colorbar()


Out[8]:
<matplotlib.colorbar.Colorbar instance at 0x120c827e8>

In [9]:
#imshow(
#       abs(wmap.covariance),
#       norm = LogNorm(vmin = 10, vmax = 1e4)
#        )
#colorbar()
#figure()
#imshow(abs((spt.covariance)), 
#       norm = LogNorm(vmin = 10, vmax=1e4)
#       )
#colorbar()
#figure()
#plot(sqrt(diag(wmap.covariance)))
#figure()
#plot(sqrt(diag(spt.covariance)))

In [10]:
lda=fit.scheme.compression_scheme(
                                    'LDA',
                                    dcldphi = primordial.dcldphi,
                                    noise_cov = [spt.covariance,wmap.covariance],
                                    windows = [spt.windows, wmap.windows],
                                    supermodel_cov = primordial.covariance,
                                    kappa = 1e6, 
                                    SM_cov = fisher_lcdm.covariance,
                                    nummodes = 20,
                                    ellmax = 5000
                                    )

In [11]:
lda.get_compression_modes()


<matplotlib.figure.Figure at 0x106952090>
<matplotlib.figure.Figure at 0x12bf39390>
/Users/follin/projects/anaconda/lib/python2.7/site-packages/numpy/core/numeric.py:460: ComplexWarning: Casting complex values to real discards the imaginary part
  return array(a, dtype, copy=False, order=order)

In [12]:
from matplotlib.pyplot import cm
spt_ells = arange(650, 3000, 50)
nummodes = 4
figure(figsize = (11,8.5), dpi = 400)
colormap = cm.RdYlBu
#colors = [colormap(i) for i in np.linspace(0, 0.9, nummodes)]
colors = ['b', 'g', 'r', 'k']
for i in arange(nummodes):
    plot(spt_ells, lda.modes[:47,i]/50, color = colors[i], linestyle='dashed', linewidth = 3);
    plot(wmap.lslice, lda.modes[47:,i], color = colors[i], label = 'Mode %i'%(i+1), linewidth = 3);
legend(loc = 2)
xlabel('Multipole $l$', fontsize = 24)
ylabel('Filter Function $h_i(l)$', fontsize = 24)

savefig('figures/modes.png')

figure(figsize = (11,8.5), dpi = 400)
colors = ['b', 'g', 'r', 'k']
for i in arange(nummodes):
    semilogx(spt_ells, lda.modes[:47,i]/50, color = colors[i], linestyle='dashed', linewidth = 3);
    semilogx(wmap.lslice, lda.modes[47:,i], color = colors[i], label = 'Mode %i'%(i+1), linewidth = 3);
legend(loc = 2)
xlabel('Multipole $l$', fontsize = 24)
ylabel('Filter Function $h_i(l)$', fontsize = 24)

savefig('figures/modes_logscale.png')



In [13]:
print lcdm.dcldphi.T.shape
print spt.windows.shape


(6, 5001)
(47, 5001)

In [14]:
lda.modes.shape
for i in arange(6):
    windowed_lcdm = []
    windowed_lcdm.append(dot(lcdm.dcldphi.T[i,:], spt.windows.T))
    windowed_lcdm.append(dot(lcdm.dcldphi.T[i,:], wmap.windows.T))
    windowed_lcdm = [item for sublist in windowed_lcdm for item in sublist]
    windowed_lcdm = array(windowed_lcdm)
    print dot(real(lda.modes.T), windowed_lcdm)/sqrt(dot(windowed_lcdm, windowed_lcdm)* dot(real(lda.modes).T, real(lda.modes)));


#print dot(real(windowed_lcdm), windowed_lcdm)/sqrt(dot(windowed_lcdm, windowed_lcdm)* dot(windowed_lcdm, windowed_lcdm));


[[  6.89188871e-02              nan  -5.31236651e-03   8.51617504e-03
               nan              nan              nan              nan
   -1.37514242e-03  -3.76040872e-03   1.38389568e-01              nan
   -2.52000122e-03              nan  -4.93252806e-04  -2.34849954e-02
    3.44204235e-04   2.73136362e-03              nan   9.06492306e-02]
 [             nan   7.34767482e-04              nan              nan
   -2.38056679e-04   4.43195559e-03  -3.80027738e-03  -2.25026507e-03
               nan              nan              nan  -1.16949187e-01
               nan   3.16278774e-04              nan              nan
               nan              nan  -3.07433312e-04   6.52714914e-02]
 [  7.53304453e-02              nan  -4.86021802e-03   7.63104185e-03
   -5.43509923e-04              nan              nan              nan
   -1.32078520e-03  -2.84382450e-03   1.39114744e-01              nan
               nan              nan  -8.98008396e-04  -4.12346620e-02
    4.55208094e-04   2.63981718e-03  -3.95993371e-04   4.48666537e-02]
 [  7.71417859e-02              nan  -4.87468369e-03   7.60839666e-03
   -4.39020790e-04              nan  -1.06746962e-02              nan
   -1.32561331e-03  -2.78289807e-03   1.34981048e-01              nan
               nan              nan  -1.21147110e-03  -5.78115447e-02
    5.01826338e-04   2.66749775e-03  -3.35750435e-04   3.98898394e-02]
 [             nan   8.96021080e-04  -1.35316625e-02   1.71106363e-02
   -1.95214500e-04   3.86573262e-03  -2.78337342e-03  -2.90055822e-03
               nan  -8.18830452e-03              nan  -1.11481548e-01
               nan   2.67798411e-04              nan              nan
               nan              nan  -3.23741535e-04   5.77615772e-02]
 [             nan   8.62387397e-04              nan              nan
   -1.99848529e-04   3.77609513e-03  -2.76451175e-03  -2.09920083e-03
               nan              nan              nan  -1.16764722e-01
               nan   2.71080476e-04              nan              nan
               nan              nan  -8.50035697e-04              nan]
 [             nan   1.08761332e-03              nan   3.16342806e-02
   -2.11637606e-04   4.06603076e-03  -2.56738328e-03  -2.90340942e-03
               nan              nan              nan  -1.20622329e-01
               nan   2.73077270e-04              nan              nan
               nan              nan  -6.39051250e-04   1.78191547e-01]
 [             nan   1.07083429e-03              nan              nan
   -3.66718081e-04   5.13376021e-03  -4.82767086e-03  -1.54404992e-03
               nan              nan              nan              nan
   -2.27632320e-03   6.83147626e-04  -5.91295927e-03              nan
               nan              nan              nan              nan]
 [  8.44332545e-02              nan  -5.71894000e-03   8.98540375e-03
               nan              nan              nan              nan
   -1.12246396e-03  -2.36265491e-03   1.37266458e-01  -3.52454921e-01
               nan              nan              nan  -9.00330251e-02
    4.89623927e-04   2.00661852e-03  -1.81900279e-04   2.91235481e-02]
 [  1.18186608e-01              nan  -6.30308994e-03   9.65573652e-03
   -7.28955502e-04              nan              nan              nan
   -1.20939358e-03  -2.19283038e-03   1.56472316e-01  -1.11226328e-01
               nan   3.94846087e-04              nan              nan
               nan   2.20437693e-03  -1.45461606e-04   2.47854091e-02]
 [  1.14061762e-01              nan  -8.08588160e-03   1.22818675e-02
               nan              nan              nan              nan
   -1.84261796e-03  -4.10337318e-03   8.36183386e-02              nan
               nan              nan  -1.04161635e-03              nan
    5.99076647e-04   3.38841064e-03  -4.63490887e-04   2.32001052e-02]
 [             nan   1.37542144e-03              nan              nan
   -3.48340296e-04   7.05737559e-03  -4.95686480e-03              nan
   -6.33234605e-03  -3.90392345e-03              nan  -6.24757307e-02
               nan   2.91006025e-04              nan              nan
               nan              nan  -1.91832990e-04   3.91177741e-02]
 [  1.38723692e-01              nan              nan              nan
               nan              nan              nan  -2.80741679e-03
               nan              nan              nan              nan
   -1.25195399e-03              nan  -3.41549214e-04  -1.62529183e-02
    2.91677069e-04              nan              nan              nan]
 [             nan   1.09491336e-03              nan              nan
   -2.46308755e-04   4.82281882e-03  -3.30320891e-03  -4.96976303e-03
               nan  -4.07936587e-03              nan  -8.56590209e-02
               nan   2.12246344e-04              nan              nan
               nan              nan  -2.41873619e-04   4.38960313e-02]
 [  1.02841797e-01              nan  -1.32037711e-02   2.78848326e-02
               nan              nan              nan  -2.76202789e-02
               nan              nan   2.63494261e-01              nan
   -1.29361039e-03              nan  -3.30550762e-04  -1.55460649e-02
    2.63869261e-04   3.30076995e-03              nan              nan]
 [  1.06941595e-01              nan  -1.32414673e-02   2.90620097e-02
               nan              nan              nan              nan
   -6.67716597e-03              nan              nan              nan
   -1.34442830e-03              nan  -3.39528757e-04  -1.51349879e-02
    2.65480456e-04   2.76274409e-03              nan              nan]
 [  9.43091334e-02              nan  -8.79559079e-03   1.51790952e-02
               nan              nan              nan              nan
   -2.18491390e-03              nan   1.99151331e-01              nan
   -1.45174368e-03              nan  -3.46757811e-04  -1.59740088e-02
    2.51536325e-04   1.91855466e-03              nan              nan]
 [  1.37700083e-01              nan  -9.38525394e-03   1.48461428e-02
               nan              nan              nan              nan
   -1.64760707e-03  -3.53595982e-03   2.07259285e-01              nan
               nan              nan  -7.98123033e-04  -3.05871603e-02
    3.53013500e-04   1.36704741e-03  -1.12083199e-04   1.98381697e-02]
 [             nan   2.22939504e-03  -1.89945866e-02   2.52113388e-02
   -6.23730055e-04   3.16786211e-02  -1.61924504e-02              nan
   -2.01507841e-03  -3.14803530e-03   3.82497774e-01  -1.18282588e-01
               nan   5.06657996e-04              nan              nan
               nan   1.51220361e-03  -1.01324349e-04   1.81747230e-02]
 [  4.22159319e-01   3.24076445e-03  -1.47351117e-02   2.05082893e-02
   -7.61947620e-04              nan  -3.09137584e-02              nan
   -2.20897444e-03  -3.67261271e-03   1.31088771e-01  -1.65142738e-01
               nan   6.29563408e-04              nan              nan
               nan   1.83256412e-03  -1.24438746e-04   1.47987829e-02]]
[[-0.01284869         nan  0.00277816 -0.01265555         nan         nan
          nan         nan -0.00265142  0.04521475  0.20272315         nan
  -0.00923801         nan  0.00221049 -0.01911484 -0.03745544 -0.00234075
          nan  0.06483279]
 [        nan -0.00077492         nan         nan -0.00664234  0.01253647
  -0.01160755  0.00170368         nan         nan         nan -0.13672893
          nan -0.01472063         nan         nan         nan         nan
   0.00429812  0.0466825 ]
 [-0.01404401         nan  0.0025417  -0.01134018 -0.0151652          nan
          nan         nan -0.00254661  0.03419384  0.20378544         nan
          nan         nan  0.00402439 -0.0335616  -0.0495346  -0.00226229
   0.00553625  0.03208886]
 [-0.0143817          nan  0.00254927 -0.01130653 -0.01224971         nan
  -0.03260474         nan -0.00255592  0.03346127  0.1977301          nan
          nan         nan  0.00542916 -0.04705382 -0.05460748 -0.00228602
   0.00469402  0.02852941]
 [        nan -0.00094498  0.00707653 -0.02542743 -0.00544694  0.01093482
  -0.00850152  0.00219602         nan  0.09845529         nan -0.13033655
          nan -0.0124642          nan         nan         nan         nan
   0.00452612  0.04131137]
 [        nan -0.00090951         nan         nan -0.00557624  0.01068127
  -0.00844391  0.00158931         nan         nan         nan -0.13651327
          nan -0.01261696         nan         nan         nan         nan
   0.01188407         nan]
 [        nan -0.00114704         nan -0.04701043 -0.00590518  0.0115014
  -0.0078418   0.00219818         nan         nan         nan -0.14102332
          nan -0.0127099          nan         nan         nan         nan
   0.00893436  0.12744349]
 [        nan -0.00112935         nan         nan -0.01023229  0.01452164
  -0.01474561  0.00116901         nan         nan         nan         nan
  -0.00834472 -0.03179589  0.02649869         nan         nan         nan
          nan         nan]
 [-0.01574106         nan  0.00299078 -0.01335285         nan         nan
          nan         nan -0.00216423  0.02840831  0.20107793 -0.41206601
          nan         nan         nan -0.07327943 -0.05327965 -0.00171965
   0.00254309  0.02082931]
 [-0.02203377         nan  0.00329627 -0.014349   -0.02033956         nan
          nan         nan -0.00233184  0.02636636  0.22921208 -0.13003816
          nan -0.01837741         nan         nan         nan -0.00188913
   0.00203365  0.01772665]
 [-0.02126477         nan  0.0042286  -0.01825159         nan         nan
          nan         nan -0.00355276  0.04933852  0.12249025         nan
          nan         nan  0.00466796         nan -0.06519002 -0.00290383
   0.00647991  0.01659283]
 [        nan -0.00145058         nan         nan -0.00971951  0.01996288
  -0.01514022         nan -0.01220944  0.04694036         nan -0.07304232
          nan -0.01354436         nan         nan         nan         nan
   0.00268195  0.02797723]
 [-0.02586254         nan         nan         nan         nan         nan
          nan  0.00212551         nan         nan         nan         nan
  -0.00458951         nan  0.00153064 -0.01322853 -0.03173957         nan
          nan         nan]
 [        nan -0.00115474         nan         nan -0.00687259  0.01364209
  -0.0100893   0.00376263         nan  0.04904986         nan -0.10014663
          nan -0.00987863         nan         nan         nan         nan
   0.00338155  0.03139466]
 [-0.019173           nan  0.00690506 -0.04143853         nan         nan
          nan  0.02091142         nan         nan  0.38598564         nan
  -0.00474221         nan  0.00148135 -0.01265321 -0.02871359 -0.00282872
          nan         nan]
 [-0.01993734         nan  0.00692477 -0.04318789         nan         nan
          nan         nan -0.01287429         nan         nan         nan
  -0.00492851         nan  0.00152158 -0.01231863 -0.02888892 -0.00236764
          nan         nan]
 [-0.01758224         nan  0.00459975 -0.02255704         nan         nan
          nan         nan -0.00421275         nan  0.29173141         nan
  -0.00532191         nan  0.00155398 -0.01300152 -0.02737155 -0.00164418
          nan         nan]
 [-0.02567171         nan  0.00490812 -0.02206226         nan         nan
          nan         nan -0.00317676  0.042516    0.30360854         nan
          nan         nan  0.00357676 -0.02489542 -0.03841404 -0.00117154
   0.001567    0.01418836]
 [        nan -0.00235121  0.00993343 -0.03746556 -0.01740353  0.0896079
  -0.04945814         nan -0.00388529  0.03785164  0.56031067 -0.13828785
          nan -0.0235815          nan         nan         nan -0.00129594
   0.00141658  0.01299865]
 [-0.07870402 -0.00341784  0.00770589 -0.03047655 -0.02126012         nan
  -0.09442283         nan -0.00425914  0.0441591   0.1920284  -0.19307351
          nan -0.02930191         nan         nan         nan -0.00157049
   0.00173974  0.01058416]]
[[ -6.89750788e-02              nan   5.35544469e-03  -8.43413007e-03
               nan              nan              nan              nan
    1.44642048e-03   3.67940616e-03  -1.34240935e-01              nan
    2.45060626e-03              nan   4.93549265e-04   2.22005833e-02
   -5.13889349e-04  -2.66383694e-03              nan  -8.40885673e-02]
 [             nan  -6.76894508e-04              nan              nan
    2.11122418e-04  -4.47199004e-03   3.32767766e-03   2.11209773e-03
               nan              nan              nan   1.12113237e-01
               nan  -3.02437915e-04              nan              nan
               nan              nan   9.30804892e-05  -6.05475210e-02]
 [ -7.53918646e-02              nan   4.89962971e-03  -7.55752426e-03
    4.82016005e-04              nan              nan              nan
    1.38924575e-03   2.78256598e-03  -1.34944372e-01              nan
               nan              nan   8.98548124e-04   3.89795073e-02
   -6.79615668e-04  -2.57455378e-03   1.19893503e-04  -4.16194666e-02]
 [ -7.72046820e-02              nan   4.91421268e-03  -7.53509724e-03
    3.89349004e-04              nan   9.34719876e-03              nan
    1.39432411e-03   2.72295196e-03  -1.30934595e-01              nan
               nan              nan   1.21219923e-03   5.46497878e-02
   -7.49215680e-04  -2.60155001e-03   1.01653964e-04  -3.70028452e-02]
 [             nan  -8.25447183e-04   1.36413913e-02  -1.69457922e-02
    1.73127498e-04  -3.90065230e-03   2.43723513e-03   2.72246257e-03
               nan   8.01192112e-03              nan   1.06871690e-01
               nan  -2.56079129e-04              nan              nan
               nan              nan   9.80180719e-05  -5.35811307e-02]
 [             nan  -7.94462612e-04              nan              nan
    1.77237223e-04  -3.81020511e-03   2.42071908e-03   1.97030890e-03
               nan              nan              nan   1.11936400e-01
               nan  -2.59217565e-04              nan              nan
               nan              nan   2.57362281e-04              nan]
 [             nan  -1.00194892e-03              nan  -3.13295154e-02
    1.87692458e-04  -4.10275976e-03   2.24810536e-03   2.72513870e-03
               nan              nan              nan   1.15634492e-01
               nan  -2.61126977e-04              nan              nan
               nan              nan   1.93483272e-04  -1.65295081e-01]
 [             nan  -9.86491468e-04              nan              nan
    3.25226784e-04  -5.18013415e-03   4.22730522e-03   1.44924452e-03
               nan              nan              nan              nan
    2.21363858e-03  -6.53252006e-04   5.91651312e-03              nan
               nan              nan              nan              nan]
 [ -8.45020956e-02              nan   5.76531510e-03  -8.89883822e-03
               nan              nan              nan              nan
    1.18064488e-03   2.31176121e-03  -1.33151494e-01   3.37880607e-01
               nan              nan              nan   8.51090512e-02
   -7.30997748e-04  -1.95700949e-03   5.50732998e-05  -2.70157553e-02]
 [ -1.18282969e-01              nan   6.35420193e-03  -9.56271299e-03
    6.46479860e-04              nan              nan              nan
    1.27208034e-03   2.14559485e-03  -1.51781600e-01   1.06627023e-01
               nan  -3.77566998e-04              nan              nan
               nan  -2.14987879e-03   4.40408924e-05  -2.29915856e-02]
 [ -1.14154760e-01              nan   8.15145031e-03  -1.21635437e-02
               nan              nan              nan              nan
    1.93812677e-03   4.01498286e-03  -8.11116339e-02              nan
               nan              nan   1.04224239e-03              nan
   -8.94408251e-04  -3.30463999e-03   1.40329486e-04  -2.15210167e-02]
 [             nan  -1.26708822e-03              nan              nan
    3.08928302e-04  -7.12112581e-03   4.34043271e-03              nan
    6.66057192e-03   3.81982945e-03              nan   5.98923055e-02
               nan  -2.78271141e-04              nan              nan
               nan              nan   5.80805913e-05  -3.62866575e-02]
 [ -1.38836797e-01              nan              nan              nan
               nan              nan              nan   2.63504007e-03
               nan              nan              nan              nan
    1.21747810e-03              nan   3.41754495e-04   1.53640340e-02
   -4.35467446e-04              nan              nan              nan]
 [             nan  -1.00867398e-03              nan              nan
    2.18440836e-04  -4.86638399e-03   2.89242426e-03   4.66461722e-03
               nan   3.99149268e-03              nan   8.21169467e-02
               nan  -2.02958109e-04              nan              nan
               nan              nan   7.32312146e-05  -4.07190922e-02]
 [ -1.02925647e-01              nan   1.33108409e-02  -2.76161897e-02
               nan              nan              nan   2.59243807e-02
               nan              nan  -2.55595248e-01              nan
    1.25798738e-03              nan   3.30749433e-04   1.46958389e-02
   -3.93951000e-04  -3.21916601e-03              nan              nan]
 [ -1.07028788e-01              nan   1.33488429e-02  -2.87820258e-02
               nan              nan              nan              nan
    7.02326496e-03              nan              nan              nan
    1.30740588e-03              nan   3.39732823e-04   1.43072440e-02
   -3.96356478e-04  -2.69444160e-03              nan              nan]
 [ -9.43860266e-02              nan   8.86691456e-03  -1.50328596e-02
               nan              nan              nan              nan
    2.29816501e-03              nan  -1.93181186e-01              nan
    1.41176605e-03              nan   3.46966222e-04   1.51003783e-02
   -3.75538198e-04  -1.87112282e-03              nan              nan]
 [ -1.37812354e-01              nan   9.46135931e-03  -1.47031148e-02
               nan              nan              nan              nan
    1.73300784e-03   3.45979208e-03  -2.01046081e-01              nan
               nan              nan   7.98602727e-04   2.89143255e-02
   -5.27041387e-04  -1.33325031e-03   3.39350311e-05  -1.84023986e-02]
 [             nan  -2.05379973e-03   1.91486144e-02  -2.49684524e-02
    5.53159853e-04  -3.19647783e-02   1.41787690e-02              nan
    2.11952641e-03   3.08022381e-03  -3.71031283e-01   1.13391501e-01
               nan  -4.84485841e-04              nan              nan
               nan  -1.47481786e-03   3.06776124e-05  -1.68593424e-02]
 [ -4.22503518e-01  -2.98550999e-03   1.48545993e-02  -2.03107121e-02
    6.75739177e-04              nan   2.70693459e-02              nan
    2.32347270e-03   3.59350136e-03  -1.27159001e-01   1.58313944e-01
               nan  -6.02012718e-04              nan              nan
               nan  -1.78725819e-03   3.76758759e-05  -1.37277332e-02]]
[[ -6.55859157e-02              nan   5.58063788e-03  -1.29380957e-02
               nan              nan              nan              nan
   -5.83124834e-05   1.40297973e-02  -7.20574432e-02              nan
   -4.47791125e-03              nan   1.82400666e-03   1.87496326e-02
   -1.58455779e-02  -8.89319364e-04              nan  -6.28082341e-02]
 [             nan   8.08594296e-04              nan              nan
   -2.05488034e-03   1.91724932e-03   9.37256539e-03   3.64161061e-03
               nan              nan              nan   5.97809890e-02
               nan  -7.80683130e-03              nan              nan
               nan              nan   1.15892884e-03  -4.52247314e-02]
 [ -7.16874060e-02              nan   5.10565616e-03  -1.15933678e-02
   -4.69152078e-03              nan              nan              nan
   -5.60074825e-05   1.06100917e-02  -7.24350316e-02              nan
               nan              nan   3.32075819e-03   3.29203711e-02
   -2.09556843e-02  -8.59512269e-04   1.49277297e-03  -3.10868087e-02]
 [ -7.34111487e-02              nan   5.12085234e-03  -1.15589644e-02
   -3.78958152e-03              nan   2.63268383e-02              nan
   -5.62122169e-05   1.03827798e-02  -7.02826759e-02              nan
               nan              nan   4.47991644e-03   4.61547983e-02
   -2.31017736e-02  -8.68524934e-04   1.26567567e-03  -2.76385178e-02]
 [             nan   9.86050080e-04   1.42150035e-02  -2.59951268e-02
   -1.68507113e-03   1.67230313e-03   6.86459086e-03   4.69398194e-03
               nan   3.05499378e-02              nan   5.69860925e-02
               nan  -6.61017176e-03              nan              nan
               nan              nan   1.22040582e-03  -4.00213288e-02]
 [             nan   9.49037004e-04              nan              nan
   -1.72507159e-03   1.63352626e-03   6.81807262e-03   3.39714290e-03
               nan              nan              nan   5.96866958e-02
               nan  -6.69118422e-03              nan              nan
               nan              nan   3.20437261e-03              nan]
 [             nan   1.19689282e-03              nan  -4.80599972e-02
   -1.82683367e-03   1.75895145e-03   6.33189770e-03   4.69859604e-03
               nan              nan              nan   6.16585915e-02
               nan  -6.74047188e-03              nan              nan
               nan              nan   2.40902627e-03  -1.23463777e-01]
 [             nan   1.17842790e-03              nan              nan
   -3.16547210e-03   2.22084767e-03   1.19064100e-02   2.49874054e-03
               nan              nan              nan              nan
   -4.04490808e-03  -1.68623971e-02   2.18656173e-02              nan
               nan              nan              nan              nan]
 [ -8.03499962e-02              nan   6.00774310e-03  -1.36509657e-02
               nan              nan              nan              nan
   -4.75977324e-05   8.81488475e-03  -7.14726560e-02   1.80164603e-01
               nan              nan              nan   7.18793474e-02
   -2.25400308e-02  -6.53345710e-04   6.85707993e-04  -2.01788654e-02]
 [ -1.12471011e-01              nan   6.62139226e-03  -1.46693606e-02
   -6.29226761e-03              nan              nan              nan
   -5.12839558e-05   8.18128241e-03  -8.14728681e-02   5.68556315e-02
               nan  -9.74613867e-03              nan              nan
               nan  -7.17734936e-04   5.48345424e-04  -1.71730942e-02]
 [ -1.08545646e-01              nan   8.49421384e-03  -1.86590782e-02
               nan              nan              nan              nan
   -7.81356369e-05   1.53093715e-02  -4.35388575e-02              nan
               nan              nan   3.85180812e-03              nan
   -2.75787300e-02  -1.10325084e-03   1.74721780e-03  -1.60746829e-02]
 [             nan   1.51361888e-03              nan              nan
   -3.00683698e-03   3.05299732e-03   1.22250391e-02              nan
   -2.68521150e-04   1.45652398e-02              nan   3.19357584e-02
               nan  -7.18301426e-03              nan              nan
               nan              nan   7.23151252e-04  -2.71035760e-02]
 [ -1.32014905e-01              nan              nan              nan
               nan              nan              nan   4.54325089e-03
               nan              nan              nan              nan
   -2.22465720e-03              nan   1.26301976e-03   1.29757849e-02
   -1.34274690e-02              nan              nan              nan]
 [             nan   1.20492635e-03              nan              nan
   -2.12611140e-03   2.08633546e-03   8.14665310e-03   8.04258219e-03
               nan   1.52198020e-02              nan   4.37863753e-02
               nan  -5.23895861e-03              nan              nan
               nan              nan   9.11789004e-04  -3.04142924e-02]
 [ -9.78682873e-02              nan   1.38705537e-02  -4.23636938e-02
               nan              nan              nan   4.46979790e-02
               nan              nan  -1.37197644e-01              nan
   -2.29867846e-03              nan   1.22234843e-03   1.24114568e-02
   -1.21473256e-02  -1.07471543e-03              nan              nan]
 [ -1.01769816e-01              nan   1.39101536e-02  -4.41521058e-02
               nan              nan              nan              nan
   -2.83143130e-04              nan              nan              nan
   -2.38897924e-03              nan   1.25554828e-03   1.20832667e-02
   -1.22214976e-02  -8.99536699e-04              nan              nan]
 [ -8.97482698e-02              nan   9.23976293e-03  -2.30606564e-02
               nan              nan              nan              nan
   -9.26505890e-05              nan  -1.03695213e-01              nan
   -2.57967311e-03              nan   1.28228070e-03   1.27531129e-02
   -1.15795740e-02  -6.24672527e-04              nan              nan]
 [ -1.31040799e-01              nan   9.85920372e-03  -2.25548224e-02
               nan              nan              nan              nan
   -6.98662612e-05   1.31923956e-02  -1.07916907e-01              nan
               nan              nan   2.95139066e-03   2.44197629e-02
   -1.62511158e-02  -4.45104314e-04   4.22519118e-04  -1.37452949e-02]
 [             nan   2.45339669e-03   1.99538020e-02  -3.83020208e-02
   -5.38397257e-03   1.37040666e-02   3.99351902e-02              nan
   -8.54487683e-05   1.17450789e-02  -1.99161050e-01   6.04625845e-02
               nan  -1.25060353e-02              nan              nan
               nan  -4.92366504e-04   3.81961569e-04  -1.25927407e-02]
 [ -4.01743364e-01   3.56638489e-03   1.54792262e-02  -3.11569699e-02
   -6.57705212e-03              nan   7.62421245e-02              nan
   -9.36708689e-05   1.37022371e-02  -6.82560236e-02   8.44161168e-02
               nan  -1.55397571e-02              nan              nan
               nan  -5.96674404e-04   4.69095721e-04  -1.02536493e-02]]
[[ -4.75384649e-02              nan  -2.22798331e-03   2.81924302e-02
               nan              nan              nan              nan
   -1.32456543e-03  -3.84709776e-02   3.80848894e-02              nan
    1.17822273e-03              nan   2.20716225e-04  -1.76272801e-02
    2.25401703e-02   2.01675916e-03              nan   8.68362083e-02]
 [             nan   6.35875076e-03              nan              nan
   -6.13514028e-04   2.78477652e-04   2.92293173e-02  -4.18086596e-03
               nan              nan              nan  -1.03985541e-01
               nan   2.70999108e-03              nan              nan
               nan              nan  -6.78005945e-04   6.25259451e-02]
 [ -5.19609918e-02              nan  -2.03835421e-03   2.52622349e-02
   -1.40072088e-03              nan              nan              nan
   -1.27220744e-03  -2.90938344e-02   3.82844581e-02              nan
               nan              nan   4.01832531e-04  -3.09497586e-02
    2.98092439e-02   1.94916395e-03  -8.73314143e-04   4.29794059e-02]
 [ -5.32104076e-02              nan  -2.04442104e-03   2.51872690e-02
   -1.13143397e-03              nan   8.21029759e-02              nan
   -1.27685797e-03  -2.84705246e-02   3.71468625e-02              nan
               nan              nan   5.42097937e-04  -4.33919733e-02
    3.28620336e-02   1.96960247e-03  -7.40455839e-04   3.82119338e-02]
 [             nan   7.75425541e-03  -5.67512014e-03   5.66440236e-02
   -5.03102179e-04   2.42899577e-04   2.14079386e-02  -5.38907407e-03
               nan  -8.37707023e-02              nan  -9.91239822e-02
               nan   2.29459378e-03              nan              nan
               nan              nan  -7.13971703e-04   5.53319241e-02]
 [             nan   7.46318618e-03              nan              nan
   -5.15044890e-04   2.37267293e-04   2.12628667e-02  -3.90019709e-03
               nan              nan              nan  -1.03821524e-01
               nan   2.32271569e-03              nan              nan
               nan              nan  -1.87464804e-03              nan]
 [             nan   9.41231368e-03              nan   1.04723921e-01
   -5.45427419e-04   2.55485118e-04   1.97466797e-02  -5.39437143e-03
               nan              nan              nan  -1.07251522e-01
               nan   2.33982495e-03              nan              nan
               nan              nan  -1.40934808e-03   1.70696190e-01]
 [             nan   9.26710632e-03              nan              nan
   -9.45097141e-04   3.22574867e-04   3.71313747e-02  -2.86875792e-03
               nan              nan              nan              nan
    1.06429145e-03   5.85345628e-03   2.64587658e-03              nan
               nan              nan              nan              nan]
 [ -5.82398740e-02              nan  -2.39849845e-03   2.97457916e-02
               nan              nan              nan              nan
   -1.08118035e-03  -2.41712141e-02   3.77758088e-02  -3.13385812e-01
               nan              nan              nan  -6.75766517e-02
    3.20629603e-02   1.48162853e-03  -4.01158449e-04   2.78985102e-02]
 [ -8.15220638e-02              nan  -2.64348838e-03   3.19648993e-02
   -1.87864683e-03              nan              nan              nan
   -1.16491275e-03  -2.24338189e-02   4.30612721e-02  -9.88970530e-02
               nan   3.38318427e-03              nan              nan
               nan   1.62764757e-03  -3.20797485e-04   2.37428485e-02]
 [ -7.86768517e-02              nan  -3.39118342e-03   4.06585925e-02
               nan              nan              nan              nan
   -1.77484747e-03  -4.19796861e-02   2.30118152e-02              nan
               nan              nan   4.66092897e-04              nan
    3.92304577e-02   2.50190350e-03  -1.02217152e-03   2.22242279e-02]
 [             nan   1.19030337e-02              nan              nan
   -8.97734351e-04   4.43443383e-04   3.81250524e-02              nan
   -6.09944582e-03  -3.99392094e-02              nan  -5.55503879e-02
               nan   2.49344502e-03              nan              nan
               nan              nan  -4.23063807e-04   3.74723443e-02]
 [ -9.56880126e-02              nan              nan              nan
               nan              nan              nan  -5.21602253e-03
               nan              nan              nan              nan
    5.85349182e-04              nan   1.52833298e-04  -1.21990547e-02
    1.91004356e-02              nan              nan              nan]
 [             nan   9.47548897e-03              nan              nan
   -6.34781082e-04   3.03037165e-04   2.54061827e-02  -9.23354024e-03
               nan  -4.17340785e-02              nan  -7.61638445e-02
               nan   1.81860355e-03              nan              nan
               nan              nan  -5.33422194e-04   4.20496113e-02]
 [ -7.09376104e-02              nan  -5.53760390e-03   9.23115357e-02
               nan              nan              nan  -5.13169251e-02
               nan              nan   7.25137733e-02              nan
    6.04825569e-04              nan   1.47911812e-04  -1.16685074e-02
    1.72794448e-02   2.43719217e-03              nan              nan]
 [ -7.37655450e-02              nan  -5.55341355e-03   9.62085295e-02
               nan              nan              nan              nan
   -6.43158344e-03              nan              nan              nan
    6.28585403e-04              nan   1.51929203e-04  -1.13599627e-02
    1.73849537e-02   2.03992958e-03              nan              nan]
 [ -6.50519997e-02              nan  -3.68883235e-03   5.02497401e-02
               nan              nan              nan              nan
   -2.10455395e-03              nan   5.48065617e-02              nan
    6.78760548e-04              nan   1.55163993e-04  -1.19897119e-02
    1.64718241e-02   1.41660476e-03              nan              nan]
 [ -9.49819536e-02              nan  -3.93613450e-03   4.91475153e-02
               nan              nan              nan              nan
   -1.58700898e-03  -3.61747461e-02   5.70378754e-02              nan
               nan              nan   3.57136748e-04  -2.29579966e-02
    2.31170439e-02   1.00938790e-03  -2.47185560e-04   1.90037072e-02]
 [             nan   1.92934061e-02  -7.96624662e-03   8.34610497e-02
   -1.60746231e-03   1.99049558e-03   1.24542033e-01              nan
   -1.94096492e-03  -3.22060724e-02   1.05263609e-01  -1.05171137e-01
               nan   4.34122921e-03              nan              nan
               nan   1.11656700e-03  -2.23458253e-04   1.74102308e-02]
 [ -2.91194574e-01   2.80458974e-02  -6.17984148e-03   6.78918074e-02
   -1.96367334e-03              nan   2.37768973e-01              nan
   -2.12772957e-03  -3.75727778e-02   3.60757056e-02  -1.46836909e-01
               nan   5.39432729e-03              nan              nan
               nan   1.35311185e-03  -2.74434181e-04   1.41762945e-02]]
[[  7.47445273e-02              nan  -5.03134951e-03   4.85856895e-03
               nan              nan              nan              nan
   -6.85175973e-04  -1.26495647e-03   8.35504753e-02              nan
   -3.81494715e-03              nan  -6.01227872e-04  -1.33002257e-02
    1.08958037e-03   4.02716524e-03              nan   4.90688866e-02]
 [             nan   1.07515150e-03              nan              nan
    1.03829389e-03   3.96777392e-03  -2.54001216e-03  -1.60760647e-03
               nan              nan              nan  -6.68433978e-02
               nan   3.81977052e-04              nan              nan
               nan              nan   4.63052300e-05   3.53317881e-02]
 [  8.16980477e-02              nan  -4.60311906e-03   4.35359099e-03
    2.37054064e-03              nan              nan              nan
   -6.58092044e-04  -9.56628511e-04   8.39882884e-02              nan
               nan              nan  -1.09458612e-03  -2.33523705e-02
    1.44096368e-03   3.89218775e-03   5.96440378e-05   2.42865463e-02]
 [  8.36624989e-02              nan  -4.61681952e-03   4.34067167e-03
    1.91480703e-03              nan  -7.13470503e-03              nan
   -6.60497688e-04  -9.36133588e-04   8.14926357e-02              nan
               nan              nan  -1.47666710e-03  -3.27403341e-02
    1.58853399e-03   3.93300041e-03   5.05703205e-05   2.15925716e-02]
 [             nan   1.31110648e-03  -1.28158559e-02   9.76180105e-03
    8.51435981e-04   3.46085441e-03  -1.86033850e-03  -2.07218084e-03
               nan  -2.75444760e-03              nan  -6.37183177e-02
               nan   3.23426218e-04              nan              nan
               nan              nan   4.87615546e-05   3.12666336e-02]
 [             nan   1.26189186e-03              nan              nan
    8.71647489e-04   3.38060512e-03  -1.84773183e-03  -1.49968502e-03
               nan              nan              nan  -6.67379650e-02
               nan   3.27390042e-04              nan              nan
               nan              nan   1.28031338e-04              nan]
 [             nan   1.59145460e-03              nan   1.80476954e-02
    9.23066027e-04   3.64017429e-03  -1.71597599e-03  -2.07421775e-03
               nan              nan              nan  -6.89428166e-02
               nan   3.29801616e-04              nan              nan
               nan              nan   9.62531188e-05   9.64559847e-02]
 [             nan   1.56690262e-03              nan              nan
    1.59945583e-03   4.59607490e-03  -3.22669675e-03  -1.10308099e-03
               nan              nan              nan              nan
   -3.44605101e-03   8.25052890e-04  -7.20733035e-03              nan
               nan              nan              nan              nan]
 [  9.15703077e-02              nan  -5.41641581e-03   5.12626895e-03
               nan              nan              nan              nan
   -5.59276861e-04  -7.94768822e-04   8.28724156e-02  -2.01448896e-01
               nan              nan              nan  -5.09882815e-02
    1.54990719e-03   2.95858973e-03   2.73975979e-05   1.57647237e-02]
 [  1.28176796e-01              nan  -5.96966501e-03   5.50870096e-03
    3.17936907e-03              nan              nan              nan
   -6.02590257e-04  -7.37641883e-04   9.44676434e-02  -6.35724444e-02
               nan   4.76864579e-04              nan              nan
               nan   3.25016783e-03   2.19092494e-05   1.34164672e-02]
 [  1.23703281e-01              nan  -7.65814940e-03   7.00693675e-03
               nan              nan              nan              nan
   -9.18099487e-04  -1.38032561e-03   5.04832266e-02              nan
               nan              nan  -1.26963045e-03              nan
    1.89638036e-03   4.99592565e-03   6.98104314e-05   1.25583342e-02]
 [             nan   2.01259100e-03              nan              nan
    1.51930037e-03   6.31822007e-03  -3.31304681e-03              nan
   -3.15514328e-03  -1.31323310e-03              nan  -3.57085863e-02
               nan   3.51454580e-04              nan              nan
               nan              nan   2.88936506e-05   2.11746488e-02]
 [  1.50449858e-01              nan              nan              nan
               nan              nan              nan  -2.00563989e-03
               nan              nan              nan              nan
   -1.89529207e-03              nan  -4.16315740e-04  -9.20449329e-03
    9.23305339e-04              nan              nan              nan]
 [             nan   1.60213642e-03              nan              nan
    1.07428565e-03   4.31770001e-03  -2.20778379e-03  -3.55043647e-03
               nan  -1.37224983e-03              nan  -4.89592119e-02
               nan   2.56334726e-04              nan              nan
               nan              nan   3.64307092e-05   2.37611435e-02]
 [  1.11534905e-01              nan  -1.25053094e-02   1.59085953e-02
               nan              nan              nan  -1.97321372e-02
               nan              nan   1.59080421e-01              nan
   -1.95835433e-03              nan  -4.02909682e-04  -8.80418197e-03
    8.35279571e-04   4.86670684e-03              nan              nan]
 [  1.15981254e-01              nan  -1.25410116e-02   1.65801874e-02
               nan              nan              nan              nan
   -3.32695262e-03              nan              nan              nan
   -2.03528588e-03              nan  -4.13852997e-04  -8.57137724e-03
    8.40379817e-04   4.07343310e-03              nan              nan]
 [  1.02280984e-01              nan  -8.33031594e-03   8.65983619e-03
               nan              nan              nan              nan
   -1.08865124e-03              nan   1.20234412e-01              nan
   -2.19774713e-03              nan  -4.22664520e-04  -9.04653885e-03
    7.96239596e-04   2.82874701e-03              nan              nan]
 [  1.49339724e-01              nan  -8.88878670e-03   8.46988325e-03
               nan              nan              nan              nan
   -8.20933714e-04  -1.18945454e-03   1.25129459e-01              nan
               nan              nan  -9.72835444e-04  -1.73223852e-02
    1.11746614e-03   2.01559608e-03   1.68818346e-05   1.07385015e-02]
 [             nan   3.26217133e-03  -1.79897986e-02   1.43833384e-02
    2.72042401e-03   2.83607549e-02  -1.08226365e-02              nan
   -1.00402932e-03  -1.05896138e-03   2.30926877e-01  -6.76055157e-02
               nan   6.11902359e-04              nan              nan
               nan   2.22961666e-03   1.52613497e-05   9.83806939e-03]
 [  4.57843997e-01   4.74206172e-03  -1.39556442e-02   1.17001984e-02
    3.32326554e-03              nan  -2.06619976e-02              nan
   -1.10063961e-03  -1.23542294e-03   7.91427361e-02  -9.43888714e-02
               nan   7.60338014e-04              nan              nan
               nan   2.70196121e-03   1.87428119e-05   8.01065594e-03]]
-c:8: RuntimeWarning: invalid value encountered in sqrt

In [16]:
n = 1
chisqlist = zeros(n)
maxchisqlist = zeros(n)
globalz = zeros(n)
from numpy.random import normal as N
def randN(scale = 0):
    if scale ==0:
        return 0
    else:
        return N(scale = scale)
def add_noise(spectrum, sigma, orthogonal_modes):
    return spectrum + dot(
                          orthogonal_modes, 
                          array([randN(scale = sigma[j]) for j in arange(spectrum.size)])
                          )
for ii in arange(n):
    cloud = fit.sim.gauss_approx(
                                 observation = [spt.observation, wmap.observation],
                                 covariance = [spt.covariance, wmap.covariance],
                                 windows = [spt.windows, wmap.windows],
                                 deltaCl = lcdm.dcldphi,
                                 ellmax = 5000
                                 )
    cloud.get_bestfit()
    #cloud.best_fit = spt_bestfit[:5001]
    #print cloud.best_fit.shape
    #plot(cloud.best_fit)
    #variance, ortho_modes = eigh(spt.covariance[:3000, :3000])
    #sigma = sqrt(variance)
    #noisydraws = array(map(lambda x:add_noise(x, sigma, orthogonal_modes), draws.tolist()))

In [17]:
numsamples = 1000

draws = array([cloud.sample() for i in arange(numsamples)])

In [18]:
from numpy.random import normal
### Make fake WMAP experiments, using our biased posterior estimate
fake_wmap = dot(draws, wmap.windows.T)
##Diagonalize the wmap covariance matrix to add noise to each bin
variances, vecs = eigh(wmap.covariance)
for i, var in enumerate(variances):
    for j in arange(numsamples):
        fake_wmap[j,:] += normal(loc=0, scale = sqrt(var)) * vecs[:,i]

In [19]:
### Make fake SPT experiments, using our biased posterior estimate
fake_spt = dot(draws, spt.windows.T)
##Diagonalize the covariance matrix to add noise to each bin
variances, vecs = eigh(spt.covariance)
for i, var in enumerate(variances):
    for j in arange(numsamples):
        fake_spt[j,:] += normal(loc=0, scale = sqrt(var)) * vecs[:,i]
        #print vecs[:,i].shape

In [20]:
plot((wmap.observation-dot(cloud.best_fit,wmap.windows.T))[:600], alpha = 1, color = 'black');
plot(fake_wmap[::100,:600].T, alpha = 0.05, color = 'green');
plot(draws[::10,:600].T, alpha = 0.01, color = 'blue');

xlim(0,600);



In [21]:
rc('text', usetex=True)
ax2 = gca()
plot(spt.observation - dot(cloud.best_fit,spt.windows.T), alpha = 1, color = 'black', linewidth = 2, label = 'True bandpowers' );
p1 = plot(fake_spt[1,:], alpha = 1, color = 'green', label = 'simmed bandpowers');
p2 = plot(dot(draws[1,:], spt.windows.T).T, alpha = 1, color = 'blue', label = 'simmed skies');
handles, labels = ax2.get_legend_handles_labels()
figure(figsize = (11,8.5), dpi = 400)
ax = gca()
plot(spt_ells, (spt.observation - dot(cloud.best_fit,spt.windows.T)), alpha = 1, color = 'black', linewidth = 4);
#plot(wmap.lslice[:650], (wmap.observation-dot(cloud.best_fit,wmap.windows.T))[:650], alpha = 1, color = 'black', linewidth = 1);
for i in arange(numsamples/10):
    plot(spt_ells, fake_spt[10*i,:], alpha = 0.02, color = 'green');
    plot(spt_ells, dot(draws[10*i,:], spt.windows.T), alpha = 0.02, color = 'blue');
    #plot(wmap.lslice[:650], fake_wmap[10*i,:650].T, alpha = 0.01, color = 'green');
    #plot(wmap.lslice[:650], dot(draws[10*i,:].T, wmap.windows.T)[:650], alpha = 0.01, color = 'blue');
legend(handles, labels);
xlim(650,3000)
ylim(-200, 300)
xlabel('Multipole $l$', fontsize = 24)
ylabel(r'$C_l - \langle C_l \rangle$[\mu {\rm K}]^2$', fontsize = 24)

savefig('figures/simmed_experiments.png')



In [22]:
labels


Out[22]:
['True bandpowers', 'simmed bandpowers', 'simmed skies']

In [23]:
plot(draws[::1000,:].T);



In [24]:
binned_truth = dot(cloud.best_fit, spt.windows.T)
#plot(dot(cloud.best_fit[:5001] - spt_bestfit[:5001], spt.windows.T), color = 'red', linewidth = 2)
plot(binned_truth - spt.observation, color = 'black', linewidth = 2)
plot(fake_spt[::50,:].T, alpha = .2);



In [25]:
### Concatenate the spt and wmap experiments and fake data:
observation = []
observation.append((spt.observation - dot(cloud.best_fit, spt.windows.T)).tolist())
observation.append((wmap.observation- dot(cloud.best_fit, wmap.windows.T)).tolist())
observation = [item for sublist in observation for item in sublist]

In [26]:
fake_observations = zeros([numsamples, len(observation)])
no_noise_observations = zeros([numsamples, len(observation)])
for i in arange(numsamples):
    obs = []
    obs.append(fake_spt[i,:])
    obs.append(fake_wmap[i,:])
    obs = [item for sublist in obs for item in sublist]
    fake_observations[i,:] = obs
    obs = []
    obs.append(dot(draws[i,:], spt.windows.T))
    obs.append(dot(draws[i,:], wmap.windows.T))
    obs = [item for sublist in obs for item in sublist] 
    no_noise_observations[i,:] = obs

In [27]:
measured_dof = dot(observation, real(lda.modes))
cloud_dof = dot(fake_observations, real(lda.modes))

lcdm_dof = dot(no_noise_observations, real(lda.modes))

In [28]:
#reload(fit)
#globalchi2, global_zscore = fit.test.global_statistic(cloud_dof, measured_dof)
#maxchi2, max_location, max_zscore = fit.test.max_statistic(cloud_dof, measured_dof)

In [29]:
def distance_modulus(cloud_amps, observed_amps):

	covariance = cov(cloud_amps.T)
	means = mean(cloud_amps, axis = 0)

	try:
		distance_modulus = dot((observed_amps - means).T , dot(inv(covariance), (observed_amps - means)))
	except:
		distance_modulus = (observed_amps - means)**2/covariance
	return distance_modulus

In [30]:
def global_statistic(cloud_amps, observed_amps):
    numsamples, numparams = cloud_amps.shape
    cloud_distances = array([distance_modulus(cloud_amps, cloud_amps[i,:]) for i in arange(numsamples)])
    observed_distance = distance_modulus(cloud_amps, observed_amps)
    expectation = mean(cloud_distances)
    sigma = std(cloud_distances)
	#chi2 = (observed_distance-expectation)**2/sigma**2
	#expected_chi2 = subtract(cloud_distances, expectation)**2/sigma**2
	#zscore = (chi2-mean(expected_chi2))/std(expected_chi2)
    zscore = (observed_distance - expectation)/sigma
    return observed_distance, zscore, expectation

In [31]:
def max_statistic(cloud_amps, observed_amps):
    zscore = -1.0e-30
    numsamples, numparams = cloud_amps.shape
    for i in arange(1,numparams):
        cloud_distances = array([distance_modulus(cloud_amps[:,:i], cloud_amps[j, :i]) for j in arange(numsamples)])
        observed_distance = distance_modulus(cloud_amps[:,:i], observed_amps[:i])
        #newchi2 = (observed_distance - expectation)**2/sigma**2
        expectation = mean(cloud_distances)
        sigma = std(cloud_distances)
		#expected_chi2 = subtract(cloud_distances , expectation)**2/sigma**2
        newscore = (observed_distance - expectation)/sigma
        if abs(newscore) > abs(zscore):
            chi2 = observed_distance
            max_location = i
            zscore = newscore
    return observed_distance, max_location, zscore

In [32]:
x = global_statistic(cloud_dof, measured_dof)
y = max_statistic(cloud_dof, measured_dof)
print x, y


(11.158786599923943, -1.4482054851115835, 19.979999999999997) (10.982302815915656, 19, -1.351723495182962)

In [33]:
from numpy import std
numdof = 10
figure(figsize = (11,8.5), dpi = 400)
subplots_adjust(wspace = 0, hspace = 0)
for i in arange(numdof):
    for j in arange(i+1):
        if j == i:
            ax = subplot(numdof, numdof, i + j*numdof + 1)
            stdev = std(cloud_dof[:,i])
            expected = mean(cloud_dof[:,i])
            bins = linspace(-5 * stdev+expected, 5*stdev+expected, 50)
            ax.hist(cloud_dof[:,i], bins, color = 'k')
            ax.plot([measured_dof[i], measured_dof[i]], [0, sqrt(numsamples)], color = 'red', linewidth = 2)
            ax.autoscale_view('tight')
            setp( ax.get_yticklabels(), visible=False)
            setp( ax.get_xticklabels(), visible=False)
#            for tick in ax.xaxis.get_major_ticks():
#                tick.label.set_fontsize(12) 
#                tick.label.set_rotation('vertical')


        else:
            ax=subplot(numdof,numdof, i+j*numdof+1)
            ax.scatter(cloud_dof[:,i], cloud_dof[:,j], s = 1, alpha = .2, linewidths = 0, color = 'blue')
      
            ax.scatter(lcdm_dof[:,i], lcdm_dof[:,j], s = 1, alpha = .2, linewidths = 0, color = 'k')

            ax.scatter(measured_dof[i], measured_dof[j], s = 10, color = 'red')
            setp( ax.get_xticklabels(), visible=False)
            setp( ax.get_yticklabels(), visible=False)
            ax.autoscale_view('tight')
            
            
savefig('figures/triangle_plot.png')



In [31]:
plot(lda.modes[:47,[6,16]])
figure()
semilogx(lda.modes[47:,[6,16]])


Out[31]:
[<matplotlib.lines.Line2D at 0x12270d590>,
 <matplotlib.lines.Line2D at 0x121e26790>]

In [32]:
spt_bestfit = np.load('spt_bestfit.npy')

In [33]:
plot(cloud.best_fit[:3000]- spt_bestfit[:3000])


Out[33]:
[<matplotlib.lines.Line2D at 0x120826e10>]

In [34]:
n = 1
chisqlist = zeros(n)
maxchisqlist = zeros(n)
globalz = zeros(n)
from numpy.random import normal as N
def randN(scale = 0):
    if scale ==0:
        return 0
    else:
        return N(scale = scale)
def add_noise(spectrum, sigma, orthogonal_modes):
    return spectrum + dot(
                          orthogonal_modes, 
                          array([randN(scale = sigma[j]) for j in arange(spectrum.size)])
                          )
for ii in arange(n):
    cloud = fit.sim.gauss_approx(
                                 observation = [spt.observation, wmap.observation],
                                 covariance = [spt.covariance, wmap.covariance],
                                 windows = [spt.windows, wmap.windows],
                                 deltaCl = lcdm.dcldphi,
                                 ellmax = 5000
                                 )
    #cloud.get_bestfit()
    cloud.best_fit = spt_bestfit[:5001]
    #print cloud.best_fit.shape
    #plot(cloud.best_fit)
    #variance, ortho_modes = eigh(spt.covariance[:3000, :3000])
    #sigma = sqrt(variance)
    #noisydraws = array(map(lambda x:add_noise(x, sigma, orthogonal_modes), draws.tolist()))

In [35]:
draws = array([cloud.sample() for i in arange(10000)])

In [36]:
from numpy.random import normal
### Make fake WMAP experiments, using our biased posterior estimate
fake_wmap = dot(draws, wmap.windows.T)
##Diagonalize the wmap covariance matrix to add noise to each bin
variances, vecs = eigh(wmap.covariance)
for i, var in enumerate(variances):
    for j in arange(10000):
        fake_wmap[j,:] += normal(loc=0, scale = sqrt(var)) * vecs[:,i]

In [37]:
### Make fake SPT experiments, using our biased posterior estimate
fake_spt = dot(draws, spt.windows.T)
##Diagonalize the covariance matrix to add noise to each bin
variances, vecs = eigh(spt.covariance)
for i, var in enumerate(variances):
    for j in arange(10000):
        fake_spt[j,:] += normal(loc=0, scale = sqrt(var)) * vecs[:,i]

In [38]:
plot((wmap.observation-dot(cloud.best_fit,wmap.windows.T))[:600], alpha = 1, color = 'black');
plot(draws[::10,:600].T, alpha = 0.01, color = 'blue');
plot(fake_wmap[::100,:600].T, alpha = 0.05, color = 'green');
xlim(0,600);



In [39]:
plot(spt.observation-dot(cloud.best_fit, spt.windows.T), alpha = 1, color = 'black', linewidth = 2);
plot(dot(draws[::10,:], spt.windows.T).T, alpha = 0.01, color = 'blue');
plot(fake_spt[::100,:].T, alpha = 0.1, color = 'green');



In [40]:
plot(draws[::1000,:3000].T);



In [41]:
### Concatenate the spt and wmap experiments and fake data:
observation = []
observation.append(spt.observation.tolist() - dot(cloud.best_fit, spt.windows.T.tolist()))
observation.append(wmap.observation.tolist() - dot(cloud.best_fit, wmap.windows.T.tolist()))
observation = [item for sublist in observation for item in sublist]

In [51]:
fake_observations = zeros([10000, len(observation)])
theories = zeros([10000, len(observation)])
for i in arange(10000):
    obs = []
    obs.append(fake_spt[i,:])# - dot(cloud.best_fit, spt.windows.T.tolist()))
    obs.append(fake_wmap[i,:])# - dot(cloud.best_fit, wmap.windows.T.tolist()))
    obs = [item for sublist in obs for item in sublist]
    fake_observations[i,:] = obs
    obs = []
    obs.append(dot(draws[i,:], spt.windows.T))# - dot(cloud.best_fit, spt.windows.T.tolist()))
    obs.append(dot(draws[i,:], wmap.windows.T))# - dot(cloud.best_fit, wmap.windows.T.tolist()))
    obs = [item for sublist in obs for item in sublist]
    theories[i,:] = obs

In [ ]:
measured_dof = dot(observation, real(lda.modes))
cloud_dof = dot(fake_observations, real(lda.modes))
theory_dof = dot(theories, real(lda.modes))

In [60]:
#junk, global_zscore = fit.test.global_statistic(cloud_dof, measured_dof)
#junk, max_location, max_zscore = fit.test.max_statistic(cloud_dof, measured_dof)

In [61]:
#print max_zscore
#print global_zscore
#print max_location

In [64]:
from numpy import std
numdof = 10
figure(figsize = (11,8.5), dpi = 400)
subplots_adjust(wspace = 0, hspace = 0)
for i in arange(numdof):
    for j in arange(i+1):
        if j == i:
            ax = subplot(numdof, numdof, i + j*numdof + 1)
            stdev = std(cloud_dof[:,i])
            expected = mean(cloud_dof[:,i])
            bins = linspace(-5 * stdev+expected, 5*stdev+expected, 50)
            ax.hist(cloud_dof[:,i], bins, color = 'blue')
            ax.plot([measured_dof[i], measured_dof[i]], [0, 500], color = 'red', linewidth = 1)
            ax.autoscale_view('tight')
            setp( ax.get_yticklabels(), visible=False)
            setp( ax.get_xticklabels(), visible=False)
#            for tick in ax.xaxis.get_major_ticks():
#                tick.label.set_fontsize(12) 
#                tick.label.set_rotation('vertical')


        else:
            ax=subplot(numdof,numdof, i+j*numdof+1)
            ax.scatter(cloud_dof[:,i], cloud_dof[:,j], s = 1, alpha = .2, linewidths = 0, color = 'blue')
            ax.scatter(theory_dof[i], theory_dof[j], s = 1, alpha = 1, linewidths = 0, color = 'k')
            ax.scatter(measured_dof[i], measured_dof[j], s = 10, color = 'red')
            setp( ax.get_xticklabels(), visible=False)
            setp( ax.get_yticklabels(), visible=False)
            ax.autoscale_view('tight')



In [ ]:
nrun = np.load('nrun_response.npy')

In [ ]:
nrun.shape
spt.windows.shape
lda.modes.shape

In [ ]:
nrun_bandpowers = dot(nrun, spt.windows.T[:3001,:])
nrun_amps = dot(nrun_bandpowers, lda.modes[:47,:])

In [ ]:
nrun_amps

In [ ]:
bandpowers_reconstructed = dot(nrun_amps, lda.modes[:47,:].T)

In [ ]:
plot(nrun_bandpowers)
plot(bandpowers_reconstructed)

In [ ]:
plot(lda.modes[:47,:]);

In [ ]:
dot(lda.modes[:,1], lda.modes[:,1])

In [ ]:


In [ ]:


In [37]:
std(lcdm_dof, axis = 0 )


Out[37]:
array([ 22.53763361,   2.71594807,   1.67549803,   6.72560282,
         1.75585971,   2.7221434 ,   9.22467781,   1.89310032,
         1.40163525,   9.92664464,  58.82869884,  44.15969959,
         1.89945419,   1.74105221,   0.49053954,  11.27102879,
         5.19460762,   1.58128154,   0.89299665,  11.18693436])

In [36]:
std(cloud_dof, axis = 0)


Out[36]:
array([  32.70674175,    5.65872495,    4.89659013,   10.84472716,
          6.56293531,    8.8559569 ,   17.50737582,    5.0588561 ,
          4.44534643,   25.57823174,  234.22633279,  222.95428459,
          4.33107553,    5.68359571,    2.69050027,   51.58237107,
         17.44904855,    5.26925975,    5.70164435,   47.26315504])

In [ ]: