← numpy-100

Updated notebook

ce70d0525dc204b23ad2726c860b15714ae4ada4 · Nicolas Rougier · May 29, 2014 21:58

+84 −1055 · 1 file changed

  • README.ipynb +84 −1055
diff --git a/README.ipynb b/README.ipynb
index d0d5ad7..9798aab 100644
--- a/README.ipynb
+++ b/README.ipynb
@@ -1,7 +1,5 @@
 {
- "metadata": {
-  "signature": "sha256:c5ab63c7851c55fd5a676194657afffc9050560d49b7eea14782b955b80f4a54"
- },
+ "metadata": {},
  "nbformat": 3,
  "nbformat_minor": 0,
  "worksheets": [
@@ -68,6 +66,17 @@
       "Repository is at: <https://github.com/rougier/numpy-100>\n"
      ]
     },
+    {
+     "cell_type": "markdown",
+     "metadata": {},
+     "source": [
+      "The corresponding [IPython\n",
+      "notebook](https://github.com/rougier/numpy-100/blob/master/README.ipynb)\n",
+      "is available from the github repo, thanks to the\n",
+      "[rst2ipynb](https://github.com/esc/rst2ipynb) conversion tool by\n",
+      "[Valentin Haenel](http://haenel.co)\n"
+     ]
+    },
     {
      "cell_type": "heading",
      "level": 2,
@@ -91,8 +100,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [],
-     "prompt_number": 1
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -110,40 +118,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "1.8.1\n",
-        "atlas_threads_info:\n",
-        "  NOT AVAILABLE\n",
-        "blas_opt_info:\n",
-        "    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']\n",
-        "    extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers']\n",
-        "    define_macros = [('NO_ATLAS_INFO', 3)]\n",
-        "atlas_blas_threads_info:\n",
-        "  NOT AVAILABLE\n",
-        "openblas_info:\n",
-        "  NOT AVAILABLE\n",
-        "lapack_opt_info:\n",
-        "    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']\n",
-        "    extra_compile_args = ['-msse3']\n",
-        "    define_macros = [('NO_ATLAS_INFO', 3)]\n",
-        "atlas_info:\n",
-        "  NOT AVAILABLE\n",
-        "lapack_mkl_info:\n",
-        "  NOT AVAILABLE\n",
-        "blas_mkl_info:\n",
-        "  NOT AVAILABLE\n",
-        "atlas_blas_info:\n",
-        "  NOT AVAILABLE\n",
-        "mkl_info:\n",
-        "  NOT AVAILABLE\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -161,16 +136,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -189,16 +155,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.]\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -216,17 +173,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n",
-        " 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -244,18 +191,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[0 1 2]\n",
-        " [3 4 5]\n",
-        " [6 7 8]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -273,16 +209,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "(array([0, 1, 4]),)\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -300,18 +227,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[ 1.  0.  0.]\n",
-        " [ 0.  1.  0.]\n",
-        " [ 0.  0.  1.]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -329,20 +245,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[0 0 0 0 0]\n",
-        " [1 0 0 0 0]\n",
-        " [0 2 0 0 0]\n",
-        " [0 0 3 0 0]\n",
-        " [0 0 0 4 0]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -360,26 +263,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[[ 0.70021694  0.95083496  0.30437049]\n",
-        "  [ 0.21431207  0.31105127  0.5068161 ]\n",
-        "  [ 0.58181837  0.99693352  0.09652223]]\n",
-        "\n",
-        " [[ 0.29377124  0.79645988  0.90955378]\n",
-        "  [ 0.92912313  0.80872229  0.79051782]\n",
-        "  [ 0.62249093  0.83439699  0.95995313]]\n",
-        "\n",
-        " [[ 0.40897092  0.65822449  0.65887148]\n",
-        "  [ 0.99839327  0.41591443  0.10637997]\n",
-        "  [ 0.84581123  0.82366357  0.16914503]]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -407,23 +291,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]\n",
-        " [0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]\n",
-        " [0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]\n",
-        " [0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -443,16 +311,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "0.00129611420124 0.99762192206\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -470,23 +329,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]\n",
-        " [0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]\n",
-        " [0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]\n",
-        " [0 1 0 1 0 1 0 1]\n",
-        " [1 0 1 0 1 0 1 0]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 13
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -506,20 +349,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[ 0.82414054  0.53347021  0.27229421  0.82030074  0.63632098]\n",
-        " [ 0.47403754  0.78566293  0.          0.07140557  0.59491348]\n",
-        " [ 0.61019479  0.65576641  0.27786659  0.68939527  0.16168705]\n",
-        " [ 0.43904126  0.90618438  0.06668649  0.14611578  1.        ]\n",
-        " [ 0.49405041  0.9111222   0.73685086  0.17489323  0.95239388]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -537,20 +367,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[ 3.  3.]\n",
-        " [ 3.  3.]\n",
-        " [ 3.  3.]\n",
-        " [ 3.  3.]\n",
-        " [ 3.  3.]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -569,20 +386,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[ 0.  1.  2.  3.  4.]\n",
-        " [ 0.  1.  2.  3.  4.]\n",
-        " [ 0.  1.  2.  3.  4.]\n",
-        " [ 0.  1.  2.  3.  4.]\n",
-        " [ 0.  1.  2.  3.  4.]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 16
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -601,17 +405,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.09090909  0.18181818  0.27272727  0.36363636  0.45454545  0.54545455\n",
-        "  0.63636364  0.72727273  0.81818182  0.90909091]\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -630,17 +424,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.06704956  0.08438841  0.08667572  0.30537151  0.35700968  0.66220797\n",
-        "  0.88027037  0.88374795  0.9779146   0.98195841]\n"
-       ]
-      }
-     ],
-     "prompt_number": 18
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -660,16 +444,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "False\n"
-       ]
-      }
-     ],
-     "prompt_number": 19
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -688,16 +463,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "0.453360234095\n"
-       ]
-      }
-     ],
-     "prompt_number": 20
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -724,19 +490,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "ename": "ValueError",
-       "evalue": "assignment destination is read-only",
-       "output_type": "pyerr",
-       "traceback": [
-        "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
-        "\u001b[0;32m<ipython-input-21-6fd4c6570dd1>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mZ\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0mZ\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mflags\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwriteable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mFalse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mZ\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
-        "\u001b[0;31mValueError\u001b[0m: assignment destination is read-only"
-       ]
-      }
-     ],
-     "prompt_number": 21
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -759,19 +513,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.52257189  0.38213937  1.12648582  0.72972401  0.96450131  0.59947076\n",
-        "  1.20904375  0.63290855  0.88362902  0.77961181]\n",
-        "[ 0.62281132  0.6298261   0.61482359  0.18015421  0.25797157  1.50995739\n",
-        "  0.96329767  0.54114677  1.47538569  0.40910505]\n"
-       ]
-      }
-     ],
-     "prompt_number": 22
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -790,17 +532,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.15052552  0.69495523  0.94540327  0.69809245  0.33030241  0.\n",
-        "  0.53637513  0.14122452  0.00964067  0.77279768]\n"
-       ]
-      }
-     ],
-     "prompt_number": 23
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -821,87 +553,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[(0.0, 0.0) (0.1111111111111111, 0.0) (0.2222222222222222, 0.0)\n",
-        "  (0.3333333333333333, 0.0) (0.4444444444444444, 0.0)\n",
-        "  (0.5555555555555556, 0.0) (0.6666666666666666, 0.0)\n",
-        "  (0.7777777777777777, 0.0) (0.8888888888888888, 0.0) (1.0, 0.0)]\n",
-        " [(0.0, 0.1111111111111111) (0.1111111111111111, 0.1111111111111111)\n",
-        "  (0.2222222222222222, 0.1111111111111111)\n",
-        "  (0.3333333333333333, 0.1111111111111111)\n",
-        "  (0.4444444444444444, 0.1111111111111111)\n",
-        "  (0.5555555555555556, 0.1111111111111111)\n",
-        "  (0.6666666666666666, 0.1111111111111111)\n",
-        "  (0.7777777777777777, 0.1111111111111111)\n",
-        "  (0.8888888888888888, 0.1111111111111111) (1.0, 0.1111111111111111)]\n",
-        " [(0.0, 0.2222222222222222) (0.1111111111111111, 0.2222222222222222)\n",
-        "  (0.2222222222222222, 0.2222222222222222)\n",
-        "  (0.3333333333333333, 0.2222222222222222)\n",
-        "  (0.4444444444444444, 0.2222222222222222)\n",
-        "  (0.5555555555555556, 0.2222222222222222)\n",
-        "  (0.6666666666666666, 0.2222222222222222)\n",
-        "  (0.7777777777777777, 0.2222222222222222)\n",
-        "  (0.8888888888888888, 0.2222222222222222) (1.0, 0.2222222222222222)]\n",
-        " [(0.0, 0.3333333333333333) (0.1111111111111111, 0.3333333333333333)\n",
-        "  (0.2222222222222222, 0.3333333333333333)\n",
-        "  (0.3333333333333333, 0.3333333333333333)\n",
-        "  (0.4444444444444444, 0.3333333333333333)\n",
-        "  (0.5555555555555556, 0.3333333333333333)\n",
-        "  (0.6666666666666666, 0.3333333333333333)\n",
-        "  (0.7777777777777777, 0.3333333333333333)\n",
-        "  (0.8888888888888888, 0.3333333333333333) (1.0, 0.3333333333333333)]\n",
-        " [(0.0, 0.4444444444444444) (0.1111111111111111, 0.4444444444444444)\n",
-        "  (0.2222222222222222, 0.4444444444444444)\n",
-        "  (0.3333333333333333, 0.4444444444444444)\n",
-        "  (0.4444444444444444, 0.4444444444444444)\n",
-        "  (0.5555555555555556, 0.4444444444444444)\n",
-        "  (0.6666666666666666, 0.4444444444444444)\n",
-        "  (0.7777777777777777, 0.4444444444444444)\n",
-        "  (0.8888888888888888, 0.4444444444444444) (1.0, 0.4444444444444444)]\n",
-        " [(0.0, 0.5555555555555556) (0.1111111111111111, 0.5555555555555556)\n",
-        "  (0.2222222222222222, 0.5555555555555556)\n",
-        "  (0.3333333333333333, 0.5555555555555556)\n",
-        "  (0.4444444444444444, 0.5555555555555556)\n",
-        "  (0.5555555555555556, 0.5555555555555556)\n",
-        "  (0.6666666666666666, 0.5555555555555556)\n",
-        "  (0.7777777777777777, 0.5555555555555556)\n",
-        "  (0.8888888888888888, 0.5555555555555556) (1.0, 0.5555555555555556)]\n",
-        " [(0.0, 0.6666666666666666) (0.1111111111111111, 0.6666666666666666)\n",
-        "  (0.2222222222222222, 0.6666666666666666)\n",
-        "  (0.3333333333333333, 0.6666666666666666)\n",
-        "  (0.4444444444444444, 0.6666666666666666)\n",
-        "  (0.5555555555555556, 0.6666666666666666)\n",
-        "  (0.6666666666666666, 0.6666666666666666)\n",
-        "  (0.7777777777777777, 0.6666666666666666)\n",
-        "  (0.8888888888888888, 0.6666666666666666) (1.0, 0.6666666666666666)]\n",
-        " [(0.0, 0.7777777777777777) (0.1111111111111111, 0.7777777777777777)\n",
-        "  (0.2222222222222222, 0.7777777777777777)\n",
-        "  (0.3333333333333333, 0.7777777777777777)\n",
-        "  (0.4444444444444444, 0.7777777777777777)\n",
-        "  (0.5555555555555556, 0.7777777777777777)\n",
-        "  (0.6666666666666666, 0.7777777777777777)\n",
-        "  (0.7777777777777777, 0.7777777777777777)\n",
-        "  (0.8888888888888888, 0.7777777777777777) (1.0, 0.7777777777777777)]\n",
-        " [(0.0, 0.8888888888888888) (0.1111111111111111, 0.8888888888888888)\n",
-        "  (0.2222222222222222, 0.8888888888888888)\n",
-        "  (0.3333333333333333, 0.8888888888888888)\n",
-        "  (0.4444444444444444, 0.8888888888888888)\n",
-        "  (0.5555555555555556, 0.8888888888888888)\n",
-        "  (0.6666666666666666, 0.8888888888888888)\n",
-        "  (0.7777777777777777, 0.8888888888888888)\n",
-        "  (0.8888888888888888, 0.8888888888888888) (1.0, 0.8888888888888888)]\n",
-        " [(0.0, 1.0) (0.1111111111111111, 1.0) (0.2222222222222222, 1.0)\n",
-        "  (0.3333333333333333, 1.0) (0.4444444444444444, 1.0)\n",
-        "  (0.5555555555555556, 1.0) (0.6666666666666666, 1.0)\n",
-        "  (0.7777777777777777, 1.0) (0.8888888888888888, 1.0) (1.0, 1.0)]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 24
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -925,27 +577,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "-128\n",
-        "127\n",
-        "-2147483648\n",
-        "2147483647\n",
-        "-9223372036854775808\n",
-        "9223372036854775807\n",
-        "-3.40282e+38\n",
-        "3.40282e+38\n",
-        "1.19209e-07\n",
-        "-1.79769313486e+308\n",
-        "1.79769313486e+308\n",
-        "2.22044604925e-16\n"
-       ]
-      }
-     ],
-     "prompt_number": 25
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -968,20 +600,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[((0.0, 0.0), (0.0, 0.0, 0.0)) ((0.0, 0.0), (0.0, 0.0, 0.0))\n",
-        " ((0.0, 0.0), (0.0, 0.0, 0.0)) ((0.0, 0.0), (0.0, 0.0, 0.0))\n",
-        " ((0.0, 0.0), (0.0, 0.0, 0.0)) ((0.0, 0.0), (0.0, 0.0, 0.0))\n",
-        " ((0.0, 0.0), (0.0, 0.0, 0.0)) ((0.0, 0.0), (0.0, 0.0, 0.0))\n",
-        " ((0.0, 0.0), (0.0, 0.0, 0.0)) ((0.0, 0.0), (0.0, 0.0, 0.0))]\n"
-       ]
-      }
-     ],
-     "prompt_number": 26
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1008,45 +627,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[ 0.          0.16987428  0.31102149  0.26583413  0.12161091  0.37702606\n",
-        "   0.60918712  0.22994418  0.73836939  0.75277804]\n",
-        " [ 0.16987428  0.          0.45238913  0.24333364  0.23656138  0.22419316\n",
-        "   0.44020383  0.18661258  0.58258746  0.6961923 ]\n",
-        " [ 0.31102149  0.45238913  0.          0.35278432  0.21620973  0.59358334\n",
-        "   0.87872597  0.37145888  0.92496631  0.73163727]\n",
-        " [ 0.26583413  0.24333364  0.35278432  0.          0.19705441  0.26188998\n",
-        "   0.5682884   0.0573825   0.57244145  0.48698659]\n",
-        " [ 0.12161091  0.23656138  0.21620973  0.19705441  0.          0.39175971\n",
-        "   0.66497293  0.18703245  0.74121606  0.66903981]\n",
-        " [ 0.37702606  0.22419316  0.59358334  0.26188998  0.39175971  0.\n",
-        "   0.30859748  0.22493167  0.36151588  0.55328388]\n",
-        " [ 0.60918712  0.44020383  0.87872597  0.5682884   0.66497293  0.30859748\n",
-        "   0.          0.52524536  0.32513581  0.78334717]\n",
-        " [ 0.22994418  0.18661258  0.37145888  0.0573825   0.18703245  0.22493167\n",
-        "   0.52524536  0.          0.55794299  0.52911933]\n",
-        " [ 0.73836939  0.58258746  0.92496631  0.57244145  0.74121606  0.36151588\n",
-        "   0.32513581  0.55794299  0.          0.55390248]\n",
-        " [ 0.75277804  0.6961923   0.73163727  0.48698659  0.66903981  0.55328388\n",
-        "   0.78334717  0.52911933  0.55390248  0.        ]]\n"
-       ]
-      },
-      {
-       "ename": "AttributeError",
-       "evalue": "'module' object has no attribute 'spatial'",
-       "output_type": "pyerr",
-       "traceback": [
-        "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
-        "\u001b[0;32m<ipython-input-27-0c2de30fb39a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      7\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mscipy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      8\u001b[0m \u001b[0mZ\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0mD\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mscipy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mspatial\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdistance\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcdist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mZ\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mZ\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     10\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-        "\u001b[0;31mAttributeError\u001b[0m: 'module' object has no attribute 'spatial'"
-       ]
-      }
-     ],
-     "prompt_number": 27
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1067,35 +648,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[ 0.36787944  0.44822088  0.51979489  0.57375342  0.60279818  0.60279818\n",
-        "   0.57375342  0.51979489  0.44822088  0.36787944]\n",
-        " [ 0.44822088  0.54610814  0.63331324  0.69905581  0.73444367  0.73444367\n",
-        "   0.69905581  0.63331324  0.54610814  0.44822088]\n",
-        " [ 0.51979489  0.63331324  0.73444367  0.81068432  0.85172308  0.85172308\n",
-        "   0.81068432  0.73444367  0.63331324  0.51979489]\n",
-        " [ 0.57375342  0.69905581  0.81068432  0.89483932  0.9401382   0.9401382\n",
-        "   0.89483932  0.81068432  0.69905581  0.57375342]\n",
-        " [ 0.60279818  0.73444367  0.85172308  0.9401382   0.98773022  0.98773022\n",
-        "   0.9401382   0.85172308  0.73444367  0.60279818]\n",
-        " [ 0.60279818  0.73444367  0.85172308  0.9401382   0.98773022  0.98773022\n",
-        "   0.9401382   0.85172308  0.73444367  0.60279818]\n",
-        " [ 0.57375342  0.69905581  0.81068432  0.89483932  0.9401382   0.9401382\n",
-        "   0.89483932  0.81068432  0.69905581  0.57375342]\n",
-        " [ 0.51979489  0.63331324  0.73444367  0.81068432  0.85172308  0.85172308\n",
-        "   0.81068432  0.73444367  0.63331324  0.51979489]\n",
-        " [ 0.44822088  0.54610814  0.63331324  0.69905581  0.73444367  0.73444367\n",
-        "   0.69905581  0.63331324  0.54610814  0.44822088]\n",
-        " [ 0.36787944  0.44822088  0.51979489  0.57375342  0.60279818  0.60279818\n",
-        "   0.57375342  0.51979489  0.44822088  0.36787944]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 28
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1119,16 +672,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 1.  0.  0.  0.  2.  0.  0.  0.  3.  0.  0.  0.  4.  0.  0.  0.  5.]\n"
-       ]
-      }
-     ],
-     "prompt_number": 29
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1148,16 +692,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "0.51525684594\n"
-       ]
-      }
-     ],
-     "prompt_number": 30
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -1198,22 +733,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "ename": "IOError",
-       "evalue": "missing.dat not found.",
-       "output_type": "pyerr",
-       "traceback": [
-        "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mIOError\u001b[0m                                   Traceback (most recent call last)",
-        "\u001b[0;32m<ipython-input-31-a57209acdc11>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mZ\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgenfromtxt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"missing.dat\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdelimiter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\",\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
-        "\u001b[0;32m/usr/local/lib/python2.7/site-packages/numpy/lib/npyio.pyc\u001b[0m in \u001b[0;36mgenfromtxt\u001b[0;34m(fname, dtype, comments, delimiter, skiprows, skip_header, skip_footer, converters, missing, missing_values, filling_values, usecols, names, excludelist, deletechars, replace_space, autostrip, case_sensitive, defaultfmt, unpack, usemask, loose, invalid_raise)\u001b[0m\n\u001b[1;32m   1342\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbasestring\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1343\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mversion_info\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1344\u001b[0;31m                 \u001b[0mfhd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0miter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_datasource\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'rbU'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1345\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1346\u001b[0m                 \u001b[0mfhd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0miter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_datasource\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'rb'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-        "\u001b[0;32m/usr/local/lib/python2.7/site-packages/numpy/lib/_datasource.pyc\u001b[0m in \u001b[0;36mopen\u001b[0;34m(path, mode, destpath)\u001b[0m\n\u001b[1;32m    145\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    146\u001b[0m     \u001b[0mds\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mDataSource\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdestpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 147\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0mds\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    148\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    149\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
-        "\u001b[0;32m/usr/local/lib/python2.7/site-packages/numpy/lib/_datasource.pyc\u001b[0m in \u001b[0;36mopen\u001b[0;34m(self, path, mode)\u001b[0m\n\u001b[1;32m    494\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0m_file_openers\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mext\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfound\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    495\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m             \u001b[0;32mraise\u001b[0m \u001b[0mIOError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"%s not found.\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    497\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    498\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
-        "\u001b[0;31mIOError\u001b[0m: missing.dat not found."
-       ]
-      }
-     ],
-     "prompt_number": 31
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1235,16 +755,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9.]\n"
-       ]
-      }
-     ],
-     "prompt_number": 32
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1267,16 +778,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 3.  3.  4.  3.  3.  2.  5.  1.  2.  4.]\n"
-       ]
-      }
-     ],
-     "prompt_number": 33
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1299,16 +801,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.  7.  0.  6.  5.  0.  0.  0.  0.  3.]\n"
-       ]
-      }
-     ],
-     "prompt_number": 34
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1332,16 +825,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[0 1]\n"
-       ]
-      }
-     ],
-     "prompt_number": 35
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1361,16 +845,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "\n"
-       ]
-      }
-     ],
-     "prompt_number": 36
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1395,17 +870,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[ 0.47169995  0.41982199  0.4737244   0.53018004  0.3115647   0.62880299\n",
-        "  0.54180417  0.38041533  0.40633414  0.34868915]\n"
-       ]
-      }
-     ],
-     "prompt_number": 37
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -1440,23 +905,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[0 1 2]\n",
-        " [1 2 3]\n",
-        " [2 3 4]\n",
-        " [3 4 5]\n",
-        " [4 5 6]\n",
-        " [5 6 7]\n",
-        " [6 7 8]\n",
-        " [7 8 9]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 38
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1483,19 +932,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[(4, 23) (4, 24) (4, 37) (4, 45) (6, 50) (6, 87) (8, 32) (8, 83) (12, 17)\n",
-        " (12, 88) (16, 21) (16, 46) (16, 61) (16, 67) (17, 88) (21, 67) (23, 45)\n",
-        " (24, 37) (32, 83) (36, 38) (36, 63) (38, 63) (39, 43) (39, 70) (43, 43)\n",
-        " (43, 44) (43, 70) (46, 61) (50, 87)]\n"
-       ]
-      }
-     ],
-     "prompt_number": 39
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1517,16 +954,31 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[1 1 2 3 4 4 6]\n"
-       ]
-      }
+     "outputs": []
+    },
+    {
+     "cell_type": "markdown",
+     "metadata": {},
+     "source": [
+      "How to compute averages using a sliding window over an array ?\n"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Author: Jaime Fern\u00e1ndez del R\u00edo\n",
+      "\n",
+      "def moving_average(a, n=3) :\n",
+      "    ret = np.cumsum(a, dtype=float)\n",
+      "    ret[n:] = ret[n:] - ret[:-n]\n",
+      "    return ret[n - 1:] / n\n",
+      "Z = np.arange(20)\n",
+      "print moving_average(Z, n=3)"
      ],
-     "prompt_number": 40
+     "language": "python",
+     "metadata": {},
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -1558,35 +1010,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[2 1 1]\n",
-        " [3 0 1]\n",
-        " [3 0 2]\n",
-        " [4 1 2]\n",
-        " [1 2 2]\n",
-        " [0 2 2]\n",
-        " [2 1 0]\n",
-        " [3 1 0]\n",
-        " [2 3 3]\n",
-        " [1 4 3]]\n",
-        "[[2 1 1]\n",
-        " [3 0 1]\n",
-        " [3 0 2]\n",
-        " [4 1 2]\n",
-        " [1 2 2]\n",
-        " [0 2 2]\n",
-        " [2 1 0]\n",
-        " [3 1 0]\n",
-        " [2 3 3]\n",
-        " [1 4 3]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 41
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1612,33 +1036,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[0 0 0 0 0 0 0 0]\n",
-        " [0 0 0 0 0 0 0 1]\n",
-        " [0 0 0 0 0 0 1 0]\n",
-        " [0 0 0 0 0 0 1 1]\n",
-        " [0 0 0 0 1 1 1 1]\n",
-        " [0 0 0 1 0 0 0 0]\n",
-        " [0 0 1 0 0 0 0 0]\n",
-        " [0 1 0 0 0 0 0 0]\n",
-        " [1 0 0 0 0 0 0 0]]\n",
-        "[[0 0 0 0 0 0 0 0]\n",
-        " [0 0 0 0 0 0 0 1]\n",
-        " [0 0 0 0 0 0 1 0]\n",
-        " [0 0 0 0 0 0 1 1]\n",
-        " [0 0 0 0 1 1 1 1]\n",
-        " [0 0 0 1 0 0 0 0]\n",
-        " [0 0 1 0 0 0 0 0]\n",
-        " [0 1 0 0 0 0 0 0]\n",
-        " [1 0 0 0 0 0 0 0]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 42
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -1703,7 +1101,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "# St\u00e9fan van der Walt\n",
+      "# Author: St\u00e9fan van der Walt\n",
       "\n",
       "Z = np.arange(1,15,dtype=uint32)\n",
       "R = stride_tricks.as_strided(Z,(11,4),(4,4))\n",
@@ -1711,19 +1109,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "ename": "NameError",
-       "evalue": "name 'uint32' is not defined",
-       "output_type": "pyerr",
-       "traceback": [
-        "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
-        "\u001b[0;32m<ipython-input-43-ba0b6870ce88>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;31m# St\u00e9fan van der Walt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mZ\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m15\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0muint32\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      4\u001b[0m \u001b[0mR\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstride_tricks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_strided\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mZ\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m11\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mR\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-        "\u001b[0;31mNameError\u001b[0m: name 'uint32' is not defined"
-       ]
-      }
-     ],
-     "prompt_number": 43
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -1757,16 +1143,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[0 1 3 5 6 7]\n"
-       ]
-      }
-     ],
-     "prompt_number": 44
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -1779,7 +1156,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "# Chris Barker\n",
+      "# Author: Chris Barker\n",
       "\n",
       "Z = np.random.randint(0,5,(10,10))\n",
       "n = 3\n",
@@ -1790,277 +1167,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[[[0 4 2]\n",
-        "   [1 0 2]\n",
-        "   [4 4 4]]\n",
-        "\n",
-        "  [[4 2 1]\n",
-        "   [0 2 0]\n",
-        "   [4 4 2]]\n",
-        "\n",
-        "  [[2 1 1]\n",
-        "   [2 0 4]\n",
-        "   [4 2 1]]\n",
-        "\n",
-        "  [[1 1 4]\n",
-        "   [0 4 0]\n",
-        "   [2 1 3]]\n",
-        "\n",
-        "  [[1 4 4]\n",
-        "   [4 0 1]\n",
-        "   [1 3 2]]\n",
-        "\n",
-        "  [[4 4 3]\n",
-        "   [0 1 2]\n",
-        "   [3 2 1]]\n",
-        "\n",
-        "  [[4 3 3]\n",
-        "   [1 2 2]\n",
-        "   [2 1 4]]\n",
-        "\n",
-        "  [[3 3 2]\n",
-        "   [2 2 3]\n",
-        "   [1 4 1]]]\n",
-        "\n",
-        "\n",
-        " [[[1 0 2]\n",
-        "   [4 4 4]\n",
-        "   [3 0 2]]\n",
-        "\n",
-        "  [[0 2 0]\n",
-        "   [4 4 2]\n",
-        "   [0 2 2]]\n",
-        "\n",
-        "  [[2 0 4]\n",
-        "   [4 2 1]\n",
-        "   [2 2 3]]\n",
-        "\n",
-        "  [[0 4 0]\n",
-        "   [2 1 3]\n",
-        "   [2 3 3]]\n",
-        "\n",
-        "  [[4 0 1]\n",
-        "   [1 3 2]\n",
-        "   [3 3 4]]\n",
-        "\n",
-        "  [[0 1 2]\n",
-        "   [3 2 1]\n",
-        "   [3 4 3]]\n",
-        "\n",
-        "  [[1 2 2]\n",
-        "   [2 1 4]\n",
-        "   [4 3 0]]\n",
-        "\n",
-        "  [[2 2 3]\n",
-        "   [1 4 1]\n",
-        "   [3 0 2]]]\n",
-        "\n",
-        "\n",
-        " [[[4 4 4]\n",
-        "   [3 0 2]\n",
-        "   [0 4 3]]\n",
-        "\n",
-        "  [[4 4 2]\n",
-        "   [0 2 2]\n",
-        "   [4 3 3]]\n",
-        "\n",
-        "  [[4 2 1]\n",
-        "   [2 2 3]\n",
-        "   [3 3 4]]\n",
-        "\n",
-        "  [[2 1 3]\n",
-        "   [2 3 3]\n",
-        "   [3 4 2]]\n",
-        "\n",
-        "  [[1 3 2]\n",
-        "   [3 3 4]\n",
-        "   [4 2 1]]\n",
-        "\n",
-        "  [[3 2 1]\n",
-        "   [3 4 3]\n",
-        "   [2 1 0]]\n",
-        "\n",
-        "  [[2 1 4]\n",
-        "   [4 3 0]\n",
-        "   [1 0 3]]\n",
-        "\n",
-        "  [[1 4 1]\n",
-        "   [3 0 2]\n",
-        "   [0 3 0]]]\n",
-        "\n",
-        "\n",
-        " [[[3 0 2]\n",
-        "   [0 4 3]\n",
-        "   [3 3 4]]\n",
-        "\n",
-        "  [[0 2 2]\n",
-        "   [4 3 3]\n",
-        "   [3 4 3]]\n",
-        "\n",
-        "  [[2 2 3]\n",
-        "   [3 3 4]\n",
-        "   [4 3 2]]\n",
-        "\n",
-        "  [[2 3 3]\n",
-        "   [3 4 2]\n",
-        "   [3 2 4]]\n",
-        "\n",
-        "  [[3 3 4]\n",
-        "   [4 2 1]\n",
-        "   [2 4 0]]\n",
-        "\n",
-        "  [[3 4 3]\n",
-        "   [2 1 0]\n",
-        "   [4 0 3]]\n",
-        "\n",
-        "  [[4 3 0]\n",
-        "   [1 0 3]\n",
-        "   [0 3 0]]\n",
-        "\n",
-        "  [[3 0 2]\n",
-        "   [0 3 0]\n",
-        "   [3 0 4]]]\n",
-        "\n",
-        "\n",
-        " [[[0 4 3]\n",
-        "   [3 3 4]\n",
-        "   [2 1 4]]\n",
-        "\n",
-        "  [[4 3 3]\n",
-        "   [3 4 3]\n",
-        "   [1 4 0]]\n",
-        "\n",
-        "  [[3 3 4]\n",
-        "   [4 3 2]\n",
-        "   [4 0 1]]\n",
-        "\n",
-        "  [[3 4 2]\n",
-        "   [3 2 4]\n",
-        "   [0 1 0]]\n",
-        "\n",
-        "  [[4 2 1]\n",
-        "   [2 4 0]\n",
-        "   [1 0 4]]\n",
-        "\n",
-        "  [[2 1 0]\n",
-        "   [4 0 3]\n",
-        "   [0 4 2]]\n",
-        "\n",
-        "  [[1 0 3]\n",
-        "   [0 3 0]\n",
-        "   [4 2 4]]\n",
-        "\n",
-        "  [[0 3 0]\n",
-        "   [3 0 4]\n",
-        "   [2 4 0]]]\n",
-        "\n",
-        "\n",
-        " [[[3 3 4]\n",
-        "   [2 1 4]\n",
-        "   [3 2 4]]\n",
-        "\n",
-        "  [[3 4 3]\n",
-        "   [1 4 0]\n",
-        "   [2 4 4]]\n",
-        "\n",
-        "  [[4 3 2]\n",
-        "   [4 0 1]\n",
-        "   [4 4 4]]\n",
-        "\n",
-        "  [[3 2 4]\n",
-        "   [0 1 0]\n",
-        "   [4 4 3]]\n",
-        "\n",
-        "  [[2 4 0]\n",
-        "   [1 0 4]\n",
-        "   [4 3 3]]\n",
-        "\n",
-        "  [[4 0 3]\n",
-        "   [0 4 2]\n",
-        "   [3 3 1]]\n",
-        "\n",
-        "  [[0 3 0]\n",
-        "   [4 2 4]\n",
-        "   [3 1 0]]\n",
-        "\n",
-        "  [[3 0 4]\n",
-        "   [2 4 0]\n",
-        "   [1 0 2]]]\n",
-        "\n",
-        "\n",
-        " [[[2 1 4]\n",
-        "   [3 2 4]\n",
-        "   [0 0 4]]\n",
-        "\n",
-        "  [[1 4 0]\n",
-        "   [2 4 4]\n",
-        "   [0 4 1]]\n",
-        "\n",
-        "  [[4 0 1]\n",
-        "   [4 4 4]\n",
-        "   [4 1 3]]\n",
-        "\n",
-        "  [[0 1 0]\n",
-        "   [4 4 3]\n",
-        "   [1 3 4]]\n",
-        "\n",
-        "  [[1 0 4]\n",
-        "   [4 3 3]\n",
-        "   [3 4 1]]\n",
-        "\n",
-        "  [[0 4 2]\n",
-        "   [3 3 1]\n",
-        "   [4 1 4]]\n",
-        "\n",
-        "  [[4 2 4]\n",
-        "   [3 1 0]\n",
-        "   [1 4 0]]\n",
-        "\n",
-        "  [[2 4 0]\n",
-        "   [1 0 2]\n",
-        "   [4 0 3]]]\n",
-        "\n",
-        "\n",
-        " [[[3 2 4]\n",
-        "   [0 0 4]\n",
-        "   [4 1 2]]\n",
-        "\n",
-        "  [[2 4 4]\n",
-        "   [0 4 1]\n",
-        "   [1 2 3]]\n",
-        "\n",
-        "  [[4 4 4]\n",
-        "   [4 1 3]\n",
-        "   [2 3 4]]\n",
-        "\n",
-        "  [[4 4 3]\n",
-        "   [1 3 4]\n",
-        "   [3 4 1]]\n",
-        "\n",
-        "  [[4 3 3]\n",
-        "   [3 4 1]\n",
-        "   [4 1 3]]\n",
-        "\n",
-        "  [[3 3 1]\n",
-        "   [4 1 4]\n",
-        "   [1 3 0]]\n",
-        "\n",
-        "  [[3 1 0]\n",
-        "   [1 4 0]\n",
-        "   [3 0 0]]\n",
-        "\n",
-        "  [[1 0 2]\n",
-        "   [4 0 3]\n",
-        "   [0 0 3]]]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 45
+     "outputs": []
     },
     {
      "cell_type": "markdown",
@@ -2090,20 +1197,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[ 2 14 13  9  8]\n",
-        " [14  3  6  0 12]\n",
-        " [13  6  0 42  6]\n",
-        " [ 9  0 42  1 12]\n",
-        " [ 8 12  6 12  3]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 46
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -2151,19 +1245,7 @@
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "[[0 0 1]\n",
-        " [0 1 1]\n",
-        " [1 0 1]\n",
-        " [1 1 0]]\n"
-       ]
-      }
-     ],
-     "prompt_number": 48
+     "outputs": []
     },
     {
      "cell_type": "heading",
@@ -2172,59 +1254,6 @@
      "source": [
       "Archmaster"
      ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 47
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 47
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 47
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 47
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 47
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [],
-     "language": "python",
-     "metadata": {},
-     "outputs": []
     }
    ],
    "metadata": {}