{ "metadata": { "name": "SciPyAnswers_1" }, "nbformat": 2, "worksheets": [ { "cells": [ { "cell_type": "code", "input": [ "import numpy as np" ], "language": "python", "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "input": [ "import scipy as sp" ], "language": "python", "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "source": [ "**I. Integration and interpolation**" ] }, { "cell_type": "code", "input": [ "zz = np.loadtxt('wiggleZ_DR1_z.dat',dtype='float'); # Load WiggleZ redshifts" ], "language": "python", "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "input": [ "np.min(zz)" ], "language": "python", "outputs": [ { "output_type": "pyout", "prompt_number": 4, "text": [ "1.0000000000000001e-05" ] } ], "prompt_number": 4 }, { "cell_type": "code", "input": [ "np.max(zz)" ], "language": "python", "outputs": [ { "output_type": "pyout", "prompt_number": 5, "text": [ "1.9903999999999999" ] } ], "prompt_number": 5 }, { "cell_type": "code", "input": [ "nbins = 50;" ], "language": "python", "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "input": [ "n, bins, patches = hist(zz,nbins)" ], "language": "python", "outputs": [ { "output_type": "display_data", "png": "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\nSgEgImJR/w+CRGLiOkZxQAAAAABJRU5ErkJggg==\n" } ], "prompt_number": 7 }, { "cell_type": "code", "input": [ "x = bins[0:nbins] + (bins[2]-bins[1])/2; # Adjust bin edges to centre" ], "language": "python", "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "input": [ "from scipy.interpolate import interp1d" ], "language": "python", "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "input": [ "zdist = interp1d(x,n, kind='cubic', bounds_error = False, fill_value=0)" ], "language": "python", "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "input": [ "z = linspace(0,2,100)" ], "language": "python", "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "input": [ "plot(z,zdist(z))" ], "language": "python", "outputs": [ { "output_type": "pyout", "prompt_number": 12, "text": [ "[]" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 12 }, { "cell_type": "code", "input": [ "from scipy import integrate" ], "language": "python", "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "input": [ "cumz = lambda z0: integrate.quad(zdist,0,z0)[0]" ], "language": "python", "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "input": [ "total = cumz(5)" ], "language": "python", "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/scipy/integrate/quadpack.py:288: UserWarning: The maximum number of subdivisions (50) has been achieved.\n", " If increasing the limit yields no improvement it is advised to analyze \n", " the integrand in order to determine the difficulties. If the position of a \n", " local difficulty can be determined (singularity, discontinuity) one will \n", " probably gain from splitting up the interval and calling the integrator \n", " on the subranges. Perhaps a special-purpose integrator should be used.\n", " warnings.warn(msg)\n" ] } ], "prompt_number": 15 }, { "cell_type": "code", "input": [ "total" ], "language": "python", "outputs": [ { "output_type": "pyout", "prompt_number": 16, "text": [ "3232.7938146343804" ] } ], "prompt_number": 16 }, { "cell_type": "code", "input": [ "Pz = 0 * z;\n", "for i in range(len(z)):\n", " Pz[i] = cumz(z[i]) / total" ], "language": "python", "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "input": [ "plot(z,Pz,Pz,z)" ], "language": "python", "outputs": [ { "output_type": "pyout", "prompt_number": 18, "text": [ "[,\n", " ]" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 18 }, { "cell_type": "code", "input": [ "zvar = interp1d(Pz,z,kind='cubic')" ], "language": "python", "outputs": [], "prompt_number": 19 }, { "cell_type": "code", "input": [ "from numpy import random" ], "language": "python", "outputs": [], "prompt_number": 20 }, { "cell_type": "code", "input": [ "rand()" ], "language": "python", "outputs": [ { "output_type": "pyout", "prompt_number": 21, "text": [ "0.6928841274449873" ] } ], "prompt_number": 21 }, { "cell_type": "code", "input": [ "output = zvar(rand(100000,1))" ], "language": "python", "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "input": [ "hist(output,100)" ], "language": "python", "outputs": [ { "output_type": "pyout", "prompt_number": 23, "text": [ "(array([ 53, 28, 14, 11, 15, 10, 9, 10, 13, 6, 14,\n", " 5, 194, 129, 114, 419, 955, 922, 944, 1097, 1253, 1376,\n", " 1414, 1726, 1866, 2003, 2384, 2661, 2687, 2960, 3473, 3684, 3535,\n", " 3703, 4113, 4146, 4151, 4325, 4348, 4017, 3586, 3273, 2906, 2747,\n", " 2686, 2376, 2136, 1935, 1711, 1646, 1497, 1233, 924, 786, 787,\n", " 730, 607, 452, 363, 371, 277, 268, 248, 184, 173, 145,\n", " 66, 69, 93, 89, 66, 29, 16, 25, 35, 42, 27,\n", " 28, 33, 42, 55, 27, 35, 35, 58, 33, 30, 12,\n", " 23, 21, 22, 42, 18, 20, 32, 17, 12, 11, 2,\n", " 1]),\n", " array([-0.23761697, -0.21519182, -0.19276667, -0.17034152, -0.14791637,\n", " -0.12549122, -0.10306607, -0.08064092, -0.05821577, -0.03579063,\n", " -0.01336548, 0.00905967, 0.03148482, 0.05390997, 0.07633512,\n", " 0.09876027, 0.12118542, 0.14361057, 0.16603572, 0.18846087,\n", " 0.21088601, 0.23331116, 0.25573631, 0.27816146, 0.30058661,\n", " 0.32301176, 0.34543691, 0.36786206, 0.39028721, 0.41271236,\n", " 0.43513751, 0.45756265, 0.4799878 , 0.50241295, 0.5248381 ,\n", " 0.54726325, 0.5696884 , 0.59211355, 0.6145387 , 0.63696385,\n", " 0.659389 , 0.68181415, 0.70423929, 0.72666444, 0.74908959,\n", " 0.77151474, 0.79393989, 0.81636504, 0.83879019, 0.86121534,\n", " 0.88364049, 0.90606564, 0.92849079, 0.95091593, 0.97334108,\n", " 0.99576623, 1.01819138, 1.04061653, 1.06304168, 1.08546683,\n", " 1.10789198, 1.13031713, 1.15274228, 1.17516743, 1.19759257,\n", " 1.22001772, 1.24244287, 1.26486802, 1.28729317, 1.30971832,\n", " 1.33214347, 1.35456862, 1.37699377, 1.39941892, 1.42184407,\n", " 1.44426921, 1.46669436, 1.48911951, 1.51154466, 1.53396981,\n", " 1.55639496, 1.57882011, 1.60124526, 1.62367041, 1.64609556,\n", " 1.66852071, 1.69094585, 1.713371 , 1.73579615, 1.7582213 ,\n", " 1.78064645, 1.8030716 , 1.82549675, 1.8479219 , 1.87034705,\n", " 1.8927722 , 1.91519735, 1.93762249, 1.96004764, 1.98247279,\n", " 2.00489794]),\n", " )" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 23 } ] } ] }