Created
April 9, 2014 18:14
-
-
Save ixxra/10298971 to your computer and use it in GitHub Desktop.
Calculation of the frequencies distribution for the corners of all paths going to the right or upwards from the bottom-left to the top-right of a regular lattice of size n x m.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "name": "" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": {}, | |
| "source": [ | |
| "About" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Here we calculate the frequencies distribution for the corners of all paths going to the right or upwards from the bottom-left to the top-right of a regular lattice of size *n x m*." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import sympy\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import numpy as np" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "fact = sympy.combinatorial.numbers.factorial\n", | |
| "nC = sympy.combinatorial.numbers.nC" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def totalPaths(n, m):\n", | |
| " return nC(n + m, n)\n", | |
| "\n", | |
| "\n", | |
| "def pathsWithOddCorners(n, m, r):\n", | |
| " return 2 * nC((n - 1), (r - 1) / 2) * nC((m - 1), (r - 1) / 2)\n", | |
| "\n", | |
| "\n", | |
| "def pathsWithEvenCorners(n, m, r):\n", | |
| " return nC(n - 1, r / 2) * nC(m - 1, (r - 2) / 2) + nC(n - 1, (r - 2) / 2) * nC(m - 1, r / 2)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "%matplotlib inline" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 7 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "n, m = 500, 300\n", | |
| "tpaths = totalPaths(n, m)\n", | |
| "\n", | |
| "evenCorners = np.array(xrange(2, 2 * min(n, m)))\n", | |
| "oddCorners = np.array(xrange(1, 2 * min(n, m) + 1, 2))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 8 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "totalEvenCorners = [pathsWithEvenCorners(n, m, c) for c in evenCorners]\n", | |
| "totalOddCorners = [pathsWithOddCorners(n, m, c) for c in oddCorners]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 10 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "evenDistribuition = [corner / float(tpaths) for corner in totalEvenCorners]\n", | |
| "oddDistribuition = [corner / float(tpaths) for corner in totalOddCorners]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 11 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "plt.plot(evenCorners, evenDistribuition, 'r-', oddCorners, oddDistribuition, 'b-')\n", | |
| "plt.title('Corners distribuition in a %s x %s lattice' % (n, m))\n", | |
| "plt.xlabel('Number of corners')\n", | |
| "plt.ylabel('Corners density')\n", | |
| "plt.legend(('Even corners', 'Odd corners'), loc=\"upper left\")" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 31, | |
| "text": [ | |
| "<matplotlib.legend.Legend at 0x65dc650>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAEZCAYAAACw69OmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xtc1FX++PHXcBHlzoAMCggIqHhD0qS0C+Z6LUnTFMvE\nwtYsc622n7Zl4q67aq1tmes3bV3TStNKV/NCWylWtkSWlxJLvKCAiMCIijJchvP7g5gcboM6AwLv\n5+PB4zEzn/M55/2BGd5zPp/zOUejlFIIIYQQN8iuqQMQQgjRMkhCEUIIYRWSUIQQQliFJBQhhBBW\nIQlFCCGEVUhCEUIIYRWSUIRN2NnZceLECQCmT5/OggULrFLv6dOncXNzo2q0e0xMDKtWrbquuhYu\nXMjjjz9e5/b333+fYcOGXVfd9fnqq6/o1q2b1esVNSUmJvLII49Yrb7q7z9hThJKE1u3bh39+vXD\nzc2Njh07MnLkSPbu3dvUYVnV//3f//HSSy9ZLBccHMyuXbvqLdOpUycuXbqERqMBQKPRmB5fqxde\neIG3334bgIyMDOzs7KioqDBtf/jhh/n000+vq+763Hnnnfz8889Wr7c2wcHBODs74+bmhpubG8OH\nDzfbvm7dOoKCgnB1dWXMmDGcP3/etK2kpITHHnsMDw8POnTowD/+8Q+rxJSWlka/fv3QarV4enoy\ncOBAvv76a7Mys2fPxsfHBx8fH+bMmWO2LSMjg0GDBuHi4kJERARffPFFnW1dy3tjypQpzJ071+y1\n6u/J6u8/YU4SShN67bXXeOaZZ3jppZc4d+4cmZmZPPXUU2zduvWa6yovL7dqbEaj0ar1NYRGo6n3\nm5+1j7E2Le2bp0ajYdu2bVy6dIlLly6RlJRk2nb48GGeeOIJ3n//fXJzc3F2dubJJ580bU9MTOT4\n8eOcPn2a3bt388orr1glwfr7+/Phhx9SUFDA+fPniYuLY9y4cabtK1asYMuWLRw6dIhDhw7xySef\nsGLFCtP2iRMn0rdvX/R6PX/9618ZN24c+fn5tbZ1o39PS+9JUY0STaKwsFC5urqqjz76qM4yBoNB\n/eEPf1AdO3ZUHTt2VLNmzVIlJSVKKaV2796t/P391eLFi5Wfn5965JFHVGJionrwwQfV5MmTlZub\nm+rRo4fat2+fqb7s7Gz1wAMPqPbt26uQkBC1dOlS07Z58+apsWPHqkmTJil3d3e1atUq9e2336q+\nffsqd3d3pdPp1LPPPltnrK+88orq0KGD8vf3V6tWrVIajUYdP35cKaVUfHy8eumll5RSSuXl5al7\n771XeXp6Kq1Wq+68805VUVGhJk2apOzs7FS7du2Uq6urevXVV9XJkyeVRqNRq1atUp06dVJ33323\nysjIUBqNRhmNRqWUUjExMeqFF15Q/fv3V+7u7ur+++9Xer3e9DsKCAgwizMoKEh98cUXpmOeNGmS\nUkqpwMBApdFolKurq3Jzc1P/+9//1OrVq9Udd9xh2nfv3r2qX79+ysPDQ916663qm2++MW27++67\n1dy5c9XAgQOVm5ubGjp0qMrPz6/1d1U9rqCgIPX3v/9d9e7dW3l4eKgJEyYog8FQ677Hjh1TgwYN\nUt7e3srHx0c9/PDDqrCwsM6/S3BwsPr8889r3fbCCy+ohx9+2PT8+PHjqk2bNqqoqEgppVTHjh3V\nZ599Ztr+8ssvq7i4uFrrWrRokYqOjlbl5eVKKaWWL1+uevToYXq/1qWsrEwtW7ZM9enTx/Ta7bff\nrt5++23T83//+9/qtttuU0op9csvvygnJydTjEopddddd6m33nqr1vqv/hsrpdS4ceOUn5+f8vDw\nUHfddZc6fPiwUkqpFStWKEdHR9WmTRvl6uqqRo0apR555JE635NV77+CggI1ZcoU1bFjR+Xl5aVG\njx5tauuTTz5RkZGRytPTUw0YMEAdOnSo3t9FSyAJpYns3LlTOTg4mN6YtZk7d666/fbbVV5ensrL\ny1MDBgxQc+fOVUpV/lNycHBQc+bMUaWlpaq4uFjNmzdPtW3bVu3cuVNVVFSoF154wfRBNBqN6pZb\nblF/+ctfVFlZmTpx4oTq3Lmz+vTTT5VSlR88R0dHtWXLFqWUUsXFxeq2225T7733nlJKqcuXL6uU\nlJQ6j0Wn06nDhw+ry5cvq4kTJ5ollClTppjinjNnjnriiSdUeXm5Ki8vV19//bWpnuDgYNM/e6WU\n6cMbHx+vrly5ogwGQ40P9N133638/f1NbVclxarfUfWEcnUbiYmJprLVE5VSyiyhFBQUKE9PT/Xe\ne+8po9Go1q9fr7y8vEzJ6+6771ZhYWEqPT1dFRcXq5iYGDVnzpxaf1/V4woODlbR0dEqJydH6fV6\nFRERUec/yGPHjqnPP/9clZaWqry8PHXXXXepWbNm1Vq2qm6dTqfat2+vhg4dqg4ePGjadv/996tX\nXnnFrLybm5v64YcflF6vVxqNRp07d8607aOPPlK9evWqtZ2Kigp11113qcTERHX06FHl5eWlDhw4\nUGdcSinl4eGhHBwcVKdOnVR6errZ66mpqabn+/btU25ubkoppTZt2qQiIiLM6nn66afV008/XWsb\n1RPK6tWrVVFRkSotLVWzZs0yS2RXv0+r1PWerHqfjBw5UsXFxanCwkJVVlamvvzyS6WUUj/88IPy\n9fVVqampqqKiQq1Zs0YFBwdbTLDNnZzyaiIFBQX4+PhgZ1f3n2DdunW8/PLLpnPJ8+bN49133zVt\nt7OzY/78+Tg6OtK2bVug8vz88OHD0Wg0TJo0iYMHDwLw3XffkZ+fz0svvYSDgwMhISFMnTqVDz74\nwFTfgAEDiI2NBaBt27a0adOG9PR08vPzcXZ2Jjo6utY4N27cyGOPPUb37t1xdnZm/vz5dR5TmzZt\nyMnJISMjA3t7ewYOHGjxd5WYmEi7du1wcnKqsU2j0TB58mRT23/5y1/YuHFjg05TXF3GUvnt27fT\ntWtXHn74Yezs7IiLi6Nbt26m05MajYZHH32UsLAw2rZty/jx4zlw4IDFGKrMnDkTPz8/vLy8GDVq\nVJ37hoaGMnjwYBwdHfHx8eGZZ55hz549dda7bt06Tp06xalTpxg0aBDDhg3j4sWLABQVFeHh4WFW\n3t3dnUuXLlFUVARgtr1qW200Gg1r165l6dKl3H///cyePZvIyMh6j7mwsJALFy4QFxfH+PHjTa9X\nj8vd3d0UT30xN8SUKVNwcXHB0dGRefPmcfDgQbN9G/K+qZKTk0NSUhJvvfUWHh4eODg4cOeddwKw\ncuVKpk2bxq233mp6jzo5OZGSktLg+psjSShNxNvbm/z8fLOLwNWdOXOGoKAg0/NOnTpx5swZ0/P2\n7dvTpk0bs310Op3psbOzMwaDgYqKCk6dOsWZM2fw8vIy/SxcuJBz586ZygcEBJjVtWrVKo4ePUpE\nRAT9+/dn+/bttcaZk5NDYGCgWZzVVX1Qn3/+ecLCwhg6dCihoaEsXry4zuOvcnXdlrZ36tSJsrKy\nOs+pX68zZ87UOK6goCCzv4efn5/pcbt27Uz/BBuiofvm5uYSFxdHQEAAHh4ePPLIIxQUFNRZ7+23\n346TkxPt2rVjzpw5eHp68tVXXwHg6urKhQsXzMpfuHABNzc3XF1dAUzJ5+ptdQkKCiImJoZTp07x\n1FNPWT5oKt+jixYt4ujRoxw6dMgUV/V2q+Kpvg0qE5O7u7vFtoxGI3PmzCEsLAwPDw9CQkIArvu9\nkpmZiVarrZHgAE6dOsWSJUvMPm9ZWVnk5ORcV1vNhSSUJlL1Qd+8eXOdZTp27EhGRobp+enTp+nY\nsaPpefWRJvWNPAkMDCQkJITz58+bfi5evMi2bdtM+1bfPywsjHXr1pGXl8fs2bMZN24cxcXFNeru\n0KEDp0+fNouzLq6urvz973/n+PHjbN26lddee43du3fXG7+lETXV26769u7i4sKVK1dM24xGI3l5\nedfVhr+/P6dOnTJ77dSpU/j7+9e73/WoL5Y//elP2Nvb89NPP3HhwgXefffder+U1FZ3VXLv0aOH\nqQcLcPz4cUpLS+nSpQteXl506NDBrKd08OBBevbsWWfd27dvJyUlhcGDB/PHP/6xwTEZjUYqKipw\ndnY2xVVXuz169ODEiRNmCffgwYP06NHDYjvr1q1j69atfPHFF1y4cIGTJ08Cv33Zqe33bukzpdfr\nayRlqPxi8+KLL5p93oqKipgwYYLFOJszSShNxMPDgz//+c889dRTbNmyhStXrlBWVsbOnTuZPXs2\nUDmaZcGCBeTn55Ofn8+f//znesfU19dd79+/P25ubrzyyisUFxdjNBr56aef2LdvX537vvfee6Z/\nwB4eHmg0mlpP0Y0fP5533nmHI0eOcOXKlRqnvK6ue9u2bRw7dgylFO7u7tjb25vq1Ol0HD9+vM5j\nqOuY33vvPVPbL7/8Mg8++CAajYYuXbpgMBjYsWMHZWVlLFiwgJKSklrrad++PXZ2dnW2P2LECI4e\nPcr69espLy9nw4YN/Pzzz9x33321HueNqK+eoqIiXFxccHd3Jzs7m1dffbXOspmZmezdu5fS0lIM\nBgOvvvoqBQUFptOMDz/8MJ988glff/01ly9fZu7cuYwdOxYXFxcAJk+ezIIFCygsLOTIkSP861//\nYsqUKbW2lZ+fz+OPP86qVat45513+OSTT9i5c2etZT///HMOHDiA0Wjk4sWLPPvss3Tt2pWwsDBT\nu6+99hpnzpwhOzub1157zdRuly5d6NOnD/Pnz8dgMLBp0yZ++uknxo4da+nXSlFREU5OTmi1Wi5f\nvsyf/vQns+06nc5079TVr9X1nujQoQMjRozgySefpLCwkLKyMr788ksAHn/8cd566y1SU1NRSnH5\n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\nkIYihBBCFf8B4kHB7lbai8MAAAAASUVORK5CYII=\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x639cdd0>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 31 | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment