{ "metadata": { "name": "", "signature": "sha256:f3beb26fa4bcb2979ff333beb93151d94c1b29cfcca3d9eb15a105bf9d99f560" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "#astropy\n", "from astropy.cosmology import WMAP9\n", "import astropy.units as u\n", "\n", "#NICAEA bindings\n", "from lenstools.simulations import Nicaea,NicaeaSettings" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate default settings for NICAEA" ] }, { "cell_type": "code", "collapsed": false, "input": [ "settings = NicaeaSettings.default()\n", "settings" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "{'normmode': 'norm_s8',\n", " 'q_mag_size': 1.0,\n", " 'sde_param': 'linder',\n", " 'sgrowth': 'growth_de',\n", " 'snonlinear': 'smith03',\n", " 'sreduced': 'none',\n", " 'stomo': 'tomo_all',\n", " 'stransfer': 'eisenhu'}" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also see the available tunable options, and the allowed values for each option" ] }, { "cell_type": "code", "collapsed": false, "input": [ "settings.knobs" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "['sde_param',\n", " 'sgrowth',\n", " 'sreduced',\n", " 'normmode',\n", " 'stomo',\n", " 'stransfer',\n", " 'snonlinear',\n", " 'q_mag_size']" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "settings.available(\"snonlinear\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "['linear',\n", " 'pd96',\n", " 'smith03',\n", " 'smith03_de',\n", " 'coyote10',\n", " 'coyote13',\n", " 'halodm',\n", " 'smith03_revised']" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instantiate a Nicaea object directly from one of astropy built-in cosmology instances" ] }, { "cell_type": "code", "collapsed": false, "input": [ "cosmo = Nicaea.fromCosmology(WMAP9)\n", "cosmo" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "Nicaea(H0=69.3 km / (Mpc s), Om0=0.286, Ode0=0.713, sigma8=0.8, ns=0.96, Ob0=0.046, w0=-1, wa=0, Tcmb0=2.725 K, Neff=3.04, m_nu=[ 0. 0. 0.] eV)" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "$\\kappa$ angular power spectrum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Select the multipoles" ] }, { "cell_type": "code", "collapsed": false, "input": [ "ell = np.arange(300.0,1.0e5,500.0)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute the power spectrum (assuming single redshift source distribution at $z=2$)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "power = cosmo.convergencePowerSpectrum(ell,z=2.0,settings=settings)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "fig,ax = plt.subplots(figsize=(8,8))\n", "ax.plot(ell,ell*(ell+1)*power/(2.0*np.pi))\n", "ax.set_xscale(\"log\")\n", "ax.set_yscale(\"log\")\n", "ax.set_xlabel(r\"$l$\",fontsize=18)\n", "ax.set_ylabel(r\"$l(l+1)P_l/2\\pi$\",fontsize=18) " ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n3rAjxSRKBJDgtmzZom7duql58+bq27cvBQIoVKNGDU2dOlX5+fnq1auXdu7cGXakmEOJABLYpk2b\nlJaWplatWikrK4sCARyiUqVKuv/++1WvXj116dJF3377bdiRYgolAkhQ//73v9W1a1ddf/316tWr\nV9hxgJiVlJSkIUOG6JprrlHHjh21evXqsCPFDEoEkIA2bNigtLQ0paamKj09Pew4QMwzxqh79+7q\n16+fMjIytHDhwrAjxQRGkAESzLp165Senq5u3bopNTU17DhAXGnVqpXq16+vzMxMffPNN+rRo0dC\n3wbkSgSQQL766iulpaWpR48eFAjAU7169TRr1iy98sorGj16tPbv3x92pNBQIoAEsX79eqWnp6t3\n797q0KFD2HGAuFarVi3NnDlTn3/+uQYNGpSwr4BSIoAE8M0336h79+5KT09X+/btw44DlAknnnii\n/vrXv8o5p549eybkK6CUCKCM27Jli7p3764bb7yRWxhAlFWqVEnjxo3T//zP/6hr167avHlz2JFK\nFSUCKMO2bdum7t2769prr1VaWlrYcYAy6edXQFu2bKlOnTrpyy+/DDtSqaFEAGXUz5NpJScnq2fP\nnmHHAco0Y4x69uypjIwMde3aVR999FHYkUoFJQIog3744Qf16tVLF110kbKzsxP6FTSgNLVr1045\nOTnKzMzU0qVLw45T4hJ6nIggCJIlJYccA4iqXbt2KTMzU+eee64GDRpEgQBKWXJysiZNmqTs7GwN\nGDBAbdq0CTvSUQVBkFP4bZ61Ni+SbY1zLuqB4lEQBC43NzfsGECx7NmzR1lZWapdu7ZGjhypcuW4\n2AiEZc2aNerVq5dSU1OVlpYWk4U+JSVF1lrvYPyGAcqI/Px89evXTzVq1NBdd91FgQBC9vOgVIsW\nLdK4ceN04MCBsCNFHb9lgDIgPz9fAwYMUMWKFXXvvfcqKSkp7EgAJNWuXVszZ87UqlWrNHjwYOXn\n54cdKaooEUCc279/v4YMGaK9e/dq3LhxqlChQtiRABykWrVqmjp1qnbv3q3MzEz9+OOPYUeKGkoE\nEMcOHDigESNGaNu2bZowYYIqVqwYdiQAh1G5cmWNHz9ep512mtLS0rRly5awI0UFJQKIU845jRo1\nSl9//bUmTZqkypUrhx0JwFGUL19eI0aM0GWXXaZOnTpp3bp1YUcqNkoEEIeccxo3bpw+/fRTPfTQ\n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\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tomography settings are supported too: let's create a simple redshift distribution $n(z)\\propto z^ae^{-(z/z_0)^b}$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def n(z,a,b,z0):\n", " return (z**a)*np.exp(-(z/z0)**b)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do tomography with 5 redshift bins in $z\\in[0.1,3.0]$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "z = np.linspace(0.1,3.0,5)\n", "z" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "array([ 0.1 , 0.825, 1.55 , 2.275, 3. ])" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute power spectrum tomography for $(a,b,z_0)=(1,2,0.7)$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "power_tomo = cosmo.convergencePowerSpectrum(ell,z=z,distribution=n,distribution_parameters=\"all\",a=1.0,b=2.0,z0=0.7)\n", "power_tomo.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "(200, 10)" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can easily switch tomography off by considering a single redshift bin with distribution $n(z)$ inside it" ] }, { "cell_type": "code", "collapsed": false, "input": [ "power_tomo = cosmo.convergencePowerSpectrum(ell,z=z,distribution=n,distribution_parameters=\"one\",a=1.0,b=2.0,z0=0.7)\n", "power_tomo.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "(200,)" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Shear two point function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Select angles $\\theta$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "theta = np.arange(1.0,100.0,1.0)*u.arcmin" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "xi_plus = cosmo.shearTwoPoint(theta,z=2.0,settings=settings,kind=\"+\")\n", "xi_minus = cosmo.shearTwoPoint(theta,z=2.0,settings=settings,kind=\"-\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "fig,ax = plt.subplots(figsize=(8,8))\n", "ax.plot(theta,xi_plus,label=r\"$\\xi_+$\")\n", "ax.plot(theta,xi_minus,label=r\"$\\xi_-$\")\n", "ax.set_xscale(\"log\")\n", "ax.set_xlabel(r\"$\\theta(\\mathrm{arcmin})$\",fontsize=18)\n", "ax.set_ylabel(r\"$\\xi(\\theta)$\",fontsize=18) \n", "ax.legend()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAIFCAYAAACZJyQvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VdXB9uHfTkgICTNhlFEIgiIiLhBFkaKRQUVEDTIk\ngEWpQqmvorbaCnyd1GodqnVEyygoqCBFkao4QZElIKCCCIRBZCaMCZn290cOFCGGEJKsMzz3dXGd\nczZrbZ7D+9I8rr3POp7v+4iIiIiUpSjXAURERCT8qXCIiIhImVPhEBERkTKnwiEiIiJlToVDRERE\nypwKRwkZY7q6ziASifRvT8SNM/23V6GUcpQKY0wP4EkgGnjZWvtIIWOeBnoCh4Eh1tplRc01xtQE\npgNNgHQgxVqbEfi9tsALQBUgH+hgrT1SzLhdgQUleZ8icka6on97Ii505Qz+7QXNCocxJhp4BugB\nnAv0N8a0PmFML6CFtTYJuB14rhhzfwvMt9a2BD4IvMYYUwGYBNxurW0DXAHklOmbFBERiVBBUziA\njsD31tp0a20OMA24/oQxvYEJANbaxUB1Y0y9U8w9Nifw2Cfw/GpghbV2ZeB8e621+WXz1sJbsC9x\nl2e+svqzSuu8Z3Keksw9nTnB/v9HwSjY/87KO19Z/Hn6t1d6gqlwnAVsPu71lsCx4oxpUMTcutba\n7YHn24G6gectAd8Y854x5ktjzL1n/hYiVlfXAU6haxj8WaV13jM5T0nmns6ckpw/0nV1HeAUuobB\nn1da5zyT85Rk7unMKcn5T1swFY7i7rHuFXPMSeez1vrHHa8AXAYMCDzeYIzpVswMIiIichq8YPku\nFWNMJ2CstbZH4PXvgPzjbxw1xjwPLLDWTgu8Xk3BvRfNfm5uYExXa+02Y0x94CNrbStjTD+gp7V2\nSGDO74Esa+1jJ+TqSuHtb0zpvXsREZGQMK6QYwustQtONTGYPqVigSRjTFNgK9AP6H/CmNnASGBa\noKBkWGu3G2N2FzF3NjAYeCTw+Hbg+PvAfcaYShTcLHoF8PeTQhX8JS448bgxZsz8+fNL+FZFRERC\nS3JyMtbasSWdHzSXVKy1uRSUiXnAN8B0a+23xpjhxpjhgTFzgfXGmO8p+DjrnUXNDZz6YSDZGPMd\n0C3wGmvtXgoKxhJgGfCltfbdcnmzIiIiESZoLqmEGmOMrxUOERGJFIEVjuLcR1mooFnhEBERkfCl\nwiEiIiJlLphuGhUREQlaycnJriOUm7K4ZUCFQ0REpJgi4d69sipWuqQiIiIiZU6FQ0RERMqcCoeI\niIiUORUOERERKXMqHCIiImFkzZo1DB06lJkzZ7Jx40bXcY5R4RAREQkTS5YsoW/fvrRs2ZIDBw4Q\nGxvrOtIx+lisiIhImPjnP//JmDFjSElJcR3lJCocIiIiYaJhw4bMmDGDihUr0qhRI9q3b+860jEq\nHCIiIqWkTZs2pXKeVatWlWjeOeecQ15eHvn5+URHR5dKltKiwiEiIlJKSloUSsNbb71FUlISgwYN\ncpahKLppVEREJAy89957tGvXrsgxc+fOLac0J1PhEBERCQMpKSlcc801PPHEE2zevLnQMYcOHSrn\nVP+jwiEiIhIGrrzySmbNmkWDBg248847mTp1qutIP6F7OERERMJEQkIC1apVo0+fPjRq1AiA77//\nnhUrVgBgrSU6OhrP8+jdu3e53liqwiEiIhJGevTo8ZPXLVq0oEWLFgDk5eXRt29fF7F0SUVERCRS\nuPyorAqHiIhIhHC1ugEqHCIiIlIOVDhERESkzKlwiIiISJlT4RAREZEyp8IhIiIiZU6FQ0RERMqc\nCoeIiIiUORUOERERKXMqHCIiIlLmVDhERESkzKlwiIiISJlT4RAREQkja9asYejQocycOZONGze6\njnOMCoeIiEiYWLJkCX379qVly5YcOHCA2NhY15GOqeA6gIiIiJSOf/7zn4wZM4aUlBTXUU6iwiEi\nIlJKLvrth6Vyni8f7laieQ0bNmTGjBlUrFiRRo0a0b59+1LJUxpUOEREREpJSYtCaTnnnHPIy8sj\nPz+f6Ohop1lOpMIhIiISBt566y2SkpIYNGiQ6yiF0k2jIiIiYeC9996jXbt2rmP8LBUOERGRMJCS\nksI111zDE088webNm13HOYkuqYiIiISBK6+8kk6dOjFnzhzuvPNO+vfvT/fu3fn8889/Mq5mzZpc\ndtll5Z5PhUNERCRMJCQkUK1aNfr06UOjRo2oVasWvXv3dh0LUOEQEREJKz169HAdoVC6h0NERETK\nnAqHiIiIlDkVDhERESlzKhwiIiJS5lQ4REREpMzpUyoiIiLFlJyc7DpCyFLhEBERKYb58+e7jhDS\ndElFREREypwKh4iIiJQ5FQ4REREpcyocIiIiUuZUOERERKTMqXCcgX379rmOICIiEhJUOM7AjBkz\n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\nuzzPewNY7HneO8BSCm4YLewLz24JHH8hcHNpsffvkMjheR4PPfQQAwYM4KqrrqJhw4auI4mISBk5\n3W+L3QD0BZIp2BCsKwV7cww5OiZQMEYDn/m+/3Xg5tI/llpiCSuNGzdm6NCh/L//9/+07bmISBg7\n7e9S8X3/M6AZ0MD3/St8358IRHueN83zvBEUfDlaC+C3pRtVwlVaWhq7d+9mzpw5rqOIiEgZKdGX\nt/m+n3f87qG+74+noGDUpuAbVy/zfX9h6USUcHd02/PHHnuMPXsKuy9ZRERC3Rl/W+xRvu+n+74/\n1vf93/i+v6S0ziuRoU2bNlx77bU8+uijrqOIiEgZKLXCIXKmRowYwbJly/j8889dRxERkVKmwiFB\nIz4+noceeog//vGPHD582HUcEREpRSocElQ6d+5Mu3btePbZZ11HERGRUqTCIUHnvvvuY86cOaxa\ntcp1FBERKSUqHBJ0atasyT333MPYsWPJyclxHUdEREqBCocEpeuuu44aNWowadIk11FERKQUqHBI\nUPI8jzFjxvDKK6+wadMm13FEROQMqXBI0GrYsCHDhg3TtuciImFAhUOC2qBBg9i/fz+zZs1yHUVE\nRM6ACocEtQoVKjBu3Dj+/ve/s3v3btdxRESkhFQ4JOi1bt2aPn368Mgjj7iOIiIiJaTCISHhjjvu\nYOXKlXzyySeuo4iISAmocEhIqFSpkrY9FxEJYSocEjIuueQSOnbsyNNPP+06ioiInCYVDgkp9957\nL++99x4rV650HUVERE6DCoeElOrVq3Pffffx0EMPadtzEZEQosIhIadnz57Uq1ePV1991XUUEREp\nJhUOCTme5/GHP/yBiRMnkp6e7jqOiIgUgwqHhKQGDRowfPhwxo0bp23PRURCgAqHhKwBAwaQmZnJ\nm2++6TqKiIicggqHhKzo6GjGjRvHU089xa5du1zHERGRIqhwSEg755xz6Nu3L3/9619dRxERkSKo\ncEjI+9WvfsXq1atZsGCB6ygiIvIzVDgk5MXFxTFmzBj+9Kc/cfDgQddxRESkECocEhY6duzIpZde\nqm3PRUSClAqHhI177rmH+fPns3z5ctdRRETkBCocEjaqVavG/fffz9ixY7XtuYhIkFHhkLDSvXt3\nGjZsyPjx411HERGR46hwSFjxPI8HH3yQKVOmsH79etdxREQkQIVDwk79+vW54447GDt2LPn5+a7j\niIgIKhwSpvr160deXh4zZsxwHUVERFDhkDB1dNvzf/zjH2zatMl1HBGRiKfCIWGrRYsWjBw5khEj\nRrB//34UcXJhAAAgAElEQVTXcUREIpoKh4S1fv36cemll3LPPfeQm5vrOo6ISMRS4ZCwd++991Kh\nQgUefvhh11FERCKWCoeEvQoVKvC3v/0Nay1Tp051HUdEJCKpcEhEqFy5Ms888wwvvvgin332mes4\nIiIRR4VDIkbDhg35+9//zgMPPMC6detcxxERiSgqHBJR2rdvz+jRoxkxYgR79uxxHUdEJGKocEjE\n6d27Nz169OCuu+4iOzvbdRwRkYigwiERadSoUdSsWZNx48bh+77rOCIiYU+FQyJSVFQUf/nLX1i7\ndi2vvPKK6zgiImFPhUMiVnx8PP/4xz+YOnUq//nPf1zHEREJayocEtHq1q3L008/zbhx4/j2229d\nxxERCVsqHBLxzjvvPP7whz/w61//mh07driOIyISllQ4RICrr76alJQUfv3rX5OZmek6johI2FHh\nEAm47bbbOPvss3nwwQfJz893HUdEJKyocIgEeJ7HuHHj2LFjB88++6zrOCIiYUWFQ+Q4sbGxPPXU\nU8yZM4c5c+a4jiMiEjZUOEROUKtWLZ555hkeffRRli9f7jqOiEhYUOEQKURSUhJ/+tOf+L//+z+2\nbt3qOo6ISMhT4RD5GV26dOHWW29lxIgRHDx40HUcEZGQpsIhUoRBgwbRrl077rvvPvLy8lzHEREJ\nWRVcBziRMaYH8CQQDbxsrX2kkDFPAz2Bw8AQa+2youYaY2oC04EmQDqQYq3NMMYkA38FYoFs4F5r\n7Udl+w4llHiexwMPPMAdd9zB448/zn333ec6kohISAqqFQ5jTDTwDNADOBfob4xpfcKYXkALa20S\ncDvwXDHm/haYb61tCXwQeA2wE7jWWtsWGAxMKsO3JyEqJiaGxx9/nE8++YQZM2a4jiMiEpKCqnAA\nHYHvrbXp1tocYBpw/QljegMTAKy1i4Hqxph6p5h7bE7gsU9g/nJr7bbA8W+ASsaYmLJ5axLKqlWr\nxrPPPsvTTz/NF1984TqOiEjICbbCcRaw+bjXWwLHijOmQRFz61prtweebwfqFvJn3wh8GSgrIidp\n0qQJjz32GKNHjyY9Pd11HBGRkBJs93D4xRznFXPMSeez1vrGmJ8cN8acBzwMJJ843hjTFehazFwS\n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\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }