In [1]:
%matplotlib inline

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
import pypico
import numpy as np
from math import *
import sys

from matplotlib import rc
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
## for Palatino and other serif fonts use:
#rc('font',**{'family':'serif','serif':['Palatino']})
rc('text', usetex=True)

In [2]:
%pwd


Out[2]:
u'/Users/evanbiederstedt'

In [3]:
cd downloads


/Users/evanbiederstedt/Downloads

In [4]:
pico = pypico.load_pico("pico3_tailmonty_v34.dat")
outputs=['cl_TT']
inputs=pico.example_inputs()
result = pico.get(outputs, **inputs)


pypico.datafiles.3e624ff23f85df8ba6355a4e18135245:326: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.

In [5]:
cls = result['cl_TT'][:3000]
print 'cls = ', cls
ntot = len(cls)
print 'number of cls = ', ntot


cls =  [ 1076.59705993  1078.73493561  1047.05025925 ...,    28.28413366
    28.23538124    28.18652116]
number of cls =  3000

In [6]:
type(cls)


Out[6]:
numpy.ndarray

In [7]:
len(cls)


Out[7]:
3000

In [8]:
import matplotlib.pyplot as plt
plt.plot(cls)
plt.xlabel("ell")
plt.ylabel("C_ell")


Out[8]:
<matplotlib.text.Text at 0x118e6d2d0>

In [9]:
plt.plot(cls)
plt.xlabel("ell")
plt.ylabel("C_ell")
plt.semilogx()


Out[9]:
[]

In [10]:
def legpols(n, t):
    pols = np.zeros(n+1)
    pols[0] = 1.0
    pols[1] = t
    for i in range(1,n):
        pols[i+1] = ((i*2.0+1)*t*pols[i] - i*pols[i-1])/(i+1.0)        
    return pols

In [11]:
n = 2000
alphas = np.exp(np.linspace(np.log(pi/18000), np.log(pi), num=n, endpoint=False))
print 'alphas = ', alphas


alphas =  [  1.74532925e-04   1.75390071e-04   1.76251426e-04 ...,   3.09575772e+00
   3.11096124e+00   3.12623943e+00]

In [12]:
val = np.zeros(n)

In [13]:
ell = np.arange(len(cls))

In [14]:
print ell


[   0    1    2 ..., 2997 2998 2999]

In [20]:
unnorm = (2*pi)/(ell*(ell+1))

unnorm[1:]


/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/kernel/__main__.py:1: RuntimeWarning: divide by zero encountered in divide
  if __name__ == '__main__':
Out[20]:
array([  3.14159265e+00,   1.04719755e+00,   5.23598776e-01, ...,
         6.99296729e-07,   6.98830376e-07,   6.98364489e-07])

In [21]:
Cell = unnorm*cls

In [22]:
for i in range(n):
    t = cos(alphas[i])
    pols = legpols(ntot+10, t)
    val[i] = 0
    for j in range(ntot):
        val[i] = val[i] + (2.0*j+1)*Cell[j]*pols[j]

In [ ]:


In [23]:
plt.plot(alphas, val, 'k-', linewidth=.75 ,alpha=1.)
plt.plot(alphas, -val, 'r-', linewidth=.75 ,alpha=1.)
plt.loglog()
plt.xlabel(r"$\alpha$")
plt.ylabel("covariance")


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-23-ba47ee7767bc> in <module>()
      1 plt.plot(alphas, val, 'k-', linewidth=.75 ,alpha=1.)
      2 plt.plot(alphas, -val, 'r-', linewidth=.75 ,alpha=1.)
----> 3 plt.loglog()
      4 plt.xlabel(r"$\alpha$")
      5 plt.ylabel("covariance")

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/pyplot.pyc in loglog(*args, **kwargs)
   2977         ax.hold(hold)
   2978     try:
-> 2979         ret = ax.loglog(*args, **kwargs)
   2980         draw_if_interactive()
   2981     finally:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes/_axes.pyc in loglog(self, *args, **kwargs)
   1502               }
   1503 
-> 1504         self.set_xscale('log', **dx)
   1505         self.set_yscale('log', **dy)
   1506 

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in set_xscale(self, value, **kwargs)
   2605             kwargs['nonposx'] = 'clip'
   2606         self.xaxis._set_scale(value, **kwargs)
-> 2607         self.autoscale_view(scaley=False)
   2608         self._update_transScale()
   2609 

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in autoscale_view(self, tight, scalex, scaley)
   1958                 x1 += delta
   1959             if not _tight:
-> 1960                 x0, x1 = xlocator.view_limits(x0, x1)
   1961             self.set_xbound(x0, x1)
   1962 

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/ticker.pyc in view_limits(self, vmin, vmax)
   1523         if minpos <= 0 or not np.isfinite(minpos):
   1524             raise ValueError(
-> 1525                 "Data has no positive values, and therefore can not be "
   1526                 "log-scaled.")
   1527 

ValueError: Data has no positive values, and therefore can not be log-scaled.
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)
    328                 pass
    329             else:
--> 330                 return printer(obj)
    331             # Finally look for special method names
    332             method = _safe_get_formatter_method(obj, self.print_method)

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in <lambda>(fig)
    205 
    206     if 'png' in formats:
--> 207         png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
    208     if 'retina' in formats or 'png2x' in formats:
    209         png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt, bbox_inches, **kwargs)
    115 
    116     bytes_io = BytesIO()
--> 117     fig.canvas.print_figure(bytes_io, **kw)
    118     data = bytes_io.getvalue()
    119     if fmt == 'svg':

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
   2156                     orientation=orientation,
   2157                     dryrun=True,
-> 2158                     **kwargs)
   2159                 renderer = self.figure._cachedRenderer
   2160                 bbox_inches = self.figure.get_tightbbox(renderer)

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
    519 
    520     def print_png(self, filename_or_obj, *args, **kwargs):
--> 521         FigureCanvasAgg.draw(self)
    522         renderer = self.get_renderer()
    523         original_dpi = renderer.dpi

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in draw(self)
    467 
    468         try:
--> 469             self.figure.draw(self.renderer)
    470         finally:
    471             RendererAgg.lock.release()

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     57     def draw_wrapper(artist, renderer, *args, **kwargs):
     58         before(artist, renderer)
---> 59         draw(artist, renderer, *args, **kwargs)
     60         after(artist, renderer)
     61 

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/figure.pyc in draw(self, renderer)
   1083         dsu.sort(key=itemgetter(0))
   1084         for zorder, a, func, args in dsu:
-> 1085             func(*args)
   1086 
   1087         renderer.close_group('figure')

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     57     def draw_wrapper(artist, renderer, *args, **kwargs):
     58         before(artist, renderer)
---> 59         draw(artist, renderer, *args, **kwargs)
     60         after(artist, renderer)
     61 

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
   2108 
   2109         for zorder, a in dsu:
-> 2110             a.draw(renderer)
   2111 
   2112         renderer.close_group('axes')

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     57     def draw_wrapper(artist, renderer, *args, **kwargs):
     58         before(artist, renderer)
---> 59         draw(artist, renderer, *args, **kwargs)
     60         after(artist, renderer)
     61 

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
   1112         renderer.open_group(__name__)
   1113 
-> 1114         ticks_to_draw = self._update_ticks(renderer)
   1115         ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw,
   1116                                                                 renderer)

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axis.pyc in _update_ticks(self, renderer)
    955 
    956         interval = self.get_view_interval()
--> 957         tick_tups = [t for t in self.iter_ticks()]
    958         if self._smart_bounds:
    959             # handle inverted limits

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axis.pyc in iter_ticks(self)
    899         Iterate through all of the major and minor ticks.
    900         """
--> 901         majorLocs = self.major.locator()
    902         majorTicks = self.get_major_ticks(len(majorLocs))
    903         self.major.formatter.set_locs(majorLocs)

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/ticker.pyc in __call__(self)
   1448         'Return the locations of the ticks'
   1449         vmin, vmax = self.axis.get_view_interval()
-> 1450         return self.tick_values(vmin, vmax)
   1451 
   1452     def tick_values(self, vmin, vmax):

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/ticker.pyc in tick_values(self, vmin, vmax)
   1466             if vmin <= 0.0 or not np.isfinite(vmin):
   1467                 raise ValueError(
-> 1468                     "Data has no positive values, and therefore can not be "
   1469                     "log-scaled.")
   1470 

ValueError: Data has no positive values, and therefore can not be log-scaled.
<matplotlib.figure.Figure at 0x1150272d0>

In [ ]:


In [ ]:


In [ ]: