{ "cells": [ { "cell_type": "markdown", "id": "c9d271f9", "metadata": {}, "source": [ "[Home](Home.ipynb)\n", "\n", "# Pascal's Triangle\n", "\n", "Yes, Pascal's Triangle (PT) was known to scholars in much earlier times, in China. The Tower of Hanoi, a puzzle, was not really from Hanoi. We should not treat names as always conveying lots of implicit historical facts. Names go into a namespace, as mnemonics within some API.\n", "\n", "A fascinating aspect of PT is how easy it is to generate, through addition. Addition seems the easiest algorithm in so many ways. What it does is so straightforward. However, the numbers do tend to widen out, and individual additions become huge chores, as the numbers ascend. We're glad for our computing machines at this point.\n", "\n", "Lets construct PT in the form of a Python generator. Every time we iterate through it, looping one more time, a next row will appear." ] }, { "cell_type": "code", "execution_count": 1, "id": "bade8660", "metadata": {}, "outputs": [], "source": [ "def PT():\n", " row = [1]\n", " while True:\n", " yield row\n", " row = [left + right for (left, right) \n", " in zip(row + [0], [0] + row)] # stagger the row, add" ] }, { "cell_type": "code", "execution_count": 2, "id": "04357e16", "metadata": {}, "outputs": [], "source": [ "rows = PT()" ] }, { "cell_type": "code", "execution_count": 3, "id": "562b6d69", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n", "[1, 1]\n", "[1, 2, 1]\n", "[1, 3, 3, 1]\n", "[1, 4, 6, 4, 1]\n", "[1, 5, 10, 10, 5, 1]\n", "[1, 6, 15, 20, 15, 6, 1]\n", "[1, 7, 21, 35, 35, 21, 7, 1]\n", "[1, 8, 28, 56, 70, 56, 28, 8, 1]\n", "[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]\n" ] } ], "source": [ "for _ in range(10):\n", " print(next(rows))" ] }, { "cell_type": "markdown", "id": "7794b4d4", "metadata": {}, "source": [ "One of the many famous properties of the PT is how its rows bulge in the middle, value-wise, to describe a Bell Curve, what data scientists call a Normal Distribution, the limit approached by the Binomial Distribution. \n", "\n", "As the PT row number increases, and therefore columns also, we keep rescaling our XY plot to the same grid, making it smoother, upping the resolution. The total area beneath the curve is kept at one.\n", "\n", "The curvaceous outcome of this limiting process is the Normal Distribution, also known as the Gaussian distribution.\n", "\n", "We often bring up the PT in conjunction with what's called a Galton Board. \n", "\n", "The number of pathways a ball has to a bottom slot, corresponds to the PT number in that slot. \n", "\n", "For example, a ball has 126 pathways (permutations of left and right drops) to the middle two slots of the 9th row, counting from a 0th row of ```[1]```." ] }, { "cell_type": "code", "execution_count": 4, "id": "2fc9b859", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgGCAgFBQcGBgUGCAUGBQgGCAUGBwgGBggIBgYIBQcIChALBwgaCQgGDiEOGhERHx8fBwsiJCIeJBweHx4BBQUFCAcICggIBxIIBwgSEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEh4SEhISHhISHv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAwEAAwEBAAAAAAAAAAAAAQIDCAQFBwYJ/8QAXRAAAQMDAgEGCAgKBAoFDQAAAQACAwQFEQYSIRMYIjGU1AgUMkFRVFVxBxUjUmGRscEkQnKBkqGywtHwCTNTkxZDRIKDhKPD0uElNmJz0yY0NUVkdHWkpbO04vH/xAAbAQEBAQEBAQEBAAAAAAAAAAAAAQIDBAUGB//EADERAQACAQMCAggFBQEAAAAAAAABAhEDITESQWHwBBNRU3GBkaEFIjJS0QZCweHxYv/aAAwDAQACEQMRAD8A4yREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERARffh4KGovX9Odou/cU5p+ovX9Odpu3cUHwFF9/Hgnaj9f052m7dxU80zUfr+m+03buKDn9F0DzTNR+v6b7Tdu4pzS9R+v6b7Td+4oOfkXQXNL1H6/pvtN47ip5pWo/X9N9pu/cUHPiLoPmk6k9f032m8dxUjwSNSev6b7TeO4oOe0XQvNG1J6/pvtN47gnNH1J6/prtN47gg56RdDc0XUnr+mu03juCc0XUnr+mu03juCDnlF0NzRdSev6a7TeO4KeaJqX2hprtN47gg54RdD80PUvr+mu03juCnmh6l9oaa7TeO4IOd0XQ/ND1L7Q012m8dwU80LUvr+mu03juCDndF0RzQdS+0NNdpvHcE5oOpfaGmu03juCDndF0RzQdS+0NNdpvHcFPNB1L7Q012m8dwQc7IuieaDqX2hprtN47gnNB1L7Q012m8dwQc7IuiOaDqX2hprtN47gnNB1L7Q012m8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eO/oOe0REBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf/2Q==\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"AwEaHCjgeXk\")" ] }, { "cell_type": "markdown", "id": "1cf5b484", "metadata": {}, "source": [ "Another property of PT is r is prime if and only if r, the number after 1 in each row (i.e. the rth row), evenly divides all coefficients in the same row (other than 1).\n", "\n", "For example, row 3 is ```[1, 3, 3, 1]``` and 3 divides 3 evenly. Take row 7: 7 evenly divides into ```[21, 35, 35, 21, 7]``` and so is prime also." ] }, { "cell_type": "code", "execution_count": 5, "id": "c5169fe0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pt = PT()\n", "[next(pt) for _ in range(10)] # toss\n", "row = next(pt)\n", "row" ] }, { "cell_type": "code", "execution_count": 6, "id": "50036efd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{10, 45, 120, 210, 252}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "set(row[1:-1])" ] }, { "cell_type": "code", "execution_count": 7, "id": "f134affd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "637" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(set(row[1:-1]))" ] }, { "cell_type": "code", "execution_count": 8, "id": "fea43133", "metadata": {}, "outputs": [], "source": [ "def prime_check(row):\n", " r = row[1]\n", " c = sum(row[1:-1])\n", " return not c%r # divides all evenly" ] }, { "cell_type": "code", "execution_count": 9, "id": "ff0c59b3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 341, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 561, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 645, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]\n" ] } ], "source": [ "pt = PT()\n", "primes = [ ]\n", "next(pt) # skip [1]\n", "next(pt) # skip [1, 1]\n", "for _ in range(1000):\n", " row = next(pt)\n", " if prime_check(row):\n", " primes.append(row[1])\n", "\n", "print(primes)" ] }, { "cell_type": "code", "execution_count": 10, "id": "62d080ed", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"HvMSRWTE2mI\")" ] }, { "cell_type": "code", "execution_count": 11, "id": "83397ccc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pt = PT()\n", "pt.__next__()" ] }, { "cell_type": "code", "execution_count": 12, "id": "a70b347a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1, 1]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "next(pt)" ] }, { "cell_type": "code", "execution_count": 13, "id": "a7e51c2f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 15, 105, 455, 1365, 3003, 5005, 6435, 6435, 5005, 3003, 1365, 455, 105, 15, 1]\n" ] } ], "source": [ "for row in pt:\n", " if len(row)>15:\n", " break\n", "print(row)" ] }, { "cell_type": "markdown", "id": "49af0d6f", "metadata": {}, "source": [ "Might we define PT using numpy arrays instead of ordinary Python lists?" ] }, { "cell_type": "code", "execution_count": 14, "id": "0aa994b8", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "def PT2():\n", " row = np.array([1], dtype=object)\n", " while True:\n", " yield row\n", " row = np.insert(row,0,0) + np.append(row, 0)" ] }, { "cell_type": "code", "execution_count": 15, "id": "9f47e0d3", "metadata": {}, "outputs": [], "source": [ "pt = PT2()" ] }, { "cell_type": "code", "execution_count": 16, "id": "46199881", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n", "[1 1]\n", "[1 2 1]\n", "[1 3 3 1]\n", "[1 4 6 4 1]\n", "[1 5 10 10 5 1]\n", "[1 6 15 20 15 6 1]\n", "[1 7 21 35 35 21 7 1]\n", "[1 8 28 56 70 56 28 8 1]\n", "[1 9 36 84 126 126 84 36 9 1]\n", "[1 10 45 120 210 252 210 120 45 10 1]\n", "[1 11 55 165 330 462 462 330 165 55 11 1]\n", "[1 12 66 220 495 792 924 792 495 220 66 12 1]\n" ] } ], "source": [ "for row in pt:\n", " print(row)\n", " if len(row)>12:\n", " break" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }