diff --git a/notebooks/2-linear-algebra-ii.ipynb b/notebooks/2-linear-algebra-ii.ipynb new file mode 100644 index 0000000..c7ba911 --- /dev/null +++ b/notebooks/2-linear-algebra-ii.ipynb @@ -0,0 +1,6940 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "2-linear-algebra-ii.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.6" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "aTOLgsbN69-P" + }, + "source": [ + "# Linear Algebra II: Matrix Operations" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yqUB9FTRAxd-" + }, + "source": [ + "This topic, *Linear Algebra II: Matrix Operations*, builds on the basics of linear algebra. It is essential because these intermediate-level manipulations of tensors lie at the heart of most machine learning approaches and are especially predominant in deep learning. \n", + "\n", + "Through the measured exposition of theory paired with interactive examples, you’ll develop an understanding of how linear algebra is used to solve for unknown values in high-dimensional spaces as well as to reduce the dimensionality of complex spaces. The content covered in this topic is itself foundational for several other topics in the *Machine Learning Foundations* series, especially *Probability & Information Theory* and *Optimization*. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "d4tBvI88BheF" + }, + "source": [ + "Over the course of studying this topic, you'll: \n", + "\n", + "* Develop a geometric intuition of what’s going on beneath the hood of machine learning algorithms, including those used for deep learning. \n", + "* Be able to more intimately grasp the details of machine learning papers as well as all of the other subjects that underlie ML, including calculus, statistics, and optimization algorithms. \n", + "* Reduce the dimensionalty of complex spaces down to their most informative elements with techniques such as eigendecomposition, singular value decomposition, and principal component analysis." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Z68nQ0ekCYhF" + }, + "source": [ + "**Note that this Jupyter notebook is not intended to stand alone. It is the companion code to a lecture or to videos from Jon Krohn's [Machine Learning Foundations](https://github.com/jonkrohn/ML-foundations) series, which offer detail on the following:**\n", + "\n", + "*Review of Introductory Linear Algebra*\n", + "\n", + "* Modern Linear Algebra Applications\n", + "* Tensors, Vectors, and Norms\n", + "* Matrix Multiplication\n", + "* Matrix Inversion\n", + "* Identity, Diagonal and Orthogonal Matrices\n", + "\n", + "*Segment 2: Eigendecomposition*\n", + "\n", + "* Affine Transformation via Matrix Application\n", + "* Eigenvectors and Eigenvalues\n", + "* Matrix Determinants\n", + "* Matrix Decomposition \n", + "* Applications of Eigendecomposition\n", + "\n", + "*Segment 3: Matrix Operations for Machine Learning*\n", + "\n", + "* Singular Value Decomposition (SVD)\n", + "* The Moore-Penrose Pseudoinverse\n", + "* The Trace Operator\n", + "* Principal Component Analysis (PCA): A Simple Machine Learning Algorithm\n", + "* Resources for Further Study of Linear Algebra" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ty8zFJj9j3Ui" + }, + "source": [ + "## Segment 1: Review of Introductory Linear Algebra" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ixvqsCeFj3Uj" + }, + "source": [ + "import numpy as np\n", + "import torch" + ], + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "E0LgmflFj3Um" + }, + "source": [ + "### Vector Transposition" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "6enkxzMmLWtm" + }, + "source": [ + "x = np.array([25, 2, 5])\n", + "x" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "apVGqjNCLWtp" + }, + "source": [ + "x.shape" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "hvLQEylJj3Un" + }, + "source": [ + "x = np.array([[25, 2, 5]])\n", + "x" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "WE7xFVxiLWtu" + }, + "source": [ + "x.shape" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "D6XtfKZ8j3Ut" + }, + "source": [ + "x.T" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "IN1_aSVQj3Uw" + }, + "source": [ + "x.T.shape" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "K-_nrgesj3U4" + }, + "source": [ + "x_p = torch.tensor([25, 2, 5])\n", + "x_p" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "X0YuG9Pmj3U6" + }, + "source": [ + "x_p.T" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "S_bRLc5wj3U8" + }, + "source": [ + "x_p.view(3, 1) # \"view\" because we're changing output but not the way x is stored in memory" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "llPpXVPHj3U_" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "43tlq2huj3U_" + }, + "source": [ + "## $L^2$ Norm" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wF1B2qL1j3VA" + }, + "source": [ + "x" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "SW2iYHE8j3VC" + }, + "source": [ + "(25**2 + 2**2 + 5**2)**(1/2)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "BGiMFU0pj3VE" + }, + "source": [ + "np.linalg.norm(x)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3YBk8ta2j3VI" + }, + "source": [ + "So, if units in this 3-dimensional vector space are meters, then the vector $x$ has a length of 25.6m" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "jjS4_w_Rj3VI" + }, + "source": [ + "# the following line of code will fail because torch.norm() requires input to be float not integer\n", + "# torch.norm(p)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "fgadi8SFj3VK" + }, + "source": [ + "torch.norm(torch.tensor([25, 2, 5.]))" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qHti3Xslj3VM" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4xDLTPutj3VN" + }, + "source": [ + "### Matrices" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Fep93KC7j3VN" + }, + "source": [ + "X = np.array([[25, 2], [5, 26], [3, 7]])\n", + "X" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "S_yMqWdSj3VP" + }, + "source": [ + "X.shape" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "RDkn2n92j3VX" + }, + "source": [ + "X_p = torch.tensor([[25, 2], [5, 26], [3, 7]])\n", + "X_p" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "SzpKBCqKj3VY" + }, + "source": [ + "X_p.shape" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "pC1rWTlVj3Vg" + }, + "source": [ + "### Matrix Transposition" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "srh333wTj3Vg" + }, + "source": [ + "X" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "e7siMBsRj3Vi" + }, + "source": [ + "X.T" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "YF3iqTkUj3Vk" + }, + "source": [ + "X_p.T" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mXo5iD5Xj3Vm" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "loFYZ-pXj3Vm" + }, + "source": [ + "### Matrix Multiplication" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BrHCDYrzj3Vm" + }, + "source": [ + "Scalars are applied to each element of matrix:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Yf3WIZ6Jj3Vn" + }, + "source": [ + "X*3" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Pk-lY78Nj3Vp" + }, + "source": [ + "X*3+3" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "g_sJ0NI8j3Vq" + }, + "source": [ + "X_p*3" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "jebPN-iPj3Vs" + }, + "source": [ + "X_p*3+3" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-a4o6abYj3Vu" + }, + "source": [ + "Using the multiplication operator on two tensors of the same size in PyTorch (or Numpy or TensorFlow) applies element-wise operations. This is the **Hadamard product** (denoted by the $\\odot$ operator, e.g., $A \\odot B$) *not* **matrix multiplication**: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JtRT2V0cj3Vu" + }, + "source": [ + "A = np.array([[3, 4], [5, 6], [7, 8]])\n", + "A" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "LLJYG8MIj3Vw" + }, + "source": [ + "X" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "MtXoLfKbj3Vx" + }, + "source": [ + "X * A" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "8T09ZO4ij3Vz" + }, + "source": [ + "A_p = torch.tensor([[3, 4], [5, 6], [7, 8]])\n", + "A_p" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "VBadBzQJj3V1" + }, + "source": [ + "X_p * A_p" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "s_4kMhF7j3V4" + }, + "source": [ + "Matrix multiplication with a vector: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "LAJEstCLj3V5" + }, + "source": [ + "b = np.array([1, 2])\n", + "b" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZOxK6XEXj3V8" + }, + "source": [ + "np.dot(A, b) # even though technically dot products is between 2 vectors" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "0Y3Ohltbj3V-" + }, + "source": [ + "b_p = torch.tensor([1, 2])\n", + "b_p" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "LioexYZ_j3WB" + }, + "source": [ + "torch.matmul(A_p, b_p)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6Wa5CB28j3WC" + }, + "source": [ + "Matrix multiplication with two matrices:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "a8ZXM-T4j3WD" + }, + "source": [ + "B = np.array([[1, 9], [2, 0]])\n", + "B" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "xE0DA5Xrj3WF" + }, + "source": [ + "np.dot(A, B) # note first column is same as Xb" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "bBvYO9jFj3WH" + }, + "source": [ + "B_p = torch.tensor([[1, 9], [2, 0]])\n", + "B_p" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "o2nEnn3Mj3WI" + }, + "source": [ + "torch.matmul(A_p, B_p) " + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "eCFqu8LWj3WJ" + }, + "source": [ + "### Matrix Inversion" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Hhr16-XVj3WK", + "outputId": "730468af-5fb2-47c7-d6a8-de31708f9075" + }, + "source": [ + "X = np.array([[4, 2], [-5, -3]])\n", + "X" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 4, 2],\n", + " [-5, -3]])" + ] + }, + "metadata": {}, + "execution_count": 3 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "FIGmFK9oj3WM", + "outputId": "913bd1cc-6a0b-4fb4-d7d6-96615525aaff" + }, + "source": [ + "Xinv = np.linalg.inv(X)\n", + "Xinv" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 1.5, 1. ],\n", + " [-2.5, -2. ]])" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WWEFauNsj3WO", + "outputId": "94fa348a-bc23-440b-d1da-c7dfacdbd0a8" + }, + "source": [ + "y = np.array([4, -7])\n", + "y" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 4, -7])" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "egKyXcZhj3WR", + "outputId": "784e08da-5151-4c1b-be63-6388e5f91867" + }, + "source": [ + "w = np.dot(Xinv, y)\n", + "w" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-1., 4.])" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4-QHJQR5LWvF" + }, + "source": [ + "Show that $y = Xw$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "W-6jEzyRLWvG", + "outputId": "6e7fc3a5-acfa-4221-c285-31b708e38b50" + }, + "source": [ + "np.dot(X, w)" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 4., -7.])" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "jro-lItLj3WT", + "outputId": "97bc8dbe-70bb-4f98-b017-29f374a06e6c" + }, + "source": [ + "X_p = torch.tensor([[4, 2], [-5, -3.]]) # note that torch.inverse() requires floats\n", + "X_p" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[ 4., 2.],\n", + " [-5., -3.]])" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "o4HfI57Nj3WW", + "outputId": "63ab711f-b4da-48a6-98a3-53bfaf67214e" + }, + "source": [ + "Xinv_p = torch.inverse(X_p)\n", + "Xinv_p" + ], + "execution_count": 9, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[ 1.5000, 1.0000],\n", + " [-2.5000, -2.0000]])" + ] + }, + "metadata": {}, + "execution_count": 9 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "dy88LRcyj3WY", + "outputId": "35823f54-2f7b-4bb4-86d0-d8691c0723cf" + }, + "source": [ + "y_p = torch.tensor([4, -7.])\n", + "y_p" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([ 4., -7.])" + ] + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1wB3r-ggj3Wa", + "outputId": "1cea93dd-a42c-4773-95eb-a8bb6471ef06" + }, + "source": [ + "w_p = torch.matmul(Xinv_p, y_p)\n", + "w_p" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([-1., 4.])" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tksRdg5JLWvQ", + "outputId": "b4a6021a-3355-4a2d-ef53-5d5c6a9b11b3" + }, + "source": [ + "torch.matmul(X_p, w_p)" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([ 4., -7.])" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "oWXikiwFj3Wb" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "R4XpcVX2j3Wc" + }, + "source": [ + "## Segment 2: Eigendecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2vgT25z9fN_E" + }, + "source": [ + "### Affine Transformation via Matrix Application" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gLjGas2ij3Ws" + }, + "source": [ + "Let's say we have a vector $v$:" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "zZvzKGRkj3Ws", + "outputId": "b18ab56b-ba72-46ea-dcc9-0e74164b776f" + }, + "source": [ + "v = np.array([3, 1])\n", + "v" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([3, 1])" + ] + }, + "metadata": {}, + "execution_count": 3 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4UlRvHvZj3Wt" + }, + "source": [ + "Let's plot $v$ using my `plot_vectors()` function (which is based on Hadrien Jean's `plotVectors()` function from [this notebook](https://github.com/hadrienj/deepLearningBook-Notes/blob/master/2.7%20Eigendecomposition/2.7%20Eigendecomposition.ipynb), under [MIT license](https://github.com/hadrienj/deepLearningBook-Notes/blob/master/LICENSE))." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Hl54713Rj3Wt" + }, + "source": [ + "import matplotlib.pyplot as plt" + ], + "execution_count": 31, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "fmyWW7Xvj3Wu" + }, + "source": [ + "def plot_vectors(vectors, colors):\n", + " \"\"\"\n", + " Plot one or more vectors in a 2D plane, specifying a color for each. \n", + "\n", + " Arguments\n", + " ---------\n", + " vectors: list of lists or of arrays\n", + " Coordinates of the vectors to plot. For example, [[1, 3], [2, 2]] \n", + " contains two vectors to plot, [1, 3] and [2, 2].\n", + " colors: list\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " \n", + " Example\n", + " -------\n", + " plot_vectors([[1, 3], [2, 2]], ['red', 'blue'])\n", + " plt.xlim(-1, 4)\n", + " plt.ylim(-1, 4)\n", + " \"\"\"\n", + " plt.figure()\n", + " plt.axvline(x=0, color='lightgray')\n", + " plt.axhline(y=0, color='lightgray')\n", + "\n", + " for i in range(len(vectors)):\n", + " x = np.concatenate([[0,0],vectors[i]])\n", + " plt.quiver([x[0]], [x[1]], [x[2]], [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=colors[i],)" + ], + "execution_count": 33, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "8uP1xgnLj3Wx", + "outputId": "90ac4cae-f8e8-4e4b-8815-22c222907d5c" + }, + "source": [ + "plot_vectors([v], ['lightblue'])\n", + "plt.xlim(-1, 5)\n", + "_ = plt.ylim(-1, 5)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ydGgh5lRj3Wy" + }, + "source": [ + "\"Applying\" a matrix to a vector (i.e., performing matrix-vector multiplication) can linearly transform the vector, e.g, rotate it or rescale it." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ReW9fF-sj3Wy" + }, + "source": [ + "The identity matrix, introduced earlier, is the exception that proves the rule: Applying an identity matrix does not transform the vector: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0riv3SS8j3Wz", + "outputId": "4fa334d2-2c26-4904-c1bc-a6366deb579d" + }, + "source": [ + "I = np.array([[1, 0], [0, 1]])\n", + "I" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[1, 0],\n", + " [0, 1]])" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nc7nn6VDj3W0", + "outputId": "b9ab9b26-2489-4b1a-8192-d104c85575fe" + }, + "source": [ + "Iv = np.dot(I, v)\n", + "Iv" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([3, 1])" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "AXQBaq2fj3W1", + "outputId": "647beb2b-0a84-42f4-d9d8-ff245a6329c6" + }, + "source": [ + "v == Iv" + ], + "execution_count": 9, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ True, True])" + ] + }, + "metadata": {}, + "execution_count": 9 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "SP81dIksj3W3", + "outputId": "4dafd05e-6b39-4cd3-da16-d2f13d6a189d" + }, + "source": [ + "plot_vectors([Iv], ['blue'])\n", + "plt.xlim(-1, 5)\n", + "_ = plt.ylim(-1, 5)" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "knI50bEJ8UsQ" + }, + "source": [ + "In contrast, consider this matrix (let's call it $E$) that flips vectors over the $x$-axis: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "PTGnNFx48UsR", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d827c653-2e6a-464e-e4b1-a04143999764" + }, + "source": [ + "E = np.array([[1, 0], [0, -1]])\n", + "E" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 1, 0],\n", + " [ 0, -1]])" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "d6CZbgfT8UsS", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "bc085e78-d87d-45ab-c472-b2d82fce4591" + }, + "source": [ + "Ev = np.dot(E, v)\n", + "Ev" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 3, -1])" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "0hDvoi258UsS", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "acb4e1c3-98fe-420c-b9ba-794110fa047d" + }, + "source": [ + "plot_vectors([v, Ev], ['lightblue', 'blue'])\n", + "plt.xlim(-1, 5)\n", + "_ = plt.ylim(-3, 3)" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cfj26eui8UsS" + }, + "source": [ + "Or, this matrix, $F$, which flips vectors over the $y$-axis: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "E5wijvsi8UsT", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "35ebf290-154a-4068-8f1b-d3fea5118d90" + }, + "source": [ + "F = np.array([[-1, 0], [0, 1]])\n", + "F " + ], + "execution_count": 14, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1, 0],\n", + " [ 0, 1]])" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "P7tQhi2Z8UsT", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9a1403a1-28ce-40df-d899-ee30ecc2c827" + }, + "source": [ + "Fv = np.dot(F, v)\n", + "Fv" + ], + "execution_count": 15, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-3, 1])" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "xrlgyYFH8UsT", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "6632b8a0-d78f-48ce-df03-0d195261553a" + }, + "source": [ + "plot_vectors([v, Fv], ['lightblue', 'blue'])\n", + "plt.xlim(-4, 4)\n", + "_ = plt.ylim(-1, 5)" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bDVVb2Ty8UsT" + }, + "source": [ + "Applying a flipping matrix is an example of an **affine transformation**: a change in geometry that may adjust distances or angles between vectors, but preserves parallelism between them.\n", + "\n", + "In addition to flipping a matrix over an axis (a.k.a., *reflection*), other common affine transformations include:\n", + "* *Scaling* (changing the length of vectors)\n", + "* *Shearing* (example of this on the Mona Lisa coming up shortly)\n", + "* *Rotation* \n", + "\n", + "(See [here](https://stackabuse.com/affine-image-transformations-in-python-with-numpy-pillow-and-opencv/) for an outstanding blog post on affine transformations in Python, including how to apply them to images as well as vectors.)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JcdkCchSj3W4" + }, + "source": [ + "A single matrix can apply multiple affine transforms simultaneously (e.g., flip over an axis and rotate 45 degrees). As an example, let's see what happens when we apply this matrix $A$ to the vector $v$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "R-EsIE7cj3W4", + "outputId": "2f49cdf3-e233-461a-bfb3-fad494d42589" + }, + "source": [ + "A = np.array([[-1, 4], [2, -2]])\n", + "A" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1, 4],\n", + " [ 2, -2]])" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "DZ0rxeKTj3W5", + "outputId": "c2a24ecb-2056-4221-aea3-37840038a992" + }, + "source": [ + "Av = np.dot(A, v)\n", + "Av" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([1, 4])" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "RCAfNJ8hj3W7", + "outputId": "58cecec5-3854-40e8-9226-1568ad57fcfe" + }, + "source": [ + "plot_vectors([v, Av], ['lightblue', 'blue'])\n", + "plt.xlim(-1, 5)\n", + "_ = plt.ylim(-1, 5)" + ], + "execution_count": 19, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "7cMA5yMij3W8", + "outputId": "72620f7d-4b8d-425e-d43e-952a1cc39789" + }, + "source": [ + "# Another example of applying A:\n", + "v2 = np.array([2, 1])\n", + "plot_vectors([v2, np.dot(A, v2)], ['lightgreen', 'green'])\n", + "plt.xlim(-1, 5)\n", + "_ = plt.ylim(-1, 5)" + ], + "execution_count": 20, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gRqpCA6qj3W-" + }, + "source": [ + "We can concatenate several vectors together into a matrix (say, $V$), where each column is a separate vector. Then, whatever linear transformations we apply to $V$ will be independently applied to each column (vector): " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "dsRo3xPFj3W-", + "outputId": "01171bff-87b8-4408-b391-62a8f8772990" + }, + "source": [ + "v" + ], + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([3, 1])" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nQDdsKXNj3XA", + "outputId": "0ef3feb9-c0ee-4b54-9e9a-a9dc5c431e30" + }, + "source": [ + "# recall that we need to convert array to 2D to transpose into column, e.g.:\n", + "np.matrix(v).T " + ], + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "matrix([[3],\n", + " [1]])" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Zb9cSgjnj3XB" + }, + "source": [ + "v3 = np.array([-3, -1]) # mirror image of v over both axes\n", + "v4 = np.array([-1, 1])" + ], + "execution_count": 23, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "EsdcEFXYj3XC", + "outputId": "dd1a4825-e059-4f88-8826-1ece32d26866" + }, + "source": [ + "V = np.concatenate((np.matrix(v).T, \n", + " np.matrix(v2).T,\n", + " np.matrix(v3).T,\n", + " np.matrix(v4).T), \n", + " axis=1)\n", + "V" + ], + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "matrix([[ 3, 2, -3, -1],\n", + " [ 1, 1, -1, 1]])" + ] + }, + "metadata": {}, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "t3CSo0Hrj3XD", + "outputId": "19dff9be-5def-48e2-ff66-e8b70cd68bdd" + }, + "source": [ + "IV = np.dot(I, V)\n", + "IV" + ], + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "matrix([[ 3, 2, -3, -1],\n", + " [ 1, 1, -1, 1]])" + ] + }, + "metadata": {}, + "execution_count": 25 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "a6M61JEWj3XE", + "outputId": "13ef52ab-ebab-4ed9-d6fd-21523964cc95" + }, + "source": [ + "AV = np.dot(A, V)\n", + "AV" + ], + "execution_count": 26, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "matrix([[ 1, 2, -1, 5],\n", + " [ 4, 2, -4, -4]])" + ] + }, + "metadata": {}, + "execution_count": 26 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wGmvjr85j3XG" + }, + "source": [ + "# function to convert column of matrix to 1D vector: \n", + "def vectorfy(mtrx, clmn):\n", + " return np.array(mtrx[:,clmn]).reshape(-1)" + ], + "execution_count": 35, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "L2eQ4w83j3XH", + "outputId": "9d5b555e-e058-45b5-c0fe-71125a97180f" + }, + "source": [ + "vectorfy(V, 0)" + ], + "execution_count": 28, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([3, 1])" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "_o4HOgEwj3XI", + "outputId": "49661ec0-299c-4b39-874c-92d5e87bc43f" + }, + "source": [ + "vectorfy(V, 0) == v" + ], + "execution_count": 29, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ True, True])" + ] + }, + "metadata": {}, + "execution_count": 29 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "id": "btsivNB_j3XK", + "outputId": "5bd8b914-5ca2-4f18-ebd3-0d5bacbd4b7e" + }, + "source": [ + "plot_vectors([vectorfy(V, 0), vectorfy(V, 1), vectorfy(V, 2), vectorfy(V, 3),\n", + " vectorfy(AV, 0), vectorfy(AV, 1), vectorfy(AV, 2), vectorfy(AV, 3)], \n", + " ['lightblue', 'lightgreen', 'lightgray', 'orange',\n", + " 'blue', 'green', 'gray', 'red'])\n", + "plt.xlim(-4, 6)\n", + "_ = plt.ylim(-5, 5)" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EFTcb9xkf3vT" + }, + "source": [ + "Now that we can appreciate the linear transformation of vectors by matrices, let's move on to working with eigenvectors and eigenvalues...\n", + "\n", + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "et4bgYFDj3Wr" + }, + "source": [ + "### Eigenvectors and Eigenvalues" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4n31lIDpj3XL" + }, + "source": [ + "An **eigenvector** (*eigen* is German for \"typical\"; we could translate *eigenvector* to \"characteristic vector\") is a special vector $v$ such that when it is transformed by some matrix (let's say $A$), the product $Av$ has the exact same direction as $v$.\n", + "\n", + "An **eigenvalue** is a scalar (traditionally represented as $\\lambda$) that simply scales the eigenvector $v$ such that the following equation is satisfied: \n", + "\n", + "$Av = \\lambda v$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "G7zVjpW-j3XL" + }, + "source": [ + "Easiest way to understand this is to work through an example: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GbXJtk1Ej3XL", + "outputId": "2c8e2f44-a92b-461a-ddce-41453d53ca03" + }, + "source": [ + "A" + ], + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1, 4],\n", + " [ 2, -2]])" + ] + }, + "metadata": {}, + "execution_count": 31 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0t2JsM6Wj3XN" + }, + "source": [ + "Eigenvectors and eigenvalues can be derived algebraically (e.g., with the [QR algorithm](https://en.wikipedia.org/wiki/QR_algorithm), which was independently developed in the 1950s by both [Vera Kublanovskaya](https://en.wikipedia.org/wiki/Vera_Kublanovskaya) and John Francis), however this is outside scope of the *ML Foundations* series. We'll cheat with NumPy `eig()` method, which returns a tuple of: \n", + "\n", + "* a vector of eigenvalues\n", + "* a matrix of eigenvectors" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "CYWmgM7jj3XN" + }, + "source": [ + "lambdas, V = np.linalg.eig(A) " + ], + "execution_count": 32, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OVUp_p6-j3XO" + }, + "source": [ + "The matrix contains as many eigenvectors as there are columns of A: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7iHlAMa7j3XO", + "outputId": "5f8713a2-647d-4d60-bbe2-45344c9484da" + }, + "source": [ + "V # each column is a separate eigenvector v" + ], + "execution_count": 33, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.86011126, -0.76454754],\n", + " [ 0.51010647, 0.64456735]])" + ] + }, + "metadata": {}, + "execution_count": 33 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EBSmc2JLj3XP" + }, + "source": [ + "With a corresponding eigenvalue for each eigenvector:" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "QYJbCydNj3XP", + "outputId": "9ec548de-28f5-40bb-e7a6-e804b20f754b" + }, + "source": [ + "lambdas" + ], + "execution_count": 34, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 1.37228132, -4.37228132])" + ] + }, + "metadata": {}, + "execution_count": 34 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OoZPiaBMj3XR" + }, + "source": [ + "Let's confirm that $Av = \\lambda v$ for the first eigenvector: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "n1QZ57TJj3XR", + "outputId": "34d25b9e-2a2e-4de5-a0b6-7a717ca007fa" + }, + "source": [ + "v = V[:,0] \n", + "v" + ], + "execution_count": 35, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0.86011126, 0.51010647])" + ] + }, + "metadata": {}, + "execution_count": 35 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "6vwkWMiIj3XV", + "outputId": "45bcfe77-fb18-4e5e-ab48-618d6e0070e1" + }, + "source": [ + "lambduh = lambdas[0] # note that \"lambda\" is reserved term in Python\n", + "lambduh" + ], + "execution_count": 36, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.3722813232690143" + ] + }, + "metadata": {}, + "execution_count": 36 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Leh9n8QBj3XW", + "outputId": "949a96b8-f2ab-4eb6-9f9f-df523fd9048f" + }, + "source": [ + "Av = np.dot(A, v)\n", + "Av" + ], + "execution_count": 37, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([1.18031462, 0.70000958])" + ] + }, + "metadata": {}, + "execution_count": 37 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "PROIJU30j3XX", + "outputId": "0b6af564-3102-4ec0-c86b-2b5d00b2137b" + }, + "source": [ + "lambduh * v" + ], + "execution_count": 38, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([1.18031462, 0.70000958])" + ] + }, + "metadata": {}, + "execution_count": 38 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "0bT3vjoQj3XY", + "outputId": "d8a35a1c-2080-40b3-9bfe-77ff8f1f1df6" + }, + "source": [ + "plot_vectors([Av, v], ['blue', 'lightblue'])\n", + "plt.xlim(-1, 2)\n", + "_ = plt.ylim(-1, 2)" + ], + "execution_count": 39, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAD8CAYAAAB3u9PLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAWB0lEQVR4nO3daXBd5Z3n8e/fkhfJGC/YgC3bgMFACIRNYQlLSEMmhCZsDRVCZgJpupyeaSrpqXlDTbqSqXRXTbpT1VVJkemUB+jANA1Jp7M4aRPCljF0hoDNvhRgxGIbs9l4i2RZ0v3Pi3sSX9sSkn2Pda/s76fqls45z3PP8zw+V/r5nOfoKDITSZLGNboDkqTmYCBIkgADQZJUMBAkSYCBIEkqGAiSJKCEQIiIeRHxYEQ8HxHPRcRXBqkTEfGdiFgZEU9HxCn1titJKldrCfvoB/5bZj4eEVOAFRFxb2Y+X1Pn08DC4nU68A/FV0lSk6j7DCEz12bm48XyZuAFoGOnapcCt2fVI8C0iJhdb9uSpPKUcYbwBxFxOHAy8NudijqAVTXrq4tta3d6/yJgEcDkyZNPPfbYY8vsnkZJb28vABMnTmxwT6T9z4oVK97LzFl78t7SAiEiDgD+FfjLzNy0J/vIzMXAYoDOzs5cvnx5Wd3TKOrq6gJgwYIFDe6JtP+JiNf39L2l3GUUEeOphsEdmfnjQaqsAebVrM8ttkmSmkQZdxkFcAvwQmb+/RDVlgBfKO42OgPYmJlrh6grSWqAMi4ZnQX8J+CZiHiy2PbfgfkAmfk9YClwEbAS6Aa+WEK7kqQS1R0ImfkwEMPUSeAv6m1LkrT3+JvKkiTAQJAkFQwESRJgIEiSCgaCJAkwECRJBQNBkgQYCJKkgoEgSQIMBElSwUCQJAEGgiSpYCBIkgADQZJUMBAkSYCBIEkqGAiSJMBAkCQVDARJEmAgSJIKBoIkCTAQJEkFA0GSBBgIkqSCgSBJAgwESVLBQJAkASUFQkTcGhHvRMSzQ5SfFxEbI+LJ4vW1MtqVJJWntaT9fB+4Cbj9A+o8lJkXl9SeJKlkpZwhZOYyYH0Z+5IkNcZoziGcGRFPRcTdEfHhUWxXkjQCZV0yGs7jwGGZuSUiLgJ+CizcuVJELAIWAcyfP3+UuiZJglE6Q8jMTZm5pVheCoyPiJmD1FucmZ2Z2Tlr1qzR6JokqTAqgRARh0ZEFMunFe2uG422JUkjU8olo4i4EzgPmBkRq4GvA+MBMvN7wJXAf46IfqAHuDozs4y2JUnlKCUQMvNzw5TfRPW2VElSk/I3lSVJgIEgSSoYCJIkwECQJBUMBEkSYCBIkgoGgiQJMBAkSQUDQZIEGAiSpIKBIEkCDARJUsFAkCQBBoIkqWAgSJIAA0GSVDAQJEmAgSBJKhgIkiTAQJAkFQwESRJgIEiSCgaCJAkwECRJBQNBkgQYCJKkgoEgSQIMBElSoZRAiIhbI+KdiHh2iPKIiO9ExMqIeDoiTimjXUlSeco6Q/g+cOEHlH8aWFi8FgH/UFK7kqSSlBIImbkMWP8BVS4Fbs+qR4BpETG7jLYlSeUYrTmEDmBVzfrqYtsOImJRRCyPiOXvvvvuKHVNkgRNNqmcmYszszMzO2fNmtXo7kjSfmW0AmENMK9mfW6xTZLUJEYrEJYAXyjuNjoD2JiZa0epbUnSCLSWsZOIuBM4D5gZEauBrwPjATLze8BS4CJgJdANfLGMdiVJ5SklEDLzc8OUJ/AXZbQlSdo7mmpSWZLUOAaCJAkwECRJBQNBkgQYCJKkgoEgSQIMBElSwUCQJAEGgiSpYCBIkgADQZJUMBAkSYCBIEkqGAiSJMBAkCQVSvl7CJIE0NcH69bBe+9t/3rkkXDSSY3umUbCQJA0Ylu2wE03wdtvb/+BX/vDf9OmHet/+cvwmc80pq/afQaCpBE74AA4+mj4+tdh27ah602eDDffDFdfPXp9U/2cQ5C0W847D666aujyY4+FRx81DMYizxAkDatSgfvvh1tvhZ/8BHp7B6931VVwyy0wZcro9k/lMBAkDen11+Ef/7H6euONHcva2qCnp7rc2grf+hZ85SsQMfr9VDkMBEk72LoVfvrT6tnAffdB5vayCRPg8svh+uvh1VfhS1+C2bPhhz+Es89uXJ9VDgNBEgBPPlm93HPHHfD++zuWnXhiNQQ+/3mYMaO67W/+Bj7+cbjrLjj00NHvr8pnIEj7sfffh3/+5+rZwOOP71g2dWo1AK6/Hk45Zdf3fupTcOON1ctF2jd4KKX9TKUCDz5YPRv48Y93nSA+/3z40z+tXhpqaxt6Px/96N7tp0afgSDtJ954A77//eoE8Wuv7Vg2bx5cdx188YtwxBEN6JyagoEg7cN6e+FnP6teEvrVr3adIL7ssurZwAUXQEtL4/qp5lBKIETEhcC3gRbg5sz85k7l1wHfAtYUm27KzJvLaFvSrp5+unpJ6J/+Cdav37HshBO2TxDPnNmY/qk51R0IEdECfBf4JLAaeCwilmTm8ztV/UFm3lBve5IGt2ED3HlnNQhWrNixbOpUuOaa6tnAqaf6uwIaXBlnCKcBKzOzCyAi7gIuBXYOBEklyEy2DVTYNpBs7a/w+NMVlv17hZdeqdB2QIUDOlphRRsQfOIT1RC44gpob290z9XsygiEDmBVzfpq4PRB6v1JRJwLvAT818xctXOFiFgELAKYP39+CV2TxrbM5MX1W3hrSy/bBir0DlToq+SOlWbAqZ+BU4Gf/O/JdD3Rxl/9VXDdddVHT0sjNVoPt/s5cHhmfgS4F7htsEqZuTgzOzOzc9asWaPUNal5RQRHTZ9M67hgS9/ArmFQ6N4SPHTHdK45/0BefTX46782DLT7yjhDWAPMq1mfy/bJYwAyc13N6s3A35XQrrRfeOr5AZ58sZU5xw/+vOltm1s5Z+50/uM3vGlQ9SnjE/QYsDAijqAaBFcD19RWiIjZmbm2WL0EeKGEdqV91rr3K/zioR42t/Yw58g+5hw/eL15U9o4eeGBtI7zSfaqX92BkJn9EXEDcA/V205vzcznIuIbwPLMXAJ8OSIuAfqB9cB19bYr7WsqleSBR7bx7JoeDlnYw5RjoPYp0m+9Op5Dj+gDIIATDz6QI6a1E94ypJJE5uDXJButs7Mzly9f3uhuaA90dXUBsGDBggb3ZGx4ddUAv3q0h5jezcyOgR3KNr43ju61bZx3YjvzD4N7X32XttZxnD5nOjPaJjSox2pmEbEiMzv35L1edJQaYGtvsnTZVlZt6aHjmF5m1VwS6u+DN1+cxJEHtfH5syYyYXz1DOC97l4Obp/AR2dPZ2Krl4hUPgNBGkVPPN/Hw8/1MGVeDwfOr+xwN8Y7q1pp3dzGhWe2Mff4XZ8jMWXieM6aO8NLRNprDARpL1u/ocIvHtrKxnHddBzVR8dHtpf1/C5475VJnHx4O5f90XjGjRv6h/3EFs8KtHcZCNJeUKkkDz7axzOrujlk4VYOODo5oKZ89UsTOKiljYvPmcTUU/xBr+ZgIEglem31APc82gPTupnVMcD86dvLNq4bR/ebbZx7QjtXfMZvPTUfP5VSnXq3JUuX9fL65m46ju5l1oe3l/X3wZsvTWTB9HY+f/b2CWKpGRkI0h568oV+Hn62mwPm9nDgvAq1T996Z1ULLZvaufDMNuZd4R8a0NhgIEi74f2N1QniDXTTsbCPOTUTxFu7g3dXTuLEw4afIJaakYEgDaNSSf7vY3089UY3Bx+1lckLk8k15WteHs/0aOficyYx7WQniDV2GQjSEN54c4BfPtJDTu1m1twB5k/bXrZx3Th+t6aNcz/SzhUX+22kfYOfZKlG77bk7od6eW1jNx3H9DKzZoJ4oB/WvDiRw6e1c83ZE5n4MS8Jad9iIEjA0y/2s+zpbiZ39DB1boX5c7eXvbu6hdjYzqdOb+MwJ4i1DzMQtN/asKk6Qfx+Dj5B/M7KSZw4v53LPuEEsfYPBoL2K5VKsmx5H0+93s3MI7fSflRS+6eG16wcz7SsThBPd4JY+xkDQfuFVWsH+OX/62HgwB4OntfPvJqzgU3rx7FldRtnH9/GFX88vnGdlBrMQNA+a1tfdYL41Q3dzDm6l4NqJogrA7D6xYkcNqWdz507kYlneklIMhC0z3mmmCBun9PD1I4K8zu2l727pgU2tPOp09q48nIniKVaBoL2CRs3V/jFsq2sq/Qw9+htzK65JNTbE7z98iROmNfOZec5QSwNxUDQmFWpJA+v6OOJ17qZuWArbUclNXeL8ubK8RxYqU4QzzjJCWJpOAaCxpzVbw1w9296GJjSw8Hzd5wg3vz+ODatauOs45wglnaXgaAxYVtf8suHe+la38OcY7buMkG85sWJzDugjc+eO4lJZ3hJSNoTBoKa2nMv9/PrJ7tpm9PDtDkV5s/ZXvbemy3k+nb+gxPEUikMBDWdzVuSny/r4b3+HuYes/MEMbz9chvHd7Rx2ccnOEEslchAUFOoVJLfPNHHiq4eDlrQQ/uRO00QvzKeKf1tXHxOGwc5QSztFQaCGmrtOxX+7d+76ZvcwyGH7ThBvGVDsPGNds78UBtXXOQEsbS3GQgadf391QnileuqE8QzjtteVqlUJ4g72tu46uOTaDvdS0LSaDEQNGpeeKWfB57ooe3QbqbNrjB/9vaydWtbGFjXxgWd7Vx5mRPEUiOUEggRcSHwbaAFuDkzv7lT+UTgduBUYB3w2cx8rYy21dy2/K46QfxuXzFBfML2sm1b4a2XJ3Hc7HYuPWcCLS2eDUiNVHcgREQL8F3gk8Bq4LGIWJKZz9dUux54PzOPioirgb8FPltv22pem7Yk3/6XjRx0RA/tC3acIF7bNZ7JfW388dltzDrRCWKpWZRxhnAasDIzuwAi4i7gUqA2EC4F/kex/CPgpoiIzMyhdtrb20tXV1cJ3dNo2/K7rcS4Cmcet7a6ob/65yf7t7ZwYPs4TjomgE1s3gCbNzS0q5JqlPHfsw5gVc366mLboHUysx/YCBy0844iYlFELI+I5X19fSV0TY3Q2gJZCUjo7R5Hbm1l1uQJdMxqYcpkLwtJzaqpJpUzczGwGKCzszMXLFjQ4B5pT3R1dbF1UzL9wMNZeLwTxNJYUcYZwhpgXs363GLboHUiohWYSnVyWfuoaQcGCw83DKSxpIxAeAxYGBFHRMQE4GpgyU51lgDXFstXAg980PyBJGn01X3JKDP7I+IG4B6qt53empnPRcQ3gOWZuQS4Bfg/EbESWE81NCRJTaSUOYTMXAos3Wnb12qWtwJXldGWJGnv8CZwSRJgIEiSCgaCJAkwECRJBQNBkgQYCJKkgoEgSQIMBElSwUCQJAEGgiSpYCBIkgADQZJUMBAkSYCBIEkqGAiSJMBAkCQVDARJEmAgSJIKBoIkCTAQJEkFA0GSBBgIkqSCgSBJAgwESVLBQJAkAQaCJKlgIEiSgDoDISJmRMS9EfFy8XX6EPUGIuLJ4rWknjYlSXtHvWcINwL3Z+ZC4P5ifTA9mXlS8bqkzjYlSXtBvYFwKXBbsXwbcFmd+5MkNUi9gXBIZq4tlt8CDhmi3qSIWB4Rj0SEoSFJTah1uAoRcR9w6CBFX61dycyMiBxiN4dl5pqIWAA8EBHPZOYrg7S1CFgEMH/+/GE7L0kqz7CBkJkXDFUWEW9HxOzMXBsRs4F3htjHmuJrV0T8GjgZ2CUQMnMxsBigs7NzqHCRJO0F9V4yWgJcWyxfC/xs5woRMT0iJhbLM4GzgOfrbFeSVLJ6A+GbwCcj4mXggmKdiOiMiJuLOh8ClkfEU8CDwDcz00CQpCYz7CWjD5KZ64DzB9m+HPizYvk3wAn1tCNJ2vv8TWVJEmAgSJIKBoIkCTAQJEkFA0GSBBgIkqSCgSBJAgwESVLBQJAkAQaCJKlgIEiSAANBklQwECRJgIEgSSoYCJIkwECQJBUMBEkSYCBIkgoGgiQJMBAkSQUDQZIEGAiSpIKBIEkCDARJUsFAkCQBBoIkqWAgSJIAA0GSVKgrECLiqoh4LiIqEdH5AfUujIgXI2JlRNxYT5uSpL2j3jOEZ4ErgGVDVYiIFuC7wKeB44DPRcRxdbYrSSpZaz1vzswXACLig6qdBqzMzK6i7l3ApcDz9bQtSSpXXYEwQh3Aqpr11cDpg1WMiEXAomK1NyKe3ct9a6SZwHuN7sRe5PjGtn15fPvy2ACO2dM3DhsIEXEfcOggRV/NzJ/tacODyczFwOKi3eWZOeS8xFjn+MY2xzd27ctjg+r49vS9wwZCZl6wpzsvrAHm1azPLbZJkprIaNx2+hiwMCKOiIgJwNXAklFoV5K0G+q97fTyiFgNnAn8W0TcU2yfExFLATKzH7gBuAd4AfhhZj43gt0vrqdvY4DjG9sc39i1L48N6hhfZGaZHZEkjVH+prIkCTAQJEmFpgmEff0xGBExIyLujYiXi6/Th6g3EBFPFq+mn3wf7nhExMSI+EFR/tuIOHz0e7nnRjC+6yLi3Zpj9meN6OeeiIhbI+KdoX7fJ6q+U4z96Yg4ZbT7WI8RjO+8iNhYc+y+Ntp93FMRMS8iHoyI54ufm18ZpM7uH7/MbIoX8CGqv1Dxa6BziDotwCvAAmAC8BRwXKP7PsLx/R1wY7F8I/C3Q9Tb0ui+7saYhj0ewH8BvlcsXw38oNH9Lnl81wE3Nbqvezi+c4FTgGeHKL8IuBsI4Azgt43uc8njOw/4RaP7uYdjmw2cUixPAV4a5LO528evac4QMvOFzHxxmGp/eAxGZm4Dfv8YjLHgUuC2Yvk24LIG9qUsIzketeP+EXB+DPOskyYylj9vw8rMZcD6D6hyKXB7Vj0CTIuI2aPTu/qNYHxjVmauzczHi+XNVO/g7Nip2m4fv6YJhBEa7DEYO/8jNKtDMnNtsfwWcMgQ9SZFxPKIeCQimj00RnI8/lAnq7cgbwQOGpXe1W+kn7c/KU7JfxQR8wYpH6vG8vfbSJ0ZEU9FxN0R8eFGd2ZPFJdhTwZ+u1PRbh+/0XiW0R+M5mMwGuGDxle7kpkZEUPd73tYZq6JiAXAAxHxTGa+UnZfVZqfA3dmZm9EfInq2dAfNbhPGpnHqX6/bYmIi4CfAgsb3KfdEhEHAP8K/GVmbqp3f6MaCLmPPwbjg8YXEW9HxOzMXFuctr0zxD7WFF+7IuLXVJO/WQNhJMfj93VWR0QrMBVYNzrdq9uw48vM2rHcTHWuaF/R1N9v9ar9AZqZSyPif0XEzMwcEw++i4jxVMPgjsz88SBVdvv4jbVLRmP5MRhLgGuL5WuBXc6IImJ6REwslmcCZ9HcjwkfyfGoHfeVwANZzHiNAcOOb6drspdQvZa7r1gCfKG4W+UMYGPNZc8xLyIO/f18VkScRvXn4Zj4z0rR71uAFzLz74eotvvHr9Gz5TUz4pdTvcbVC7wN3FNsnwMs3Wnm/CWq/2v+aqP7vRvjOwi4H3gZuA+YUWzvBG4ulj8GPEP1bpZngOsb3e8RjGuX4wF8A7ikWJ4E/AuwEngUWNDoPpc8vv8JPFccsweBYxvd590Y253AWqCv+N67Hvhz4M+L8qD6x61eKT6Pg97916yvEYzvhppj9wjwsUb3eTfGdjaQwNPAk8XronqPn4+ukCQBY++SkSRpLzEQJEmAgSBJKhgIkiTAQJAkFQwESRJgIEiSCv8fyUno+9r6zuEAAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tKQI4691j3XZ" + }, + "source": [ + "And again for the second eigenvector of A: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "riOJuqz3j3XZ", + "outputId": "17528c78-da46-4eb7-ef3c-dfd8ec523fdb" + }, + "source": [ + "v2 = V[:,1]\n", + "v2" + ], + "execution_count": 40, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-0.76454754, 0.64456735])" + ] + }, + "metadata": {}, + "execution_count": 40 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "QveeHYhDj3Xa", + "outputId": "d50cbc5f-6407-470d-8e13-d9efaaadb77b" + }, + "source": [ + "lambda2 = lambdas[1]\n", + "lambda2" + ], + "execution_count": 41, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-4.372281323269014" + ] + }, + "metadata": {}, + "execution_count": 41 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "TDk1VoVIj3Xb", + "outputId": "c9ce2c02-4052-4645-e87f-efe05e4a9a07" + }, + "source": [ + "Av2 = np.dot(A, v2)\n", + "Av2" + ], + "execution_count": 42, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 3.34281692, -2.81822977])" + ] + }, + "metadata": {}, + "execution_count": 42 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "smlYxxgpj3Xc", + "outputId": "aeec08b3-778e-4494-800b-37c6ea04e012" + }, + "source": [ + "lambda2 * v2" + ], + "execution_count": 43, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 3.34281692, -2.81822977])" + ] + }, + "metadata": {}, + "execution_count": 43 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "3IigKHp0j3Xd", + "outputId": "e9d2c373-311d-410e-c7f8-891d4e18f8e6" + }, + "source": [ + "plot_vectors([Av, v, Av2, v2], \n", + " ['blue', 'lightblue', 'green', 'lightgreen'])\n", + "plt.xlim(-1, 4)\n", + "_ = plt.ylim(-3, 2)" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VF9uLWjOj3Xe" + }, + "source": [ + "Using the PyTorch `eig()` method, we can do exactly the same: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "EcJa6w0mj3Xe", + "outputId": "20d83499-1028-4194-8027-c7d751f35097" + }, + "source": [ + "A" + ], + "execution_count": 45, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1, 4],\n", + " [ 2, -2]])" + ] + }, + "metadata": {}, + "execution_count": 45 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "9WvCqoRij3Xf", + "outputId": "d910a3cc-af9c-4432-c293-4f549987672f" + }, + "source": [ + "A_p = torch.tensor([[-1, 4], [2, -2.]]) # must be float for PyTorch eig()\n", + "A_p" + ], + "execution_count": 46, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[-1., 4.],\n", + " [ 2., -2.]])" + ] + }, + "metadata": {}, + "execution_count": 46 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "TE1W1lykjHfW" + }, + "source": [ + "lambdas_cplx, V_cplx = torch.linalg.eig(A_p) # outputs complex numbers because real matrices can have complex eigenvectors" + ], + "execution_count": 47, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "lEIkBb8OjhTk", + "outputId": "89395731-4930-4cfe-e66f-293e28acabe9", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "V_cplx # complex-typed values with \"0.j\" imaginary part are in fact real numbers" + ], + "execution_count": 48, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[ 0.8601+0.j, -0.7645+0.j],\n", + " [ 0.5101+0.j, 0.6446+0.j]])" + ] + }, + "metadata": {}, + "execution_count": 48 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ycqfObc1pyca", + "outputId": "db185444-3e95-448b-8d4b-a49c6756bb61", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "V_p = V_cplx.float()\n", + "V_p" + ], + "execution_count": 49, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + ":1: UserWarning: Casting complex values to real discards the imaginary part (Triggered internally at ../aten/src/ATen/native/Copy.cpp:250.)\n", + " V_p = V_cplx.float()\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[ 0.8601, -0.7645],\n", + " [ 0.5101, 0.6446]])" + ] + }, + "metadata": {}, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "h9_Ri5MGntlz", + "outputId": "e21e209e-20e4-43a5-a8fb-92fdaf04f243", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "v_p = V_p[:,0]\n", + "v_p" + ], + "execution_count": 50, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([0.8601, 0.5101])" + ] + }, + "metadata": {}, + "execution_count": 50 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "cnjVvGxEqHM6", + "outputId": "343e5348-c968-476e-ee65-a3418de29488", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "lambdas_cplx" + ], + "execution_count": 51, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([ 1.3723+0.j, -4.3723+0.j])" + ] + }, + "metadata": {}, + "execution_count": 51 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "_7bIBSQuoGVk", + "outputId": "e13f67b5-baaf-4a01-ae82-1b9bdd6f1a48", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "lambdas_p = lambdas_cplx.float()\n", + "lambdas_p" + ], + "execution_count": 52, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([ 1.3723, -4.3723])" + ] + }, + "metadata": {}, + "execution_count": 52 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VrYaxNCRj3Xj", + "outputId": "b6f1202f-e364-4569-d5f5-fe289d66a81c" + }, + "source": [ + "lambda_p = lambdas_p[0]\n", + "lambda_p" + ], + "execution_count": 53, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor(1.3723)" + ] + }, + "metadata": {}, + "execution_count": 53 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "SUq1UGH7j3Xl", + "outputId": "b1b418cb-e3a8-45fe-af6c-f934032de309" + }, + "source": [ + "Av_p = torch.matmul(A_p, v_p) # matmul() expects float-typed tensors\n", + "Av_p" + ], + "execution_count": 54, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([1.1803, 0.7000])" + ] + }, + "metadata": {}, + "execution_count": 54 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "co1VNLIej3Xn", + "outputId": "0870cdc8-97f4-4f0e-8dd1-2762dd495e0f" + }, + "source": [ + "lambda_p * v_p" + ], + "execution_count": 55, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([1.1803, 0.7000])" + ] + }, + "metadata": {}, + "execution_count": 55 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1b47vG92j3Xo", + "outputId": "6ab3c30f-9f9d-476a-88ce-bb0e69cdfdd3" + }, + "source": [ + "v2_p = V_p[:,1]\n", + "v2_p" + ], + "execution_count": 56, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([-0.7645, 0.6446])" + ] + }, + "metadata": {}, + "execution_count": 56 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "B-evpW17j3Xp", + "outputId": "68c279e1-e5e1-411e-f600-de935db46883" + }, + "source": [ + "lambda2_p = lambdas_p[1]\n", + "lambda2_p" + ], + "execution_count": 57, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor(-4.3723)" + ] + }, + "metadata": {}, + "execution_count": 57 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2d5gjh2sj3Xq", + "outputId": "b10a271b-f05a-43c6-b67d-5fb931a3f78f" + }, + "source": [ + "Av2_p = torch.matmul(A_p.float(), v2_p.float())\n", + "Av2_p" + ], + "execution_count": 58, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([ 3.3428, -2.8182])" + ] + }, + "metadata": {}, + "execution_count": 58 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "8-ki3i8dj3Xr", + "outputId": "c593f0e7-8809-4235-ffb3-c28aa2490131" + }, + "source": [ + "lambda2_p.float() * v2_p.float()" + ], + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([ 3.3428, -2.8182])" + ] + }, + "metadata": {}, + "execution_count": 59 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "s2p8yb_Zj3Xs", + "outputId": "3bce30a3-761e-4302-efd3-497967e8587c" + }, + "source": [ + "plot_vectors([Av_p.numpy(), v_p.numpy(), Av2_p.numpy(), v2_p.numpy()], \n", + " ['blue', 'lightblue', 'green', 'lightgreen'])\n", + "plt.xlim(-1, 4)\n", + "_ = plt.ylim(-3, 2)" + ], + "execution_count": 60, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6-HqwyESj3Xt" + }, + "source": [ + "### Eigenvectors in >2 Dimensions" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "M01JPwToj3Xt" + }, + "source": [ + "While plotting gets trickier in higher-dimensional spaces, we can nevertheless find and use eigenvectors with more than two dimensions. Here's a 3D example (there are three dimensions handled over three rows): " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HWsBDEMgj3Xt", + "outputId": "1db25814-6e52-4c47-f4fe-f5680c6e17cb" + }, + "source": [ + "X = np.array([[25, 2, 9], [5, 26, -5], [3, 7, -1]])\n", + "X" + ], + "execution_count": 61, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[25, 2, 9],\n", + " [ 5, 26, -5],\n", + " [ 3, 7, -1]])" + ] + }, + "metadata": {}, + "execution_count": 61 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Y-uUMyRFj3Xv" + }, + "source": [ + "lambdas_X, V_X = np.linalg.eig(X) " + ], + "execution_count": 62, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "virh7GVFj3Xw", + "outputId": "c069d978-e1f7-4593-cbf4-78f7a1fec67c" + }, + "source": [ + "V_X # one eigenvector per column of X" + ], + "execution_count": 63, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.71175736, -0.6501921 , -0.34220476],\n", + " [-0.66652125, 0.74464056, 0.23789717],\n", + " [-0.22170001, 0.15086635, 0.90901091]])" + ] + }, + "metadata": {}, + "execution_count": 63 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "9yHkmEd0j3Xw", + "outputId": "92bef0c6-7888-47fc-a49c-cc6a0ff30db3" + }, + "source": [ + "lambdas_X # a corresponding eigenvalue for each eigenvector" + ], + "execution_count": 64, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([29.67623202, 20.62117365, -0.29740567])" + ] + }, + "metadata": {}, + "execution_count": 64 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Qp3qPeUxj3Xy" + }, + "source": [ + "Confirm $Xv = \\lambda v$ for an example eigenvector: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "dUEfbThhj3Xy", + "outputId": "2c4ece3a-0399-4274-c182-afb19e76c78b" + }, + "source": [ + "v_X = V_X[:,0] \n", + "v_X" + ], + "execution_count": 65, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-0.71175736, -0.66652125, -0.22170001])" + ] + }, + "metadata": {}, + "execution_count": 65 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xhnF5asDj3X0", + "outputId": "42d0c98a-7c86-4e49-b419-8bcfbf4160f5" + }, + "source": [ + "lambda_X = lambdas_X[0] \n", + "lambda_X" + ], + "execution_count": 66, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "29.676232023948902" + ] + }, + "metadata": {}, + "execution_count": 66 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "K3bA6vRzj3X1", + "outputId": "a7123feb-52ff-4f4b-8c5e-dfb12fd535f6" + }, + "source": [ + "np.dot(X, v_X) # matrix multiplication" + ], + "execution_count": 67, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-21.12227645, -19.77983919, -6.5792208 ])" + ] + }, + "metadata": {}, + "execution_count": 67 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "UfN3hk0Gj3X2", + "outputId": "5ac2faa8-149f-4e4a-ea93-5ff9df1c3ead" + }, + "source": [ + "lambda_X * v_X" + ], + "execution_count": 68, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-21.12227645, -19.77983919, -6.5792208 ])" + ] + }, + "metadata": {}, + "execution_count": 68 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VcjTZv24j3X3" + }, + "source": [ + "**Exercises**:\n", + "\n", + "1. Use PyTorch to confirm $Xv = \\lambda v$ for the first eigenvector of $X$.\n", + "2. Confirm $Xv = \\lambda v$ for the remaining eigenvectors of $X$ (you can use NumPy or PyTorch, whichever you prefer)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5z5AdeHKj3X4" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "F44cMjS8j3Wc" + }, + "source": [ + "### 2x2 Matrix Determinants" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GjsXPZEsj3Wc", + "outputId": "76ec9cea-9448-4ade-9e70-28d75f6f5393" + }, + "source": [ + "X = np.array([[4, 2], [-5, -3]])\n", + "X" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 4, 2],\n", + " [-5, -3]])" + ] + }, + "metadata": {}, + "execution_count": 3 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4tg8BDzOj3We", + "outputId": "2bf75305-7df3-49ce-c2fc-be75e2f41ef7" + }, + "source": [ + "np.linalg.det(X)" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-2.0000000000000013" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "87wpY5hUj3Wg" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "o5jp6vkNj3Wg", + "outputId": "3d057d5c-6b49-4e35-fd92-bf11d021d1dc" + }, + "source": [ + "N = np.array([[-4, 1], [-8, 2]])\n", + "N" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-4, 1],\n", + " [-8, 2]])" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ejdkdN7Lj3Wi", + "outputId": "4a15d7df-5a2a-42f6-9139-6bc2a5b20646" + }, + "source": [ + "np.linalg.det(N)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.0" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "nbIrtcaCj3Wj" + }, + "source": [ + "# Uncommenting the following line results in a \"singular matrix\" error\n", + "# Ninv = np.linalg.inv(N)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "kBT5VC5Nj3Wl" + }, + "source": [ + "N = torch.tensor([[-4, 1], [-8, 2.]]) # must use float not int" + ], + "execution_count": 7, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "MQA5g0gGj3Wm", + "outputId": "2c433a32-12e4-4ff1-abd6-e639afe351be" + }, + "source": [ + "torch.det(N) " + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor(-0.)" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "XBIJB7tfj3Wn" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rwwoY1k6j3Wn" + }, + "source": [ + "### Generalizing Determinants\n", + "* If the determinant is not 0, it means it's invertable" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "bqjRKaCaj3Wn", + "outputId": "edc93d13-f2d4-491a-f32d-92b3e6a57982" + }, + "source": [ + "X = np.array([[1, 2, 4], [2, -1, 3], [0, 5, 1]])\n", + "X" + ], + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 1, 2, 4],\n", + " [ 2, -1, 3],\n", + " [ 0, 5, 1]])" + ] + }, + "metadata": {}, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uimvv39Nj3Wp", + "outputId": "601f033c-f183-432f-d137-8effec7debf4" + }, + "source": [ + "np.linalg.det(X)" + ], + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "19.999999999999996" + ] + }, + "metadata": {}, + "execution_count": 25 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hQEG5ad1rmr2" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "code", + "source": [ + "X1 = np.array([[25,2],[3,4]])\n", + "X1" + ], + "metadata": { + "id": "_YCv5vrWA2s-", + "outputId": "0f54782c-d50c-4e98-9ad0-bcbdecb02766", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[25, 2],\n", + " [ 3, 4]])" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "code", + "source": [ + "np.linalg.det(X1)" + ], + "metadata": { + "id": "5mZFVMe0BAtV", + "outputId": "15c983a8-1093-4ea2-cc74-d36d2c6b96ba", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "94.0" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "source": [ + "Y = np.array([[-2,0],[0,-2]])\n", + "Y" + ], + "metadata": { + "id": "vkw1LoK4BETw", + "outputId": "7a89f9e4-fd05-4640-d3a0-149d266554d0", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-2, 0],\n", + " [ 0, -2]])" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "source": [ + "np.linalg.det(Y)" + ], + "metadata": { + "id": "mHOeVSiOBibT", + "outputId": "4ed38ce2-736b-45f7-99d2-9e144a7840e3", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "4.0" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "source": [ + "Z = np.array([[2,1,-3],[4,-5,2],[0,-1,3]])\n", + "Z" + ], + "metadata": { + "id": "n3vbFoRoBKST", + "outputId": "bddf7b92-5e89-4669-f164-07d1ffd3cb2c", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 15, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 2, 1, -3],\n", + " [ 4, -5, 2],\n", + " [ 0, -1, 3]])" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "source": [ + "np.linalg.det(Z)" + ], + "metadata": { + "id": "Pj8CQkOrBnUo", + "outputId": "c9e81b4f-8eea-4c8a-ddd1-f6c009bf5293", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-26.000000000000014" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "d2MIHl4MLWw0" + }, + "source": [ + "### Determinants & Eigenvalues" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "g0uEEY2qj3X6", + "outputId": "6888535b-3ac5-4d08-e58f-d44f8d012a63" + }, + "source": [ + "lambdas, V = np.linalg.eig(X)\n", + "lambdas" + ], + "execution_count": 26, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-3.25599251, -1.13863631, 5.39462882])" + ] + }, + "metadata": {}, + "execution_count": 26 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "41P8dP9Gj3X8", + "outputId": "43de1931-c1b8-4c80-fdd0-74aa50f1bedc" + }, + "source": [ + "np.product(lambdas)" + ], + "execution_count": 27, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "19.99999999999999" + ] + }, + "metadata": {}, + "execution_count": 27 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Rf83gqIULWw2" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6zNOgq7I62YA" + }, + "source": [ + "Here's $|\\text{det}(X)|$ in NumPy: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "a7Bleu07j3X-", + "outputId": "aba654e9-0d96-41d7-9e37-becd6dc5f074" + }, + "source": [ + "np.abs(np.linalg.det(X))" + ], + "execution_count": 28, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "19.999999999999996" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KZQaYZ0q7Zn2" + }, + "source": [ + "Let's use a matrix $B$, which is composed of basis vectors, to explore the impact of applying matrices with varying $|\\text{det}(X)|$ values: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "rMPe8LOXj3X_", + "outputId": "f0ce8a71-ae6d-49f4-9ca9-f9bccb1bae91" + }, + "source": [ + "B = np.array([[1, 0], [0, 1]])\n", + "B" + ], + "execution_count": 29, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[1, 0],\n", + " [0, 1]])" + ] + }, + "metadata": {}, + "execution_count": 29 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "zlhnOiNzj3YA", + "outputId": "9125388c-c8a5-4526-fc9d-72a050af947f" + }, + "source": [ + "plot_vectors([vectorfy(B, 0), vectorfy(B, 1)],\n", + " ['lightblue', 'lightgreen'])\n", + "plt.xlim(-1, 3)\n", + "_ = plt.ylim(-1, 3)" + ], + "execution_count": 36, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RIkz1gCO7_TW" + }, + "source": [ + "Let's start by applying the matrix $N$ to $B$, recalling from earlier that $N$ is singular: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Fjpem_6Ij3YB", + "outputId": "187cc78f-6bdb-4122-ef0a-62f8b34bafe1" + }, + "source": [ + "N" + ], + "execution_count": 37, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[-4., 1.],\n", + " [-8., 2.]])" + ] + }, + "metadata": {}, + "execution_count": 37 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2BhgWTvaj3YC", + "outputId": "28be2020-b80f-47e3-ade0-90ba97997078" + }, + "source": [ + "np.linalg.det(N)" + ], + "execution_count": 38, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.0" + ] + }, + "metadata": {}, + "execution_count": 38 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "O3XSySPaj3YE", + "outputId": "02efd30b-3ab6-4ac1-d8b7-7e8006fbc621" + }, + "source": [ + "NB = np.dot(N, B)\n", + "NB" + ], + "execution_count": 39, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-4., 1.],\n", + " [-8., 2.]])" + ] + }, + "metadata": {}, + "execution_count": 39 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "id": "GLiyz0nxj3YF", + "outputId": "36d3d4b9-5360-4b8b-df8f-e56ccaace21c" + }, + "source": [ + "plot_vectors([vectorfy(B, 0), vectorfy(B, 1), vectorfy(NB, 0), vectorfy(NB, 1)],\n", + " ['lightblue', 'lightgreen', 'blue', 'green'])\n", + "plt.xlim(-6, 6)\n", + "_ = plt.ylim(-9, 3)" + ], + "execution_count": 40, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "9ErYF2Ss5zZj", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "52c0599c-a3f2-4d10-cde6-2b035a1159db" + }, + "source": [ + "lambdas, V = np.linalg.eig(N)\n", + "lambdas" + ], + "execution_count": 41, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-2., 0.], dtype=float32)" + ] + }, + "metadata": {}, + "execution_count": 41 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TLwFZuuN8L78" + }, + "source": [ + "Aha! If any one of a matrix's eigenvalues is zero, then the product of the eigenvalues must be zero and the determinant must also be zero. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tT6ZmuaN8cwJ" + }, + "source": [ + "Now let's try applying $I_2$ to $B$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mqEkY-8lj3YH", + "outputId": "3b0069e2-5706-4511-bc6b-ea1484bfbf2f" + }, + "source": [ + "I = np.array([[1,0],[0,1]])\n", + "I" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[1, 0],\n", + " [0, 1]])" + ] + }, + "metadata": {}, + "execution_count": 44 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "zwmKA0wLj3YI", + "outputId": "101b5bdc-58a0-4b58-f2bc-00bf6c95b481" + }, + "source": [ + "np.linalg.det(I)" + ], + "execution_count": 45, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.0" + ] + }, + "metadata": {}, + "execution_count": 45 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xaIq_dUKj3YJ", + "outputId": "a0e9b55d-960e-467b-bc3a-acfbbc60eb05" + }, + "source": [ + "IB = np.dot(I, B)\n", + "IB" + ], + "execution_count": 46, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[1, 0],\n", + " [0, 1]])" + ] + }, + "metadata": {}, + "execution_count": 46 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "8y6svzaLj3YK", + "outputId": "7949aca9-83ef-4117-f1c9-30e4fde9cacf" + }, + "source": [ + "plot_vectors([vectorfy(B, 0), vectorfy(B, 1), vectorfy(IB, 0), vectorfy(IB, 1)],\n", + " ['lightblue', 'lightgreen', 'blue', 'green'])\n", + "plt.xlim(-1, 3)\n", + "_ = plt.ylim(-1, 3)" + ], + "execution_count": 47, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "IWkwRV_46T-q", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "746b839a-5a0b-4677-b912-a18d92254274" + }, + "source": [ + "lambdas, V = np.linalg.eig(I)\n", + "lambdas" + ], + "execution_count": 48, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([1., 1.])" + ] + }, + "metadata": {}, + "execution_count": 48 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Dfrv5ipF9Nx3" + }, + "source": [ + "All right, so applying an identity matrix isn't the most exciting operation in the world. Let's now apply this matrix $J$ which is more interesting: " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Xj4bnqVcj3YL", + "outputId": "d76e098c-f02b-4304-a4b0-0e28d88a8e2b" + }, + "source": [ + "J = np.array([[-0.5, 0], [0, 2]])\n", + "J" + ], + "execution_count": 49, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.5, 0. ],\n", + " [ 0. , 2. ]])" + ] + }, + "metadata": {}, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "D2ODTOpAj3YM", + "outputId": "5118305e-e9a1-48e6-d18c-3c5f28854fcb" + }, + "source": [ + "np.linalg.det(J)" + ], + "execution_count": 50, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-1.0" + ] + }, + "metadata": {}, + "execution_count": 50 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3kHJ7Q2Ij3YN", + "outputId": "ae40d4ad-68f3-4273-bbc4-09f0aa116f68" + }, + "source": [ + "np.abs(np.linalg.det(J))" + ], + "execution_count": 51, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.0" + ] + }, + "metadata": {}, + "execution_count": 51 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ABciINQwj3YO", + "outputId": "79e39f42-0243-47b6-e8e6-582b6a4d378a" + }, + "source": [ + "JB = np.dot(J, B)\n", + "JB" + ], + "execution_count": 52, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.5, 0. ],\n", + " [ 0. , 2. ]])" + ] + }, + "metadata": {}, + "execution_count": 52 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "5nWa22ZNj3YO", + "outputId": "51dcd6a9-37df-45d2-fbb5-5f458ca710af" + }, + "source": [ + "plot_vectors([vectorfy(B, 0), vectorfy(B, 1), vectorfy(JB, 0), vectorfy(JB, 1)],\n", + " ['lightblue', 'lightgreen', 'blue', 'green'])\n", + "plt.xlim(-1, 3)\n", + "_ = plt.ylim(-1, 3)" + ], + "execution_count": 53, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "K4GTT7Ja6azt", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "7da84802-5557-474f-ccd2-9b01db10da15" + }, + "source": [ + "lambdas, V = np.linalg.eig(J)\n", + "lambdas" + ], + "execution_count": 54, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-0.5, 2. ])" + ] + }, + "metadata": {}, + "execution_count": 54 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "b1KENtMQ9g4g" + }, + "source": [ + "Finally, let's apply the matrix $D$, which scales vectors by doubling along both the $x$ and $y$ axes: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "u-OI7xBWj3YQ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e29329c4-b540-4103-9a06-d52a74b84a1c" + }, + "source": [ + "D = I*2\n", + "D" + ], + "execution_count": 55, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2, 0],\n", + " [0, 2]])" + ] + }, + "metadata": {}, + "execution_count": 55 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "iKoTu9sbj3YR", + "outputId": "c0283c30-e97a-424b-80aa-2b12a84a851f" + }, + "source": [ + "np.linalg.det(D)" + ], + "execution_count": 56, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "4.0" + ] + }, + "metadata": {}, + "execution_count": 56 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "kTb0o2Ydj3YS", + "outputId": "810b72b8-d456-4b60-a571-2796b981d410" + }, + "source": [ + "DB = np.dot(D, B)\n", + "DB" + ], + "execution_count": 57, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2, 0],\n", + " [0, 2]])" + ] + }, + "metadata": {}, + "execution_count": 57 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "id": "3J2ou_zSj3YT", + "outputId": "75d63e4d-0e80-43be-e148-f786ad1fe266" + }, + "source": [ + "plot_vectors([vectorfy(B, 0), vectorfy(B, 1), vectorfy(DB, 0), vectorfy(DB, 1)],\n", + " ['lightblue', 'lightgreen', 'blue', 'green'])\n", + "plt.xlim(-1, 3)\n", + "_ = plt.ylim(-1, 3)" + ], + "execution_count": 58, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kTfi_wGC-QCL", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9bd80c93-777f-49e7-c001-65951464586a" + }, + "source": [ + "lambdas, V = np.linalg.eig(D)\n", + "lambdas" + ], + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([2., 2.])" + ] + }, + "metadata": {}, + "execution_count": 59 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Av0R8fddj3Yb" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MXNajp3Ej3Yb" + }, + "source": [ + "### Eigendecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "wQt403xbj3Yb" + }, + "source": [ + "The **eigendecomposition** of some matrix $A$ is \n", + "\n", + "$A = V \\Lambda V^{-1}$\n", + "\n", + "Where: \n", + "\n", + "* As in examples above, $V$ is the concatenation of all the eigenvectors of $A$\n", + "* $\\Lambda$ (upper-case $\\lambda$) is the diagonal matrix diag($\\lambda$). Note that the convention is to arrange the lambda values in descending order; as a result, the first eigenvalue (and its associated eigenvector) may be a primary characteristic of the matrix $A$." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "W7LmR3YGj3Yb", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "0506271a-af85-4a24-e592-e9a944fb0ed4" + }, + "source": [ + "# This was used earlier as a matrix X; it has nice clean integer eigenvalues...\n", + "A = np.array([[4, 2], [-5, -3]]) \n", + "A" + ], + "execution_count": 2, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 4, 2],\n", + " [-5, -3]])" + ] + }, + "metadata": {}, + "execution_count": 2 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "37zeBrqhj3Yc" + }, + "source": [ + "lambdas, V = np.linalg.eig(A)" + ], + "execution_count": 3, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "b7LtIIMJj3Yd", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f4c51a3d-8ea0-4320-c8f1-4b1c8dce30ae" + }, + "source": [ + "V" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.70710678, -0.37139068],\n", + " [-0.70710678, 0.92847669]])" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "q1uuRwcdj3Ye", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b190f9c5-2524-43ab-d2e9-c71e89c8b8d4" + }, + "source": [ + "Vinv = np.linalg.inv(V)\n", + "Vinv" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2.3570226 , 0.94280904],\n", + " [1.79505494, 1.79505494]])" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "_InHRuS1j3Yf", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b7b3f169-99e1-4036-cbce-e74685aaf823" + }, + "source": [ + "Lambda = np.diag(lambdas)\n", + "Lambda" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 2., 0.],\n", + " [ 0., -1.]])" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KSBnzTBZj3Yg" + }, + "source": [ + "Confirm that $A = V \\Lambda V^{-1}$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pG1E3yLYj3Yg", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9487df75-372c-49a3-e1df-afc573ebe44a" + }, + "source": [ + "np.dot(V, np.dot(Lambda, Vinv))" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 4., 2.],\n", + " [-5., -3.]])" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JTmKZk8fj3Yh" + }, + "source": [ + "Eigendecomposition is not possible with all matrices. And in some cases where it is possible, the eigendecomposition involves complex numbers instead of straightforward real numbers. \n", + "\n", + "In machine learning, however, we are typically working with real symmetric matrices, which can be conveniently and efficiently decomposed into real-only eigenvectors and real-only eigenvalues. If $A$ is a real symmetric matrix then...\n", + "\n", + "$A = Q \\Lambda Q^T$\n", + "\n", + "...where $Q$ is analogous to $V$ from the previous equation except that it's special because it's an orthogonal matrix. " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "GpZLd9Ozj3Yh", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5f149eed-ac63-42f6-c007-c19fae6e2591" + }, + "source": [ + "A = np.array([[2, 1], [1, 2]])\n", + "A" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2, 1],\n", + " [1, 2]])" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "EJOgExEZj3Yj" + }, + "source": [ + "lambdas, Q = np.linalg.eig(A)" + ], + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "9qouDzN5j3Yk", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "05e6716f-a04c-4ab0-ac24-9048b982c1a9" + }, + "source": [ + "lambdas" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([3., 1.])" + ] + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JZFyXQzkj3Yl", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "86d321f9-4fe9-42d9-add8-afd881e7e456" + }, + "source": [ + "Lambda = np.diag(lambdas)\n", + "Lambda" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[3., 0.],\n", + " [0., 1.]])" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "BLXaGoVBj3Yl", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f18ada6d-69c6-448f-f8fc-ef8330fba971" + }, + "source": [ + "Q" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.70710678, -0.70710678],\n", + " [ 0.70710678, 0.70710678]])" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UnOfuIf7j3Yo" + }, + "source": [ + "Let's confirm $A = Q \\Lambda Q^T$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "k4DukMWJj3Yo", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b41d3ee9-07cd-49a8-a7bb-bed8144092c9" + }, + "source": [ + "np.dot(Q, np.dot(Lambda, Q.T))" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2., 1.],\n", + " [1., 2.]])" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_eq_1nssj3Ym" + }, + "source": [ + "(As a quick aside, we can demostrate that $Q$ is an orthogonal matrix because $Q^TQ = QQ^T = I$.)" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "TcavBhdEj3Ym", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e199c346-d287-4348-b919-b4037fd18c37" + }, + "source": [ + "np.dot(Q.T, Q)" + ], + "execution_count": 14, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[1.00000000e+00, 2.23711432e-17],\n", + " [2.23711432e-17, 1.00000000e+00]])" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "xup113b8j3Yo", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ad08a3f9-d606-43c7-807b-480f469d66cf" + }, + "source": [ + "np.dot(Q, Q.T)" + ], + "execution_count": 15, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 1.00000000e+00, -2.23711432e-17],\n", + " [-2.23711432e-17, 1.00000000e+00]])" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fdJaTKnsj3Yp" + }, + "source": [ + "**Exercises**:\n", + "\n", + "1. Use PyTorch to decompose the matrix $P$ (below) into its components $V$, $\\Lambda$, and $V^{-1}$. Confirm that $P = V \\Lambda V^{-1}$.\n", + "2. Use PyTorch to decompose the symmetric matrix $S$ (below) into its components $Q$, $\\Lambda$, and $Q^T$. Confirm that $S = Q \\Lambda Q^T$." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "_RVUCVlvj3Yp", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f8bebc1c-10e7-433a-b8d5-931671d8841e" + }, + "source": [ + "P = torch.tensor([[25, 2, -5], [3, -2, 1], [5, 7, 4.]])\n", + "P" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[25., 2., -5.],\n", + " [ 3., -2., 1.],\n", + " [ 5., 7., 4.]])" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "GjKZ_AWLj3Yq", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "aeaf2159-1827-4bd0-9df1-0f1d90bd85e3" + }, + "source": [ + "S = torch.tensor([[25, 2, -5], [2, -2, 1], [-5, 1, 4.]])\n", + "S" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[25., 2., -5.],\n", + " [ 2., -2., 1.],\n", + " [-5., 1., 4.]])" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1OFq3uGaj3Yq" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gKam0tJOj3Yr" + }, + "source": [ + "## Segment 3: Matrix Operations for ML" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "j-wbn7omj3Yr" + }, + "source": [ + "### Singular Value Decomposition (SVD)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "x2SHytttj3Yr" + }, + "source": [ + "As on slides, SVD of matrix $A$ is: \n", + "\n", + "$A = UDV^T$\n", + "\n", + "Where: \n", + "\n", + "* $U$ is an orthogonal $m \\times m$ matrix; its columns are the **left-singular vectors** of $A$.\n", + "* $V$ is an orthogonal $n \\times n$ matrix; its columns are the **right-singular vectors** of $A$.\n", + "* $D$ is a diagonal $m \\times n$ matrix; elements along its diagonal are the **singular values** of $A$." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "V7hR4Htdj3Yr", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f95023ff-123f-41a6-95a4-0a9f96b271a3" + }, + "source": [ + "A = np.array([[-1, 2], [3, -2], [5, 7]])\n", + "A" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1, 2],\n", + " [ 3, -2],\n", + " [ 5, 7]])" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ihj2XfMQj3Ys" + }, + "source": [ + "U, d, VT = np.linalg.svd(A) # V is already transposed" + ], + "execution_count": 19, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "DUfP2aaTj3Yv", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "3c50e7ef-09e6-4626-a3f3-b27268c1aaf4" + }, + "source": [ + "U" + ], + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.12708324, 0.47409506, 0.87125411],\n", + " [ 0.00164602, -0.87847553, 0.47778451],\n", + " [ 0.99189069, -0.0592843 , -0.11241989]])" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "s_Fkoarvj3Yw", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5b7a9da9-175d-48a9-8994-7f94a0d4df9c" + }, + "source": [ + "VT" + ], + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.55798885, 0.82984845],\n", + " [-0.82984845, 0.55798885]])" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wNSRDcfsj3Yx", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "3f586c1f-ae68-432d-cc24-c8f9b4acafaa" + }, + "source": [ + "d" + ], + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([8.66918448, 4.10429538])" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Lbxh2rYoj3Yy", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "90198010-c369-40ba-e371-c0dd5a3c2b94" + }, + "source": [ + "np.diag(d)" + ], + "execution_count": 23, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[8.66918448, 0. ],\n", + " [0. , 4.10429538]])" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6JN2VA3GNIP5" + }, + "source": [ + "$D$ must have the same dimensions as $A$ for $UDV^T$ matrix multiplication to be possible: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "V47I3B87j3Y0", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ac46f9ea-a1d3-44c5-cceb-a91c7836b467" + }, + "source": [ + "D = np.concatenate((np.diag(d), [[0, 0]]), axis=0)\n", + "D" + ], + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[8.66918448, 0. ],\n", + " [0. , 4.10429538],\n", + " [0. , 0. ]])" + ] + }, + "metadata": {}, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "9euCs5vvj3Y2", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "3f569b47-90b7-4e38-8a00-7b42593ca906" + }, + "source": [ + "np.dot(U, np.dot(D, VT))" + ], + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1., 2.],\n", + " [ 3., -2.],\n", + " [ 5., 7.]])" + ] + }, + "metadata": {}, + "execution_count": 25 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "u-WCBOzKj3Y3" + }, + "source": [ + "SVD and eigendecomposition are closely related to each other: \n", + "\n", + "* Left-singular vectors of $A$ = eigenvectors of $AA^T$.\n", + "* Right-singular vectors of $A$ = eigenvectors of $A^TA$.\n", + "* Non-zero singular values of $A$ = square roots of eigenvalues of $AA^T$ = square roots of eigenvalues of $A^TA$\n", + "\n", + "**Exercise**: Using the matrix `P` from the preceding PyTorch exercises, demonstrate that these three SVD-eigendecomposition equations are true. " + ] + }, + { + "cell_type": "code", + "source": [ + "P = torch.tensor([[25, 2, -5], [3, -2, 1], [5, 7, 4.]])\n", + "P" + ], + "metadata": { + "id": "54OpMOoJ-OXZ", + "outputId": "28b1caed-f5db-49d5-9087-d4bc0c8757db", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 27, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[25., 2., -5.],\n", + " [ 3., -2., 1.],\n", + " [ 5., 7., 4.]])" + ] + }, + "metadata": {}, + "execution_count": 27 + } + ] + }, + { + "cell_type": "code", + "source": [ + "U, d, VT = np.linalg.svd(P)\n", + "U" + ], + "metadata": { + "id": "nfUVTDEk-Sti", + "outputId": "d9f2976e-47b1-4af9-bc40-4158c46e5d13", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 28, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.9757195 , 0.1822729 , 0.1214413 ],\n", + " [-0.09750433, 0.1350092 , -0.9860352 ],\n", + " [-0.19612318, -0.9739348 , -0.11395871]], dtype=float32)" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ] + }, + { + "cell_type": "code", + "source": [ + "VT" + ], + "metadata": { + "id": "F-QevILF-vJ7", + "outputId": "e286a35f-532e-4560-eba5-61d7c98efe39", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 29, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.98099935, -0.11960649, 0.15275636],\n", + " [ 0.01125803, -0.8211271 , -0.5706343 ],\n", + " [-0.19368395, 0.55807215, -0.8068718 ]], dtype=float32)" + ] + }, + "metadata": {}, + "execution_count": 29 + } + ] + }, + { + "cell_type": "code", + "source": [ + "d" + ], + "metadata": { + "id": "E0Gsocs1-wFK", + "outputId": "7d2154bf-7748-4d8e-907b-479e8159533f", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 30, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([26.163235, 8.187547, 2.539532], dtype=float32)" + ] + }, + "metadata": {}, + "execution_count": 30 + } + ] + }, + { + "cell_type": "code", + "source": [ + "np.diag(d)" + ], + "metadata": { + "id": "7h8qqLgL-xEo", + "outputId": "acab5ad8-0956-426c-95d7-62feef6f6072", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[26.163235, 0. , 0. ],\n", + " [ 0. , 8.187547, 0. ],\n", + " [ 0. , 0. , 2.539532]], dtype=float32)" + ] + }, + "metadata": {}, + "execution_count": 31 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "CWEOMqUUj3Y3" + }, + "source": [ + "### Image Compression via SVD" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "XmRvLo_Tj3Y3" + }, + "source": [ + "The section features code adapted from [Frank Cleary's](https://gist.github.com/frankcleary/4d2bd178708503b556b0)." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "luD8Y98Vj3Y3" + }, + "source": [ + "from PIL import Image\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ], + "execution_count": 35, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "thPmYUx4j3Y4" + }, + "source": [ + "Fetch photo of Oboe, a terrier, with the book *Deep Learning Illustrated*: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "bPUItNUVj3Y4", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5611c05d-14fa-4c02-a8a6-c8151c4c51f2" + }, + "source": [ + "! wget https://raw.githubusercontent.com/jonkrohn/DLTFpT/master/notebooks/oboe-with-book.jpg" + ], + "execution_count": 33, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "--2022-12-24 12:02:35-- https://raw.githubusercontent.com/jonkrohn/DLTFpT/master/notebooks/oboe-with-book.jpg\n", + "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...\n", + "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 419564 (410K) [image/jpeg]\n", + "Saving to: ‘oboe-with-book.jpg’\n", + "\n", + "\roboe-with-book.jpg 0%[ ] 0 --.-KB/s \roboe-with-book.jpg 100%[===================>] 409.73K --.-KB/s in 0.03s \n", + "\n", + "2022-12-24 12:02:35 (11.6 MB/s) - ‘oboe-with-book.jpg’ saved [419564/419564]\n", + "\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "6lx_Frl6j3Y6", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "7f9e0b37-916c-42ec-b9cd-b9b919dc3bc5" + }, + "source": [ + "img = Image.open('oboe-with-book.jpg')\n", + "_ = plt.imshow(img)" + ], + "execution_count": 36, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "XYmg1Fa8j3Y6" + }, + "source": [ + "Convert image to grayscale so that we don't have to deal with the complexity of multiple color channels: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "uki3S6w0j3Y7", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "c6fcb662-57c5-4d10-e3c9-5e06d6ee661e" + }, + "source": [ + "imggray = img.convert('LA')\n", + "_ = plt.imshow(imggray)" + ], + "execution_count": 37, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "eVwgrA0Jj3Y9" + }, + "source": [ + "Convert data into numpy matrix, which doesn't impact image data: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wHijyFgUj3Y9", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "7d1e91a2-ee0b-44bb-82d9-d7184abbd703" + }, + "source": [ + "imgmat = np.array(list(imggray.getdata(band=0)), float)\n", + "imgmat.shape = (imggray.size[1], imggray.size[0])\n", + "imgmat = np.matrix(imgmat)\n", + "_ = plt.imshow(imgmat, cmap='gray')" + ], + "execution_count": 38, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "x8VCD3lyj3Y-" + }, + "source": [ + "Calculate SVD of the image: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kbBLn2Csj3Y-" + }, + "source": [ + "U, sigma, V = np.linalg.svd(imgmat)" + ], + "execution_count": 39, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ApybkCdLj3Y-" + }, + "source": [ + "As eigenvalues are arranged in descending order in diag($\\lambda$) so too are singular values, by convention, arranged in descending order in $D$ (or, in this code, diag($\\sigma$)). Thus, the first left-singular vector of $U$ and first right-singular vector of $V$ may represent the most prominent feature of the image: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "rZTwlhGxj3Y_", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "c4c6f6be-99ec-49ae-f884-d699e0d73be9" + }, + "source": [ + "reconstimg = np.matrix(U[:, :1]) * np.diag(sigma[:1]) * np.matrix(V[:1, :])\n", + "_ = plt.imshow(reconstimg, cmap='gray')" + ], + "execution_count": 40, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4p2cEqIoj3Y_" + }, + "source": [ + "Additional singular vectors improve the image quality: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "f5-6LEbij3ZA", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "ad0ddbc8-46d4-4648-9679-2e401d0d0723" + }, + "source": [ + "for i in [2, 4, 8, 16, 32, 64]:\n", + " reconstimg = np.matrix(U[:, :i]) * np.diag(sigma[:i]) * np.matrix(V[:i, :])\n", + " plt.imshow(reconstimg, cmap='gray')\n", + " title = \"n = %s\" % i\n", + " plt.title(title)\n", + " plt.show()" + ], + "execution_count": 41, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "IjfUJ4wNj3ZA" + }, + "source": [ + "With 64 singular vectors, the image is reconstructed quite well, however the data footprint is much smaller than the original image:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "hXQy4TzCj3ZB", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "0ef76121-f68c-41c8-dac3-ef8aa03d79a8" + }, + "source": [ + "imgmat.shape" + ], + "execution_count": 42, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(4032, 3024)" + ] + }, + "metadata": {}, + "execution_count": 42 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "SXJtpYGeLWxz", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "0dde41c0-e9ba-47c6-fbea-124b03fee014" + }, + "source": [ + "full_representation = 4032*3024\n", + "full_representation" + ], + "execution_count": 43, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "12192768" + ] + }, + "metadata": {}, + "execution_count": 43 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vOHZXITLLWx1", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "dd90c8db-d55e-4410-cd48-fa1c7166c65e" + }, + "source": [ + "svd64_rep = 64*4032 + 64 + 64*3024\n", + "svd64_rep" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "451648" + ] + }, + "metadata": {}, + "execution_count": 44 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YwdA6taLj3ZD", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "dba1e818-daed-44d4-feb0-3ef90a094d79" + }, + "source": [ + "svd64_rep/full_representation" + ], + "execution_count": 45, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.037042286050222556" + ] + }, + "metadata": {}, + "execution_count": 45 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_HdtL8p7j3ZD" + }, + "source": [ + "Specifically, the image represented as 64 singular vectors is 3.7% of the size of the original! \n", + "\n", + "Alongside images, we can use singular vectors for dramatic, lossy compression of other types of media files." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lBQnc4uGj3ZE" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FEnTYLbBj3ZE" + }, + "source": [ + "### The Moore-Penrose Pseudoinverse" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "q4_MX4D5j3ZE" + }, + "source": [ + "Let's calculate the pseudoinverse $A^+$ of some matrix $A$ using the formula from the slides: \n", + "\n", + "$A^+ = VD^+U^T$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "gbbiRcmzj3ZE", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "1b7b7c9e-491c-4a7e-9947-afd68a01bb73" + }, + "source": [ + "A" + ], + "execution_count": 46, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1, 2],\n", + " [ 3, -2],\n", + " [ 5, 7]])" + ] + }, + "metadata": {}, + "execution_count": 46 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TFNYVdZ4j3ZF" + }, + "source": [ + "As shown earlier, the NumPy SVD method returns $U$, $d$, and $V^T$:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "I6NjgNbjj3ZF" + }, + "source": [ + "U, d, VT = np.linalg.svd(A)" + ], + "execution_count": 47, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "_sROQTAzj3ZG", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "654071cd-70e7-4706-f7e2-4e4eabcbfa35" + }, + "source": [ + "U" + ], + "execution_count": 48, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.12708324, 0.47409506, 0.87125411],\n", + " [ 0.00164602, -0.87847553, 0.47778451],\n", + " [ 0.99189069, -0.0592843 , -0.11241989]])" + ] + }, + "metadata": {}, + "execution_count": 48 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "drDSW-vkj3ZG", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "4e46e366-3342-41af-da72-2617c562318f" + }, + "source": [ + "VT" + ], + "execution_count": 49, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.55798885, 0.82984845],\n", + " [-0.82984845, 0.55798885]])" + ] + }, + "metadata": {}, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Sr3jIv4Jj3ZH", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b226d7d5-48a3-41b0-ea61-d3a658e6f205" + }, + "source": [ + "d" + ], + "execution_count": 50, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([8.66918448, 4.10429538])" + ] + }, + "metadata": {}, + "execution_count": 50 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7yalmt19j3ZI" + }, + "source": [ + "To create $D^+$, we first invert the non-zero values of $d$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "HEvRLwQfj3ZI", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a6f142b1-d6a8-4c2a-cae0-7d54071a36e1" + }, + "source": [ + "D = np.diag(d)\n", + "D" + ], + "execution_count": 51, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[8.66918448, 0. ],\n", + " [0. , 4.10429538]])" + ] + }, + "metadata": {}, + "execution_count": 51 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "6O2LADtLj3ZJ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "8e2bb50a-da80-4844-e930-45de426fadeb" + }, + "source": [ + "1/8.669" + ], + "execution_count": 52, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.11535355865728457" + ] + }, + "metadata": {}, + "execution_count": 52 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "y1ZbYtmIj3ZJ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "0a3b006c-c8bd-45c9-e4e5-351e3456b5a5" + }, + "source": [ + "1/4.104" + ], + "execution_count": 53, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.24366471734892786" + ] + }, + "metadata": {}, + "execution_count": 53 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yO1tNES9j3ZK" + }, + "source": [ + "...and then we would take the tranpose of the resulting matrix.\n", + "\n", + "Because $D$ is a diagonal matrix, this can, however, be done in a single step by inverting $D$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Y0sjcP3Ej3ZK", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "985d6ce3-52d5-4668-859e-83f2aff3de23" + }, + "source": [ + "Dinv = np.linalg.inv(D)\n", + "Dinv" + ], + "execution_count": 54, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.1153511 , 0. ],\n", + " [0. , 0.24364718]])" + ] + }, + "metadata": {}, + "execution_count": 54 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "PXJnvna-j3ZM" + }, + "source": [ + "$D^+$ must have the same dimensions as $A^T$ in order for $VD^+U^T$ matrix multiplication to be possible: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Ydq0zJHNRZPy", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "37fe96f1-cdac-4885-8d33-c8e2b8ceeede" + }, + "source": [ + "Dplus = np.concatenate((Dinv, np.array([[0, 0]]).T), axis=1)\n", + "Dplus" + ], + "execution_count": 55, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.1153511 , 0. , 0. ],\n", + " [0. , 0.24364718, 0. ]])" + ] + }, + "metadata": {}, + "execution_count": 55 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zFgtoJUKSRg1" + }, + "source": [ + "(Recall $D$ must have the same dimensions as $A$ for SVD's $UDV^T$, but for MPP $U$ and $V$ have swapped sides around the diagonal matrix.)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6Xt4NYHuj3ZO" + }, + "source": [ + "Now we have everything we need to calculate $A^+$ with $VD^+U^T$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZtWN_wnij3ZO", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f17e6e54-958c-47cc-ea86-a8d5dfee6b32" + }, + "source": [ + "np.dot(VT.T, np.dot(Dplus, U.T))" + ], + "execution_count": 56, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.08767773, 0.17772512, 0.07582938],\n", + " [ 0.07661927, -0.1192733 , 0.08688784]])" + ] + }, + "metadata": {}, + "execution_count": 56 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3syT7-hCj3ZP" + }, + "source": [ + "Working out this derivation is helpful for understanding how Moore-Penrose pseudoinverses work, but unsurprisingly NumPy is loaded with an existing method `pinv()`: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "fh0nDMeLj3ZP", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ca18adf9-231c-4bc6-9090-6a84f7b070b9" + }, + "source": [ + "np.linalg.pinv(A)" + ], + "execution_count": 57, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.08767773, 0.17772512, 0.07582938],\n", + " [ 0.07661927, -0.1192733 , 0.08688784]])" + ] + }, + "metadata": {}, + "execution_count": 57 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xNrIfpAij3ZS" + }, + "source": [ + "**Exercise** \n", + "\n", + "Use the `torch.svd()` method to calculate the pseudoinverse of `A_p`, confirming that your result matches the output of `torch.pinverse(A_p)`: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "W2635vlEj3ZS", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "fdedad1b-8ee4-4b52-a5e7-6bedc6c816ec" + }, + "source": [ + "A_p = torch.tensor([[-1, 2], [3, -2], [5, 7.]])\n", + "A_p" + ], + "execution_count": 58, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[-1., 2.],\n", + " [ 3., -2.],\n", + " [ 5., 7.]])" + ] + }, + "metadata": {}, + "execution_count": 58 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZW4SsUOlj3ZT", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c3ed9de6-f0b2-42d8-a489-015e35f8aa12" + }, + "source": [ + "torch.pinverse(A_p)" + ], + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[-0.0877, 0.1777, 0.0758],\n", + " [ 0.0766, -0.1193, 0.0869]])" + ] + }, + "metadata": {}, + "execution_count": 59 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KlXBgI3Nj3ZT" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xMnIqjpfj3ZT" + }, + "source": [ + "For regression problems, we typically have many more cases ($n$, or rows of $X$) than features to predict (columns of $X$). Let's solve a miniature example of such an overdetermined situation. \n", + "\n", + "We have eight data points ($n$ = 8): " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "2Ft4PXaTj3ZU" + }, + "source": [ + "x1 = [0, 1, 2, 3, 4, 5, 6, 7.] # E.g.: Dosage of drug for treating Alzheimer's disease\n", + "y = [1.86, 1.31, .62, .33, .09, -.67, -1.23, -1.37] # E.g.: Patient's \"forgetfulness score\"" + ], + "execution_count": 60, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "HaoEgLTzLWyH" + }, + "source": [ + "title = 'Clinical Trial'\n", + "xlabel = 'Drug dosage (mL)'\n", + "ylabel = 'Forgetfulness'" + ], + "execution_count": 61, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "OiMAISFBj3ZW", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 295 + }, + "outputId": "ae9f03a5-decb-4638-d85b-a711b35fae69" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.title(title)\n", + "plt.xlabel(xlabel)\n", + "plt.ylabel(ylabel)\n", + "_ = ax.scatter(x1, y)" + ], + "execution_count": 62, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GWZUFeqzj3ZX" + }, + "source": [ + "Although it appears there is only one predictor ($x_1$), our model requires a second one (let's call it $x_0$) in order to allow for a $y$-intercept. Without this second variable, the line we fit to the plot would need to pass through the origin (0, 0). The $y$-intercept is constant across all the points so we can set it equal to `1` across the board:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "RpAIoxydj3ZX", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "0e2e1aa2-3ea7-4753-967d-c0dfafbfe66e" + }, + "source": [ + "x0 = np.ones(8)\n", + "x0" + ], + "execution_count": 63, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([1., 1., 1., 1., 1., 1., 1., 1.])" + ] + }, + "metadata": {}, + "execution_count": 63 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_bkwC8Wnj3ZY" + }, + "source": [ + "Concatenate $x_0$ and $x_1$ into a matrix $X$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "x56TMNFMj3ZY", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "cb3590ff-ee8c-499b-98e9-8503099ad596" + }, + "source": [ + "X = np.concatenate((np.matrix(x0).T, np.matrix(x1).T), axis=1)\n", + "X" + ], + "execution_count": 64, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "matrix([[1., 0.],\n", + " [1., 1.],\n", + " [1., 2.],\n", + " [1., 3.],\n", + " [1., 4.],\n", + " [1., 5.],\n", + " [1., 6.],\n", + " [1., 7.]])" + ] + }, + "metadata": {}, + "execution_count": 64 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "v7TomkyCj3ZY" + }, + "source": [ + "From the slides, we know that we can calculate the weights $w$ using the equation $w = X^+y$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "iRYhw-N0j3ZZ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9c5491e6-56c7-450c-f19f-55d57d0fa351" + }, + "source": [ + "w = np.dot(np.linalg.pinv(X), y)\n", + "w" + ], + "execution_count": 65, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "matrix([[ 1.76 , -0.46928571]])" + ] + }, + "metadata": {}, + "execution_count": 65 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "N2SoGsRNj3ZZ" + }, + "source": [ + "The first weight corresponds to the $y$-intercept of the line, which is typically denoted as $b$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "nLvuVmBGj3ZZ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "2fbf776a-1c8e-496c-db27-a45dd923536f" + }, + "source": [ + "b = np.asarray(w).reshape(-1)[0]\n", + "b" + ], + "execution_count": 66, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.7599999999999985" + ] + }, + "metadata": {}, + "execution_count": 66 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "96XCC8Z-j3Za" + }, + "source": [ + "While the second weight corresponds to the slope of the line, which is typically denoted as $m$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "HHTNUSJCj3Za", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e2e2b027-5f5c-4ae6-9ec4-8835c15ee094" + }, + "source": [ + "m = np.asarray(w).reshape(-1)[1]\n", + "m" + ], + "execution_count": 67, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-0.4692857142857139" + ] + }, + "metadata": {}, + "execution_count": 67 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lvGCTZRqj3Zc" + }, + "source": [ + "With the weights we can plot the line to confirm it fits the points: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "q9SAiUyej3Zc", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 295 + }, + "outputId": "7aa87d93-a344-4d7e-8bc2-79d11259370d" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "plt.title(title)\n", + "plt.xlabel(xlabel)\n", + "plt.ylabel(ylabel)\n", + "\n", + "ax.scatter(x1, y)\n", + "\n", + "x_min, x_max = ax.get_xlim()\n", + "y_at_xmin = m*x_min + b\n", + "y_at_xmax = m*x_max + b\n", + "\n", + "ax.set_xlim([x_min, x_max])\n", + "_ = ax.plot([x_min, x_max], [y_at_xmin, y_at_xmax], c='C01')" + ], + "execution_count": 68, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vNJJNtDzSh83" + }, + "source": [ + "**DO NOT return to slides here. Onward!**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rJnSV2afj3Zd" + }, + "source": [ + "### The Trace Operator" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dq9uqorvj3Zd" + }, + "source": [ + "Denoted as Tr($A$). Simply the sum of the diagonal elements of a matrix: $$\\sum_i A_{i,i}$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vOdkry9ij3Zd", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d47f88fe-4a7e-45fe-d351-faa33c5e1313" + }, + "source": [ + "A = np.array([[25, 2], [5, 4]])\n", + "A" + ], + "execution_count": 69, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[25, 2],\n", + " [ 5, 4]])" + ] + }, + "metadata": {}, + "execution_count": 69 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "zwh8-KTNj3Ze", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e8954044-38f6-42ae-bd29-031d4e3fd8de" + }, + "source": [ + "25 + 4" + ], + "execution_count": 70, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "29" + ] + }, + "metadata": {}, + "execution_count": 70 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7LxzUu37j3Zf", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d3dd66b8-38f7-4960-ae1d-4328a7a22dcc" + }, + "source": [ + "np.trace(A)" + ], + "execution_count": 71, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "29" + ] + }, + "metadata": {}, + "execution_count": 71 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dUeQKrYMj3Zg" + }, + "source": [ + "The trace operator has a number of useful properties that come in handy while rearranging linear algebra equations, e.g.:\n", + "\n", + "* Tr($A$) = Tr($A^T$)\n", + "* Assuming the matrix shapes line up: Tr($ABC$) = Tr($CAB$) = Tr($BCA$)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kuKYTjskj3Zg" + }, + "source": [ + "In particular, the trace operator can provide a convenient way to calculate a matrix's Frobenius norm: $$||A||_F = \\sqrt{\\mathrm{Tr}(AA^\\mathrm{T})}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JcqTZnimj3Zg" + }, + "source": [ + "**Exercises**\n", + "\n", + "With the matrix `A_p` provided below: \n", + "\n", + "1. Use the PyTorch trace method to calculate the trace of `A_p`.\n", + "2. Use the PyTorch Frobenius norm method and the trace method to demonstrate that $||A||_F = \\sqrt{\\mathrm{Tr}(AA^\\mathrm{T})}$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "rQhYWOFvj3Zg", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "8bffea19-551b-484d-dad7-82b9eee0df10" + }, + "source": [ + "A_p" + ], + "execution_count": 72, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "tensor([[-1., 2.],\n", + " [ 3., -2.],\n", + " [ 5., 7.]])" + ] + }, + "metadata": {}, + "execution_count": 72 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "QXuZgAUgj3Zh" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1rQOXPyaj3Zh" + }, + "source": [ + "### Principal Component Analysis" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "X3_Etgo4j3Zh" + }, + "source": [ + "This PCA example code is adapted from [here](https://jupyter.brynmawr.edu/services/public/dblank/CS371%20Cognitive%20Science/2016-Fall/PCA.ipynb)." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ubl3WdRWj3Zh" + }, + "source": [ + "from sklearn import datasets\n", + "iris = datasets.load_iris()" + ], + "execution_count": 73, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZE2yvfEbj3Zi", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d685dddc-d3b4-467d-be84-e7234c1d2309" + }, + "source": [ + "iris.data.shape" + ], + "execution_count": 74, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(150, 4)" + ] + }, + "metadata": {}, + "execution_count": 74 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "fa9fcMl2j3Zi", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "eacd5f3d-bff4-4b78-9527-5dcb4f609ceb" + }, + "source": [ + "iris.get(\"feature_names\")" + ], + "execution_count": 75, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['sepal length (cm)',\n", + " 'sepal width (cm)',\n", + " 'petal length (cm)',\n", + " 'petal width (cm)']" + ] + }, + "metadata": {}, + "execution_count": 75 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8O9xwrOLj3Zj", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "745c6e1d-7ca2-4ad6-f353-3b8b1bf02039" + }, + "source": [ + "iris.data[0:6,:]" + ], + "execution_count": 76, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[5.1, 3.5, 1.4, 0.2],\n", + " [4.9, 3. , 1.4, 0.2],\n", + " [4.7, 3.2, 1.3, 0.2],\n", + " [4.6, 3.1, 1.5, 0.2],\n", + " [5. , 3.6, 1.4, 0.2],\n", + " [5.4, 3.9, 1.7, 0.4]])" + ] + }, + "metadata": {}, + "execution_count": 76 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YoodmvRsj3Zj" + }, + "source": [ + "from sklearn.decomposition import PCA" + ], + "execution_count": 77, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "PcJwICbtj3Zk" + }, + "source": [ + "pca = PCA(n_components=2)" + ], + "execution_count": 78, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "bNb6txoIj3Zk" + }, + "source": [ + "X = pca.fit_transform(iris.data)" + ], + "execution_count": 79, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "plS7skQGj3Zl", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ff4468a1-4b17-4283-e09b-7de2b21ab41a" + }, + "source": [ + "X.shape" + ], + "execution_count": 80, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(150, 2)" + ] + }, + "metadata": {}, + "execution_count": 80 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "wC_j-7Xyj3Zl", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a86bbcf8-1576-4a38-ea64-2dac5033ab32" + }, + "source": [ + "X[0:6,:]" + ], + "execution_count": 81, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-2.68412563, 0.31939725],\n", + " [-2.71414169, -0.17700123],\n", + " [-2.88899057, -0.14494943],\n", + " [-2.74534286, -0.31829898],\n", + " [-2.72871654, 0.32675451],\n", + " [-2.28085963, 0.74133045]])" + ] + }, + "metadata": {}, + "execution_count": 81 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "O_aNxFn5j3Zm", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "564e2f24-0d3a-4aa5-db32-051c5cf88ac2" + }, + "source": [ + "_ = plt.scatter(X[:, 0], X[:, 1])" + ], + "execution_count": 82, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "bTck5c93j3Zm", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d798adb4-ce15-4893-bf9d-fb118beb2e7d" + }, + "source": [ + "iris.target.shape" + ], + "execution_count": 83, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(150,)" + ] + }, + "metadata": {}, + "execution_count": 83 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "IzGhB6NTj3Zn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "fef9765d-124d-4aa4-9c4a-fc119544ff0a" + }, + "source": [ + "iris.target[0:6]" + ], + "execution_count": 84, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 0, 0])" + ] + }, + "metadata": {}, + "execution_count": 84 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DQ8oRWsWj3Zn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "fc98a1a0-c2f0-4b59-f04c-6954a9c46555" + }, + "source": [ + "unique_elements, counts_elements = np.unique(iris.target, return_counts=True)\n", + "np.asarray((unique_elements, counts_elements))" + ], + "execution_count": 85, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0, 1, 2],\n", + " [50, 50, 50]])" + ] + }, + "metadata": {}, + "execution_count": 85 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "VAIoVTYWj3Zo", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "adc04bb8-7b14-4bd7-e3a6-07cd0897b3bb" + }, + "source": [ + "list(iris.target_names)" + ], + "execution_count": 86, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['setosa', 'versicolor', 'virginica']" + ] + }, + "metadata": {}, + "execution_count": 86 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JlZX_2vQj3Zo", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "d2e01e22-bc19-4a05-b6d8-1e13657ee542" + }, + "source": [ + "_ = plt.scatter(X[:, 0], X[:, 1], c=iris.target)" + ], + "execution_count": 87, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "w1Y8YA2oj3Zp" + }, + "source": [ + "**Return to slides here.**" + ] + } + ] +} \ No newline at end of file diff --git a/notebooks/3-calculus-i.ipynb b/notebooks/3-calculus-i.ipynb new file mode 100644 index 0000000..6e1d757 --- /dev/null +++ b/notebooks/3-calculus-i.ipynb @@ -0,0 +1,2664 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "3-calculus-i.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.6" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "aTOLgsbN69-P" + }, + "source": [ + "# Calculus I: Limits & Derivatives" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yqUB9FTRAxd-" + }, + "source": [ + "This topic, *Calculus I: Limits & Derivatives*, introduces the mathematical field of calculus -- the study of rates of change -- from the ground up. It is essential because computing derivatives via differentiation is the basis of optimizing most machine learning algorithms, including those used in deep learning such as backpropagation and stochastic gradient descent. \n", + "\n", + "Through the measured exposition of theory paired with interactive examples, you’ll develop a working understanding of how calculus is used to compute limits and differentiate functions. You’ll also learn how to apply automatic differentiation within the popular TensorFlow 2 and PyTorch machine learning libraries. The content covered in this class is itself foundational for several other topics in the *Machine Learning Foundations* series, especially *Calculus II* and *Optimization*." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "d4tBvI88BheF" + }, + "source": [ + "Over the course of studying this topic, you'll: \n", + "\n", + "* Develop an understanding of what’s going on beneath the hood of machine learning algorithms, including those used for deep learning. \n", + "* Be able to more intimately grasp the details of machine learning papers as well as many of the other subjects that underlie ML, including partial-derivative calculus, statistics and optimization algorithms. \n", + "* Compute the derivatives of functions, including by using AutoDiff in the popular TensorFlow 2 and PyTorch libraries." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Z68nQ0ekCYhF" + }, + "source": [ + "**Note that this Jupyter notebook is not intended to stand alone. It is the companion code to a lecture or to videos from Jon Krohn's [Machine Learning Foundations](https://github.com/jonkrohn/ML-foundations) series, which offer detail on the following:**\n", + "\n", + "*Segment 1: Limits*\n", + "\n", + "* What Calculus Is\n", + "* A Brief History of Calculus\n", + "* The Method of Exhaustion \n", + "* Calculating Limits \n", + "\n", + "*Segment 2: Computing Derivatives with Differentiation*\n", + "* The Delta Method\n", + "* The Differentiation Equation\n", + "* Derivative Notation\n", + "* The Power Rule\n", + "* The Constant Multiple Rule\n", + "* The Sum Rule\n", + "* The Product Rule\n", + "* The Quotient Rule\n", + "* The Chain Rule\n", + "\n", + "*Segment 3: Automatic Differentiation*\n", + "* AutoDiff with PyTorch\n", + "* AutoDiff with TensorFlow 2\n", + "* Machine Learning via Differentiation \n", + "* Cost (or Loss) Functions\n", + "* The Future: Differentiable Programming \n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1SHRQmz0cxYw" + }, + "source": [ + "## Segment 1: Limits" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ab2YePNtcxYx" + }, + "source": [ + "### The Calculus of Infinitesimals" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Bzug184ZcxYx" + }, + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ], + "execution_count": 62, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Kgjg4q4kcxY1" + }, + "source": [ + "x = np.linspace(-10, 10, 1000) # start, finish, n points" + ], + "execution_count": 63, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MHWrqwBacxY4" + }, + "source": [ + "If $y = x^2 + 2x + 2$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "y4oTgUY_cxY5" + }, + "source": [ + "y = x**2 + 2*x + 2" + ], + "execution_count": 6, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "5OxJjePDcxY8", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "2d026362-2b4d-4f6b-c4f8-ba2988f91d79" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deVxVdf7H8deHHRFFBFFBBXdxS2Vc2ybXzNLKmrTFtBmnZVqmGqdtqplmaa9pKstGc5nGFtucplKzzHIN3HcREUEFlFWQ/fv74177MQSC3Hs5914+z8eDB5dzz73nzbnXt4fvPYsYY1BKKeVdfKwOoJRSyvm03JVSygtpuSullBfScldKKS+k5a6UUl7Iz+oAABERESY2NtbqGEop5VGSkpJOGmMia7vPLco9NjaWxMREq2MopZRHEZEjdd2nwzJKKeWFtNyVUsoLabkrpZQX0nJXSikvpOWulFJeSMtdKaW8kJa7Ukp5IS13pZSyyMtfHWDz4RyXPHe95S4iC0QkS0R2VZv2nIjsE5EdIvKxiIRVu+9hEUkWkf0iMt4lqZVSysMlZ53m5a8OsinllEuevyFb7guBCTWmrQL6GWMGAAeAhwFEJB64Aehrf8zrIuLrtLRKKeUlFm9IJcDXh2nDOrvk+estd2PMWiCnxrSVxpgK+48bgRj77cnAu8aYUmPMYSAZGOrEvEop5fEKSsr5MCmdSQM7ENEy0CXLcMaY+yzgC/vtaOBotfvS7dOUUkrZLUtMp6iskpkj41y2DIfKXUQeBSqAdxrx2NkikigiidnZ2Y7EUEopj1FVZVi0IZUhXdrQP6a1y5bT6HIXkVuBScCN5v+vsp0BdKo2W4x92k8YY+YZYxKMMQmRkbWesVIppbzOmgNZHDlVzK0jY126nEaVu4hMAOYAVxljiqvdtRy4QUQCRSQO6AFsdjymUkp5h4XrjxDVKpAJ/dq7dDkN2RVyKbAB6CUi6SJyG/AqEAqsEpFtIvIGgDFmN/A+sAf4ErjLGFPpsvRKKeVBkrNOs/ZANjcN64K/r2sPM6r3Yh3GmGm1TJ5/jvn/AvzFkVBKKeWNXL37Y3V6hKpSSjWBgpJyliWlc+XAji7b/bE6LXellGoC7/9wlOKySpd/kHqWlrtSSrlYRWUVb69LZWhcuEt3f6xOy10ppVxsxe5MMvLOcNuFrjtoqSYtd6WUcrH536fQpW0LxvSJarJlarkrpZQLbUnLZUtaHjNHxuLrI022XC13pZRyofnfHyY0yI/rEjrVP7MTabkrpZSLpOcW8+WuE0wf2pmQwHoPK3IqLXellHKRRetTAZjRRLs/VqflrpRSLnC6tIJ3Nx/l8n7t6RgW3OTL13JXSikX+CDxKIWlFfzyoq6WLF/LXSmlnKyyyrBg3WGGdGnDBZ3C6n+AC2i5K6WUk63ak8nRnDP8sgkPWqpJy10ppZxswfeHiWkTzLi+rj1n+7louSullBPtSM9jc2oOtzbxQUs1abkrpZQTvbk2hdBAP37xs6Y9aKkmLXellHKStFPFfLHzODcO70JokL+lWbTclVLKSf75fQp+Pj7MHBVrdRQtd6WUcoZTp0t5P/EoUwZ1JKpVkNVxtNyVUsoZFm84Qkl5FbMvtuagpZq03JVSykFnyipZvCGVMX2i6N4u1Oo4gJa7Uko57IOko+QWl3P7Je6x1Q5a7kop5ZCKyire+i6FIV3akBAbbnWcH2m5K6WUA77YdYKjOWfcZqz9rHrLXUQWiEiWiOyqNi1cRFaJyEH79zb26SIir4hIsojsEJHBrgyvlFJWMsbw5tpDdI0IYWwTXh+1IRqy5b4QmFBj2kPAamNMD2C1/WeAy4Ee9q/ZwFznxFRKKfez4dApdmUUMPvirvhYeKqB2tRb7saYtUBOjcmTgUX224uAKdWmLzY2G4EwEengrLBKKeVO3libQmRoIFMGRVsd5ScaO+YeZYw5br99Ajj790g0cLTafOn2aT8hIrNFJFFEErOzsxsZQymlrLHnWAFrD2Qzc1QsQf6+Vsf5CYc/UDXGGMA04nHzjDEJxpiEyMhIR2MopVSTmvvtIVoG+nHj0C5WR6lVY8s98+xwi/17ln16BlD9VGgx9mlKKeU1Dp8s4r87jnHT8C60bmHtCcLq0thyXw7MsN+eAXxabfot9r1mhgP51YZvlFLKK7yx5hD+vj7cZuGVlurjV98MIrIUuBSIEJF04AngaeB9EbkNOAJcb5/9c2AikAwUAzNdkFkppSxzLO8MH21NZ/rQzkSGBlodp071lrsxZlodd42uZV4D3OVoKKWUclfz1qZgDMy+pJvVUc5Jj1BVSqkGyi4sZenmNK4eFE10WLDVcc5Jy10ppRpowbrDlFdWccel7r3VDlruSinVIPnF5SzZcISJ/TvQNbKl1XHqpeWulFINsGhDKqdLK7jz0u5WR2kQLXellKpHUWkFC9YdZnTvdsR3bGV1nAbRcldKqXos3ZxGXnE5d13mGVvtoOWulFLnVFJeyby1KYzo2pbBndtYHafBtNyVUuocliWlk1VYym88aKsdtNyVUqpOZRVVvP5NMoM6hzGyW1ur45wXLXellKrDB0lHOZZfwn1jeiLiXhfjqI+Wu1JK1cK21X6IQZ3DuLhHhNVxzpuWu1JK1WJZUjoZeWc8cqsdtNyVUuonyiqqeM0+1u6JW+2g5a6UUj/h6VvtoOWulFL/4+xW+wWdPHerHbTclVLqf3y45exWew+P3WoHLXellPpRWUUVr35t22q/pGek1XEcouWulFJ23rLVDlruSikFeNdWO2i5K6UUYDsaNSPvDPd6wVY7aLkrpRQl5ZX8Y3UyQ7q04VIv2GoHLXellOJfG49woqCEB8f18oqtdvDwcjfGsCUt1+oYSikPdrq0gtfXHOLC7hGM8LAzP56LR5f7+4lHueb19SQd0YJXSjXO298fJqeojAfH97I6ilM5VO4i8lsR2S0iu0RkqYgEiUiciGwSkWQReU9EApwVtqZJAzoS0TKQ51bswxjjqsUopbxUXnEZ875LYWx8FBd0CrM6jlM1utxFJBq4B0gwxvQDfIEbgGeAl4wx3YFc4DZnBK1NSKAfd1/WnY0pOXx38KSrFqOU8lJvrk3hdGkFD4zraXUUp3N0WMYPCBYRP6AFcBy4DFhmv38RMMXBZZzTtKGdiWkTzLMr9lFVpVvvSqmGySosYeG6VK4c0JHe7VtZHcfpGl3uxpgM4HkgDVup5wNJQJ4xpsI+WzoQXdvjRWS2iCSKSGJ2dnZjYxDg58P9Y3uyK6OAL3adaPTzKKWal9e/OURZZRW/Het9W+3g2LBMG2AyEAd0BEKACQ19vDFmnjEmwRiTEBnp2H6lky+IpmdUS15YuZ+KyiqHnksp5f0y8s7w701pXDckhriIEKvjuIQjwzJjgMPGmGxjTDnwETAKCLMP0wDEABkOZqyXr4/w4LhepJwsYllSuqsXp5TycK98dRCAu0f3sDiJ6zhS7mnAcBFpIba9/kcDe4BvgKn2eWYAnzoWsWHGxkcxqHMYf199kJLyyqZYpFLKAx3KPs2yLelMH9aZ6LBgq+O4jCNj7puwfXC6Bdhpf655wO+B+0UkGWgLzHdCznqJCHPG9+Z4fglLNhxpikUqpTzQs1/uI8jPh99c1t3qKC7lV/8sdTPGPAE8UWNyCjDUkedtrBHd2nJRjwheX5PMDUM7ERrkb0UMpZSbSjqSw4rdmdw/ticRLQOtjuNSHn2Eam3mjO9NbnE5b3132OooSik3Yozhb5/vIzI0kF9eFGd1HJfzunLvH9OaK/p34J/fpZBVWGJ1HKWUm1i1J5PEI7ncN6YHLQIcGrTwCF5X7gAPju9FWUUVL9s/EVdKNW8VlVU88+U+ukaG8IuETlbHaRJeWe5xESHcNLwL7/1wlIOZhVbHUUpZ7IOkdA5lF/H7Cb3x8/XK2vsJr/0t7xndgxb+vjz9xT6royilLFRcVsGLqw4wpEsbxsVHWR2nyXhtuYeHBHDnz7uzel8W6w/pScWUaq7mf3eY7MJSHpnY22suxNEQXlvuADNHxRIdFsxfP9+rJxVTqhk6dbqUN9emMC4+iiFdwq2O06S8utyD/H15cLztpGLLtx+zOo5Sqon94+tkzpRXMmdCb6ujNDmvLneAyQOj6RfdiudW7NfTEijVjBzKPs2/Nh7h+oROdG/X0uo4Tc7ry93HR3hkYh8y8s6wcH2q1XGUUk3kb5/vJcjfl/u99JS+9fH6cgcY2S2C0b3b8drXyeQUlVkdRynlYt8fPMlXe7O46+fdiQz17tMM1KVZlDvAQ5f3pqisgldW64FNSnmzisoqnvpsD53Cg5k5KtbqOJZpNuXeIyqUaUM7s2TjET2wSSkv9l7iUfZnFvLw5X0I8ve1Oo5lmk25A9w/tichAb786bM9GKO7RirlbQpKynlx5QGGxoZzeb/2VsexVLMq97YtA7lvTE++O3iSr/dlWR1HKeVkr32dTE5xGX+YFN+sDliqTbMqd4CbR3ShW2QIT322h9IK3TVSKW9x5FQRb69L5drBMfSPaW11HMs1u3L39/Xh8Sv7knqqmIXrUq2Oo5Rykr99vg8/X+F343tZHcUtNLtyB7ikZySje7fjH18n6znflfICG1NO8eXuE9xxSTeiWgVZHcctNMtyB3hsUjylFZU8v2K/1VGUUg6oqKziiU93Ex0WzC8v6mp1HLfRbMs9LiKEWaPi+CApnR3peVbHUUo10pKNR9ifWcgfJsUTHNB8d32sqdmWO8BvLutO25AA/vgf3TVSKU+UXVjKiysPcFGPCMb3bT7nam+IZl3uoUH+zBnfm6QjuXrWSKU80LNf7qOkopInr+rb7Hd9rKlZlzvA1CExDIhpzV/+u5fCknKr4yilGmhLWi4fJKUz68I4ukU2v7M+1sehcheRMBFZJiL7RGSviIwQkXARWSUiB+3f2zgrrCv4+AhPTe5H9ulSXlql551RyhNUVhke/3QXUa0CueeyHlbHcUuObrn/HfjSGNMbGAjsBR4CVhtjegCr7T+7tYGdwpg+tDML1x9mz7ECq+Moperx7g9p7Moo4NEr4gkJ9LM6jltqdLmLSGvgYmA+gDGmzBiTB0wGFtlnWwRMcTRkU/jd+F6EtQjgD5/u0kvyKeXGcovKeG7FfobFhXPlgA5Wx3Fbjmy5xwHZwNsislVE/ikiIUCUMea4fZ4TgEd8hB3WIoCHLrd9uLpsS7rVcZRSdXh+5X4KSyr442T9EPVcHCl3P2AwMNcYMwgoosYQjLHtX1jrZrCIzBaRRBFJzM7OdiCG80wdHENClzY8/cU+8or1oh5KuZutabn8e3Mat4zoQu/2rayO49YcKfd0IN0Ys8n+8zJsZZ8pIh0A7N9rPf2iMWaeMSbBGJMQGRnpQAzn8fERnprSj/wz5TyrR64q5VbKK6t4+KOdRIUG8cA4PX9MfRpd7saYE8BRETm7lkcDe4DlwAz7tBnApw4lbGJ9OrRixohYlm5OY/tRPXJVKXfx9rrD7DtRyJNX9aWlfohaL0f3lrkbeEdEdgAXAH8FngbGishBYIz9Z4/y27E9iGwZyGOf7KJSP1xVynLpucW8tOogY/q00yNRG8ihcjfGbLMPrQwwxkwxxuQaY04ZY0YbY3oYY8YYY3KcFbaphAb584dJ8ezMyGfh+lSr4yjVrBljeOLT3YjAHyf30w9RG6jZH6Fal0kDOvDzXpG8sHI/6bnFVsdRqtlasfsEq/dl8dsxPYkOC7Y6jsfQcq+DiPDnq/sD8Ngnu/TEYkpZoLCknCeW76ZPh1bMHBVrdRyPouV+DtFhwTw4rhdr9mfricWUssALKw+QVVjKX6/uh5+v1tX50LVVjxkjYxnYKYw//WcPuUW677tSTWX70TwWb0jlpmFdGNTZrU9R5Za03Ovh6yM8fU1/8s+U89fP91odR6lmoayiit9/uIPI0EB+N0H3aW8MLfcG6NOhFbMv7soHSemsTz5pdRylvN7ra5LZd6KQv0zpT6sgf6vjeCQt9wa6Z3QPYtu24OGPd1JSXml1HKW81r4TBbz2TTKTL+jImHjdp72xtNwbKMjfl79e058jp4p5adUBq+Mo5ZUqKquYs2wHrYL8eeLKvlbH8Wha7udhZLcIpg3txFvfpbAlLdfqOEp5nfnfH2ZHej5PXtWX8JAAq+N4NC338/TIxD50aB3Mgx9s1+EZpZwoJfs0L646wLj4KCbpedodpuV+nkKD/Hnm2gGkZBfxog7PKOUUVVWGhz7cSaCfD3+eoqcYcAYt90a4sEcE04d15q3vUkg64nGnzlHK7SzZeITNqTk8Nimedq2CrI7jFbTcG+mRiX3o2DqY332wQ4dnlHJASvZp/vbFXi7pGcl1Q2KsjuM1tNwbqWWgH89OHUDKySKe1wt7KNUoFZVVPPDBdgL9fHl26gAdjnEiLXcHjOoewU3DOzN/3WF+SNXhGaXO15trU9ialsdTU/oRpcMxTqXl7qCHL+9DdFgwv/tgO0WlFVbHUcpj7MrI56VVB5g0oANXDexodRyvo+XuoJBAP56/biBHcor583/13DNKNURJeSUPvL+d8JAAnprcz+o4XknL3QmGd23L7Iu7snRzGqv2ZFodRym399KqA+zPLOSZqQNoowcruYSWu5M8MLYX8R1a8fsPd5BVWGJ1HKXc1g+pOcz7LoVpQzvz817trI7jtbTcnSTAz4dXpl1AUWkFc5bt0Cs3KVWLgpJyfvveNjq1acFjV/SxOo5X03J3ou7tQnn0ij6s2Z/Nko1HrI6jlFsxxvDox7s4nl/CyzdcQEign9WRvJqWu5PdPLwLl/aK5C//3UtyVqHVcZRyG8uS0vnP9mPcP7Yng/XKSi6n5e5kIsKzUwcQEujHve9uo7RCj15VKiX7NE8s383wruHcfkk3q+M0C1ruLtAuNIhnrh3A7mMFPPOFHr2qmreyiirufXcbAX4+vPyLQfj66FGoTcHhchcRXxHZKiKf2X+OE5FNIpIsIu+JSLPcz2lsfBS3joxlwbrDunukataeX7mfnRn5PHvtANq31qNQm4ozttzvBaofvfMM8JIxpjuQC9zmhGV4pIcn9qZfdCse/GA76bnFVsdRqsmtPZDNvLUp3DS8M+P6trc6TrPiULmLSAxwBfBP+88CXAYss8+yCJjiyDI8WaCfL69OG0xlleGepVspr6yyOpJSTSaroIT7399Oz6iWPHZFvNVxmh1Ht9xfBuYAZ1urLZBnjDl7kpV0ILq2B4rIbBFJFJHE7OxsB2O4r9iIEJ6+tj9b0vJ4YaVe3EM1DxWVVfxm6VaKSit4dfpggvx9rY7U7DS63EVkEpBljElqzOONMfOMMQnGmITIyMjGxvAIkwZ0ZPqwzrzx7SG+2Z9ldRylXO6FVQfYfDiHv17Tj55RoVbHaZYc2XIfBVwlIqnAu9iGY/4OhInI2aMTYoAMhxJ6iccnxdO7fSgPvL+dE/l6egLlvVbvzWTumkNMG9qZqwfpxTes0uhyN8Y8bIyJMcbEAjcAXxtjbgS+AabaZ5sBfOpwSi8Q5O/Lq9MHU1JeyR3vJFFWoePvyvsczSnm/ve307djK564UsfZreSK/dx/D9wvIsnYxuDnu2AZHql7u5Y8N3Wg7eIEn+2xOo5STlVaUcld/95ClTHMvXGIjrNbzCkndzDGrAHW2G+nAEOd8bze6IoBHdie3pV5a1O4oFMY1+o1I5WX+PNne9mRns+bNw+hc9sWVsdp9vQIVQvMGd+LEV3b8sjHO9mVkW91HKUctiwpnSUbj/Cri+IYr/uzuwUtdwv4+frwj+mDCA8J4PZ/JZFbVGZ1JKUabdvRPB75eCcju7Xl9xN6Wx1H2Wm5WySiZSCv3ziYrIJS7n1vG5VVev535XmyCku4fUkS7UIDeXX6YPx8tVLchb4SFhrUuQ1PXBXP2gPZPL9STzCmPEtZRRV3/msL+WfKmXdzAuF6uTy3omfLt9j0oZ3ZlZHP3DWH6BnVUvcLVh7jyf/sJvFILq9OH0R8x1ZWx1E16Ja7xUSEP17Vj2Fx4fz+w51sScu1OpJS9Xpn0xH+vSmNOy7txqQBHa2Oo2qh5e4GAvx8mHvTENq3CmL24iQy8s5YHUmpOq1PPskTn+7m0l6RPDiul9VxVB203N1EeEgA82ckUFpeya8WJVJcVlH/g5RqYslZp7n9X0l0jQzhlWl64Q13puXuRnpEhfLK9EHsO1HAb9/bRpXuQaPcyKnTpcxa+AMBfj7Mn/EzWgX5Wx1JnYOWu5v5ea92PDKxDyt2Z/LMin1Wx1EKgJLySmYvSSKzoIS3bkmgU7gegerudG8ZN3TbhXEcPlnEm9+mEB0WzC0jYq2OpJoxYwxzlu0g6Ugur00fzKDObayOpBpAy90N2fag6UtmQQlPLt9N+1ZBeokyZZkXVx1g+fZj/G58L64Y0MHqOKqBdFjGTfn5+vDKtEH0jwnjnne36i6SyhJLNh7hH18nc31CDHde2s3qOOo8aLm7sRYBfsyfkUBUqyB+uSiRwyeLrI6kmpHPdx7n8U93Mbp3O/56dX9sl0hWnkLL3c1FtAxk0UzbGZRvfXsz2YWlFidSzcH6Qye5791tDOoUpueM8VD6inmA2IgQ5s9IIKuglFsWbCa/uNzqSMqL7crIZ/biJDq3bcGCW39GcIBedMMTabl7iEGd2/DmzUM4lHWamQs3U1SqBzkp50s7Vcytb/9AaJAfi2cNJayFngzMU2m5e5CLe0byyrQL2HY0j18vSaK0otLqSMqLHM8/w43zN1JRVcWS24bSMSzY6kjKAVruHmZCvw48O3Ug3yef5J6lW6mo1AttK8dlFZZw41ubyC0qZ+HMoXRvF2p1JOUgLXcPNHVIDE9cGc+K3ZnMWbZDT1OgHHLqdCk3vrWJEwUlLJz5My7oFGZ1JOUEehCTh5o5Ko7CkgpeXHUAP1/h6WsG4KMncVLnKb+4nJvnbyYtp5i3Z/6MhNhwqyMpJ9Fy92B3X9adiirDK6sPYgw8c60WvGq4wpJyblmwieSs07w1I4GR3SKsjqScSMvdg4kI94/tiQB/X30Qg63g9TSsqj75Z8q59e3N7D5WwBs3DeGSnpFWR1JOpuXuBX47tici8PJXti34Z6dqwau65RaVcfOCTew/UcjrNw5mTHyU1ZGUCzS63EWkE7AYiAIMMM8Y83cRCQfeA2KBVOB6Y4yeGMXF7hvTE0F46asDGGN4duoAPapQ/UR2YSk3/XMTqaeKmHdLAj/v1c7qSMpFHPnXXwE8YIyJB4YDd4lIPPAQsNoY0wNYbf9ZNYF7x/TggbE9+WhrBnf9ewsl5bofvPp/J/JL+MW8DbYPT2/9mRa7l2t0uRtjjhtjtthvFwJ7gWhgMrDIPtsiYIqjIVXD3T26B49Psu0mOWvhD5zWI1kVtiNPr39zA1kFpSy+bSgju+uHp97OKX+3i0gsMAjYBEQZY47b7zqBbdimtsfMFpFEEUnMzs52RgxlN+vCOF64biCbDudw41sbyS0qszqSstCujHyumbuegpJyltw2lJ/p7o7NgsPlLiItgQ+B+4wxBdXvM8YYbOPxP2GMmWeMSTDGJERG6if1znbtkBjeuGkIe08Ucv2bGziRX2J1JGWB9cknuWHeRgJ8hWW3j9CrKDUjDpW7iPhjK/Z3jDEf2SdnikgH+/0dgCzHIqrGGhsfxaKZQzmeX8LVr69j7/GC+h+kvMZnO44x4+3NRIcF89Gdo/SUAs1Mo8tdbGfunw/sNca8WO2u5cAM++0ZwKeNj6ccNaJbW97/9QiMgeve2MC3B3QIzNsZY1jw/WHuXrqVQZ3a8P6vR9C+dZDVsVQTc2TLfRRwM3CZiGyzf00EngbGishBYIz9Z2Wh+I6t+PiukXQKb8GshT/w701pVkdSLlJeWcWjn+ziT5/tYXx8exbfNpTWLfytjqUs0Oj93I0x3wN1HSkzurHPq1yjQ+tgPrh9BHe9s4VHPt5JWk4xc8b30tMVeJG84jLufGcL6w+d4s5Lu/HgOH19mzM9yqUZaRlouybrjcM688a3h/jV4kQKSvSqTt4gJfs0V7++nsTUXF64biBzJvTWYm/mtNybGT9fH/48pR9/mtyXbw9kM+XVdSRnFVodSzngm/1ZTHltHQVnyvn3r4Zx7ZAYqyMpN6Dl3gyJCLeMiOWdXw6joKScya+uY8XuE1bHUuepssrw4qoDzFr4Ax3DgvnkrlF6yl71Iy33ZmxY17b85+4L6d6uJb9eksRzK/bplZ08RE5RGbe+vZlXVh/kmkExfHznKDqFt7A6lnIjWu7NXIfWwbz36xH8IqETr31ziGlvbeRY3hmrY6lz2HY0j0mvfMemlBz+dk1/nr9uAMEBvlbHUm5Gy10R5O/LM1MH8PIvLmDPsQIu//t3rNRhGrdTWWV4fU0yU+euR0RYdscIpg3tjO2QE6X+l5a7+tGUQdF8ds9FdAoPZvaSJJ5cvlvPLOkmjuWdYfpbG3n2y/2M79uez++5iAExeq1TVTe9WIf6H3ERIXx4x0ie+WI/C9Yd5vvkk7xw3UAG6kWTLfOf7cd49OOdVFYZnr9uINcOjtatdVUv3XJXPxHo58vjV8azeNZQikoruGbuep5bsY/SCt2Kb0pZhSXc8a8k7l66la6RLfnvPRcxdUiMFrtqELGduNFaCQkJJjEx0eoYqhYFJeX8+bM9vJ+YTq+oUJ67boAOB7iYMYaPtmTwp8/2cKa8kntH92D2xV3x1ytrqRpEJMkYk1DrfVruqiG+2ZfFQx/tIKuwlJuHd+GBcb1oHaznLHG2oznFPPbJLr49kE1ClzY8fe0AurdraXUs5aa03JVTFJSU8+LKAyzekEp4SCB/mNSHqwZ21GECJzhTVsncbw/x5reH8PUR5ozvxS0jYvUUAuqctNyVU+3KyOfRj3eyPT2f4V3DeeyKePpFt7Y6lkcyxrBi9wme+mwvGXlnuGpgRx6Z2EdP0asaRMtdOV1llWHp5jReXHWAnKIyrh4UzYPjexEdFmx1NI+xJS2XZ7/cx8aUHHq3D+XJq/oyvGtbq2MpD6LlrlymoKScuWsOseD7wxhg5qhYfn1xN8JDAsZYUCIAAAohSURBVKyO5rYOZBby/Ir9rNyTSUTLAO4Z3YPpQzvjpx+YqvOk5a5c7ljeGZ5fuZ+Pt2YQ7O/LzSO68KuLuhLRMtDqaG7jYGYhc9cc4pNtGYQE+DH74q7MujCOkEA93EQ1jpa7ajLJWYW8+nUyy7cfI8DPhxuHdeG2C+Po2IyHa7am5TJ3zSFW7sn88T++Oy7pRhv960Y5SMtdNblD2ad57ZtkPt12DIAJfdszc1QsQ7q0aRZ711RUVvHV3iwWrj/MxpQcWgf7M2NkLLeOjNUhK+U0Wu7KMkdzilmy8Qjvbk6joKSC/tGtuWl4Zyb270BokPftJ59ZUMK7m4+ydHMaJwpK6Ng6iFkXxnHD0M601OEX5WRa7spyxWUVfLQlg4XrU0nOOk2Qvw/j+7bn2sExjOoega8H789dVFrBit0n+GTbMdYln6SyynBxz0huHt6Fn/eK1A9KlctouSu3YYxh69E8PkxK5z/bj1FQUkG70EDGxkcxrm97RnRtS4Cf+5dhfnE5aw5ksWpPJl/tzaSkvIrosGAmX9CR6xM6ERsRYnVE1QxouSu3VFJeyVd7M/nvjuOs2Z/NmfJKQgP9uLhXJKO6RTCyW1u6tG3hFmP0FZVV7D1eyMaUU6zel8kPqblUVhnahgQwoV97pgyKZkjnNnpEqWpSWu7K7ZWUV7Iu+SQrdp/g2wPZZBaUAtCxdRBD48LpHxPGgJjWxHdo1SS7DmYXlrL7WD67jxXwQ2oOiam5nC6tAKBXVCij+7RjdJ8oLugU5tFDSsqzWVLuIjIB+DvgC/zTGPN0XfNquavqjDEcPlnE+kOnWH/oJFuO5HGioAQAEYhtG0JcRIjte2QIMWHBRLQMJCI0gLYhgfUO6xhjKCqrJLeojJyiMo7lnSEtp/jHr30nCskuLP1x/m6RIQzr2pZhceEMi2urpwZQbqPJy11EfIEDwFggHfgBmGaM2VPb/Fruqj5ZhSXsyshn+9F8krNOk3KyiNSTRZyp5UpRwf6+BPr7EOTnS5C/DyJCeWUV5ZVVVFQaCksqKKvlQuBtWvjTKbwFPdqFEt+xFfEdbF+tW3jfXj3KO5yr3F319+1QINkYk2IP8C4wGai13JWqT7vQIC7rHcRlvaN+nGaMIbOglGP5ZzhZWMrJ02VkF5ZyurSckvIqSsorKamoQgA/XyHA1wc/X6FloD/hIf60aRFAmxYBdAgLolN4C1p54a6ZqvlyVblHA0er/ZwODHPRslQzJSK0bx2kwyRK1cKyfc5EZLaIJIpIYnZ2tlUxlFLKK7mq3DOATtV+jrFP+5ExZp4xJsEYkxAZGemiGEop1Ty5qtx/AHqISJyIBAA3AMtdtCyllFI1uGTM3RhTISK/AVZg2xVygTFmtyuWpZRS6qdcdjSIMeZz4HNXPb9SSqm6uf9JPJRSSp03LXellPJCWu5KKeWF3OLEYSKSDRxp5MMjgJNOjOMs7poL3Deb5jo/muv8eGOuLsaYWvcld4tyd4SIJNZ1bgUruWsucN9smuv8aK7z09xy6bCMUkp5IS13pZTyQt5Q7vOsDlAHd80F7ptNc50fzXV+mlUujx9zV0op9VPesOWulFKqBi13pZTyQh5R7iJynYjsFpEqEUmocd/DIpIsIvtFZHwdj48TkU32+d6zn6nS2RnfE5Ft9q9UEdlWx3ypIrLTPp/Lry0oIk+KSEa1bBPrmG+CfR0mi8hDTZDrORHZJyI7RORjEQmrY74mWV/1/f4iEmh/jZPt76VYV2WptsxOIvKNiOyxv//vrWWeS0Ukv9rr+7irc1Vb9jlfG7F5xb7OdojI4CbI1KvautgmIgUicl+NeZpknYnIAhHJEpFd1aaFi8gqETlo/96mjsfOsM9zUERmNCqAMcbtv4A+QC9gDZBQbXo8sB0IBOKAQ4BvLY9/H7jBfvsN4A4X530BeLyO+1KBiCZcd08CD9Yzj6993XUFAuzrNN7FucYBfvbbzwDPWLW+GvL7A3cCb9hv3wC81wSvXQdgsP12KLbrEtfMdSnwWVO9n87ntQEmAl8AAgwHNjVxPl/gBLYDfZp8nQEXA4OBXdWmPQs8ZL/9UG3veyAcSLF/b2O/3eZ8l+8RW+7GmL3GmP213DUZeNcYU2qMOQwkY7t+649ERIDLgGX2SYuAKa7Kal/e9cBSVy3DBX685q0xpgw4e81blzHGrDTGVNh/3Ijtgi5WacjvPxnbewds76XR9tfaZYwxx40xW+y3C4G92C5h6SkmA4uNzUYgTEQ6NOHyRwOHjDGNPfrdIcaYtUBOjcnV30d1ddF4YJUxJscYkwusAiac7/I9otzPobZrtdZ887cF8qoVSW3zONNFQKYx5mAd9xtgpYgkichsF+ao7jf2P4sX1PFnYEPWoyvNwraFV5umWF8N+f1/nMf+XsrH9t5qEvZhoEHAplruHiEi20XkCxHp21SZqP+1sfp9dQN1b2RZtc6ijDHH7bdPAFG1zOOU9eay87mfLxH5Cmhfy12PGmM+beo8tWlgxmmce6v9QmNMhoi0A1aJyD77//AuyQXMBZ7C9g/xKWxDRrMcWZ4zcp1dXyLyKFABvFPH0zh9fXkaEWkJfAjcZ4wpqHH3FmzDDqftn6d8AvRoomhu+9rYP1e7Cni4lrutXGc/MsYYEXHZvuhuU+7GmDGNeFi912oFTmH7c9DPvsVV2zxOySgifsA1wJBzPEeG/XuWiHyMbUjAoX8QDV13IvIW8FktdzVkPTo9l4jcCkwCRhv7YGMtz+H09VWLhvz+Z+dJt7/OrbG9t1xKRPyxFfs7xpiPat5fveyNMZ+LyOsiEmGMcfkJshrw2rjkfdVAlwNbjDGZNe+wcp0BmSLSwRhz3D5ElVXLPBnYPhc4Kwbb543nxdOHZZYDN9j3ZIjD9r/v5uoz2EvjG2CqfdIMwFV/CYwB9hlj0mu7U0RCRCT07G1sHyruqm1eZ6kxxnl1Hctr8mveisgEYA5wlTGmuI55mmp9NeT3X47tvQO299LXdf2H5Cz2Mf35wF5jzIt1zNP+7Ni/iAzF9m+6Kf7Tachrsxy4xb7XzHAgv9qQhKvV+Re0VevMrvr7qK4uWgGME5E29mHUcfZp58fVnxg74wtbKaUDpUAmsKLafY9i29NhP3B5temfAx3tt7tiK/1k4AMg0EU5FwK315jWEfi8Wo7t9q/d2IYnXL3ulgA7gR32N1aHmrnsP0/EtjfGoSbKlYxtXHGb/euNmrmacn3V9vsDf8L2nw9AkP29k2x/L3VtgnV0IbbhtB3V1tNE4Paz7zPgN/Z1sx3bB9MjXZ3rXK9NjWwCvGZfpzuptqebi7OFYCvr1tWmNfk6w/afy3Gg3N5ft2H7nGY1cBD4Cgi3z5sA/LPaY2fZ32vJwMzGLF9PP6CUUl7I04dllFJK1ULLXSmlvJCWu1JKeSEtd6WU8kJa7kop5YW03JVSygtpuSullBf6Pw7XQu28UfvOAAAAAElFTkSuQmCC\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5IjlYM5LcxY_" + }, + "source": [ + "* There are no straight lines on the curve. \n", + "* If we zoom in _infinitely_ close, however, we observe curves that _approach_ lines. \n", + "* This enables us to find a slope $m$ (tangent) anywhere on the curve, including to identify where $m = 0$: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "nJ1n043-cxZA", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "75eaede6-3a33-47c3-ffd3-3a7c2b5b3d65" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "ax.set_xlim([-2, -0])\n", + "ax.set_ylim([0, 2])\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "tgrXcqfScxZD", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "1653990b-08ca-4480-a8b7-c980f2c5acfe" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "ax.set_xlim([-1.5, -0.5])\n", + "ax.set_ylim([0.5, 1.5])\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 9, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8osTRq2AcxZG", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "ceea5e0c-a8c2-4a16-ff4c-a3cd536bbf66" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "ax.set_xlim([-1.1, -0.9])\n", + "ax.set_ylim([0.9, 1.1])\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "tpcDMwpDcxZJ", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "6d17efa0-22fb-49ac-9c5a-7f6e9ce6123e" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "ax.set_xlim([-1.01, -0.99])\n", + "ax.set_ylim([0.99, 1.01])\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BJ0B4YNPcxZL" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "38-6wbQocxZL" + }, + "source": [ + "### Limits" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "S7GSdz-ucxZM", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "7c5c529c-cc6f-4d8b-f1a4-9158cf639dd8" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.xlim(-5, 10)\n", + "plt.ylim(-10, 80)\n", + "plt.axvline(x=5, color='purple', linestyle='--')\n", + "plt.axhline(y=37, color='purple', linestyle='--')\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AaRfRUYtcxZO" + }, + "source": [ + "$$\\lim_{x \\to 1} \\frac{x^2 - 1}{x - 1}$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZdDhpdiPcxZO" + }, + "source": [ + "def my_fxn(my_x):\n", + " my_y = (my_x**2 - 1)/(my_x - 1)\n", + " return my_y" + ], + "execution_count": 13, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "5xKbepf445LM", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "73492b00-7379-445c-bc1a-b9930beb4234" + }, + "source": [ + "my_fxn(2)" + ], + "execution_count": 14, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "3.0" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "umrgvf3BcxZQ" + }, + "source": [ + "# Uncommenting the following line results in a 'division by zero' error:\n", + "# my_fxn(1)" + ], + "execution_count": 16, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "yeGqX8oscxZS", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f5467c41-7070-40b8-8251-279828a538c4" + }, + "source": [ + "my_fxn(0.9)" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.9" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "4unTKbu8cxZU", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "64df095f-7d79-4fc3-b85f-a9bcb009b266" + }, + "source": [ + "my_fxn(0.999)" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.9989999999999712" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YuVfXKa5cxZW", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f483ae52-f997-419c-f46e-8e61d13c484c" + }, + "source": [ + "my_fxn(1.1)" + ], + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "2.1" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "x4eY1qWEcxZY", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "bf282b58-30c0-4114-9c85-f496026227ac" + }, + "source": [ + "my_fxn(1.001)" + ], + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "2.0009999999999177" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pjUtPQwAcxZb" + }, + "source": [ + "y = my_fxn(x)" + ], + "execution_count": 21, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Tg4Ow8k3cxZe", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "641590d4-1f9c-4ec5-b838-aab4020685bd" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.xlim(-1, 5)\n", + "plt.ylim(-1, 5)\n", + "plt.axvline(x=1, color='purple', linestyle='--')\n", + "plt.axhline(y=2, color='purple', linestyle='--')\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 22, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VQWYjKjVcxZf" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hc3PDahDcxZg" + }, + "source": [ + "$$\\lim_{x \\to 0} \\frac{\\text{sin } x}{x}$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "XDLZLagKcxZg" + }, + "source": [ + "def sin_fxn(my_x):\n", + " my_y = np.sin(my_x)/my_x\n", + " return my_y" + ], + "execution_count": 23, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "HU-B5ebBcxZi" + }, + "source": [ + "# Uncommenting the following line results in a 'division by zero' error:\n", + "# y = sin_fxn(0)" + ], + "execution_count": 24, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "YjIqAWnwcxZk", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "7a32a3e9-a5fa-4e56-9730-b64aed67c69e" + }, + "source": [ + "sin_fxn(0.1)" + ], + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9983341664682815" + ] + }, + "metadata": {}, + "execution_count": 25 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "mmTAnugUcxZm", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "544943f4-3e3a-4fda-8622-a384ce77ac4c" + }, + "source": [ + "sin_fxn(0.001)" + ], + "execution_count": 26, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9999998333333416" + ] + }, + "metadata": {}, + "execution_count": 26 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "UFM_c1t_cxZp", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "3f67b2c2-eccb-4cfd-dc12-117e36ec1a7d" + }, + "source": [ + "sin_fxn(-0.1)" + ], + "execution_count": 27, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9983341664682815" + ] + }, + "metadata": {}, + "execution_count": 27 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "xrSXdv0ScxZr", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f8d6dc15-6bd9-477b-f6a6-e80f7288e515" + }, + "source": [ + "sin_fxn(-0.001)" + ], + "execution_count": 28, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9999998333333416" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5nhhRmJTcxZs" + }, + "source": [ + "y = sin_fxn(x)" + ], + "execution_count": 29, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "bolWRmXmcxZu", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "7d14bcc4-3fbb-4a25-e773-898f69fb2ff3" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.xlim(-10, 10)\n", + "plt.ylim(-1, 2)\n", + "plt.axvline(x=0, color='purple', linestyle='--')\n", + "plt.axhline(y=1, color='purple', linestyle='--')\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAD8CAYAAACcjGjIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxU1dnA8d+TnQQICQlbCAlhD4Q17JsKKlJcQAGtWkUtdanWrX3dSlv1rfvWulDqWndEVERAEBVElhIgELYEEggkEBISSAiBrOf9Y0bfyCTAkJm5M8nz/Xzmw525Z+55uLkzz9xzzj1XjDEopZRStflZHYBSSinvo8lBKaWUA00OSimlHGhyUEop5UCTg1JKKQeaHJRSSjlocHIQkVgR+U5EtovINhH5Qx1lRET+ISK7RWSLiAxsaL1KKaXcJ8AF26gC7jPGbBSRFsAGEVlmjNleq8wlQDf7Yyjwmv1fpZRSXqjBZw7GmIPGmI325WPADiDmlGKXA/8xNmuBViLSvqF1K6WUcg9XnDn8TETigQHAulNWxQD7az3Psb928JT3zwRmAoSFhQ3q2bOnK8NTyiUKdhYAEN0z2uJIlHK0YcOGw8aYBh+cLksOItIc+BS42xhTci7bMMbMAeYAJCcnm5SUFFeFp5TLzB42G4Bb195qcSRKORKRbFdsxyWjlUQkEFtieN8YM7+OIrlAbK3nHe2vKaWU8kINPnMQEQHeAHYYY56vp9gC4Pci8hG2juhiY8zBesoq5dWS7kiyOgSl3M4VzUojgeuBNBFJtb/2ENAJwBgzG1gETAR2A2XADBfUq5Ql2o/UsRSq8WtwcjDGrALkDGUMcEdD61LKGxRtLwIgISHB4kiUch+XjlZSqilIedw2UCJ5UrLFkSjlPjp9hlJKKQeaHJRSSjnQ5KCUUsqBJgellFIOtENaKSf1v6+/1SEo5XaaHJRyUptBbawOQSm302YlpZyUvyGf/A35VoehlFvpmYNSTkp9zjYRwLCpwyyORCn30TMHpZRSDjQ5KKWUcqDJQSmllANNDkoppRxoh7RSTkp+RCfcU42fJgelnBSZGGl1CEq5nSYHpZx08EfbTQz1fg6qMdM+B6WclPZKGmmvpFkdhlJupclBKaWUA00OSimlHGhyUEop5UCTg1JKKQc6WkkpJw19fKjVISjldpoclHJSeEK41SEo5XaaHJRy0v7l+wG9zkE1btrnoJSTdryxgx1v7LA6DKXcSpODUkopB5oclFJKOXBJchCRN0UkX0S21rP+PBEpFpFU+2OWK+pVSinlHq7qkH4beBn4z2nK/GCMmeSi+pRSSrmRS5KDMWaliMS7YltKebuRz460OgSl3M6TfQ7DRWSziCwWkd4erFcplwrrEEZYhzCrw1DKrTyVHDYCccaYfsA/gc/rKiQiM0UkRURSCgoKPBSaUs7Zu3AvexfutToMpdzKI8nBGFNijCm1Ly8CAkUkqo5yc4wxycaY5OjoaE+EppTTMj7IIOODDKvDUMqtPJIcRKSdiIh9eYi93kJP1K2UUsp5LumQFpEPgfOAKBHJAf4CBAIYY2YDVwG3iUgVcAK42hhjXFG3Ukop13PVaKVrzrD+ZWxDXZVSSvkAvUJaKaWUA52VVSknjXl5jNUhKOV2mhyUclJIZIjVISjldtqspJSTMudlkjkv0+owlHIrTQ5KOSlzfiaZ8zU5qMZNk4NSSikHmhyUUko50OSglFLKgSYHpZRSDnQoq1JOuuCNC6wOQSm30+SglJMCmunHRjV+2qyklJPS30sn/b10q8NQyq30J5BSTspelG1bmGVtHEq5k545KKWUcqDJQSmllANNDkoppRxoclBKKeVAO6SVctJFH1xkdQhKuZ2eOSillHKgyUEpJ2379za2/Xub1WEo5VbarKSUk3K/y7U6BKXcTs8clFJKOdDkoJRSyoEmB6WUUg60z0EpJ/kH+1sdglJup8lBKSeNe2uc1SEo5XbarKSUUsqBnjko5aQt/9wCQMILCRZHopT7uOTMQUTeFJF8Edlaz3oRkX+IyG4R2SIiA11Rr1JWyFuTR96aPKvDUMqtXNWs9DYw4TTrLwG62R8zgddcVK9SSik3cEmzkjFmpYjEn6bI5cB/jDEGWCsirUSkvTHmYH1vKEwv5O3z3v7Fa72n9Wbw7YOpLKvk/YnvO7yn/4396X9jf8oOlzH3qrkO65NvS6bP9D4U7y/ms+s/c1g//L7h9Li0B4fTD7Pwdwsd1o95ZAwJ4xPIS81jyd1LHNaP+/s4YkfEsn/1fpY/tNxh/YQXJ9Cufzuyvsli5eMrHdZP+tckonpEkf5lOmueW+OwfvK7kwmPDWfrx1tJeS3FYf20edMIjQol9e1UUt9OdVh/7aJrCQwNZP2r69k213H6hxu/vxGA1c+uJmNhxi/WBTYL5NrF1wKw4rEV7Fm+5xfrQ1uHMu3TaQB88+A35KzJ+cX6lh1bMuW9KQAsuXsJeam//OXduntrLp1zKQBfzvySwozCX6xv178dE160/f6Yf918SnJKfrG+4/COjH9iPABzr5xLWWHZL9Z3HteZsX8eC8D7l7xP5YnKX6zvPqk7I+4fAeBw3BUF+3HsgjgOdWxOVn4pOYPagoH37vic6BNVJBRXMnliD0bdPFCPPT32XHrsQcO/986Vp/ocYoD9tZ7n2F/7RXIQkZnYziyICY7xUGhK1S0zPJAf24eS1SoIjpQSK9V0aR1GTW4pRqCyXXN2RgSzqU0zFu7OY8r8NG7s28HqsJVyCbH9mHfBhmxnDguNMX3qWLcQeNIYs8r+fDnwP8YYx58gdsnJySYlpd7VSrnNvsIyZi3YyvfpBbRtGcz1w+K4rF8MnVqHAvDWhLcAmLFkBtU1htT9R5m7fj+fp+ZiDMwYFc/d47rTLEivh1CeJyIbjDHJDd2Op84ccoHYWs872l9Tyqt8timHP3++DQEemtiTG0bEExzwyy/5sa+O/XnZ308YFBfBoLgI7rmwO898nc6/VmSxfEc+L07vT5+YcA//D5RyDU9d57AA+I191NIwoPh0/Q1KeVpVdQ0Pf5bGPR9vJrF9S5bcM4aZY7o4JIbTaRcewnPT+vHuzUM4drKSq2avZlGaHubKN7lqKOuHwBqgh4jkiMjNInKriNxqL7IIyAJ2A/8GbndFvUq5wvHyKma+u4H31+3jd2MT+HDmMGJaNau3/MZnNrLxmY31rh/dLZqv7hpN7w7h3P7+RmavyHRH2Eq5latGK11zhvUGuMMVdSnlSmUVVcx4ez0pe4v438l9uHZo3Bnfc3jT4TOWiWoezPu3DOWP87bw5OKdVFTVcNe4bq4IWSmP0CukVZN1oqKaW95JIWVvES9dPYBL+7l2pFFIoD8vTu9PkL8fzy/LwE/g9xdoglC+QZODapJqagx/+GgTa7IKeX5aP5cnhp/4+wlPX9UXYwzPLs2gTcsQpiXHnvmNSllMk4Nqkp5aspOl2w8xa1Iikwd0dGtd/n7CU1f1Jf9YOQ/NT6NDeDNGdYtya51KNZTOyqqanI/+u49/rcziN8PjmDEy3un3h7YLJbRdqFPvCfT349XrBtIlujm3vbeBzIJSp+tVypM0OagmZUvOUWZ9sY0x3aOZNSkREXF6G6OeH8Wo50c5/b6WIYG8OWMwgQF+3PbeBsoqqpzehlKeoslBNRnFJyq544ONRDUP4qXp/Qnw9/zhH9OqGS9O78+u/FIe+WwrrpqhQClX0+SgmgRjDA98uoWDR0/yz18PJCIs6Jy3tf6x9ax/bP05v39M92j+MK4b8zflMjdl/5nfoJQFNDmoJuG9dftYvDWPP17cg0FxEQ3a1pEdRziy40iDtnHnBd0Y0aU1f/tyO9mFxxu0LaXcQZODavT2FZbx9692MLpbFL8d7R13b/P3E56d2g9/P+G+uZuprtHmJeVdNDmoRq2mxvDHeZsJ8BOeurIvfn7Od0C7S4dWzXj08t6kZB9hzsosq8NR6hc0OahG7d212azbU8Qjk3rR4TTzJVnliv4xTExqx/PL0knPO2Z1OEr9TJODarSyC4/z5OKdjO0e7dKrklvEt6BFfAuXbEtEePyKJJoHB/DQZ2nUaPOS8hKaHFSjZIzh4c+2EuAnPDEl6ZyuZ6jP8L8PZ/jfh7tse5FhQTzyq0Q2ZB/hw/X7XLZdpRpCk4NqlL5KO8iq3Ye5/+IeXtmcdKopA2MY0aU1Ty7eSX7JSavDUUqTg2p8SsureGzhdnp3aMl1w848Bbez1jy0hjUPrXHpNkWE/52cRHlVDY8u3O7SbSt1LjQ5qEbnxWUZ5B8r5/Er+uDvhtFJx/Ye49he13ced44K487zu7Jwy0FWZhS4fPtKOUOTg2pUdhws4a3Ve7lmSCcGdGrYxW5WmDk2gfjWoTy6cDuV1TVWh6OaME0OqtEwxjDri62ENwvkTxf3sDqccxIc4M8jv0pkd34p/1mTbXU4qgnT5KAajaXbD7F+7xHuv6gHrULPfe4kq43r1YYx3aN58ZsMCkvLrQ5HNVGaHFSjUFVdw9NLdtIlOoxpye69eU9ErwgiermvyUpEmDUpkRMV1Ty7NMNt9Sh1OnonONUozE3JIbPgOP+6fpDbp+Ie/OfBbt0+QNc2zblhRDxv/riHa4d2ok9MuNvrVKo2PXNQPq+soooXvslgUFwEFyW2tTocl7lrXDciQ4N4/Kvtet8H5XGaHJTPe+OHPRQcK+ehiT1deiV0fVbdu4pV965yez3hzQL5w/hurM0q4rv0fLfXp1RtmhyUTyssLedfK7O4KLEtg+IiPVJnWV4ZZXllHqnrmiGd6BwVxhOLdlKlQ1uVB2lyUD7tn9/u5kRlNX+a0NPqUNwi0N+PP13cg135pXy6McfqcFQToslB+ax9hWW8vy6bacmxdG3T3Opw3GZCn3YM7NSK55dlUFZRZXU4qonQ5KB81jNL0/H3E+4e383qUNxKRHhoYi8OlZTz5qo9VoejmgiXJAcRmSAi6SKyW0QeqGP9jSJSICKp9sctrqhXNV1bco7y5eYD3DIqgbYtQzxad9SAKKIGRHm0zuT4SC7u3ZbZK7I4rBfGKQ9ocHIQEX/gFeASIBG4RkQS6yj6sTGmv/3xekPrVU2XMYYnF+8kMiyI3431/D2hB/5xIAP/ONDj9f5pQk9OVFbz0je7PF63anpcceYwBNhtjMkyxlQAHwGXu2C7StVp5a7DrM4s5M4LutIiJNDqcDymS3RzrhkSy4f/3ceew8etDkc1cq5IDjHA/lrPc+yvnepKEdkiIvNEpM57NorITBFJEZGUggKdslg5qqmxnTV0igzl2qGuv1fD2Vhx+wpW3L7CkrrvGteNoAA/nl2abkn9qunwVIf0l0C8MaYvsAx4p65Cxpg5xphkY0xydHS0h0JTvuTz1Fx2HCzh/ot7EBRgzXiK8qPllB+1pt2/TYsQbhmdwFdbDrJ5/1FLYlBNgys+XblA7TOBjvbXfmaMKTTG/PRpeh0Y5IJ6VRNzsrKa55ZmkBQTzqSk9laHY5mZYxJoHRbEE4t36LQaym1ckRzWA91EpLOIBAFXAwtqFxCR2p/ky4AdLqhXNTHvrskm9+gJHrikJ35uuMObr2geHMBd42zTanyvd4xTbtLg5GCMqQJ+D3yN7Ut/rjFmm4g8KiKX2YvdJSLbRGQzcBdwY0PrVU1LcVklL3+3mzHdoxnZ1bPDSL3RNUM6Edc6lKcW76S6Rs8elOu5ZMpuY8wiYNEpr82qtfwg8KAr6lJN06srdlNyspIHvGCajHbD21kdAkEBftx/UQ/u/HATX6TmMmWge+9hoZoevUJaeb0DR0/w1o97mdw/hsQOLa0Oh7539qXvnX2tDoNfJbUnKSac55ZmcLKy2upwVCOjyUF5vReWZYCBey/qbnUoXsXPT3jwkp7kHj3Be2v1ftPKtTQ5KK+WnneMTzfm8JvhcXSMCLU6HACWz1jO8hnLrQ4DgBFdoxjTPZqXv9tN8YlKq8NRjYgmB+XVnlqyk7DgAO44v6vVofysurya6nLvacb5nwk9KD5RyewVmVaHohoRTQ7Ka63NKuTbnfncfl5XIsKCrA7Ha/XuEM4V/WN4c9Ue8opPWh2OaiQ0OSivZIzhicU7aR8ewoyR8VaH4/XuvbA7xtj7Z5RyAU0Oyist3prH5v1HuefC7oQE+lsdjteLjQzl+uFxfLJhP7sOHbM6HNUIaHJQXqeiqoZnvk6ne9vmXOmF4/djzo8h5vy65pa01h3ndyUsKICnv9ZJ+VTDaXJQXueDddnsOXycBy7pib8XTpPR+7e96f3b3laH4SAyLIhbz+vCsu2HSNlbZHU4ysdpclBepeRkJS8t38XwhNac36ON1eH4nJtGdqZNi2CeWLxTJ+VTDaLJQXmV177P5EhZJQ9N7IWI9501ACz99VKW/nqp1WHUqVmQP/dc2J0N2UdYuv2Q1eEoH6bJQXmNA0dP8OaqPUweEENSx3Crw/FZUwd1pEt0GE8v2UlVdY3V4SgfpclBeY1nl6ZjgPt0mowGCfD3408TepJZcJx5G3KsDkf5KE0OyitszS3ms025zBgZ7zXTZPiyixLbMigughe+yeBEhfdcza18hyYHZTnbBW87aNUskNvP855pMnyZiPDAJT05VFLOmz/usToc5YM0OSjLfZeez4+7C7nzgm6ENwu0OpwzipsYR9zEOKvDOKPB8ZGM79WW2d9ncuR4hdXhKB+jyUFZqryqmscW7iAhKozrhnn/Fy5Aj+t60OO6HlaHcVb+Z0IPjldU8Y9vd1kdivIxmhyUpd76cS97Dh9n1qWJBAX4xuFYdaKKqhNVVodxVrq1bcH0wZ34z5psMnRaDeUE3/g0qkbpUMlJ/rl8F+N7teE8H7rg7dubv+Xbm7+1Ooyz9seLe9AiJIBZX2zVC+PUWdPkoCzz1OKdVFYbHvlVotWhNGqRYUHcf1EP1mYVsXDLQavDUT4iwOoAvFF1jWHP4eNkFpSSWVBKfkk5R8oqfr7TVoCfEBzgT5uWwbRrGUJ8VBh9YsLpEB7itVf1epsN2UXM35TL7ed1IT4qzOpwGr1rhnTio/X7+N+vdnBBzzaEBetH/2xUVteQnneMzIJSsgqOk3/sJCUnqzh2sgo/gSB/P0KD/GkbHkKH8GbEtQ6ld4dwolsEWx16g+kRAtTUGNJyi1mZUcD67CNszD5Cafn/tym3CAkgIjSI8GaB+AlU1RhOVFTzffpJjtcaQx4ZFsTwhNac1yOa83q0aRQHiDtUVdfw58+30bZlsFfd4a0x8/cT/nZZH658bTX/+HYXD17Sy+qQvNbu/GMs2ZrHmqxCNmYf5USl7TMuAq3DgmnZLIAWwQEYbDMIH6+o4lBxORW1rkZv0yKYwZ0jGd01ilHdonzy2p0mmxxqagxrswpZvDWPZdsPkVdyEhHo0bYFVwzowIDYCLq2aU5CdBgtQuofXllyspLM/FK25haTur+YH3YV8FXaQfwERneLZmpyR8b3aqv3JKjlzR/3sP1gCbOvG6i/YD1oUFwEUwd15M1Ve5g6KJaubZpbHZLXKCwt5+OU/Xy+KZeMQ6WIQM92LZk+OJZBcRF0a9uc+NZh9X6Oa2oMh4+Xk5l/nG0HiknLLWZNZiFf2ZvxerZrwaS+7ZnUt4PPnCmLt3ZQJScnm5SUFJdvd39RGfM25DBvQw65R0/QLNCfsd2juTCxLef3bENkA29HaYxh24ESlmzNY/7GHA4Un6R1WBAzRsZz/bB4wkO9fxy/O+0vKuPCF1Ywuls0c64f5JPNcMueXgbAhX+60OJInHe4tJxxz62ge9vmfDxzOH5eOCW6J+3MK2HOiiwWbjlIRXUNg+MjmNS3AxP6tKNty5AGbdsYw+78UlZkFLB4ax4bso8A0C+2Fb8eEsul/ToQGuT6H0cissEYk9zg7TSF5GCMYdXuw7yxag/fpxcgAqO6RjE1OZaLEt33q766xrA68//rDQvy57rhcdw+tmuTTBLGGG58az0pe4tYdu9YOrRqZnVI5yQrKwuAhIQEiyM5N/M25HD/J5t59PLe/GZ4vNXhWCI97xgvLc9gUVoeYUH+XDmoI9cPi6Nb2xZuqzP36AkWbTnIJxv2k3GolBbBAUweGMN1w+Lo7sJ6NTmchZOV1XyRmsubq/aSfugYUc2DuW5YJ6YmxxLj4S+mHQdLmL0ikwWbD9AyJJA7L+jK9cPjCA5oOs1NX6Tm8oePUvnrpYncOLKz1eGcs+0p2wFITPbNUVbGGG54az0b9hbx9T1jfLI9/FzlHzvJU4vTmb8ph7CgAGaMjOfmUZ1pFdqwFgNnGGNIyT7C+2uzWbQ1j4qqGsZ2j2bmmARGdGnd4LNpTQ6nUVhazjtrsnl/bTaFxyvo1b4lN4/qzKX92lv+Zbz9QAlPLtnJyowC4lqH8tjlfRjTPdrSmDwhv+QkF7+4krjWYXx62wivvMPb2Zo9bDYAt6691eJIzl3OkTIuemElg+MjeXvGYJ9s3nNGRVUNb6/ewz+W76aiqoYZo+K5bWwXjyaFuhQdr+CDddm8vTqbw6Xl9O7QkpljEpiY1J5A/3O70sCrkoOITABeAvyB140xT56yPhj4DzAIKASmG2P2nm6b55Ic9hWW8e8fspibsp+K6hrG9WzDTaM6Mzyh4dnY1VZmFPDXBdvIOnycS/t14M+TetGmRcPaOL2VMYab3l7P6sxCFv1hNF2ifbsjtDEkB4B3Vu/lLwu28fSVfZk2ONbqcNxm24Fi7vk4lYxDpYzr2YZHJiXS2cs6hX9q5fj3D3vYnV9Kh/AQbhrVmauHdKK5k4M2vCY5iIg/kAFcCOQA64FrjDHba5W5HehrjLlVRK4GJhtjpp9uu84kh625xfxrZRZfbTmAv58wZUBHZo5N8PovoZOV1cxekcmr32USHOjH3y7rzeQBMV6XyBrqw//u48H5aT7fnPSTxpIcamoM176+js05R1l012ifGUVztqprDHNWZvH8snQiw4J4YkoSF/Rsa3VYp1VTY/g+I59/rchi3Z4iWoQEcO3QOGaMjD/rDnJvSg7Dgb8aYy62P38QwBjzRK0yX9vLrBGRACAPiDanqTwpKcl88cUX9dZrjGHTgTI+2lxISs5xQgP9uLRXK65MiiQqzLc6e/cdLefZFQfZeugEo+NbcM/odrRq1jiGeOaWVPDbeVkktm3G0xM74dcIEt+Sq5cAMOGjCRZH0nD5pZX89tMsOrQM4p+XxxPgw819teUdq+CJ7w6QlneCMZ1tn6nwEN/6TO3MP8HcLYWs3HMMP4FxXcOZ1rc1nSNPf/1Uly5dXJIcXLG3YoD9tZ7nAEPrK2OMqRKRYqA1cLh2IRGZCcwE6NGj7lkvK6sNK7JK+HRrEekFJ4lo5s8tQ6K5rFcEzYN9s3O3U6tgXrg0jk+2FPFWSgE3z8vi3tHtGRnvvpETnlBRVcPfluUQ6C/8aWyHRpEYGps2zQO5d3R7/vZNLu9sKODmwb4zx1VdjDEs21XCP3/MwwAPnNeeC7uF++TZeM82zZg1viMHSiqYl1bEkvSjfJ1RzJDYMKb3a03/9qFu/X95VSo1xswB5oCtWan2UMFDJSd5f90+Pli3j8Ol5SREhfH3yUlMGRjTaC4we6hrF6aMKOGejzfz56U5TEvuyKxLezvd5ugtHvosjd2F5bxxQzLDenn36bwzel7XE/DdoaynSkiAHUeFDzbkcGH/BJ+aBLG2o2UVPPzZVr5KO8jg+Aien9af2EjfH4mVAIzqD0eOV/De2mzeWbOX+xbuIykmnBkj45mY1N4t34Fe26yUnJxs1qz7LyvSC/h0Yw7Lth+i2hjO79GGG0bEM7prVKO9gKeiqoaXlmfw2veZdIwI5YXp/RkUF2F1WE75fFMud3+cyu/GJjS6qRp8/TqHupRVVDHl1dUcOHqCL+8cRVxr3+p/WLXrMPd9kkrR8QruubA7vxvTxadHxJ3Oycpq5m/M5fUfssg6fJyWIQFMHhDD1UM60at9S6/qcwjA1iE9DsjF1iH9a2PMtlpl7gCSanVITzHGTDvddmO69THtfvMChccraB0WxBUDYrh+WFyj6zQ7nfV7i7jn41QOHD3B7y/oxp0XdD3n4W2etDW3mKmz15AUE84Hvx1KgA/E7Iy0VWkAJI1KsjgS19pXWMalL6+ifXgI828f4Zard13tZGU1Ty3ZyVs/7qVrm+a8OL0/fWLCrQ7LI36aAujD9fv5emseFdU1JMWEs/Cu0d6RHABEZCLwIrahrG8aY/5XRB4FUowxC0QkBHgXGAAUAVcbY7JOt82Q9t3MjGc+4sqBHRnbI9onvhTdoeRkJX9dsI35G3PpH9uKF6b397pheLUdLD7BFa/8iL8In98xkjYNnILAGzWW0Up1WZlRwI1v/ZcJfdrx8jUDvfrsfPuBEu7+eBMZh0q5cUQ8D1zSs9E0MTvryPEK5m/K5YvUXL6804uSgzsMGDjIbNq4weowvMbCLQd4+LOtVFbXMGtSItMHx3pdJ9vx8iqmzl7DvqIyPrl1OL3at7Q6JLdozMkB4PUfsnj8qx3cOCKev1ya6HXHWXWN4d8/ZPHc0nQiQoN4Zmo/xjaBC0nPlqualbz2vLGxtheeq0l9OzAoLoL7P9nMA/PTWL4znyenJNG6uXdMC36iopqb31nPzrwS3rhxcKNNDE3BzaM6c7D4JG+s2kOblsHcfp73TKuec6SM++ZuZt2eIib0bscTU5KIaOBkmapuTbOtxke1D2/GuzcN5ZFf9WJFegEXv/gD36XnWx0WJyurmfluCuv2FPH8tP6c76OjXZSNiPDwxF5c1q8DTy9J5/UfTtsC7BHGGOau38+EF39ga24xz1zVl9euG6iJwY289sxB1c3PT7hldAKjukVx90epzHhrPb8ZHseDl/SiWZDn21vLKqq47b2N/LDrME9f2ZcrBsR4PAblen5+wrNT+1FVU8PjX+2gvKrGshszHSo5yQOfbuG79AKGJUTyzFX9GsUQVW+nycFH9WzXks/vGMmzX6fz+qo9/Lj7MC9OH0BSR8+N1CgsLeemt9eTllvMU1cmNer5eWrrdXPjGppbn6AAP/5x9QCC/DfzzNfpFB2v4O/jqN8AAA09SURBVKGJvTzW5GuMYf7GXB5duJ3yqmr+cmkiNwyP9+pO8sZEk4MPCwn055FJiZzfsw33zd3M5a+s4vphcdxzYXe3zza5Jecot7+/kcOl5cy5PpnxiY3nIrcziR3XNJIgQIC/H89N60+r0CDeWLWHrIJSXrpmAC1Pc3dEV8g4dIxHPt/Kf/cUMbBTK56d2o8EL58rrbHx2tFK7roTXGNVXFbJc8vSeW9tNuHNArn/4h5MT451+TUGNTWGd9bs5YlFO4luEcyr1w6kX2wrl9bh7TZ9swmAAeMHWByJZ723Npu/LNhGu5YhvDC9P0M6R7q8jsOl5bzy3W7eXZNN85AAHpjQk2nJsXq24ASvuQjOXTQ5nJsdB0v464JtrNtTRHzrUO44vyuTB8S4JEmk5x3joc/S2JB9hPN7RPP8tP5NskOwsQ9lPZ2N+45wz8ep7Csq47qhcdx7YXeXHANFxyt4+8c9vL5qDycrq5k+OJY/XtyzwbftbYo0Oah6GWNYtv0QLy3fxbYDJcS0asavh3ZianLHc7pnxK5Dx3j5u90s2HyA8GaB/PlXiUwZ2PimFj9bTTk5gO16lqeW7OS9tdk0Dw7gltEJXDu0k9PDqn+63/r76/Yxf2MO5VU1/CqpPfde1N3rp9v3Zpoc1BkZY1i+I583Vu1hTVYh/n7CkPhIxvVqw4guUXRr27zOK8+NMWQcKmV15mEWbD7Apn1HaRboz40j45k5OqFJni3U1tSTw0/S847x1JKdfLszn+AAP8b3astFvdsyPKF1vVfGl1VUkbrvKGuyCvkq7SBZBccJCvBjyoAYbhrV2aX3Um6qNDkop2QVlDJvQw7f7DhExqFSwDYaJTaiGdEtggkJ9Keq2nC4tJz9RWUcr6gGoFub5kxLjmXKwBivueDOapocfml3/jHeWZ3N4q15HC4tByCqeTAxrUJoFRqEAU5UVJF75AQHik8C4CcwpHMkl/WL4ZI+7Zr8Dw5X0uSgztn+ojI27jvC1txico6c4HBpORVVNfj7CRGhQXRqHUqvdi0Z3qW1jievgyaHulXXGFL3H2VLzlG2HSgh/1g5R8sq8BMhJNCPDuHNiI8KI6ljOMlxEbRw84inpqrRT5+h3Cc2MpTYyFAu768XrJ2LpDsa12ysruLvJwyKi/C56eVV3TQ5KOWk9iPbWx2CUm6ncysp5aSi7UUUbS+yOgyl3ErPHJRyUsrjtr6w5EkNbtZVymvpmYNSSikHmhyUUko50OSglFLKgSYHpZRSDrRDWikn9b+vv9UhKOV2mhyUclKbQXobVNX4abOSUk7K35BP/gbr792tlDvpmYNSTkp9LhWAYVOHWRyJUu6jZw5KKaUcaHJQSinlQJODUkopB5oclFJKOWhQh7SIRAIfA/HAXmCaMeZIHeWqgTT7033GmMsaUq9SVkp+RCfcU41fQ88cHgCWG2O6Acvtz+tywhjT3/7QxKB8WmRiJJGJkVaHoZRbNTQ5XA68Y19+B7iigdtTyusd/PEgB388aHUYSrlVQ5NDW2PMT5+SPKBtPeVCRCRFRNaKiCYQ5dPSXkkj7ZW0MxdUyoedsc9BRL4B2tWx6uHaT4wxRkRMPZuJM8bkikgC8K2IpBljMuuoayYwE6BTp05nDF4ppZR7nDE5GGPG17dORA6JSHtjzEERaQ/UOaeAMSbX/m+WiHwPDAAckoMxZg4wByA5Obm+RKOUUsrNGtqstAC4wb58A/DFqQVEJEJEgu3LUcBIYHsD61VKKeVGDU0OTwIXisguYLz9OSKSLCKv28v0AlJEZDPwHfCkMUaTg1JKebEGXedgjCkExtXxegpwi315NZDUkHqU8iZDHx9qdQhKuZ3OyqqUk8ITwq0OQSm30+SglJP2L98PQEJCgsWRKOU+OreSUk7a8cYOdryxw+owlHIrTQ5KKaUcaHJQSinlQJODUkopB5oclFJKOdDRSko5aeSzI60OQSm30+SglJPCOoRZHYJSbqfNSko5ae/CvexduNfqMJRyK00OSjkp44MMMj7IsDoMpdxKk4NSSikHmhyUUko50OSglFLKgSYHpZRSDnQoq1JOGvPyGKtDUMrtNDko5aSQyBCrQ1DK7bRZSSknZc7LJHNeptVhKOVWmhyUclLm/Ewy52tyUI2bJgellFIONDkopZRyoMlBKaWUA00OSimlHOhQVqWcdMEbF1gdglJup8lBKScFNNOPjWr8tFlJKSelv5dO+nvpVoehlFvpTyClnJS9KNu2MMvaOJRyJz1zUEop5aBByUFEporINhGpEZHk05SbICLpIrJbRB5oSJ1KKaXcr6FnDluBKcDK+gqIiD/wCnAJkAhcIyKJDaxXKaWUGzWoz8EYswNARE5XbAiw2xiTZS/7EXA5sL0hdSullHIfT3RIxwD7az3PAYbWVVBEZgIz7U/LRWSrm2NzhSjgsNVBnAWN07WibpPbfCJOfGR/4v1x+kKMAD1csZEzJgcR+QZoV8eqh40xX7giiJ8YY+YAc+z1phhj6u3H8BYap2tpnK6lcbqOL8QItjhdsZ0zJgdjzPgG1pELxNZ63tH+mlJKKS/liaGs64FuItJZRIKAq4EFHqhXKaXUOWroUNbJIpIDDAe+EpGv7a93EJFFAMaYKuD3wNfADmCuMWbbWWx+TkNi8yCN07U0TtfSOF3HF2IEF8UpxhhXbEcppVQjoldIK6WUcqDJQSmllANLk8Pppt8QkQft022ki8jF9by/s4iss5f72N7h7e6YPxaRVPtjr4ik1lNur4ik2cu5ZGiZk3H+VURya8U6sZ5ylk5tIiLPiMhOEdkiIp+JSKt6ylmyP8+0f0Qk2H5M7LYfi/Geis1ef6yIfCci2+2fpT/UUeY8ESmudSxYMmXgmf6GYvMP+77cIiIDLYixR639lCoiJSJy9yllLNmfIvKmiOTXvv5LRCJFZJmI7LL/G1HPe2+wl9klIjecVYXGGMseQC9sF2x8DyTXej0R2AwEA52BTMC/jvfPBa62L88GbvNw/M8Bs+pZtxeIsnDf/hW4/wxl/O37NgEIsu/zRA/HeREQYF9+CnjKW/bn2ewf4HZgtn35auBjD8fYHhhoX24BZNQR43nAQk/GdS5/Q2AisBgQYBiwzuJ4/YE8IM4b9icwBhgIbK312tPAA/blB+r6/ACRQJb93wj7csSZ6rP0zMEYs8MYU9fE+JcDHxljyo0xe4Dd2Kbh+JnY5uy4AJhnf+kd4Ap3xltH/dOADz1Vpxv8PLWJMaYC+GlqE48xxiw1thFtAGuxXQfjLc5m/1yO7dgD27E4Ts4wn4wrGWMOGmM22pePYRsRGOOp+l3scuA/xmYt0EpE2lsYzzgg0xiTbWEMPzPGrASKTnm59vFX33fgxcAyY0yRMeYIsAyYcKb6vLXPoa4pN0494FsDR2t9sdRVxp1GA4eMMbvqWW+ApSKywT4tiBV+bz89f7Oe082z2c+edBO2X451sWJ/ns3++bmM/VgsxnZsepy9SWsAsK6O1cNFZLOILBaR3h4N7P+d6W/obcfj1dT/488b9idAW2PMQftyHtC2jjLntF/dPreSeHD6DVc5y5iv4fRnDaOMMbki0gZYJiI77ZnfI3ECrwGPYftAPoatCewmV9Z/ts5mf4rIw0AV8H49m3H7/vRlItIc+BS42xhTcsrqjdiaRkrtfU+fA908HSM+9De0919eBjxYx2pv2Z+/YIwxIuKyaxPcnhzMuU2/cTZTbhRiO+0MsP9ic9m0HGeKWUQCsE1VPug028i1/5svIp9ha6Jw6QfhbPetiPwbWFjHKo9MbXIW+/NGYBIwztgbSevYhtv3Zx3OZv/8VCbHflyEYzs2PUZEArElhveNMfNPXV87WRhjFonIqyISZYzx6CRyZ/E39Kapdi4BNhpjDp26wlv2p90hEWlvjDlob4LLr6NMLrZ+kp90xNbPe1re2qy0ALjaPhKkM7as/N/aBexfIt8BV9lfugHw1JnIeGCnMSanrpUiEiYiLX5axtbp6tEZZk9pq51cT/2WT20iIhOAPwGXGWPK6ilj1f48m/2zANuxB7Zj8dv6Epw72Ps33gB2GGOer6dMu5/6QURkCLbPvacT2Nn8DRcAv7GPWhoGFNdqMvG0elsGvGF/1lL7+KvvO/Br4CIRibA3L19kf+30PN3jfkov+mRs7V/lwCHg61rrHsY2UiQduKTW64uADvblBGxJYzfwCRDsobjfBm495bUOwKJacW22P7Zhaz7x9L59F0gDttgPoPanxml/PhHbCJdMi+Lcja09NNX+mH1qnFbuz7r2D/AotmQGEGI/9nbbj8UED++/UdiaDrfU2ocTgVt/OkaxTV+zzb7/1gIjLPg71/k3PCVOwXZjsEz7sZvs6TjtcYRh+7IPr/Wa5fsTW7I6CFTavzdvxta/tRzYBXwDRNrLJgOv13rvTfZjdDcw42zq0+kzlFJKOfDWZiWllFIW0uSglFLKgSYHpZRSDjQ5KKWUcqDJQSmllANNDkoppRxoclBKKeXg/wBOkrov8RxyNgAAAABJRU5ErkJggg==\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2OI8JVY6cxZw" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ly5b30kjcxZx" + }, + "source": [ + "$$ \\lim_{x \\to \\infty} \\frac{25}{x} $$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-WbP-XFncxZy" + }, + "source": [ + "def inf_fxn(my_x):\n", + " my_y = 25/my_x\n", + " return my_y" + ], + "execution_count": 31, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "C-35M67YcxZ3", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6f9d8aad-9b78-4ef9-db53-9c6364f078a1" + }, + "source": [ + "inf_fxn(1e3)" + ], + "execution_count": 32, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.025" + ] + }, + "metadata": {}, + "execution_count": 32 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "jZ88FSTfcxZ5", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "37e7e9c8-543c-4544-d89e-03fba4aa06e0" + }, + "source": [ + "inf_fxn(1e6)" + ], + "execution_count": 33, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "2.5e-05" + ] + }, + "metadata": {}, + "execution_count": 33 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "PwTJXJWWeDZT" + }, + "source": [ + "y = inf_fxn(x)" + ], + "execution_count": 34, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "AwwKi3RMeBjV", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "62e656c7-3561-4946-fd17-30eee548f2be" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.xlim(-10, 10)\n", + "plt.ylim(-300, 300)\n", + "_ = ax.plot(x, y)" + ], + "execution_count": 35, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAD8CAYAAABpcuN4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAfZElEQVR4nO3deZAcZ5nn8e9TWVV9qFtH67Yk25ItLIzBlxDyDp7FmEP2ssgw4LDZXTyGXcGuPQEbszFhj2NhZjzEcLPjWAyhAXYMQWDMgMcCBL7GHoYdbCyxvi1ZbdlCkmXdd59V9ewf+Xar1O67siu7q36fiI7KevPtrEep6v71m29mlrk7IiIiQ8mkXYCIiExuCgoRERmWgkJERIaloBARkWEpKEREZFgKChERGVbFQWFmjWb2WzN7ysyeM7O/DO1LzexxM2s3sx+aWT60N4Tn7WH92ZXWICIiEyeJEUU38E53vxC4CFhjZquBLwBfc/dzgcPAx0P/jwOHQ/vXQj8REZmkKg4Kj50IT3Phy4F3Av8Q2u8CrgnLa8NzwvorzcwqrUNERCZGNomNmFkEbAbOBb4OvAQccfdC6LILWBSWFwE7Ady9YGZHgdnAgQHbXAesA5g2bdqlK1asSKJUkUS9sOcYhVJ8d4MLFs1Af/HIZLJ58+YD7j630u0kEhTuXgQuMrOZwL1Axb/V3X09sB5g5cqVvmnTpko3KZK4Vbffz76T8d9D//rXa2jIRilXJHKKme1IYjuJnvXk7keAR4DLgJlm1hdEi4HdYXk3sAQgrJ8BHEyyDpE0lEppVyAyMZI462luGElgZk3Au4EXiAPjQ6HbDcB9YXlDeE5Y/0+uOxNKDSjqbSw1KolDTwuBu8I8RQa4x91/ZmbPA3eb2V8D/w/4duj/beB7ZtYOHAKuS6AGkdQVSwoKqU0VB4W7Pw1cPEj7dmDVIO1dwIcrfV2RyaakoJAapSuzRRKiQ09SqxQUIgnRiEJqlYJCJCEaUUitUlCIVCgTrrIrFBUUUpsUFCIVikJS9BR1IYXUJgWFSIVyISg0opBapaAQqVA2BEWvRhRSoxQUIhXKhp8iBYXUKgWFSIVOjSh06Elqk4JCpELZqG+OQiMKqU0KCpEKZXXWk9Q4BYVIhbI660lqnIJCpEI660lqnYJCpALOqTkKHXqSWqWgEKmQLriTWqegEKmQDj1JrVNQiFSo/4I73WZcapSCQqRCfXMUvQWNKKQ2KShEKtQ/R1FSUEhtUlCIVEi38JBap6AQqVCkyWypcQoKkQplLA4LBYXUKgWFSAJykek6CqlZCgqRBOQyGV2ZLTVLQSGSgFw2oxGF1CwFhUgCspqjkBqmoBBJQC7K6PRYqVkVB4WZLTGzR8zseTN7zsw+FdrbzOxBM9sWHmeFdjOzO8ys3cyeNrNLKq1BJG25SCMKqV1JjCgKwJ+6+/nAauAmMzsfuAV42N2XAw+H5wBXAcvD1zrgGwnUIJKqXJTRldlSsyoOCnff4+6/C8vHgReARcBa4K7Q7S7gmrC8Fviuxx4DZprZwkrrEElTNsrQU9ChJ6lNic5RmNnZwMXA48B8d98TVr0GzA/Li4CdZd+2K7SJTFl5HXqSGpZYUJhZC/Bj4NPufqx8nbs78YeBjWV768xsk5lt2r9/f1JlikyIrA49SQ1LJCjMLEccEt9395+E5r19h5TC477QvhtYUvbti0Pbadx9vbuvdPeVc+fOTaJMkQmTi4xeHXqSGpXEWU8GfBt4wd2/WrZqA3BDWL4BuK+s/aPh7KfVwNGyQ1QiU0pfNOQiXZkttSubwDb+APhPwDNm9mRo+3Pg88A9ZvZxYAdwbVi3EbgaaAc6gBsTqEEkNQY05SL2H+9OuxSRCVFxULj7r4l/VgZz5SD9Hbip0tcVmUya8hGdvcW0yxCZELoyWyQBzfmIjh4FhdQmBYVIAhpzEV0KCqlRCgqRBDTnIzp6i8RHVkVqi4JCJAFNuYhiyXXmk9QkBYVIApry8XkhXT0KCqk9CgqRBDTlIgA6egspVyKSPAWFSAKa83FQdGpCW2qQgkIkAY19IwoFhdQgBYVIAvpGFF266E5qkIJCJAFNeY0opHYpKEQS0DeZrdt4SC1SUIgkoEmT2VLDFBQiCeg/60kjCqlBCgqRBDTprCepYQoKkQS0NMRXZh/v6k25EpHkKShEEpCNMkzLRxztVFBI7VFQiCRkRlNOQSE1SUEhUoHyu4pPb8pxrFP3epLao6AQqZTFnwQ8oynHMY0opAYpKEQSokNPUqsUFCIJUVBIrVJQiCREQSG1SkEhkpAZTTk6e4v0FPQpd1JbFBQiCZnRnAPQqEJqjoJCJCGzmvMAHDrZk3IlIslSUIgkZF5rAwD7jnelXIlIshQUIgmZN70RgH3HulOuRCRZCgqRhJwaUSgopLYkEhRm9h0z22dmz5a1tZnZg2a2LTzOCu1mZneYWbuZPW1mlyRRg0japjVkmZaPdOhJak5SI4q/B9YMaLsFeNjdlwMPh+cAVwHLw9c64BsJ1SCSunnTGzWikJqTSFC4+6+AQwOa1wJ3heW7gGvK2r/rsceAmWa2MIk6RNI2t7WB/ZqjkBozkXMU8919T1h+DZgflhcBO8v67QptpzGzdWa2ycw27d+/fwLLFEnOoplN7D7SmXYZIomqymS2uzvgI3Y8/XvWu/tKd185d+7cCapMJFlL2pp59Winrs6WmjKRQbG375BSeNwX2ncDS8r6LQ5tIlPeWW3NuKNRhdSUiQyKDcANYfkG4L6y9o+Gs59WA0fLDlGJTGlnzm4GYMfBkylXIpKcbBIbMbMfAO8A5pjZLuCzwOeBe8zs48AO4NrQfSNwNdAOdAA3JlGDyGRwVlscFL8/1JFyJSLJSSQo3P36IVZdOUhfB25K4nVFJpu5rQ20NmTZtvdE2qWIJEZXZoskyMw4b0ErW187nnYpIolRUIhUyAY8P29BK1teO0Y8eBaZ+hQUIglbsXA6x7oKOvNJaoaCQiRhFy+ZCcDmHYdTrkQkGQoKkYS9ceF0Whuy/PblgXe1EZmaFBQiCYsyxiVnzeKJVxQUUhsUFCITYNXSNl7ce4KDJ3SDQJn6FBQiE+Dy5XMAeHjLvhF6ikx+CgqRCfDmRTNYNLOJXz77WtqliFRMQSEyAcyMNRcs4NfbDnC0szftckQqoqAQmSDXXLSInmKJH2/elXYpIhVRUIhMkDcvnsHFZ87ku795hVJJV2nL1KWgEJlAN/7BUl452MHPn9Gd9GXqUlCITKB/9+aFrFjQypcf2KpPvZMpS0EhMoGijHHLVSvYcbCDOx7elnY5IuOioBCZYO84bx4fvnQxdz7azuYdulpbph4FhUgVfObfn8/iWc184nub+f1BffqdTC0KCpEqaG3M8X9ufCuFkvMfv/24PlNbphQFhUiVnDO3hbtuXMXxrl7+6Bu/4TcvHUy7JJFRUVCIVNGFS2byo09exvTGLB/51mN88Zdb6Owppl2WyLAUFCIVGM/HnZ47r5Wf/snb+aNLFnPnoy/xzq88yo8376K3qNNnZXJSUIhUaOBnZo/GtIYsX/7whdzzicuY3ZLnT3/0FJd/4RG+8ehL7D3WlXiNIpXIpl2ASD1btbSNDTe9nX9+cT9/9y/b+cIvt/DF+7eweulsrn7LQv5w+RzOmj0t7TKlzikoRFKWyRhXrJjHFSvm0b7vBD996lV++tSr/M9/fBaAJW1NrF46mwuXzOTCxTM5b0Er+awOBkj1KChEJpFz57Xw39/9Bj79ruW8fOAkv24/wL9sO8CDL+zlR+EutPlshnPmtnDO3GmcM7eFZeFx8awmZjTlMBvPwTCRoSkoRCYhM2PZ3BaWzW3ho5edjbuz63AnT+06wtO7jrJt73Ge3nWUnz+zh/L59KZcxMKZjZwxo4kzZjayYHojbdPytLU0MGdanraWfPy8OU820qhERkdBITIFmBlL2ppZ0tbM+95yRn97V2+RVw6e5OX9J9l9pJNXj3Sx52gnrx7t4pGt+zlwopuhTsya0ZRjelOWloYcrY1ZpjdmaW3M0dKQpTUstzZmaWnI0pSPaMpF/Y+NZctNuYiGbIZMRiOZWpVaUJjZGuBvgQj4lrt/Pq1aRKaqxlzEigXTWbFg+qDrC8USRzp7OXSyhwMnujl0sodDJ3s4eCJ+PN7Vy4nuAse6Cuw+0sXxruOc6C5wvKtAcYyfodGYy5wKjlxELjLy2Qy5KEM+ypDPxo+5KEMu29dm/W39ffv7GdkoQzZjRBkjGxlRpux5/2OmbP0g7ad9/+vbM9b3iA7bDSGVoDCzCPg68G5gF/CEmW1w9+fTqEekVmWjDHNaGpjT0sAb5reO+vvcnc7eIie6ChzvLtDZU6S7UKSzp0Rnb5HO3iJdPcX+5c6eIl298Vdnb5Gu3hK9xRI9hRI94fFkd4HDxRK9Be9v6yme6tdbLNFbTP8DnspDI7J4OWNGJvP65cgMMyOTIfQ1zOgPIDMjyoTvGWJbUSZso2x7ZsQ1EG/b6Gsre4RB+8KpbSclrRHFKqDd3bcDmNndwFpg0KDo7u5m+/btVSxPZHQcKBaLNf3+NKA5fM2KiI8BNA7skSWJXycldwolp1B0ektOsQTFklP0sOweP+9fHqzNKXr4vvJlL9/eqfUlByd+jL8cH7BcHKSt5H3fG2/LGez7S6e3hRoLDiWgVHJKxME88PUJ23NOba9vH3l4Xff4e/teu289Zc+TkFZQLAJ2lj3fBbytvIOZrQPWAbQuWs6nNrxSlqYhPY3T0rXvr4D+dsr697UTrzMzMjAgpQfZrjFiPxvidV5XT/gLJer76yM8RhkjCn+FRBafLjlcv0xZ/0z/95X11xBapqiMGfnIyEdpV1IbzvnLZLYzaSez3X09sB5g9tlv9Jbm5gFJ7vSGNC2VytI9rOtL8/L+pdKp5O77C+JUkjul0ul/KQx8van0scenwsPCseIo/gEMx4HLjwXHba8/nnzaceOwPp8Nx6Hz2fCYoSl3arKzOX/6RGdU4xOcxotEUcSyZcvSLkVkwqQVFLuBJWXPF4e2QS2dM40frFs94UWNxmnBMnAI6oOET9/QtX+YGw+ti2Vf8fMSxRIUSqX+tlJp+L7FUum09YP1LRTjPj1lx4H7HrvDY2dvkaOdrz+m3HfMuK9tPPqCpe9MmulNOaY35pjev1zW1pRlRlOeua155rQ06JoAkUkiraB4AlhuZkuJA+I64CMp1TIm8QQXROO6w8/U5e70Fp3uQjxR2Vk2kdnRU4gnMXtKp5Z7i3T0nJr0PB7OpDnW2cvuI5280NnL8a5ejncXhjx9Mx9lmN2SD5Oxeea1NrJoVhNL2ppYMquZxbOamdfaoNMyRSZYKkHh7gUzuxm4n3hq7Dvu/lwatcjomFl8KmM2Q2vjyP1Hq1RyTvTEAXKss8CRjh72n+hm//FuDpyIT+k8cKKb/Se6ee7VY+w73n3a9+ezGc5sa+a8+a2ctyD+euOC6Sxpa9JoRCQhqc1RuPtGYGNary+TQyZj4VBUDmaN3L+rt8juI53sPNTBzsOd7Drcwfb9J3n21aNsfPbUVcqzp+VZefYs3np2G29bOpsLFk1XcIiM06SdzBYZTGMuCvc5annduo6eAi/uPcHzrx5j045DbHrlMPc/txeABdMbeff587nqggWsXjZbh6tExkBBITWjOZ/loiUzuWjJTD7ytjMB2HusK76p3vOv8aPNO/neYzs4a3Yz1686k+tXncmMplzKVYtMfgoKqWnzpzfyoUsX86FLF9PZU+SB51/j+4//ns//Ygt3PtLOf7l8Gf/58mU06cR9kSHp9pFSN5ryEWsvWsQ9n7iMn/3J21m1tI2vPPgi7/1fv+L/th8Y1zan0KU1IuOmoJC6dMGiGXzrhrdy97rVRBnjP3zrcf72oW2UxnFVpebIpdYpKKSurV42m1986nI+ePEivvbQi3z6h09SGOfFhSK1SnMUUvcacxFfufZCzpnXwpfu30rG4KvXXqQzo0QCBYUI8QWFN11xLu7Olx94keXzW7npinPTLktkUtChJ5EyN11xLu+/8Ay+8sBWHtt+MO1yRCYFBYVIGTPjbz74ZhbPaubPf/IM3YVi2iWJpE5BITLAtIYst19zAdsPnOSuf30l7XJEUqegEBnEv33DXC5fPof1v9pOR08h7XJEUqWgEBnCp65czoETPdzzxM6RO4vUMAWFyBBWnt3GmxfN4O4nduJDfWiGSB1QUIgM49q3LmHLa8d5ZvfRtEsRSY2CQmQY77/wDHKR8fNn9qRdikhqFBQiw5jRlOOtZ7fxyJZ9aZcikhoFhcgI3rliHi/uPcHOQx1plyKSCgWFyAiuWDEPgH9+cX/KlYikQ0EhMoJlc6Yxp6WB3+04nHYpIqlQUIiMwMy49KyZbP69gkLqk4JCZBQuOXMWOw52cOhkT9qliFSdgkJkFM4/YzoAW/YcS7kSkepTUIiMwooFISheO55yJSLVp6AQGYW5rQ3MnpZnq4JC6pCCQmSU3jC/lW37FBRSfxQUIqN01uxmfn+oM+0yRKquoqAwsw+b2XNmVjKzlQPW3Wpm7Wa21czeW9a+JrS1m9ktlby+SDUtaWvmwIluTnbr8ymkvlQ6ongW+CDwq/JGMzsfuA54E7AGuNPMIjOLgK8DVwHnA9eHviKT3pltzQDsPKxbeUh9qSgo3P0Fd986yKq1wN3u3u3uLwPtwKrw1e7u2929B7g79BWZ9M6aHQfFjoMKCqkvEzVHsQgo/1iwXaFtqPbXMbN1ZrbJzDbt36977Ej6Fs+Kg2L3Yc1TSH3JjtTBzB4CFgyy6jZ3vy/5kmLuvh5YD7By5Up9vJikblZzjlxk7DvenXYpIlU1YlC4+7vGsd3dwJKy54tDG8O0i0xqZsbclgb2He9KuxSRqpqoQ08bgOvMrMHMlgLLgd8CTwDLzWypmeWJJ7w3TFANIombO72R/RpRSJ2p9PTYD5jZLuAy4Odmdj+Auz8H3AM8D/wSuMndi+5eAG4G7gdeAO4JfUWmhHmtDew7pqCQ+jLioafhuPu9wL1DrPsc8LlB2jcCGyt5XZG0zGttYNMrh9IuQ6SqdGW2yBjMa23kcEcvPYVS2qWIVI2CQmQMZrfkAfS5FFJXFBQiYzCjKQfAsa7elCsRqR4FhcgY9AXF0U4FhdQPBYXIGPQHRYeCQuqHgkJkDDSikHqkoBAZAwWF1CMFhcgYTB8QFK67kEkdUFCIjEGUMVobsqeNKMxSLEikChQUImM0vSnHMR16kjqioBAZoxlNOc1RSF1RUIiM0fSmLMe79LnZUj8UFCJj1JzP0tGroJD6oaAQGaOmfERnTzHtMkSqRkEhMkZNOQWF1BcFhcgYNecjOnsVFFI/FBQiY9SUU1BIfVFQiIxRYy6iq7dEqaTLsqU+KChExqg5HwHQVdCoQuqDgkJkjJpCUHRoQlvqhIJCZIyacnFQ6MwnqRcKCpEx6htRaEJb6oWCQmSM+uYoNKKQeqGgEBmjxpzmKKS+KChExqg5nwWgS4eepE4oKETGqEkjCqkzCgqRMeo/60kjCqkTFQWFmX3JzLaY2dNmdq+ZzSxbd6uZtZvZVjN7b1n7mtDWbma3VPL6ImnoP+upp4CuzZZ6UOmI4kHgAnd/C/AicCuAmZ0PXAe8CVgD3GlmkZlFwNeBq4DzgetDX5EpI5+Nf2y6CyUADH1ottS2ioLC3R9w975PcHkMWByW1wJ3u3u3u78MtAOrwle7u2939x7g7tBXZMpoCEHRUyylXIlIdSQ5R/Ex4BdheRGws2zdrtA2VLvIlJGPQlAUFBRSH7IjdTCzh4AFg6y6zd3vC31uAwrA95MqzMzWAesAzjzzzKQ2K1KxTMbIZkxBIXVjxKBw93cNt97M/hh4H3Clu/fN7e0GlpR1WxzaGKZ94OuuB9YDrFy5UnOGMqnksxkFhdSNSs96WgP8GfB+d+8oW7UBuM7MGsxsKbAc+C3wBLDczJaaWZ54wntDJTWIpCEXZejVHIXUiRFHFCP430AD8KCZATzm7p909+fM7B7geeJDUje5exHAzG4G7gci4Dvu/lyFNYhUXT6b0WS21I2KgsLdzx1m3eeAzw3SvhHYWMnriqQtH2X6T48VqXW6MltkHBo0RyF1REEhMg6azJZ6oqAQGQdNZks9UVCIjIMms6WeKChExiEf6dCT1A8Fhcg4ZCOjUNJ1oFIfFBQi45DNGIWigkLqg4JCZByymsyWOqKgEBmHXGQUdehJ6oSCQmQcokxGcxRSNxQUIuOQy5gOPUndUFCIjEM2HHpyDSqkDigoRMYhymTo1VlPUicUFCLjkIuMQkmHnqQ+KChExiGbyeg6CqkbCgqRcchqRCF1REEhMg66MlvqiYJCZByyka6jkPqhoBAZh1zGACjq/FipAwoKkXGIohAUGlVIHVBQiIxDLhP/6Ojwk9QDBYXIOGTDiEKfXST1QEEhMg7ZMEchUg8UFCLjkFFQSB1RUIiMQ2QKCqkfCgqRcdCIQuqJgkJkHDSikHqioBAZh4x+cqSOVPR2N7PbzexpM3vSzB4wszNCu5nZHWbWHtZfUvY9N5jZtvB1Q6X/AJE0ZDSikDpS6d9FX3L3t7j7RcDPgM+E9quA5eFrHfANADNrAz4LvA1YBXzWzGZVWINI1UWao5A6UlFQuPuxsqfTgL7LVNcC3/XYY8BMM1sIvBd40N0Pufth4EFgTSU1iKRBcxRST7KVbsDMPgd8FDgKXBGaFwE7y7rtCm1DtQ+23XXEoxGAbjN7ttJaq2AOcCDtIkZBdSboDphzxw2Tv06myP5katQ5FWoEOC+JjYwYFGb2ELBgkFW3uft97n4bcJuZ3QrcTHxoqWLuvh5YH2rY5O4rk9juRFKdyVKdyVKdyZkKNUJcZxLbGTEo3P1do9zW94GNxEGxG1hStm5xaNsNvGNA+6Oj3L6IiKSg0rOelpc9XQtsCcsbgI+Gs59WA0fdfQ9wP/AeM5sVJrHfE9pERGSSqnSO4vNmdh5QAnYAnwztG4GrgXagA7gRwN0PmdntwBOh31+5+6FRvM76CuusFtWZLNWZLNWZnKlQIyRUp7k+oUtERIah60tFRGRYCgoRERnWpAkKM/uwmT1nZiUzWzlg3a3hdiBbzey9Q3z/UjN7PPT7oZnlq1DzD8PtS540s1fM7Mkh+r1iZs+EfomcrjbGOv/CzHaX1Xr1EP3WhH3cbma3pFDnl8xsS7jty71mNnOIfqnsz5H2j5k1hPdEe3gvnl2t2sLrLzGzR8zs+fCz9KlB+rzDzI6WvRc+M9i2qlDrsP+Hw90GqIo1nle2n540s2Nm9ukBfVLZn2b2HTPbV359mZm1mdmD4fZIDw5114tx3UbJ3SfFF/BG4otDHgVWlrWfDzwFNABLgZeAaJDvvwe4Lix/E/ivVa7/K8Bnhlj3CjAnxX37F8D/GKFPFPbtMiAf9vn5Va7zPUA2LH8B+MJk2Z+j2T/AfwO+GZavA35Y5RoXApeE5VbgxUFqfAfws2rWNZ7/Q+KTYX4BGLAaeDzleiPgNeCsybA/gT8ELgGeLWv7InBLWL5lsJ8foA3YHh5nheVZI73epBlRuPsL7r51kFVrgbvdvdvdXyY+k2pVeQczM+CdwD+EpruAayay3kFe/1rgB9V6zQmwCmh39+3u3gPcTbzvq8bdH3D3Qnj6GPF1NpPFaPbPWuL3HsTvxSvDe6Mq3H2Pu/8uLB8HXmCIOx9MAUPdBigtVwIvufuOFGvo5+6/AgaeMVr+/hvqd+C4bqM0aYJiGKO57cds4EjZL5khbw0yQS4H9rr7tiHWO/CAmW0OtyZJw81hCP+dIYako769SpV8jPgvysGksT9Hs3/6+4T34lHi92bVhcNeFwOPD7L6MjN7ysx+YWZvqmphp4z0fzjZ3o/XMfQfgpNhfwLM9/h6NYhHP/MH6TOu/VrxvZ7Gwka4HUg1axmtUdZ8PcOPJt7u7rvNbB7woJltCX8RVKVO4rv33k78w3k78WGyjyX5+qM1mv1pZrcBBeKr/Qcz4ftzKjOzFuDHwKf99Bt3AvyO+PDJiTBX9Y/Ed3mutinzfxjmO98P3DrI6smyP0/j7m5miV37UNWg8NHfDqTcULcDKXeQeGiaDX/JDdZnXEaq2cyywAeBS4fZxu7wuM/M7iU+jJHoD8Vo962Z/R3xLeEHGs1+rtgo9ucfA+8DrvRwUHWQbUz4/hzEaPZPX59d4X0xg/i9WTVmliMOie+7+08Gri8PDnffaGZ3mtkcd6/qDe5G8X9YlffjKF0F/M7d9w5cMVn2Z7DXzBa6+55wmG7fIH3GdRulqXDoaQNwXTijZClxWv+2vEP4hfII8KHQdANQrRHKu4At7r5rsJVmNs3MWvuWiSdsq3on3AHHdj8wxOs/ASy3+OyxPPFQe0M16utjZmuAPwPe7+4dQ/RJa3+OZv9sIH7vQfxe/Kehwm4ihPmQbwMvuPtXh+izoG/exMxWEf8OqHaYjeb/cKjbAKVhyCMGk2F/lil//w31O3B8t1Gq9mz9MLP4HyA+XtYN7AXuL1t3G/EZJ1uBq8raNwJnhOVlxAHSDvwIaKhS3X8PfHJA2xnAxrK6ngpfzxEfYqn2vv0e8AzwdHgzLRxYZ3h+NfGZMi+lVGc78fHTJ8PXNwfWmeb+HGz/AH9FHGwAjeG91x7ei8uqvP/eTnx48emyfXg18a11Phn63Bz221PEJwz8mxT+nwf9PxxQpwFfD/v6GcrOhKxyrdOIf/HPKGtLfX8SB9ceoDf83vw48XzYw8A24CGgLfRdCXyr7Hs/Ft6j7cCNo3k93cJDRESGNRUOPYmISIoUFCIiMiwFhYiIDEtBISIiw1JQiIjIsBQUIiIyLAWFiIgM6/8DM/tprxrdkeIAAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "2Rjoo4OKbmnB" + }, + "source": [ + "left_x = x[x<0]\n", + "right_x = x[x>0]" + ], + "execution_count": 36, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "sb9QiH6vcxZ0" + }, + "source": [ + "left_y = inf_fxn(left_x)\n", + "right_y = inf_fxn(right_x)" + ], + "execution_count": 37, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "vleskD0VcxZ7", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 269 + }, + "outputId": "2285c253-e386-48d8-ba91-4a9b7cbc15e5" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.xlim(-10, 10)\n", + "plt.ylim(-300, 300)\n", + "ax.plot(left_x, left_y, c='C0')\n", + "_ = ax.plot(right_x, right_y, c='C0')" + ], + "execution_count": 38, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAD8CAYAAABpcuN4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAfUklEQVR4nO3deZCcd33n8fe3n+6eQzM6RoclS7It2cLCGHwwCHmDsxhzyF4WGRJcNruLY9gV7NopqMpWyo5rIQmhgsO1oZajFMzGUC6MCTgWIPAVO8CCD4n4tmWNZQlJtnXfc3b3d/94fjNqjefuZ/qZ6f68qqb66d/z66e/etQzn/n9nmPM3RERERlOJu0CRERkalNQiIjIiBQUIiIyIgWFiIiMSEEhIiIjUlCIiMiIKg4KM2s0s8fM7Ekze9bM/iq0LzOzR82sw8x+YGb50N4QnneE9WdVWoOIiEyeJEYUPcC73P0C4EJgjZmtBm4Fvuru5wCHgI+H/h8HDoX2r4Z+IiIyRVUcFB47Hp7mwpcD7wL+KbTfDlwVlteG54T1l5uZVVqHiIhMjmwSGzGzCNgMnAN8HXgJOOzuhdBlF7A4LC8GdgK4e8HMjgBzgf2DtrkOWAcwY8aMt65cuTKJUkUS1dPTw4HOAgc6C5y/eBb6jUemks2bN+939/mVbieRoHD3InChmc0G7gYq/qnu7uuB9QDt7e2+adOmSjcpkrht27Zxx7/t57bH9/Gbv1lDQzZKuySRAWa2I4ntJHrWk7sfBh4CLgFmm1l/EC0Bdofl3cBSgLB+FnAgyTpEqikThhGlUrp1iEyWJM56mh9GEphZE/Ae4HniwPjj0O064J6wvCE8J6z/F9edCWUay4RDbEV9jKVGJTH1tAi4PRynyAB3uftPzew54E4z+xvg34DbQv/bgO+ZWQdwELgmgRpEUtM/oiiWFBRSmyoOCnd/CrhoiPZtwKoh2ruBD1f6viJTRRSSoqSgkBqlK7NFKjQwotDUk9QoBYVIhfqPUWhEIbVKQSFSIY0opNYpKEQqlIvipCgUFRRSmxQUIhXKhiFFb1EXUkhtUlCIVKg/KDSikFqloBCpUH9Q9GlEITVKQSFSIQWF1DoFhUiFTgaFpp6kNikoRCqUHTjrSSMKqU0KCpEKZcN3kc56klqloBCpUE5nPUmNU1CIVCjSwWypcQoKkQr1X5mtqSepVQoKkQpFmnqSGqegEKlQTlNPUuMUFCIVGriOQrcZlxqloBCp0EBQFDSikNqkoBCp0MBtxksKCqlNCgqRCkXhu0i38JBapaAQqZBuCii1TkEhUqGMGVHGFBRSsxQUIgnIRabrKKRmKShEEpDLZHRlttQsBYVIAnLZjEYUUrMUFCIJyOoYhdQwBYVIAnJRRqfHSs2qOCjMbKmZPWRmz5nZs2b2qdDeZmb3m9nW8DgntJuZfc3MOszsKTO7uNIaRNKWizSikNqVxIiiAPyZu58HrAZuMLPzgJuAB919BfBgeA5wBbAifK0DvplADSKpykUZXZktNavioHD3V939d2H5GPA8sBhYC9weut0OXBWW1wLf9dgjwGwzW1RpHSJpykYZeguaepLalOgxCjM7C7gIeBQ4zd1fDateA04Ly4uBnWUv2xXaRKatvKaepIYlFhRm1gL8CPi0ux8tX+fuDozr1y0zW2dmm8xs0759+5IqU2RSZDX1JDUskaAwsxxxSNzh7j8OzXv6p5TC497QvhtYWvbyJaHtFO6+3t3b3b19/vz5SZQpMmlykdGnqSepUUmc9WTAbcDz7v6VslUbgOvC8nXAPWXtHw1nP60GjpRNUYlMS7lIV2ZL7comsI0/AP4L8LSZPRHa/gL4AnCXmX0c2AFcHdZtBK4EOoBO4PoEahBJVVMuYt+xnrTLEJkUFQeFu/8asGFWXz5EfwduqPR9RaaSpnxEV18x7TJEJoWuzBZJQHM+orNXQSG1SUEhkoDGXES3gkJqlIJCJAHN+YjOviLxzKpIbVFQiCSgKRdRLLnOfJKapKAQSUBTPj4vpLtXQSG1R0EhkoCmXARAZ18h5UpEkqegEElAcz4Oii4d0JYapKAQSUBj/4hCQSE1SEEhkoD+EUW3LrqTGqSgEElAU14jCqldCgqRBPQfzNZtPKQWKShEEtCkg9lSwxQUIgkYOOtJIwqpQQoKkQQ06awnqWEKCpEEtDTEV2Yf6+5LuRKR5CkoRBKQjTLMyEcc6VJQSO1RUIgkZFZTTkEhNUlBIZKQmU05jnbpXk9SexQUIgmZ1ZTjqEYUUoMUFCIJ0dST1CoFhUhCFBRSqxQUIglRUEitUlCIJGRWU46uviK9Bf2VO6ktCgqRhMxqzgFoVCE1R0EhkpA5zXkADp7oTbkSkWQpKEQSsqC1AYC9x7pTrkQkWQoKkYQsmNkIwN6jPSlXIpIsBYVIQk6OKBQUUlsSCQoz+46Z7TWzZ8ra2szsfjPbGh7nhHYzs6+ZWYeZPWVmFydRg0jaZjRkmZGPNPUkNSepEcU/AmsGtd0EPOjuK4AHw3OAK4AV4Wsd8M2EahBJ3YKZjRpRSM1JJCjc/ZfAwUHNa4Hbw/LtwFVl7d/12CPAbDNblEQdImmb39rAPh2jkBozmccoTnP3V8Pya8BpYXkxsLOs367QdgozW2dmm8xs0759+yaxTJHkLJ7dxO7DXWmXIZKoqhzMdncHfJyvWe/u7e7ePn/+/EmqTCRZS9uaeeVIl67OlpoymUGxp39KKTzuDe27gaVl/ZaENpFp78y2ZtzRqEJqymQGxQbgurB8HXBPWftHw9lPq4EjZVNUItPaGXObAdhx4ETKlYgkJ5vERszs+8A7gXlmtgv4LPAF4C4z+ziwA7g6dN8IXAl0AJ3A9UnUIDIVnNkWB8XvD3amXIlIchIJCne/dphVlw/R14EbknhfkalmfmsDrQ1Ztu45nnYpIonRldkiCTIzzl3YypbXjqVdikhiFBQiCTt3YSsvvHaUePAsMv0pKEQStnLRTI52F3Tmk9QMBYVIwi5aOhuAzTsOpVyJSDIUFCIJe+OimbQ2ZHns5cF3tRGZnhQUIgmLMsbFZ87h8e0KCqkNCgqRSbBqWRsv7jnOgeO6QaBMfwoKkUlw6Yp5ADz4wt5ReopMfQoKkUnw5sWzWDy7iV8881rapYhUTEEhMgnMjDXnL+TXW/dzpKsv7XJEKqKgEJkkV124mN5iiR9t3pV2KSIVUVCITJI3L5nFRWfM5ru/3U6ppKu0ZfpSUIhMouv/YBnbD3Tys6d1J32ZvhQUIpPoP7x5ESsXtvKl+7bor97JtKWgEJlEUca46YqV7DjQydce3Jp2OSIToqAQmWTvPHcBH37rEr7xcAebd+hqbZl+FBQiVfCZ/3geS+Y084nvbeb3B/TX72R6UVCIVEFrY47/e/3bKJSc/3zbo/qb2jKtKChEquTs+S3cfv0qjnX38Uff/C2/felA2iWJjImCQqSKLlg6mx9+8hJmNmb5yLcf4e9+8QJdvcW0yxIZkYJCpMrOWdDKT/70HfzRxUv4xsMv8a4vP8yPNu+ir6jTZ2VqUlCIpGBGQ5YvffgC7vrEJcxtyfNnP3ySS299iG8+/BJ7jnanXZ7IKWw6/AH49vZ237RpU9pliLzOtm3bAFi+fPmEt1EqOf/64j7+4Vfb+M1LBzCD1cvmcuVbFvGHK+Zx5twZSZUrdcbMNrt7e6XbySZRjIhMXCZjXLZyAZetXEDH3uP85MlX+MmTr/C//vkZAJa2NbF62VwuWDqbC5bM5tyFreSzmgyQ6tGIQqQCSYwohuLuvLz/BL/u2M+vtu7n8e0HOdwZ3648n81w9vwWzp4/g7Pnt7A8PC6Z08SsphxmlmgtMn1pRCFSw8yM5fNbWD6/hY9echbuzq5DXTy56zBP7TrC1j3HeGrXEX729KuU/67XlItYNLuR02c1cfrsRhbObKRtRp62lgbmzcjT1pKPnzfnyUYalcjYKChEpgEzY2lbM0vbmnn/W04faO/uK7L9wAle3neC3Ye7eOVwN68e6eKVI908tGUf+4/3MNykwaymHDObsrQ05GhtzDKzMUtrY46WhiytYbm1MUtLQ5amfERTLhp4bCxbbspFNGQzZDIaydSq1ILCzNYAfw9EwLfd/Qtp1SIyXTXmIlYunMnKhTOHXF8oljjc1cfBE73sP97DwRO9HDzRy4Hj8eOx7j6O9xQ42l1g9+FujnUf43hPgWPdBYrj/BsajbnMyeDIReQiI5/NkIsy5KMM+Wz8mIsy5LL9bTbQNtB3oJ+RjTJkM0aUMbKREWXKng88ZsrWD9F+yutf356x/kc0bTeMVILCzCLg68B7gF3A42a2wd2fS6MekVqVjTLMa2lgXksDbzitdcyvc3e6+ooc7y5wrKdAV2+RnkKRrt4SXX1FuvqKdPcWB5a7eot098VfXX1FuvtK9BVL9BZK9IbHEz0FDhVL9BV8oK23eLJfX7FEXzH9Y6bloRFZvJwxI5N5/XJkhpmRyRD6GmYMBJCZEWXCa4bZVpQJ2yjbnhlxDcTbNvrbyh5hyL5wcttJSWtEsQrocPdtAGZ2J7AWGDIoenp6Bg4aikwl3d3xNQ+1/Pk0oDl8zYmI5wAaB/fIksSPk5I7hZJTKDp9JadYgmLJKXpYdo+fDywP1eYUPbyufNnLt3dyfcnBiR/jL8cHLReHaCt5/2vjbTlDvb50aluoseBQIj41ukQczIPfn7A95+T2+veRh/d1j1/b/9796yl7noS0gmIxsLPs+S7g7eUdzGwdsA6gdfEKPrVhe1mahvQ0TknX/t8CBtop69/fTrzOzMjAoJQeYrvGqP1smPd5XT3hN5So/7eP8BhljCj8FhJZfLrkSP0yZf0zA68r668htExTGTPykZGP0q6kNpz9V8lsZ8oezHb39cB6gLlnvdFbmpsHJbnTF9K0VCpL97CuP83L+5dKJ5O7/zeIk0nulEqn/qYw+P2m0589PhkeFuaKo/gbMMwDl88Fx22vn08+Zd44rM9nwzx0PhseMzTlTh7sbM6feqAzqvEDnJN1eqzIVJJWUOwGlpY9XxLahrRs3gy+v271pBc1FqcEy+AhqA8RPv1D14Fhbjy0LpZ9xc9LFEtQKJUG2kqlkfsWS6VT1g/Vt1CM+/SWzQP3P/aEx66+Ike6Xj+n3D9n3N82Ef3B0n8mzcymHDMbc8wcWC5ra8oyqynP/NY881oadE2AyBSRVlA8Dqwws2XEAXEN8JGUahmX+AAXRNTXDzB3p6/o9BTiA5VdZQcyO3sL8UHM3tLJ5b4inb0nD3oeC2fSHO3qY/fhLp7v6uNYdx/HegrDnr6ZjzLMbcmHg7F5FrQ2snhOE0vbmlg6p5klc5pZ0Nqg0zJFJlkqQeHuBTO7EbiX+NDYd9z92TRqkbExs/hUxmyG1sbR+49VqeQc740D5GhXgcOdvew73sO+Yz3sPx6f0rn/eA/7jvfw7CtH2Xus55TX57MZzmhr5tzTWjl3Yfz1xoUzWdrWpNGISEJSO0bh7huBjWm9v0wNmYyFqagczBm9f3dfkd2Hu9h5sJOdh7rYdaiTbftO8MwrR9j4zMmrlOfOyNN+1hzedlYbb182l/MXz1RwiEzQlD2YLTKUxlwU7nPU8rp1nb0FXtxznOdeOcqmHQfZtP0Q9z67B4CFMxt5z3mnccX5C1m9fK6mq0TGQUEhNaM5n+XCpbO5cOlsPvL2MwDYc7SbX23dz/3PvcYPN+/ke4/s4My5zVy76gyuXXUGs5pyKVctMvXp7rFSN7p6i9z33Gvc8ejveezlg8xszPLfLl3Of710OU0TPHFfp8fKVJbU3WN1+0ipG035iLUXLuauT1zCT//0Haxa1saX73+R9/3vX/L/OvanXZ7IlKWgkLp0/uJZfPu6t3HnutVEGeM/fftR/v6BrZSm01WVIlWioJC6tnr5XH7+qUv50EWL+eoDL/LpHzxBYYIXF4rUKh3MlrrXmIv48tUXcPaCFr547xYyBl+5+kKdGSUSKChEiC8ovOGyc3B3vnTfi6w4rZUbLjsn7bJEpgRNPYmUueGyc/jABafz5fu28Mi2A2mXIzIlKChEypgZf/uhN7NkTjN/8eOn6SkU0y5JJHUKCpFBZjRk+dxV57Nt/wlu/832tMsRSZ2CQmQI//4N87l0xTzW/3Ibnb2FtMsRSZWCQmQYn7p8BfuP93LX4ztH7yxSwxQUIsNoP6uNNy+exZ2P72Q63OpGZLIoKERGcPXblvLCa8d4eveRtEsRSY2CQmQEH7jgdHKR8bOnX027FJHUKChERjCrKcfbzmrjoRf2pl2KSGoUFCKjeNfKBby45zg7D3amXYpIKhQUIqO4bOUCAP71xX0pVyKSDgWFyCiWz5vBvJYGfrfjUNqliKRCQSEyCjPjrWfOZvPvFRRSnxQUImNw8Rlz2HGgk4MnetMuRaTqFBQiY3De6TMBeOHVoylXIlJ9CgqRMVi5MATFa8dSrkSk+hQUImMwv7WBuTPybFFQSB1SUIiM0RtOa2XrXgWF1B8FhcgYnTm3md8f7Eq7DJGqqygozOzDZvasmZXMrH3QupvNrMPMtpjZ+8ra14S2DjO7qZL3F6mmpW3N7D/ew4ke/X0KqS+VjiieAT4E/LK80czOA64B3gSsAb5hZpGZRcDXgSuA84BrQ1+RKe+MtmYAdh7SrTykvlQUFO7+vLtvGWLVWuBOd+9x95eBDmBV+Opw923u3gvcGfqKTHlnzo2DYscBBYXUl8k6RrEYKP+zYLtC23Dtr2Nm68xsk5lt2rdP99iR9C2ZEwfF7kM6TiH1JTtaBzN7AFg4xKpb3P2e5EuKuft6YD1Ae3u7/ryYpG5Oc45cZOw91pN2KSJVNWpQuPu7J7Dd3cDSsudLQhsjtItMaWbG/JYG9h7rTrsUkaqarKmnDcA1ZtZgZsuAFcBjwOPACjNbZmZ54gPeGyapBpHEzZ/ZyD6NKKTOVHp67AfNbBdwCfAzM7sXwN2fBe4CngN+Adzg7kV3LwA3AvcCzwN3hb4i08KC1gb2HlVQSH0ZdeppJO5+N3D3MOs+D3x+iPaNwMZK3lckLQtaG9i0/WDaZYhUla7MFhmHBa2NHOrso7dQSrsUkapRUIiMw9yWPID+LoXUFQWFyDjMasoBcLS7L+VKRKpHQSEyDv1BcaRLQSH1Q0EhMg4DQdGpoJD6oaAQGQeNKKQeKShExkFBIfVIQSEyDjMVFFKHFBQi4xBljNaGrIJC6oqCQmScZjblOKqgkDqioBAZp1lNOY0opK4oKETGaWZTlmPd+rvZUj8UFCLj1JzP0tmnoJD6oaAQGaemfERXbzHtMkSqRkEhMk5NOQWF1BcFhcg4NecjuvoUFFI/FBQi49SUU1BIfVFQiIxTYy6iu69EqeRplyJSFQoKkXFqzkcAdBc0qpD6oKAQGaemEBSdOqAtdUJBITJOTbk4KHTmk9QLBYXIOPWPKHRAW+qFgkJknPqPUWhEIfVCQSEyTo05HaOQ+qKgEBmn5nwWgG5NPUmdUFCIjFOTRhRSZxQUIuM0cNaTRhRSJyoKCjP7opm9YGZPmdndZja7bN3NZtZhZlvM7H1l7WtCW4eZ3VTJ+4ukYeCsp17dalzqQ6UjivuB8939LcCLwM0AZnYecA3wJmAN8A0zi8wsAr4OXAGcB1wb+opMG/ls/G3TUyilXIlIdVQUFO5+n7v3/1r1CLAkLK8F7nT3Hnd/GegAVoWvDnff5u69wJ2hr8i00RCCoreooJD6kOQxio8BPw/Li4GdZet2hbbh2kWmjXwUgkIjCqkT2dE6mNkDwMIhVt3i7veEPrcABeCOpAozs3XAOoAzzjgjqc2KVCyTMbIZU1BI3Rg1KNz93SOtN7M/Ad4PXO7u/fdd3g0sLeu2JLQxQvvg910PrAdob2/X/ZxlSslnMwoKqRuVnvW0Bvhz4APu3lm2agNwjZk1mNkyYAXwGPA4sMLMlplZnviA94ZKahBJQy7K0KdjFFInRh1RjOL/AA3A/WYG8Ii7f9LdnzWzu4DniKekbnD3IoCZ3QjcC0TAd9z92QprEKm6fDajg9lSNyoKCnc/Z4R1nwc+P0T7RmBjJe8rkrZ8lNHpsVI3dGW2yAQ06BiF1BEFhcgE6GC21BMFhcgE6GC21BMFhcgE6GC21BMFhcgE5CNNPUn9UFCITEA2MgolXQcq9UFBITIB2YxRKCoopD4oKEQmIKuD2VJHFBQiE5CLjKKmnqROKChEJiDKZHSMQuqGgkJkAnIZ09ST1A0FhcgEZDX1JHVEQSEyAVEmQ5/OepI6oaAQmYBcZBRKmnqS+qCgEJmAbCaj6yikbigoRCYgqxGF1BEFhcgE6MpsqScKCpEJyEbxdRTuCgupfQoKkQnIZQwAnSEr9UBBITIBURQHha7OlnqgoBCZgFwm/tZRUEg9UFCITEBWIwqpIwoKkQnIhmMUut2T1AMFhcgEZAYOZmtEIbVPQSEyAZHprCepHwoKkQnQiELqiYJCZAI0opB6oqAQmYBwdqyCQupCRUFhZp8zs6fM7Akzu8/MTg/tZmZfM7OOsP7istdcZ2Zbw9d1lf4DRNKQMU09Sf2odETxRXd/i7tfCPwU+ExovwJYEb7WAd8EMLM24LPA24FVwGfNbE6FNYhUXaTTY6WOVBQU7n607OkMoP/Xq7XAdz32CDDbzBYB7wPud/eD7n4IuB9YU0kNImmINKKQOpKtdANm9nngo8AR4LLQvBjYWdZtV2gbrn2o7a4jHo0A9JjZM5XWWgXzgP1pFzEGqjMh770VmAZ1BqozOdOhRoBzk9jIqEFhZg8AC4dYdYu73+PutwC3mNnNwI3EU0sVc/f1wPpQwyZ3b09iu5NJdSZLdSZLdSZnOtQIcZ1JbGfUoHD3d49xW3cAG4mDYjewtGzdktC2G3jnoPaHx7h9ERFJQaVnPa0oe7oWeCEsbwA+Gs5+Wg0ccfdXgXuB95rZnHAQ+72hTUREpqhKj1F8wczOBUrADuCToX0jcCXQAXQC1wO4+0Ez+xzweOj31+5+cAzvs77COqtFdSZLdSZLdSZnOtQICdVp+lOOIiIyEl2ZLSIiI1JQiIjIiKZMUJjZh83sWTMrmVn7oHU3h9uBbDGz9w3z+mVm9mjo9wMzy1eh5h+E25c8YWbbzeyJYfptN7OnQ79ETlcbZ51/aWa7y2q9cph+a8I+7jCzm1Ko84tm9kK47cvdZjZ7mH6p7M/R9o+ZNYTPREf4LJ5VrdrC+y81s4fM7LnwvfSpIfq808yOlH0WPjPUtqpQ64j/hyPdBqiKNZ5btp+eMLOjZvbpQX1S2Z9m9h0z21t+fZmZtZnZ/eH2SPcPd9eLCd1Gyd2nxBfwRuKLQx4G2svazwOeBBqAZcBLQDTE6+8CrgnL3wL+e5Xr/zLwmWHWbQfmpbhv/xL4n6P0icK+XQ7kwz4/r8p1vhfIhuVbgVunyv4cy/4B/gfwrbB8DfCDKte4CLg4LLcCLw5R4zuBn1azron8HxKfDPNzwIDVwKMp1xsBrwFnToX9CfwhcDHwTFnb3wE3heWbhvr+AdqAbeFxTlieM9r7TZkRhbs/7+5bhli1FrjT3Xvc/WXiM6lWlXcwMwPeBfxTaLoduGoy6x3i/a8Gvl+t95wEq4AOd9/m7r3AncT7vmrc/T53L4SnjxBfZzNVjGX/rCX+7EH8Wbw8fDaqwt1fdfffheVjwPMMc+eDaWC42wCl5XLgJXffkWINA9z9l8DgM0bLP3/D/Qyc0G2UpkxQjGAst/2YCxwu+yEz7K1BJsmlwB533zrMegfuM7PN4dYkabgxDOG/M8yQdMy3V6mSjxH/RjmUNPbnWPbPQJ/wWTxC/NmsujDtdRHw6BCrLzGzJ83s52b2pqoWdtJo/4dT7fN4DcP/IjgV9ifAaR5frwbx6Oe0IfpMaL9WfK+n8bBRbgdSzVrGaow1X8vIo4l3uPtuM1sA3G9mL4TfCKpSJ/Hdez9H/M35OeJpso8l+f5jNZb9aWa3AAXiq/2HMun7czozsxbgR8Cn/dQbdwL8jnj65Hg4VvXPxHd5rrZp838Yjnd+ALh5iNVTZX+ewt3dzBK79qGqQeFjvx1IueFuB1LuAPHQNBt+kxuqz4SMVrOZZYEPAW8dYRu7w+NeM7ubeBoj0W+Kse5bM/sH4lvCDzaW/VyxMezPPwHeD1zuYVJ1iG1M+v4cwlj2T3+fXeFzMYv4s1k1ZpYjDok73P3Hg9eXB4e7bzSzb5jZPHev6g3uxvB/WJXP4xhdAfzO3fcMXjFV9mewx8wWufurYZpu7xB9JnQbpekw9bQBuCacUbKMOK0fK+8QfqA8BPxxaLoOqNYI5d3AC+6+a6iVZjbDzFr7l4kP2Fb1TriD5nY/OMz7Pw6ssPjssTzxUHtDNerrZ2ZrgD8HPuDuncP0SWt/jmX/bCD+7EH8WfyX4cJuMoTjIbcBz7v7V4bps7D/uImZrSL+GVDtMBvL/+FwtwFKw7AzBlNhf5Yp//wN9zNwYrdRqvbR+hGO4n+QeL6sB9gD3Fu27hbiM062AFeUtW8ETg/Ly4kDpAP4IdBQpbr/EfjkoLbTgY1ldT0Zvp4lnmKp9r79HvA08FT4MC0aXGd4fiXxmTIvpVRnB/H86RPh61uD60xzfw61f4C/Jg42gMbw2esIn8XlVd5/7yCeXnyqbB9eSXxrnU+GPjeG/fYk8QkD/y6F/+ch/w8H1WnA18O+fpqyMyGrXOsM4h/8s8raUt+fxMH1KtAXfm5+nPh42IPAVuABoC30bQe+Xfbaj4XPaAdw/VjeT7fwEBGREU2HqScREUmRgkJEREakoBARkREpKEREZEQKChERGZGCQkRERqSgEBGREf1//vmjwIfOIdMAAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bA2xg33LcxZ8" + }, + "source": [ + "**Exercises:**\n", + "\n", + "Evaluate the limits below using techniques from the slides or above.\n", + "\n", + "1. $$ \\lim_{x \\to 0} \\frac{x^2-1}{x-1} $$\n", + "2. $$ \\lim_{x \\to -5} \\frac{x^2-25}{x+5} $$\n", + "3. $$ \\lim_{x \\to 4} \\frac{x^2 -2x -8}{x-4} $$\n", + "4. $$ \\lim_{x \\to -\\infty} \\frac{25}{x} $$\n", + "5. $$ \\lim_{x \\to 0} \\frac{25}{x} $$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zIhHIcmzLTQQ" + }, + "source": [ + "FYI: While not necessary for ML nor for this *ML Foundations* curriculum, the `SymPy` [symbolic mathematics library](https://www.sympy.org/en/index.html) includes a `limits()` method. You can read about applying it to evaluate limits of expressions [here](https://www.geeksforgeeks.org/python-sympy-limit-method/)." + ] + }, + { + "cell_type": "code", + "source": [ + "from sympy import *\n", + "\n", + "x = Symbol('x')\n", + "f = (x**2 - 1)/(x - 1)\n", + "limit(f, x, 0)" + ], + "metadata": { + "id": "D4rZToSxqvrf", + "outputId": "0ecd961d-4c27-4e2d-a435-78702d04f0e9", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + } + }, + "execution_count": 40, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1" + ], + "text/latex": "$\\displaystyle 1$" + }, + "metadata": {}, + "execution_count": 40 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Tip: use algebra trick\n", + "f = (x**2 - 25)/(x + 5)\n", + "limit(f, x, -5)" + ], + "metadata": { + "id": "8-FK0UesrgX4", + "outputId": "7e71876e-4ccc-4f34-91d7-e03e9edb1fad", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + } + }, + "execution_count": 51, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-10" + ], + "text/latex": "$\\displaystyle -10$" + }, + "metadata": {}, + "execution_count": 51 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Same factoring trick\n", + "f = (x**2 - 2*x - 8)/(x - 4)\n", + "limit(f, x, 4)" + ], + "metadata": { + "id": "Z8xLBq4LsQPQ", + "outputId": "8aaceb3e-f270-427c-d974-4d6606b9ad4c", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + } + }, + "execution_count": 52, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "6" + ], + "text/latex": "$\\displaystyle 6$" + }, + "metadata": {}, + "execution_count": 52 + } + ] + }, + { + "cell_type": "code", + "source": [ + "f = 25/x\n", + "limit(f, x, -oo)" + ], + "metadata": { + "id": "w9zITzE0scwf", + "outputId": "e7490078-f709-46b2-8026-95bf7badff92", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + } + }, + "execution_count": 49, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0" + ], + "text/latex": "$\\displaystyle 0$" + }, + "metadata": {}, + "execution_count": 49 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# 이 경우 right handed limit 과 left handed limit 의 값이 다르다. left handed limit의 경우에는 마이너스 극한값이 된다\n", + "f = 25/x\n", + "limit(f, x, 0)" + ], + "metadata": { + "id": "GZdjRFvus04l", + "outputId": "9c9a3c97-c856-4cc3-a8bb-3af445087454", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 37 + } + }, + "execution_count": 53, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "oo" + ], + "text/latex": "$\\displaystyle \\infty$" + }, + "metadata": {}, + "execution_count": 53 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AbAn1ChdcxZ9" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "e7cnhfOYcxZ9" + }, + "source": [ + "## Segment 2: Computing Derivatives with Differentiation" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "CDn8BeCDcxZ9" + }, + "source": [ + "Let's bring back our ol' buddy $y = x^2 + 2x + 2$:" + ] + }, + { + "cell_type": "code", + "source": [ + "x = np.linspace(-10, 10, 1000) # start, finish, n points" + ], + "metadata": { + "id": "_V_lT0R2wRn_" + }, + "execution_count": 103, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Dk2EXlqccxZ-" + }, + "source": [ + "def f(my_x):\n", + " my_y = my_x**2 + 2*my_x + 2\n", + " return my_y" + ], + "execution_count": 105, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "SLmyyYdEcxaA" + }, + "source": [ + "y = f(x)" + ], + "execution_count": 106, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "eNIlXWeQcxaC", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "bb04ff88-8c3b-4e37-b8fc-4b683e0f7e5b" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 68, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "h7C7nPEhcxaD" + }, + "source": [ + "Let's identify the slope where, say, $x = 2$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DeVa3RrtcxaE" + }, + "source": [ + "First, let's determine what $y$ is: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "hz5oolNEcxaE", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "2020f861-76ab-42c8-953e-0bdc4b42964b" + }, + "source": [ + "f(2)" + ], + "execution_count": 57, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "10" + ] + }, + "metadata": {}, + "execution_count": 57 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7fkzBRR5cxaF" + }, + "source": [ + "Cool. Let's call this point $P$, which is located at (2, 10):" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "IOI2oxj2cxaG", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "b5833aa6-d31a-4459-b060-ac7e681b2a95" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.scatter(2, 10) # new\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 69, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd3gVZdrH8e+dTkJICCm0hNB7D01siKJigV0bKIqiYl99176+667rrqurq65rQVRWVCyoKK6iiBRFBSQUKYEUQksISQgQQkL68/5xDrwxJiTklDnl/lxXrpwzM+fML3MmdybPzDyPGGNQSinlWwKsDqCUUsr5tLgrpZQP0uKulFI+SIu7Ukr5IC3uSinlg4KsDgAQGxtrkpOTrY6h1K9UVFQAEBoaanESpX5t3bp1B4wxcQ3N84jinpycTGpqqtUxlPqV7OxsALp162ZxEqV+TUR2NzZPm2WUUsoHaXFXSikfpMVdKaV8kBZ3pZTyQVrclVLKB2lxV0opH6TFXSmlfJAWd6WUssjz32Tw086DLnnvJou7iMwRkQIR2VJn2tMisl1ENonIJyISXWfewyKSJSLpInK+S1IrpZSXyyo4yvPfZLI6u8gl79+cI/c3gQvqTVsCDDDGDAIygIcBRKQfMAXob3/NyyIS6LS0SinlI+b+uIuQwACmjkxyyfs3WdyNMd8BB+tN+9oYU21/uhrobH88CXjfGFNhjNkJZAEjnZhXKaW8XvGxKj5en8MlgzsSF+mafouc0eY+A/jS/rgTsLfOvBz7tF8RkZkikioiqYWFhU6IoZRS3uHD1L2UVdZww9hkl63DoeIuIo8A1cC8U32tMWa2MSbFGJMSF9dgp2ZKKeVzamoNc1ftYkRyWwZ0inLZelpc3EXkeuBi4Brz/6Ns5wKJdRbrbJ+mlFIKWLotn70Hj3HD2K4uXU+LiruIXAA8AFxqjCmrM+szYIqIhIpIV6An8JPjMZVSyje8+eMuOkaFMaFfgkvX05xLId8DVgG9RSRHRG4EXgQigSUislFEZgEYY7YC84E04CvgDmNMjcvSK6WUF9m+/wg/7iji2jHJBAW69jajJgfrMMZMbWDyGydZ/m/A3xwJpZRSvujNH3YRFhzAlBGJTS/sIL1DVSml3KDoaAULNuTym6GdaRsR4vL1aXFXSik3eGf1Hiqra7nxdNeeSD1Oi7tSSrlYeVUNb6/exbjecfSIb+2WdWpxV0opF/ts4z4OHK3kpjPcN9C6FnellHIhYwyvf59Nn/aRnNa9ndvWq8VdKaVcaGXmATLyj3LTGd0QEbetV4u7Ukq50Bvf7yQuMpRLBndw63q1uCullItk5JfwbUYh08d0ITTIvb2fa3FXSikXmfP9TsKCA7h6VBe3r1uLu1JKucAB+01Llw3rTIwbblqqT4u7Ukq5wDurd1NZXcsMN920VJ8Wd6WUcrLyqhreXrWbc/rE0z3OPTct1afFXSmlnGzhxlyKSiu5yaKjdtDirpRSTlVba3h95U76dmjDGDfetFSfFnellHKiZdsLyCw4yi1nuvempfq0uCullBO9+t0OOkW34qJB7r1pqT4t7kop5STrdh9k7a5D3HRGV4JdPNJSU7S4K6WUk7z6bTbR4cFc5YaRlpqixV0ppZwgq+AoS7blc92YZMJDmhzB1OW0uCullBO89l02IYEBTB/j/q4GGqLFXSmlHJR/pJxPNuRyZUoi7VqHWh0H0OKulFIOm/PDTqpra7nZjSMtNUWLu1JKOeBIeRXvrt7DxIEdSGoXbnWcE7S4K6WUA95bs4eSimpuObO71VF+ocniLiJzRKRARLbUmRYjIktEJNP+va19uojICyKSJSKbRGSYK8MrpZSVKqprmPPDTsb2aMfAzlFWx/mF5hy5vwlcUG/aQ8BSY0xPYKn9OcCFQE/710zgFefEVEopz7Nwwz7yj1Rw61meddQOzSjuxpjvgIP1Jk8C5tofzwUm15n+lrFZDUSLiLX34CqllAvU1BpmfbeDfh3acHqPWKvj/EpL29wTjDF59sf7gQT7407A3jrL5din/YqIzBSRVBFJLSwsbGEMpZSyxldb9pNdWMrt47pb2kFYYxw+oWqMMYBpwetmG2NSjDEpcXFxjsZQSim3Mcbw4vIsusVFcOEAz2ycaGlxzz/e3GL/XmCfngvU7VShs32aUkr5jOXpBWzLO8JtZ3UnMMDzjtqh5cX9M2C6/fF0YGGd6dfZr5oZDRTXab5RSimvZ4zhxWVZdIpuxeShDbY6e4TmXAr5HrAK6C0iOSJyI/AkcJ6IZALn2p8DLAKygSzgNeB2l6RWSimLrMouYv2ew9x6dnfLu/U9mSa7LjPGTG1k1vgGljXAHY6GUkopT/XisiziI0O5Ynhnq6OclOf+2VFKKQ+zfs8hftxRxM1ndCMsONDqOCelxV0ppZrppWVZRIcHc/WoJKujNEmLu1JKNcPWfcUs3V7AjLFdiQi1fjCOpmhxV0qpZnh5+Q5ahwYxfUyy1VGaRYu7Uko1IavgKIu25HHdmC5EhQdbHadZtLgrpVQTXlmxg9CgAG48vavVUZpNi7tSSp3E7qJSPt2Yy9SRSR4zhF5zaHFXSqmTeHFZFkEBwm0e2K3vyWhxV0qpRuwuKmXBhlyuHpVEfJswq+OcEi3uSinViH976VE7aHFXSqkG7TpQyicbcrlmVBevO2oHLe5KKdWgF5fbjtpvPaub1VFaRIu7UkrVc/yofdpo7zxqBy3uSin1K8fb2m/x0qN20OKulFK/sOuA7br2aaO7EB/pnUftoMVdKaV+4YVlmQQHevdRO2hxV0qpE3YeKOXTDblMG+XdR+2gxV0ppU7499JMQoICmOnlR+2gxV0ppQDIyC/hk425XDcm2euP2kGLu1JKAfDs1xlEhARxqxfejdoQLe5KKb/3897DfLV1Pzed0ZWYiBCr4ziFFnellN975ut02oYHe1V/7U3x6uK+dtdBrnx1FSXlVVZHUUp5qdXZRazMPMDtZ/cgMsw7RllqDoeKu4j8j4hsFZEtIvKeiISJSFcRWSMiWSLygYi47H+c0KAAftp5kNdW7nTVKpRSPswYwzOL00loE8q1Y7pYHcepWlzcRaQT8DsgxRgzAAgEpgBPAc8ZY3oAh4AbnRG0IYM6R3PRwA68vjKbwpIKV61GKeWjVqQXkrr7EHed05Ow4ECr4ziVo80yQUArEQkCwoE84BzgI/v8ucBkB9dxUvdO6EVFdS0vLc9y5WqUUj6mttbw9OJ0kmLCuTIl0eo4Ttfi4m6MyQWeAfZgK+rFwDrgsDGm2r5YDtCpodeLyEwRSRWR1MLCwpbGoFtca65MSWTemt3sKSpr8fsopfzLoi15pOUd4X/O60lIkFeffmyQI80ybYFJQFegIxABXNDc1xtjZhtjUowxKXFxcS2NAcDd43sSIMJz32Q49D5KKf9QXVPLs19n0CuhNZcObvD40+s58ufqXGCnMabQGFMFLADGAtH2ZhqAzkCugxmb1D4qjOvHJvPpxly25R1x9eqUUl5uwfpcsg+Ucu+E3gQGiNVxXMKR4r4HGC0i4SIiwHggDVgOXG5fZjqw0LGIzXP7WT2IDA3i6cXp7lidUspLHaus4dklGQxOjGZCvwSr47iMI23ua7CdOF0PbLa/12zgQeD3IpIFtAPecELOJkWFB3Pr2d1Ztr2An3YedMcqlVJeaM4PO9l/pJw/XNgH23Gpb3LoLIIx5k/GmD7GmAHGmGuNMRXGmGxjzEhjTA9jzBXGGLddo3jDaV2Jjwzlqa+2Y4xx12qVUl7iYGkls1bs4Ny+8Yzq1s7qOC7lU6eIW4UEcve5PVm3+xDfbCuwOo5SysP8e1kmpZXVPHhBH6ujuJxPFXeAK1MS6RobwT++2k51Ta3VcZRSHmJPURnvrN7NVSMS6ZkQaXUcl/O54h4cGMD95/cms+AoH67LsTqOUspDPP11OkEBAdxzbi+ro7iFzxV3gAsHtGd4l7b88+sMSiuqm36BUsqn/bz3MP/9eR83ndGVhDbePxBHc/hkcRcRHrmoLweOVvDqtzusjqOUspAxhr9/uY12ESHMPNP7h89rLp8s7gDDktpy0aAOzF6Zzf7icqvjKKUssiK9kNXZB7n73J4+1aVvU3y2uAM8dEEfamttHfErpfxPTa3hyS+3k9wunKkjk6yO41Y+XdwTY8K5fmwyH6/PYeu+YqvjKKXc7MPUvaTnl3D/+X0IDvTpcvcrPv/T3nF2D6JaBfO3L7bpjU1K+ZGS8iqe+TqdlC5tmTiwvdVx3M7ni3tUeDB3j+/JjzuKWJ6uNzYp5S9eXrGDA0crefSSfj7dzUBjfL64A1wzqgtdYyN4YpHe2KSUP9h7sIw3Vu7ksmGdGdQ52uo4lvCL4h4SFMCDF/Qhq+Ao76/da3UcpZSL/f3LbQQGCA9c0NvqKJbxi+IOcH7/BEZ2jeHZJRkUH6uyOo5SykXWZBexaPN+bju7u9/csNQQvynuIsKjF/fjUFklz+uITUr5pJpaw18+T6NjVBg3n+E/Nyw1xG+KO8CATlFMHZnEW6t2k5lfYnUcpZST2S57PsKDF/ahVUig1XEs5VfFHeC+Cb2JCAnksf+m6aWRSvmQoxXVPL04naFJ0Vw6uKPVcSznd8U9JiKE35/Xi++zDvB1Wr7VcZRSTvLKiiwKSyp49GL/vPSxPr8r7gDTRnehV0Jr/vpFGuVVNVbHUUo5aNeBUl77bie/GdqJoUltrY7jEfyyuAcFBvCnS/qz9+AxXl+ZbXUcpZQDjDE89t+thAQF8PCFvj/CUnP5ZXEHGNsjlgv6t+el5TvIKz5mdRylVAst3VbA8vRC7jm3J/F+fOljfX5b3AEeuagvNcbw90XbrY6ilGqB8qoaHvt8Kz3jWzP9tGSr43gUvy7uiTHh3HJmNz77eR8/7TxodRyl1Cma9e0O9h48xmOT+vtdr49N8futcdvZ3ekYFcajC7dovzNKeZG9B8t4ZcUOLh7UgdO6x1odx+P4fXEPDwni0Uv6s31/CW/+uMvqOEqpZvrL52kEBtiG1FS/5lBxF5FoEflIRLaLyDYRGSMiMSKyREQy7d89/rqk8/snMK53HM8tydCTq0p5geXpBSxJy+euc3rSIaqV1XE8kqNH7v8CvjLG9AEGA9uAh4ClxpiewFL7c48mIjx26QCqaw1//Xyb1XGUUidRUV3DY59tpVtsBDee3tXqOB6rxcVdRKKAM4E3AIwxlcaYw8AkYK59sbnAZEdDukNSu3DuHNeDLzbn8W1GodVxlFKNmLUim11FZfz50v6EBPl9y3KjHNkyXYFC4D8iskFEXheRCCDBGJNnX2Y/kNDQi0VkpoikikhqYaFnFNOZZ3WjW2wEjy7coneuKuWBsguP8tLyLC4Z3JEze8VZHcejOVLcg4BhwCvGmKFAKfWaYIytZ64Ge+cyxsw2xqQYY1Li4jzjQwoNCuTxyQPYXWQ7C6+U8hzGGB75ZAuhwQH88WI9idoUR4p7DpBjjFljf/4RtmKfLyIdAOzfvWrg0rE9Yrl0cEde+XYHOw+UWh1HKWW3YH0uq7KLeOjCPsRH6p2oTWlxcTfG7Af2isjxcazGA2nAZ8B0+7TpwEKHElrgfy/qS2hgAI8u3KLdAivlAQ6WVvLXL9IYlhTN1BFJVsfxCo6ejbgLmCcim4AhwBPAk8B5IpIJnGt/7lXi24Rx3/m9WZl5gIUb91kdRym/9/dF2ygpr+aJ3w4kIEC7822OIEdebIzZCKQ0MGu8I+/rCaaN7sKnG3N57L9bOaNnLO1ah1odSSm/tGpHER+uy+HWs7rTp30bq+N4Db2OqBGBAcJTlw3iaEU1j3+eZnUcpfxSRXUNj3y6mc5tW3H3+J5Wx/EqWtxPoldCJLed3YNPN+5jebpXnRdWyifMWpFNdmEpj08e4Pdjop4qLe5NuGNcd3rEt+Z/P9lCaUW11XGU8hsZ+SW8uDyTiwd1YFzveKvjeB0t7k0IDQrkqcsGsq/4GE8vTrc6jlJ+obqmlvs//JnIsGAeu7S/1XG8khb3ZhjeJYZrR3dh7qpdrN9zyOo4Svm8OT/s5OecYv58aX+9mKGFtLg30/3n96Z9mzAe+ngTldXa77tSrpJdeJR/fp3Bef0SuGRQB6vjeC0t7s0UGRbMXycPICPf1reFUsr5amsND368idCgAP42eQAiek17S2lxPwXj+yYwaUhHXlqexZbcYqvjKOVz3l69m7W7DvHoJf11sGsHaXE/RY9d2p+YiBDunf8zFdXac6RSzrL3YBlPfbWds3rFcdmwTlbH8Xpa3E9RdHgIT142kPT8El5Ymml1HKV8gjGGhxZsIkCEJ347UJtjnECLewuc0yeBK4Z35pUVO9i497DVcZTyevPW7OGHLFuPj52iddg8Z9Di3kJ/vKQf7duEce/8jTqwh1IO2HmglL99sY0zesZyzSjt8dFZtLi3UJuwYJ66fBA7Ckt5dkmG1XGU8krVNbXcO38jwYHC05cP1uYYJ9Li7oAzesZxzagkXluZTequg1bHUcrrvPpdNuv3HObxyQNoH6VXxziTFncH/WFiXzq3bcV9H/6sfc8odQq25Bbz3JIMLh7UgUlD9OoYZ9Pi7qCI0CCeuXwwuw+WadfASjVTeVUNv5+/kZiIEP46eYDVcXySFncnGNWtHbef3Z331+7lqy15VsdRyuP98+t0MvKP8o/LBxEdHmJ1HJ+kxd1J7jm3F4M6R/HQgs3sLy63Oo5SHmvVjiJe/34n00YncbZ25esyWtydJDgwgOevGkJFVS33friR2lodWFup+g6VVvI/H2yka7sI/jCxr9VxfJoWdyfqFteaP13Sjx+yinjj+51Wx1HKoxhjeODjTRwsreSFqUMJD3FoCGfVBC3uTnbViETO75/APxZvZ+s+7VxMqePeWb2bJWn5PHhhHwZ0irI6js/T4u5kIsKTvx1ETEQIv3tvA8cq9e5VpbbvP8LjX2xjXO84ZoxNtjqOX9Di7gJtI0L45xVDyD5Qyp8+22J1HKUsdayyhrve3UBUq2CevkLvQnUXh4u7iASKyAYR+dz+vKuIrBGRLBH5QET88jqn03vGcsfZPZifmsOC9TlWx1HKMo9/kUZW4VGeu3IIsTpknts448j9bmBbnedPAc8ZY3oAh4AbnbAOr3TPuT0Z2TWGRz7ZQlZBidVxlHK7Lzfn8e6aPdxyZndO7xlrdRy/4lBxF5HOwEXA6/bnApwDfGRfZC4w2ZF1eLOgwAD+PXUo4SGB3DFP29+Vf9l5oJQHPtrE4MRo7p3Qy+o4fsfRI/fngQeA4yNGtwMOG2OOd7KSAzTYaYSIzBSRVBFJLSwsdDCG50poE8ZzVw0ho6CEP3+21eo4SrlFeVUNt72zjsBA4aWrhxIcqKf33K3FW1xELgYKjDHrWvJ6Y8xsY0yKMSYlLi6upTG8wpm94rjj7B58kLqXTzZo+7vyfY8u3EJ6fgnPXzWEzm3DrY7jlxz5czoWuFREdgHvY2uO+RcQLSLH707oDOQ6lNBHaPu78hfz1+5lfmoOd43rod0LWKjFxd0Y87AxprMxJhmYAiwzxlwDLAcuty82HVjocEofULf9febb6ygpr7I6klJOt3VfMX9cuIWxPdpx97nazm4lVzSEPQj8XkSysLXBv+GCdXilhDZhvHj1MHYXlXHv/J+1/xnlU46UV3H7vPW0DQ/hX1OGEhig17NbySnF3Rizwhhzsf1xtjFmpDGmhzHmCmNMhTPW4StGd2vHIxP78nVaPi+vyLI6jlJOUVtruG/+z+QeOsaLVw/V69k9gJ7CtsANY5OZNKQj/1ySwfL0AqvjKOWwF5Zl8nVaPn+Y2JeU5Bir4yi0uFvieP8zfdq34e73NrC7qNTqSEq12Fdb9vP8N5lcNqwzN2i/MR5Di7tFWoUE8uq04YgIt7y9jrJKHX9VeZ/0/SXcO38jgxOj+dtvBmi/MR5Ei7uFktqF88LUoaTnl3Dfh3qCVXmXw2WV3PxWKuGhQcy+djhhwYFWR1J1aHG32Fm94nj4wj4s2ryf57/JsDqOUs1SXVPLXe9tYH9xObOmDSehTZjVkVQ9OhSKB7j5jG5kFRzlhWVZdI9vzaQhDfbYoJTHeGLRdlZmHuAflw1ieJe2VsdRDdAjdw8gIvx18kBGdo3h/o82sW73IasjKdWot1ftYs4PO7n+tGSuHJFodRzVCC3uHiIkKIBZ04bTvk0Yt7ydSs6hMqsjKfUry7cX8KfPtnJu33j+eHE/q+Ook9Di7kFiIkKYc30KFdW13DQ3laMVegWN8hxp+45w57vr6duhjd6B6gW0uHuYHvGRvHT1MDILjnLHvPVU1dQ2/SKlXCz/SDk3zl1LZFgwb0wfQUSonq7zdFrcPdCZveJ44jcD+DajkIcXbMYYvURSWae0opoZb67lyLEq5lw/gvZRemWMN9A/vx7qqhFJ5BWX8/w3mXSICuPeCb2tjqT8UFVNLXe8u55teUd4Y/oI+nVsY3Uk1Uxa3D3Y3eN7sr+4nH8vyyKhTRjTRnexOpLyI7W1hgc+2sSK9EL+/tuBjOujfbN7Ey3uHsx2ieQACkoqeHThFuIjQ5nQv73VsZQfMMbwxKJtfLIhl/sm9GLqyCSrI6lTpG3uHi4oMIAXrx7KwM7R3PXeBtbuOmh1JOUHXv0um9e/t13Lfse4HlbHUS2gxd0LhIcEMWd6Cp3atmLGf9ayOafY6kjKh81P3cuTX27nksEdefTiftoZmJfS4u4l2rUO5Z0bR9GmVTDXzVlDRr6Ow6qcb/HW/Ty8YDNn9Izln1cMJkCvZfdaWty9SMfoVrx78yiCAwOY9voa7QdeOdWy7fnc+e56BnaKYta04YQEaXnwZvrpeZku7SJ456ZRVNXUcvVra8grPmZ1JOUDvsso5NZ31tOnfRvmzhipNyn5AC3uXqhXQiRvzRjFkWNVXPP6GgqOlFsdSXmxVTuKmPl2Kt1iI3hrxkiiWgVbHUk5gRZ3LzWwcxRzbhjB/uJypry2mnwt8KoFUncd5Ma5a0lsG847N42ibUSI1ZGUk2hx92IjkmOYO2Mk+cXlTJm9mv3FWuBV863bfYjr/7OWhDZhzLtpFLGtQ62OpJxIi7uXG5Ecw1s3jqSwpIIps1dpG7xqllU7irj2jTXEtg7h3ZtHEa8jKfmcFhd3EUkUkeUikiYiW0Xkbvv0GBFZIiKZ9u86TIuLDe9iK/BFRyu56tXV5B7WAq8a921GIdf/5yc6Rbdi/i1j6BDVyupIygUcOXKvBu41xvQDRgN3iEg/4CFgqTGmJ7DU/ly52LCktrx90ygOlVVy1aur2HVAL5NUv7YkLZ+b56bSLa41788crUfsPqzFxd0Yk2eMWW9/XAJsAzoBk4C59sXmApMdDamaZ0hiNPNuGkVpRTWXz1rF1n16J6v6f19syuO2d9bRt0Mk7908inbaxu7TnNLmLiLJwFBgDZBgjMmzz9oPJDhjHap5BnWO5sNbTyM4UJjy6mrWZBdZHUl5gLdX7eLO99YzNCmad24aRXS4XhXj6xwu7iLSGvgYuMcYc6TuPGMbZaLBkSZEZKaIpIpIamFhoaMxVB094lvz8W2nEd8mlOvm/MQ3aflWR1IWMcbwzOJ0/rhwK+P7xPPWjFFEhul17P7AoeIuIsHYCvs8Y8wC++R8Eelgn98BKGjotcaY2caYFGNMSlxcnCMxVAM6Rrfiw1tPo0/7SG55Zx3zU/daHUm5WXVNLQ9+vIkXl2cxZUQis6YNp1VIoNWxlJs4crWMAG8A24wxz9aZ9Rkw3f54OrCw5fGUI2IiQph382hO696OBz7axDOL06mt1SH7/EFZZTUz317H/NQcfndOD/7+24EEBeqVz/7EkU97LHAtcI6IbLR/TQSeBM4TkUzgXPtzZZHWoUHMuX4EU0Yk8uLyLH73/gbKq2qsjqVcKK/4GFe+uorl6QU8PnkAv5/QW7vt9UMt7h3IGPM90NgeM76l76ucLzgwgL//diDJsRE8+eV29h0+xmvXpejVEj5o497DzHwrldKKal6/LoXxffV6Bn+l/6f5CRHh1rO688o1w9i67wiTX/6B9P3aJ7wv+e/P+7jq1VWEBAWw4PaxWtj9nBZ3P3PhwA58cMsYKqpqmfzSD3y+aZ/VkZSDamsNzy7J4K73NjCwUxSf3jGW3u0jrY6lLKbF3Q8NSYzm87tOp1/HNtz57gaeWLSN6ppaq2OpFjhUWsmMuWt5YWkmlw/vzLybtQMwZaM98vup+DZhvHfzaB7/PI3Z32WzdV8x/546jBjt8tVrbMo5zG3vrKewpILHJw9g2qgkPXGqTtAjdz8WEhTA45MH8I/LB7F21yEuemGl3tHqBYwxzFuzm8tfWQXAh7eO4drRXbSwq1/Q4q64MiWRBbedRmhQAFNfW82zSzK0mcZDFR+r4u73N/LIJ1sY070dn991OoMTo62OpTyQFncFwIBOUXz+uzOYPLQTLyzNZOpr2nWwp1mTXcTEf63ki8153DehF/+5foSOnKQapcVdndA6NIhnrxzCc1cNJm3fESb+ayULN+Zi6yJIWaWqppanF29nymurCQoUPrp1DHee05OAAG2GUY3TE6rqV34ztDNDE9tyzwcbufv9jSzanMdfJw8kLlKvwnCHTzfk8vTidPYdPkZcZCghQQHkHDrGVSmJPHpJPyJC9ddWNU2P3FWDkmMj+Pi203jowj4sTy/kvOe+1aN4N/h0Qy4PL9hM7uFjGKCgpIKcQ8e4YWwyT10+SAu7ajYt7qpRgQG2u1oX/e50urSL4O73N3LzW6nsPVhmdTSf9fTidI410PfP11u122Z1arS4qyb1iI/k41vH8IeJffghq4jznvuWl5ZnUVGtHZA504GjFY2exN6nJ7fVKdLirpolKDCAmWd2Z+m9ZzGudzxPL07nwudX8l2GDrTiqOqaWuZ8v5Nxz6xodJmO0TqItTo1WtzVKekY3YpXpg3nPzeMoMYYrpvzE9fN+YlteUeafrH6BWMMy9MLuOiF7/nL52kMSYzm4Qv70Cr4lwNqtAoO5P7ze1uUUnkrPTujWmRc73jG3NOOt1ft5t/LMpn4wkouGwERrOkAAArWSURBVNaZeyf0okOUHmU2Zd3ugzz1VTo/7TxIYkwrXr12OBP6JSAiJLQJO3G1TMfoVtx/fm8mD+1kdWTlZcQTrn5ISUkxqampVsdQLXS4rJKXV+zgzR92gcDUEYncclZ3n2hKyM7OBqBbt25Oeb+0fUd4dkkG32zLJ7Z1KHeP78FVI5IICdJ/otWpE5F1xpiUhubpkbtyWHR4CH+Y2JdrR3fhxWVZzFuzh3d/2sPlwxO5/ezuJMaEWx3RUsYY1u46xMsrsliRXkhkWBD3n9+bG8YmEx6iv4LKNfTIXTldzqEyZn27g/lrc6gxhokDO3D9aV0YltTW6zq3cuTIvabWsHRbPq9+l8263YdoFxHCjNO7Mm1UF6LCg50dVfmhkx25a3FXLrO/uJw3vs/m/bV7KSmvZmCnKKaflszFgzoQVu+koadqSXEvKCln/tq9vLtmD/uKy+kU3YpbzurGFcMTaRXiHT+38g5a3JWlSiuq+WRDLm/+uIusgqO0CQvi4sEduWxYZ4YlRXv00Xxzi3tldS0rMwtZsD6XxVv3U11rOL1HLNNGJzG+bwLBgdqmrpxP29yVpSJCg5g2ugvXjErixx1FfJi6lwXrc3h3zR66xkYwaUhHzu/fnj7tIz260NdXU2tYt/sQCzfmsmhzHofKqogOD2b6aclcMyqJbnGtrY6o/JgWd+U2IsLYHrGM7RFLSXkVX27Zz8frcvjX0kye/yaTxJhWTOjXnvF94hnWpa1HNt0UH6viu4xClm0vYEV6AYfKqggLDmBCv/ZMGtKRM3rG6ZUvyiNos4yyXEFJOUu3FbAkLZ/vsw5QWV1LSFAAw5PaMqZ7O0Z2jaF/xzZEhrn/JOT6rRlsyT/G7rJg1uwsIm3fEWoNtA0PZlzveM7pG8+43vHaoZeyhLa5K69RWlHNmp1FrNpRxI87ikjLO8LxXbRbbAQDO0fRp30busaG0zW2NV3ahTt8hG+M4XBZFXsPlbG7qIyM/BLS9h0hLe8IecXlAIQGBTA0KZqRyTGc2SuOoUltCdT+1JXFLCnuInIB8C8gEHjdGPNkY8tqcVeNOVxWyYa9h9mSU8ym3GI25xSz/0j5L5aJbR1KbOsQ4iJDiW0dSpuwIEKDAwkLCiDUXvirawxVNbVU1dZSUl7N4bJKDpZWcqi0in2Hj1FSUX3i/QIDhB5xrenXsQ3xIVX0T2jF+SP7Ehrkec1Eyr+5/YSqiAQCLwHnATnAWhH5zBiT5or1Kd8VHR7CuN62po/jjpRXsftAGTuLStl1oJS84mMUllRy4GgFOw+UcrSimvKqGsqrfjkObIDYOkCLDA2ibUQIMeEhdGkXzuhuMSTGhJMUE05iTDhdYyNO/Ddw/GoZLezK27iqoXAkkGWMyQYQkfeBSUCDxb2iouLEL5FSzREBDIiEAZGBQMNXpRhjqKqx/WcaGCDNaEYpg2Nl7Nt74MSU8nLbfwm6fypv46rT+p2AvXWe59innSAiM0UkVURSq6qqXBRD+TMRISQogJCgAG0fV37HslP8xpjZwGywtbk7q2MmpZzJ2R2HKeUurjpyzwUS6zzvbJ+mlFLKDVxV3NcCPUWkq4iEAFOAz1y0LqWUUvW4pFnGGFMtIncCi7FdCjnHGLPVFetSSin1ay5rczfGLAIWuer9lVJKNU47wVBKKR+kxV0ppXyQFnellPJBWtyVUsoHeUSvkCJSCOxu4ctjgQNNLuV+npoLPDeb5jo1muvU+GKuLsaYuIZmeERxd4SIpDbWK5qVPDUXeG42zXVqNNep8bdc2iyjlFI+SIu7Ukr5IF8o7rOtDtAIT80FnptNc50azXVq/CqX17e5K6WU+jVfOHJXSilVjxZ3pZTyQV5R3EXkChHZKiK1IpJSb97DIpIlIukicn4jr+8qImvsy31g74bY2Rk/EJGN9q9dIrKxkeV2ichm+3IuHxVcRP4sIrl1sk1sZLkL7NswS0QeckOup0Vku4hsEpFPRCS6keXcsr2a+vlFJNT+GWfZ96VkV2Wps85EEVkuImn2/f/uBpY5W0SK63y+j7o6V511n/SzEZsX7Ntsk4gMc0Om3nW2xUYROSIi99Rbxi3bTETmiEiBiGypMy1GRJaISKb9e9tGXjvdvkymiExvUQBjjMd/AX2B3sAKIKXO9H7Az0Ao0BXYAQQ28Pr5wBT741nAbS7O+0/g0Ubm7QJi3bjt/gzc18QygfZt1w0IsW/Tfi7ONQEIsj9+CnjKqu3VnJ8fuB2YZX88BfjADZ9dB2CY/XEkkNFArrOBz921P53KZwNMBL4EBBgNrHFzvkBgP7Ybfdy+zYAzgWHAljrT/gE8ZH/8UEP7PRADZNu/t7U/bnuq6/eKI3djzDZjTHoDsyYB7xtjKowxO4EsbINznyAiApwDfGSfNBeY7Kqs9vVdCbznqnW4wIkBzY0xlcDxAc1dxhjztTGm2v50NbbRuqzSnJ9/ErZ9B2z70nj7Z+0yxpg8Y8x6++MSYBv1xiL2cJOAt4zNaiBaRDq4cf3jgR3GmJbe/e4QY8x3wMF6k+vuR43VovOBJcaYg8aYQ8AS4IJTXb9XFPeTaHIgbqAdcLhOIWloGWc6A8g3xmQ2Mt8AX4vIOhGZ6cIcdd1p/7d4TiP/BjZnO7rSDGxHeA1xx/Zqzs9/Yhn7vlSMbd9yC3sz0FBgTQOzx4jIzyLypYj0d1cmmv5srN6vptD4QZZV2yzBGJNnf7wfSGhgGadsN8sGyK5PRL4B2jcw6xFjzEJ352lIMzNO5eRH7acbY3JFJB5YIiLb7X/hXZILeAV4HNsv4uPYmoxmOLI+Z+Q6vr1E5BGgGpjXyNs4fXt5GxFpDXwM3GOMOVJv9npszQ5H7edTPgV6uimax3429vNqlwIPNzDbym12gjHGiIjLrkX3mOJujDm3BS9rzkDcRdj+HQyyH3G1eLDupjKKSBDwW2D4Sd4j1/69QEQ+wdYk4NAvRHO3nYi8BnzewCyXDGjejO11PXAxMN7YGxsbeA+nb68GNOfnP75Mjv1zjsK2b7mUiARjK+zzjDEL6s+vW+yNMYtE5GURiTXGuLyDrGZ8Ni7Zr5rpQmC9MSa//gwrtxmQLyIdjDF59iaqggaWycV2XuC4ztjON54Sb2+W+QyYYr+SoSu2v74/1V3AXjSWA5fbJ00HXPWfwLnAdmNMTkMzRSRCRCKPP8Z2UnFLQ8s6S702zt80sj63D2guIhcADwCXGmPKGlnGXdurOT//Z9j2HbDtS8sa+4PkLPY2/TeAbcaYZxtZpv3xtn8RGYntd9odf3Sa89l8Blxnv2pmNFBcp0nC1Rr9D9qqbWZXdz9qrBYtBiaISFt7M+oE+7RT4+ozxs74wlaUcoAKIB9YXGfeI9iudEgHLqwzfRHQ0f64G7ainwV8CIS6KOebwK31pnUEFtXJ8bP9ayu25glXb7u3gc3AJvuO1aF+LvvzidiuxtjhplxZ2NoVN9q/ZtXP5c7t1dDPD/wF2x8fgDD7vpNl35e6uWEbnY6tOW1Tne00Ebj1+H4G3GnfNj9jOzF9mqtzneyzqZdNgJfs23Qzda50c3G2CGzFOqrONLdvM2x/XPKAKnv9uhHbeZqlQCbwDRBjXzYFeL3Oa2fY97Us4IaWrF+7H1BKKR/k7c0ySimlGqDFXSmlfJAWd6WU8kFa3JVSygdpcVdKKR+kxV0ppXyQFnellPJB/wfEfdZ/jvmnIAAAAABJRU5ErkJggg==\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "PPCiF6CacxaI" + }, + "source": [ + "The _delta method_ uses the difference between two points to calculate slope. To illustrate this, let's define another point, $Q$ where, say, $x = 5$." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YAP0LJnxcxaI", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d9c73f1b-14fa-4843-c055-4a8e4fbcbd90" + }, + "source": [ + "f(5)" + ], + "execution_count": 70, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "37" + ] + }, + "metadata": {}, + "execution_count": 70 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "usfMMyTvcxaK", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "e9f7579b-5af2-4ec6-d5ca-a6f6b22798b2" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.scatter(2, 10)\n", + "plt.scatter(5, 37, c = 'orange', zorder=3) # new\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 71, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kdony9sucxaM" + }, + "source": [ + "To find the slope $m$ between points $P$ and $Q$: \n", + "$$m = \\frac{\\text{change in }y}{\\text{change in }x} = \\frac{\\Delta y}{\\Delta x} = \\frac{y_2 - y_1}{x_2 - x_1} = \\frac{37-10}{5-2} = \\frac{27}{3} = 9$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kgoU-_wzcxaM", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "79e87ad8-59f5-4c3e-96b8-e89d5a22cdf0" + }, + "source": [ + "m = (37-10)/(5-2)\n", + "m" + ], + "execution_count": 72, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "9.0" + ] + }, + "metadata": {}, + "execution_count": 72 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ZWtSUfLVcxaP" + }, + "source": [ + "To plot the line that passes through $P$ and $Q$, we can rearrange the equation of a line $y = mx + b$ to solve for $b$: \n", + "$$b = y - mx$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "UuYXrltscxaP", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9b8a5532-5824-4bc4-fcb0-4224bbf8547e" + }, + "source": [ + "b = 37-m*5\n", + "b" + ], + "execution_count": 73, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-8.0" + ] + }, + "metadata": {}, + "execution_count": 73 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "AwawB1LLcxaR" + }, + "source": [ + "line_y = m*x + b" + ], + "execution_count": 74, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Lkg2Bl7TcxaT", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "d9481e00-48f2-4d81-ec3f-d84600751b1c" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.scatter(2, 10)\n", + "plt.scatter(5, 37, c='orange', zorder=3)\n", + "plt.ylim(-5, 150) # new\n", + "plt.plot(x, line_y, c='orange') # new\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 75, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RGEaUT_OcxaV" + }, + "source": [ + "The closer $Q$ becomes to $P$, the closer the slope $m$ comes to being the true tangent of the point $P$. Let's demonstrate this with another point $Q$ at $x = 2.1$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xWAJUiEbcxaV" + }, + "source": [ + "Previously, our $\\Delta x$ between $Q$ and $P$ was equal to 3. Now it is much smaller: $$\\Delta x = x_2 - x_1 = 2.1 - 2 = 0.1 $$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-XDEG_o7cxaV", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c7b34a3e-a712-4cdf-b309-bf8050b73245" + }, + "source": [ + "f(2.1)" + ], + "execution_count": 76, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "10.61" + ] + }, + "metadata": {}, + "execution_count": 76 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "85n3ApTmcxaX", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "ef65654b-855a-4aeb-861b-5b6b4bdd64fb" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.scatter(2, 10)\n", + "plt.scatter(2.1, 10.61, c = 'orange', zorder=3)\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 77, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YlWhoumBcxaY", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6f69b759-5011-4473-c5e7-e0a23e237b32" + }, + "source": [ + "m = (10.61-10)/(2.1-2)\n", + "m" + ], + "execution_count": 78, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "6.099999999999989" + ] + }, + "metadata": {}, + "execution_count": 78 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "KHMZNdjQcxaa", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ffc8a9f0-2210-465d-be3b-f73d187ab219" + }, + "source": [ + "b = 10.61-m*2.1\n", + "b" + ], + "execution_count": 79, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-2.199999999999978" + ] + }, + "metadata": {}, + "execution_count": 79 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "J1-_0DBJcxab" + }, + "source": [ + "line_y = m*x + b" + ], + "execution_count": 80, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "eDtjdRYQcxad", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "acb8c447-578b-4c18-a82d-1575f6821339" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.scatter(2, 10)\n", + "plt.scatter(2.1, 10.61, c='orange', zorder=3)\n", + "plt.ylim(-5, 150)\n", + "plt.plot(x, line_y, c='orange', zorder=3)\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 81, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "elxPRnoTcxae" + }, + "source": [ + "The closer $Q$ becomes to $P$ (i.e., $\\Delta x$ approaches 0), the clearer it becomes that the slope $m$ at point $P$ = (2, 10) is equal to 6." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "srMjU62xcxaf" + }, + "source": [ + "Let's make $\\Delta x$ extremely small, 0.000001, to illustrate this:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "c_B0wY47cxaf", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a0195377-a793-4d38-96ec-119b796a03b8" + }, + "source": [ + "delta_x = 0.000001\n", + "delta_x" + ], + "execution_count": 82, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1e-06" + ] + }, + "metadata": {}, + "execution_count": 82 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "g8LSgemacxai" + }, + "source": [ + "x1 = 2\n", + "y1 = 10" + ], + "execution_count": 83, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gsa2I2Jxcxaj" + }, + "source": [ + "Rearranging $\\Delta x = x_2 - x_1$, we can calculate $x_2$ for our point $Q$, which is now extremely close to $P$: \n", + "$$x_2 = x_1 + \\Delta x$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "4PgqVCZVcxak", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "efbc587f-78b2-4b6c-9b13-5f2c4d92e9ec" + }, + "source": [ + "x2 = x1 + delta_x\n", + "x2" + ], + "execution_count": 84, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "2.000001" + ] + }, + "metadata": {}, + "execution_count": 84 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FoBqhu1zcxan" + }, + "source": [ + "$y_2$ for our point $Q$ can be obtained with the usual function $f(x)$: \n", + "$$y_2 = f(x_2)$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "9_2mjm1Ycxan", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "cb9ee005-2d66-42cd-b53c-363f871d54eb" + }, + "source": [ + "y2 = f(x2)\n", + "y2" + ], + "execution_count": 85, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "10.000006000001001" + ] + }, + "metadata": {}, + "execution_count": 85 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Eekls7AIcxap" + }, + "source": [ + "To find the slope $m$, we continue to use $$m = \\frac{\\Delta y}{\\Delta x} = \\frac{y_2 - y_1}{x_2 - x_1}$$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "yQAwKXPUcxap", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b7df1648-ff59-4d81-f5af-e6a1be9e43cf" + }, + "source": [ + "m = (y2 - y1)/(x2 - x1)\n", + "m" + ], + "execution_count": 86, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "6.000001000088901" + ] + }, + "metadata": {}, + "execution_count": 86 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "IEy7jMVpcxar" + }, + "source": [ + "Boom! Using the delta method, we've shown that at point $P$, the slope of the curve is 6. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GJ7bRkBvcxar" + }, + "source": [ + "**Exercise**: Using the delta method, find the slope of the tangent where $x = -1$." + ] + }, + { + "cell_type": "code", + "source": [ + "x1 = -1\n", + "y1 = f(x1)" + ], + "metadata": { + "id": "ZdzvFjZsHylk" + }, + "execution_count": 91, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "delta_x" + ], + "metadata": { + "id": "ou0ZZqRkIrgk", + "outputId": "c9959a6e-3619-4007-dff5-d20eb60fa473", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 92, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1e-06" + ] + }, + "metadata": {}, + "execution_count": 92 + } + ] + }, + { + "cell_type": "code", + "source": [ + "x2 = x1 + delta_x\n", + "x2" + ], + "metadata": { + "id": "fsH3x67uIwJb", + "outputId": "d8fe0512-86b4-43d0-9e23-963506971f46", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 93, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-0.999999" + ] + }, + "metadata": {}, + "execution_count": 93 + } + ] + }, + { + "cell_type": "code", + "source": [ + "y2 = f(x2)\n", + "y2" + ], + "metadata": { + "id": "D8naqyc7I0qs", + "outputId": "4e22793c-4814-49b5-b422-37dd08269699", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 95, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.000000000001" + ] + }, + "metadata": {}, + "execution_count": 95 + } + ] + }, + { + "cell_type": "code", + "source": [ + "m = (y2 - y1)/(x2 - x1)\n", + "m" + ], + "metadata": { + "id": "YIrytLecI5Aa", + "outputId": "7c40e82c-c76d-4017-d6ef-275e631691da", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 96, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.0000889005535828e-06" + ] + }, + "metadata": {}, + "execution_count": 96 + } + ] + }, + { + "cell_type": "code", + "source": [ + "b = y2 - m*x2\n", + "line_y = m*x + b" + ], + "metadata": { + "id": "NdjQVxm7JcAe" + }, + "execution_count": 107, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.scatter(x1, y1)\n", + "plt.scatter(x2, y2, c='orange', zorder=3)\n", + "plt.ylim(-5, 150)\n", + "plt.plot(x, line_y, c='orange', zorder=3)\n", + "_ = ax.plot(x,y)" + ], + "metadata": { + "id": "SlK6vkNSHX8s", + "outputId": "d1855709-4e2f-4039-d258-92ee1802fcaa", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + } + }, + "execution_count": 108, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "pV8Vpgvdcxar" + }, + "source": [ + "**Spoiler alert! The solution's below.**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "65FeJSRocxaz" + }, + "source": [ + "x1 = -1" + ], + "execution_count": 109, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "fAIGLk8Mcxa0", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f3447da3-2ce7-4707-d164-d62d21c81b47" + }, + "source": [ + "y1 = f(x1)\n", + "y1" + ], + "execution_count": 110, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1" + ] + }, + "metadata": {}, + "execution_count": 110 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SZowMdIQcxa1" + }, + "source": [ + "Point $P$ is located at (-1, 1)" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-CPHl783cxa1", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b6ae2e6f-c717-48f5-fbda-be687bc45788" + }, + "source": [ + "delta_x" + ], + "execution_count": 111, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1e-06" + ] + }, + "metadata": {}, + "execution_count": 111 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "jzw0J1n9cxa2", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "de4b30f3-9eeb-4c7c-b3c3-243be8436f1b" + }, + "source": [ + "x2 = x1 + delta_x\n", + "x2" + ], + "execution_count": 112, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "-0.999999" + ] + }, + "metadata": {}, + "execution_count": 112 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "WaynVKiwcxa3", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ddc513e5-ee2f-4a0f-bc0c-72d57ab0a135" + }, + "source": [ + "y2 = f(x2)\n", + "y2" + ], + "execution_count": 113, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.000000000001" + ] + }, + "metadata": {}, + "execution_count": 113 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rApig2ipcxa4" + }, + "source": [ + "Quick aside: Pertinent to defining differentiation as an equation, an alternative way to calculate $y_2$ is $f(x + \\Delta x)$" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "yCW283sZcxa4", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b2100e1d-d7d7-4b20-d871-65b0c0fae097" + }, + "source": [ + "y2 = f(x1 + delta_x)\n", + "y2" + ], + "execution_count": 114, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.000000000001" + ] + }, + "metadata": {}, + "execution_count": 114 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "S1Dr3Ankcxa7" + }, + "source": [ + "Point $Q$ is at (-0.999999, 1.000000000001), extremely close to $P$." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZtokXlMncxa7", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e0c21bbe-2e43-4160-9ab6-204243acc21c" + }, + "source": [ + "m = (y2-y1)/(x2-x1)\n", + "m" + ], + "execution_count": 115, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.0000889005535828e-06" + ] + }, + "metadata": {}, + "execution_count": 115 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "91slg8F4cxa8" + }, + "source": [ + "Therefore, as $x_2$ becomes infinitely close to $x_1$, it becomes clear that the slope $m$ at $x_1 = -1$ is equal to zero. Let's plot it out: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "2WToJBOhcxa8", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "cde15534-c305-4aed-a0f8-6c12d99664f1" + }, + "source": [ + "b = y2-m*x2\n", + "b" + ], + "execution_count": 116, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.0000010000889006" + ] + }, + "metadata": {}, + "execution_count": 116 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ah0cXRhrcxa9" + }, + "source": [ + "line_y = m*x + b" + ], + "execution_count": 117, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "MjLttDg9cxa-", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "outputId": "65146760-8f6f-4a63-d3c3-bb703e7853c9" + }, + "source": [ + "fig, ax = plt.subplots()\n", + "plt.axvline(x=0, color='lightgray')\n", + "plt.axhline(y=0, color='lightgray')\n", + "plt.scatter(x1, y1)\n", + "plt.scatter(x2, y2, c='orange', zorder=3)\n", + "plt.ylim(-5, 150)\n", + "plt.plot(x, line_y, c='orange', zorder=3)\n", + "_ = ax.plot(x,y)" + ], + "execution_count": 118, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hqmMtmpGcxbA" + }, + "source": [ + "As $Q$ becomes infinitely close to $P$:\n", + "* $x_2$ - $x_1$ approaches 0\n", + "* In other words, $\\Delta x$ approaches 0\n", + "* This can be denoted as $\\Delta x \\to 0$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "nsh_7o7kcxbA" + }, + "source": [ + "Using the delta method, we've derived the definition of differentiation from first principles. The derivative of $y$ (denoted $dy$) with respect to $x$ (denoted $dx$) can be represented as: \n", + "$$\\frac{dy}{dx} = \\lim_{\\Delta x \\to 0} \\frac{\\Delta y}{\\Delta x}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UxuWTEKlcxbA" + }, + "source": [ + "Expanding $\\Delta y$ out to $y_2 - y_1$: \n", + "$$\\frac{dy}{dx} = \\lim_{\\Delta x \\to 0} \\frac{y_2 - y_1}{\\Delta x}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "b0H4kFkYcxbB" + }, + "source": [ + "Finally, replacing $y_1$ with $f(x)$ and replacing $y_2$ with $f(x + \\Delta x)$, we obtain a common representation of differentiation:\n", + "$$\\frac{dy}{dx} = \\lim_{\\Delta x \\to 0} \\frac{f(x + \\Delta x) - f(x)}{\\Delta x}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SuYWQ9e1cxbB" + }, + "source": [ + "Let's observe the differentiation equation in action: " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Do6EHZfHcxbB" + }, + "source": [ + "def diff_demo(my_f, my_x, my_delta):\n", + " return (my_f(my_x + my_delta) - my_f(my_x)) / my_delta" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "hXbAgWvrcxbC" + }, + "source": [ + "deltas = [1, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "iYtlA3S5cxbD" + }, + "source": [ + "for delta in deltas:\n", + " print(diff_demo(f, 2, delta))" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "CMW45DQmcxbF", + "scrolled": true + }, + "source": [ + "for delta in deltas:\n", + " print(diff_demo(f, -1, delta))" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Kh8vawMMcxbG" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Ez8pKj_lcxbG" + }, + "source": [ + "## Segment 3: Automatic Differentiation" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "laWM6cgvcxbG" + }, + "source": [ + "**TensorFlow** and **PyTorch** are the two most popular automatic differentiation libraries." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RLi7jwLEzaDB" + }, + "source": [ + "Let's use them to calculate $dy/dx$ at $x = 5$ where: " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qmgeCDWycxbL" + }, + "source": [ + "$$y = x^2$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MhMxT9oQcxbL" + }, + "source": [ + "$$ \\frac{dy}{dx} = 2x = 2(5) = 10 $$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Zg-PepdncxbN" + }, + "source": [ + "### Autodiff with PyTorch" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "n8FJ1OkWcxbN" + }, + "source": [ + "import torch" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "DTYVufujcxbP" + }, + "source": [ + "x = torch.tensor(5.0)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "13j9vFZgcxbP" + }, + "source": [ + "x" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "PBLvpsCWcxbQ" + }, + "source": [ + "x.requires_grad_() # contagiously track gradients through forward pass" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "zper8WoVcxbR" + }, + "source": [ + "y = x**2" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "1Pbdg7zVcxbS" + }, + "source": [ + "y.backward() # use autodiff" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "UbV3BecacxbT" + }, + "source": [ + "x.grad" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dyB3FghkcxbG" + }, + "source": [ + "### Autodiff with TensorFlow" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "4D12um9kcxbH" + }, + "source": [ + "import tensorflow as tf" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "f7mQuelZcxbJ" + }, + "source": [ + "x = tf.Variable(5.0)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "M-WeFuBfcxbK" + }, + "source": [ + "with tf.GradientTape() as t:\n", + " t.watch(x) # track forward pass\n", + " y = x**2" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Txjp5NBNcxbL" + }, + "source": [ + "t.gradient(y, x) # use autodiff" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dS--vwVWzaDD" + }, + "source": [ + "**Return to slides here.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "l599s7vacxbV" + }, + "source": [ + "As usual, PyTorch feels more intuitive and pythonic than TensorFlow. See the standalone [*Regression in PyTorch*](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/regression-in-pytorch.ipynb) notebook for an example of autodiff paired with gradient descent in order to fit a simple regression line." + ] + } + ] +} \ No newline at end of file