{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import scipy as sp\n", "import matplotlib.pyplot as plt\n", "import seaborn\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "seed = 20161101\n", "N = 100000000" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def rand_koku(n, seed):\n", " np.random.seed(seed)\n", " u1 = np.random.rand(n)\n", " u2 = np.random.rand(n)\n", " u3 = np.random.rand(n)\n", " u4 = np.random.rand(n)\n", " u5 = np.random.rand(n)\n", " return (u1, (u1+u2+u3+u4+u5)/5.0)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(100000000, 100000000)\n" ] } ], "source": [ "u, uk = rand_koku(N, seed)\n", "print((len(u), len(uk)))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAAG2CAYAAAC59Y1RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XuYZHVh5/93Xfo60z3TM2QuJN6zz9fBZUHIYkRB8uRn\nWNRxjY/ihcf1rkjUuCa7RNdoYhQDikRwRUkWs+S30TWosAgaV10xKGRFkEsy+SaKAg5DNzPTXd0z\n3T09XXX2j6oemp5h6OquUz1d3/freYaeOnXqfL5n+Pap+tTlVCHLMiRJkiQpFcWVHoAkSZIktZMl\nSJIkSVJSLEGSJEmSkmIJkiRJkpQUS5AkSZKkpFiCJEmSJCXFEiRJkiQpKZYgSZIkSUmxBEmSJElK\nSrnZG4QQngH8V+B5wB7g0zHGTzzOus8GrgROBO4F3hFjvGPpw5UkSZKk5WnqlaAQQgG4ERgGTgbO\nBz4QQnj1Edbtb6x7M3AKcCtwYwihb7mDliRJkqSlavbtcJuBO4ELYow/jTF+A/g28PwjrPtqYDLG\neGGsew8wAbxyWSOWJEmSpGVo6u1wMcaHgdfMXQ4hPA84k/orQgs9B7hlwbLvA88FrmlumJIkSZLU\nGks+MUII4efA94AfAF85wipbgYcWLBsGfmWpmZIkSZK0XMs5O9zLge3As4E/O8L1/cCBBcsOAD3L\nyJQkSZKkZVlyCYox3hFjvAn4j8DbQggL31o3zeGFpweYXGqmJEmSJC1XU58JCiFsAp4bY7x+3uJ/\nBLqBQWDvvOU7gS0LNrEF2LXYvCzLskKh0MwQJUmSJHWmlhWDZr8n6GnAV0IIv9w4SQLArwGPxBj3\nLlj3NuDCBctOBz662LBCocD4+BTVaq3JYUqLVyoVGRzsc64pd841tYtzTe3iXFO7zM21Vmm2BP0Q\nuB34fAjhvdRL0cXARwBCCJuBSoxxGrgW+FgI4TLgKupnkFsDfKmZwGq1xuysv1TKn3NN7eJcU7s4\n19QuzjWtNs2eIrsWQvj3wKepnxVuP/CpGOOnG6vsAt4AXBNjnAghvAT4HPA24G7gnBjjVKsGL0la\nWdVqlZGR4dwzAEqlUq45mzZtzj1DknRsKGRZttJjOJpsdHS/zywoV+VykaGhNTjXlLdOnGu7dj3E\ndXfdwMD6wdwydt73IKXeLrYcv/Bjpq0zMTbOy07aztatx+eW0U6dONd0bHKuqV0ac23FPhMkSdJj\nDKwfZGjTxty2P7ZnlHJfd64ZkqS0LOd7giRJkiRp1bEESZIkSUqKJUiSJElSUixBkiRJkpJiCZIk\nSZKUFEuQJEmSpKRYgiRJkiQt2UUX/TEXXfTHhy5ffPFHeeELz+BVr3rZCo7q6PyeIEmSJClH1WqV\nkZHhtmZu2rSZUqnUlqz3vOf3D/39X/7ln/na167j0kuv4OlPf0Zb8pfCEiRJkiTlaGRkmGv/949Z\nOzjUlrx946O84oUns3Xr8W3J6+9f82j2vgkKhQKnnfbrbcleKkuQJEmSlLO1g0MMbdy80sN4XA8/\nvItXvvKl/M3f3MCWLVsAuPrqq7jzzh/xohdt56abbuDkk0/hq1/9G2Znq7z4xS/lXe/6jwCH3gp3\nzjkv4d3vPp9CocCZZ57GG9/4Vt74xreu2D4djZ8JkiRJkkShUHjcZffeezcPPvgAV155Ne9973/m\n2mu/yO23/9/HrHviiSfxkY9cAsD11/8tr3nN6/If9BJZgiRJkiQdVa1W48ILP8CTnvRkfuu3zuEZ\nz/hX7Njxj49Zp1wuMzg4CMDQ0BC9vb0rMdRFsQRJkiRJOqoNGzbS19d36PKaNWuoVmdXcETLYwmS\nJEmSknf4W+Gq1eqhv5fLXYddn2VZriPKkyVIkiRJSlxXV5ksy5ic3H9o2UMP7VzBEeXLEiRJkiQl\nbsOGjWzatJkvfOGveOihndx00w3ceustKz2s3HiKbEmSJCln+8ZH25z1lKZuUygUeN/7Psif/dnH\ned3rzuXUU0/jP/yHN3Pbbd9/3PVXs8Ix/l6+bHR0P7OztZUehzpYuVxkaGgNzjXlrRPn2q5dD/Ht\n+29maNPG3DJ+tuMnlPu6edJTn5xbxujIHn7zKS9o2xcL5q0T55qOTc61xalWq4yMDLc1c9OmzZRK\npbZm5qkx11rWvHwlSJI6ULvucIeHh6kd20+mLUqtWmN4uD0PUDrtgYmkJ1YqlTrmSZZOYQmSpA40\nMjLMdXfdwMD6wVxzdt73IOu2bCC/14HaY3yswreGv8uW6S255kyMjfOyk7b7YEiSVpglSJI61MD6\nwVzfpgYwtqd973HP29r1A7n/e0mSjg2eHU6SJElSUixBkiRJkpJiCZIkSZKUFEuQJEmSpKRYgiRJ\nkiQlxRIkSZIkKSmWIEmSJClxDz+8izPO+Lc8/PDDTd3u6quv4l3ventOo8qP3xMkSZIk5aharTIy\n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\nSZIkKSmWIEmSJElJsQRJkiRJSoolSJIkSVJSLEGSJEmSkmIJkiRJkpSU8lJvGELoAW4HfifG+L3H\nWefZwJXAicC9wDtijHcsNVOSJEmSlmtJrwQ1CtAXgBOOsk4/cCNwM3AKcCtwYwihbymZkiRJktQK\nTZegEMI24DbgaU+w6quByRjjhbHuPcAE8MrmhylJkiRJrbGUV4JeAHwbeC5QOMp6zwFuWbDs+43b\nSZIkSdKKaPozQTHGz879PYRwtFW3Uv8c0HzDwLOazZQkSZKkVsnz7HD9wIEFyw4APTlmSpIkSdJR\nLfnscIswzeGFpweYXOwG9u3bx+TkJNVqraUDm69arbJ//34KhaO9s681OYUCFIulVZ/TSftSV2Ni\noo/JyRmq1Sy3lE77d5vL2b37ESYnJ+ne3/rnN2pZRgEoFApMT01RYpb9+/fllpNnRl3GgZkupqYn\nKWVdueXUsoypqUnKue5L+3ImpyYpZwdXfUa7cqanpjjILJVKhYMHq2S1fI5r01NTFGsH2bdvIrf7\n0LnfyYl9E4eOBa02OTnJ7t0jlEpF70OXxPvQYzWnk/YFoFQqMDT0qy3bXp4laCewZcGyLcCuxW7g\n8quvY2D9cS0d1EI77/8JPWuP45c2bc0158H7/4VyVy9bj3/Sqs/ppH0xZ/k5fb29PFjcx2it9YeT\n8bG9FEtl1g4M8vDeScq9Xcz0TOSWsy/HjMfk7M4/Z8+DjzCwcSi3jHbm/PT+h+nq7+Vg7/pVndGu\nnIf3TnLg4CR7ZwqsHRjMPWd0tphbztzv/e6pBw4dC1ptYu8+spFh1u+qeR9qTkfldNK+AIxX9vL+\nZ66OEnQbcOGCZacDH13sBgbWbWLt+q3UcnoWC6Cr5xG6e9bQt2YotwyA7u41lLr6OiKnk/YFoLd3\nLX1r1rJmYEOuc63T/t3mcnr719A120tXV+vPfl8qdVEoddHV1Ue51EO5XM41J88MgHK5m3J3N13l\nHko55hzan3J3bhntzCkWyxQb82A1Z7Qrp1zqYTY7SHdPL93dfWQ5HdbKpR4O1mYolvL7/z/3Ozn/\nWNBqXeVpesvr6Fsz5H3oEngfeuzmdNK+AMzMHGzp9lpagkIIm4FKjHEauBb4WAjhMuAq4HxgDfCl\nZrZZq2W5/lLNbT/PjLmcYtYZOZ20L3M5cz/9d1taTkZGlsMjrSyDQlbfdj2DfHNyzKjnZIfy8s2p\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 5))\n", "plt.hist(u, label='unif',\n", " bins=30, normed=True, alpha=0.5)\n", "plt.hist(uk, label='koku',\n", " bins=30, normed=True, alpha=0.5)\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def normal_box_muller(n, seed):\n", " np.random.seed(seed)\n", " nm = int(n / 2)\n", " u = np.random.rand(n)\n", " u1 = u[:nm]\n", " u2 = u[nm:n]\n", " r = -2.0 * np.log(u1)\n", " v = 2.0 * np.pi * u2\n", " z1 = np.sqrt(r) * np.cos(v)\n", " z2 = np.sqrt(r) * np.sin(v)\n", " z = np.concatenate([z1, z2, -z1, -z2])\n", " return z" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "200000000\n", "3.095e-05\n" ] } ], "source": [ "z_bm = normal_box_muller(N, seed)\n", "print(len(z_bm))\n", "print((z_bm < -4.0).mean())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def normal_moro(n, seed):\n", " np.random.seed(seed)\n", " a0 = 2.50662823884\n", " a1 = -18.61500062529\n", " a2 = 41.39119773534\n", " a3 = -25.44106049637\n", " b0 = -8.47351093090\n", " b1 = 23.08336743743\n", " b2 = -21.06224101826\n", " b3 = 3.13082909833\n", " c0 = 0.3374754822726147\n", " c1 = 0.9761690190917186\n", " c2 = 0.1607979714918209\n", " c3 = 0.0276438810333863\n", " c4 = 0.0038405729373609\n", " c5 = 0.0003951896511919\n", " c6 = 0.0000321767881768\n", " c7 = 0.0000002888167364\n", " c8 = 0.0000003960315187\n", " u = np.random.rand(n)\n", " y = u - 0.5\n", " f1 = (np.abs(y) < 0.42)\n", " y1 = y[f1]\n", " r = y1 ** 2\n", " num = ((a3*r+a2)*r+a1)*r+a0\n", " den = (((b3*r+b2)*r+b1)*r+b0)*r+1.0\n", " x1 = y1 * num / den\n", " f2 = np.logical_not(f1)\n", " u2 = u[f2]\n", " y2 = y[f2]\n", " r = np.where(y2 > 0.0, 1.0 - u2, u2)\n", " r = np.log(-np.log(r))\n", " x2 = c0+r*(c1+r*(c2+r*(c3+r*(c4+r*(c5+r*(c6+r*(c7+r*c8)))))))\n", " x2 = np.where(y2 < 0.0, -x2, x2)\n", " z1 = np.concatenate([x1, x2])\n", " z = np.concatenate([z1, -z1])\n", " return z" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "200000000\n", "3.169e-05\n" ] } ], "source": [ "z_m = normal_moro(N, seed)\n", "print(len(z_m))\n", "print((z_m < -4.0).mean())" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nOPTQw1ixYjn//u//h332+QvGjNkB2PhS19tssw2dnZ0bHi9evHizve+++56sWfMKwIZ1r127losu\nupD169cNbIPkyBAkSZIkDbGOjg5WrHiJFSte4tlnn+H888+hUqnwrndNp62tjfe//0Ocf/5s7r33\nbp544nG+9a2zmDBhIgcffCidnWuYO/dcZs78FIccchgf/vBHmT37e6xfv36z6x0xYiTveMchXHnl\njzY6FK7n3pt9992f+fN/znPPPcvChTdz3XW/3mS97tftsceeHHLIYXzzm1/nscceIcbH+N73vsna\ntWs3ui/RcOHhcJIkSdqqvNKxcojXtUdDrykUCnz96//fhscjRoxk333347zz5jFhwgQATjnli1x0\n0YWceeYZrF+/noMPPpS5cy+itbWV//2/59LW1sZHP/pxAE4++bP8/vc3cvnlP+Szn5212fVPnTqd\n2277I1OnHrFRT93+8R+/zDnnfJe//du/Yr/99uczn/kcV155+Sa/l25nnfVt5s49ly99aRbFYpHD\nDjucL37xyw1tm6FS2Pzl8Lao6sqVayiVKlu6D20Bra0tjB07GudAupwDAueBnANqbA6Uy+UN99MZ\nKuPH70KxWBzSdaamPgc2f53u/tbLqpAkSZK0pRWLRSZOfMOWbkPDnOcESZIkSUqKIUiSJElSUgxB\nkiRJkpJiCJIkSZKUFEOQJEmSpKQYgiRJkiQlxRAkSZIkKSmGIEmSJElJMQRJkiRJQ2jq1IOZNu0Q\nli1b+prnfvnL+UydejCXX/7DLdBZOlq3dAOSJElSVsrlcp/hIk/jx+9CsVhs6DWtra0sXHgLM2ac\nuNHyBQtupqXF/RR5MwRJkiRpq7Fs2VKuvf/XbL9D+5Cs7+VVHXxw8vuZOPENDb1u8uS3vSYEdXau\n4eGHH2CffULWbaoXQ5AkSZK2Ktvv0M7Y8Ttt6TZe15Qp07noogvo7Oxk1KhRANx660ImT347a9d2\nbTT2uut+zU9/ehVLljzPXnvtzSmn/COTJ78NgBNPPIGjjnoPN9zwW8aN25kf//gnPPXUn5k3by4P\nPXQ/o0dvxwknfIiZMz895N/jcOa+NkmSJGmI7b33m9h55/HcccetG5bdcssfmDZtOtVqdcOy6677\nNXPnnsvf/u3JXHHFzzjooEM4/fQvsHz5ixvG/O53N3DBBRfzta99g9WrV3HKKZ9h/Pjx/PCHV3Lq\n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\nNogsAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 5))\n", "plt.hist(z_bm[np.abs(z_bm)<0.5], label='Box-Muller',\n", " bins=30, normed=True, alpha=0.5)\n", "plt.hist(z_m[np.abs(z_m)<0.5], label='Moro',\n", " bins=30, normed=True, alpha=0.5)\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nBhwKfBf49gxdNgL9wFdCCC8BngA+FGP8Xq1jSpIkSXPJ5XIzXoYmzWUxu8+9huomCscAn5rh+cOB\nAnALcCZwM3BjCGHmu8IkSZIkaS+o+UxRjPFegBDCO4F/DSG8O8Y4Nun5D4cQrogx9o03PRRCOBZ4\nC9UNGhYkl3PXcKXX7u9/14HSzHWgtHMNaF+Xy2XJZjNks89c3ZbNZsiUM3tsD16retWZTaJQFEJY\nB5wUY7xhUvMvgCagHdg+uf+kQLTbI8ARScZsby8k6S4tS64DyXUguQa0rxoebqG5uYlC4Zn3Sxpp\nbiI3miOfr8+9VtkG/1Ag6Zmi5wHfDiEcEmPcOt72YmBbjHFKIAohXAOUYoxvmtR8NPBgkgH7+0d8\noymlVi6Xpb294DpQqrkOlHauAe3renuHGR3dycjIzom20dGdlMZKjI3Vut/aVOUGf+8nDUV3U91R\n7poQwruohqRLgH8ECCGsB/pijKPADcDXQwi3AXcC51J9w9c3JxmwVCq704pSz3UguQ4k14D2VaVS\nmXK5Qrn8zK7W5XKFChUWs9P1ZPWqM5tE56FijGXgj4AhqkHnC8AVMcZPj3fZArxuvO/1wAXARcBD\nVDdlODPG+Nv6TF2SJEmSFi/xRgvjl83N+Ja4McbstMdXA1fXNjVJkiRJajy3MZEkSZKUaoYiSZIk\nSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYi\nSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKU\naoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIk\nSZKUavm9PQFJkiRJe1+pVKKrq5j4uGKxSF9P95S2vp5uKm2Vek2t4QxFkiRJkujqKnL9AzfStqY9\n0XGDw0Nsbeqnt9w50batv5O2po56T7FhDEWSJEmSAGhb007HurWJjskPNtG6I0uhsGqibbCnr95T\nayjvKZIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYiSZIkSalmKJIkSZKUaoYi\nSZIkSalmKJIkSZKUavmkB4QQDgOuAk4BngY+HWO8bJa+xwCfBV4IPAy8NcZ4b+3TlSRJkqT6SnSm\nKISQAW4CisDRwPnARSGE18/Qt2W8723Ai4C7gJtCCIXFTlqSJEmS6iXp5XPrgfuAC2KMv4kxfg/4\nAXDqDH1fDwzHGC+MVe8ABoCzFzVjSZIkSaqjRJfPxRi3An+6+3EI4RTgNKpnjKY7Adg8re3HwEnA\ntcmmKUmSJEmNUfNGCyGEx4DbgTuBb8/Q5WDgqWltReBZtY4pSZIkSfW2mN3nXgOcBRwDfGqG51uA\nHdPadgArFzGmJEmSJNVV4t3ndtu9i1wI4Z3Av4YQ3h1jHJvUZZQ9A9BKYDjJOLmcu4YrvXZ//7sO\nlGauA6Wda0BLJZfLkslmyGYziY7LZjJkMpDJPHNchj3bFqNedWaTKBSFENYBJ8UYb5jU/AugCWgH\ntk9q7wQ2TCuxAdiSZMz2djerk1wHkutAcg2o0YaHW2hubqK50JTouF27VpDP58jncxNtuXyW3LS2\nxcg2+IcCSc8UPQ/4dgjhkPFNFwBeDGyLMW6f1vcnwIXT2k4GPppkwP7+EUqlcsJpSstDLpelvb3g\nOlCquQ6Udq4BLZXe3mFGR3cyOrIz0XGjo7sYGysxNlaaaCuNlclMa1uMcoO/95OGoruBe4BrQgjv\nohqSLgH+ESCEsB7oizGOAtcBF4cQLge+QHWHulXAN5MMWCqVGRvzHwClm+tAch1IrgE1WqlUplKu\nUC5XEh1XrlSoVKBSeea4Cnu2LUa96swm0XmoGGMZ+CNgiOquc18Arogxfnq8yxbgdeN9B4BXUt2y\n+x7geODlMcaR+kxdkiRJkhYv8UYL45fNvXaW57LTHt8DHFvb1CRJkiSp8dzGRJIkSVKqGYokSZIk\npZqhSJIkSVKqGYokSZIkpVrijRYkSZIk7R9KpRJdXcUF9S0WiwwOD5EfTPbmrUODQ9DYHbMbzlAk\nSZIkLVNdXUWuu/V+Wts75u3b19PN1qZ+Wncku5hsoG87zYVWCqyqdZp7naFIkiRJWsZa2zvoWLt+\nQX17y50UCsnCzY6R4VqmtU/xniJJkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJqWYo\nkiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJ\nqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJ\nkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRqhiJJkiRJqWYokiRJkpRq\nhiJJkiRJqZZPekAI4XeAfwJeCgwD3wT+Psa4c4a+NwBnARUgM/7nWTHGmxczaUmSJEmql8ShCPgW\n8DRwCrAWuAYYAy6coe9G4A3ADye19dQwpiRJkiQ1RKJQFEIIwPHA+hhj93jbB4GPMy0UhRCagOcB\n98QYu+ozXUmSJEmqr6T3FG0FXr47EI3LAKtn6BuAMvBojXOTJEmSpIZLdKYoxtgHfH/34xBCBngb\n8O8zdN8I9ANfCSG8BHgC+FCM8Xs1z1aSJEkSAKVSia6u4px9isUifT3dc/bZra+nm0pbpR5T2+/U\nck/RZB8HjgZePMNzhwMF4BbgYuA1wI0hhBNijPcuclxJkiQp1bq6ilz/wI20rWmftc/g8BBbm/rp\nLXfOW29bfydtTR31nOJ+o+ZQFEK4BPg74HUxxkemPx9j/HAI4Yrxs0sAD4UQjgXeApy/0HFyOXcN\nV3rt/v53HSjNXAdKO9eAZpPLZWk/YDUHrFs7a5+mgZU8vTNLodA6b72hnn4yGchkMonmkclUf5t8\nXIZMTbVmH6M+dWZTUygKIVwJ/A1wbozx+tn6TQpEuz0CHJFkrPb2QvIJSsuM60ByHUiuAU03PNxC\nc3MTzYWmWfvs2rWCfD5HPp+bt14unyW3wL5Tj8uRzWWnHFdrrdlkG/xDgVrep+hDVM/2nBNj/M4c\n/a4BSjHGN01qPhp4MMl4/f0jlErlpNOUloVcLkt7e8F1oFRzHSjtXAOaTW/vMKOjOxkd2ePtQieM\nju5ibKzE2Fhp3nqlsTKZBfadelyJciU75bhaa82m3ODv/aRbcm8ELgI+BtwZQli/+7kYY3H8cV+M\ncRS4Afh6COE24E7gXKrvbfTmJGOWSmXGxvwHQOnmOpBcB5JrQNOVSmUq5Qrl8uybI5QrFSoVqFTm\n30ChwsL7TjmuAplKZcpxtdaafYzGbgCR9DzUq8aPuQh4avzXlvE/Gf/76wDGL6u7YLzvQ8BZwJkx\nxt8uftqSJEmSVB9Jt+S+BLhkjuez0x5fDVxd29QkSZIkqfHcxkSSJElSqhmKJEmSJKWaoUiSJElS\nqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiS\nJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWa\noUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmS\nJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmKJEmSJKWaoUiSJElSqhmK\nJEmSJKWaoUiSJElSquX39gQkSZKktCqVSnR1FWs6tlgsMjg8RH6wadY+Q4NDUKl1dulhKJIkSZL2\nkq6uItfdej+t7R2Jj+3r6WZrUz+tO2a/+GugbzvNhVYKrFrMNJe9RKEohPA7wD8BLwWGgW8Cfx9j\n3DlD32OAzwIvBB4G3hpjvHfRM5YkSZKWkdb2DjrWrq/p2N5yJ4XC7IFnx8hwrdNKlaT3FH0LaAZO\nAV4PnAV8ZHqnEEILcBNwG/Ai4C7gphBCYVGzlSRJkqQ6W/CZohBCAI4H1scYu8fbPgh8HLhwWvfX\nA8Mxxt3t7wghvAI4G7h20bOWJEmSpDpJcqZoK/Dy3YFoXAZYPUPfE4DN09p+DJyUbHqSJEmS1FgL\nPlMUY+wDvr/7cQghA7wN+PcZuh9M9T6iyYrAkTXMUZIkSZIaZjG7z30cOBp48QzPtQA7prXtAFYu\nYjxJkiRJqruaQlEI4RLg74DXxRgfmaHLKHsGoJVUd6xLJJfz/WWVXru//10HSjPXgdLONbC85XJZ\nstkM2Wwm8bHZbIZMOUMmM/uxmUz1t7n6TPQlQybDgvrON0attWYfoz51ZpM4FIUQrgT+Bjg3xnj9\nLN06gQ3T2jYAW5KO197uhnWS60ByHUiugeVpeLiF5uYmCoXZ34B1NiPNTeRGc+TzuVn75PI5srns\nnH2e6Zsll5+73kLHqLXWbLIN/qFA0vcp+hDwFuCcGON35uj6E/bcke5k4KPJpgf9/SOUSuWkh0nL\nQi6Xpb294DpQqrkOlHaugeWtt3eY0dGdjIzs8baf8xod3UlprMTYWGnWPqWxEuVKds4+z/Qtk5mn\n3kLHqLXWbMoN/t5PsiX3RuAi4GPAnSGEiXeYijEWxx/3xRhHgeuAi0MIlwNfAM4HVlF9s9dESqUy\nY2P+A6B0cx1IrgPJNbA8lUplyuUK5XIl8bHlcoUKFSqV2Y+tVCBTmbvPRF8qVCosqO98Y9Raa/Yx\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 5))\n", "plt.hist(z_bm[z_bm<-4.0], label='Box-Muller',\n", " bins=30, normed=True, alpha=0.5)\n", "plt.hist(z_m[z_m<-4.0], label='Moro',\n", " bins=30, normed=True, alpha=0.5)\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 1 }