diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/.ipynb_checkpoints/2.1 Scalars, Vectors, Matrices, and Tensors-checkpoint.ipynb b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/.ipynb_checkpoints/2.1 Scalars, Vectors, Matrices, and Tensors-checkpoint.ipynb new file mode 100644 index 0000000..ae54c09 --- /dev/null +++ b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/.ipynb_checkpoints/2.1 Scalars, Vectors, Matrices, and Tensors-checkpoint.ipynb @@ -0,0 +1,877 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This first chapter is quite light and concerns the basic elements used in linear algebra and their definitions. It also introduces important functions in Python/Numpy that we will use all along this series. It will explain how to create and use vectors and matrices through examples." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.1 Scalars, Vectors, Matrices and Tensors\n", + "\n", + "Let's start with some basic definitions:\n", + "\n", + "\n", + "Difference between a scalar, a vector, a matrix and a tensor\n", + "\n", + "- A scalar is a single number or a matrix with a single entry.\n", + "- A vector is a 1-d array of numbers. Another way to think of vectors is identifying points in space with each element giving the coordinate along a different axis.\n", + "\n", + "$$\n", + "\\bs{x} =\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "- A matrix is a 2-D array where each element is identified by two indices (ROW then COLUMN).\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "- A tensor is a $n$-dimensional array with $n>2$\n", + "\n", + "We will follow the conventions used in the [Deep Learning Book](http://www.deeplearningbook.org/):\n", + "\n", + "- scalars are written in lowercase and italics. For instance: $n$\n", + "- vectors are written in lowercase, italics and bold type. For instance: $\\bs{x}$\n", + "- matrices are written in uppercase, italics and bold. For instance: $\\bs{X}$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1.\n", + "\n", + "#### Create a vector with Python and Numpy\n", + "\n", + "*Coding tip*: Unlike the `matrix()` function which necessarily creates $2$-dimensional matrices, you can create $n$-dimensionnal arrays with the `array()` function. The main advantage to use `matrix()` is the useful methods (conjugate transpose, inverse, matrix operations...). We will use the `array()` function in this series.\n", + "\n", + "We will start by creating a vector. This is just a $1$-dimensional array:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3, 4])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([1, 2, 3, 4])\n", + "x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2.\n", + "\n", + "#### Create a (3x2) matrix with nested brackets\n", + "\n", + "The `array()` function can also create $2$-dimensional arrays with nested brackets:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Shape\n", + "\n", + "The shape of an array (that is to say its dimensions) tells you the number of values for each dimension. For a $2$-dimensional array it will give you the number of rows and the number of columns. Let's find the shape of our preceding $2$-dimensional array `A`. Since `A` is a Numpy array (it was created with the `array()` function) you can access its shape with:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3, 2)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that $\\bs{A}$ has 3 rows and 2 columns.\n", + "\n", + "Let's check the shape of our first vector:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4,)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, you can see that $\\bs{x}$ has only one dimension. The number corresponds to the length of the array:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Transposition\n", + "\n", + "With transposition you can convert a row vector to a column vector and vice versa:\n", + "\n", + "\n", + "Vector transposition\n", + "\n", + "The transpose $\\bs{A}^{\\text{T}}$ of the matrix $\\bs{A}$ corresponds to the mirrored axes. If the matrix is a square matrix (same number of columns and rows):\n", + "\n", + "\n", + "Square matrix transposition\n", + "\n", + "If the matrix is not square the idea is the same:\n", + "\n", + "\n", + "Non-square matrix transposition\n", + "\n", + "\n", + "The superscript $^\\text{T}$ is used for transposed matrices.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{A}^{\\text{T}}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{2,1} & A_{3,1} \\\\\\\\\n", + " A_{1,2} & A_{2,2} & A_{3,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The shape ($m \\times n$) is inverted and becomes ($n \\times m$).\n", + "\n", + "\n", + "Dimensions of matrix transposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "#### Create a matrix A and transpose it" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 3, 5],\n", + " [2, 4, 6]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_t = A.T\n", + "A_t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check the dimensions of the matrices:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3, 2)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2, 3)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_t.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the number of columns becomes the number of rows with transposition and vice versa." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Addition\n", + "\n", + "\n", + "Addition of two matrices\n", + "\n", + "Matrices can be added if they have the same shape:\n", + "\n", + "$$\\bs{A} + \\bs{B} = \\bs{C}$$\n", + "\n", + "Each cell of $\\bs{A}$ is added to the corresponding cell of $\\bs{B}$:\n", + "\n", + "$$\\bs{A}_{i,j} + \\bs{B}_{i,j} = \\bs{C}_{i,j}$$\n", + "\n", + "$i$ is the row index and $j$ the column index.\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " B_{1,1} & B_{1,2} \\\\\\\\\n", + " B_{2,1} & B_{2,2} \\\\\\\\\n", + " B_{3,1} & B_{3,2}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} + B_{1,1} & A_{1,2} + B_{1,2} \\\\\\\\\n", + " A_{2,1} + B_{2,1} & A_{2,2} + B_{2,2} \\\\\\\\\n", + " A_{3,1} + B_{3,1} & A_{3,2} + B_{3,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The shape of $\\bs{A}$, $\\bs{B}$ and $\\bs{C}$ are identical. Let's check that in an example:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "#### Create two matrices A and B and add them\n", + "\n", + "With Numpy you can add matrices just as you would add vectors or scalars." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 5],\n", + " [7, 4],\n", + " [4, 3]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2, 5], [7, 4], [4, 3]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 3, 7],\n", + " [10, 8],\n", + " [ 9, 9]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Add matrices A and B\n", + "C = A + B\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is also possible to add a scalar to a matrix. This means adding this scalar to each cell of the matrix.\n", + "\n", + "$$\n", + "\\alpha+ \\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " \\alpha + A_{1,1} & \\alpha + A_{1,2} \\\\\\\\\n", + " \\alpha + A_{2,1} & \\alpha + A_{2,2} \\\\\\\\\n", + " \\alpha + A_{3,1} & \\alpha + A_{3,2}\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 5.\n", + "\n", + "#### Add a scalar to a matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 5, 6],\n", + " [ 7, 8],\n", + " [ 9, 10]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Exemple: Add 4 to the matrix A\n", + "C = A+4\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Broadcasting\n", + "\n", + "Numpy can handle operations on arrays of different shapes. The smaller array will be extended to match the shape of the bigger one. The advantage is that this is done in `C` under the hood (like any vectorized operations in Numpy). Actually, we used broadcasting in the example 5. The scalar was converted in an array of same shape as $\\bs{A}$.\n", + "\n", + "Here is another generic example:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " B_{1,1} \\\\\\\\\n", + " B_{2,1} \\\\\\\\\n", + " B_{3,1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "is equivalent to\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " B_{1,1} & B_{1,1} \\\\\\\\\n", + " B_{2,1} & B_{2,1} \\\\\\\\\n", + " B_{3,1} & B_{3,1}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} + B_{1,1} & A_{1,2} + B_{1,1} \\\\\\\\\n", + " A_{2,1} + B_{2,1} & A_{2,2} + B_{2,1} \\\\\\\\\n", + " A_{3,1} + B_{3,1} & A_{3,2} + B_{3,1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "where the ($3 \\times 1$) matrix is converted to the right shape ($3 \\times 2$) by copying the first column. Numpy will do that automatically if the shapes can match." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 6.\n", + "\n", + "#### Add two matrices of different shapes" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [4],\n", + " [6]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2], [4], [6]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 3, 4],\n", + " [ 7, 8],\n", + " [11, 12]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Broadcasting\n", + "C=A+B\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can find basics operations on matrices simply explained [here](https://www.mathsisfun.com/algebra/matrix-introduction.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Coding tip*: Sometimes row or column vectors are not in proper shape for broadcasting. We need to imploy a trick ( a`numpy.newaxis` object) to help fix this issue." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4,)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.arange(4)\n", + "x.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0],\n", + " [1],\n", + " [2],\n", + " [3]])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Adds a new dimension\n", + "x[:, np.newaxis]" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.85316855, 0.5697912 , 0.19356843],\n", + " [-0.27118831, 1.08057327, 0.50225431],\n", + " [-1.4906832 , 1.3897771 , -1.25708973],\n", + " [-0.7279187 , -0.77187513, 1.04552533]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.random.randn(4,3)\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Operation cannot be completed. Dimension mismatch\n" + ] + } + ], + "source": [ + "# This will throw an error\n", + "try:\n", + " A - x\n", + "except ValueError:\n", + " print(\"Operation cannot be completed. Dimension mismatch\") " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.85316855, 0.5697912 , 0.19356843],\n", + " [-1.27118831, 0.08057327, -0.49774569],\n", + " [-3.4906832 , -0.6102229 , -3.25708973],\n", + " [-3.7279187 , -3.77187513, -1.95447467]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# But this works -- subtract each column of A by the column vector x\n", + "A - x[:, np.newaxis]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "- [Broadcasting in Numpy](https://docs.scipy.org/doc/numpy-1.13.0/user/basics.broadcasting.html)\n", + "\n", + "- [Discussion on Arrays and matrices](https://stackoverflow.com/questions/4151128/what-are-the-differences-between-numpy-arrays-and-matrices-which-one-should-i-u)\n", + "\n", + "- [Math is fun - Matrix introduction](https://www.mathsisfun.com/algebra/matrix-introduction.html)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Numpy\n", + "\n", + "- [arange](https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html)\n", + "- [Error Handling: try and except](https://www.pythonforbeginners.com/error-handling/python-try-and-except)\n", + "- [Random.Randn](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randn.html)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/2.1 Scalars, Vectors, Matrices, and Tensors.ipynb b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/2.1 Scalars, Vectors, Matrices, and Tensors.ipynb new file mode 100644 index 0000000..ae54c09 --- /dev/null +++ b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/2.1 Scalars, Vectors, Matrices, and Tensors.ipynb @@ -0,0 +1,877 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This first chapter is quite light and concerns the basic elements used in linear algebra and their definitions. It also introduces important functions in Python/Numpy that we will use all along this series. It will explain how to create and use vectors and matrices through examples." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.1 Scalars, Vectors, Matrices and Tensors\n", + "\n", + "Let's start with some basic definitions:\n", + "\n", + "\n", + "Difference between a scalar, a vector, a matrix and a tensor\n", + "\n", + "- A scalar is a single number or a matrix with a single entry.\n", + "- A vector is a 1-d array of numbers. Another way to think of vectors is identifying points in space with each element giving the coordinate along a different axis.\n", + "\n", + "$$\n", + "\\bs{x} =\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "- A matrix is a 2-D array where each element is identified by two indices (ROW then COLUMN).\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "- A tensor is a $n$-dimensional array with $n>2$\n", + "\n", + "We will follow the conventions used in the [Deep Learning Book](http://www.deeplearningbook.org/):\n", + "\n", + "- scalars are written in lowercase and italics. For instance: $n$\n", + "- vectors are written in lowercase, italics and bold type. For instance: $\\bs{x}$\n", + "- matrices are written in uppercase, italics and bold. For instance: $\\bs{X}$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1.\n", + "\n", + "#### Create a vector with Python and Numpy\n", + "\n", + "*Coding tip*: Unlike the `matrix()` function which necessarily creates $2$-dimensional matrices, you can create $n$-dimensionnal arrays with the `array()` function. The main advantage to use `matrix()` is the useful methods (conjugate transpose, inverse, matrix operations...). We will use the `array()` function in this series.\n", + "\n", + "We will start by creating a vector. This is just a $1$-dimensional array:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3, 4])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([1, 2, 3, 4])\n", + "x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2.\n", + "\n", + "#### Create a (3x2) matrix with nested brackets\n", + "\n", + "The `array()` function can also create $2$-dimensional arrays with nested brackets:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Shape\n", + "\n", + "The shape of an array (that is to say its dimensions) tells you the number of values for each dimension. For a $2$-dimensional array it will give you the number of rows and the number of columns. Let's find the shape of our preceding $2$-dimensional array `A`. Since `A` is a Numpy array (it was created with the `array()` function) you can access its shape with:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3, 2)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that $\\bs{A}$ has 3 rows and 2 columns.\n", + "\n", + "Let's check the shape of our first vector:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4,)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, you can see that $\\bs{x}$ has only one dimension. The number corresponds to the length of the array:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Transposition\n", + "\n", + "With transposition you can convert a row vector to a column vector and vice versa:\n", + "\n", + "\n", + "Vector transposition\n", + "\n", + "The transpose $\\bs{A}^{\\text{T}}$ of the matrix $\\bs{A}$ corresponds to the mirrored axes. If the matrix is a square matrix (same number of columns and rows):\n", + "\n", + "\n", + "Square matrix transposition\n", + "\n", + "If the matrix is not square the idea is the same:\n", + "\n", + "\n", + "Non-square matrix transposition\n", + "\n", + "\n", + "The superscript $^\\text{T}$ is used for transposed matrices.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{A}^{\\text{T}}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{2,1} & A_{3,1} \\\\\\\\\n", + " A_{1,2} & A_{2,2} & A_{3,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The shape ($m \\times n$) is inverted and becomes ($n \\times m$).\n", + "\n", + "\n", + "Dimensions of matrix transposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "#### Create a matrix A and transpose it" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 3, 5],\n", + " [2, 4, 6]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_t = A.T\n", + "A_t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check the dimensions of the matrices:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3, 2)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2, 3)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_t.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the number of columns becomes the number of rows with transposition and vice versa." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Addition\n", + "\n", + "\n", + "Addition of two matrices\n", + "\n", + "Matrices can be added if they have the same shape:\n", + "\n", + "$$\\bs{A} + \\bs{B} = \\bs{C}$$\n", + "\n", + "Each cell of $\\bs{A}$ is added to the corresponding cell of $\\bs{B}$:\n", + "\n", + "$$\\bs{A}_{i,j} + \\bs{B}_{i,j} = \\bs{C}_{i,j}$$\n", + "\n", + "$i$ is the row index and $j$ the column index.\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " B_{1,1} & B_{1,2} \\\\\\\\\n", + " B_{2,1} & B_{2,2} \\\\\\\\\n", + " B_{3,1} & B_{3,2}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} + B_{1,1} & A_{1,2} + B_{1,2} \\\\\\\\\n", + " A_{2,1} + B_{2,1} & A_{2,2} + B_{2,2} \\\\\\\\\n", + " A_{3,1} + B_{3,1} & A_{3,2} + B_{3,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The shape of $\\bs{A}$, $\\bs{B}$ and $\\bs{C}$ are identical. Let's check that in an example:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "#### Create two matrices A and B and add them\n", + "\n", + "With Numpy you can add matrices just as you would add vectors or scalars." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 5],\n", + " [7, 4],\n", + " [4, 3]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2, 5], [7, 4], [4, 3]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 3, 7],\n", + " [10, 8],\n", + " [ 9, 9]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Add matrices A and B\n", + "C = A + B\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is also possible to add a scalar to a matrix. This means adding this scalar to each cell of the matrix.\n", + "\n", + "$$\n", + "\\alpha+ \\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " \\alpha + A_{1,1} & \\alpha + A_{1,2} \\\\\\\\\n", + " \\alpha + A_{2,1} & \\alpha + A_{2,2} \\\\\\\\\n", + " \\alpha + A_{3,1} & \\alpha + A_{3,2}\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 5.\n", + "\n", + "#### Add a scalar to a matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 5, 6],\n", + " [ 7, 8],\n", + " [ 9, 10]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Exemple: Add 4 to the matrix A\n", + "C = A+4\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Broadcasting\n", + "\n", + "Numpy can handle operations on arrays of different shapes. The smaller array will be extended to match the shape of the bigger one. The advantage is that this is done in `C` under the hood (like any vectorized operations in Numpy). Actually, we used broadcasting in the example 5. The scalar was converted in an array of same shape as $\\bs{A}$.\n", + "\n", + "Here is another generic example:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " B_{1,1} \\\\\\\\\n", + " B_{2,1} \\\\\\\\\n", + " B_{3,1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "is equivalent to\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " B_{1,1} & B_{1,1} \\\\\\\\\n", + " B_{2,1} & B_{2,1} \\\\\\\\\n", + " B_{3,1} & B_{3,1}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} + B_{1,1} & A_{1,2} + B_{1,1} \\\\\\\\\n", + " A_{2,1} + B_{2,1} & A_{2,2} + B_{2,1} \\\\\\\\\n", + " A_{3,1} + B_{3,1} & A_{3,2} + B_{3,1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "where the ($3 \\times 1$) matrix is converted to the right shape ($3 \\times 2$) by copying the first column. Numpy will do that automatically if the shapes can match." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 6.\n", + "\n", + "#### Add two matrices of different shapes" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [4],\n", + " [6]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2], [4], [6]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 3, 4],\n", + " [ 7, 8],\n", + " [11, 12]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Broadcasting\n", + "C=A+B\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can find basics operations on matrices simply explained [here](https://www.mathsisfun.com/algebra/matrix-introduction.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Coding tip*: Sometimes row or column vectors are not in proper shape for broadcasting. We need to imploy a trick ( a`numpy.newaxis` object) to help fix this issue." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4,)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.arange(4)\n", + "x.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0],\n", + " [1],\n", + " [2],\n", + " [3]])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Adds a new dimension\n", + "x[:, np.newaxis]" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.85316855, 0.5697912 , 0.19356843],\n", + " [-0.27118831, 1.08057327, 0.50225431],\n", + " [-1.4906832 , 1.3897771 , -1.25708973],\n", + " [-0.7279187 , -0.77187513, 1.04552533]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.random.randn(4,3)\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Operation cannot be completed. Dimension mismatch\n" + ] + } + ], + "source": [ + "# This will throw an error\n", + "try:\n", + " A - x\n", + "except ValueError:\n", + " print(\"Operation cannot be completed. Dimension mismatch\") " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.85316855, 0.5697912 , 0.19356843],\n", + " [-1.27118831, 0.08057327, -0.49774569],\n", + " [-3.4906832 , -0.6102229 , -3.25708973],\n", + " [-3.7279187 , -3.77187513, -1.95447467]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# But this works -- subtract each column of A by the column vector x\n", + "A - x[:, np.newaxis]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "- [Broadcasting in Numpy](https://docs.scipy.org/doc/numpy-1.13.0/user/basics.broadcasting.html)\n", + "\n", + "- [Discussion on Arrays and matrices](https://stackoverflow.com/questions/4151128/what-are-the-differences-between-numpy-arrays-and-matrices-which-one-should-i-u)\n", + "\n", + "- [Math is fun - Matrix introduction](https://www.mathsisfun.com/algebra/matrix-introduction.html)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Numpy\n", + "\n", + "- [arange](https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html)\n", + "- [Error Handling: try and except](https://www.pythonforbeginners.com/error-handling/python-try-and-except)\n", + "- [Random.Randn](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randn.html)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/dimensions-transposition-matrix.png b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/dimensions-transposition-matrix.png new file mode 100644 index 0000000..c47df6c Binary files /dev/null and b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/dimensions-transposition-matrix.png differ diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/matrix-addition.png b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/matrix-addition.png new file mode 100644 index 0000000..8659ba8 Binary files /dev/null and b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/matrix-addition.png differ diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/non-squared-matrix-transposition.png b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/non-squared-matrix-transposition.png new file mode 100644 index 0000000..afb8809 Binary files /dev/null and b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/non-squared-matrix-transposition.png differ diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/scalar-vector-matrix-tensor.png b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/scalar-vector-matrix-tensor.png new file mode 100644 index 0000000..4f4942b Binary files /dev/null and b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/scalar-vector-matrix-tensor.png differ diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/square-matrix-transposition.png b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/square-matrix-transposition.png new file mode 100644 index 0000000..04b3d94 Binary files /dev/null and b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/square-matrix-transposition.png differ diff --git a/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/vector-transposition.png b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/vector-transposition.png new file mode 100644 index 0000000..2794664 Binary files /dev/null and b/Chapters/2.01 Scalars, Vectors, Matrices and Tensors/images/vector-transposition.png differ diff --git a/Chapters/2.02 Multiplying Matrices and Vectors/.ipynb_checkpoints/2.2 Multiplying Matrices and Vectors-checkpoint.ipynb b/Chapters/2.02 Multiplying Matrices and Vectors/.ipynb_checkpoints/2.2 Multiplying Matrices and Vectors-checkpoint.ipynb new file mode 100644 index 0000000..ab6c160 --- /dev/null +++ b/Chapters/2.02 Multiplying Matrices and Vectors/.ipynb_checkpoints/2.2 Multiplying Matrices and Vectors-checkpoint.ipynb @@ -0,0 +1,1438 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We will see some very important concepts in this chapter. The dot product is used in every equation explaining data science algorithms so it's worth the effort to understand it. Then we will see some properties of this operation. Finally, we will to get some intuition on the link between matrices and systems of linear equations." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# 2.2 Multiplying Matrices and Vectors\n", + "\n", + "The standard way to multiply matrices is not to multiply each element of one with each elements of the other (this is the element-wise product) but to calculate the sum of the products between rows and columns. The matrix product, also called **dot product**, is calculated as following:\n", + "\n", + "\n", + "The dot product between a matrix and a vector\n", + "\n", + "The number of columns of the first matrix must be equal to the number of rows of the second matrix. Thus, if the dimensions, or the shape of the first matrix, is ($m \\times n$) the second matrix need to be of shape ($n \\times x$). The resulting matrix will have the shape ($m \\times x$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1.\n", + "\n", + "As a starter we will see the multiplication of a matrix and a vector.\n", + "\n", + "$$\\bs{A} \\times \\bs{b} = \\bs{C}$$\n", + "\n", + "with $\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 1 & 2\\\\\\\\\n", + " 3 & 4\\\\\\\\\n", + " 5 & 6\n", + "\\end{bmatrix}\n", + "$ and $\\bs{b}=\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 4\n", + "\\end{bmatrix}$. We saw that the formula is the following:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " B_{1,1} \\\\\\\\\n", + " B_{2,1}\n", + "\\end{bmatrix}=\\\\\\\\\n", + "&\\begin{bmatrix}\n", + " A_{1,1}B_{1,1} + A_{1,2}B_{2,1} \\\\\\\\\n", + " A_{2,1}B_{1,1} + A_{2,2}B_{2,1} \\\\\\\\\n", + " A_{3,1}B_{1,1} + A_{3,2}B_{2,1}\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So we will have:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " 1 & 2 \\\\\\\\\n", + " 3 & 4 \\\\\\\\\n", + " 5 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}=\\\\\\\\\n", + "&\\begin{bmatrix}\n", + " 1 \\times 2 + 2 \\times 4 \\\\\\\\\n", + " 3 \\times 2 + 4 \\times 4 \\\\\\\\\n", + " 5 \\times 2 + 6 \\times 4\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 10 \\\\\\\\\n", + " 22 \\\\\\\\\n", + " 34\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "It is a good habit to check the dimensions of the matrix so see what is going on. We can see in this example that the shape of $\\bs{A}$ is ($3 \\times 2$) and the shape of $\\bs{b}$ is ($2 \\times 1$). So the dimensions of $\\bs{C}$ are ($3 \\times 1$)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### With Numpy\n", + "\n", + "The Numpy function `dot()` can be used to compute the matrix product (or dot product). Let's try to reproduce the last exemple:" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [4]])" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2], [4]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[10],\n", + " [22],\n", + " [34]])" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = np.dot(A, B)\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is equivalent to use the method `dot()` of Numpy arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[10],\n", + " [22],\n", + " [34]])" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = A.dot(B)\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 2.\n", + "\n", + "Multiplication of two matrices.\n", + "\n", + "$$\\bs{A} \\times \\bs{B} = \\bs{C}$$\n", + "\n", + "with:\n", + "\n", + "$$\\bs{A}=\\begin{bmatrix}\n", + " 1 & 2 & 3 \\\\\\\\\n", + " 4 & 5 & 6 \\\\\\\\\n", + " 7 & 8 & 9 \\\\\\\\\n", + " 10 & 11 & 12\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and:\n", + "\n", + "$$\\bs{B}=\\begin{bmatrix}\n", + " 2 & 7 \\\\\\\\\n", + " 1 & 2 \\\\\\\\\n", + " 3 & 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " 1 & 2 & 3 \\\\\\\\\n", + " 4 & 5 & 6 \\\\\\\\\n", + " 7 & 8 & 9 \\\\\\\\\n", + " 10 & 11 & 12\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 2 & 7 \\\\\\\\\n", + " 1 & 2 \\\\\\\\\n", + " 3 & 6\n", + "\\end{bmatrix}=\\\\\\\\\n", + "&\\begin{bmatrix}\n", + " 2 \\times 1 + 1 \\times 2 + 3 \\times 3 & 7 \\times 1 + 2 \\times 2 + 6 \\times 3 \\\\\\\\\n", + " 2 \\times 4 + 1 \\times 5 + 3 \\times 6 & 7 \\times 4 + 2 \\times 5 + 6 \\times 6 \\\\\\\\\n", + " 2 \\times 7 + 1 \\times 8 + 3 \\times 9 & 7 \\times 7 + 2 \\times 8 + 6 \\times 9 \\\\\\\\\n", + " 2 \\times 10 + 1 \\times 11 + 3 \\times 12 & 7 \\times 10 + 2 \\times 11 + 6 \\times 12 \\\\\\\\\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 13 & 29 \\\\\\\\\n", + " 31 & 74 \\\\\\\\\n", + " 49 & 119 \\\\\\\\\n", + " 67 & 164\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Let's check the result with Numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 2, 3],\n", + " [ 4, 5, 6],\n", + " [ 7, 8, 9],\n", + " [10, 11, 12]])" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 7],\n", + " [1, 2],\n", + " [3, 6]])" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2, 7], [1, 2], [3, 6]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 13, 29],\n", + " [ 31, 74],\n", + " [ 49, 119],\n", + " [ 67, 164]])" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = A.dot(B)\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "It works!\n", + "\n", + "# Formalization of the dot product\n", + "\n", + "$$\n", + "C_{i,j} = A_{i,k}B_{k,j} = \\sum_{k}A_{i,k}B_{k,j}\n", + "$$\n", + "\n", + "You can find more examples about the dot product [here](https://www.mathsisfun.com/algebra/matrix-multiplying.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# Properties of the dot product\n", + "\n", + "We will now see some interesting properties of the matrix multiplication. It will become useful as we move forward in the chapters. Using simple examples for each property will provide a way to check them while we get used to the Numpy functions.\n", + "\n", + "## Matrices mutliplication is distributive\n", + "\n", + "$$\\bs{A}(\\bs{B}+\\bs{C}) = \\bs{AB}+\\bs{AC}$$\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}, \n", + "\\bs{B}=\\begin{bmatrix}\n", + " 5 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}, \n", + "\\bs{C}=\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{A}(\\bs{B}+\\bs{C})&=\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\left(\\begin{bmatrix}\n", + " 5 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\\right)=\n", + "\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 9 \\\\\\\\\n", + " 5\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 2 \\times 9 + 3 \\times 5 \\\\\\\\\n", + " 1 \\times 9 + 4 \\times 5 \\\\\\\\\n", + " 7 \\times 9 + 6 \\times 5\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 33 \\\\\\\\\n", + " 29 \\\\\\\\\n", + " 93\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "is equivalent to\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{A}\\bs{B}+\\bs{A}\\bs{C} &= \\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 5 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 2 \\times 5 + 3 \\times 2 \\\\\\\\\n", + " 1 \\times 5 + 4 \\times 2 \\\\\\\\\n", + " 7 \\times 5 + 6 \\times 2\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 2 \\times 4 + 3 \\times 3 \\\\\\\\\n", + " 1 \\times 4 + 4 \\times 3 \\\\\\\\\n", + " 7 \\times 4 + 6 \\times 3\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 16 \\\\\\\\\n", + " 13 \\\\\\\\\n", + " 47\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 17 \\\\\\\\\n", + " 16 \\\\\\\\\n", + " 46\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 33 \\\\\\\\\n", + " 29 \\\\\\\\\n", + " 93\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [1, 4],\n", + " [7, 6]])" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [1, 4], [7, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5],\n", + " [2]])" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5], [2]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[4],\n", + " [3]])" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = np.array([[4], [3]])\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{A}(\\bs{B}+\\bs{C})$:" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[33],\n", + " [29],\n", + " [93]])" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = A.dot(B+C)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is equivalent to $\\bs{AB}+\\bs{AC}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[33],\n", + " [29],\n", + " [93]])" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = A.dot(B) + A.dot(C)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## Matrices mutliplication is associative\n", + "\n", + "$$\\bs{A}(\\bs{BC}) = (\\bs{AB})\\bs{C}$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [1, 4],\n", + " [7, 6]])" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [1, 4], [7, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 3],\n", + " [2, 2]])" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5, 3], [2, 2]])\n", + "B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{A}(\\bs{BC})$:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[100],\n", + " [ 85],\n", + " [287]])" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = A.dot(B.dot(C))\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is equivalent to $(\\bs{AB})\\bs{C}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[100],\n", + " [ 85],\n", + " [287]])" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = (A.dot(B)).dot(C)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## Matrix multiplication is not commutative\n", + "\n", + "$$\\bs{AB} \\neq \\bs{BA}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [6, 5]])" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [6, 5]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 3],\n", + " [2, 2]])" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5, 3], [2, 2]])\n", + "B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{AB}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[16, 12],\n", + " [40, 28]])" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AB = np.dot(A, B)\n", + "AB" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is different from $\\bs{BA}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[28, 30],\n", + " [16, 16]])" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "BA = np.dot(B, A)\n", + "BA" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## However vector multiplication is commutative\n", + "\n", + "$$\\bs{x^{ \\text{T}}y} = \\bs{y^{\\text{T}}x} $$" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [6]])" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([[2], [6]])\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5],\n", + " [2]])" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y = np.array([[5], [2]])\n", + "y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{x^\\text{T}y}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[22]])" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_ty = x.T.dot(y)\n", + "x_ty" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is equivalent to $\\bs{y^\\text{T}x}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[22]])" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_tx = y.T.dot(x)\n", + "y_tx" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## Simplification of the matrix product\n", + "\n", + "$$(\\bs{AB})^{\\text{T}} = \\bs{B}^\\text{T}\\bs{A}^\\text{T}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [1, 4],\n", + " [7, 6]])" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [1, 4], [7, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 3],\n", + " [2, 2]])" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5, 3], [2, 2]])\n", + "B" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "$(\\bs{AB})^{\\text{T}}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[16, 13, 47],\n", + " [12, 11, 33]])" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AB_t = A.dot(B).T\n", + "AB_t" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "is equivalent to $\\bs{B}^\\text{T}\\bs{A}^\\text{T}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "hideCode": false, + "hidePrompt": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[16, 13, 47],\n", + " [12, 11, 33]])" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B_tA = B.T.dot(A.T)\n", + "B_tA" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# System of linear equations\n", + "\n", + "This is an important part of why linear algebra can be very useful to solve variety of problems. Here we will see that it can be use to represent system of equations.\n", + "\n", + "A system of equations is a set of multiple equations (at least 1). For instance we could have:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x + 1 \\\\\\\\\n", + "y = \\frac{7}{2}x +3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "A system of equations is defined by its number of equations and its number of unknowns. In our example above, the system has 2 equations and 2 unknowns ($x$ and $y$). In addition we call this a system of **linear** equations because each equations is linear. It is easy to see that in 2 dimensions: we will have one straight line per equation and the dimensions are the unknowns. Here is the plot of the first one:\n", + "\n", + "\n", + "Representation of a linear equation\n", + "\n", + "\n", + " In our system of equations, the unknowns are the dimensions and the number of equations is the number of lines (in 2D) or $n$-dimensional planes.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using matrices to describe the system\n", + "\n", + "Matrices can be used to describe a system of linear equations of the form $\\bs{Ax}=\\bs{b}$. Here is such a system:\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + A_{m,n}x_n = b_n\n", + "$$\n", + "\n", + "The unknowns (what we want to find to solve the system) are the variables $x_1$ and $x_2$ corresponding to the previous variables $x$ and $y$. It is exactly the same form as with the last example but with all the variables on the same side. $y = 2x + 1$ becomes $-2x + y = 1$ with $x$ corresponding to $x_1$ and $y$ corresponding to $x_2$. We will have $n$ unknowns and $m$ equations.\n", + "\n", + "The variables are named $x_1, x_2, \\cdots, x_n$ by convention because we will see that it can be summarised in the vector $\\bs{x}$.\n", + "\n", + "### Left hand side\n", + "\n", + "The left hand term can considered as the product of a matrix $\\bs{A}$ containing weights for each variable ($n$ columns) and each equation ($m$ rows):\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "with a vector $\\bs{x}$ containing the $n$ unknowns\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The dot product of $\\bs{A}$ and $\\bs{x}$ gives a set of equations. Here is a simple example:\n", + "\n", + "\n", + "Matrix form of a system of linear equations\n", + "\n", + "We have a set of two equations with two unknowns. So the number of rows of $\\bs{A}$ gives the number of equations and the number of columns gives the number of unknowns.\n", + "\n", + "### Both sides\n", + "\n", + "The equation system can be wrote like that:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " b_1 \\\\\\\\\n", + " b_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " b_m\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Or simply:\n", + "\n", + "$$\\bs{Ax}=\\bs{b}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "We will try to convert the common form of a linear equation $y=ax+b$ to the matrix form. If we want to keep the previous notation we will have instead:\n", + "\n", + "$$x_2=ax_1+b$$\n", + "\n", + "Don't confuse the variable $x_1$ and $x_2$ with the vector $\\bs{x}$. This vector contains actually all the variables of our equations. Here we have:\n", + "\n", + "$$\n", + "\\bs{x} =\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "In this example we will use the following equation:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&x_2=2x_1+1\\\\\\\\\n", + "\\Leftrightarrow& 2x_1-x_2=-1\n", + "\\end{align*}\n", + "$$\n", + "\n", + "In order to end up with this system when we multiply $\\bs{A}$ and $\\bs{x}$ we need $\\bs{A}$ to be a matrix containing the weights of each variable. The weight of $x_1$ is $2$ and the weights of $x_2$ is $-1$:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + "2x_1-1x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "To complete the equation we have\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "which gives\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This system of equations is thus very simple and contains only 1 equation ($\\bs{A}$ has 1 row) and 2 variables ($\\bs{A}$ has 2 columns). \n", + "\n", + "To summarise, $\\bs{A}$ will be the matrix of dimensions $m\\times n$ containing scalars multiplying these variables (here $x_1$ is multiplied by 2 and $x_2$ by -1). The vector $\\bs{x}$ contains the variables $x_1$ and $x_2$. And the right hand term is the constant $\\bs{b}$:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can write this system\n", + "\n", + "$$\n", + "\\bs{Ax}=\\bs{b}\n", + "$$\n", + "\n", + "We will see at the end of the [the next chapter](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) that this compact way of writing sets of linear equations can be very usefull. It provides actually a way to solve the equations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "- [Math is fun - Multiplying matrices](https://www.mathsisfun.com/algebra/matrix-multiplying.html)" + ] + } + ], + "metadata": { + "hide_code_all_hidden": false, + "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.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.02 Multiplying Matrices and Vectors/2.2 Multiplying Matrices and Vectors.ipynb b/Chapters/2.02 Multiplying Matrices and Vectors/2.2 Multiplying Matrices and Vectors.ipynb new file mode 100644 index 0000000..06891e8 --- /dev/null +++ b/Chapters/2.02 Multiplying Matrices and Vectors/2.2 Multiplying Matrices and Vectors.ipynb @@ -0,0 +1,1436 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We will see some very important concepts in this chapter. The dot product is used in every equation explaining data science algorithms so it's worth the effort to understand it. Then we will see some properties of this operation. Finally, we will to get some intuition on the link between matrices and systems of linear equations." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# 2.2 Multiplying Matrices and Vectors\n", + "\n", + "The standard way to multiply matrices is not to multiply each element of one with each elements of the other (this is the element-wise product) but to calculate the sum of the products between rows and columns. The matrix product, also called **dot product**, is calculated as following:\n", + "\n", + "\n", + "The dot product between a matrix and a vector\n", + "\n", + "The number of columns of the first matrix must be equal to the number of rows of the second matrix. Thus, if the dimensions, or the shape of the first matrix, is ($m \\times n$) the second matrix need to be of shape ($n \\times x$). The resulting matrix will have the shape ($m \\times x$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1.\n", + "\n", + "As a starter we will see the multiplication of a matrix and a vector.\n", + "\n", + "$$\\bs{A} \\times \\bs{b} = \\bs{C}$$\n", + "\n", + "with $\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 1 & 2\\\\\\\\\n", + " 3 & 4\\\\\\\\\n", + " 5 & 6\n", + "\\end{bmatrix}\n", + "$ and $\\bs{b}=\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 4\n", + "\\end{bmatrix}$. We saw that the formula is the following:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} \\\\\\\\\n", + " A_{2,1} & A_{2,2} \\\\\\\\\n", + " A_{3,1} & A_{3,2}\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " B_{1,1} \\\\\\\\\n", + " B_{2,1}\n", + "\\end{bmatrix}=\\\\\\\\\n", + "&\\begin{bmatrix}\n", + " A_{1,1}B_{1,1} + A_{1,2}B_{2,1} \\\\\\\\\n", + " A_{2,1}B_{1,1} + A_{2,2}B_{2,1} \\\\\\\\\n", + " A_{3,1}B_{1,1} + A_{3,2}B_{2,1}\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So we will have:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " 1 & 2 \\\\\\\\\n", + " 3 & 4 \\\\\\\\\n", + " 5 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}=\\\\\\\\\n", + "&\\begin{bmatrix}\n", + " 1 \\times 2 + 2 \\times 4 \\\\\\\\\n", + " 3 \\times 2 + 4 \\times 4 \\\\\\\\\n", + " 5 \\times 2 + 6 \\times 4\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 10 \\\\\\\\\n", + " 22 \\\\\\\\\n", + " 34\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "It is a good habit to check the dimensions of the matrix so see what is going on. We can see in this example that the shape of $\\bs{A}$ is ($3 \\times 2$) and the shape of $\\bs{b}$ is ($2 \\times 1$). So the dimensions of $\\bs{C}$ are ($3 \\times 1$)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### With Numpy\n", + "\n", + "The Numpy function `dot()` can be used to compute the matrix product (or dot product). Let's try to reproduce the last exemple:" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4],\n", + " [5, 6]])" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [3, 4], [5, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [4]])" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2], [4]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[10],\n", + " [22],\n", + " [34]])" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = np.dot(A, B)\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is equivalent to use the method `dot()` of Numpy arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[10],\n", + " [22],\n", + " [34]])" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = A.dot(B)\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 2.\n", + "\n", + "Multiplication of two matrices.\n", + "\n", + "$$\\bs{A} \\times \\bs{B} = \\bs{C}$$\n", + "\n", + "with:\n", + "\n", + "$$\\bs{A}=\\begin{bmatrix}\n", + " 1 & 2 & 3 \\\\\\\\\n", + " 4 & 5 & 6 \\\\\\\\\n", + " 7 & 8 & 9 \\\\\\\\\n", + " 10 & 11 & 12\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and:\n", + "\n", + "$$\\bs{B}=\\begin{bmatrix}\n", + " 2 & 7 \\\\\\\\\n", + " 1 & 2 \\\\\\\\\n", + " 3 & 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " 1 & 2 & 3 \\\\\\\\\n", + " 4 & 5 & 6 \\\\\\\\\n", + " 7 & 8 & 9 \\\\\\\\\n", + " 10 & 11 & 12\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 2 & 7 \\\\\\\\\n", + " 1 & 2 \\\\\\\\\n", + " 3 & 6\n", + "\\end{bmatrix}=\\\\\\\\\n", + "&\\begin{bmatrix}\n", + " 2 \\times 1 + 1 \\times 2 + 3 \\times 3 & 7 \\times 1 + 2 \\times 2 + 6 \\times 3 \\\\\\\\\n", + " 2 \\times 4 + 1 \\times 5 + 3 \\times 6 & 7 \\times 4 + 2 \\times 5 + 6 \\times 6 \\\\\\\\\n", + " 2 \\times 7 + 1 \\times 8 + 3 \\times 9 & 7 \\times 7 + 2 \\times 8 + 6 \\times 9 \\\\\\\\\n", + " 2 \\times 10 + 1 \\times 11 + 3 \\times 12 & 7 \\times 10 + 2 \\times 11 + 6 \\times 12 \\\\\\\\\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 13 & 29 \\\\\\\\\n", + " 31 & 74 \\\\\\\\\n", + " 49 & 119 \\\\\\\\\n", + " 67 & 164\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Let's check the result with Numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 2, 3],\n", + " [ 4, 5, 6],\n", + " [ 7, 8, 9],\n", + " [10, 11, 12]])" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 7],\n", + " [1, 2],\n", + " [3, 6]])" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[2, 7], [1, 2], [3, 6]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 13, 29],\n", + " [ 31, 74],\n", + " [ 49, 119],\n", + " [ 67, 164]])" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = A.dot(B)\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "It works!\n", + "\n", + "# Formalization of the dot product\n", + "\n", + "$$\n", + "C_{i,j} = A_{i,k}B_{k,j} = \\sum_{k}A_{i,k}B_{k,j}\n", + "$$\n", + "\n", + "You can find more examples about the dot product [here](https://www.mathsisfun.com/algebra/matrix-multiplying.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# Properties of the dot product\n", + "\n", + "We will now see some interesting properties of the matrix multiplication. It will become useful as we move forward in the chapters. Using simple examples for each property will provide a way to check them while we get used to the Numpy functions.\n", + "\n", + "## Matrices mutliplication is distributive\n", + "\n", + "$$\\bs{A}(\\bs{B}+\\bs{C}) = \\bs{AB}+\\bs{AC}$$\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}, \n", + "\\bs{B}=\\begin{bmatrix}\n", + " 5 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}, \n", + "\\bs{C}=\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{A}(\\bs{B}+\\bs{C})&=\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\left(\\begin{bmatrix}\n", + " 5 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\\right)=\n", + "\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 9 \\\\\\\\\n", + " 5\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 2 \\times 9 + 3 \\times 5 \\\\\\\\\n", + " 1 \\times 9 + 4 \\times 5 \\\\\\\\\n", + " 7 \\times 9 + 6 \\times 5\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 33 \\\\\\\\\n", + " 29 \\\\\\\\\n", + " 93\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "is equivalent to\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{A}\\bs{B}+\\bs{A}\\bs{C} &= \\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 5 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 2 & 3 \\\\\\\\\n", + " 1 & 4 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\\times\n", + "\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 2 \\times 5 + 3 \\times 2 \\\\\\\\\n", + " 1 \\times 5 + 4 \\times 2 \\\\\\\\\n", + " 7 \\times 5 + 6 \\times 2\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 2 \\times 4 + 3 \\times 3 \\\\\\\\\n", + " 1 \\times 4 + 4 \\times 3 \\\\\\\\\n", + " 7 \\times 4 + 6 \\times 3\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 16 \\\\\\\\\n", + " 13 \\\\\\\\\n", + " 47\n", + "\\end{bmatrix}+\n", + "\\begin{bmatrix}\n", + " 17 \\\\\\\\\n", + " 16 \\\\\\\\\n", + " 46\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 33 \\\\\\\\\n", + " 29 \\\\\\\\\n", + " 93\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [1, 4],\n", + " [7, 6]])" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [1, 4], [7, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5],\n", + " [2]])" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5], [2]])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[4],\n", + " [3]])" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = np.array([[4], [3]])\n", + "C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{A}(\\bs{B}+\\bs{C})$:" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[33],\n", + " [29],\n", + " [93]])" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = A.dot(B+C)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is equivalent to $\\bs{AB}+\\bs{AC}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[33],\n", + " [29],\n", + " [93]])" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = A.dot(B) + A.dot(C)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## Matrices mutliplication is associative\n", + "\n", + "$$\\bs{A}(\\bs{BC}) = (\\bs{AB})\\bs{C}$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [1, 4],\n", + " [7, 6]])" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [1, 4], [7, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 3],\n", + " [2, 2]])" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5, 3], [2, 2]])\n", + "B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{A}(\\bs{BC})$:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[100],\n", + " [ 85],\n", + " [287]])" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = A.dot(B.dot(C))\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is equivalent to $(\\bs{AB})\\bs{C}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[100],\n", + " [ 85],\n", + " [287]])" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D = (A.dot(B)).dot(C)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## Matrix multiplication is not commutative\n", + "\n", + "$$\\bs{AB} \\neq \\bs{BA}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [6, 5]])" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [6, 5]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 3],\n", + " [2, 2]])" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5, 3], [2, 2]])\n", + "B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{AB}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[16, 12],\n", + " [40, 28]])" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AB = np.dot(A, B)\n", + "AB" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is different from $\\bs{BA}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[28, 30],\n", + " [16, 16]])" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "BA = np.dot(B, A)\n", + "BA" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## However vector multiplication is commutative\n", + "\n", + "$$\\bs{x^{ \\text{T}}y} = \\bs{y^{\\text{T}}x} $$" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [6]])" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([[2], [6]])\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5],\n", + " [2]])" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y = np.array([[5], [2]])\n", + "y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$\\bs{x^\\text{T}y}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[22]])" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_ty = x.T.dot(y)\n", + "x_ty" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "is equivalent to $\\bs{y^\\text{T}x}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[22]])" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_tx = y.T.dot(x)\n", + "y_tx" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## Simplification of the matrix product\n", + "\n", + "$$(\\bs{AB})^{\\text{T}} = \\bs{B}^\\text{T}\\bs{A}^\\text{T}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3],\n", + " [1, 4],\n", + " [7, 6]])" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 3], [1, 4], [7, 6]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 3],\n", + " [2, 2]])" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[5, 3], [2, 2]])\n", + "B" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "$(\\bs{AB})^{\\text{T}}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[16, 13, 47],\n", + " [12, 11, 33]])" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AB_t = A.dot(B).T\n", + "AB_t" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "is equivalent to $\\bs{B}^\\text{T}\\bs{A}^\\text{T}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "hideCode": false, + "hidePrompt": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[16, 13, 47],\n", + " [12, 11, 33]])" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B_tA = B.T.dot(A.T)\n", + "B_tA" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# System of linear equations\n", + "\n", + "This is an important part of why linear algebra can be very useful to solve variety of problems. Here we will see that it can be use to represent system of equations.\n", + "\n", + "A system of equations is a set of multiple equations (at least 1). For instance we could have:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x + 1 \\\\\\\\\n", + "y = \\frac{7}{2}x +3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "A system of equations is defined by its number of equations and its number of unknowns. In our example above, the system has 2 equations and 2 unknowns ($x$ and $y$). In addition we call this a system of **linear** equations because each equations is linear. It is easy to see that in 2 dimensions: we will have one straight line per equation and the dimensions are the unknowns. Here is the plot of the first one:\n", + "\n", + "\n", + "Representation of a linear equation\n", + "\n", + "\n", + " In our system of equations, the unknowns are the dimensions and the number of equations is the number of lines (in 2D) or $n$-dimensional planes.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using matrices to describe the system\n", + "\n", + "Matrices can be used to describe a system of linear equations of the form $\\bs{Ax}=\\bs{b}$. Here is such a system:\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + A_{m,n}x_n = b_n\n", + "$$\n", + "\n", + "The unknowns (what we want to find to solve the system) are the variables $x_1$ and $x_2$ corresponding to the previous variables $x$ and $y$. It is exactly the same form as with the last example but with all the variables on the same side. $y = 2x + 1$ becomes $-2x + y = 1$ with $x$ corresponding to $x_1$ and $y$ corresponding to $x_2$. We will have $n$ unknowns and $m$ equations.\n", + "\n", + "The variables are named $x_1, x_2, \\cdots, x_n$ by convention because we will see that it can be summarised in the vector $\\bs{x}$.\n", + "\n", + "### Left hand side\n", + "\n", + "The left hand term can considered as the product of a matrix $\\bs{A}$ containing weights for each variable ($n$ columns) and each equation ($m$ rows):\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "with a vector $\\bs{x}$ containing the $n$ unknowns\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The dot product of $\\bs{A}$ and $\\bs{x}$ gives a set of equations. Here is a simple example:\n", + "\n", + "\n", + "Matrix form of a system of linear equations\n", + "\n", + "We have a set of two equations with two unknowns. So the number of rows of $\\bs{A}$ gives the number of equations and the number of columns gives the number of unknowns.\n", + "\n", + "### Both sides\n", + "\n", + "The equation system can be wrote like that:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " b_1 \\\\\\\\\n", + " b_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " b_m\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Or simply:\n", + "\n", + "$$\\bs{Ax}=\\bs{b}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "We will try to convert the common form of a linear equation $y=ax+b$ to the matrix form. If we want to keep the previous notation we will have instead:\n", + "\n", + "$$x_2=ax_1+b$$\n", + "\n", + "Don't confuse the variable $x_1$ and $x_2$ with the vector $\\bs{x}$. This vector contains actually all the variables of our equations. Here we have:\n", + "\n", + "$$\n", + "\\bs{x} =\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "In this example we will use the following equation:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&x_2=2x_1+1\\\\\\\\\n", + "\\Leftrightarrow& 2x_1-x_2=-1\n", + "\\end{align*}\n", + "$$\n", + "\n", + "In order to end up with this system when we multiply $\\bs{A}$ and $\\bs{x}$ we need $\\bs{A}$ to be a matrix containing the weights of each variable. The weight of $x_1$ is $2$ and the weights of $x_2$ is $-1$:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + "2x_1-1x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "To complete the equation we have\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "which gives\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This system of equations is thus very simple and contains only 1 equation ($\\bs{A}$ has 1 row) and 2 variables ($\\bs{A}$ has 2 columns). \n", + "\n", + "To summarise, $\\bs{A}$ will be the matrix of dimensions $m\\times n$ containing scalars multiplying these variables (here $x_1$ is multiplied by 2 and $x_2$ by -1). The vector $\\bs{x}$ contains the variables $x_1$ and $x_2$. And the right hand term is the constant $\\bs{b}$:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can write this system\n", + "\n", + "$$\n", + "\\bs{Ax}=\\bs{b}\n", + "$$\n", + "\n", + "We will see at the end of the [the next chapter](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) that this compact way of writing sets of linear equations can be very usefull. It provides actually a way to solve the equations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "- [Math is fun - Multiplying matrices](https://www.mathsisfun.com/algebra/matrix-multiplying.html)" + ] + } + ], + "metadata": { + "hide_code_all_hidden": false, + "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.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.02 Multiplying Matrices and Vectors/images/dot-product.png b/Chapters/2.02 Multiplying Matrices and Vectors/images/dot-product.png new file mode 100644 index 0000000..96edf25 Binary files /dev/null and b/Chapters/2.02 Multiplying Matrices and Vectors/images/dot-product.png differ diff --git a/Chapters/2.02 Multiplying Matrices and Vectors/images/plot-linear-equation.png b/Chapters/2.02 Multiplying Matrices and Vectors/images/plot-linear-equation.png new file mode 100644 index 0000000..7efaa6f Binary files /dev/null and b/Chapters/2.02 Multiplying Matrices and Vectors/images/plot-linear-equation.png differ diff --git a/Chapters/2.02 Multiplying Matrices and Vectors/images/system-linear-equations-matrix-form.png b/Chapters/2.02 Multiplying Matrices and Vectors/images/system-linear-equations-matrix-form.png new file mode 100644 index 0000000..d0d5ac5 Binary files /dev/null and b/Chapters/2.02 Multiplying Matrices and Vectors/images/system-linear-equations-matrix-form.png differ diff --git a/Chapters/2.03 Identity and Inverse Matrices/.ipynb_checkpoints/2.3 Identity and Inverse Matrices-checkpoint.ipynb b/Chapters/2.03 Identity and Inverse Matrices/.ipynb_checkpoints/2.3 Identity and Inverse Matrices-checkpoint.ipynb new file mode 100644 index 0000000..7c73193 --- /dev/null +++ b/Chapters/2.03 Identity and Inverse Matrices/.ipynb_checkpoints/2.3 Identity and Inverse Matrices-checkpoint.ipynb @@ -0,0 +1,708 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot parameters\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is light but contains some important definitions. The identity matrix or the inverse of a matrix are concepts that will be very useful in the next chapters. We will see at the end of this chapter that we can solve systems of linear equations by using the inverse matrix. So hang on!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.3 Identity and Inverse Matrices\n", + "\n", + "\n", + "# Identity matrices\n", + "\n", + "The identity matrix $\\bs{I}_n$ is a special matrix of shape ($n \\times n$) that is filled with $0$ except the diagonal that is filled with 1.\n", + "\n", + "\n", + "A 3 by 3 identity matrix" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An identity matrix can be created with the Numpy function `eye()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1., 0., 0.],\n", + " [ 0., 1., 0.],\n", + " [ 0., 0., 1.]])" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.eye(3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When 'apply' the identity matrix to a vector the result is this same vector:\n", + "\n", + "$$\\bs{I}_n\\bs{x} = \\bs{x}$$\n", + "\n", + "### Example 1.\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 1 & 0 & 0 \\\\\\\\\n", + " 0 & 1 & 0 \\\\\\\\\n", + " 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " x_{1} \\\\\\\\\n", + " x_{2} \\\\\\\\\n", + " x_{3}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 1 \\times x_1 + 0 \\times x_2 + 0\\times x_3 \\\\\\\\\n", + " 0 \\times x_1 + 1 \\times x_2 + 0\\times x_3 \\\\\\\\\n", + " 0 \\times x_1 + 0 \\times x_2 + 1\\times x_3\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " x_{1} \\\\\\\\\n", + " x_{2} \\\\\\\\\n", + " x_{3}\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [6],\n", + " [3]])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([[2], [6], [3]])\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2.],\n", + " [ 6.],\n", + " [ 3.]])" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "xid = np.eye(x.shape[0]).dot(x)\n", + "xid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Intuition\n", + "\n", + "You can think of a matrix as a way to transform objects in a $n$-dimensional space. It applies a linear transformation of the space. We can say that we *apply* a matrix to an element: this means that we do the dot product between this matrix and the element (more details about the dot product in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)). We will see this notion thoroughly in the next chapters but the identity matrix is a good first example. It is a particular example because the space doesn't change when we *apply* the identity matrix to it.\n", + "\n", + "\n", + " The space doesn't change when we *apply* the identity matrix to it\n", + "\n", + "\n", + "We saw that $\\bs{x}$ was not altered after being multiplied by $\\bs{I}$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Inverse Matrices\n", + "\n", + "The matrix inverse of $\\bs{A}$ is denoted $\\bs{A}^{-1}$. It is the matrix that results in the identity matrix when it is multiplied by $\\bs{A}$:\n", + "\n", + "$$\\bs{A}^{-1}\\bs{A}=\\bs{I}_n$$\n", + "\n", + "This means that if we apply a linear transformation to the space with $\\bs{A}$, it is possible to go back with $\\bs{A}^{-1}$. It provides a way to cancel the transformation.\n", + "\n", + "### Example 2.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 3 & 0 & 2 \\\\\\\\\n", + " 2 & 0 & -2 \\\\\\\\\n", + " 0 & 1 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "For this example, we will use the Numpy function `linalg.inv()` to calculate the inverse of $\\bs{A}$. Let's start by creating $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 3, 0, 2],\n", + " [ 2, 0, -2],\n", + " [ 0, 1, 1]])" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[3, 0, 2], [2, 0, -2], [0, 1, 1]])\n", + "A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we calculate its inverse:" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.2, 0.2, 0. ],\n", + " [-0.2, 0.3, 1. ],\n", + " [ 0.2, -0.3, -0. ]])" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_inv = np.linalg.inv(A)\n", + "A_inv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check that $\\bs{A_{inv}}$ is well the inverse of $\\bs{A}$ with Python:" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1., 0., -0.],\n", + " [ 0., 1., -0.],\n", + " [ 0., 0., 1.]])" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_bis = A_inv.dot(A)\n", + "A_bis" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will see that inverse of matrices can be very usefull, for instance to solve a set of linear equations. We must note however that non square matrices (matrices with more columns than rows or more rows than columns) don't have inverse." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Sovling a system of linear equations\n", + "\n", + "An introduction on system of linear equations can be found in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/).\n", + "\n", + "The inverse matrix can be used to solve the equation $\\bs{Ax}=\\bs{b}$ by adding it to each term:\n", + "\n", + "$$\\bs{A}^{-1}\\bs{Ax}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "Since we know by definition that $\\bs{A}^{-1}\\bs{A}=\\bs{I}$, we have:\n", + "\n", + "$$\\bs{I}_n\\bs{x}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "We saw that a vector is not changed when multiplied by the identity matrix. So we can write:\n", + "\n", + "$$\\bs{x}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "This is great! We can solve a set of linear equation just by computing the inverse of $\\bs{A}$ and apply this matrix to the vector of results $\\bs{b}$!\n", + "\n", + "Let's try that!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "We will take a simple solvable example:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x \\\\\\\\\n", + "y = -x +3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We will use the notation that we saw in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/):\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2= b_2\n", + "\\end{cases}\n", + "$$\n", + "\n", + "Here, $x_1$ corresponds to $x$ and $x_2$ corresponds to $y$. So we have:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "2x_1 - x_2 = 0 \\\\\\\\\n", + "x_1 + x_2= 3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "Our matrix $\\bs{A}$ of weights is:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & -1 \\\\\\\\\n", + " 1 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "And the vector $\\bs{b}$ containing the solutions of individual equations is:\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " 0 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Under the matrix form, our systems becomes:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & -1 \\\\\\\\\n", + " 1 & 1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 0 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's find the inverse of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, -1],\n", + " [ 1, 1]])" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, -1], [1, 1]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.33333333, 0.33333333],\n", + " [-0.33333333, 0.66666667]])" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_inv = np.linalg.inv(A)\n", + "A_inv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have also:" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "b = np.array([[0], [3]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since we saw that\n", + "\n", + "$$\\bs{x}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "We have:" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.],\n", + " [ 2.]])" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = A_inv.dot(b)\n", + "x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is our solution! \n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This means that the point of coordinates (1, 2) is the solution and is at the intersection of the lines representing the equations. Let's plot them to check this solution:" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x\n", + "y1 = -x + 3\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(0, 3)\n", + "plt.ylim(0, 3)\n", + "# draw axes\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the solution (corresponding to the line crossing) is when $x=1$ and $y=2$. It confirms what we found with the matrix inversion!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BONUS: Coding tip - Draw an equation\n", + "\n", + "To draw the equation with Matplotlib, we first need to create a vector with all the $x$ values. Actually, since this is a line, only two points would have been sufficient. But with more complex functions, the length of the vector $x$ corresponds to the sampling rate. So here we used the Numpy function `arrange()` (see the [doc](https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html)) to create a vector from $-10$ to $10$ (not included)." + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2,\n", + " 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(-10, 10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first argument is the starting point and the second the ending point. You can add a third argument to specify the step:" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-10, -8, -6, -4, -2, 0, 2, 4, 6, 8])" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(-10, 10, 2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then we create a second vector $y$ that depends on the $x$ vector. Numpy will take each value of $x$ and apply the equation formula to it." + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-19, -17, -15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5,\n", + " 7, 9, 11, 13, 15, 17, 19])" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, you just need to plot these vectors." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Singular matrices\n", + "\n", + "Some matrices are not invertible. They are called **singular**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conclusion\n", + "\n", + "This introduces different cases according to the linear system because $\\bs{A}^{-1}$ exists only if the equation $\\bs{Ax}=\\bs{b}$ has one and only one solution. [The next chapter](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.4-Linear-Dependence-and-Span/) is almost all about systems of linear equations and number of solutions." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.03 Identity and Inverse Matrices/2.3 Identity and Inverse Matrices.ipynb b/Chapters/2.03 Identity and Inverse Matrices/2.3 Identity and Inverse Matrices.ipynb new file mode 100644 index 0000000..7c73193 --- /dev/null +++ b/Chapters/2.03 Identity and Inverse Matrices/2.3 Identity and Inverse Matrices.ipynb @@ -0,0 +1,708 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot parameters\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is light but contains some important definitions. The identity matrix or the inverse of a matrix are concepts that will be very useful in the next chapters. We will see at the end of this chapter that we can solve systems of linear equations by using the inverse matrix. So hang on!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.3 Identity and Inverse Matrices\n", + "\n", + "\n", + "# Identity matrices\n", + "\n", + "The identity matrix $\\bs{I}_n$ is a special matrix of shape ($n \\times n$) that is filled with $0$ except the diagonal that is filled with 1.\n", + "\n", + "\n", + "A 3 by 3 identity matrix" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An identity matrix can be created with the Numpy function `eye()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1., 0., 0.],\n", + " [ 0., 1., 0.],\n", + " [ 0., 0., 1.]])" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.eye(3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When 'apply' the identity matrix to a vector the result is this same vector:\n", + "\n", + "$$\\bs{I}_n\\bs{x} = \\bs{x}$$\n", + "\n", + "### Example 1.\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 1 & 0 & 0 \\\\\\\\\n", + " 0 & 1 & 0 \\\\\\\\\n", + " 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " x_{1} \\\\\\\\\n", + " x_{2} \\\\\\\\\n", + " x_{3}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 1 \\times x_1 + 0 \\times x_2 + 0\\times x_3 \\\\\\\\\n", + " 0 \\times x_1 + 1 \\times x_2 + 0\\times x_3 \\\\\\\\\n", + " 0 \\times x_1 + 0 \\times x_2 + 1\\times x_3\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " x_{1} \\\\\\\\\n", + " x_{2} \\\\\\\\\n", + " x_{3}\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [6],\n", + " [3]])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([[2], [6], [3]])\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2.],\n", + " [ 6.],\n", + " [ 3.]])" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "xid = np.eye(x.shape[0]).dot(x)\n", + "xid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Intuition\n", + "\n", + "You can think of a matrix as a way to transform objects in a $n$-dimensional space. It applies a linear transformation of the space. We can say that we *apply* a matrix to an element: this means that we do the dot product between this matrix and the element (more details about the dot product in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)). We will see this notion thoroughly in the next chapters but the identity matrix is a good first example. It is a particular example because the space doesn't change when we *apply* the identity matrix to it.\n", + "\n", + "\n", + " The space doesn't change when we *apply* the identity matrix to it\n", + "\n", + "\n", + "We saw that $\\bs{x}$ was not altered after being multiplied by $\\bs{I}$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Inverse Matrices\n", + "\n", + "The matrix inverse of $\\bs{A}$ is denoted $\\bs{A}^{-1}$. It is the matrix that results in the identity matrix when it is multiplied by $\\bs{A}$:\n", + "\n", + "$$\\bs{A}^{-1}\\bs{A}=\\bs{I}_n$$\n", + "\n", + "This means that if we apply a linear transformation to the space with $\\bs{A}$, it is possible to go back with $\\bs{A}^{-1}$. It provides a way to cancel the transformation.\n", + "\n", + "### Example 2.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 3 & 0 & 2 \\\\\\\\\n", + " 2 & 0 & -2 \\\\\\\\\n", + " 0 & 1 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "For this example, we will use the Numpy function `linalg.inv()` to calculate the inverse of $\\bs{A}$. Let's start by creating $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 3, 0, 2],\n", + " [ 2, 0, -2],\n", + " [ 0, 1, 1]])" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[3, 0, 2], [2, 0, -2], [0, 1, 1]])\n", + "A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we calculate its inverse:" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.2, 0.2, 0. ],\n", + " [-0.2, 0.3, 1. ],\n", + " [ 0.2, -0.3, -0. ]])" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_inv = np.linalg.inv(A)\n", + "A_inv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check that $\\bs{A_{inv}}$ is well the inverse of $\\bs{A}$ with Python:" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1., 0., -0.],\n", + " [ 0., 1., -0.],\n", + " [ 0., 0., 1.]])" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_bis = A_inv.dot(A)\n", + "A_bis" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will see that inverse of matrices can be very usefull, for instance to solve a set of linear equations. We must note however that non square matrices (matrices with more columns than rows or more rows than columns) don't have inverse." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Sovling a system of linear equations\n", + "\n", + "An introduction on system of linear equations can be found in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/).\n", + "\n", + "The inverse matrix can be used to solve the equation $\\bs{Ax}=\\bs{b}$ by adding it to each term:\n", + "\n", + "$$\\bs{A}^{-1}\\bs{Ax}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "Since we know by definition that $\\bs{A}^{-1}\\bs{A}=\\bs{I}$, we have:\n", + "\n", + "$$\\bs{I}_n\\bs{x}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "We saw that a vector is not changed when multiplied by the identity matrix. So we can write:\n", + "\n", + "$$\\bs{x}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "This is great! We can solve a set of linear equation just by computing the inverse of $\\bs{A}$ and apply this matrix to the vector of results $\\bs{b}$!\n", + "\n", + "Let's try that!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "We will take a simple solvable example:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x \\\\\\\\\n", + "y = -x +3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We will use the notation that we saw in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/):\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2= b_2\n", + "\\end{cases}\n", + "$$\n", + "\n", + "Here, $x_1$ corresponds to $x$ and $x_2$ corresponds to $y$. So we have:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "2x_1 - x_2 = 0 \\\\\\\\\n", + "x_1 + x_2= 3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "Our matrix $\\bs{A}$ of weights is:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & -1 \\\\\\\\\n", + " 1 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "And the vector $\\bs{b}$ containing the solutions of individual equations is:\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " 0 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Under the matrix form, our systems becomes:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & -1 \\\\\\\\\n", + " 1 & 1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 0 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's find the inverse of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, -1],\n", + " [ 1, 1]])" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, -1], [1, 1]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.33333333, 0.33333333],\n", + " [-0.33333333, 0.66666667]])" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_inv = np.linalg.inv(A)\n", + "A_inv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have also:" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "b = np.array([[0], [3]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since we saw that\n", + "\n", + "$$\\bs{x}=\\bs{A}^{-1}\\bs{b}$$\n", + "\n", + "We have:" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.],\n", + " [ 2.]])" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = A_inv.dot(b)\n", + "x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is our solution! \n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This means that the point of coordinates (1, 2) is the solution and is at the intersection of the lines representing the equations. Let's plot them to check this solution:" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x\n", + "y1 = -x + 3\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(0, 3)\n", + "plt.ylim(0, 3)\n", + "# draw axes\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the solution (corresponding to the line crossing) is when $x=1$ and $y=2$. It confirms what we found with the matrix inversion!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BONUS: Coding tip - Draw an equation\n", + "\n", + "To draw the equation with Matplotlib, we first need to create a vector with all the $x$ values. Actually, since this is a line, only two points would have been sufficient. But with more complex functions, the length of the vector $x$ corresponds to the sampling rate. So here we used the Numpy function `arrange()` (see the [doc](https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html)) to create a vector from $-10$ to $10$ (not included)." + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2,\n", + " 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(-10, 10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first argument is the starting point and the second the ending point. You can add a third argument to specify the step:" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-10, -8, -6, -4, -2, 0, 2, 4, 6, 8])" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(-10, 10, 2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then we create a second vector $y$ that depends on the $x$ vector. Numpy will take each value of $x$ and apply the equation formula to it." + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-19, -17, -15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5,\n", + " 7, 9, 11, 13, 15, 17, 19])" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, you just need to plot these vectors." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Singular matrices\n", + "\n", + "Some matrices are not invertible. They are called **singular**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conclusion\n", + "\n", + "This introduces different cases according to the linear system because $\\bs{A}^{-1}$ exists only if the equation $\\bs{Ax}=\\bs{b}$ has one and only one solution. [The next chapter](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.4-Linear-Dependence-and-Span/) is almost all about systems of linear equations and number of solutions." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.03 Identity and Inverse Matrices/images/identity-matrix.png b/Chapters/2.03 Identity and Inverse Matrices/images/identity-matrix.png new file mode 100644 index 0000000..7bd8396 Binary files /dev/null and b/Chapters/2.03 Identity and Inverse Matrices/images/identity-matrix.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/.ipynb_checkpoints/2.4 Linear Dependence and Span-checkpoint.ipynb b/Chapters/2.04 Linear Dependence and Span/.ipynb_checkpoints/2.4 Linear Dependence and Span-checkpoint.ipynb new file mode 100644 index 0000000..415eafc --- /dev/null +++ b/Chapters/2.04 Linear Dependence and Span/.ipynb_checkpoints/2.4 Linear Dependence and Span-checkpoint.ipynb @@ -0,0 +1,1354 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.figure()\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is quite heavy by its size and its content but I did what I could to make it more intuitive and visual. We will see how to represent systems of equations graphically, how to interpret the number of solutions of a system, what is linear combination and more. As usual, we will use Numpy/Matplotlib as a tool to experiment these concepts and hopefully gain a more concrete understanding." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.4 Linear Dependence and Span\n", + "\n", + "Since it is all about systems of linear equations, let's start again with the set of equations:\n", + "\n", + "$$\\bs{Ax}=\\bs{b}$$\n", + "\n", + "We saw in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/) that this system corresponds to:\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + \\cdots + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + \\cdots + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + \\cdots + A_{m,n}x_n = b_n\n", + "$$\n", + "\n", + "So we have multiple equations with multiple unknowns. We know $A_{1,1}...A_{m,n}$ and $b_1...b_n$. To solve the system we need to find the values of the variables $x_1...x_n$ that satisfies all equations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Number of solutions\n", + "\n", + "The first thing to ask when we face such a system of equations is: what is the number of solutions ?\n", + "\n", + "Three cases can represent the number of solutions of the system of equations $\\bs{Ax}=\\bs{b}$.\n", + " \n", + " 1. No solution\n", + " 2. 1 solution\n", + " 3. An infinite number of solutions\n", + " \n", + "## Why there can't be more than 1 solution and less than an infinite number of solutions ?\n", + "\n", + "### Intuition\n", + "\n", + "Simply because we deal with **linear** systems! Two lines can't cross more than once.\n", + "\n", + "To be able to visualize it, let's take two dimensions and two equations. The solutions of the system correspond to the intersection of the lines. One option is that the two lines never cross (parallel). Another option is that they cross once. And finally, the last option is that they cross everywhere (superimposed):\n", + "\n", + "\n", + "A system of equations has no solution, 1 solution or an infinite number of solutions\n", + "\n", + "\n", + " Two lines can't cross more than once but can be either parallel or superimposed\n", + "\n", + "\n", + "### Proof\n", + "\n", + "Let's imagine that $\\bs{x}$ and $\\bs{y}$ are two solutions of our system. This means that\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "\\bs{Ax}=\\bs{b}\\\\\\\\\n", + "\\bs{Ay}=\\bs{b}\n", + "\\end{cases}\n", + "$$\n", + "\n", + "In that case, we will see that $\\bs{z}=\\alpha \\bs{x} + (1-\\alpha \\bs{y})$ is also a solution for any value of $\\alpha$. If $\\bs{z}$ is a solution, we can say that $\\bs{Az}=\\bs{b}$. Indeed, if we plug $\\bs{z}$ into the left hand side of the equation we obtain:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Az}&=\\bs{A}(\\alpha x + (1-\\alpha y))\\\\\\\\\n", + " &=\\bs{Ax}\\alpha + \\bs{A}(1-\\alpha y)\\\\\\\\\n", + " &=\\bs{Ax}\\alpha + \\bs{Ay}(1-\\alpha)\n", + "\\end{align*}\n", + "$$\n", + "\n", + "And since $\\bs{Ax}=\\bs{Ay}=\\bs{b}$. This leads to:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Az}&=\\bs{b}\\alpha + \\bs{b}(1-\\alpha)\\\\\\\\\n", + " &=\\bs{b}\\alpha + \\bs{b}-\\bs{b}\\alpha\\\\\\\\\n", + " &=\\bs{b}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So $\\bs{z}$ is also a solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Matrix representation of the system\n", + "\n", + "As we saw it, the equation $\\bs{Ax}=\\bs{b}$ can be represented by a matrix $\\bs{A}$ containing the weigths of each variable and a vector $\\bs{x}$ containing each variable (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)). The product of $\\bs{A}$ and $\\bs{x}$ gives $\\bs{b}$ that is another vector of size $m$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " b_1 \\\\\\\\\n", + " b_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " b_m\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Which corresponds to the set of linear equations\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + \\cdots + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + \\cdots + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + \\cdots + A_{m,n}x_n = b_n\n", + "$$\n", + "\n", + "Here are some intuitions about what is represented by these matrices. The number of columns of $\\bs{A}$ is the number of dimensions of our vector space. It is the number $n$ of directions we can travel by. The number of solutions of our linear system corresponds to the number of ways we can reach $\\bs{b}$ by travelling through our $n$ dimensions.\n", + "\n", + "But to understand this, we need to underline that two possibilities exist to represent the system of equations: ***the row figure*** and ***the column figure***." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Graphical views: Row and column figures\n", + "\n", + "\n", + "I recommend to look at [this video lesson of Gilbert Strang](http://ia802205.us.archive.org/18/items/MIT18.06S05_MP4/01.mp4). It provides a very nice intuition about these two ways of looking at a system of linear equations.\n", + "\n", + "\n", + "When you are looking to the matrix $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "You can consider its rows or its columns separately. Recall that the values are the weights corresponding to each variable. Each row synthetizes one equation. Each column is the set of weights given to 1 variable.\n", + "\n", + "It is possible to draw a different graphical represention of the set of equations looking at the rows or at the columns." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Graphical view 1: the row figure\n", + "\n", + "The row figure is maybe more usual because it is the representation used when we have only one equation. It can now be extended to an infinite number of equations and unknowns (even if it would be hard to represent a 9-dimensional hyperplane in a 10-dimensional space...).\n", + "\n", + "We said that the solutions of the linear system of equations are the sets of values of $x_1...x_n$ that satisfies all equations, that is to say, the values taken by the unknowns. For instance, in the case of $\\bs{A}$ being a ($2 \\times 2$) matrix ($n=m=2$) the equations correspond to lines in a 2-dimensional space and the solution of the system is the intersection of these lines.\n", + "\n", + "Note that associating one direction in space to one parameter is only one way to represent the equations. There are number of ways to represent more than 3 parameters systems. For instance, you can add colors to have the representation of a fourth dimension. It is all about **representation**.\n", + "\n", + "\n", + "Graphical representations of features\n", + "\n", + "### Overdetermined and underdetermined systems\n", + "\n", + "A linear system of equations can be viewed as a set of $(n-1)$-dimensional hyperplanes in a *n*-dimensional space. So the linear system can be characterized with its number of equations ($m$) and the number of unknown variables ($n$).\n", + "\n", + "- If there are more equations than unknows the system is called **overdetermined**. In the following example we can see a system of 3 equations (represented by 3 lines) and 2 unknowns (corresponding to 2 dimensions). In this example there is no solution since there is no point belonging to the three lines:\n", + "\n", + "\n", + "Example of an overdetermined system of linear equations with no solution\n", + "\n", + "- If there is more unknowns than equations the system is called **underdetermined**. In the following picture, there is only 1 equation (1 line) and 2 dimensions. Each point that is on the line is a solution of the system. In this case there is an infinite number of solutions:\n", + "\n", + "\n", + "Example of an underdetermined system of linear equations with an infinite number of solutions\n", + "\n", + "\n", + "Let's see few examples of these different cases to clarify that." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1. \n", + "\n", + "$m=1$, $n=2$: **1 equation and 2 variables**\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\n", + "$$\n", + "\n", + "The graphical interpretation of $n=2$ is that we have a 2-D space. So we can represent it with 2 axes. Since our hyperplane is of $n-1$-dimensional, we have a 1-D hyperplane. This is simply a line. As $m=1$, we have only one equation. This means that we have only one line characterizing our linear system.\n", + "\n", + "Note that the last equation can also be written in a way that may be more usual:\n", + "\n", + "$$\n", + "y = ax + b\n", + "$$\n", + "\n", + "with $y$ corresponding to $x_2$, $x$ corresponding to $x_1$, $a$ corresponding to $A_{1,1}$ and $A_{1,2}=1$.\n", + "\n", + "For this first example we will take the following equation:\n", + "\n", + "$$\n", + "y = 2x + 1\n", + "$$\n", + "\n", + "Let's draw the line of this equation with Numpy and Matplotlib (see BONUS in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) for light tips to plot equations)." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "#### Solutions\n", + "\n", + "The solutions of this linear system correspond to the value of $x$ and $y$ such as $y=2x+1$. Graphically, it corresponds to each point on the line so there is an infinite number of solutions. For instance, one solution is $x=0$ and $y=1$, or $x=1$ and $y=3$ and so on." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Example 2.\n", + "\n", + "*m*=2, *n*=2: **2 equations and 2 unknowns**\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 = b_2\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "The graphical interpretation of this system is that we still have lines in a 2-D space. However this time there are 2 lines since there are 2 equations.\n", + "\n", + "Let's take these equations as example:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x + 1\\\\\\\\\n", + "y = 6x - 2\n", + "\\end{cases}\n", + "$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "y1 = 6*x - 2\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we have seen, with 2 lines in a 2-D space, there are multiple possible cases. On the above figure, the two lines are crossing so there is one unique solution. If they are superimposed (same equation or equivalent, *cf*. linear dependance bellow) there are a infinite number of solutions since each points of the lines corresponds to an intersection. If they are parallel, there is no solution.\n", + "\n", + "The same thing can be observed with other values of $m$ (number of equations) and $n$ (number of dimensions). For instance, two 2-D planes in a 3-D space can be superposed (infinitely many solutions), or crossed (infinitely many solutions since their crossing is a line), or parallel (no solution)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "*m*=3, *n*=2: **3 equations and 2 unknowns**\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 = b_2\\\\\\\\\n", + "A_{3,1}x_1 + A_{3,2}x_2 = b_3\n", + "$$\n", + "\n", + "The same idea stands with more than 2 equations in a 2-D space. In that example we have the following 3 equations:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x + 1\\\\\\\\\n", + "y = 6x - 2\\\\\\\\\n", + "y = \\frac{1}{10}x+6\n", + "\\end{cases}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "\n", + "y1 = 6*x - 2\n", + "y2 = 0.1*x+6\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.plot(x, y2)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above case, there is 3 equations and no solution because there is no point in space that is on each of these lines." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Linear combination\n", + "\n", + "Before going to the column figure, we need to talk about linear combination. The linear combination of 2 vectors corresponds to their weighted sum.\n", + "\n", + "### Example 4.\n", + "\n", + "Let's take two vectors\n", + "\n", + "$$\n", + "\\vec{u}=\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\vec{v}=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "These two vectors have 2 dimensions and thus contain coordinates in 2-D.\n", + "\n", + "\n", + "The linear combination of $\\vec{u}$ and $\\vec{v}$ is\n", + "\n", + "$$\n", + "a\\vec{u}+b\\vec{v}= a\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix} + b\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "with $a$ and $b$ the weights of the vectors.\n", + "\n", + "Graphically, the vectors are added to reach a specific point in space. For example if $a=2$ and $b=1$:\n", + "\n", + "$$\n", + "2\\vec{u}+\\vec{v}= 2\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix} +\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 2 \\cdot 1 + 2 \\\\\\\\\n", + " 2 \\cdot 3 + 1\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The sum of $\\vec{u}$ and $\\vec{v}$ is a vector that will reach the point of corrdinates $(4, 7)$. To show that on a plot, I will use the custom function `plotVectors()` that I defined at the beginning of [the notebook](https://github.com/hadrienj/deepLearningBook-Notes/blob/master/2.4%20Linear%20Dependence%20and%20Span/2.4%20Linear%20Dependence%20and%20Span.ipynb). It takes a set of coordinates and an array of colors as input and plot the corresponding vectors. So let's plot $\\vec{u}$ and $\\vec{v}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 5)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + "plotVectors([[1, 3], [2, 1]], [orange, blue])\n", + "plt.xlim(0, 5)\n", + "plt.ylim(0, 5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now add these vectors and their weights. This gives:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Weigths of the vectors\n", + "a = 2\n", + "b = 1\n", + "# Start and end coordinates of the vectors\n", + "u = [0,0,1,3]\n", + "v = [2,6,2,1]\n", + "\n", + "plt.quiver([u[0], a*u[0], b*v[0]],\n", + " [u[1], a*u[1], b*v[1]],\n", + " [u[2], a*u[2], b*v[2]],\n", + " [u[3], a*u[3], b*v[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=[orange, orange, blue])\n", + "plt.xlim(-1, 8)\n", + "plt.ylim(-1, 8)\n", + "# Draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.scatter(4,7,marker='x',s=50)\n", + "# Draw the name of the vectors\n", + "plt.text(-0.5, 2, r'$\\vec{u}$', color=orange, size=18)\n", + "plt.text(0.5, 4.5, r'$\\vec{u}$', color=orange, size=18)\n", + "plt.text(2.5, 7, r'$\\vec{v}$', color=blue, size=18)\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that we end up with the coordinates ($4$, $7$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Span\n", + "\n", + "Take the vectors $\\vec{u}$ and $\\vec{v}$ from the previous example and think about all the points you can reach by their combination changing $a$ and $b$. This set of points is the span of the set of vectors $\\{\\vec{u}, \\vec{v}\\}$." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining u and v\n", + "u = [1, 3]\n", + "v = [2, 1]\n", + "\n", + "# Ploting a sample of the set of points in the span of u and v\n", + "for a in range(-10, 10):\n", + " for b in range(-10, 10):\n", + " plt.scatter(u[0] * a + v[0] * b, u[1] * a + v[1] * b, marker='.', color=blue)\n", + "\n", + "# Defining x and y sizes\n", + "plt.xlim(-50, 50)\n", + "plt.ylim(-50, 50)\n", + "\n", + "# Draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Note on spaces and subspaces\n", + "\n", + "(For more details see Strang (2006), p.70)\n", + "\n", + "The space of a vector determines all the values that can be taken by this vector. The vector spaces are denoted $\\mathbb{R}$ because the values are real numbers. If there are multiple dimensions the space is denoted $\\mathbb{R}^n$ with $n$ corresponding to the number of dimensions. For instance $\\mathbb{R}^2$ is the space of the usual $x$-$y$ plane where $x$ and $y$ values are real numbers.\n", + "\n", + "If you take a 2-dimensional plane in $\\mathbb{R}^3$ (3-dimensional space), this plane is a **subspace** of your original $\\mathbb{R}^3$ space. On the same manner, if you start with a $\\mathbb{R}^2$ space and take a line in this space, this line is a subspace of the original space.\n", + "\n", + "The linear combination of vectors gives vectors in the original space. Every linear combination of vectors inside a space will stay in this space. For instance, if you take 2 lines in a $\\mathbb{R}^2$ space, any linear combinations will give you a vector in the same $\\mathbb{R}^2$ space.\n", + "\n", + "\n", + " The linear combination of vectors gives vectors in the original space\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Graphical view 2: the column figure\n", + "\n", + "It is also possible to represent the set of equations by considering that the solution vector $\\bs{b}$ corresponds to a linear combination of each columns multiplied by their weights.\n", + "\n", + "From the set of equations:\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + A_{m,n}x_n = b_m\n", + "$$\n", + "\n", + "The column form is then:\n", + "\n", + "$$\n", + "x_1\n", + "\\begin{bmatrix}\n", + " A_{1,1}\\\\\\\\\n", + " A_{2,1}\\\\\\\\\n", + " A_{m,1}\n", + "\\end{bmatrix}\n", + "+\n", + "x_2\n", + "\\begin{bmatrix}\n", + " A_{1,2}\\\\\\\\\n", + " A_{2,2}\\\\\\\\\n", + " A_{m,2}\n", + "\\end{bmatrix}\n", + "+\n", + "x_n\n", + "\\begin{bmatrix}\n", + " A_{1,n}\\\\\\\\\n", + " A_{2,n}\\\\\\\\\n", + " A_{m,n}\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " b_1\\\\\\\\\n", + " b_2\\\\\\\\\n", + " b_m\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "On a graphical point of view, we have to travel from the origin (zero on every dimensions) to the point of coordinate $\\bs{b}$. The columns of $\\bs{A}$ give us the directions we can travel by and their weights are the length of the way in that direction.\n", + "\n", + "\n", + " The columns of $\\bs{A}$ give us the directions we can travel by and their weights are the length of the way in each direction.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 5. \n", + "\n", + "$m=2$, $n=2$: 2 equations and 2 variables\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 = b_2\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = \\frac{1}{2}x+1\\\\\\\\\n", + "y = -x + 4\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "\\frac{1}{2}x-y = -1\\\\\\\\\n", + "x+y=4\n", + "\\end{cases}\n", + "$$\n", + "\n", + "So here is the matrix $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} & -1 \\\\\\\\\n", + " 1 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The column figure gives us:\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The goal is to find the value of the weights ($x$ and $y$) for which the linear combination of the vector\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "gives the vector \n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We will solve the system graphically by plotting the equations and looking for their intersection:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 0.5*x + 1\n", + "\n", + "y1 = -x + 4\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the solution (the intersection of the lines representing our two equations) is $x=2$ and $y=2$. This means that the linear combination is the following:\n", + "\n", + "$$\n", + "2\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "2\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's say that \n", + "\n", + "$$\n", + "\\vec{u}=\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\vec{v}=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "To talk in term of the column figure we can reach the point of coordinates $(-1, 4)$ if we add two times the vector $\\vec{u}$ and two times the vector $\\vec{v}$. Let's check that:" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,0.5,1]\n", + "u_bis = [u[2],u[3],u[2],u[3]]\n", + "v = [2*u[2],2*u[3],-1,1]\n", + "v_bis = [2*u[2]-1,2*u[3]+1,v[2],v[3]]\n", + "\n", + "plt.quiver([u[0], u_bis[0], v[0], v_bis[0]],\n", + " [u[1], u_bis[1], v[1], v_bis[1]],\n", + " [u[2], u_bis[2], v[2], v_bis[2]],\n", + " [u[3], u_bis[3], v[3], v_bis[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=[blue, blue, orange, orange])\n", + "# plt.rc('text', usetex=True)\n", + "plt.xlim(-1.5, 2)\n", + "plt.ylim(-0.5, 4.5)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.scatter(-1,4,marker='x',s=50)\n", + "plt.text(0, 0.5, r'$\\vec{u}$', color=blue, size=18)\n", + "plt.text(0.5, 1.5, r'$\\vec{u}$', color=blue, size=18)\n", + "plt.text(0.5, 2.7, r'$\\vec{v}$', color=orange, size=18)\n", + "plt.text(-0.8, 3, r'$\\vec{v}$', color=orange, size=18)\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that it is working! We arrive to the point ($-1$, $4$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Determine if the system has one and only one solution for every value of $\\bs{b}$\n", + "\n", + "We will now see how to determine if a system of equations has one and only one solution. Note that this is only the general cases. This can be split into two requirements:\n", + "\n", + "1. The system must have at least one solution\n", + "2. Then, the system must have **only** one solution\n", + "\n", + "### Requirement 1. Underdetermined system: the system must have at least one solution for each value of $\\bs{b}$: $n\\geq m$\n", + "\n", + "\n", + " An underdetermined system of equations is a system with less equations than unknowns\n", + "\n", + "\n", + "If we want our system to have one and only one solution a first requirement is that $n$ must not be bigger than $m$.\n", + "\n", + "Let's take the example of a ($2\\times 3$) matrix that corresponds to a set of 2 equations with 3 unknowns variables:\n", + "\n", + "\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "8x+y+z=1\\\\\\\\\n", + "x+y+z=1\n", + "\\end{cases}\n", + "$$\n", + "\n", + "\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " 8 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "z\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "Here is the representation of the planes plotted with the help of this [website](https://technology.cpm.org/general/3dgraph/):\n", + "\n", + "\n", + "The intersection of the two planes is a line\n", + "\n", + "We can see that in the best case the two planes are not parallel and there are solutions to the set of equations. It means that it exists some points that rely on both planes. But we can also see that there is inevitably an infinite number of points on the intersection (a line that we can see on the figure). We need a third plane to have a unique solution.\n", + "\n", + "### Requirement 2. Overdetermined system: the system must have **only** one solution for each value of $\\bs{b}$: $m\\geq n$\n", + "\n", + "\n", + "\n", + " An overdetermined system of equations is a system with more equations than unknowns\n", + "\n", + "\n", + "The column figure is helpful to understand why the linear system has usually no solution if $n$ (the number of unknowns) is smaller than $m$ (the number of equations). Let's add 1 equation to the above system in order to end up with a ($3\\times2$) matrix (3 equations and 2 unknowns):\n", + "\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = \\frac{1}{2}x+1\\\\\\\\\n", + "y = -x + 4\\\\\\\\\n", + "y = 7x + 2\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "\\frac{1}{2}x-y = -1\\\\\\\\\n", + "x+y=4\\\\\\\\\n", + "7x-y=2\n", + "\\end{cases}\n", + "$$\n", + "\n", + "\n", + "This corresponds to:\n", + "\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1 \\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1 \\\\\\\\\n", + " -1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "So we are still traveling in our 2-dimensional space (see the plot of the column space above) but the point that we are looking for is defined by 3 dimensions. There are cases where the third coordinate does not rely on our 2-dimensional $x$-$y$ plane. In that case no solution exists.\n", + "\n", + "\n", + " We are traveling in a 2D space but the solution is defined by 3 dimensions. If the third coordinate does not rely on our 2D $x$-$y$ plane then there is no solution.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Linear dependence\n", + "\n", + "The number of columns can thus provide information on the number of solutions. But the number that we have to take into account is the number of **linearly independent** columns. Columns are linearly dependent if one of them is a linear combination of the others. Thinking in the column picture, the direction of two linearly dependent vectors is the same. This doesn't add a dimension that we can use to travel and reach $\\bs{b}$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is an example of linear system containing linear dependency:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x+6\\\\\\\\\n", + "y = 2x\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "2x-y = -6\\\\\\\\\n", + "2x-y=0\n", + "\\end{cases}\n", + "$$\n", + "\n", + "The row figure shows that the system has no solution:" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 6\n", + "\n", + "y1 = 2*x\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the lines are parallel, there is no point at their intersection." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The column figure illustrates the point as well:\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " -1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -6 \\\\\\\\\n", + " 0\n", + "\\end{bmatrix}\n", + "$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,2,2]\n", + "v = [0,0,-1,-1]\n", + "\n", + "plt.quiver([u[0], v[0]],\n", + " [u[1], v[1]],\n", + " [u[2], v[2]],\n", + " [u[3], v[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=[blue, orange])\n", + "plt.xlim(-7, 3)\n", + "plt.ylim(-2, 3)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.scatter(-6,0,marker='x',s=150)\n", + "plt.text(-6, 0.5, r'$b$', color='b', size=18)\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We would like to go to $b$ but the only path we can take is the blue/orange line. The second equation doesn't provide us with a new direction to take since it is just a linear combination of the first one.\n", + "\n", + "Thus, an overdetermined system of independant equations has at most 1 solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Square matrix\n", + "\n", + "How could we satisfy both requirements ($m\\geq n$ and $n\\geq m$): we must have $m=n$!\n", + "\n", + "The resulting of all of this is that the system needs a **square matrix** $\\bs{A}$ ($m=n$) with linearly independant columns to have a unique solution for every values of $\\bs{b}$.\n", + "\n", + "\n", + " The system needs a **square matrix** $\\bs{A}$ ($m=n$) with linearly independant columns to have a unique solution for every values of $\\bs{b}$\n", + "\n", + "\n", + "The inverse of a matrix exists only if the set of equations has one and only one solution for each value of $\\bs{b}$ because:\n", + "\n", + "- The matrix $\\bs{A}$ cannot have more than 1 inverse. Imagine that $\\bs{A}$ has 2 inverses $\\bs{B}$ and $\\bs{C}$ such as $\\bs{AB}=\\bs{I}$ and $\\bs{AC}=\\bs{I}$. This would mean that $\\bs{B}=\\bs{C}$.\n", + "\n", + "- The solution of the system $\\bs{Ax}=\\bs{b}$ is $\\bs{x}=\\bs{A} ^{-1} \\bs{b}$. So if there are multiple solutions, there are multiple inverses and the first point is not met." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For more details about the row and the column figure, have a look at the books of Gilbert Strang (there are some ressources [here](http://math.mit.edu/~gs/dela/dela_4-1.pdf)). There are tons of really great examples and graphical explanations! And the *1.2 Geometry of linear equations* in 'Linear algebra and its applications' also from Gilbert Strang." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " Feel free to drop me an email or a comment. The syllabus of this series can be found [in the introduction post](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-Introduction/). All the notebooks can be found on [Github](https://github.com/hadrienj/deepLearningBook-Notes).\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "## Books and videos of Gilbert Strang\n", + "\n", + "- Strang, G. (2006). Linear Algebra and Its Applications, 4th Edition (4th edition). Belmont, CA: Cengage Learning.\n", + "\n", + "- Strang, G. (2014). Differential Equations and Linear Algebra (UK ed. edition). Wellesley, Mass: Wellesley-Cambridge.\n", + "\n", + "- [The column space of a matrix. Video from Gilbert Strang](https://ocw.mit.edu/resources/res-18-009-learn-differential-equations-up-close-with-gilbert-strang-and-cleve-moler-fall-2015/differential-equations-and-linear-algebra/vector-spaces-and-subspaces/the-column-space-of-a-matrix/)\n", + "\n", + "## System of equations\n", + "\n", + "- [Wikipedia - System of linear equations](https://en.wikipedia.org/wiki/System_of_linear_equations)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy arange()](https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.04 Linear Dependence and Span/2.4 Linear Dependence and Span.ipynb b/Chapters/2.04 Linear Dependence and Span/2.4 Linear Dependence and Span.ipynb new file mode 100644 index 0000000..415eafc --- /dev/null +++ b/Chapters/2.04 Linear Dependence and Span/2.4 Linear Dependence and Span.ipynb @@ -0,0 +1,1354 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.figure()\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is quite heavy by its size and its content but I did what I could to make it more intuitive and visual. We will see how to represent systems of equations graphically, how to interpret the number of solutions of a system, what is linear combination and more. As usual, we will use Numpy/Matplotlib as a tool to experiment these concepts and hopefully gain a more concrete understanding." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.4 Linear Dependence and Span\n", + "\n", + "Since it is all about systems of linear equations, let's start again with the set of equations:\n", + "\n", + "$$\\bs{Ax}=\\bs{b}$$\n", + "\n", + "We saw in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/) that this system corresponds to:\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + \\cdots + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + \\cdots + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + \\cdots + A_{m,n}x_n = b_n\n", + "$$\n", + "\n", + "So we have multiple equations with multiple unknowns. We know $A_{1,1}...A_{m,n}$ and $b_1...b_n$. To solve the system we need to find the values of the variables $x_1...x_n$ that satisfies all equations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Number of solutions\n", + "\n", + "The first thing to ask when we face such a system of equations is: what is the number of solutions ?\n", + "\n", + "Three cases can represent the number of solutions of the system of equations $\\bs{Ax}=\\bs{b}$.\n", + " \n", + " 1. No solution\n", + " 2. 1 solution\n", + " 3. An infinite number of solutions\n", + " \n", + "## Why there can't be more than 1 solution and less than an infinite number of solutions ?\n", + "\n", + "### Intuition\n", + "\n", + "Simply because we deal with **linear** systems! Two lines can't cross more than once.\n", + "\n", + "To be able to visualize it, let's take two dimensions and two equations. The solutions of the system correspond to the intersection of the lines. One option is that the two lines never cross (parallel). Another option is that they cross once. And finally, the last option is that they cross everywhere (superimposed):\n", + "\n", + "\n", + "A system of equations has no solution, 1 solution or an infinite number of solutions\n", + "\n", + "\n", + " Two lines can't cross more than once but can be either parallel or superimposed\n", + "\n", + "\n", + "### Proof\n", + "\n", + "Let's imagine that $\\bs{x}$ and $\\bs{y}$ are two solutions of our system. This means that\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "\\bs{Ax}=\\bs{b}\\\\\\\\\n", + "\\bs{Ay}=\\bs{b}\n", + "\\end{cases}\n", + "$$\n", + "\n", + "In that case, we will see that $\\bs{z}=\\alpha \\bs{x} + (1-\\alpha \\bs{y})$ is also a solution for any value of $\\alpha$. If $\\bs{z}$ is a solution, we can say that $\\bs{Az}=\\bs{b}$. Indeed, if we plug $\\bs{z}$ into the left hand side of the equation we obtain:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Az}&=\\bs{A}(\\alpha x + (1-\\alpha y))\\\\\\\\\n", + " &=\\bs{Ax}\\alpha + \\bs{A}(1-\\alpha y)\\\\\\\\\n", + " &=\\bs{Ax}\\alpha + \\bs{Ay}(1-\\alpha)\n", + "\\end{align*}\n", + "$$\n", + "\n", + "And since $\\bs{Ax}=\\bs{Ay}=\\bs{b}$. This leads to:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Az}&=\\bs{b}\\alpha + \\bs{b}(1-\\alpha)\\\\\\\\\n", + " &=\\bs{b}\\alpha + \\bs{b}-\\bs{b}\\alpha\\\\\\\\\n", + " &=\\bs{b}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So $\\bs{z}$ is also a solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Matrix representation of the system\n", + "\n", + "As we saw it, the equation $\\bs{Ax}=\\bs{b}$ can be represented by a matrix $\\bs{A}$ containing the weigths of each variable and a vector $\\bs{x}$ containing each variable (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)). The product of $\\bs{A}$ and $\\bs{x}$ gives $\\bs{b}$ that is another vector of size $m$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " b_1 \\\\\\\\\n", + " b_2 \\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " b_m\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Which corresponds to the set of linear equations\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + \\cdots + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + \\cdots + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + \\cdots + A_{m,n}x_n = b_n\n", + "$$\n", + "\n", + "Here are some intuitions about what is represented by these matrices. The number of columns of $\\bs{A}$ is the number of dimensions of our vector space. It is the number $n$ of directions we can travel by. The number of solutions of our linear system corresponds to the number of ways we can reach $\\bs{b}$ by travelling through our $n$ dimensions.\n", + "\n", + "But to understand this, we need to underline that two possibilities exist to represent the system of equations: ***the row figure*** and ***the column figure***." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Graphical views: Row and column figures\n", + "\n", + "\n", + "I recommend to look at [this video lesson of Gilbert Strang](http://ia802205.us.archive.org/18/items/MIT18.06S05_MP4/01.mp4). It provides a very nice intuition about these two ways of looking at a system of linear equations.\n", + "\n", + "\n", + "When you are looking to the matrix $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2} & \\cdots & A_{1,n} \\\\\\\\\n", + " A_{2,1} & A_{2,2} & \\cdots & A_{2,n} \\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots \\\\\\\\\n", + " A_{m,1} & A_{m,2} & \\cdots & A_{m,n}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "You can consider its rows or its columns separately. Recall that the values are the weights corresponding to each variable. Each row synthetizes one equation. Each column is the set of weights given to 1 variable.\n", + "\n", + "It is possible to draw a different graphical represention of the set of equations looking at the rows or at the columns." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Graphical view 1: the row figure\n", + "\n", + "The row figure is maybe more usual because it is the representation used when we have only one equation. It can now be extended to an infinite number of equations and unknowns (even if it would be hard to represent a 9-dimensional hyperplane in a 10-dimensional space...).\n", + "\n", + "We said that the solutions of the linear system of equations are the sets of values of $x_1...x_n$ that satisfies all equations, that is to say, the values taken by the unknowns. For instance, in the case of $\\bs{A}$ being a ($2 \\times 2$) matrix ($n=m=2$) the equations correspond to lines in a 2-dimensional space and the solution of the system is the intersection of these lines.\n", + "\n", + "Note that associating one direction in space to one parameter is only one way to represent the equations. There are number of ways to represent more than 3 parameters systems. For instance, you can add colors to have the representation of a fourth dimension. It is all about **representation**.\n", + "\n", + "\n", + "Graphical representations of features\n", + "\n", + "### Overdetermined and underdetermined systems\n", + "\n", + "A linear system of equations can be viewed as a set of $(n-1)$-dimensional hyperplanes in a *n*-dimensional space. So the linear system can be characterized with its number of equations ($m$) and the number of unknown variables ($n$).\n", + "\n", + "- If there are more equations than unknows the system is called **overdetermined**. In the following example we can see a system of 3 equations (represented by 3 lines) and 2 unknowns (corresponding to 2 dimensions). In this example there is no solution since there is no point belonging to the three lines:\n", + "\n", + "\n", + "Example of an overdetermined system of linear equations with no solution\n", + "\n", + "- If there is more unknowns than equations the system is called **underdetermined**. In the following picture, there is only 1 equation (1 line) and 2 dimensions. Each point that is on the line is a solution of the system. In this case there is an infinite number of solutions:\n", + "\n", + "\n", + "Example of an underdetermined system of linear equations with an infinite number of solutions\n", + "\n", + "\n", + "Let's see few examples of these different cases to clarify that." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1. \n", + "\n", + "$m=1$, $n=2$: **1 equation and 2 variables**\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\n", + "$$\n", + "\n", + "The graphical interpretation of $n=2$ is that we have a 2-D space. So we can represent it with 2 axes. Since our hyperplane is of $n-1$-dimensional, we have a 1-D hyperplane. This is simply a line. As $m=1$, we have only one equation. This means that we have only one line characterizing our linear system.\n", + "\n", + "Note that the last equation can also be written in a way that may be more usual:\n", + "\n", + "$$\n", + "y = ax + b\n", + "$$\n", + "\n", + "with $y$ corresponding to $x_2$, $x$ corresponding to $x_1$, $a$ corresponding to $A_{1,1}$ and $A_{1,2}=1$.\n", + "\n", + "For this first example we will take the following equation:\n", + "\n", + "$$\n", + "y = 2x + 1\n", + "$$\n", + "\n", + "Let's draw the line of this equation with Numpy and Matplotlib (see BONUS in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) for light tips to plot equations)." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "#### Solutions\n", + "\n", + "The solutions of this linear system correspond to the value of $x$ and $y$ such as $y=2x+1$. Graphically, it corresponds to each point on the line so there is an infinite number of solutions. For instance, one solution is $x=0$ and $y=1$, or $x=1$ and $y=3$ and so on." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Example 2.\n", + "\n", + "*m*=2, *n*=2: **2 equations and 2 unknowns**\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 = b_2\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "The graphical interpretation of this system is that we still have lines in a 2-D space. However this time there are 2 lines since there are 2 equations.\n", + "\n", + "Let's take these equations as example:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x + 1\\\\\\\\\n", + "y = 6x - 2\n", + "\\end{cases}\n", + "$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "y1 = 6*x - 2\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we have seen, with 2 lines in a 2-D space, there are multiple possible cases. On the above figure, the two lines are crossing so there is one unique solution. If they are superimposed (same equation or equivalent, *cf*. linear dependance bellow) there are a infinite number of solutions since each points of the lines corresponds to an intersection. If they are parallel, there is no solution.\n", + "\n", + "The same thing can be observed with other values of $m$ (number of equations) and $n$ (number of dimensions). For instance, two 2-D planes in a 3-D space can be superposed (infinitely many solutions), or crossed (infinitely many solutions since their crossing is a line), or parallel (no solution)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "*m*=3, *n*=2: **3 equations and 2 unknowns**\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 = b_2\\\\\\\\\n", + "A_{3,1}x_1 + A_{3,2}x_2 = b_3\n", + "$$\n", + "\n", + "The same idea stands with more than 2 equations in a 2-D space. In that example we have the following 3 equations:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x + 1\\\\\\\\\n", + "y = 6x - 2\\\\\\\\\n", + "y = \\frac{1}{10}x+6\n", + "\\end{cases}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 1\n", + "\n", + "y1 = 6*x - 2\n", + "y2 = 0.1*x+6\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.plot(x, y2)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above case, there is 3 equations and no solution because there is no point in space that is on each of these lines." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Linear combination\n", + "\n", + "Before going to the column figure, we need to talk about linear combination. The linear combination of 2 vectors corresponds to their weighted sum.\n", + "\n", + "### Example 4.\n", + "\n", + "Let's take two vectors\n", + "\n", + "$$\n", + "\\vec{u}=\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\vec{v}=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "These two vectors have 2 dimensions and thus contain coordinates in 2-D.\n", + "\n", + "\n", + "The linear combination of $\\vec{u}$ and $\\vec{v}$ is\n", + "\n", + "$$\n", + "a\\vec{u}+b\\vec{v}= a\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix} + b\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "with $a$ and $b$ the weights of the vectors.\n", + "\n", + "Graphically, the vectors are added to reach a specific point in space. For example if $a=2$ and $b=1$:\n", + "\n", + "$$\n", + "2\\vec{u}+\\vec{v}= 2\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix} +\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 2 \\cdot 1 + 2 \\\\\\\\\n", + " 2 \\cdot 3 + 1\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 4 \\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The sum of $\\vec{u}$ and $\\vec{v}$ is a vector that will reach the point of corrdinates $(4, 7)$. To show that on a plot, I will use the custom function `plotVectors()` that I defined at the beginning of [the notebook](https://github.com/hadrienj/deepLearningBook-Notes/blob/master/2.4%20Linear%20Dependence%20and%20Span/2.4%20Linear%20Dependence%20and%20Span.ipynb). It takes a set of coordinates and an array of colors as input and plot the corresponding vectors. So let's plot $\\vec{u}$ and $\\vec{v}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 5)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + "plotVectors([[1, 3], [2, 1]], [orange, blue])\n", + "plt.xlim(0, 5)\n", + "plt.ylim(0, 5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now add these vectors and their weights. This gives:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Weigths of the vectors\n", + "a = 2\n", + "b = 1\n", + "# Start and end coordinates of the vectors\n", + "u = [0,0,1,3]\n", + "v = [2,6,2,1]\n", + "\n", + "plt.quiver([u[0], a*u[0], b*v[0]],\n", + " [u[1], a*u[1], b*v[1]],\n", + " [u[2], a*u[2], b*v[2]],\n", + " [u[3], a*u[3], b*v[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=[orange, orange, blue])\n", + "plt.xlim(-1, 8)\n", + "plt.ylim(-1, 8)\n", + "# Draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.scatter(4,7,marker='x',s=50)\n", + "# Draw the name of the vectors\n", + "plt.text(-0.5, 2, r'$\\vec{u}$', color=orange, size=18)\n", + "plt.text(0.5, 4.5, r'$\\vec{u}$', color=orange, size=18)\n", + "plt.text(2.5, 7, r'$\\vec{v}$', color=blue, size=18)\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that we end up with the coordinates ($4$, $7$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Span\n", + "\n", + "Take the vectors $\\vec{u}$ and $\\vec{v}$ from the previous example and think about all the points you can reach by their combination changing $a$ and $b$. This set of points is the span of the set of vectors $\\{\\vec{u}, \\vec{v}\\}$." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Defining u and v\n", + "u = [1, 3]\n", + "v = [2, 1]\n", + "\n", + "# Ploting a sample of the set of points in the span of u and v\n", + "for a in range(-10, 10):\n", + " for b in range(-10, 10):\n", + " plt.scatter(u[0] * a + v[0] * b, u[1] * a + v[1] * b, marker='.', color=blue)\n", + "\n", + "# Defining x and y sizes\n", + "plt.xlim(-50, 50)\n", + "plt.ylim(-50, 50)\n", + "\n", + "# Draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Note on spaces and subspaces\n", + "\n", + "(For more details see Strang (2006), p.70)\n", + "\n", + "The space of a vector determines all the values that can be taken by this vector. The vector spaces are denoted $\\mathbb{R}$ because the values are real numbers. If there are multiple dimensions the space is denoted $\\mathbb{R}^n$ with $n$ corresponding to the number of dimensions. For instance $\\mathbb{R}^2$ is the space of the usual $x$-$y$ plane where $x$ and $y$ values are real numbers.\n", + "\n", + "If you take a 2-dimensional plane in $\\mathbb{R}^3$ (3-dimensional space), this plane is a **subspace** of your original $\\mathbb{R}^3$ space. On the same manner, if you start with a $\\mathbb{R}^2$ space and take a line in this space, this line is a subspace of the original space.\n", + "\n", + "The linear combination of vectors gives vectors in the original space. Every linear combination of vectors inside a space will stay in this space. For instance, if you take 2 lines in a $\\mathbb{R}^2$ space, any linear combinations will give you a vector in the same $\\mathbb{R}^2$ space.\n", + "\n", + "\n", + " The linear combination of vectors gives vectors in the original space\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Graphical view 2: the column figure\n", + "\n", + "It is also possible to represent the set of equations by considering that the solution vector $\\bs{b}$ corresponds to a linear combination of each columns multiplied by their weights.\n", + "\n", + "From the set of equations:\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 + A_{1,n}x_n = b_1 \\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 + A_{2,n}x_n = b_2 \\\\\\\\\n", + "\\cdots \\\\\\\\\n", + "A_{m,1}x_1 + A_{m,2}x_2 + A_{m,n}x_n = b_m\n", + "$$\n", + "\n", + "The column form is then:\n", + "\n", + "$$\n", + "x_1\n", + "\\begin{bmatrix}\n", + " A_{1,1}\\\\\\\\\n", + " A_{2,1}\\\\\\\\\n", + " A_{m,1}\n", + "\\end{bmatrix}\n", + "+\n", + "x_2\n", + "\\begin{bmatrix}\n", + " A_{1,2}\\\\\\\\\n", + " A_{2,2}\\\\\\\\\n", + " A_{m,2}\n", + "\\end{bmatrix}\n", + "+\n", + "x_n\n", + "\\begin{bmatrix}\n", + " A_{1,n}\\\\\\\\\n", + " A_{2,n}\\\\\\\\\n", + " A_{m,n}\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " b_1\\\\\\\\\n", + " b_2\\\\\\\\\n", + " b_m\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "On a graphical point of view, we have to travel from the origin (zero on every dimensions) to the point of coordinate $\\bs{b}$. The columns of $\\bs{A}$ give us the directions we can travel by and their weights are the length of the way in that direction.\n", + "\n", + "\n", + " The columns of $\\bs{A}$ give us the directions we can travel by and their weights are the length of the way in each direction.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 5. \n", + "\n", + "$m=2$, $n=2$: 2 equations and 2 variables\n", + "\n", + "$$\n", + "A_{1,1}x_1 + A_{1,2}x_2 = b_1\\\\\\\\\n", + "A_{2,1}x_1 + A_{2,2}x_2 = b_2\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = \\frac{1}{2}x+1\\\\\\\\\n", + "y = -x + 4\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "\\frac{1}{2}x-y = -1\\\\\\\\\n", + "x+y=4\n", + "\\end{cases}\n", + "$$\n", + "\n", + "So here is the matrix $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} & -1 \\\\\\\\\n", + " 1 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The column figure gives us:\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The goal is to find the value of the weights ($x$ and $y$) for which the linear combination of the vector\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "gives the vector \n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We will solve the system graphically by plotting the equations and looking for their intersection:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAECCAYAAAD3k8IpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAELlJREFUeJzt3XuMXOV5x/HvzO76htemhLWLEyiEKE+UhOACxeESjLmI\nQIwTShWqKkpDlQglSAHaUGEQoVIUlD8il1SUJEIigVRIIRAgMeUOKZjSoHCRIIXHBdNYhTQYE2OD\ncWx3Tv+YGZh32d2ZOXtm3vfM/D7/eHY0Z+fRev31e86cM1PJsgwRkaZq7AFEJC2KgogEFAURCSgK\nIhJQFEQkoCiISGC00wea2QrgW+6+yswOBX4I1IBn3P38Hs0nIn3W0UrBzC4GrgXmNu5aB1zq7iuB\nqpl9ukfziUifdbr78DxwVsvXR7r7w43bdwKnFDqViETTURTc/VZgb8tdlZbbO4DFRQ4lIvHkPdBY\na7k9DmwrYBYRSUDHBxonecLMTnD3h4DTgQfabZBlWVapVNo9rG/Wr18PwOrVqyNPItJzXf3DyxuF\nrwHXmtkY8Cxwc9upKhW2bNmR8+mKV6tlVKtpzQQwMTGumTqU4lypztSNjqPg7r8Bjm3c/i/gxK6e\nSURKQScviUhAURCRgKIgIgFFQUQCioKIBBQFEQkoCiISUBREJKAoiEhAURCRgKIgIgFFQUQCioKI\nBBQFEQkoCiISUBREJKAoiEhAURCRgKIgIgFFQUQCioKIBBQFEQkoCiISUBREJKAoiEhAURCRgKIg\nIgFFQUQCioKIBHJ9FL2ZjQLXAwcDe4EvufvGAucSkUjyrhTOAEbc/TjgG8CVxY0kIjHljcJGYNTM\nKsBiYHdxI4lITLl2H4A3gEOA54D3AKsLm0hEosq7UrgIuMvdDTgcuMHM5hQ3lojEknel8Bqwp3F7\nW+P7jLTbaGJiPOfTFa9arQBpzdSkmTqX4lwpztSNvFG4CrjOzB4CxoC17v5Wu422bNmR8+mKV6tl\nVKuVpGaC+i+UZupMinOlOlM3ckXB3d8EzsmzrYikTScviUhAURCRgKIgIgFFQUQCioKIBBQFEQko\nCiISUBREJKAoiEhAURCRgKIgIgFFQUQCioKIBBQFEQkoCiISUBREJKAoiEhAURCRgKIgIgFFQUQC\nioKIBBQFEQkoCiISUBREJKAoiEhAURCRgKIgIgFFQUQCioKIBBQFEQnk+ih6ADO7BFgDjAHXuPsP\nCptKRKLJtVIws5XAMe5+LHAicGCRQ4lIPHlXCqcBz5jZbcA4cHFxI4lITHmPKewPHAn8BfBl4MZ2\nG6z3+3M+lYj0U96VwlbgWXffC2w0s11mtr+7vzrdBjc8dTMsh9V2cs6nLFa1WgFgYmI88iTvppk6\nl+JcKc7UjbxR2AB8FfhHM1sGLKAeimn90fzF3PDUzbz5xi5OOuiEnE9bnFoto1qtsGXLjtijBCYm\nxjVTh1KcK9WZupFr98Hd7wCeNLPHgNuBr7h7NtM2V6y6iMVzFnHL8+t5YPNDeZ5WRPog90uS7n5J\nN49fNr6UC444j+888X1ueX49QBIrBhEJ9fXkpaULJrjgiPO0YhBJWN/PaFQYRNIW5TRnhUEkXdGu\nfVAYRNIU9YIohUEklGUZT2/ayt2PbaZWm/EFvZ7J/epDUZph0KsSMsyyLOOZF1/j9g0vsunl7YyO\nVDnusANYOH+s77NEjwIoDDK8JscA4MgPTrDm+EOiBAESiQIoDDJcpovBmccdzEFL454mnUwUQGGQ\nwZdyDJqSigIoDDKYyhCDpuSiAAqDDI4yxaApySiAwiDlVsYYNCUbBVAYpHya5xmUMQZNSUcBFAYp\nh+bK4F9vfBLf/HugfDFoSj4KoDBIusq8mzCdUkQBFAZJy3Qx+OszP8LCsXJ/nEppogAKg8TXbmWQ\n4tuxdatUUQCFQeIYxN2E6ZQuCqAwSP8MUwyaShkFUBikt4YxBk2ljQIoDFK8YY5BU6mjAAqDFEMx\neEfpowAKg+SnGLzbQEQBFAbpjmIwvYGJAigM0t5UMTjigxOsUQzeNlBRAIVBpqYYdG7gogAKg7xD\nMejeQEYBFIZhpxjkN7BRAIVhGCkGszerKJjZEuBXwCnuvrGYkYqlMAwHxaA4uaNgZqPA94CdxY3T\nG1OFYX7kmaQYikHxZrNS+DbwXWBtQbP01OQwnD12EvvMURrKKssyHn/ud9xwx38qBgXLFQUz+wLw\nirvfa2aXFjtS77SGYefunVQrldgjSZeyLOPXL77GbVoZ9Ewly7r/EEsz+zeg1vhyOeDAGnd/ZYbN\n4nxa5hRe3vE77r3zHmpZjYnl72O1nRx7JGkjyzKe9C3ceM9z+G/q74F4zGEH8JenGu9/7+LI0yWv\nq//9ckWhlZk9CJzXwYHGLKV3pNnwyP1s372DO7J/5+wPrE7m4GOK79wTc6bmyuD2DS/ywqTTkY/8\n6DL9rDowMTHeVRSKeEkymRVAN0aqI+w7fxGL9y7SqxIJmikG2k3orVlHwd1PKmKQGEYqI3q5MjGK\nQXwDffJSJ3QeQxoUg3QMfRRAYYhJMUiPotCgMPSXYpAuRaGFwtB7ikH6FIVJFIbeaJ6O/DPFIHmK\nwhQUhuLobc/KR1GYhsIwO4pBeSkKM1AYuqcYlJ+i0IbC0BnFYHAoCh1QGKanGAweRaFDCkNIMRhc\nikIXFAbFYBgoCl0a1jAoBsNDUchhmMIw1dueKQaDTVHIadDDoJXB8FIUZmHpggkuPOI8rhqgMEwV\ng2MOO4DTjnqfYjAkFIVZWjIgK4aZVgYpvu2Z9I6iUIAy70poN0EmUxQKUrYwKAYyHUWhQGUIg2Ig\n7SgKBUs1DIqBdEpR6IGUwqAYSLcUhR6JHQbFQPJSFHooRhgUA5ktRaHH+hUGfSS7FEVR6INehkEr\nAymaotAnRYdBMZBeURT6qIgwKAbSa4pCn+UNg2Ig/ZIrCmY2ClwHHAzMAb7p7j8vcK6B1k0YFAPp\nt7wrhc8Br7r7581sP+BJQFHoQrswKAYSS94o3AT8pHG7AuwpZpzhMlUYPrv/GTy9aatiINHkioK7\n7wQws3HqcbisyKGGyeQw3P/ES/z2uaWAYiBx5D7QaGYHAj8Frnb3H3eyzcREOr/c1WoFiD9TlmVs\n9p0seOkTbFt8H9sWPcmhy4/mgpP/nEOWLY46W6vYP6fppDhXijN1I++BxqXA3cD57v5gp9ul9O49\ntVpGtVqJNtNUxww+8qFP8urCB3mZx3jst0tYOBb/6kqo/5Kn9HfXlOJcqc7UjbwrhbXAvsDlZvZ1\nIANOd/c/5Px+Q6Pd6ch75v0pV9y3LvrVlTK88h5TuBC4sOBZBlqn1yYsG1+azGXXMpx08lKP5blQ\nKfZl1zLcFIUeme1ViwqDxKIoFKzIS5gVBolBUShIr97PQGGQflMUZqkfb26iMEg/KQo5ZVnGrxsx\neKEP73SkMEi/KApd6ncMWikM0g+KQoemikGMaxMUBuk1RaGNVGLQSmGQXlIUppFiDFopDNIrisIk\nqceglcIgvaAoNJQpBq0UBina0EehrDFopTBIkYY2ClmWsXtPjSt/9HhpY9BKYZCiDF0Ummcgvv7m\nbvb+X40XXt5e6hi0UhikCEMThcmnI5+1vMbcsRH+4dw/K30MWi1dMMGFR5zHVQqD5DTwUZjurdL3\nXbiFOWMjAxWEpiVaMcgsDGwU2n1uwqOP/iLugD2mXQnJa+CioA9ReYfCIHkMTBQUg6kpDNKt0kdB\nMWhPYZBulDYKikF3FAbpVOmioBjkpzBIJ0oTBcWgGAqDtJN8FBSD4ikMMpNko6AY9JbCINNJLgqK\nQf8oDDKVZKKgGMShMMhk0aOgGMSnMEir3FEwswpwDXA4sAv4ortv6nR7xSAtCoM0zWal8Blgrrsf\na2YrgHWN+2akGKRLYRCYXRSOB+4CcPdfmtlRMz04yzKe3rRVMUjcVGE4Z+JTkaeSfppNFBYBr7d8\nvdfMqu5em+rBF//Tw/jm3wOKQeomh2GfhfNYsd/RsceSPplNFLYDrf+qpw0CwIf3+1+WLxlhwbxR\nRke28tKmrbzU8RGI4u3atYtKheTeV6FarVCrZbHHAOCMyjFsr+xgy1P/wwNjrzF/dF7skQIp/aya\nUpxpzZozu3r8bKLwCLAauNnMPg48PdOD91s0j9GR6iyerliVSv3ParUSd5AppDJTtTrKviOL2PbW\ndnbu2Um1UmH+WHphSE2KM3WjkmX5qtby6sPHGned6+4bZ9gk27JlR67n6oVHH/0F1WqFFStWxh4l\nMDExTko/J4A983ZyxX3reH33ds7+wOpkDj6m+LNKdKauKpV7peDuGfDlvNtLeSwbX6pXJYZIOut5\nSVrz4OPiOYu45fn1PLD5odgjSY8oCtIxhWE4KArSFYVh8CkK0jWFYbApCpKLwjC4FAXJTWEYTIqC\nzIrCMHgUBZk1hWGwKApSCIVhcCgKUhiFYTAoClIohaH8FAUpnMJQboqC9ITCUF6KgvSMwlBOioL0\nlMJQPoqC9JzCUC6KgvSFwlAeioL0jcJQDoqC9JXCkD5FQfpOYUiboiBRKAzpUhQkGoUhTYqCRKUw\npEdRkOgUhrQoCpIEhSEdioIkQ2FIg6IgSVEY4lMUJDkKQ1yKgiRJYYgn16dOm9ki4F+ARcAY8Hfu\n/h9FDibSDIM+7bq/8q4U/ha4z91PBM4F/rmwiURaaMXQf3mjsA74fuP2GPBWMeOIvJvC0F9tdx/M\n7G+Ai4AMqDT+PNfdHzezPwZ+BHy1p1PK0JtqV+KciU9FnmowtY2Cu18HXDf5fjM7DLiR+vGEDT2Y\nTSQwOQz7LJzHiv2Ojj3WwKlkWdb1Rmb2YeAW4LPu/nThU4lINHmjcBvwMeC/qe9SbHP3s4odTURi\nyBUFERlcOnlJRAKKgogEFAURCSgKIhLIde1Dt1K7VsLMKsA1wOHALuCL7r4p1jyNmUapnw9yMDAH\n+Ka7/zzmTE1mtgT4FXCKu29MYJ5LgDXUf5eucfcfRJ5nFLie+t/dXuBLMX9OZrYC+Ja7rzKzQ4Ef\nAjXgGXc/v932/VoppHatxGeAue5+LLCW+mnbsX0OeNXdTwDOAK6OPA/w9i/894CdsWcBMLOVwDGN\nv7sTgQPjTgTU/75G3P044BvAlbEGMbOLgWuBuY271gGXuvtKoGpmn273PfoVhdSulTgeuAvA3X8J\nHBV3HABuAi5v3K4AeyLO0urbwHeBl2MP0nAa8EzjXJmfAesjzwOwERhtrEAXA7sjzvI80HrO0JHu\n/nDj9p3AKe2+QeG7DyW5VmIR8HrL13vNrOrutVgDuftOADMbB34CXBZrliYz+wLwirvfa2aXxp6n\nYX/gIGA18H7qYfhQ1IngDeAQ4DngPdRni8LdbzWzP2m5q9Jyewf1aM2o8CiU5FqJ7cB4y9dRg9Bk\nZgcCPwWudvcfx56H+q5ezcxOBZYDN5jZGnd/JeJMW4Fn3X0vsNHMdpnZ/u7+asSZLgLucvfLzOy9\nwINm9lF3j7liaGr9vR4HtrXboC+7D41rJW4C/srd7+nHc7bxCPX9QMzs40D06zfMbClwN/D37n59\n7HkA3H2lu69y91XAU8DnIwcBYAPwSQAzWwYsoB6KmF7jnZXnNur/2Y7EGyfwhJk135nmdODhmR4M\nfXr1gfqBl7nAdxr7XbGvlbgVONXMHml8fW7EWZrWAvsCl5vZ16nvdp3u7n+IO9bbkjgf3t3vMLNP\nmNlj1JfGX3H32LNdBVxnZg9RP2a21t1jHzdr+hpwrZmNAc8CN7fbQNc+iEhAJy+JSEBREJGAoiAi\nAUVBRAKKgogEFAURCSgKIhJQFEQk8P9gVP3qVkg0YQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 0.5*x + 1\n", + "\n", + "y1 = -x + 4\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the solution (the intersection of the lines representing our two equations) is $x=2$ and $y=2$. This means that the linear combination is the following:\n", + "\n", + "$$\n", + "2\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "2\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's say that \n", + "\n", + "$$\n", + "\\vec{u}=\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\vec{v}=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "To talk in term of the column figure we can reach the point of coordinates $(-1, 4)$ if we add two times the vector $\\vec{u}$ and two times the vector $\\vec{v}$. Let's check that:" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,0.5,1]\n", + "u_bis = [u[2],u[3],u[2],u[3]]\n", + "v = [2*u[2],2*u[3],-1,1]\n", + "v_bis = [2*u[2]-1,2*u[3]+1,v[2],v[3]]\n", + "\n", + "plt.quiver([u[0], u_bis[0], v[0], v_bis[0]],\n", + " [u[1], u_bis[1], v[1], v_bis[1]],\n", + " [u[2], u_bis[2], v[2], v_bis[2]],\n", + " [u[3], u_bis[3], v[3], v_bis[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=[blue, blue, orange, orange])\n", + "# plt.rc('text', usetex=True)\n", + "plt.xlim(-1.5, 2)\n", + "plt.ylim(-0.5, 4.5)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.scatter(-1,4,marker='x',s=50)\n", + "plt.text(0, 0.5, r'$\\vec{u}$', color=blue, size=18)\n", + "plt.text(0.5, 1.5, r'$\\vec{u}$', color=blue, size=18)\n", + "plt.text(0.5, 2.7, r'$\\vec{v}$', color=orange, size=18)\n", + "plt.text(-0.8, 3, r'$\\vec{v}$', color=orange, size=18)\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that it is working! We arrive to the point ($-1$, $4$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Determine if the system has one and only one solution for every value of $\\bs{b}$\n", + "\n", + "We will now see how to determine if a system of equations has one and only one solution. Note that this is only the general cases. This can be split into two requirements:\n", + "\n", + "1. The system must have at least one solution\n", + "2. Then, the system must have **only** one solution\n", + "\n", + "### Requirement 1. Underdetermined system: the system must have at least one solution for each value of $\\bs{b}$: $n\\geq m$\n", + "\n", + "\n", + " An underdetermined system of equations is a system with less equations than unknowns\n", + "\n", + "\n", + "If we want our system to have one and only one solution a first requirement is that $n$ must not be bigger than $m$.\n", + "\n", + "Let's take the example of a ($2\\times 3$) matrix that corresponds to a set of 2 equations with 3 unknowns variables:\n", + "\n", + "\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "8x+y+z=1\\\\\\\\\n", + "x+y+z=1\n", + "\\end{cases}\n", + "$$\n", + "\n", + "\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " 8 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "+\n", + "z\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " 1 \\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "Here is the representation of the planes plotted with the help of this [website](https://technology.cpm.org/general/3dgraph/):\n", + "\n", + "\n", + "The intersection of the two planes is a line\n", + "\n", + "We can see that in the best case the two planes are not parallel and there are solutions to the set of equations. It means that it exists some points that rely on both planes. But we can also see that there is inevitably an infinite number of points on the intersection (a line that we can see on the figure). We need a third plane to have a unique solution.\n", + "\n", + "### Requirement 2. Overdetermined system: the system must have **only** one solution for each value of $\\bs{b}$: $m\\geq n$\n", + "\n", + "\n", + "\n", + " An overdetermined system of equations is a system with more equations than unknowns\n", + "\n", + "\n", + "The column figure is helpful to understand why the linear system has usually no solution if $n$ (the number of unknowns) is smaller than $m$ (the number of equations). Let's add 1 equation to the above system in order to end up with a ($3\\times2$) matrix (3 equations and 2 unknowns):\n", + "\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = \\frac{1}{2}x+1\\\\\\\\\n", + "y = -x + 4\\\\\\\\\n", + "y = 7x + 2\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "\\frac{1}{2}x-y = -1\\\\\\\\\n", + "x+y=4\\\\\\\\\n", + "7x-y=2\n", + "\\end{cases}\n", + "$$\n", + "\n", + "\n", + "This corresponds to:\n", + "\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} \\\\\\\\\n", + " 1 \\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 1 \\\\\\\\\n", + " -1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " 4 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "So we are still traveling in our 2-dimensional space (see the plot of the column space above) but the point that we are looking for is defined by 3 dimensions. There are cases where the third coordinate does not rely on our 2-dimensional $x$-$y$ plane. In that case no solution exists.\n", + "\n", + "\n", + " We are traveling in a 2D space but the solution is defined by 3 dimensions. If the third coordinate does not rely on our 2D $x$-$y$ plane then there is no solution.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Linear dependence\n", + "\n", + "The number of columns can thus provide information on the number of solutions. But the number that we have to take into account is the number of **linearly independent** columns. Columns are linearly dependent if one of them is a linear combination of the others. Thinking in the column picture, the direction of two linearly dependent vectors is the same. This doesn't add a dimension that we can use to travel and reach $\\bs{b}$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is an example of linear system containing linear dependency:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "y = 2x+6\\\\\\\\\n", + "y = 2x\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "2x-y = -6\\\\\\\\\n", + "2x-y=0\n", + "\\end{cases}\n", + "$$\n", + "\n", + "The row figure shows that the system has no solution:" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.arange(-10, 10)\n", + "y = 2*x + 6\n", + "\n", + "y1 = 2*x\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.plot(x, y1)\n", + "plt.xlim(-2, 10)\n", + "plt.ylim(-2, 10)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the lines are parallel, there is no point at their intersection." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The column figure illustrates the point as well:\n", + "\n", + "$$\n", + "x\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "+\n", + "y\n", + "\\begin{bmatrix}\n", + " -1 \\\\\\\\\n", + " -1\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -6 \\\\\\\\\n", + " 0\n", + "\\end{bmatrix}\n", + "$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,2,2]\n", + "v = [0,0,-1,-1]\n", + "\n", + "plt.quiver([u[0], v[0]],\n", + " [u[1], v[1]],\n", + " [u[2], v[2]],\n", + " [u[3], v[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=[blue, orange])\n", + "plt.xlim(-7, 3)\n", + "plt.ylim(-2, 3)\n", + "# draw axes\n", + "plt.axvline(x=0, color='#A9A9A9')\n", + "plt.axhline(y=0, color='#A9A9A9')\n", + "plt.scatter(-6,0,marker='x',s=150)\n", + "plt.text(-6, 0.5, r'$b$', color='b', size=18)\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We would like to go to $b$ but the only path we can take is the blue/orange line. The second equation doesn't provide us with a new direction to take since it is just a linear combination of the first one.\n", + "\n", + "Thus, an overdetermined system of independant equations has at most 1 solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Square matrix\n", + "\n", + "How could we satisfy both requirements ($m\\geq n$ and $n\\geq m$): we must have $m=n$!\n", + "\n", + "The resulting of all of this is that the system needs a **square matrix** $\\bs{A}$ ($m=n$) with linearly independant columns to have a unique solution for every values of $\\bs{b}$.\n", + "\n", + "\n", + " The system needs a **square matrix** $\\bs{A}$ ($m=n$) with linearly independant columns to have a unique solution for every values of $\\bs{b}$\n", + "\n", + "\n", + "The inverse of a matrix exists only if the set of equations has one and only one solution for each value of $\\bs{b}$ because:\n", + "\n", + "- The matrix $\\bs{A}$ cannot have more than 1 inverse. Imagine that $\\bs{A}$ has 2 inverses $\\bs{B}$ and $\\bs{C}$ such as $\\bs{AB}=\\bs{I}$ and $\\bs{AC}=\\bs{I}$. This would mean that $\\bs{B}=\\bs{C}$.\n", + "\n", + "- The solution of the system $\\bs{Ax}=\\bs{b}$ is $\\bs{x}=\\bs{A} ^{-1} \\bs{b}$. So if there are multiple solutions, there are multiple inverses and the first point is not met." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For more details about the row and the column figure, have a look at the books of Gilbert Strang (there are some ressources [here](http://math.mit.edu/~gs/dela/dela_4-1.pdf)). There are tons of really great examples and graphical explanations! And the *1.2 Geometry of linear equations* in 'Linear algebra and its applications' also from Gilbert Strang." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " Feel free to drop me an email or a comment. The syllabus of this series can be found [in the introduction post](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-Introduction/). All the notebooks can be found on [Github](https://github.com/hadrienj/deepLearningBook-Notes).\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "## Books and videos of Gilbert Strang\n", + "\n", + "- Strang, G. (2006). Linear Algebra and Its Applications, 4th Edition (4th edition). Belmont, CA: Cengage Learning.\n", + "\n", + "- Strang, G. (2014). Differential Equations and Linear Algebra (UK ed. edition). Wellesley, Mass: Wellesley-Cambridge.\n", + "\n", + "- [The column space of a matrix. Video from Gilbert Strang](https://ocw.mit.edu/resources/res-18-009-learn-differential-equations-up-close-with-gilbert-strang-and-cleve-moler-fall-2015/differential-equations-and-linear-algebra/vector-spaces-and-subspaces/the-column-space-of-a-matrix/)\n", + "\n", + "## System of equations\n", + "\n", + "- [Wikipedia - System of linear equations](https://en.wikipedia.org/wiki/System_of_linear_equations)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy arange()](https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.04 Linear Dependence and Span/images/intersection-2-planes-line.png b/Chapters/2.04 Linear Dependence and Span/images/intersection-2-planes-line.png new file mode 100644 index 0000000..66d3f97 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/intersection-2-planes-line.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/number-solutions-system-equations.png b/Chapters/2.04 Linear Dependence and Span/images/number-solutions-system-equations.png new file mode 100644 index 0000000..a516b03 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/number-solutions-system-equations.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/overdetermined-system-linear-equations.png b/Chapters/2.04 Linear Dependence and Span/images/overdetermined-system-linear-equations.png new file mode 100644 index 0000000..3e4e009 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/overdetermined-system-linear-equations.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-adding-vectors-combination-1.png b/Chapters/2.04 Linear Dependence and Span/images/python-adding-vectors-combination-1.png new file mode 100644 index 0000000..72a52c7 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-adding-vectors-combination-1.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-adding-vectors-combination.png b/Chapters/2.04 Linear Dependence and Span/images/python-adding-vectors-combination.png new file mode 100644 index 0000000..811d8c0 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-adding-vectors-combination.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-one-equation.png b/Chapters/2.04 Linear Dependence and Span/images/python-one-equation.png new file mode 100644 index 0000000..f2f539e Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-one-equation.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-system-equations-with-linear-dependence.png b/Chapters/2.04 Linear Dependence and Span/images/python-system-equations-with-linear-dependence.png new file mode 100644 index 0000000..6a8cae8 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-system-equations-with-linear-dependence.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-three-equations.png b/Chapters/2.04 Linear Dependence and Span/images/python-three-equations.png new file mode 100644 index 0000000..1d42a50 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-three-equations.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-two-equations-1.png b/Chapters/2.04 Linear Dependence and Span/images/python-two-equations-1.png new file mode 100644 index 0000000..e15e64f Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-two-equations-1.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-two-equations-no-solution.png b/Chapters/2.04 Linear Dependence and Span/images/python-two-equations-no-solution.png new file mode 100644 index 0000000..b97acf7 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-two-equations-no-solution.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-two-equations.png b/Chapters/2.04 Linear Dependence and Span/images/python-two-equations.png new file mode 100644 index 0000000..0335cf4 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-two-equations.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/python-two-vectors.png b/Chapters/2.04 Linear Dependence and Span/images/python-two-vectors.png new file mode 100644 index 0000000..ddea6bc Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/python-two-vectors.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/representing-features.png b/Chapters/2.04 Linear Dependence and Span/images/representing-features.png new file mode 100644 index 0000000..32a1a00 Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/representing-features.png differ diff --git a/Chapters/2.04 Linear Dependence and Span/images/underdetermined-system-linear-equations.png b/Chapters/2.04 Linear Dependence and Span/images/underdetermined-system-linear-equations.png new file mode 100644 index 0000000..20b33fb Binary files /dev/null and b/Chapters/2.04 Linear Dependence and Span/images/underdetermined-system-linear-equations.png differ diff --git a/Chapters/2.05 Norms/.ipynb_checkpoints/2.5 Norms-checkpoint.ipynb b/Chapters/2.05 Norms/.ipynb_checkpoints/2.5 Norms-checkpoint.ipynb new file mode 100644 index 0000000..50d7cc1 --- /dev/null +++ b/Chapters/2.05 Norms/.ipynb_checkpoints/2.5 Norms-checkpoint.ipynb @@ -0,0 +1,909 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot parameters\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "plt.rcParams['xtick.major.size'] = 0\n", + "plt.rcParams['ytick.major.size'] = 0\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "The [2.4](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.4-Linear-Dependence-and-Span/) was heavy but this one is light. We will however see an important concept for machine learning and deep learning. The norm is what is generally used to evaluate the error of a model. For instance it is used to calculate the error between the output of a neural network and what is expected (the actual label or value). You can think of the norm as the length of a vector. It is a function that maps a vector to a positive value. Different functions can be used and we will see few examples.\n", + "\n", + "\n", + "# 2.5 Norms" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Norms are any functions that are characterized by the following properties:\n", + "\n", + "1- Norms are non-negative values. If you think of the norms as a length, you easily see why it can't be negative.\n", + "\n", + "2- Norms are $0$ if and only if the vector is a zero vector\n", + "\n", + "3- Norms respect the triangle inequality. See bellow.\n", + "\n", + "4- $\\norm{\\bs{k}\\cdot \\bs{u}}=| \\bs{k}| \\cdot \\norm{\\bs{u}}$. The norm of a vector multiplied by a scalar is equal to the absolute value of this scalar multiplied by the norm of the vector.\n", + "\n", + "It is usually written with two horizontal bars: $\\norm{\\bs{x}}$\n", + "\n", + "# The triangle inequality\n", + "\n", + "The norm of the sum of some vectors is less than or equal to the sum of the norms of these vectors.\n", + "\n", + "$$\n", + "\\norm{\\bs{u}+\\bs{v}} \\leq \\norm{\\bs{u}}+\\norm{\\bs{v}}\n", + "$$\n", + "\n", + "### Example 1.\n", + "\n", + "$$\n", + "\\bs{u}=\n", + "\\begin{bmatrix}\n", + " 1 & 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 4 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\norm{\\bs{u}+\\bs{v}} = \\sqrt{(1+4)^2+(6+2)^2} = \\sqrt{89} \\approx 9.43\n", + "$$\n", + "\n", + "$$\n", + "\\norm{\\bs{u}}+\\norm{\\bs{v}} = \\sqrt{1^2+6^2}+\\sqrt{4^2+2^2} = \\sqrt{37}+\\sqrt{20} \\approx 10.55\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check these results:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 6])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "u = np.array([1, 6])\n", + "u" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4, 2])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([4, 2])\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5, 8])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "u+v" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9.433981132056603" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(u+v)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "10.554898485297798" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(u)+np.linalg.norm(v)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,1,6]\n", + "v = [0,0,4,2]\n", + "u_bis = [1,6,v[2],v[3]]\n", + "w = [0,0,5,8]\n", + "plt.quiver([u[0], u_bis[0], w[0]],\n", + " [u[1], u_bis[1], w[1]],\n", + " [u[2], u_bis[2], w[2]],\n", + " [u[3], u_bis[3], w[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=sns.color_palette())\n", + "# plt.rc('text', usetex=True)\n", + "plt.xlim(-2, 6)\n", + "plt.ylim(-2, 9)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.text(-1, 3.5, r'$||\\vec{u}||$', color=sns.color_palette()[0], size=20)\n", + "plt.text(2.5, 7.5, r'$||\\vec{v}||$', color=sns.color_palette()[1], size=20)\n", + "plt.text(2, 2, r'$||\\vec{u}+\\vec{v}||$', color=sns.color_palette()[2], size=20)\n", + "\n", + "plt.show()\n", + "plt.close()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " Geometrically, this simply means that the shortest path between two points is a line\n", + "\n", + "\n", + "# P-norms: general rules\n", + "\n", + "Here is the recipe to get the $p$-norm of a vector:\n", + "\n", + "1. Calculate the absolute value of each element\n", + "2. Take the power $p$ of these absolute values\n", + "3. Sum all these powered absolute values\n", + "4. Take the power $\\frac{1}{p}$ of this result\n", + "\n", + "This is more condensly expressed with the formula:\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_p=(\\sum_i|\\bs{x}_i|^p)^{1/p}\n", + "$$\n", + "\n", + "This will be clear with examples using these widely used $p$-norms." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The $L^1$ norm\n", + "\n", + "$p=1$ so this norm is simply the sum of the absolute values:\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_1=\\sum_{i} |\\bs{x}_i|\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The Euclidean norm ($L^2$ norm)\n", + "\n", + "The Euclidean norm is the $p$-norm with $p=2$. This may be the more used norm with the squared $L^2$ norm.\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_2=(\\sum_i \\bs{x}_i^2)^{1/2}\\Leftrightarrow \\sqrt{\\sum_i \\bs{x}_i^2}\n", + "$$\n", + "\n", + "Let's see an example of this norm:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2.\n", + "\n", + "Graphically, the Euclidean norm corresponds to the length of the vector from the origin to the point obtained by linear combination (like applying Pythagorean theorem).\n", + "\n", + "$$\n", + "\\bs{u}=\n", + "\\begin{bmatrix}\n", + " 3 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\norm{\\bs{u}}_2 &=\\sqrt{|3|^2+|4|^2}\\\\\\\\\n", + "&=\\sqrt{25}\\\\\\\\\n", + "&=5\n", + "\\end{align*}\n", + "$$\n", + "\n", + "\n", + "So the $L^2$ norm is $5$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The $L^2$ norm can be calculated with the `linalg.norm` function from numpy. We can check the result:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5.0" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm([3, 4])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is the graphical representation of the vectors:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,3,4]\n", + "\n", + "plt.quiver([u[0]],\n", + " [u[1]],\n", + " [u[2]],\n", + " [u[3]],\n", + " angles='xy', scale_units='xy', scale=1)\n", + "\n", + "plt.xlim(-2, 4)\n", + "plt.ylim(-2, 5)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.annotate('', xy = (3.2, 0), xytext = (3.2, 4),\n", + " arrowprops=dict(edgecolor='black', arrowstyle = '<->'))\n", + "plt.annotate('', xy = (0, -0.2), xytext = (3, -0.2),\n", + " arrowprops=dict(edgecolor='black', arrowstyle = '<->'))\n", + "\n", + "plt.text(1, 2.5, r'$\\vec{u}$', size=18)\n", + "plt.text(3.3, 2, r'$\\vec{u}_y$', size=18)\n", + "plt.text(1.5, -1, r'$\\vec{u}_x$', size=18)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, the vector is in a 2-dimensional space but this stands also for more dimensions.\n", + "\n", + "$$\n", + "u=\n", + "\\begin{bmatrix}\n", + " u_1\\\\\\\\\n", + " u_2\\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " u_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "||u||_2 = \\sqrt{u_1^2+u_2^2+\\cdots+u_n^2}\n", + "$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The squared Euclidean norm (squared $L^2$ norm)\n", + "\n", + "$$\n", + "\\sum_i|\\bs{x}_i|^2\n", + "$$\n", + "\n", + "\n", + "The squared $L^2$ norm is convenient because it removes the square root and we end up with the simple sum of every squared values of the vector. \n", + "\n", + "The squared Euclidean norm is widely used in machine learning partly because it can be calculated with the vector operation $\\bs{x}^\\text{T}\\bs{x}$. There can be performance gain due to the optimization See [here](https://softwareengineering.stackexchange.com/questions/312445/why-does-expressing-calculations-as-matrix-multiplications-make-them-faster) and [here](https://www.quora.com/What-makes-vector-operations-faster-than-for-loops) for more details.\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 5 \\\\\\\\\n", + " 3 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}^\\text{T}=\n", + "\\begin{bmatrix}\n", + " 2 & 5 & 3 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x}^\\text{T}\\bs{x}&=\n", + "\\begin{bmatrix}\n", + " 2 & 5 & 3 & 3\n", + "\\end{bmatrix} \\times\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 5 \\\\\\\\\n", + " 3 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\\\\\\\\\n", + "&= 2\\times 2 + 5\\times 5 + 3\\times 3 + 3\\times 3= 47\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [5],\n", + " [3],\n", + " [3]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([[2], [5], [3], [3]])\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[47]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "euclideanNorm = x.T.dot(x)\n", + "euclideanNorm" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "47.0" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(x)**2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It works!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Derivative of the squared $L^2$ norm\n", + "\n", + "Another advantage of the squared $L^2$ norm is that its partial derivative is easily computed:\n", + "\n", + "$$\n", + "u=\n", + "\\begin{bmatrix}\n", + " u_1\\\\\\\\\n", + " u_2\\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " u_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\norm{u}_2 = u_1^2+u_2^2+\\cdots+u_n^2\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "\\dfrac{d\\norm{u}_2}{du_1} = 2u_1\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_2} = 2u_2\\\\\\\\\n", + "\\cdots\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_n} = 2u_n\n", + "\\end{cases}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Derivative of the $L^2$ norm\n", + "\n", + "In the case of the $L^2$ norm, the derivative is more complicated and takes every elements of the vector into account:\n", + "\n", + "$$\n", + "\\norm{u}_2 = \\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)} = (u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\dfrac{d\\norm{u}_2}{du_1} &=\n", + "\\dfrac{1}{2}(u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}-1}\\cdot\n", + "\\dfrac{d}{du_1}(u_1^2+u_2^2+\\cdots+u_n^2)\\\\\\\\\n", + "&=\\dfrac{1}{2}(u_1^2+u_2^2+\\cdots+u_n^2)^{-\\frac{1}{2}}\\cdot\n", + "\\dfrac{d}{du_1}(u_1^2+u_2^2+\\cdots+u_n^2)\\\\\\\\\n", + "&=\\dfrac{1}{2}\\cdot\\dfrac{1}{(u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}}}\\cdot\n", + "\\dfrac{d}{du_1}(u_1^2+u_2^2+\\cdots+u_n^2)\\\\\\\\\n", + "&=\\dfrac{1}{2}\\cdot\\dfrac{1}{(u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}}}\\cdot\n", + "2\\cdot u_1\\\\\\\\\n", + "&=\\dfrac{u_1}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\end{align*}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "\\dfrac{d\\norm{u}_2}{du_1} = \\dfrac{u_1}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_2} = \\dfrac{u_2}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\cdots\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_n} = \\dfrac{u_n}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\end{cases}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "One problem of the squared $L^2$ norm is that it hardly discriminates between 0 and small values because the increase of the function is slow.\n", + "\n", + "We can see this by graphically comparing the squared $L^2$ norm with the $L^2$ norm. The $z$-axis corresponds to the norm and the $x$- and $y$-axis correspond to two parameters. The same thing is true with more than 2 dimensions but it would be hard to visualize it.\n", + "\n", + "$L^2$ norm:\n", + "\n", + "\n", + "The L2 norm\n", + "\n", + "Squared $L^2$ norm:\n", + "\n", + "\n", + "The squared L2 norm\n", + "\n", + "$L^1$ norm:\n", + "\n", + "\n", + "The L1 norm\n", + "\n", + "These plots are done with the help of this [website](https://academo.org/demos/3d-surface-plotter/). Go and plot these norms if you need to move them in order to catch their shape." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The max norm\n", + "\n", + "It is the $L^\\infty$ norm and corresponds to the absolute value of the greatest element of the vector.\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_\\infty = \\max\\limits_i|x_i|\n", + "$$\n", + "\n", + "# Matrix norms: the Frobenius norm\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\sum_{i,j}A^2_{i,j}}\n", + "$$\n", + "\n", + "This is equivalent to take the $L^2$ norm of the matrix after flattening.\n", + "\n", + "The same Numpy function can be use:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [6, 4],\n", + " [3, 2]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [6, 4], [3, 2]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8.366600265340756" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Expression of the dot product with norms\n", + "\n", + "$$\n", + "\\bs{x}^\\text{T}\\bs{y} = \\norm{\\bs{x}}_2\\cdot\\norm{\\bs{y}}_2\\cos\\theta\n", + "$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 0 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and \n", + "\n", + "$$\n", + "\\bs{y}=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = [0,0,0,2]\n", + "y = [0,0,2,2]\n", + "\n", + "plt.xlim(-2, 4)\n", + "plt.ylim(-2, 5)\n", + "plt.axvline(x=0, color='grey', zorder=0)\n", + "plt.axhline(y=0, color='grey', zorder=0)\n", + "\n", + "plt.quiver([x[0], y[0]],\n", + " [x[1], y[1]],\n", + " [x[2], y[2]],\n", + " [x[3], y[3]],\n", + " angles='xy', scale_units='xy', scale=1)\n", + "\n", + "plt.text(-0.5, 1, r'$\\vec{x}$', size=18)\n", + "plt.text(1.5, 0.5, r'$\\vec{y}$', size=18)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We took this example for its simplicity. As we can see, the angle $\\theta$ is equal to 45°." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\bs{x^\\text{T}y}=\n", + "\\begin{bmatrix}\n", + " 0 & 2\n", + "\\end{bmatrix} \\cdot\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix} =\n", + "0\\times2+2\\times2 = 4\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_2=\\sqrt{0^2+2^2}=\\sqrt{4}=2\n", + "$$\n", + "\n", + "$$\n", + "\\norm{\\bs{y}}_2=\\sqrt{2^2+2^2}=\\sqrt{8}\n", + "$$\n", + "\n", + "$$\n", + "2\\times\\sqrt{8}\\times cos(45)=4\n", + "$$\n", + "\n", + "Here are the operations using numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.000000000000001" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Note: np.cos take the angle in radian\n", + "np.cos(np.deg2rad(45))*2*np.sqrt(8)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "- https://en.wikipedia.org/wiki/Norm_(mathematics)\n", + "\n", + "- [3D plots](https://academo.org/demos/3d-surface-plotter/)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.05 Norms/2.5 Norms.ipynb b/Chapters/2.05 Norms/2.5 Norms.ipynb new file mode 100644 index 0000000..50d7cc1 --- /dev/null +++ b/Chapters/2.05 Norms/2.5 Norms.ipynb @@ -0,0 +1,909 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot parameters\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "plt.rcParams['xtick.major.size'] = 0\n", + "plt.rcParams['ytick.major.size'] = 0\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "The [2.4](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.4-Linear-Dependence-and-Span/) was heavy but this one is light. We will however see an important concept for machine learning and deep learning. The norm is what is generally used to evaluate the error of a model. For instance it is used to calculate the error between the output of a neural network and what is expected (the actual label or value). You can think of the norm as the length of a vector. It is a function that maps a vector to a positive value. Different functions can be used and we will see few examples.\n", + "\n", + "\n", + "# 2.5 Norms" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Norms are any functions that are characterized by the following properties:\n", + "\n", + "1- Norms are non-negative values. If you think of the norms as a length, you easily see why it can't be negative.\n", + "\n", + "2- Norms are $0$ if and only if the vector is a zero vector\n", + "\n", + "3- Norms respect the triangle inequality. See bellow.\n", + "\n", + "4- $\\norm{\\bs{k}\\cdot \\bs{u}}=| \\bs{k}| \\cdot \\norm{\\bs{u}}$. The norm of a vector multiplied by a scalar is equal to the absolute value of this scalar multiplied by the norm of the vector.\n", + "\n", + "It is usually written with two horizontal bars: $\\norm{\\bs{x}}$\n", + "\n", + "# The triangle inequality\n", + "\n", + "The norm of the sum of some vectors is less than or equal to the sum of the norms of these vectors.\n", + "\n", + "$$\n", + "\\norm{\\bs{u}+\\bs{v}} \\leq \\norm{\\bs{u}}+\\norm{\\bs{v}}\n", + "$$\n", + "\n", + "### Example 1.\n", + "\n", + "$$\n", + "\\bs{u}=\n", + "\\begin{bmatrix}\n", + " 1 & 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 4 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\norm{\\bs{u}+\\bs{v}} = \\sqrt{(1+4)^2+(6+2)^2} = \\sqrt{89} \\approx 9.43\n", + "$$\n", + "\n", + "$$\n", + "\\norm{\\bs{u}}+\\norm{\\bs{v}} = \\sqrt{1^2+6^2}+\\sqrt{4^2+2^2} = \\sqrt{37}+\\sqrt{20} \\approx 10.55\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check these results:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 6])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "u = np.array([1, 6])\n", + "u" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4, 2])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([4, 2])\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5, 8])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "u+v" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9.433981132056603" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(u+v)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "10.554898485297798" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(u)+np.linalg.norm(v)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAD5CAYAAAAusSBHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl0VOeZ5/FvVam0CyEJCSEkVkkvmEUYb+AtxsbjeG3bycRLvAXSiTGdyZw5pzPJTE+nO32m2yfJTJ8+abxkgrd4SdLe4t1OYjteAraxQYBtXiRAIAkhtKPSUtu980epBIUkhNCturdKz+ccH8ytqvc+V0iPbr33vb9ymaaJEEJEue0uQAjhLNIUhBAxpCkIIWJIUxBCxJCmIISIIU1BCBFDmoIQIoY0BSFEDGkKQogYaQncVwZwHtAChBO4XyGmOg8wC/gE8I/35EQ2hfOA9xO4PyFErEuAD8Z7UiKbQgtAV1cfhpF691u89dareL0e1qz5qt2lxEVRUS4dHT67y4ibVD4+t9tFQUEODP0MjieRTSEMYBhmSjYFn8+H1+tJyWOLSuVjg9Q/Pk7zbbtMNAohYkhTEELEkKYghIghTUEIEUOaghAihjQFIUQMaQpCiBjSFIQQMaQpiKRk9Lbj3/EqphGyu5SUI01BJCV33gzMnlYG33vM7lJSTiKXOQsxYYEv38X/wRNjP8E0CFWuIq18aeKKSnHSFETC+Le9QOCz35Nz289w5xWPux0gffFlpC++bNTxBt9/DDMcjGkIpxrrVI+J46QpiKRk9Lbjyikko+Yau0tJOZY1BaXUdcA/Aa6h//5Ra/28VeMLcSJ33gwyVt5gdxkpyZKJRqWUC/g1cKfWegVwJ/C4UkomMoVIMlb+0BpA/tD/TwdatNaGheOLKca//RV6f3kPgd1/GPVx49hRen/1bfpe+Efkg5KtY8nbB621qZT6BvB7pVQfkAfImz0xKZ6iCgCMzuZRH/d/9DswQmSsvh2Xy5XI0sZlmgYE/ZjBwcifoUHMwCCEBukLB8iZczZpHq/dZY7KkqaglEoDfgT8ldb6Q6XURcDvlFJnaa1jMq6KinKt2KXjeL0eAIqL82yuJH4me2ydORkEgMLCXLzT88bdHspYzKE3wO07MmLfg4176D2wjZzFFzJz2cpxxxrvMSuOL8p/5AAtT/0DxmBsvJsJ7Cyfw6F5VXy/9ApL9hUPVk00rgDKtNYfAgw1hj5gMZEE2WEdHb6UjL0KBsN4vR7a2nrtLiUuiovzJn1s/r5IkHBnpw93MGvc7ZAOGTn4jx6K2bdpmvS/vhk8abDippjHxh7r1I9ZcXzR2oyOY7hKFsKh2uHtbV4Pv58/j3qjl++Vrkro94nb7ZrQL2OrmkITUK6UUlprrZRaDMwE9lk0vpiiPIUVhFv2YPg6cecWAhDatxWjbT/pNdc4Zr2B0XOEYN0Wgvu2Yva0Dm8PuuDPxQW8My2DsNFLRd5sVEGljZWOz6o5hSNKqQ3As0qp6OTiOq11pxXji6nLXTTUFLqacecWYoYC+D9+FlfWNNLPvt7W2oz+bkL7PiJYvxWj7QAArsw8vEvW4q1cxe5PnuT5zEHa3QaReXhYO+crjpv/OJll6xS01k8BT1k1nhAQOVMIAkZXE1QsI7D7LUxfBxmX3IMrPWvc11vNDAwQOrCNYP1Wwoe/ANMEbyZpVRfirVyFZ/YSXG4P/nCAI6XzINAKgx0AFGUWcHbxsoTXPFGyolE4mrtoDgDhzmaMgWMEtr+Ku6Acr7o0YTWY4SChxl2E6rcQOrgDwkFwefBU1OCtXEXavLNxpWXEvCbDk0511eW8vv1h3C43hmlw+ZxL8bg9Cav7TElTEI7mLigDlxujq5nAthcgOEDG6ltxueO7Ls40DcItewnVbyF4YBv4+wDwlFaTVrkK74LzcWWOPXl3tL+dh3Y+Cph8b8W3eWbP86yedV5ca7aKNAXhaK60dNz5pRidjRjtB/HMqYnbHZGRKweHCNZvJbTvI8y+yJSYu6CctJqr8S5chTtvxrjj9AZ8bKrdTF+wn79edhfVBZVsqFlHhic9LnVbTZqCcDx3UQVG92FwechYdYvl4xu9bXTtfYv+2ncxug4D4MopJL3mGtKqVuMprDjtsQLhAA/ufJT2gQ6+UX0jNcVLACjJHr+ZOIU0BeF4WVdsgCs2WDqmMdhLaN/HBOu3YLTW0weQkYN38WWkVa7GU1qFyzWxtyiGafDI509z8FgjV865jK+UX2hpzYkiTUFMGaYR+SjFgXc3YxypAzMMnnTSFpxP0TmX0zetEpfnzH4kTNPkd3t/z672Lzh35gpuWJi8HzQsTUGkNNMIEW76nGD9FkL7PgbAaNmDp3wp3srVpM1biSs9i5ziPPonscrwD4fe5f3mLVRNX8Adi7+Be4JnGU4iTUGkpHBbA4Ha1wnt/wRzcOiHPXs69HeTdePfk1aywLJ9fXzkM36/73Vm5czkO8vuxutO7h+r5K5eJBVP2SLSAVd69mltn6hwVzNGTyukZzH4x00AuPNL8S5di3fhKoy+TsKH9+DJnzmp/ZxId9bz5Jf/QX76NDbWrCfbm/gFVVaTpiASJq1sMWlli097++kwfJ2E9m2NLDXuOASAK3s6aepSvJWrcc+YO7ys2J0/84z3M5pmXwu/3PUEXncaG1espyBzumVj20magkg6pr+P4P5PCNVvJdyiARO8WXjVJZErB7MWxX1xU9dgNw/UPkLACLCxZj2zc2fFdX+JJE1BJAUzFCB0qDay1PjQTjBC4E4jbd5K0ipXkTanBldaYhYHDYQGeKD2Ebr9Pdy1+BYWFVYlZL+JIk1BOJZpGIQPfxm5cnDgUwgOAC48ZYsiS43nn4srIyehNYWMEL/c9WsO9x3h+gVf5YJZ5yR0/4kgTUE4immaGG0Hji81HugBwF00F2/VKtIWrsKdU2BbbU9++R/s7arn4rILuGruGlvqiDdpCsIRjJ4jBOsjE4ZmzxEAXHnFpJ99fWSeoKDM5grhpf1v8EnrdpYWLeYb1Tc6PhfhTElTELaJhJQMLTWOCSm5InLloGShY37w3m/ewlsH32FuXgXrln4zKW6BPlPSFERCmYEBQg2fEqzbcjykJC2DtMrVeKtW45l9Fi6HLf7Z1f4Fv9UvMiOzkA0130qaux3PlLO++iIlmeEQocado4SULI8sNZ57Ni5vxvgD2aDh2CE2736KbG8WG1esJy89NdPITyRNQcTF8ZCSrQQPfDIipCRtwXm4M50dh3+0v50HayNBKfcu/xYl2c4IiY03aQrCMqZpYnQ2RhpB/dZRQkoucEz68nh6Az4eGA5KuZMF+XPtLilhpCmISTN62yKXEOu3YnRFPs1pOKSkcvXwJz0li0A4wEM7H6NtOCglPklPTiVNQZwRY7CX0P5PCNVtIdxaF9k4yZASJzBMg0c/f4aGY4eSOihlMqQpiNNmBv2EDm4nWL+FcOPuoZASL2kLzsdbuRpPxbIzDilxAtM0+Y+9v2dn++dJH5QyGcn7LygSIhJS8gVH/7IN356PIOQHlwvP7CUxISWp4I+H/sx7KRKUMhnSFMQIpmliHN1HsG4Lof0fD4eUuIsX4K1aTdqC83Fn59tcpbU+OPgxL+57LWWCUiZj6h65GCHcdTjyOQf1WzF72wBw5ZeSvmQtM8+/gu5wal6j39tVz6baJ8hPn8Z9NetSIihlMqQpTHFGX9fQJcQtMSEl3mVXxYSUeAvzIAU/UbvZ18LDO58g3e3lvpp1FGbac7OVk0hTmIJMfx/BA9siVw5OCClJq74kstQ4ASElTnBiUMr/uPRvmOWx/6YrJ5CmMEU4KaTECQZCAzy489HhoJTlpYtpS8EzoTMhTSGFHQ8p2UrowDZHhJQ4QcgI8f92/ZpmXwvXL7gqJYNSJkOaQooxTROjveF4SEl/N3BCSMmCC3DnFtpcpX0iQSnPorvquajsAq6ae7ndJTmOZU1BKZUJ/CuwFhgEtmitv2PV+OLUjJ5WgtErBw4NKXGCl/e/ySetn7G0aBG3pHBQymRYeabwUyLNoFprbSqlrAvXF6My+nsI7f+YYN0WjLb9gHNDSpzg/eYtvHnwbebklbNu6R0pHZQyGZY0BaVULnAXUK61NgG01q1WjC1G59/2PIHtL8eGlFSuxlPuvJASJ5hqQSmTYdV3z0KgA/ixUmoN4AP+Tmv9wclPLCpKzQUwXm/kt05xcWIyAnRWKfkLV5K79BKyq87DnZ4Z930m6tisVt/RwKOfP01uejZ/d/l/oSxv9JPYZD0+q1nVFDzAAmC71vpvlVIXAC8rpSq11sdOfGJHhw/DMC3arXMEg2G8Xk9CLmt9ebCLjw4Vcs/V32MAGOgJAsG47rO4OC8pL9m19Xfw80//HcM0+M6ye/AOZtM2OPI4kvX4Tofb7ZrQL2OrVqgcAkLAMwBa64+AdqDaovHFEMMweeaPdfT7Q3aX4ni9AR+ban9FX7Cfe5bcPqWCUibDkqagtW4H3gGuBFBKVQMlQL0V44vj3qs9TFObjwFpCqcUCAd4eCgo5evVN7BiigWlTIaVM1L3Ao8opf4PkXPZO7XW3RaOP+X1DwZ5/r39Q/8vTWEs0aCUA8cOsXbOV7is/CK7S0oqljUFrfV+4DKrxhMjvfRhA76ByNyBnCmMLhKU8hI72z/nnJIa/mrh1XaXlHRS/66XFNHS0cefPm0a/rvMKYwuEpTyF6qmL+DOs26ZskEpkyFfsSRR39zD9RfNAyA7I03OFEax7ch2Xtz3GqUSlDIp8lVLEpcsL2NHXTsAN126ANM0CYUN0jzS1yESlPLEl78jPz2PjRKUMinSFJJIXVNk3raqPJ85M2WhTdRh3xF+uesJvO40NtSsl6CUSZJfM0mkrqmHrAwP5cWpuSr0THT7e9hUuxl/OMC3l91JRZ7c+DVZ0hSSRCAY5kDLMRbOzsftlpucAAZCgzxQ+wjd/h7uWPSfWVwoa+WsIE0hSTQc6SVsmFSVT7e7FEcIGSF+NRSUct18CUqxkjSFJLG3MTKfUF2eWtHqZ8I0TZ7a8yx7uuq4qOx8vjpPglKsJE0hSdQ19eBxu5g/a5rdpdjulf1v8vGRz1hStIhbqm+SzAiLSVNIAoZhUt/cw7xZeaR7p3YwyPvNW3kjGpSy5JsSlBIH0hSSQHN7HwP+0JSfT4gEpbxA0VBQSmZaht0lpSRpCkkgOp9QNYXnEw4ea+SR3U+R7c1i44r1TEuXdRrxIk0hCRxftDQ1zxTa+jt4oPYRTEzuXX4PM7OL7S4ppUlTcDjTNKlr6qFsRg65WV67y0k4X6CPB2o3R4JSzrqNBfnz7C4p5UlTcLiOY4N09fqn5FuHQDjAQzsf5ehAO1+vuoEVJcvsLmlKkKbgcHVNPcDUm08wTIPHhoJSrphzKZdVSFBKokhTcLi6xqk3nxANSqkdCkq5ceE1dpc0pUhTcLi6ph4K8jKYkR//CHenkKAUe8lX28F8A0Ga2/uoKs+fMqv2trXuOCEo5S4JSrGBNAUHq2+OzidMjbcOe7v28esvfkt+eh73LV9Htjfb7pKmJGkKDlY3hRYtRYJSHsfj9rChZj1FWRKUYhdpCg42VUJVuv09PFD7CP5wgL9eepcEpdhMmoJDTZVQlWhQSpe/m28u+jqLiyQoxW7SFBxqKoSqnByUsmrWuXaXJJCm4FipHqpimiZP73mOPV11XDhLglKcRJrCGWrvGeC1rQcJhY24jB8NVZmXoqEqrxx4i4+OfMqSokXcqiQoxUmkKZyhGflZtHb28/gbeywfezhUpTSPjBQMVfmgeStvNPyJOXmzJSjFgWRlyDje3dHMk2/uHfNxwzRZdVappfscDlWpSL35hF3tX/Cb4aCUdRKU4kBTpim8+P5+XvqwgZ/eu5oZ07PG3R512YrZXLZi9qhjPvHGHoIhgyXzC6mrndx+TnTih76kkuGglLQsNtask6AUh5oyTcFq7T0DFEzL5OoL5lg+dnSSsXJ26jSF9oEOHqx9NBKUUnMPM3NK7C5JjMHyOQWl1I+VUqZSaqnVYzvJjPwsrr9wnuWf5RgNVZlVlE1edrqlY9vFF+hj047N+IJ9EpSSBCz9jlZKrQRWAQetHHcqiYaqVKfIfEIgHOShnY9xdKCdr1VdL0EpScCypqCUygA2ARusGtNur25pYN39b/OpPjrisY6eQdbd/za/eG6npftMpVAVwzR47ItnOHDsIFdUXMqaiovtLkmcBivPFH4CPKm1brBwTFs1HOkFYF7pyLUCB1qOATC31NrJslQJVTFNk2frXqK2bTcrS5ZzY6UEpSQLSyYalVKrgXOBH4733KIie27uycmJXPoqLMqluDB73O0AjW19TMtJZ1HlyPTgox83ArCsuoTi4jy8Q+sJzmQ/J9p/pJfCaZksrix23IKe4uLTb4Av7fkDf276C4uLq/hvl36bdI/zQ2cncnypzKqrD18BFgMHlFIA5cCbSqlvaa3fOvGJHR0+DMO0aLenr6/PD0Bnhw93ODzudt9AkKOd/SydX0hbW++I8b7Y3w7A9Mw02tp6CQbDeL2eCe/nRL6BIIeO9HLeohLa232TOVzLFRfnjfp1GM221h08+fnzlGaXsG7RN+npHAQG41vgJE3k+JKN2+2a0C9jS5qC1vp+4P7o35VSDcB1WuvdVoxvh4OtQ28dZo3+2+PgkV6mZXspyLNu8U00VCWZJxnrhoJSpqXncV/NeglKSUKyzHkMB4fmE+bOHDmfcLR7gL7BEHOsnk9I8kVLh31HeHjXE3jcHu6rWSdBKUkqLouXtNbz4jFuIh0aOlOYWzrytGvXvo7IYzOtnmTsITM9OUNVjgel+Llv+Toq8kZfBSqcT84UxtDS0Y/H7WJGfuyS5GDI4N0dzYC1TSEaqlKZhKEqJwal3C5BKUlPmsIY0jwuwoZJa2f/8DZ/IMyjr31Jc1sfAHNmWvcb/XioSnK9dYgNSvlPrJaglKQn9z6MYcn8Ig609HL/U5+xsrqYwUCYLw92Ul6SS35uOoGgQfE4NzZNRHQ+IZkmGUcGpVxhd0nCAnKmMIbrL5zL2nPKwQUf7mrhcEcfN1w0n3tvWMIxX4A5JbmWriPY25h8oSrRoJSzipQEpaQQOVMYgzfNw+1XVnP7lSPfH2/+obXRYckYqvJh80e80fAnKvJms37JHRKUkkLkTMEBhkNVkmRp8+72L/nN3hcoyixgw3IJSkk10hQcYHh9QoXzJxkPHmtk8+4nyfJksrFmPfkZsjQ41UhTcIDonZFOD1WJBqUYmHx3uQSlpKopM6ewaE5kdV12ZtppbU/UfkzTZG9jt+NDVY75fcNBKeuX3sHC6fPsLknEydRpCnMLWDR35LLbsbYnaj/RUJVLa5z7UWmBcJB/e38zRwfa+XrVDZwtQSkpTd4+2MzpoSrRoJS9Hfu5vOISCUqZAqQp2CzaFJy4aCkSlPIytW27WV1xDjdVXmt3SSIBpCnYrK6xm+m56czIz7S7lBH+1Pgef276kIX589l4wd24XfLtMhXIv7KNfANBmtv7qCqf7rjVgNtad/BC/auUZpfw3eV3J0VykrCGNAUbRUNVnDafcHJQSo4EpUwp0hRsdDxUxTnzCS19rRKUMsVJU7BRXVMkVKWixBmhKt3+Hjbt2Iw/7OfbS+9MWFBKx0AXbx18h7AxenalHZxYU6JIU7BJMBSmwUGhKjFBKeprnFWkErbvoqwC2vrbeXrPcwnb53icWFOiTJnFS05zoKWXUNgZoSphIzwclHLt/CtZXXZeXPbzQfNWfrv3xTEfN0yDc0tXsLgwcclNTqzJbtIUbOKU+QTTNHlqz7NDQSnncfW8teO+5tX9b/Fawx/5yeofUpRVOO72qItnr+Li2atGHfOZPc8RNEIJ/+GL1jRaxPvJNZ3q+MY79mQiTcEmdU2RUJX5ZfaGqrwaDUopVNyqbrbl0mjHQBcFmdNZO+crCd/3WJxYU6JIU7CBYUQ+WdruUJUPmz/i9WhQylL7glKKsgocF+XmxJoSRSYabeCEUJVUCUrZ0rKNjW//gL1d++wuJWVIU7CB3R/6Eg1KyfRkcF+CglLebHibjW//gB1Hd414rHOwi41v/4Bf7nw87nWcXM+7jR+O+nj7QAfff+dH/PSTX2Caif+YQztJU7DBcKiKDU3h5KCU0gQFpRzqjXxWxpxp5SMeO3isCSChHyAzO3cWAIf7joz6+Iv1rxEyw3yt6nrHLUGPN2kKNqhrsidUxRfsY1NtJCjl7rNupXL6/ITtu7G3iVxvDoWZI1dIHuqNNIXyvMRlSkSbQktf64jH9nU3sL1tFytLlk/JMBlpCgnW3jNA5zF/wucTAuEgD+98jKP97dxcdR0rS5YnbN99wX46BrvGPBM4ZMOZQkHmdHLSskc0BdM0ea7+ZdLcady48JqE1eMkcvUhwewIVTFMg8e/eIb9PQe5vOISLq+4JGH7BmgceuswN2/kWweInCnkeXOZnnHqr8n/+su/0DnYNepj/7b94RHbLig9h7vOumXM8cpyS6nr3k/XYDfFROZVtrXu4OCxRq6cc1nSrzc4U9IUEmy4KSQoVMU0TZ6re5kdbbs5u2S5LUEp0bcHFaPMJ7QPdNAfGuCswvGXVa+puJiB4EDMtiZfCzvbP+eC0nMoOumtyXhvR8pzy6jr3k9LXyvVVBAMB3lp/xvkeXO5ap61n+2RTKQpJFhdUzf5uekUJyhU5e3G93m36UMW5s/j7sW32BKU0tR7GICK3JFvD3Z37AFObz5htDOcLS3b2Nn+OatmnUt1wcIJ1VV20mTjO40f0DnYxW3qZrLSnBd6kygyp5BAvoEgzW19VCcoVOXT1h08X/8KM7NL+O7ye/DaFJRypP8oHpdnxG3YQSPEh80fAYmdT4gqj042+lrpGTzGmwffoSynlAvLzk94LU5iyZmCUqoI+DWwEAgAdcB3tdZtVoyfKhIZqlLXtZ8nhoJSNtasszUoJc2VRtgMc7S/jZLsYgD84QBP73l2+Lf0aGcR8TYrZyZul5uWvlZ+t/sVBsOD3Fx13ZSPnbPq7YMJ/FRr/S6AUupnwP3AeovGTwmJugkqEpTyOG63hw0137J9wmxxUTUHexv5188eoqZ4Kf6wH91Zz+zcWeSn5xEwgsywoUavx0tJ1gya+1po3N/M0qJFU+puyLFY0hK11p3RhjBkKzDXirFTSSJCVU4OSpkzxox/In117uVcVn4RLmBryzaO9LVy9fy1fGvJ7RwL+CjPLbNtgdDs3FmEjBAu4KbK62ypwWksn2hUSrmBDcBLoz1eVOSMlCGreYdubCouHn3JcCAYpqGll+WVM5g5Mz53Rg4EB/nZ24/T5e/m3vPu5LIF51o6fvTYslsj90kUFuVSnHP8eMfaDnBf6R2jjvnbWx6YVE03FK/hhuVrzvj1/33Nvaf93FMd36keSzbxuPrwC8AH/PtoD3Z0+DCM1FtLHgyG8Xo9I+7Jj9rb2E0obDC3JGfM50xG2Ajz4M5Haehu4pr5V7Isb5ml+zkxb6C/zw9AZ4cPV//xVZljbU8Go+UpnOxUx+fkY3e7XRP6ZWxpU1BK/RyoAq7XWhtWjp3s4jmfYJomT+95ji8797J61nlccxpBKUKMxbKmoJT6Z+Ac4Fqttd+qcVNFPENVXj3wB7Ye2cbiwmpusykoRaQOqy5JLgF+BOwF/qKUAjigtb7JivGTnWFGQlXmxiFU5cPDH/F6wx+pyC3j2wkKSqkqWMg1QFZa1mltTxWnOr5UOnZLmoLW+nNAfj2NobktEqpSbfFbh8879vAb/QKFmQVsqFlHZoJW4VUXLBx19eBY21PFqY4vlY59aq/SSJB4hKocOtbEr4aCUjbWrCM/w96sR5E6pCkkQPQmqIUWNYX2gU4e2PkIhmkMBaXMtGRcIUCaQkJEQ1WmWRCq4gv28UDtZnyBxAeliKlBmkKcdfQMDoWqTP4sIRqU0trfxs2V1yY0KEVMHdIU4myvResTTgxKWVNxMZfPudSK8oQYQZpCnFkVqvJ83SuRoJTiZdwsa/RFHElTiDMrQlXePvQe7zR9EAlKOevWKX9rr4gv+e6Ko77BSKhK1SRCVT5treU5BwSliKlDmkIcRd86VJ/hJGMkKOU35KXn2h6UIqYOaQpxNJmboE4MSrlv+Trbg1LE1CFNIY6ioSrlJTkTel1sUModo36qkhDxIk0hToKhMA0tx1g4Ox+P+/S/zIOhQR6sfZQufze3qZtZUrQojlUKMZI0hTg50NJLKGxOaNFS2Ajzq91P0uQ7zDXz1k75VGFhD2kKcRKdTzjdOyNN0+RpHQlKWTXrXK6Zf2U8yxNiTNIU4mSioSqvHfgDW1siQSm3q69JUIqwjTSFOJhoqMpfDn/Maw1/pDyBQSlCjEWaQhwcHgpVOZ35hM879vCMfp6CjOncl8CgFCHGIk0hDk73JqhoUEqGJ4O/WbFeglKEI0hTiIPoSsbKU5wpdESDUoww90pQinAQaQpxMF6oSl+wn021m+kN+Lh7yW0SlCIcRZqCxcYLVQmGgzw0HJRynQSlCMeRpmCxU93vYJgGj33xG/b3NLCm/GIur7gk0eUJMS5pChbbe4pQlefrX2FH2y5WFC/j5qrrZC2CcCRpChYbK1Tl7UPv8U7jByyQoBThcPKdaaGwYY4aqvLZ0Z08X/8qM7OL+e7yu0mXoBThYNIULNQ/GARiP/SlvvsAj3/xG3LTc7ivZj253ondRi1EoklTsFDfQKQpRG+COtLXysM7H8PtcnPf8nXMkKAUkQSkKViofzA0HKrS4z/GptpHGAz7Wb/kmxKUIpKGNAWLmKbJgD/Ewtn5BI0AD9Y+QudgF7eqm1g6Y7Hd5Qlx2qQpWGQgEMY0TRbOzuVXu5+k0XeYq+et5aKyC+wuTYgJseSj6AGUUtXA40AR0AHcpbWus2p8pxvwhwBoytgaCUopPZdrJShFJCErzxQeAjZprauBTcDDFo7teAP+EK6MAb7s3RkJSlkkQSkiOVnSFJRSJcBK4JmhTc8AK5VSxVaM73SGaTIQ7sOVPihBKSLpWfX2oQJo1lqHAbTWYaXU4aHtbSc+8a23XsWNH4YeAAAEvElEQVTn81m0W2cIhQ2yzCCm38usphLeOPyS3SVZzuv1EAyG7S4jblL5+HJzc7nttltO+/mWzSmcLq/Xg/c0IsqSidfrISs9AxOTrIwMu8uJm1T7dztZqh7fRI/LqqbQCMxWSnmGzhI8QNnQ9hhr1nwVwzAt2q1zvPji7/B6PVx77dfsLiUuiovzaGvrtbuMuEnl43O7Jza3Zcmcgtb6KLADuG1o023Adq1129ivEkI4kZVvH+4FHldK/T3QBdxl4dhCiASxrClorfcAslJHiCQnKxqFEDGkKQghYkhTEELEkKYghIghTUEIEUOaghAihjQFIUQMaQpCiBjSFIQQMaQpCCFiSFMQQsSQpiCEiCFNQQgRQ5qCECKGNAUhRAxpCkKIGNIUhBAxpCkIIWJIUxBCxJCmIISIIU1BCBFDmoIQIoY0BSFEDGkKQogY0hSEEDGkKQghYkhTEELEkKYghIghTUEIEUOaghAihjQFIUSMtMkOoJTaBFwB+AEf8H2t9bbJjiuEsIcVZwqvA8u01jXAvwC/tWBMIYRNJn2moLV+5YS/bgHKlVJurbVx0lM9AG63a7K7dKTc3Fy8Xk/KHh+k7r9dVKoe3wnH5Tmd57tM07Rs50qpHwM1WuubR3n4YuB9y3YmhJioS4APxnvSuGcKSqnPgDljPDxTax0eet6twO3ApWM895OholqA8Hj7FUJYxgPMIvIzOC5LzhSUUjcBPweu0Fo3THpAIYRtrLj6cB3wf4ErpSEIkfwmfaaglGoDAkDbCZuv0Fp3jPH8lLuEqZSqBh4HioAO4C6tdZ29VVlDKVUE/BpYSOTfuQ74rta67ZQvTDJD82H/QORK2m6by7GMUioT+FdgLTAIbNFaf+dUr7Hi6kPxBF/yOvBftdbBobOM3xL5hktmDwGbtNZPKqXuAB4GLre5JquYwE+11u8CKKV+BtwPrLezKCsppVYCq4CDdtcSBz8l0gyqtdamUmrmeC+w9OrDRA39FjoMZI1yCTMpKKVKgL1AkdY6rJTyEDlbqEq136YASqmvARu01mvtrsUKSqkM4F3gtqE/r0uVMwWlVC7QBJRrrX2n+zq7lzn/DfBqsjaEIRVAc/QqzNCfh4e2pxSllBvYALxkdy0W+gnwZIrOhy0k8gvqx0qpbUqpd5VSF4/3okm/fTiZhZcwhfP8gsg80L/bXYgVlFKrgXOBH9pdS5x4gAXAdq313yqlLgBeVkpVaq2PjfUiy5uC1nrleM8ZuoT5v4lMSLZaXUOCNQKzlVKeE94+lA1tTxlKqZ8DVcD1SX5md6KvAIuBA0opgHLgTaXUt7TWb9lamTUOASHgGQCt9UdKqXagGhhzcj/hbx9OuIR5VSqcsmmtjwI7iLwnZejP7ak0n6CU+mfgHOBGrbXf7nqsorW+X2tdprWep7WeR+T991Up0hDQWrcD7wBXwvBVshKg/lSvS/hE40QvYSYDpdQiIpckC4AuIpcktb1VWUMptQTYTWQydWBo8wGt9U32VRUfSqkGUmiiEUAptQB4hMjl8iDwP7XWr5/qNbZefRBCOI/dVx+EEA4jTUEIEUOaghAihjQFIUQMaQpCiBjSFIQQMaQpCCFiSFMQQsT4/3IipQFHSzUDAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,1,6]\n", + "v = [0,0,4,2]\n", + "u_bis = [1,6,v[2],v[3]]\n", + "w = [0,0,5,8]\n", + "plt.quiver([u[0], u_bis[0], w[0]],\n", + " [u[1], u_bis[1], w[1]],\n", + " [u[2], u_bis[2], w[2]],\n", + " [u[3], u_bis[3], w[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=sns.color_palette())\n", + "# plt.rc('text', usetex=True)\n", + "plt.xlim(-2, 6)\n", + "plt.ylim(-2, 9)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.text(-1, 3.5, r'$||\\vec{u}||$', color=sns.color_palette()[0], size=20)\n", + "plt.text(2.5, 7.5, r'$||\\vec{v}||$', color=sns.color_palette()[1], size=20)\n", + "plt.text(2, 2, r'$||\\vec{u}+\\vec{v}||$', color=sns.color_palette()[2], size=20)\n", + "\n", + "plt.show()\n", + "plt.close()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " Geometrically, this simply means that the shortest path between two points is a line\n", + "\n", + "\n", + "# P-norms: general rules\n", + "\n", + "Here is the recipe to get the $p$-norm of a vector:\n", + "\n", + "1. Calculate the absolute value of each element\n", + "2. Take the power $p$ of these absolute values\n", + "3. Sum all these powered absolute values\n", + "4. Take the power $\\frac{1}{p}$ of this result\n", + "\n", + "This is more condensly expressed with the formula:\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_p=(\\sum_i|\\bs{x}_i|^p)^{1/p}\n", + "$$\n", + "\n", + "This will be clear with examples using these widely used $p$-norms." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The $L^1$ norm\n", + "\n", + "$p=1$ so this norm is simply the sum of the absolute values:\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_1=\\sum_{i} |\\bs{x}_i|\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The Euclidean norm ($L^2$ norm)\n", + "\n", + "The Euclidean norm is the $p$-norm with $p=2$. This may be the more used norm with the squared $L^2$ norm.\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_2=(\\sum_i \\bs{x}_i^2)^{1/2}\\Leftrightarrow \\sqrt{\\sum_i \\bs{x}_i^2}\n", + "$$\n", + "\n", + "Let's see an example of this norm:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2.\n", + "\n", + "Graphically, the Euclidean norm corresponds to the length of the vector from the origin to the point obtained by linear combination (like applying Pythagorean theorem).\n", + "\n", + "$$\n", + "\\bs{u}=\n", + "\\begin{bmatrix}\n", + " 3 \\\\\\\\\n", + " 4\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\norm{\\bs{u}}_2 &=\\sqrt{|3|^2+|4|^2}\\\\\\\\\n", + "&=\\sqrt{25}\\\\\\\\\n", + "&=5\n", + "\\end{align*}\n", + "$$\n", + "\n", + "\n", + "So the $L^2$ norm is $5$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The $L^2$ norm can be calculated with the `linalg.norm` function from numpy. We can check the result:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5.0" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm([3, 4])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is the graphical representation of the vectors:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,3,4]\n", + "\n", + "plt.quiver([u[0]],\n", + " [u[1]],\n", + " [u[2]],\n", + " [u[3]],\n", + " angles='xy', scale_units='xy', scale=1)\n", + "\n", + "plt.xlim(-2, 4)\n", + "plt.ylim(-2, 5)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.annotate('', xy = (3.2, 0), xytext = (3.2, 4),\n", + " arrowprops=dict(edgecolor='black', arrowstyle = '<->'))\n", + "plt.annotate('', xy = (0, -0.2), xytext = (3, -0.2),\n", + " arrowprops=dict(edgecolor='black', arrowstyle = '<->'))\n", + "\n", + "plt.text(1, 2.5, r'$\\vec{u}$', size=18)\n", + "plt.text(3.3, 2, r'$\\vec{u}_y$', size=18)\n", + "plt.text(1.5, -1, r'$\\vec{u}_x$', size=18)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, the vector is in a 2-dimensional space but this stands also for more dimensions.\n", + "\n", + "$$\n", + "u=\n", + "\\begin{bmatrix}\n", + " u_1\\\\\\\\\n", + " u_2\\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " u_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "||u||_2 = \\sqrt{u_1^2+u_2^2+\\cdots+u_n^2}\n", + "$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The squared Euclidean norm (squared $L^2$ norm)\n", + "\n", + "$$\n", + "\\sum_i|\\bs{x}_i|^2\n", + "$$\n", + "\n", + "\n", + "The squared $L^2$ norm is convenient because it removes the square root and we end up with the simple sum of every squared values of the vector. \n", + "\n", + "The squared Euclidean norm is widely used in machine learning partly because it can be calculated with the vector operation $\\bs{x}^\\text{T}\\bs{x}$. There can be performance gain due to the optimization See [here](https://softwareengineering.stackexchange.com/questions/312445/why-does-expressing-calculations-as-matrix-multiplications-make-them-faster) and [here](https://www.quora.com/What-makes-vector-operations-faster-than-for-loops) for more details.\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 5 \\\\\\\\\n", + " 3 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}^\\text{T}=\n", + "\\begin{bmatrix}\n", + " 2 & 5 & 3 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x}^\\text{T}\\bs{x}&=\n", + "\\begin{bmatrix}\n", + " 2 & 5 & 3 & 3\n", + "\\end{bmatrix} \\times\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 5 \\\\\\\\\n", + " 3 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\\\\\\\\\n", + "&= 2\\times 2 + 5\\times 5 + 3\\times 3 + 3\\times 3= 47\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [5],\n", + " [3],\n", + " [3]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([[2], [5], [3], [3]])\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[47]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "euclideanNorm = x.T.dot(x)\n", + "euclideanNorm" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "47.0" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(x)**2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It works!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Derivative of the squared $L^2$ norm\n", + "\n", + "Another advantage of the squared $L^2$ norm is that its partial derivative is easily computed:\n", + "\n", + "$$\n", + "u=\n", + "\\begin{bmatrix}\n", + " u_1\\\\\\\\\n", + " u_2\\\\\\\\\n", + " \\cdots \\\\\\\\\n", + " u_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\norm{u}_2 = u_1^2+u_2^2+\\cdots+u_n^2\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "\\dfrac{d\\norm{u}_2}{du_1} = 2u_1\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_2} = 2u_2\\\\\\\\\n", + "\\cdots\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_n} = 2u_n\n", + "\\end{cases}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Derivative of the $L^2$ norm\n", + "\n", + "In the case of the $L^2$ norm, the derivative is more complicated and takes every elements of the vector into account:\n", + "\n", + "$$\n", + "\\norm{u}_2 = \\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)} = (u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\dfrac{d\\norm{u}_2}{du_1} &=\n", + "\\dfrac{1}{2}(u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}-1}\\cdot\n", + "\\dfrac{d}{du_1}(u_1^2+u_2^2+\\cdots+u_n^2)\\\\\\\\\n", + "&=\\dfrac{1}{2}(u_1^2+u_2^2+\\cdots+u_n^2)^{-\\frac{1}{2}}\\cdot\n", + "\\dfrac{d}{du_1}(u_1^2+u_2^2+\\cdots+u_n^2)\\\\\\\\\n", + "&=\\dfrac{1}{2}\\cdot\\dfrac{1}{(u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}}}\\cdot\n", + "\\dfrac{d}{du_1}(u_1^2+u_2^2+\\cdots+u_n^2)\\\\\\\\\n", + "&=\\dfrac{1}{2}\\cdot\\dfrac{1}{(u_1^2+u_2^2+\\cdots+u_n^2)^{\\frac{1}{2}}}\\cdot\n", + "2\\cdot u_1\\\\\\\\\n", + "&=\\dfrac{u_1}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\end{align*}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "\\dfrac{d\\norm{u}_2}{du_1} = \\dfrac{u_1}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_2} = \\dfrac{u_2}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\cdots\\\\\\\\\n", + "\\dfrac{d\\norm{u}_2}{du_n} = \\dfrac{u_n}{\\sqrt{(u_1^2+u_2^2+\\cdots+u_n^2)}}\\\\\\\\\n", + "\\end{cases}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "One problem of the squared $L^2$ norm is that it hardly discriminates between 0 and small values because the increase of the function is slow.\n", + "\n", + "We can see this by graphically comparing the squared $L^2$ norm with the $L^2$ norm. The $z$-axis corresponds to the norm and the $x$- and $y$-axis correspond to two parameters. The same thing is true with more than 2 dimensions but it would be hard to visualize it.\n", + "\n", + "$L^2$ norm:\n", + "\n", + "\n", + "The L2 norm\n", + "\n", + "Squared $L^2$ norm:\n", + "\n", + "\n", + "The squared L2 norm\n", + "\n", + "$L^1$ norm:\n", + "\n", + "\n", + "The L1 norm\n", + "\n", + "These plots are done with the help of this [website](https://academo.org/demos/3d-surface-plotter/). Go and plot these norms if you need to move them in order to catch their shape." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The max norm\n", + "\n", + "It is the $L^\\infty$ norm and corresponds to the absolute value of the greatest element of the vector.\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_\\infty = \\max\\limits_i|x_i|\n", + "$$\n", + "\n", + "# Matrix norms: the Frobenius norm\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\sum_{i,j}A^2_{i,j}}\n", + "$$\n", + "\n", + "This is equivalent to take the $L^2$ norm of the matrix after flattening.\n", + "\n", + "The same Numpy function can be use:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [6, 4],\n", + " [3, 2]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[1, 2], [6, 4], [3, 2]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8.366600265340756" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Expression of the dot product with norms\n", + "\n", + "$$\n", + "\\bs{x}^\\text{T}\\bs{y} = \\norm{\\bs{x}}_2\\cdot\\norm{\\bs{y}}_2\\cos\\theta\n", + "$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 0 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and \n", + "\n", + "$$\n", + "\\bs{y}=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = [0,0,0,2]\n", + "y = [0,0,2,2]\n", + "\n", + "plt.xlim(-2, 4)\n", + "plt.ylim(-2, 5)\n", + "plt.axvline(x=0, color='grey', zorder=0)\n", + "plt.axhline(y=0, color='grey', zorder=0)\n", + "\n", + "plt.quiver([x[0], y[0]],\n", + " [x[1], y[1]],\n", + " [x[2], y[2]],\n", + " [x[3], y[3]],\n", + " angles='xy', scale_units='xy', scale=1)\n", + "\n", + "plt.text(-0.5, 1, r'$\\vec{x}$', size=18)\n", + "plt.text(1.5, 0.5, r'$\\vec{y}$', size=18)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We took this example for its simplicity. As we can see, the angle $\\theta$ is equal to 45°." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\bs{x^\\text{T}y}=\n", + "\\begin{bmatrix}\n", + " 0 & 2\n", + "\\end{bmatrix} \\cdot\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 2\n", + "\\end{bmatrix} =\n", + "0\\times2+2\\times2 = 4\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\norm{\\bs{x}}_2=\\sqrt{0^2+2^2}=\\sqrt{4}=2\n", + "$$\n", + "\n", + "$$\n", + "\\norm{\\bs{y}}_2=\\sqrt{2^2+2^2}=\\sqrt{8}\n", + "$$\n", + "\n", + "$$\n", + "2\\times\\sqrt{8}\\times cos(45)=4\n", + "$$\n", + "\n", + "Here are the operations using numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.000000000000001" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Note: np.cos take the angle in radian\n", + "np.cos(np.deg2rad(45))*2*np.sqrt(8)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "- https://en.wikipedia.org/wiki/Norm_(mathematics)\n", + "\n", + "- [3D plots](https://academo.org/demos/3d-surface-plotter/)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.05 Norms/images/l1-norm.png b/Chapters/2.05 Norms/images/l1-norm.png new file mode 100644 index 0000000..a03246f Binary files /dev/null and b/Chapters/2.05 Norms/images/l1-norm.png differ diff --git a/Chapters/2.05 Norms/images/l2-norm.png b/Chapters/2.05 Norms/images/l2-norm.png new file mode 100644 index 0000000..b195185 Binary files /dev/null and b/Chapters/2.05 Norms/images/l2-norm.png differ diff --git a/Chapters/2.05 Norms/images/squared-L2-Norm.png b/Chapters/2.05 Norms/images/squared-L2-Norm.png new file mode 100644 index 0000000..62654fb Binary files /dev/null and b/Chapters/2.05 Norms/images/squared-L2-Norm.png differ diff --git a/Chapters/2.06 Special Kinds of Matrices and Vectors/.ipynb_checkpoints/2.6 Special Kinds of Matrices and Vectors-checkpoint.ipynb b/Chapters/2.06 Special Kinds of Matrices and Vectors/.ipynb_checkpoints/2.6 Special Kinds of Matrices and Vectors-checkpoint.ipynb new file mode 100644 index 0000000..f0be3eb --- /dev/null +++ b/Chapters/2.06 Special Kinds of Matrices and Vectors/.ipynb_checkpoints/2.6 Special Kinds of Matrices and Vectors-checkpoint.ipynb @@ -0,0 +1,1059 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot parameters\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "plt.rcParams['xtick.major.size'] = 0\n", + "plt.rcParams['ytick.major.size'] = 0\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We have seen in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) some interesting kind of matrices. We will see other type of vectors and matrices in this chapter. It is not a big chapter but it is important to understand the next ones.\n", + "\n", + "# 2.6 Special Kinds of Matrices and Vectors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Example of diagonal and symmetric matrices\n", + "\n", + "\n", + "# Diagonal matrices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Example of a diagonal matrix\n", + "\n", + "A matrix $\\bs{A}_{i,j}$ is diagonal if its entries are all zeros except on the diagonal (when $i=j$).\n", + "\n", + "### Example 1.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "In this case the matrix is also square but there can be non square diagonal matrices.\n", + "\n", + "### Example 2.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0\\\\\\\\\n", + " 0 & 0 & 3\\\\\\\\\n", + " 0 & 0 & 0\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Or\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The diagonal matrix can be denoted $diag(\\bs{v})$ where $\\bs{v}$ is the vector containing the diagonal values.\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "In this matrix, $\\bs{v}$ is the following vector:\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 4\\\\\\\\\n", + " 3\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The Numpy function `diag()` can be used to create square diagonal matrices:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 0, 0, 0],\n", + " [0, 4, 0, 0],\n", + " [0, 0, 3, 0],\n", + " [0, 0, 0, 1]])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([2, 4, 3, 1])\n", + "np.diag(v)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The mutliplication between a diagonal matrix and a vector is thus just a ponderation of each element of the vector by $v$:\n", + "\n", + "### Example 4.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\bs{Dx}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix} \\times\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\\begin{bmatrix}\n", + " 2\\times3 + 0\\times2 + 0\\times2 + 0\\times7\\\\\\\\\n", + " 0\\times3 + 4\\times2 + 0\\times2 + 0\\times7\\\\\\\\\n", + " 0\\times3 + 0\\times2 + 3\\times2 + 0\\times7\\\\\\\\\n", + " 0\\times3 + 0\\times2 + 0\\times2 + 1\\times7\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 2\\times3\\\\\\\\\n", + " 4\\times2\\\\\\\\\n", + " 3\\times2\\\\\\\\\n", + " 1\\times7\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Non square matrices have the same properties:\n", + "\n", + "### Example 5.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0\\\\\\\\\n", + " 0 & 0 & 3\\\\\\\\\n", + " 0 & 0 & 0\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{Dx}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0\\\\\\\\\n", + " 0 & 0 & 3\\\\\\\\\n", + " 0 & 0 & 0\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " 2\\times3\\\\\\\\\n", + " 4\\times2\\\\\\\\\n", + " 3\\times2\\\\\\\\\n", + " 0\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The invert of a square diagonal matrix exists if all entries of the diagonal are non-zeros. If it is the case, the invert is easy to find. Also, the inverse doen't exist if the matrix is non-square.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{D}^{-1}=\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} & 0 & 0 & 0\\\\\\\\\n", + " 0 & \\frac{1}{4} & 0 & 0\\\\\\\\\n", + " 0 & 0 & \\frac{1}{3} & 0\\\\\\\\\n", + " 0 & 0 & 0 & \\frac{1}{1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} & 0 & 0 & 0\\\\\\\\\n", + " 0 & \\frac{1}{4} & 0 & 0\\\\\\\\\n", + " 0 & 0 & \\frac{1}{3} & 0\\\\\\\\\n", + " 0 & 0 & 0 & \\frac{1}{1}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 1 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 1 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 1 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's check with Numpy that the multiplication of the matrix with its invert gives us the identity matrix:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 0, 0, 0],\n", + " [0, 4, 0, 0],\n", + " [0, 0, 3, 0],\n", + " [0, 0, 0, 1]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 0, 0, 0], [0, 4, 0, 0], [0, 0, 3, 0], [0, 0, 0, 1]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.5 , 0. , 0. , 0. ],\n", + " [0. , 0.25 , 0. , 0. ],\n", + " [0. , 0. , 0.33333333, 0. ],\n", + " [0. , 0. , 0. , 1. ]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_inv = np.array([[1/2., 0, 0, 0], [0, 1/4., 0, 0], [0, 0, 1/3., 0], [0, 0, 0, 1/1.]])\n", + "A_inv" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0., 0.],\n", + " [0., 1., 0., 0.],\n", + " [0., 0., 1., 0.],\n", + " [0., 0., 0., 1.]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.dot(A_inv)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Great! This gives the identity matrix" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Symmetric matrices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Illustration of a symmetric matrix\n", + "\n", + "The matrix $A$ is symmetric if it is equal to its transpose:\n", + " \n", + "$$\n", + "\\bs{A} = \\bs{A}^\\text{T}\n", + "$$\n", + "\n", + "This concerns only square matrices.\n", + "\n", + "### Example 6.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & 4 & -1\\\\\\\\\n", + " 4 & -8 & 0\\\\\\\\\n", + " -1 & 0 & 3\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, 4, -1],\n", + " [ 4, -8, 0],\n", + " [-1, 0, 3]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 4, -1], [4, -8, 0], [-1, 0, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, 4, -1],\n", + " [ 4, -8, 0],\n", + " [-1, 0, 3]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Unit vectors\n", + "\n", + "A unit vector is a vector of length equal to 1. It can be denoted by a letter with a hat: $\\hat{u}$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Orthogonal vectors\n", + "\n", + "Two orthogonal vectors are separated by a 90° angle. The dot product of two orthogonal vectors gives 0.\n", + "\n", + "### Example 7." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = [0,0,2,2]\n", + "y = [0,0,2,-2]\n", + "\n", + "plt.quiver([x[0], y[0]],\n", + " [x[1], y[1]],\n", + " [x[2], y[2]],\n", + " [x[3], y[3]],\n", + " angles='xy', scale_units='xy', scale=1)\n", + "\n", + "plt.xlim(-2, 4)\n", + "plt.ylim(-3, 3)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.text(1, 1.5, r'$\\vec{u}$', size=18)\n", + "plt.text(1.5, -1, r'$\\vec{v}$', size=18)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\bs{x}= \n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{y}=\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}y}=\n", + "\\begin{bmatrix}\n", + " 2 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -2\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2\\times2 + 2\\times-2\n", + "\\end{bmatrix}=0\n", + "$$\n", + "\n", + "In addition, when the norm of orthogonal vectors is the unit norm they are called **orthonormal**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " It is impossible to have more than $n$ vectors mutually orthogonal in $\\mathbb{R}^n$.\n", + "\n", + "\n", + "It is impossible to have more than $n$ vectors mutually orthogonal in $\\mathbb{R}^n$. For instance try to draw 3 vectors in a 2-dimensional space ($\\mathbb{R}^2$) that are mutually orthogonal...\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Orthogonal matrices\n", + "\n", + "Orthogonal matrices are important because they have interesting properties. A matrix is orthogonal if columns are mutually orthogonal and have a unit norm (orthonormal) and rows are mutually orthonormal and have unit norm. \n", + "\n", + "\n", + "\n", + "Under the hood of an orthogonal matrix\n", + "\n", + "$$\n", + "\\bs{A}= \n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2}\\\\\\\\\n", + " A_{2,1} & A_{2,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This means that \n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1}\\\\\\\\\n", + " A_{2,1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and \n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,2}\\\\\\\\\n", + " A_{2,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "are orthogonal vectors and also that the rows\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{2,1} & A_{2,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "are orthogonal vectors (cf. above for definition of orthogonal vectors)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Property 1: $\\bs{A^\\text{T}A}=\\bs{I}$\n", + "\n", + "\n", + "A orthogonal matrix has this property:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\\bs{AA^\\text{T}}=\\bs{I}\n", + "$$\n", + "\n", + "We can see that this statement is true with the following reasoning:\n", + "\n", + "Let's have the following matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and thus\n", + "\n", + "$$\n", + "\\bs{A}^\\text{T}=\\begin{bmatrix}\n", + " a & c\\\\\\\\\n", + " b & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's do the product:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\bs{A^\\text{T}A}=\\begin{bmatrix}\n", + " a & c\\\\\\\\\n", + " b & d\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " aa + cc & ab + cd\\\\\\\\\n", + " ab + cd & bb + dd\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " a^2 + c^2 & ab + cd\\\\\\\\\n", + " ab + cd & b^2 + d^2\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "We saw in [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/) that the norm of the vector $\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix}$ is equal to $a^2+c^2$ ($L^2$ or squared $L^2$). In addtion, we saw that the rows of $\\bs{A}$ have a unit norm because $\\bs{A}$ is orthogonal. This means that $a^2+c^2=1$ and $b^2+d^2=1$. So we now have:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\n", + "\\begin{bmatrix}\n", + " 1 & ab + cd\\\\\\\\\n", + " ab + cd & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Also, $ab+cd$ corresponds to the product of $\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix} and \\begin{bmatrix}\n", + " b & d\n", + "\\end{bmatrix}$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " b\\\\\\\\\n", + " d\n", + "\\end{bmatrix}\n", + "=\n", + "ab+cd\n", + "$$\n", + "\n", + "And we know that the columns are orthogonal which means that:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " b\\\\\\\\\n", + " d\n", + "\\end{bmatrix}=0\n", + "$$\n", + "\n", + "We thus have the identity matrix:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\\begin{bmatrix}\n", + " 1 & 0\\\\\\\\\n", + " 0 & 1\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Property 2: $\\bs{A}^\\text{T}=\\bs{A}^{-1}$\n", + "\n", + "We can show that if $\\bs{A^\\text{T}A}=\\bs{I}$ then $\n", + "\\bs{A}^\\text{T}=\\bs{A}^{-1}$.\n", + "\n", + "If we multiply each side of the equation $\\bs{A^\\text{T}A}=\\bs{I}$ by $\\bs{A}^{-1}$ we have:\n", + "\n", + "$$\n", + "(\\bs{A^\\text{T}A})\\bs{A}^{-1}=\\bs{I}\\bs{A}^{-1}\n", + "$$\n", + "\n", + "Recall from [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) that a matrix or vector doesn't change when it is multiplied by the identity matrix. So we have:\n", + "\n", + "$$\n", + "(\\bs{A^\\text{T}A})\\bs{A}^{-1}=\\bs{A}^{-1}\n", + "$$\n", + "\n", + "We also saw in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/) that matrix multiplication is associative so we can remove the parenthesis:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}\\bs{A}^{-1}=\\bs{A}^{-1}\n", + "$$\n", + "\n", + "We also know that $\\bs{A}\\bs{A}^{-1}=\\bs{I}$ (see [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/)) so we can replace:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}}\\bs{I}=\\bs{A}^{-1}\n", + "$$\n", + "\n", + "This shows that\n", + "\n", + "$$\\bs{A}^\\text{T}=\\bs{A}^{-1}$$\n", + "\n", + "You can refer to [this question](https://math.stackexchange.com/questions/1936020/why-is-the-inverse-of-an-orthogonal-matrix-equal-to-its-transpose).\n", + "\n", + "### Example 8.\n", + "\n", + "Sine and cosine are convenient to create orthogonal matrices. Let's take the following matrix:\n", + "\n", + "$$\n", + "\\bs{A}= \n", + "\\begin{bmatrix}\n", + " cos(50) & -sin(50)\\\\\\\\\n", + " sin(50) & cos(50)\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.96496603, 0.26237485],\n", + " [-0.26237485, 0.96496603]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[np.cos(50), -np.sin(50)], [np.sin(50), np.cos(50)]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "col0 = A[:, [0]]\n", + "col1 = A[:, [1]]\n", + "row0 = A[0].reshape(A.shape[1], 1)\n", + "row1 = A[1].reshape(A.shape[1], 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check that rows and columns are orthogonal:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "col0.T.dot(col1)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "row0.T.dot(row1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check that\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\\bs{AA^\\text{T}}=\\bs{I}\n", + "$$\n", + "\n", + "and thus\n", + "\n", + "$$\n", + "\\bs{A}^\\text{T}=\\bs{A}^{-1}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0.],\n", + " [0., 1.]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.T.dot(A)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.96496603, -0.26237485],\n", + " [ 0.26237485, 0.96496603]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.T" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.96496603, -0.26237485],\n", + " [ 0.26237485, 0.96496603]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "numpy.linalg.inv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Everything is correct!\n", + "\n", + "# Conclusion\n", + "\n", + "In this chapter we saw different interesting type of matrices with specific properties. It is generally useful to recall them while we deal with this kind of matrices.\n", + "\n", + "In the next chapter we will saw a central idea in linear algebra: the eigendecomposition. Keep reading!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "## Inverse and transpose of orthogonal matrix\n", + "\n", + "- https://math.stackexchange.com/questions/1936020/why-is-the-inverse-of-an-orthogonal-matrix-equal-to-its-transpose\n", + "\n", + "- https://dyinglovegrape.wordpress.com/2010/11/30/the-inverse-of-an-orthogonal-matrix-is-its-transpose/" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.06 Special Kinds of Matrices and Vectors/2.6 Special Kinds of Matrices and Vectors.ipynb b/Chapters/2.06 Special Kinds of Matrices and Vectors/2.6 Special Kinds of Matrices and Vectors.ipynb new file mode 100644 index 0000000..f0be3eb --- /dev/null +++ b/Chapters/2.06 Special Kinds of Matrices and Vectors/2.6 Special Kinds of Matrices and Vectors.ipynb @@ -0,0 +1,1059 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot parameters\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "plt.rcParams['xtick.major.size'] = 0\n", + "plt.rcParams['ytick.major.size'] = 0\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We have seen in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) some interesting kind of matrices. We will see other type of vectors and matrices in this chapter. It is not a big chapter but it is important to understand the next ones.\n", + "\n", + "# 2.6 Special Kinds of Matrices and Vectors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Example of diagonal and symmetric matrices\n", + "\n", + "\n", + "# Diagonal matrices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Example of a diagonal matrix\n", + "\n", + "A matrix $\\bs{A}_{i,j}$ is diagonal if its entries are all zeros except on the diagonal (when $i=j$).\n", + "\n", + "### Example 1.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "In this case the matrix is also square but there can be non square diagonal matrices.\n", + "\n", + "### Example 2.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0\\\\\\\\\n", + " 0 & 0 & 3\\\\\\\\\n", + " 0 & 0 & 0\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Or\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The diagonal matrix can be denoted $diag(\\bs{v})$ where $\\bs{v}$ is the vector containing the diagonal values.\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "In this matrix, $\\bs{v}$ is the following vector:\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 4\\\\\\\\\n", + " 3\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The Numpy function `diag()` can be used to create square diagonal matrices:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 0, 0, 0],\n", + " [0, 4, 0, 0],\n", + " [0, 0, 3, 0],\n", + " [0, 0, 0, 1]])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([2, 4, 3, 1])\n", + "np.diag(v)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The mutliplication between a diagonal matrix and a vector is thus just a ponderation of each element of the vector by $v$:\n", + "\n", + "### Example 4.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\bs{Dx}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix} \\times\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\\\\\\\\\n", + " 7\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\\begin{bmatrix}\n", + " 2\\times3 + 0\\times2 + 0\\times2 + 0\\times7\\\\\\\\\n", + " 0\\times3 + 4\\times2 + 0\\times2 + 0\\times7\\\\\\\\\n", + " 0\\times3 + 0\\times2 + 3\\times2 + 0\\times7\\\\\\\\\n", + " 0\\times3 + 0\\times2 + 0\\times2 + 1\\times7\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 2\\times3\\\\\\\\\n", + " 4\\times2\\\\\\\\\n", + " 3\\times2\\\\\\\\\n", + " 1\\times7\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Non square matrices have the same properties:\n", + "\n", + "### Example 5.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0\\\\\\\\\n", + " 0 & 0 & 3\\\\\\\\\n", + " 0 & 0 & 0\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{Dx}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0\\\\\\\\\n", + " 0 & 0 & 3\\\\\\\\\n", + " 0 & 0 & 0\n", + "\\end{bmatrix}\n", + "\\times\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " 2\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " 2\\times3\\\\\\\\\n", + " 4\\times2\\\\\\\\\n", + " 3\\times2\\\\\\\\\n", + " 0\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The invert of a square diagonal matrix exists if all entries of the diagonal are non-zeros. If it is the case, the invert is easy to find. Also, the inverse doen't exist if the matrix is non-square.\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{D}^{-1}=\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} & 0 & 0 & 0\\\\\\\\\n", + " 0 & \\frac{1}{4} & 0 & 0\\\\\\\\\n", + " 0 & 0 & \\frac{1}{3} & 0\\\\\\\\\n", + " 0 & 0 & 0 & \\frac{1}{1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 2 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 4 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 3 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " \\frac{1}{2} & 0 & 0 & 0\\\\\\\\\n", + " 0 & \\frac{1}{4} & 0 & 0\\\\\\\\\n", + " 0 & 0 & \\frac{1}{3} & 0\\\\\\\\\n", + " 0 & 0 & 0 & \\frac{1}{1}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 1 & 0 & 0 & 0\\\\\\\\\n", + " 0 & 1 & 0 & 0\\\\\\\\\n", + " 0 & 0 & 1 & 0\\\\\\\\\n", + " 0 & 0 & 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's check with Numpy that the multiplication of the matrix with its invert gives us the identity matrix:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 0, 0, 0],\n", + " [0, 4, 0, 0],\n", + " [0, 0, 3, 0],\n", + " [0, 0, 0, 1]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 0, 0, 0], [0, 4, 0, 0], [0, 0, 3, 0], [0, 0, 0, 1]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.5 , 0. , 0. , 0. ],\n", + " [0. , 0.25 , 0. , 0. ],\n", + " [0. , 0. , 0.33333333, 0. ],\n", + " [0. , 0. , 0. , 1. ]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_inv = np.array([[1/2., 0, 0, 0], [0, 1/4., 0, 0], [0, 0, 1/3., 0], [0, 0, 0, 1/1.]])\n", + "A_inv" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0., 0.],\n", + " [0., 1., 0., 0.],\n", + " [0., 0., 1., 0.],\n", + " [0., 0., 0., 1.]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.dot(A_inv)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Great! This gives the identity matrix" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Symmetric matrices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Illustration of a symmetric matrix\n", + "\n", + "The matrix $A$ is symmetric if it is equal to its transpose:\n", + " \n", + "$$\n", + "\\bs{A} = \\bs{A}^\\text{T}\n", + "$$\n", + "\n", + "This concerns only square matrices.\n", + "\n", + "### Example 6.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & 4 & -1\\\\\\\\\n", + " 4 & -8 & 0\\\\\\\\\n", + " -1 & 0 & 3\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, 4, -1],\n", + " [ 4, -8, 0],\n", + " [-1, 0, 3]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 4, -1], [4, -8, 0], [-1, 0, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, 4, -1],\n", + " [ 4, -8, 0],\n", + " [-1, 0, 3]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Unit vectors\n", + "\n", + "A unit vector is a vector of length equal to 1. It can be denoted by a letter with a hat: $\\hat{u}$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Orthogonal vectors\n", + "\n", + "Two orthogonal vectors are separated by a 90° angle. The dot product of two orthogonal vectors gives 0.\n", + "\n", + "### Example 7." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = [0,0,2,2]\n", + "y = [0,0,2,-2]\n", + "\n", + "plt.quiver([x[0], y[0]],\n", + " [x[1], y[1]],\n", + " [x[2], y[2]],\n", + " [x[3], y[3]],\n", + " angles='xy', scale_units='xy', scale=1)\n", + "\n", + "plt.xlim(-2, 4)\n", + "plt.ylim(-3, 3)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.text(1, 1.5, r'$\\vec{u}$', size=18)\n", + "plt.text(1.5, -1, r'$\\vec{v}$', size=18)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\bs{x}= \n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{y}=\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}y}=\n", + "\\begin{bmatrix}\n", + " 2 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -2\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2\\times2 + 2\\times-2\n", + "\\end{bmatrix}=0\n", + "$$\n", + "\n", + "In addition, when the norm of orthogonal vectors is the unit norm they are called **orthonormal**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " It is impossible to have more than $n$ vectors mutually orthogonal in $\\mathbb{R}^n$.\n", + "\n", + "\n", + "It is impossible to have more than $n$ vectors mutually orthogonal in $\\mathbb{R}^n$. For instance try to draw 3 vectors in a 2-dimensional space ($\\mathbb{R}^2$) that are mutually orthogonal...\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Orthogonal matrices\n", + "\n", + "Orthogonal matrices are important because they have interesting properties. A matrix is orthogonal if columns are mutually orthogonal and have a unit norm (orthonormal) and rows are mutually orthonormal and have unit norm. \n", + "\n", + "\n", + "\n", + "Under the hood of an orthogonal matrix\n", + "\n", + "$$\n", + "\\bs{A}= \n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2}\\\\\\\\\n", + " A_{2,1} & A_{2,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This means that \n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1}\\\\\\\\\n", + " A_{2,1}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and \n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,2}\\\\\\\\\n", + " A_{2,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "are orthogonal vectors and also that the rows\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{1,1} & A_{1,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " A_{2,1} & A_{2,2}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "are orthogonal vectors (cf. above for definition of orthogonal vectors)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Property 1: $\\bs{A^\\text{T}A}=\\bs{I}$\n", + "\n", + "\n", + "A orthogonal matrix has this property:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\\bs{AA^\\text{T}}=\\bs{I}\n", + "$$\n", + "\n", + "We can see that this statement is true with the following reasoning:\n", + "\n", + "Let's have the following matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and thus\n", + "\n", + "$$\n", + "\\bs{A}^\\text{T}=\\begin{bmatrix}\n", + " a & c\\\\\\\\\n", + " b & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's do the product:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\bs{A^\\text{T}A}=\\begin{bmatrix}\n", + " a & c\\\\\\\\\n", + " b & d\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " aa + cc & ab + cd\\\\\\\\\n", + " ab + cd & bb + dd\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " a^2 + c^2 & ab + cd\\\\\\\\\n", + " ab + cd & b^2 + d^2\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "We saw in [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/) that the norm of the vector $\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix}$ is equal to $a^2+c^2$ ($L^2$ or squared $L^2$). In addtion, we saw that the rows of $\\bs{A}$ have a unit norm because $\\bs{A}$ is orthogonal. This means that $a^2+c^2=1$ and $b^2+d^2=1$. So we now have:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\n", + "\\begin{bmatrix}\n", + " 1 & ab + cd\\\\\\\\\n", + " ab + cd & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Also, $ab+cd$ corresponds to the product of $\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix} and \\begin{bmatrix}\n", + " b & d\n", + "\\end{bmatrix}$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " b\\\\\\\\\n", + " d\n", + "\\end{bmatrix}\n", + "=\n", + "ab+cd\n", + "$$\n", + "\n", + "And we know that the columns are orthogonal which means that:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " a & c\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " b\\\\\\\\\n", + " d\n", + "\\end{bmatrix}=0\n", + "$$\n", + "\n", + "We thus have the identity matrix:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\\begin{bmatrix}\n", + " 1 & 0\\\\\\\\\n", + " 0 & 1\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Property 2: $\\bs{A}^\\text{T}=\\bs{A}^{-1}$\n", + "\n", + "We can show that if $\\bs{A^\\text{T}A}=\\bs{I}$ then $\n", + "\\bs{A}^\\text{T}=\\bs{A}^{-1}$.\n", + "\n", + "If we multiply each side of the equation $\\bs{A^\\text{T}A}=\\bs{I}$ by $\\bs{A}^{-1}$ we have:\n", + "\n", + "$$\n", + "(\\bs{A^\\text{T}A})\\bs{A}^{-1}=\\bs{I}\\bs{A}^{-1}\n", + "$$\n", + "\n", + "Recall from [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) that a matrix or vector doesn't change when it is multiplied by the identity matrix. So we have:\n", + "\n", + "$$\n", + "(\\bs{A^\\text{T}A})\\bs{A}^{-1}=\\bs{A}^{-1}\n", + "$$\n", + "\n", + "We also saw in [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/) that matrix multiplication is associative so we can remove the parenthesis:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}\\bs{A}^{-1}=\\bs{A}^{-1}\n", + "$$\n", + "\n", + "We also know that $\\bs{A}\\bs{A}^{-1}=\\bs{I}$ (see [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/)) so we can replace:\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}}\\bs{I}=\\bs{A}^{-1}\n", + "$$\n", + "\n", + "This shows that\n", + "\n", + "$$\\bs{A}^\\text{T}=\\bs{A}^{-1}$$\n", + "\n", + "You can refer to [this question](https://math.stackexchange.com/questions/1936020/why-is-the-inverse-of-an-orthogonal-matrix-equal-to-its-transpose).\n", + "\n", + "### Example 8.\n", + "\n", + "Sine and cosine are convenient to create orthogonal matrices. Let's take the following matrix:\n", + "\n", + "$$\n", + "\\bs{A}= \n", + "\\begin{bmatrix}\n", + " cos(50) & -sin(50)\\\\\\\\\n", + " sin(50) & cos(50)\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.96496603, 0.26237485],\n", + " [-0.26237485, 0.96496603]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[np.cos(50), -np.sin(50)], [np.sin(50), np.cos(50)]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "col0 = A[:, [0]]\n", + "col1 = A[:, [1]]\n", + "row0 = A[0].reshape(A.shape[1], 1)\n", + "row1 = A[1].reshape(A.shape[1], 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check that rows and columns are orthogonal:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "col0.T.dot(col1)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "row0.T.dot(row1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check that\n", + "\n", + "$$\n", + "\\bs{A^\\text{T}A}=\\bs{AA^\\text{T}}=\\bs{I}\n", + "$$\n", + "\n", + "and thus\n", + "\n", + "$$\n", + "\\bs{A}^\\text{T}=\\bs{A}^{-1}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0.],\n", + " [0., 1.]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.T.dot(A)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.96496603, -0.26237485],\n", + " [ 0.26237485, 0.96496603]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.T" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.96496603, -0.26237485],\n", + " [ 0.26237485, 0.96496603]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "numpy.linalg.inv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Everything is correct!\n", + "\n", + "# Conclusion\n", + "\n", + "In this chapter we saw different interesting type of matrices with specific properties. It is generally useful to recall them while we deal with this kind of matrices.\n", + "\n", + "In the next chapter we will saw a central idea in linear algebra: the eigendecomposition. Keep reading!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "## Inverse and transpose of orthogonal matrix\n", + "\n", + "- https://math.stackexchange.com/questions/1936020/why-is-the-inverse-of-an-orthogonal-matrix-equal-to-its-transpose\n", + "\n", + "- https://dyinglovegrape.wordpress.com/2010/11/30/the-inverse-of-an-orthogonal-matrix-is-its-transpose/" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.06 Special Kinds of Matrices and Vectors/images/diagonal-and-symmetric-matrices.png b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/diagonal-and-symmetric-matrices.png new file mode 100644 index 0000000..bb18cfc Binary files /dev/null and b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/diagonal-and-symmetric-matrices.png differ diff --git a/Chapters/2.06 Special Kinds of Matrices and Vectors/images/diagonal-matrix.png b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/diagonal-matrix.png new file mode 100644 index 0000000..73b112f Binary files /dev/null and b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/diagonal-matrix.png differ diff --git a/Chapters/2.06 Special Kinds of Matrices and Vectors/images/orthogonal-matrix.png b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/orthogonal-matrix.png new file mode 100644 index 0000000..14fae87 Binary files /dev/null and b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/orthogonal-matrix.png differ diff --git a/Chapters/2.06 Special Kinds of Matrices and Vectors/images/symmetric-matrix.png b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/symmetric-matrix.png new file mode 100644 index 0000000..9d93dc2 Binary files /dev/null and b/Chapters/2.06 Special Kinds of Matrices and Vectors/images/symmetric-matrix.png differ diff --git a/Chapters/2.07 Eigendecomposition/.ipynb_checkpoints/2.7 Eigendecomposition-checkpoint.ipynb b/Chapters/2.07 Eigendecomposition/.ipynb_checkpoints/2.7 Eigendecomposition-checkpoint.ipynb new file mode 100644 index 0000000..d0c4017 --- /dev/null +++ b/Chapters/2.07 Eigendecomposition/.ipynb_checkpoints/2.7 Eigendecomposition-checkpoint.ipynb @@ -0,0 +1,2026 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We will see some major concepts of linear algebra in this chapter. It is also quite heavy so hang on! We will start with getting some ideas on eigenvectors and eigenvalues. We will develop on the idea that a matrix can be seen as a linear transformation and that applying a matrix on its eigenvectors gives new vectors with the same direction. Then we will see how to express quadratic equations into the matrix form. We will see that the eigendecomposition of the matrix corresponding to a quadratic equation can be used to find the minimum and maximum of this function. As a bonus, we will also see how to visualize linear transformations in Python!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.7 Eigendecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The eigendecomposition is one form of matrix decomposition. Decomposing a matrix means that we want to find a product of matrices that is equal to the initial matrix. In the case of the eigendecomposition, we decompose the initial matrix into the product of its eigenvectors and eigenvalues. Before all, let's see what are eigenvectors and eigenvalues.\n", + "\n", + "# Matrices as linear transformations\n", + "\n", + "As we have seen in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) with the example of the identity matrix, you can think of matrices as linear transformations. Some matrices will rotate your space, others will rescale it etc. So when we apply a matrix to a vector, we end up with a transformed version of the vector. When we say that we 'apply' the matrix to the vector it means that we calculate the dot product of the matrix with the vector. We will start with a basic example of this kind of transformation.\n", + "\n", + "### Example 1." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-1, 3],\n", + " [ 2, -2]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[-1, 3], [2, -2]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [1]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([[2], [1]])\n", + "v" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's plot this vector:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 4)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plotVectors([v.flatten()], cols=['#1190FF'])\n", + "plt.ylim(-1, 4)\n", + "plt.xlim(-1, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we will apply the matrix $\\bs{A}$ to this vector and plot the old vector (light blue) and the new one (orange):" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1]\n", + " [2]]\n" + ] + }, + { + "data": { + "text/plain": [ + "(-1, 4)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Av = A.dot(v)\n", + "print(Av)\n", + "plotVectors([v.flatten(), Av.flatten()], cols=['#1190FF', '#FF9A13'])\n", + "plt.ylim(-1, 4)\n", + "plt.xlim(-1, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that applying the matrix $\\bs{A}$ has the effect of modifying the vector.\n", + "\n", + "Now that you can think of matrices as linear transformation recipes, let's see the case of a very special type of vector: the eigenvector." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Eigenvectors and eigenvalues\n", + "\n", + "We have seen an example of a vector transformed by a matrix. Now imagine that the transformation of the initial vector gives us a new vector that has the exact same direction. The scale can be different but the direction is the same. Applying the matrix didn't change the direction of the vector. This special vector is called an eigenvector of the matrix. We will see that finding the eigenvectors of a matrix can be very useful.\n", + "\n", + "\n", + " Imagine that the transformation of the initial vector by the matrix gives a new vector with the exact same direction. This vector is called an eigenvector of $\\bs{A}$.\n", + "\n", + "\n", + "This means that $\\bs{v}$ is a eigenvector of $\\bs{A}$ if $\\bs{v}$ and $\\bs{Av}$ are in the same direction or to rephrase it if the vectors $\\bs{Av}$ and $\\bs{v}$ are parallel. The output vector is just a scaled version of the input vector. This scalling factor is $\\lambda$ which is called the **eigenvalue** of $\\bs{A}$.\n", + "\n", + "$$\n", + "\\bs{Av} = \\lambda\\bs{v}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2.\n", + "\n", + "Let's $\\bs{A}$ be the following matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We know that one eigenvector of A is:\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can check that $\\bs{Av} = \\lambda\\bs{v}$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}=\\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can see that:\n", + "\n", + "$$\n", + "6\\times \\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix} = \\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "which means that $\\bs{v}$ is well an eigenvector of $\\bs{A}$. Also, the corresponding eigenvalue is $\\lambda=6$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can represent $\\bs{v}$ and $\\bs{Av}$ to check if their directions are the same:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 1],\n", + " [3, 3]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[5, 1], [3, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1],\n", + " [1]])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([[1], [1]])\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 7)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Av = A.dot(v)\n", + "\n", + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + "\n", + "plotVectors([Av.flatten(), v.flatten()], cols=[blue, orange])\n", + "plt.ylim(-1, 7)\n", + "plt.xlim(-1, 7)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that their directions are the same!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another eigenvector of $\\bs{A}$ is\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "because\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix} = \\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "2 \\times \\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So the corresponding eigenvalue is $\\lambda=2$." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1],\n", + " [-3]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([[1], [-3]])\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 3)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Av = A.dot(v)\n", + "\n", + "plotVectors([Av.flatten(), v.flatten()], cols=[blue, orange])\n", + "plt.ylim(-7, 1)\n", + "plt.xlim(-1, 3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This example shows that the eigenvectors $\\bs{v}$ are vectors that change only in scale when we apply the matrix $\\bs{A}$ to them. Here the scales were 6 for the first eigenvector and 2 to the second but $\\lambda$ can take any real or even complex value." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Find eigenvalues and eigenvectors in Python\n", + "\n", + "Numpy provides a function returning eigenvectors and eigenvalues (the first array corresponds to the eigenvalues and the second to the eigenvectors concatenated in columns):\n", + "\n", + "```python\n", + "(array([ 6., 2.]), array([[ 0.70710678, -0.31622777],\n", + " [ 0.70710678, 0.9486833 ]]))\n", + "```\n", + "\n", + "Here a demonstration with the preceding example." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 1],\n", + " [3, 3]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[5, 1], [3, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([6., 2.]), array([[ 0.70710678, -0.31622777],\n", + " [ 0.70710678, 0.9486833 ]]))" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the eigenvalues are the same than the ones we used before: 6 and 2 (first array).\n", + "\n", + "The eigenvectors correspond to the columns of the second array. This means that the eigenvector corresponding to $\\lambda=6$ is:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 0.70710678\\\\\\\\\n", + " 0.70710678\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The eigenvector corresponding to $\\lambda=2$ is:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -0.31622777\\\\\\\\\n", + " 0.9486833\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The eigenvectors look different because they have not necessarly the same scaling than the ones we gave in the example. We can easily see that the first corresponds to a scaled version of our $\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}$. But the same property stands. We have still $\\bs{Av} = \\lambda\\bs{v}$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.70710678\\\\\\\\\n", + " 0.70710678\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 4.24264069\\\\\\\\\n", + " 4.24264069\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "With $0.70710678 \\times 6 = 4.24264069$. So there are an infinite number of eigenvectors corresponding to the eigenvalue $6$. They are equivalent because we are interested by their directions.\n", + "\n", + "For the second eigenvector we can check that it corresponds to a scaled version of $\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}$. We can draw these vectors and see if they are parallel." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 3)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "v = np.array([[1], [-3]])\n", + "Av = A.dot(v)\n", + "v_np = [-0.31622777, 0.9486833]\n", + "\n", + "plotVectors([Av.flatten(), v.flatten(), v_np], cols=[blue, orange, 'blue'])\n", + "plt.ylim(-7, 1)\n", + "plt.xlim(-1, 3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the vector found with Numpy (in dark blue) is a scaled version of our preceding $\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Rescaled vectors\n", + "\n", + "As we saw it with numpy, if $\\bs{v}$ is an eigenvector of $\\bs{A}$, then any rescaled vector $s\\bs{v}$ is also an eigenvector of $\\bs{A}$. The eigenvalue of the rescaled vector is the same.\n", + "\n", + "Let's try to rescale\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "from our preceding example. \n", + "\n", + "For instance,\n", + "\n", + "$$\n", + "\\bs{3v}=\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " -9\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " -9\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 18\n", + "\\end{bmatrix} = 2 \\times\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " -9\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We have well $\\bs{A}\\times 3\\bs{v} = \\lambda\\bs{v}$ and the eigenvalue is still $\\lambda=2$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Concatenating eigenvalues and eigenvectors\n", + "\n", + "Now that we have an idea of what eigenvectors and eigenvalues are we can see how it can be used to decompose a matrix. All eigenvectors of a matrix $\\bs{A}$ can be concatenated in a matrix with each column corresponding to each eigenvector (like in the second array return by `np.linalg.eig(A)`):\n", + "\n", + "$$\n", + "\\bs{V}=\n", + "\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The first column $\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$ corresponds to $\\lambda=6$ and the second $\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}\n", + "$ to $\\lambda=2$.\n", + "\n", + "The vector $\\bs{\\lambda}$ can be created from all eigenvalues:\n", + "\n", + "$$\n", + "\\bs{\\lambda}=\n", + "\\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Then the eigendecomposition is given by\n", + "\n", + "$$\n", + "\\bs{A}=\\bs{V}\\cdot diag(\\bs{\\lambda}) \\cdot \\bs{V}^{-1}\n", + "$$\n", + "\n", + "\n", + " We can decompose the matrix $\\bs{A}$ with eigenvectors and eigenvalues. It is done with: $\\bs{A}=\\bs{V}\\cdot diag(\\bs{\\lambda}) \\cdot \\bs{V}^{-1}$\n", + "\n", + "\n", + "$diag(\\bs{v})$ is a diagonal matrix (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)) containing all the eigenvalues. Continuing with our example we have\n", + "\n", + "$$\n", + "\\bs{V}=\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The diagonal matrix is all zeros except the diagonal that is our vector $\\bs{\\lambda}$.\n", + "\n", + "$$\n", + "diag(\\bs{v})=\n", + "\\begin{bmatrix}\n", + " 6 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The inverse matrix of $\\bs{V}$ can be calculated with numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 1],\n", + " [ 1, -3]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V = np.array([[1, 1], [1, -3]])\n", + "V" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.75, 0.25],\n", + " [ 0.25, -0.25]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V_inv = np.linalg.inv(V)\n", + "V_inv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So let's plug\n", + "\n", + "$$\n", + "\\bs{V}^{-1}=\\begin{bmatrix}\n", + " 0.75 & 0.25\\\\\\\\\n", + " 0.25 & -0.25\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "into our equation:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\bs{V}\\cdot diag(\\bs{\\lambda}) \\cdot \\bs{V}^{-1}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.75 & 0.25\\\\\\\\\n", + " 0.25 & -0.25\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "If we do the dot product of the first two matrices we have:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 6 & -6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So with replacing into the equation:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 6 & -6\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.75 & 0.25\\\\\\\\\n", + " 0.25 & -0.25\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 6\\times0.75 + (2\\times0.25) & 6\\times0.25 + (2\\times-0.25)\\\\\\\\\n", + " 6\\times0.75 + (-6\\times0.25) & 6\\times0.25 + (-6\\times-0.25)\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}=\n", + "\\bs{A}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Let's check our result with Python:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[6, 0],\n", + " [0, 2]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lambdas = np.diag([6,2])\n", + "lambdas" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5., 1.],\n", + " [3., 3.]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V.dot(lambdas).dot(V_inv)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That confirms our previous calculation. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Real symmetric matrix\n", + "\n", + "In the case of real symmetric matrices (more details about symmetric matrices in [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)), the eigendecomposition can be expressed as\n", + "\n", + "$$\n", + "\\bs{A} = \\bs{Q}\\Lambda \\bs{Q}^\\text{T}\n", + "$$\n", + "\n", + "where $\\bs{Q}$ is the matrix with eigenvectors as columns and $\\Lambda$ is $diag(\\lambda)$.\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This matrix is symmetric because $\\bs{A}=\\bs{A}^\\text{T}$. Its eigenvectors are:\n", + "\n", + "$$\n", + "\\bs{Q}=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and its eigenvalues put in a diagonal matrix gives:\n", + "\n", + "$$\n", + "\\bs{\\Lambda}=\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So let's begin to calculate $\\bs{Q\\Lambda}$:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Q\\Lambda}&=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 0.89442719 \\times 7 & -0.4472136\\times 2\\\\\\\\\n", + " 0.4472136 \\times 7 & 0.89442719\\times 2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 6.26099033 & -0.8944272\\\\\\\\\n", + " 3.1304952 & 1.78885438\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "with:\n", + "\n", + "$$\n", + "\\bs{Q}^\\text{T}=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & 0.4472136\\\\\\\\\n", + " -0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Q\\Lambda} \\bs{Q}^\\text{T}&=\n", + "\\begin{bmatrix}\n", + " 6.26099033 & -0.8944272\\\\\\\\\n", + " 3.1304952 & 1.78885438\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.89442719 & 0.4472136\\\\\\\\\n", + " -0.4472136 & 0.89442719\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "It works! For that reason, it can useful to use symmetric matrices! Let's do the same things easily with `linalg` from numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[6, 2],\n", + " [2, 3]])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[6, 2], [2, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.89442719, -0.4472136 ],\n", + " [ 0.4472136 , 0.89442719]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals, eigVecs = np.linalg.eig(A)\n", + "eigVecs" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[7., 0.],\n", + " [0., 2.]])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals = np.diag(eigVals)\n", + "eigVals" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[6., 2.],\n", + " [2., 3.]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVecs.dot(eigVals).dot(eigVecs.T)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the result corresponds to our initial matrix." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Quadratic form to matrix form\n", + "\n", + "Eigendecomposition can be used to optimize quadratic functions. We will see that when $\\bs{x}$ takes the values of an eigenvector, $f(\\bs{x})$ takes the value of its corresponding eigenvalue.\n", + "\n", + "\n", + " When $\\bs{x}$ takes the values of an eigenvector, $f(\\bs{x})$ takes the value of its corresponding eigenvalue.\n", + "\n", + "\n", + "We will see in the following points how we can show that with different methods.\n", + "\n", + "Let's have the following quadratic equation:\n", + "\n", + "$$\n", + "f(\\bs{x}) = ax_1^2 +(b+c)x_1x_2 + dx_2^2\n", + "$$\n", + "\n", + "These quadratic forms can be generated by matrices:\n", + "\n", + "$$\n", + "f(\\bs{x})= \\begin{bmatrix}\n", + " x_1 & x_2\n", + "\\end{bmatrix}\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix} = \\bs{x^\\text{T}Ax}\n", + "$$\n", + "\n", + "with:\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We call them matrix forms. This form is useful to do various things on the quadratic equation like constrained optimization (see bellow).\n", + "\n", + "\n", + " Quadratic equations can be expressed under the matrix form\n", + "\n", + "\n", + "If you look at the relation between these forms you can see that $a$ gives you the number of $x_1^2$, $(b + c)$ the number of $x_1x_2$ and $d$ the number of $x_2^2$. This means that the same quadratic form can be obtained from infinite number of matrices $\\bs{A}$ by changing $b$ and $c$ while preserving their sum.\n", + "\n", + "### Example 4.\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & 4\\\\\\\\\n", + " 2 & 5\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "gives the following quadratic form:\n", + "\n", + "$$\n", + "2x_1^2 + (4+2)x_1x_2 + 5x_2^2\\\\\\\\=2x_1^2 + 6x_1x_2 + 5x_2^2\n", + "$$\n", + "\n", + "but if:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & -3\\\\\\\\\n", + " 9 & 5\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "we still have the quadratic same form:\n", + "\n", + "$$\n", + "2x_1^2 + (-3+9)x_1x_2 + 5x_2^2\\\\\\\\=2x_1^2 + 6x_1x_2 + 5x_2^2\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 5\n", + "\n", + "For this example, we will go from the matrix form to the quadratic form using a symmetric matrix $\\bs{A}$. Let's use the matrix of the example 3.\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\\bs{A}=\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}&=\n", + "\\begin{bmatrix}\n", + " x_1 & x_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " x_1 & x_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 x_1 + 2 x_2\\\\\\\\\n", + " 2 x_1 + 3 x_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "x_1(6 x_1 + 2 x_2) + x_2(2 x_1 + 3 x_2)\\\\\\\\\n", + "&=\n", + "6 x_1^2 + 4 x_1x_2 + 3 x_2^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Our quadratic equation is thus $6 x_1^2 + 4 x_1x_2 + 3 x_2^2$.\n", + "\n", + "### Note\n", + "\n", + "If $\\bs{A}$ is a diagonal matrix (all 0 except the diagonal), the quadratic form of $\\bs{x^\\text{T}Ax}$ will have no cross term. Take the following matrix form:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "If $\\bs{A}$ is diagonal, then $b$ and $c$ are 0 and since $f(\\bs{x}) = ax_1^2 +(b+c)x_1x_2 + dx_2^2$ there is no cross term. A quadratic form without cross term is called diagonal form since it comes from a diagonal matrix." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Change of variable \n", + "\n", + "A change of variable (or linear substitution) simply means that we replace a variable by another one. We will see that it can be used to remove the cross terms in our quadratic equation. Without the cross term, it will then be easier to characterize the function and eventually optimize it (i.e finding its maximum or minimum).\n", + "\n", + "## With the quadratic form\n", + "\n", + "### Example 6.\n", + "\n", + "Let's take again our previous quadratic form:\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}Ax} = 6 x_1^2 + 4 x_1x_2 + 3 x_2^2\n", + "$$\n", + "\n", + "The change of variable will concern $x_1$ and $x_2$. We can replace $x_1$ with any combination of $y_1$ and $y_2$ and $x_2$ with any combination $y_1$ and $y_2$. We will of course end up with a new equation. The nice thing is that we can find a specific substitution that will lead to a simplification of our statement. Specifically, it can be used to get rid of the cross term (in our example: $4 x_1x_2$). We will see later why it is interesting.\n", + "\n", + "Actually, the right substitution is given by the eigenvectors of the matrix used to generate the quadratic form. Let's recall that the matrix form of our equation is:\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\\bs{A}=\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and that the eigenvectors of $\\bs{A}$ are:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "With the purpose of simplification, we can replace these values with:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " \\frac{2}{\\sqrt{5}} & -\\frac{1}{\\sqrt{5}}\\\\\\\\\n", + " \\frac{1}{\\sqrt{5}} & \\frac{2}{\\sqrt{5}}\n", + "\\end{bmatrix} =\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2 & -1\\\\\\\\\n", + " 1 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So our first eigenvector is:\n", + "\n", + "$$\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and our second eigenvector is:\n", + "\n", + "$$\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " -1\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The change of variable will lead to:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix} =\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2 & -1\\\\\\\\\n", + " 1 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " y_1\\\\\\\\\n", + " y_2\n", + "\\end{bmatrix} =\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2y_1 - y_2\\\\\\\\\n", + " y_1 + 2y_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "so we have\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "x_1 = \\frac{1}{\\sqrt{5}}(2y_1 - y_2)\\\\\\\\\n", + "x_2 = \\frac{1}{\\sqrt{5}}(y_1 + 2y_2)\n", + "\\end{cases}\n", + "$$\n", + "\n", + "So far so good! Let's replace that in our example:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}\n", + "&=\n", + "6 x_1^2 + 4 x_1x_2 + 3 x_2^2\\\\\\\\\n", + "&=\n", + "6 [\\frac{1}{\\sqrt{5}}(2y_1 - y_2)]^2 + 4 [\\frac{1}{\\sqrt{5}}(2y_1 - y_2)\\frac{1}{\\sqrt{5}}(y_1 + 2y_2)] + 3 [\\frac{1}{\\sqrt{5}}(y_1 + 2y_2)]^2\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}[6 (2y_1 - y_2)^2 + 4 (2y_1 - y_2)(y_1 + 2y_2) + 3 (y_1 + 2y_2)^2]\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}[6 (4y_1^2 - 4y_1y_2 + y_2^2) + 4 (2y_1^2 + 4y_1y_2 - y_1y_2 - 2y_2^2) + 3 (y_1^2 + 4y_1y_2 + 4y_2^2)]\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}(24y_1^2 - 24y_1y_2 + 6y_2^2 + 8y_1^2 + 16y_1y_2 - 4y_1y_2 - 8y_2^2 + 3y_1^2 + 12y_1y_2 + 12y_2^2)\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}(35y_1^2 + 10y_2^2)\\\\\\\\\n", + "&=\n", + "7y_1^2 + 2y_2^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "That's great! Our new equation doesn't have any cross terms!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## With the Principal Axes Theorem\n", + "\n", + "Actually there is a simpler way to do the change of variable. We can stay in the matrix form. Recall that we start with the form:\n", + "\n", + "\n", + "$$\n", + "f(\\bs{x})=\\bs{x^\\text{T}Ax}\n", + "$$\n", + "\n", + "\n", + "The linear substitution can be wrote in these terms. We want replace the variables $\\bs{x}$ by $\\bs{y}$ that relates by:\n", + "\n", + "\n", + "$$\n", + "\\bs{x}=P\\bs{y}\n", + "$$\n", + "\n", + "\n", + "We want to find $P$ such as our new equation (after the change of variable) doesn't contain the cross terms. The first step is to replace that in the first equation:\n", + "\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}\n", + "&=\n", + "(\\bs{Py})^\\text{T}\\bs{A}(\\bs{Py})\\\\\\\\\n", + "&=\n", + "\\bs{y}^\\text{T}(\\bs{P}^\\text{T}\\bs{AP})\\bs{y}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "\n", + "Can you see the how to transform the left hand side ($\\bs{x}$) into the right hand side ($\\bs{y}$)? The substitution is done by replacing $\\bs{A}$ with $\\bs{P^\\text{T}AP}$. We also know that $\\bs{A}$ is symmetric and thus that there is a diagonal matrix $\\bs{D}$ containing the eigenvectors of $\\bs{A}$ and such as $\\bs{D}=\\bs{P}^\\text{T}\\bs{AP}$. We thus end up with:\n", + "\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}Ax}=\\bs{y^\\text{T}\\bs{D} y}\n", + "$$\n", + "\n", + "\n", + "\n", + " We can use $\\bs{D}$ to simplify our quadratic equation and remove the cross terms\n", + "\n", + "\n", + "All of this implies that we can use $\\bs{D}$ to simplify our quadratic equation and remove the cross terms. If you remember from example 2 we know that the eigenvalues of $\\bs{A}$ are:\n", + "\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}\n", + "&=\n", + "\\bs{y^\\text{T}\\bs{D} y}\\\\\\\\\n", + "&=\n", + "\\bs{y}^\\text{T}\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\bs{y}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " y_1 & y_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " y_1\\\\\\\\\n", + " y_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 7y_1 +0y_2 & 0y_1 + 2y_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " y_1\\\\\\\\\n", + " y_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "7y_1^2 + 2y_2^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "\n", + "That's nice! If you look back to the change of variable that we have done in the quadratic form, you will see that we have found the same values!\n", + "\n", + "This form (without cross-term) is called the **principal axes form**.\n", + "\n", + "### Summary\n", + "\n", + "To summarise, the principal axes form can be found with\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}Ax} = \\lambda_1y_1^2 + \\lambda_2y_2^2\n", + "$$\n", + "\n", + "where $\\lambda_1$ is the eigenvalue corresponding to the first eigenvector and $\\lambda_2$ the eigenvalue corresponding to the second eigenvector (second column of $\\bs{x}$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Finding f(x) with eigendecomposition\n", + "\n", + "We will see that there is a way to find $f(\\bs{x})$ with eigenvectors and eigenvalues when $\\bs{x}$ is a unit vector. \n", + "\n", + "Let's start from:\n", + "\n", + "$$\n", + "f(\\bs{x}) =\\bs{x^\\text{T}Ax}\n", + "$$\n", + "\n", + "We know that if $\\bs{x}$ is an eigenvector of $\\bs{A}$ and $\\lambda$ the corresponding eigenvalue, then $\n", + "\\bs{Ax}=\\lambda \\bs{x}\n", + "$. By replacing the term in the last equation we have:\n", + "\n", + "$$\n", + "f(\\bs{x}) =\\bs{x^\\text{T}\\lambda x} = \\bs{x^\\text{T}x}\\lambda\n", + "$$\n", + "\n", + "Since $\\bs{x}$ is a unit vector, $\\norm{\\bs{x}}_2=1$ and $\\bs{x^\\text{T}x}=1$ (cf. [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/) Norms). We end up with\n", + "\n", + "$$\n", + "f(\\bs{x}) = \\lambda\n", + "$$\n", + "\n", + "This is a usefull property. If $\\bs{x}$ is an eigenvector of $\\bs{A}$, $\n", + "f(\\bs{x}) =\\bs{x^\\text{T}Ax}$ will take the value of the corresponding eigenvalue. We can see that this is working only if the euclidean norm of $\\bs{x}$ is 1 (i.e $\\bs{x}$ is a unit vector).\n", + "\n", + "### Example 7\n", + "\n", + "This example will show that $f(\\bs{x}) = \\lambda$. Let's take again the last example, the eigenvectors of $\\bs{A}$ were\n", + "\n", + "$$\n", + "\\bs{Q}=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and the eigenvalues\n", + "\n", + "$$\n", + "\\bs{\\Lambda}=\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So if:\n", + "\n", + "$$\n", + "\\bs{x}=\\begin{bmatrix}\n", + " 0.89442719 & 0.4472136\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$f(\\bs{x})$ should be equal to 7. Let's check that's true.\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 6 x_1^2 + 4 x_1x_2 + 3 x_2^2\\\\\\\\\n", + "&= 6\\times 0.89442719^2 + 4\\times 0.89442719\\times 0.4472136 + 3 \\times 0.4472136^2\\\\\\\\\n", + "&= 7\n", + "\\end{align*}\n", + "$$\n", + "\n", + "In the same way, if $\\bs{x}=\\begin{bmatrix}\n", + " -0.4472136 & 0.89442719\n", + "\\end{bmatrix}$, $f(\\bs{x})$ should be equal to 2.\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 6 x_1^2 + 4 x_1x_2 + 3 x_2^2\\\\\\\\\n", + "&= 6\\times -0.4472136^2 + 4\\times -0.4472136\\times 0.89442719 + 3 \\times 0.89442719^2\\\\\\\\\n", + "&= 2\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Quadratic form optimization\n", + "\n", + "Depending to the context, optimizing a function means finding its maximum or its minimum. It is for instance widely used to minimize the error of cost functions in machine learning.\n", + "\n", + "Here we will see how eigendecomposition can be used to optimize quadratic functions and why this can be done easily without cross terms. The difficulty is that we want a constrained optimization, that is to find the minimum or the maximum of the function for $f(\\bs{x})$ being a unit vector.\n", + "\n", + "### Example 7.\n", + "\n", + "We want to optimize:\n", + "\n", + "$$\n", + "f(\\bs{x}) =\\bs{x^\\text{T}Ax} \\textrm{ subject to }||\\bs{x}||_2= 1\n", + "$$\n", + "\n", + "In our last example we ended up with:\n", + "\n", + "$$\n", + "f(\\bs{x}) = 7y_1^2 + 2y_2^2\n", + "$$\n", + "\n", + "And the constraint of $\\bs{x}$ being a unit vector imply:\n", + "\n", + "$$\n", + "||\\bs{x}||_2 = 1 \\Leftrightarrow x_1^2 + x_2^2 = 1\n", + "$$\n", + "\n", + "We can also show that $\\bs{y}$ has to be a unit vector if it is the case for $\\bs{x}$. Recall first that $\\bs{x}=\\bs{Py}$:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "||\\bs{x}||^2 &= \\bs{x^\\text{T}x}\\\\\\\\\n", + "&= (\\bs{Py})^\\text{T}(\\bs{Py})\\\\\\\\\n", + "&= \\bs{P^\\text{T}y^\\text{T}Py}\\\\\\\\\n", + "&= \\bs{PP^\\text{T}y^\\text{T}y}\\\\\\\\\n", + "&= \\bs{y^\\text{T}y} = ||\\bs{y}||^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So $\\norm{\\bs{x}}^2 = \\norm{\\bs{y}}^2 = 1$ and thus $y_1^2 + y_2^2 = 1$\n", + "\n", + "Since $y_1^2$ and $y_2^2$ cannot be negative because they are squared values, we can be sure that $2y_2^2\\leq7y_2^2$. Hence:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 7y_1^2 + 2y_2^2\\\\\\\\\n", + "&\\leq\n", + "7y_1^2 + 7y_2^2\\\\\\\\\n", + "&=\n", + "7(y_1^2+y_2^2)\\\\\\\\\n", + "&=\n", + "7\n", + "\\end{align*}\n", + "$$\n", + "\n", + "This means that the maximum value of $f(\\bs{x})$ is 7.\n", + "\n", + "The same way can lead to find the minimum of $f(\\bs{x})$. $7y_1^2\\geq2y_1^2$ and:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 7y_1^2 + 2y_2^2\\\\\\\\\n", + "&\\geq\n", + "2y_1^2 + 2y_2^2\\\\\\\\\n", + "&=\n", + "2(y_1^2+y_2^2)\\\\\\\\\n", + "&=\n", + "2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "And the minimum of $f(\\bs{x})$ is 2.\n", + "\n", + "### Summary\n", + "\n", + "We can note that the minimum of $f(\\bs{x})$ is the minimum eigenvalue of the corresponding matrix $\\bs{A}$. Another useful fact is that this value is obtained when $\\bs{x}$ takes the value of the corresponding eigenvector (check back the preceding paragraph). In that way, $f(\\bs{x})=7$ when $\\bs{x}=\\begin{bmatrix}0.89442719 & 0.4472136\\end{bmatrix}$. This shows how useful are the eigenvalues and eigenvector in this kind of constrained optimization." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Graphical views\n", + "\n", + "We saw that the quadratic functions $f(\\bs{x}) = ax_1^2 +2bx_1x_2 + cx_2^2$ can be represented by the symmetric matrix $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " b & c\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Graphically, these functions can take one of three general shapes (click on the links to go to the Surface Plotter and move the shapes):\n", + "\n", + "1.[Positive-definite form](https://academo.org/demos/3d-surface-plotter/?expression=x*x%2By*y&xRange=-50%2C+50&yRange=-50%2C+50&resolution=49) | 2.[Negative-definite form](https://academo.org/demos/3d-surface-plotter/?expression=-x*x-y*y&xRange=-50%2C+50&yRange=-50%2C+50&resolution=25) | 3.[Indefinite form](https://academo.org/demos/3d-surface-plotter/?expression=x*x-y*y&xRange=-50%2C+50&yRange=-50%2C+50&resolution=49)\n", + ":-------------------------:|:-------------------------:|:-------:\n", + " | | \n", + "\n", + "\n", + "\n", + "With the constraints that $\\bs{x}$ is a unit vector, the minimum of the function $f(\\bs{x})$ corresponds to the smallest eigenvalue and is obtained with its corresponding eigenvector. The maximum corresponds to the biggest eigenvalue and is obtained with its corresponding eigenvector." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conclusion\n", + "\n", + "We have seen a lot of things in this chapter. We saw that linear algebra can be used to solve a variety of mathematical problems and more specifically that eigendecomposition is a powerful tool! However, it cannot be used for non square matrices. In the next chapter, we will see the Singular Value Decomposition (SVD) which is another way of decomposing matrices. The advantage of the SVD is that you can use it also with non-square matrices." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# BONUS: visualizing linear transformations\n", + "\n", + "We can see the effect of eigenvectors and eigenvalues in linear transformation. We will see first how linear transformation works. Linear transformation is a mapping between an input vector and an output vector. Different operations like projection or rotation are linear transformations. Every linear transformations can be though as applying a matrix on the input vector. We will see the meaning of this graphically. For that purpose, let's start by drawing the set of unit vectors (they are all vectors with a norm of 1)." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "t = np.linspace(0, 2*np.pi, 100)\n", + "x = np.cos(t)\n", + "y = np.sin(t)\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we will transform each of these points by applying a matrix $\\bs{A}$. This is the goal of the function bellow that takes a matrix as input and will draw\n", + "\n", + "- the origin set of unit vectors\n", + "- the transformed set of unit vectors\n", + "- the eigenvectors\n", + "- the eigenvectors scalled by their eigenvalues" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "def linearTransformation(transformMatrix):\n", + " orange = '#FF9A13'\n", + " blue = '#1190FF'\n", + " # Create original set of unit vectors\n", + " t = np.linspace(0, 2*np.pi, 100)\n", + " x = np.cos(t)\n", + " y = np.sin(t)\n", + "\n", + " # Calculate eigenvectors and eigenvalues\n", + " eigVecs = np.linalg.eig(transformMatrix)[1]\n", + " eigVals = np.diag(np.linalg.eig(transformMatrix)[0])\n", + " \n", + " # Create vectors of 0 to store new transformed values\n", + " newX = np.zeros(len(x))\n", + " newY = np.zeros(len(x))\n", + " for i in range(len(x)):\n", + " unitVector_i = np.array([x[i], y[i]])\n", + " # Apply the matrix to the vector\n", + " newXY = transformMatrix.dot(unitVector_i)\n", + " newX[i] = newXY[0]\n", + " newY[i] = newXY[1]\n", + " \n", + " plotVectors([eigVecs[:,0], eigVecs[:,1]],\n", + " cols=[blue, blue])\n", + " plt.plot(x, y)\n", + "\n", + " plotVectors([eigVals[0,0]*eigVecs[:,0], eigVals[1,1]*eigVecs[:,1]],\n", + " cols=[orange, orange])\n", + " plt.plot(newX, newY)\n", + " plt.xlim(-5, 5)\n", + " plt.ylim(-5, 5)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "A = np.array([[1,-1], [-1, 4]])\n", + "linearTransformation(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see the unit circle in dark blue, the non scaled eigenvectors in light blue, the transformed unit circle in green and the scaled eigenvectors in yellow.\n", + "\n", + "It is worth noting that the eigenvectors are orthogonal here because the matrix is symmetric. Let's try with a non-symmetric matrix:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "A = np.array([[1,1], [-1, 4]])\n", + "linearTransformation(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, the eigenvectors are not orthogonal!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "## Videos of Gilbert Strang\n", + "\n", + "- [Gilbert Strang, Lec21 MIT - Eigenvalues and eigenvectors](https://www.youtube.com/watch?v=lXNXrLcoerU)\n", + "\n", + "- [Gilbert Strang, Lec 21 MIT, Spring 2005](https://www.youtube.com/watch?v=lXNXrLcoerU)\n", + "\n", + "## Quadratic forms\n", + "\n", + "- [David Lay, University of Colorado, Denver](http://math.ucdenver.edu/~esulliva/LinearAlgebra/SlideShows/07_02.pdf)\n", + "\n", + "- [math.stackexchange QA](https://math.stackexchange.com/questions/2207111/eigendecomposition-optimization-of-quadratic-expressions)\n", + "\n", + "## Eigenvectors\n", + "\n", + "- [Victor Powell and Lewis Lehe - Interactive representation of eigenvectors](http://setosa.io/ev/eigenvectors-and-eigenvalues/)\n", + "\n", + "## Linear transformations\n", + "\n", + "- [Gilbert Strang - Linear transformation](http://ia802205.us.archive.org/18/items/MIT18.06S05_MP4/30.mp4)\n", + "\n", + "- [Linear transformation - demo video](https://www.youtube.com/watch?v=wXCRcnbCsJA)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.07 Eigendecomposition/2.7 Eigendecomposition.ipynb b/Chapters/2.07 Eigendecomposition/2.7 Eigendecomposition.ipynb new file mode 100644 index 0000000..d0c4017 --- /dev/null +++ b/Chapters/2.07 Eigendecomposition/2.7 Eigendecomposition.ipynb @@ -0,0 +1,2026 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We will see some major concepts of linear algebra in this chapter. It is also quite heavy so hang on! We will start with getting some ideas on eigenvectors and eigenvalues. We will develop on the idea that a matrix can be seen as a linear transformation and that applying a matrix on its eigenvectors gives new vectors with the same direction. Then we will see how to express quadratic equations into the matrix form. We will see that the eigendecomposition of the matrix corresponding to a quadratic equation can be used to find the minimum and maximum of this function. As a bonus, we will also see how to visualize linear transformations in Python!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.7 Eigendecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The eigendecomposition is one form of matrix decomposition. Decomposing a matrix means that we want to find a product of matrices that is equal to the initial matrix. In the case of the eigendecomposition, we decompose the initial matrix into the product of its eigenvectors and eigenvalues. Before all, let's see what are eigenvectors and eigenvalues.\n", + "\n", + "# Matrices as linear transformations\n", + "\n", + "As we have seen in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/) with the example of the identity matrix, you can think of matrices as linear transformations. Some matrices will rotate your space, others will rescale it etc. So when we apply a matrix to a vector, we end up with a transformed version of the vector. When we say that we 'apply' the matrix to the vector it means that we calculate the dot product of the matrix with the vector. We will start with a basic example of this kind of transformation.\n", + "\n", + "### Example 1." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-1, 3],\n", + " [ 2, -2]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[-1, 3], [2, -2]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [1]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([[2], [1]])\n", + "v" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's plot this vector:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 4)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plotVectors([v.flatten()], cols=['#1190FF'])\n", + "plt.ylim(-1, 4)\n", + "plt.xlim(-1, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we will apply the matrix $\\bs{A}$ to this vector and plot the old vector (light blue) and the new one (orange):" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1]\n", + " [2]]\n" + ] + }, + { + "data": { + "text/plain": [ + "(-1, 4)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Av = A.dot(v)\n", + "print(Av)\n", + "plotVectors([v.flatten(), Av.flatten()], cols=['#1190FF', '#FF9A13'])\n", + "plt.ylim(-1, 4)\n", + "plt.xlim(-1, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that applying the matrix $\\bs{A}$ has the effect of modifying the vector.\n", + "\n", + "Now that you can think of matrices as linear transformation recipes, let's see the case of a very special type of vector: the eigenvector." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Eigenvectors and eigenvalues\n", + "\n", + "We have seen an example of a vector transformed by a matrix. Now imagine that the transformation of the initial vector gives us a new vector that has the exact same direction. The scale can be different but the direction is the same. Applying the matrix didn't change the direction of the vector. This special vector is called an eigenvector of the matrix. We will see that finding the eigenvectors of a matrix can be very useful.\n", + "\n", + "\n", + " Imagine that the transformation of the initial vector by the matrix gives a new vector with the exact same direction. This vector is called an eigenvector of $\\bs{A}$.\n", + "\n", + "\n", + "This means that $\\bs{v}$ is a eigenvector of $\\bs{A}$ if $\\bs{v}$ and $\\bs{Av}$ are in the same direction or to rephrase it if the vectors $\\bs{Av}$ and $\\bs{v}$ are parallel. The output vector is just a scaled version of the input vector. This scalling factor is $\\lambda$ which is called the **eigenvalue** of $\\bs{A}$.\n", + "\n", + "$$\n", + "\\bs{Av} = \\lambda\\bs{v}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2.\n", + "\n", + "Let's $\\bs{A}$ be the following matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We know that one eigenvector of A is:\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can check that $\\bs{Av} = \\lambda\\bs{v}$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}=\\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can see that:\n", + "\n", + "$$\n", + "6\\times \\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix} = \\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "which means that $\\bs{v}$ is well an eigenvector of $\\bs{A}$. Also, the corresponding eigenvalue is $\\lambda=6$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can represent $\\bs{v}$ and $\\bs{Av}$ to check if their directions are the same:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 1],\n", + " [3, 3]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[5, 1], [3, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1],\n", + " [1]])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([[1], [1]])\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 7)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Av = A.dot(v)\n", + "\n", + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + "\n", + "plotVectors([Av.flatten(), v.flatten()], cols=[blue, orange])\n", + "plt.ylim(-1, 7)\n", + "plt.xlim(-1, 7)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that their directions are the same!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another eigenvector of $\\bs{A}$ is\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "because\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix} = \\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "2 \\times \\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " -6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So the corresponding eigenvalue is $\\lambda=2$." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1],\n", + " [-3]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = np.array([[1], [-3]])\n", + "v" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 3)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAEBCAYAAABi0PBzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAFe1JREFUeJzt3Xl4VfWdx/H3zQ1JCFshILIJyPLVAKIoImURK0Wr2GltrTrTatXOVKdqW5eKtmhbsVLBztMKnXZarU6r2PXR2o62asfKIiCSKJs/GGXfBESQJdvNnT+SSKxI7kl+uefck8/reXgecsn55XsS8/Fs9/tNpNNpREQylRd2ASKSWxQaIhKIQkNEAlFoiEggCg0RCUShISKBKDREJBCFhogEku9rITObDXwGGACMcM6t9LW2iESHzyONJ4CJwEaPa4pIxHg70nDOLQAwM19LikgEeQuNFigERgPbgVTItYi0JUmgF/AyUJnpRlEIjdHA/LCLEGnDJgALMv3kKITGdoC9ew9SWxu/d9yuWlXOxInj2bPnQNiltJqSko6x3b8471teXoKuXTtA/e9gpqIQGimA2tp0LEOjoqICIJb71lic9y/O+1Yv0GUBb3dPzOxHZrYF6As8Z2arfK0tItHh8+7JjcCNvtYTkWjSE6EiEohCQ0QCUWiISCAKDREJRKEhIoEoNEQkEIWGiASi0BCRQBQaIhKIQkNEAlFoiEggCg0RCUShISKBKDREJBCFhogEotAQkUAUGiISiEJDRALxOZZxKPAIUALsAa5wzq3ztb6IRIPPI42fAHOdc0OBucBPPa4tIhHhJTTM7DhgFDCv/qV5wCgz6+FjfRGJDl+nJ/2Arc65FIBzLmVm2+pf35XJAqtWlb83IyRO3n13PwBlZUtCrqT1TJkyObb7F+d9KyoqYuLE8YG3i8KwJIBmFZ8LqqurWfDETIoTCcb/021hl9NqpkyZHHYJrSbO+9YcvkJjM9DHzJL1RxlJoHf96xnZs+dALCdZLXtlEYN3P8OJtatZunQcAweODLsk73r06MSuXe+GXUariPO+5eUlKCnpGHw7H1/cOfcWUA5cXv/S5UCZcy6jU5M4S+YlSUyaSw35HPfqzVRUHg67JJEW8Xn35FrgBjNbC9xQ/7EAgwcPY2GPWxjAG7w5//6wyxFpEZ9jGV8HxvhaL25Kx17Nyj8/y9kHHmSRm8wQOyvskkSaRU+EZkkymSQ9ZhaH0sUMXHMLBw7uD7skkWZRaGTR8T37s7jXN+nFVrYt+F7Y5Yg0i0Ijy4afeTllybMZd/jXrFn5fNjliASm0MiyRF6ConEz2ZfuTOm6aezb/3bYJYkEotAIQfdux1PW/266J3azZ8F00jF8PkXiS6ERktJTL2JJwQWMqfofVpc/FXY5IhlTaIQkkZegZPzd7E5357SN09n99o6wSxLJiEIjRF06d2P14Jl0Sezn8MLbdZoiOUGhEbKTR5zLwvaXMir1AitffjzsckSapNCIgN7j72AbfTlr2wx27NwYdjkix6TQiICOHTqz4eRZFCcOkVhyK6lUKuySRD6UQiMihthZ/L3j1QyvfZnVLz0UdjkiH0qhESEnTriFDQxi3K7ZbN6yNuxyRI5KoREhRYXteWvk/eRTQ8dXbqKquirskkQ+QKERMQMHjuTFj1zP0PQq1i6YG3Y5Ih+g0IigoeO/wtrEcCa+M4f1b5aHXY7I+yg0IqigXQEHTr+/rkXga7eoRaBEikIjovr1HdqoReDssMsReY9CI8JKx17NyrzRnH3gIda5l8IuRwTwEBpm9nkze83Maszseh9FSZ33twi8VS0CJRJ8HGmUA5cBj3lYS/7B8T37s7j3t9QiUCKjxaHhnFvpnFsN1HqoR45i+OjLWJ6cVNcicIVaBEq4Eum0n7djm9nDwDLn3JyAmw4A1nspIsa279xGhyfHU0Uhic/Op6Rb97BLkvgYCGzI9JObnHtiZsuBEz7kn3s2DH1uqbiOZSwrW8KUKZNbPNovP68Ty/vPYNKmG1ny1E2kzp9DIi/hqcqWifPowjjvW3PHMjYZGs65Uc2qSLwrPXUqS3b8hTFVf+aF8qcYNuqTYZckbZBuueaQuhaB31WLQAmVj1uul5vZFuAS4G4z22JmpS0vTY6mS+durB5S1yKwYuE0tQiUrGvxLFfn3DxgnodaJEMnDz+XhVsvZdzhX/O3pfMYcdY/h12StCE6PclR77UI3H6PWgRKVik0clTHDp3ZUDpbLQIl6xQaOWzI0DH8veM1ahEoWaXQyHEnTriZDQxi/K5ZbNrswi5H2gCFRo5raBGYJEWn5TerRaC0OoVGDLy/RWDQp/hFglFoxMSRFoFz1SJQWpVCIyYK2hVw8PQfqEWgtDqFRoz07TuEhT1uVYtAaVUKjZgpHXsVK/POVItAaTUKjZipaxF4n1oESqtRaMRQXYvA6XUtAuffE3Y5EjMKjZgaPvpSluefw7iK36hFoHil0IipRF6C4o/ey750F4b93zT27dsTdkkSEwqNGCvp1pOy/ndTktjN2wumq/eGeKHQiLnSU6eypOBCzqx+mlVlfwy7HIkBhUbMNbQI3JXuwahNd7J7z/awS5Icp9BoA7p07sbrDS0CF92u0xRpkRa3+zOzucC5QCVwAPiqc25ZS9cVv04a/jEWbL2M8YcfV4tAaREfRxpPAyOccyOBe4Ffe1hTWkHfCXUtAsdun8GOnRvCLkdylI+xjH9yzlXXf/gS0NfMdNoTQR2KO7GhdDbtE4fJU4tAaSZvYxkBzOwuYKRz7uIAmw1AYxmzauFvv8m4d37Kgl7TGT/1q2GXI+ELNJaxydDIdCyjmV0GfAeY6JzbmWkB1IeGxjJmT2VlBTVPX0Tv9EZWnPEUJ/SzFq0X59GFcd63RmMZ/c5yzWQso5l9GrgHODdgYEgICguL2D7yfvqWX0zn5TdR1fMPFBQUhl2W5AgfE9amAj8AznPObWhxRZIVAwaewvyu1zMkvZp1C9UiUDLn44LlL4AC4HdmVl7/p8TDutLKho77d1xiBBPe+THr3ywLuxzJET7GMvbwUYhkX0G7Ag6dfj81L0+l52u3cLj3U7QvKg67LIk43Rpt4xpaBPbnTdarRaBkQKEhlI69ihV5Yzj74C/UIlCapNAQkskkjLmPg+liBq65hYNqESjHoNAQAI7veQJLek+nF9vYOn9G2OVIhCk05D1HWgT+ljUrngu7HIkohYa85/0tAm/nHbUIlKNQaMj7lHTrSdmAuhaBe9UiUI5CoSEfUDpyKosLpqpFoByVQkM+IJGXoHt9i8DTN01Xi0B5H4WGHFWXzl15fchMOifepWLRNGpra8MuSSJCoSEf6qThH2NB+8s4LfUiq5bOC7sciQiFhhxT3wl3sJV+jN1+D9t3bAi7HIkAhYYcU4fiTmwsnUX7xGGSS28lVVMTdkkSMoWGNGnI0DH8veOXGFa7jDUvPVj3Ys3hcIuS0Cg0JCODJtzMBgYzbvf9bN68hs6vfB3SujjaFik0JCOFhUXsGnk/edQy6JV/oXD7X8h/57Wwy5IQKDQkI3mHtjB832+oTHahC3sBKNz2l5CrkjAoNCQjtcV9qe42imIOvPdaevMz4HEEhuQGH2MZvwlcCqSABHCvc05T1mKo8oSLSXUaTPHiayms3E6Hig3s27sWjjsj7NIki3wcacxxzp3inDsNuAD4mZl19bCuRFBN11N495wn2dz+TADKyp8PuSLJNh9jGfc1+rAjkPaxrkRXuqgH7c79JX/Mv5J+7zzDC5vCrkiyycsvt5lda2avA2XAvznn1Igh5pL5BfSd9B1+VXsV3/3rdvZXhV2RZIu3sYz1nzsCeBQ4J0BwDECzXHPWwyvgpr+luezkBD+eEnY10kzZH8vY6HNXmNk2YBLw+0y3A9As19x0QU/4c/9OPL4GJnQ/zOR+8XrMvI3Mcg22XUu/sJmVNvr7QOA0YHVL15XckEjADydD53Zppi8tZE9FIuySpJX5uKbxbTNbZWblwO+AG51zazysKzmid0e4a3QFb1fmcdfSQj26EXM+xjJ+zkchktsu7F/Ds1uqeWZTO55cX8OnTozXaYocoVuj4kUiAXedUUn3olrufqWI7Qd1mhJXCg3xpltRmhljKjhQneCOJUXE8Lq2oNAQz87pk+IzJ1axaEc+89a1C7scaQUKDfHujtMr6dOhlvvKCtmwX6cpcaPQEO86toN7z6qgIpVg2uL21KhXT6woNKRVjOmZ4kqromx3kgfXFIRdjnik0JBWc9PISk7snOKBFQW8vlf/qcWFfpLSaory4ftjK6hNwzdeKqIq1fQ2En0KDWlVp5TU8uVhVbh3ksxZodOUOFBoSKu7blgVw7qm+NmaAsp26T+5XKefoLS6gmTdaUp+Am57qT2H9IR5TlNoSFYM+UgtXxtZycYDecwuKwy7HGkBhYZkzRetmjN61PDougIW7UiGXY40k0JDsiaZBzPHVlCcn+b2xUVqEZijFBqSVf06ppk2qpIdh/K455WisMuRZlBoSNZ9blA1E3vV8MT6djy7ucUtXSTLFBqSdYkEzBhTQZeCNHeqRWDOUWhIKHoWp7nzjLoWgXeqRWBO8RYaZjbJzFJmdr2vNSXeLuxfw/knVPPclnY8uV6nKbnC17CkTsD3gad9rCdtQ0OLwB5qEZhTfB1p/ACYBez2tJ60EY1bBN6+WC0Cc4GPuSefALo4537noR5pgyb1SfHZQVW8tDOfx9aqRWDUNXki2cRYRgNmAh9vaSHNmfSUC6ZMmQzUTeqKs5bu3+yPw5K3YParRVw0rIjBXT0V5kHcf3ZBNTnL9VjMbDzwB+BQ/UvdgUrgh86572a4zABgvcYy5i5fowuX7ExyxfPFnFqS4tGPHyI/Avf22shYRr+zXI/FObcAOK7hYzN7GFjmnJvTknWlbWpoEfiIK+DBNQV8eZieM4+iCGS5yBFqERh9Xn8qzrkv6ihDWqIoH+6rbxF4q1oERpKiXCJnREkt1w6rYu07SR5Qi8DIUWhIJF03vK5F4M/XFLBcLQIjRT8NiaR2eUdaBE5Ti8BIUWhIZA35SC1fV4vAyFFoSKRd2ahF4MLtahEYBQoNiTS1CIwehYZEXkOLwJ2H85ixTC0Cw6bQkJzQ0CLwyQ1qERg2hYbkBLUIjA6FhuSMnsVp7qpvEThdLQJDo9CQnHLhgBo+cUI1z29pxxNqERgKhYbknLtGV9CjqJYZrxSxTS0Cs06hITmnayHvtQi8Qy0Cs06hITlpUp8Ul6hFYCgUGpKzpo2qpE+HWmaVF7J+v05TskWhITmrYzuYeVYFlam6N7XV1IZdUdug0JCcdmbPFFdaNeV7kvx8jXpvZINCQ3Le10dWMqhzijlqEZgVPuaePGxmW8ysvP7PN30UJpKpovy63htqEZgdvp6OmaneoBKmESW1XDesijkrC3lgRQE3n6q3w7YWHctJbFw7vIph3dQisLX5+s7eZGYrzOwJMzvZ05oigbTLq+tknp+A29QisNU0OWGtibGMPYHjge3OuVozuwK4GzjROZfpmeUAYH2GnyvSpDnL4c75cM0pMOucsKvJCYEmrLVoLOPRmNkeYJRzbmOGmwxAYxlzWtRGF6Zq4Yrn27NsVz4PnXOIcb2af2U0avvmU3PHMvq4e9Kn0d/PA1LA1pauK9JcahHYunxc03ik/nrGq8C3gE8653Q2KaHq1zHN7WoR2CpafMvVOTfZRyEivl0yqJpnN+fz5IZ2TO5Xw5R++n+ZD7ovJbH1jy0Cdx/Wm9p8UGhIrDW0CNxbmcedL6tFoA8KDYm9CwfUcIFaBHqj0JA24U61CPRGoSFtQtdCuEctAr1QaEibcXajFoGPqkVgsyk0pE1paBE4Wy0Cm02hIW1K4xaBt6lFYLMoNKTNObNnii+eVM2rahHYLAoNaZMatwhcoxaBgei7JW1SYfJIi8BvLFKLwCAUGtJmNbQIXLsvyY9W6DQlUwoNadMaWgQ+qBaBGdN3Sdo0tQgMTqEhbd7gLrXcNLKSTQfymFVWCMDSncmQq4ouvXtHBLjypGqe35rPY+sK6FyQ5q+b83l66qGwy4okHWmIAAngttMqyU+k+cmqQt7cn+SNffr1OBp9V0SA5buTXPO/xdSkjzxa/tfNOhA/Gi+hYWY3mNnr9b1Cy32sKZJNp/dI8fvzDzK0y5EHNp5VaByVj27kFwOXAKOdcyOA81pclUgI+nVM8/iUQ5zXrxqAVXuTbN4fclER5ONI42bg2865dwGcczs9rCkSig7t4IfjK/jaKZUkSPOnN8KuKHp8hEYpcJaZLTKzZWb2rx7WFAlNIgHXDa/iP88+zIubw64menyMZdwLPAp8BegOLASucc69mGENA9BYRomoN/ZC/y6QH+9bBoEmrDV5pcc5N+pY/25mm4B5zrla4C0zexY4E8g0NADQWMbcFefRhYNivG+NxjIG287D134MOB/AzDoAE4BXPawrIhHkIzT+A+hnZquApcCvnHPPelhXRCLIx1jGw8AXPNQiIjkg3pd3RMQ7hYaIBKLQEJFAFBoiEohCQ0QCUWiISCAKDREJRKEhIoEoNEQkEIWGiASi0BCRQBQaIhKIQkNEAlFoiEggCg0RCUShISKBKDREJBCFhogEotAQkUBa3CPUzJ6jbt5Jw3rDgJHOuddauraIRI+PxsKTG/5uZp8CZigwROLL91jsq4GHAm6ThLrBLXFUVFQExHf/GsR5/+K6b432KxlkuybHMmbKzI4H3gT6O+d2Bdh0PDDfSxEi0hwTgAWZfnKTRxpNzXJ1zqXq/34F8EzAwAB4mbqitwOpJj5XRPxJAr2o+x3MmM8jjTXArc65P3lZUEQiycstVzP7KNAFeNrHeiISXb6e07gK+O9GpyoiElPeTk9EpG3QE6EiEohCQ0QCUWiISCAKDREJxPdj5M1mZp8HvgGUAl9zzs0JuaQWM7OhwCNACbAHuMI5ty7cqvwws9nAZ4ABwAjn3MpwK/LLzEqAXwKDgCpgHfDlZjy8GFlm9gQwEKgFDgA3OOfKm9ouSkca5cBlwGNhF+LRT4C5zrmhwFzgpyHX49MTwERgY9iFtJI0cJ9zzpxzI4A3gJkh1+Tblc65kc6504DZZPi+sciEhnNupXNuNXWpl/PM7DhgFDCv/qV5wCgz6xFeVf445xY45zaHXUdrcc697Zx7odFLi4H+IZXTKpxz+xp92IUMf/cic3oSQ/2ArQ0PvDnnUma2rf712BzitgVmlgdcB/wx7Fp8M7OfA1OABHB+JttkLTQCvPFNJGoeoO6cP+evs/0j59yXAMzsC8As4IKmtslaaDjnRmXra0XEZqCPmSXrjzKSQO/61yVH1F/wHQJc5JyLxanz0Tjnfmlm/2VmJc65Pcf63Mhc04gb59xb1F3cvbz+pcuBsjhdfY87M/secDrwKedcZdj1+GRmHc2sX6OPLwLerv9zTJF574mZXU7d4VFX6m5xHQSm1F8czUlmdhJ1t1y7Anupu+Xqwq3KDzP7EXAxcDywG9jjnBsWblX+mNkwYCWwFjhc//J659ynw6vKHzPrCTwJdKCuj83bwC3OueVNbRuZ0BCR3KDTExEJRKEhIoEoNEQkEIWGiASi0BCRQBQaIhKIQkNEAlFoiEgg/w/xt1a7JQO+FgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Av = A.dot(v)\n", + "\n", + "plotVectors([Av.flatten(), v.flatten()], cols=[blue, orange])\n", + "plt.ylim(-7, 1)\n", + "plt.xlim(-1, 3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This example shows that the eigenvectors $\\bs{v}$ are vectors that change only in scale when we apply the matrix $\\bs{A}$ to them. Here the scales were 6 for the first eigenvector and 2 to the second but $\\lambda$ can take any real or even complex value." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Find eigenvalues and eigenvectors in Python\n", + "\n", + "Numpy provides a function returning eigenvectors and eigenvalues (the first array corresponds to the eigenvalues and the second to the eigenvectors concatenated in columns):\n", + "\n", + "```python\n", + "(array([ 6., 2.]), array([[ 0.70710678, -0.31622777],\n", + " [ 0.70710678, 0.9486833 ]]))\n", + "```\n", + "\n", + "Here a demonstration with the preceding example." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 1],\n", + " [3, 3]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[5, 1], [3, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([6., 2.]), array([[ 0.70710678, -0.31622777],\n", + " [ 0.70710678, 0.9486833 ]]))" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the eigenvalues are the same than the ones we used before: 6 and 2 (first array).\n", + "\n", + "The eigenvectors correspond to the columns of the second array. This means that the eigenvector corresponding to $\\lambda=6$ is:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 0.70710678\\\\\\\\\n", + " 0.70710678\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The eigenvector corresponding to $\\lambda=2$ is:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -0.31622777\\\\\\\\\n", + " 0.9486833\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The eigenvectors look different because they have not necessarly the same scaling than the ones we gave in the example. We can easily see that the first corresponds to a scaled version of our $\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}$. But the same property stands. We have still $\\bs{Av} = \\lambda\\bs{v}$:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.70710678\\\\\\\\\n", + " 0.70710678\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 4.24264069\\\\\\\\\n", + " 4.24264069\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "With $0.70710678 \\times 6 = 4.24264069$. So there are an infinite number of eigenvectors corresponding to the eigenvalue $6$. They are equivalent because we are interested by their directions.\n", + "\n", + "For the second eigenvector we can check that it corresponds to a scaled version of $\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}$. We can draw these vectors and see if they are parallel." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, 3)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "v = np.array([[1], [-3]])\n", + "Av = A.dot(v)\n", + "v_np = [-0.31622777, 0.9486833]\n", + "\n", + "plotVectors([Av.flatten(), v.flatten(), v_np], cols=[blue, orange, 'blue'])\n", + "plt.ylim(-7, 1)\n", + "plt.xlim(-1, 3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the vector found with Numpy (in dark blue) is a scaled version of our preceding $\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Rescaled vectors\n", + "\n", + "As we saw it with numpy, if $\\bs{v}$ is an eigenvector of $\\bs{A}$, then any rescaled vector $s\\bs{v}$ is also an eigenvector of $\\bs{A}$. The eigenvalue of the rescaled vector is the same.\n", + "\n", + "Let's try to rescale\n", + "\n", + "$$\n", + "\\bs{v}=\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "from our preceding example. \n", + "\n", + "For instance,\n", + "\n", + "$$\n", + "\\bs{3v}=\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " -9\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " -9\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 18\n", + "\\end{bmatrix} = 2 \\times\n", + "\\begin{bmatrix}\n", + " 3\\\\\\\\\n", + " -9\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We have well $\\bs{A}\\times 3\\bs{v} = \\lambda\\bs{v}$ and the eigenvalue is still $\\lambda=2$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Concatenating eigenvalues and eigenvectors\n", + "\n", + "Now that we have an idea of what eigenvectors and eigenvalues are we can see how it can be used to decompose a matrix. All eigenvectors of a matrix $\\bs{A}$ can be concatenated in a matrix with each column corresponding to each eigenvector (like in the second array return by `np.linalg.eig(A)`):\n", + "\n", + "$$\n", + "\\bs{V}=\n", + "\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The first column $\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$ corresponds to $\\lambda=6$ and the second $\n", + "\\begin{bmatrix}\n", + " 1\\\\\\\\\n", + " -3\n", + "\\end{bmatrix}\n", + "$ to $\\lambda=2$.\n", + "\n", + "The vector $\\bs{\\lambda}$ can be created from all eigenvalues:\n", + "\n", + "$$\n", + "\\bs{\\lambda}=\n", + "\\begin{bmatrix}\n", + " 6\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Then the eigendecomposition is given by\n", + "\n", + "$$\n", + "\\bs{A}=\\bs{V}\\cdot diag(\\bs{\\lambda}) \\cdot \\bs{V}^{-1}\n", + "$$\n", + "\n", + "\n", + " We can decompose the matrix $\\bs{A}$ with eigenvectors and eigenvalues. It is done with: $\\bs{A}=\\bs{V}\\cdot diag(\\bs{\\lambda}) \\cdot \\bs{V}^{-1}$\n", + "\n", + "\n", + "$diag(\\bs{v})$ is a diagonal matrix (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)) containing all the eigenvalues. Continuing with our example we have\n", + "\n", + "$$\n", + "\\bs{V}=\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The diagonal matrix is all zeros except the diagonal that is our vector $\\bs{\\lambda}$.\n", + "\n", + "$$\n", + "diag(\\bs{v})=\n", + "\\begin{bmatrix}\n", + " 6 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The inverse matrix of $\\bs{V}$ can be calculated with numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 1],\n", + " [ 1, -3]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V = np.array([[1, 1], [1, -3]])\n", + "V" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.75, 0.25],\n", + " [ 0.25, -0.25]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V_inv = np.linalg.inv(V)\n", + "V_inv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So let's plug\n", + "\n", + "$$\n", + "\\bs{V}^{-1}=\\begin{bmatrix}\n", + " 0.75 & 0.25\\\\\\\\\n", + " 0.25 & -0.25\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "into our equation:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\bs{V}\\cdot diag(\\bs{\\lambda}) \\cdot \\bs{V}^{-1}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.75 & 0.25\\\\\\\\\n", + " 0.25 & -0.25\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "If we do the dot product of the first two matrices we have:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 1 & 1\\\\\\\\\n", + " 1 & -3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix} =\n", + "\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 6 & -6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So with replacing into the equation:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "&\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 6 & -6\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.75 & 0.25\\\\\\\\\n", + " 0.25 & -0.25\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 6\\times0.75 + (2\\times0.25) & 6\\times0.25 + (2\\times-0.25)\\\\\\\\\n", + " 6\\times0.75 + (-6\\times0.25) & 6\\times0.25 + (-6\\times-0.25)\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 5 & 1\\\\\\\\\n", + " 3 & 3\n", + "\\end{bmatrix}=\n", + "\\bs{A}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Let's check our result with Python:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[6, 0],\n", + " [0, 2]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lambdas = np.diag([6,2])\n", + "lambdas" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5., 1.],\n", + " [3., 3.]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V.dot(lambdas).dot(V_inv)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That confirms our previous calculation. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Real symmetric matrix\n", + "\n", + "In the case of real symmetric matrices (more details about symmetric matrices in [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)), the eigendecomposition can be expressed as\n", + "\n", + "$$\n", + "\\bs{A} = \\bs{Q}\\Lambda \\bs{Q}^\\text{T}\n", + "$$\n", + "\n", + "where $\\bs{Q}$ is the matrix with eigenvectors as columns and $\\Lambda$ is $diag(\\lambda)$.\n", + "\n", + "### Example 3.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This matrix is symmetric because $\\bs{A}=\\bs{A}^\\text{T}$. Its eigenvectors are:\n", + "\n", + "$$\n", + "\\bs{Q}=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and its eigenvalues put in a diagonal matrix gives:\n", + "\n", + "$$\n", + "\\bs{\\Lambda}=\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So let's begin to calculate $\\bs{Q\\Lambda}$:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Q\\Lambda}&=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 0.89442719 \\times 7 & -0.4472136\\times 2\\\\\\\\\n", + " 0.4472136 \\times 7 & 0.89442719\\times 2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 6.26099033 & -0.8944272\\\\\\\\\n", + " 3.1304952 & 1.78885438\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "with:\n", + "\n", + "$$\n", + "\\bs{Q}^\\text{T}=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & 0.4472136\\\\\\\\\n", + " -0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{Q\\Lambda} \\bs{Q}^\\text{T}&=\n", + "\\begin{bmatrix}\n", + " 6.26099033 & -0.8944272\\\\\\\\\n", + " 3.1304952 & 1.78885438\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 0.89442719 & 0.4472136\\\\\\\\\n", + " -0.4472136 & 0.89442719\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "It works! For that reason, it can useful to use symmetric matrices! Let's do the same things easily with `linalg` from numpy:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[6, 2],\n", + " [2, 3]])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[6, 2], [2, 3]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.89442719, -0.4472136 ],\n", + " [ 0.4472136 , 0.89442719]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals, eigVecs = np.linalg.eig(A)\n", + "eigVecs" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[7., 0.],\n", + " [0., 2.]])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals = np.diag(eigVals)\n", + "eigVals" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[6., 2.],\n", + " [2., 3.]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVecs.dot(eigVals).dot(eigVecs.T)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the result corresponds to our initial matrix." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Quadratic form to matrix form\n", + "\n", + "Eigendecomposition can be used to optimize quadratic functions. We will see that when $\\bs{x}$ takes the values of an eigenvector, $f(\\bs{x})$ takes the value of its corresponding eigenvalue.\n", + "\n", + "\n", + " When $\\bs{x}$ takes the values of an eigenvector, $f(\\bs{x})$ takes the value of its corresponding eigenvalue.\n", + "\n", + "\n", + "We will see in the following points how we can show that with different methods.\n", + "\n", + "Let's have the following quadratic equation:\n", + "\n", + "$$\n", + "f(\\bs{x}) = ax_1^2 +(b+c)x_1x_2 + dx_2^2\n", + "$$\n", + "\n", + "These quadratic forms can be generated by matrices:\n", + "\n", + "$$\n", + "f(\\bs{x})= \\begin{bmatrix}\n", + " x_1 & x_2\n", + "\\end{bmatrix}\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix} = \\bs{x^\\text{T}Ax}\n", + "$$\n", + "\n", + "with:\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We call them matrix forms. This form is useful to do various things on the quadratic equation like constrained optimization (see bellow).\n", + "\n", + "\n", + " Quadratic equations can be expressed under the matrix form\n", + "\n", + "\n", + "If you look at the relation between these forms you can see that $a$ gives you the number of $x_1^2$, $(b + c)$ the number of $x_1x_2$ and $d$ the number of $x_2^2$. This means that the same quadratic form can be obtained from infinite number of matrices $\\bs{A}$ by changing $b$ and $c$ while preserving their sum.\n", + "\n", + "### Example 4.\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & 4\\\\\\\\\n", + " 2 & 5\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "gives the following quadratic form:\n", + "\n", + "$$\n", + "2x_1^2 + (4+2)x_1x_2 + 5x_2^2\\\\\\\\=2x_1^2 + 6x_1x_2 + 5x_2^2\n", + "$$\n", + "\n", + "but if:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & -3\\\\\\\\\n", + " 9 & 5\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "we still have the quadratic same form:\n", + "\n", + "$$\n", + "2x_1^2 + (-3+9)x_1x_2 + 5x_2^2\\\\\\\\=2x_1^2 + 6x_1x_2 + 5x_2^2\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 5\n", + "\n", + "For this example, we will go from the matrix form to the quadratic form using a symmetric matrix $\\bs{A}$. Let's use the matrix of the example 3.\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\\bs{A}=\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}&=\n", + "\\begin{bmatrix}\n", + " x_1 & x_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " x_1 & x_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 6 x_1 + 2 x_2\\\\\\\\\n", + " 2 x_1 + 3 x_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "x_1(6 x_1 + 2 x_2) + x_2(2 x_1 + 3 x_2)\\\\\\\\\n", + "&=\n", + "6 x_1^2 + 4 x_1x_2 + 3 x_2^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Our quadratic equation is thus $6 x_1^2 + 4 x_1x_2 + 3 x_2^2$.\n", + "\n", + "### Note\n", + "\n", + "If $\\bs{A}$ is a diagonal matrix (all 0 except the diagonal), the quadratic form of $\\bs{x^\\text{T}Ax}$ will have no cross term. Take the following matrix form:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " c & d\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "If $\\bs{A}$ is diagonal, then $b$ and $c$ are 0 and since $f(\\bs{x}) = ax_1^2 +(b+c)x_1x_2 + dx_2^2$ there is no cross term. A quadratic form without cross term is called diagonal form since it comes from a diagonal matrix." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Change of variable \n", + "\n", + "A change of variable (or linear substitution) simply means that we replace a variable by another one. We will see that it can be used to remove the cross terms in our quadratic equation. Without the cross term, it will then be easier to characterize the function and eventually optimize it (i.e finding its maximum or minimum).\n", + "\n", + "## With the quadratic form\n", + "\n", + "### Example 6.\n", + "\n", + "Let's take again our previous quadratic form:\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}Ax} = 6 x_1^2 + 4 x_1x_2 + 3 x_2^2\n", + "$$\n", + "\n", + "The change of variable will concern $x_1$ and $x_2$. We can replace $x_1$ with any combination of $y_1$ and $y_2$ and $x_2$ with any combination $y_1$ and $y_2$. We will of course end up with a new equation. The nice thing is that we can find a specific substitution that will lead to a simplification of our statement. Specifically, it can be used to get rid of the cross term (in our example: $4 x_1x_2$). We will see later why it is interesting.\n", + "\n", + "Actually, the right substitution is given by the eigenvectors of the matrix used to generate the quadratic form. Let's recall that the matrix form of our equation is:\n", + "\n", + "$$\n", + "\\bs{x} = \\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\\bs{A}=\\begin{bmatrix}\n", + " 6 & 2\\\\\\\\\n", + " 2 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and that the eigenvectors of $\\bs{A}$ are:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "With the purpose of simplification, we can replace these values with:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " \\frac{2}{\\sqrt{5}} & -\\frac{1}{\\sqrt{5}}\\\\\\\\\n", + " \\frac{1}{\\sqrt{5}} & \\frac{2}{\\sqrt{5}}\n", + "\\end{bmatrix} =\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2 & -1\\\\\\\\\n", + " 1 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So our first eigenvector is:\n", + "\n", + "$$\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2\\\\\\\\\n", + " 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and our second eigenvector is:\n", + "\n", + "$$\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " -1\\\\\\\\\n", + " 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The change of variable will lead to:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\n", + "\\end{bmatrix} =\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2 & -1\\\\\\\\\n", + " 1 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " y_1\\\\\\\\\n", + " y_2\n", + "\\end{bmatrix} =\n", + "\\frac{1}{\\sqrt{5}}\n", + "\\begin{bmatrix}\n", + " 2y_1 - y_2\\\\\\\\\n", + " y_1 + 2y_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "so we have\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "x_1 = \\frac{1}{\\sqrt{5}}(2y_1 - y_2)\\\\\\\\\n", + "x_2 = \\frac{1}{\\sqrt{5}}(y_1 + 2y_2)\n", + "\\end{cases}\n", + "$$\n", + "\n", + "So far so good! Let's replace that in our example:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}\n", + "&=\n", + "6 x_1^2 + 4 x_1x_2 + 3 x_2^2\\\\\\\\\n", + "&=\n", + "6 [\\frac{1}{\\sqrt{5}}(2y_1 - y_2)]^2 + 4 [\\frac{1}{\\sqrt{5}}(2y_1 - y_2)\\frac{1}{\\sqrt{5}}(y_1 + 2y_2)] + 3 [\\frac{1}{\\sqrt{5}}(y_1 + 2y_2)]^2\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}[6 (2y_1 - y_2)^2 + 4 (2y_1 - y_2)(y_1 + 2y_2) + 3 (y_1 + 2y_2)^2]\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}[6 (4y_1^2 - 4y_1y_2 + y_2^2) + 4 (2y_1^2 + 4y_1y_2 - y_1y_2 - 2y_2^2) + 3 (y_1^2 + 4y_1y_2 + 4y_2^2)]\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}(24y_1^2 - 24y_1y_2 + 6y_2^2 + 8y_1^2 + 16y_1y_2 - 4y_1y_2 - 8y_2^2 + 3y_1^2 + 12y_1y_2 + 12y_2^2)\\\\\\\\\n", + "&=\n", + "\\frac{1}{5}(35y_1^2 + 10y_2^2)\\\\\\\\\n", + "&=\n", + "7y_1^2 + 2y_2^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "That's great! Our new equation doesn't have any cross terms!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## With the Principal Axes Theorem\n", + "\n", + "Actually there is a simpler way to do the change of variable. We can stay in the matrix form. Recall that we start with the form:\n", + "\n", + "\n", + "$$\n", + "f(\\bs{x})=\\bs{x^\\text{T}Ax}\n", + "$$\n", + "\n", + "\n", + "The linear substitution can be wrote in these terms. We want replace the variables $\\bs{x}$ by $\\bs{y}$ that relates by:\n", + "\n", + "\n", + "$$\n", + "\\bs{x}=P\\bs{y}\n", + "$$\n", + "\n", + "\n", + "We want to find $P$ such as our new equation (after the change of variable) doesn't contain the cross terms. The first step is to replace that in the first equation:\n", + "\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}\n", + "&=\n", + "(\\bs{Py})^\\text{T}\\bs{A}(\\bs{Py})\\\\\\\\\n", + "&=\n", + "\\bs{y}^\\text{T}(\\bs{P}^\\text{T}\\bs{AP})\\bs{y}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "\n", + "Can you see the how to transform the left hand side ($\\bs{x}$) into the right hand side ($\\bs{y}$)? The substitution is done by replacing $\\bs{A}$ with $\\bs{P^\\text{T}AP}$. We also know that $\\bs{A}$ is symmetric and thus that there is a diagonal matrix $\\bs{D}$ containing the eigenvectors of $\\bs{A}$ and such as $\\bs{D}=\\bs{P}^\\text{T}\\bs{AP}$. We thus end up with:\n", + "\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}Ax}=\\bs{y^\\text{T}\\bs{D} y}\n", + "$$\n", + "\n", + "\n", + "\n", + " We can use $\\bs{D}$ to simplify our quadratic equation and remove the cross terms\n", + "\n", + "\n", + "All of this implies that we can use $\\bs{D}$ to simplify our quadratic equation and remove the cross terms. If you remember from example 2 we know that the eigenvalues of $\\bs{A}$ are:\n", + "\n", + "\n", + "$$\n", + "\\bs{D}=\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{x^\\text{T}Ax}\n", + "&=\n", + "\\bs{y^\\text{T}\\bs{D} y}\\\\\\\\\n", + "&=\n", + "\\bs{y}^\\text{T}\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\bs{y}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " y_1 & y_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " y_1\\\\\\\\\n", + " y_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " 7y_1 +0y_2 & 0y_1 + 2y_2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " y_1\\\\\\\\\n", + " y_2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "7y_1^2 + 2y_2^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "\n", + "That's nice! If you look back to the change of variable that we have done in the quadratic form, you will see that we have found the same values!\n", + "\n", + "This form (without cross-term) is called the **principal axes form**.\n", + "\n", + "### Summary\n", + "\n", + "To summarise, the principal axes form can be found with\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}Ax} = \\lambda_1y_1^2 + \\lambda_2y_2^2\n", + "$$\n", + "\n", + "where $\\lambda_1$ is the eigenvalue corresponding to the first eigenvector and $\\lambda_2$ the eigenvalue corresponding to the second eigenvector (second column of $\\bs{x}$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Finding f(x) with eigendecomposition\n", + "\n", + "We will see that there is a way to find $f(\\bs{x})$ with eigenvectors and eigenvalues when $\\bs{x}$ is a unit vector. \n", + "\n", + "Let's start from:\n", + "\n", + "$$\n", + "f(\\bs{x}) =\\bs{x^\\text{T}Ax}\n", + "$$\n", + "\n", + "We know that if $\\bs{x}$ is an eigenvector of $\\bs{A}$ and $\\lambda$ the corresponding eigenvalue, then $\n", + "\\bs{Ax}=\\lambda \\bs{x}\n", + "$. By replacing the term in the last equation we have:\n", + "\n", + "$$\n", + "f(\\bs{x}) =\\bs{x^\\text{T}\\lambda x} = \\bs{x^\\text{T}x}\\lambda\n", + "$$\n", + "\n", + "Since $\\bs{x}$ is a unit vector, $\\norm{\\bs{x}}_2=1$ and $\\bs{x^\\text{T}x}=1$ (cf. [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/) Norms). We end up with\n", + "\n", + "$$\n", + "f(\\bs{x}) = \\lambda\n", + "$$\n", + "\n", + "This is a usefull property. If $\\bs{x}$ is an eigenvector of $\\bs{A}$, $\n", + "f(\\bs{x}) =\\bs{x^\\text{T}Ax}$ will take the value of the corresponding eigenvalue. We can see that this is working only if the euclidean norm of $\\bs{x}$ is 1 (i.e $\\bs{x}$ is a unit vector).\n", + "\n", + "### Example 7\n", + "\n", + "This example will show that $f(\\bs{x}) = \\lambda$. Let's take again the last example, the eigenvectors of $\\bs{A}$ were\n", + "\n", + "$$\n", + "\\bs{Q}=\n", + "\\begin{bmatrix}\n", + " 0.89442719 & -0.4472136\\\\\\\\\n", + " 0.4472136 & 0.89442719\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and the eigenvalues\n", + "\n", + "$$\n", + "\\bs{\\Lambda}=\n", + "\\begin{bmatrix}\n", + " 7 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So if:\n", + "\n", + "$$\n", + "\\bs{x}=\\begin{bmatrix}\n", + " 0.89442719 & 0.4472136\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$f(\\bs{x})$ should be equal to 7. Let's check that's true.\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 6 x_1^2 + 4 x_1x_2 + 3 x_2^2\\\\\\\\\n", + "&= 6\\times 0.89442719^2 + 4\\times 0.89442719\\times 0.4472136 + 3 \\times 0.4472136^2\\\\\\\\\n", + "&= 7\n", + "\\end{align*}\n", + "$$\n", + "\n", + "In the same way, if $\\bs{x}=\\begin{bmatrix}\n", + " -0.4472136 & 0.89442719\n", + "\\end{bmatrix}$, $f(\\bs{x})$ should be equal to 2.\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 6 x_1^2 + 4 x_1x_2 + 3 x_2^2\\\\\\\\\n", + "&= 6\\times -0.4472136^2 + 4\\times -0.4472136\\times 0.89442719 + 3 \\times 0.89442719^2\\\\\\\\\n", + "&= 2\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Quadratic form optimization\n", + "\n", + "Depending to the context, optimizing a function means finding its maximum or its minimum. It is for instance widely used to minimize the error of cost functions in machine learning.\n", + "\n", + "Here we will see how eigendecomposition can be used to optimize quadratic functions and why this can be done easily without cross terms. The difficulty is that we want a constrained optimization, that is to find the minimum or the maximum of the function for $f(\\bs{x})$ being a unit vector.\n", + "\n", + "### Example 7.\n", + "\n", + "We want to optimize:\n", + "\n", + "$$\n", + "f(\\bs{x}) =\\bs{x^\\text{T}Ax} \\textrm{ subject to }||\\bs{x}||_2= 1\n", + "$$\n", + "\n", + "In our last example we ended up with:\n", + "\n", + "$$\n", + "f(\\bs{x}) = 7y_1^2 + 2y_2^2\n", + "$$\n", + "\n", + "And the constraint of $\\bs{x}$ being a unit vector imply:\n", + "\n", + "$$\n", + "||\\bs{x}||_2 = 1 \\Leftrightarrow x_1^2 + x_2^2 = 1\n", + "$$\n", + "\n", + "We can also show that $\\bs{y}$ has to be a unit vector if it is the case for $\\bs{x}$. Recall first that $\\bs{x}=\\bs{Py}$:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "||\\bs{x}||^2 &= \\bs{x^\\text{T}x}\\\\\\\\\n", + "&= (\\bs{Py})^\\text{T}(\\bs{Py})\\\\\\\\\n", + "&= \\bs{P^\\text{T}y^\\text{T}Py}\\\\\\\\\n", + "&= \\bs{PP^\\text{T}y^\\text{T}y}\\\\\\\\\n", + "&= \\bs{y^\\text{T}y} = ||\\bs{y}||^2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So $\\norm{\\bs{x}}^2 = \\norm{\\bs{y}}^2 = 1$ and thus $y_1^2 + y_2^2 = 1$\n", + "\n", + "Since $y_1^2$ and $y_2^2$ cannot be negative because they are squared values, we can be sure that $2y_2^2\\leq7y_2^2$. Hence:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 7y_1^2 + 2y_2^2\\\\\\\\\n", + "&\\leq\n", + "7y_1^2 + 7y_2^2\\\\\\\\\n", + "&=\n", + "7(y_1^2+y_2^2)\\\\\\\\\n", + "&=\n", + "7\n", + "\\end{align*}\n", + "$$\n", + "\n", + "This means that the maximum value of $f(\\bs{x})$ is 7.\n", + "\n", + "The same way can lead to find the minimum of $f(\\bs{x})$. $7y_1^2\\geq2y_1^2$ and:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "f(\\bs{x}) &= 7y_1^2 + 2y_2^2\\\\\\\\\n", + "&\\geq\n", + "2y_1^2 + 2y_2^2\\\\\\\\\n", + "&=\n", + "2(y_1^2+y_2^2)\\\\\\\\\n", + "&=\n", + "2\n", + "\\end{align*}\n", + "$$\n", + "\n", + "And the minimum of $f(\\bs{x})$ is 2.\n", + "\n", + "### Summary\n", + "\n", + "We can note that the minimum of $f(\\bs{x})$ is the minimum eigenvalue of the corresponding matrix $\\bs{A}$. Another useful fact is that this value is obtained when $\\bs{x}$ takes the value of the corresponding eigenvector (check back the preceding paragraph). In that way, $f(\\bs{x})=7$ when $\\bs{x}=\\begin{bmatrix}0.89442719 & 0.4472136\\end{bmatrix}$. This shows how useful are the eigenvalues and eigenvector in this kind of constrained optimization." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Graphical views\n", + "\n", + "We saw that the quadratic functions $f(\\bs{x}) = ax_1^2 +2bx_1x_2 + cx_2^2$ can be represented by the symmetric matrix $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " a & b\\\\\\\\\n", + " b & c\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Graphically, these functions can take one of three general shapes (click on the links to go to the Surface Plotter and move the shapes):\n", + "\n", + "1.[Positive-definite form](https://academo.org/demos/3d-surface-plotter/?expression=x*x%2By*y&xRange=-50%2C+50&yRange=-50%2C+50&resolution=49) | 2.[Negative-definite form](https://academo.org/demos/3d-surface-plotter/?expression=-x*x-y*y&xRange=-50%2C+50&yRange=-50%2C+50&resolution=25) | 3.[Indefinite form](https://academo.org/demos/3d-surface-plotter/?expression=x*x-y*y&xRange=-50%2C+50&yRange=-50%2C+50&resolution=49)\n", + ":-------------------------:|:-------------------------:|:-------:\n", + " | | \n", + "\n", + "\n", + "\n", + "With the constraints that $\\bs{x}$ is a unit vector, the minimum of the function $f(\\bs{x})$ corresponds to the smallest eigenvalue and is obtained with its corresponding eigenvector. The maximum corresponds to the biggest eigenvalue and is obtained with its corresponding eigenvector." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conclusion\n", + "\n", + "We have seen a lot of things in this chapter. We saw that linear algebra can be used to solve a variety of mathematical problems and more specifically that eigendecomposition is a powerful tool! However, it cannot be used for non square matrices. In the next chapter, we will see the Singular Value Decomposition (SVD) which is another way of decomposing matrices. The advantage of the SVD is that you can use it also with non-square matrices." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# BONUS: visualizing linear transformations\n", + "\n", + "We can see the effect of eigenvectors and eigenvalues in linear transformation. We will see first how linear transformation works. Linear transformation is a mapping between an input vector and an output vector. Different operations like projection or rotation are linear transformations. Every linear transformations can be though as applying a matrix on the input vector. We will see the meaning of this graphically. For that purpose, let's start by drawing the set of unit vectors (they are all vectors with a norm of 1)." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "t = np.linspace(0, 2*np.pi, 100)\n", + "x = np.cos(t)\n", + "y = np.sin(t)\n", + "\n", + "plt.figure()\n", + "plt.plot(x, y)\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we will transform each of these points by applying a matrix $\\bs{A}$. This is the goal of the function bellow that takes a matrix as input and will draw\n", + "\n", + "- the origin set of unit vectors\n", + "- the transformed set of unit vectors\n", + "- the eigenvectors\n", + "- the eigenvectors scalled by their eigenvalues" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "def linearTransformation(transformMatrix):\n", + " orange = '#FF9A13'\n", + " blue = '#1190FF'\n", + " # Create original set of unit vectors\n", + " t = np.linspace(0, 2*np.pi, 100)\n", + " x = np.cos(t)\n", + " y = np.sin(t)\n", + "\n", + " # Calculate eigenvectors and eigenvalues\n", + " eigVecs = np.linalg.eig(transformMatrix)[1]\n", + " eigVals = np.diag(np.linalg.eig(transformMatrix)[0])\n", + " \n", + " # Create vectors of 0 to store new transformed values\n", + " newX = np.zeros(len(x))\n", + " newY = np.zeros(len(x))\n", + " for i in range(len(x)):\n", + " unitVector_i = np.array([x[i], y[i]])\n", + " # Apply the matrix to the vector\n", + " newXY = transformMatrix.dot(unitVector_i)\n", + " newX[i] = newXY[0]\n", + " newY[i] = newXY[1]\n", + " \n", + " plotVectors([eigVecs[:,0], eigVecs[:,1]],\n", + " cols=[blue, blue])\n", + " plt.plot(x, y)\n", + "\n", + " plotVectors([eigVals[0,0]*eigVecs[:,0], eigVals[1,1]*eigVecs[:,1]],\n", + " cols=[orange, orange])\n", + " plt.plot(newX, newY)\n", + " plt.xlim(-5, 5)\n", + " plt.ylim(-5, 5)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAEBCAYAAABi0PBzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl0Vvd95/H3XZ7n0b5LaENISOgCAmM2g21MbLMZD04d05kkTuppTqZN2qZJz8yZSXqmbXpy0jZJOzld4mnTaU/jOq2z13bseAHHGLANmM1msS+bkBCSQBtof5Z77/zxCAxh0XOl+6z6vs7JyfGj+/vdL0J8dO/v/u7vpziOgxBCxEpNdgFCiPQioSGEcEVCQwjhioSGEMIVCQ0hhCsSGkIIVyQ0hBCuSGgIIVyR0BBCuCKhIYRwRUJDCOGKnuwCgACwEugCrCTXIsRMogFVwDtAMNZGqRAaK4FdyS5CiBnsPmB3rAenQmh0AQwMjGDb3r5xW1qaR1/fsKd9xls61bxv3242b34obeq9Ip2+x1fEo2ZVVSguzoWJf4OxSoXQsABs2/E8NK70m27SpebR0VEgfeq9ltR8HVfDAjIQKoRwRUJDCOGKhIYQwhUJDSGEKxIaQghXJDSEEK5IaAghXJHQEEK4IqEhhHBFQkMI4YqEhhDCFQkNIYQrEhpCCFckNIQQrkhoCCFc8Xw9DcMwvgr8KbDYNM2jXvcvbi3SZRI+ug17ZAC1qBJf833o1fOTXZbIMJ6GhmEYy4DVQJuX/YrJhU/tYfz176JkFaCW1BI5e4jIiTfRG1aQtfYzKIHcZJcoMoRnoWEYRgB4EvgksMOrfsXk7NFLjO/6HlpFE9kP/w8UXxZOJETovZcJHXyOkWc7yHnoD1ALK5NdqsgAXo5pfA34vmmaZz3sU8QgfOw1CAfJuv+zKL4sABTdT2DZR8ne8mUIjjD6wjexBy8muVKRCRTHmf66g4Zh3A18HVhvmqZjGMZZYEuMYxr1QOu0i5ihHMfh3JO/i6+shqpP/NFNjwldbKfz+3+C6gtQ/ZlvoOcVJ7hKkeIagLOxHuxVaHwF+CIQmvioFrgAfMY0zVcnaV4PtPb1DXu+cGp5eT49PUOe9hlvbmu2By8y8oP/ReDeT+NvWX/L46zes4w+/+eoJbPJ2fJlFN0/7Vp37tzG1q2PZfz3OBXEo2ZVVSgtzQOXoeHJ7Ylpmt8wTbPaNM160zTrgQ5gUwyBIabJungGAK2y+bbHaWX1ZD3wOeyLpwm++XQiShMZSuZppDn7UhcoSkyDnL6G5fiXPkLY3EX45FsJqE5korjsezJxtSESwB7qQcktifl2w7/8Uawuk/FdT6HNakItqIhzhSLTyJVGmnPGBlGyC2M+XlE1sh78HCgq4zv+Ccex41idyEQSGmnOGR9Cycpz1UbNKyXrnsexuk8QPrItTpWJTCWhke4ioatzM9zQm9eg1S0huP+n2EO9cShMZCoJjTTnWBHQ3A9NKYpC1ponAIXxN5/Gi0fvYmaQ0Eh3toWialNqquaVEljxMaz2d4mcPeBxYSJTSWikO0WZ1mCmb9EG1JLZBN9+BicSmryBmPEkNNKdqoM99dBQVI3APY/jDPcReu9lDwsTmUpCI80pqgZWeFp96NUL0BtWEDr8AvZwv0eViUwloZHufFk4keC0uwms+jjYNsH9/+FBUSKTSWikOcWfhRMam3Y/akE5vpZ1RE7sxuo/50FlIlNJaKQ5xZcNoXFP+gosfQT8WQT3/tiT/kRmktBIc0ogFyc47E1fWXn473wE69x7RLpMT/oUmUdCI80p2fk4Y0OeTc7yL1qHkl1I6J2fyoQvcVMSGmlOySoAx4LQqDf96QH8Sx/B6j6Bdf6YJ32KzCKhkeaU7HwA7LHLnvXpW/ARlNwSgvt/Jlcb4gYSGmlOyS0BwBm55F2fmg//so9iXzyD1XHEs35FZpDQSHNq3pXQ8HZSlq95DUpeKcGDz8vVhriOhEaaU3KKADyfyaloOv4lD2NfOIXV+b6nfYv0JqGR5hTdj5KVjzPc53nfPuM+lJwiQgef97xvkb4kNDKAUlAel4V0FN2Pf8lmrK4PsC6c8rx/kZ4kNDKAml8Rt93TfPPvh0AuocMvxqV/kX4kNDKAml+GM9yHY1ue9634Avhb1hNpO4Q1cN7z/kX6kdDIAGpBBTh2XMY1AHyL1oPmJ/TuS3HpX6QXCY0MoBRFN0qyL3XHpX81Kx/f/LVETr6NPTIQl3OI9CGhkQGu7K5mX+6K2zn8izcCNuFj2+N2DpEeJDQygJKVD4HcuF1pQPQWSK9fTuj46zhhb17FF+lJQiMDKBN7udqX4nelAeC/4yEIjRI2d8f1PCK1SWhkCK24GvtSZ3zPMasJtaKR0NFXcaaxmLFIbxIaGUItrsUZG8QeG4zrefyLN+EMXsQ6915czyNSl4RGhlBLagCw4zyXQm9YhpJbTOio7AE7U0loZAi1eCI0+uMbGoqq41vwANb5YwSC3q3hIdKHhEaGUHKKok9QErCSuG/B/aDplA/IOqIzkYRGhlAUBa20Dqsv/qGhZhegN66i5HIrdtCbZQZF+pDQyCBqaR12/7m4vIPyq/wL16E5EYaOvBH3c4nUonvRiWEYpcDTQCMQAk4CnzNNs8eL/kVstNI6wlYY+/IFtOLq+J6rYi4jWSX4DrxMoO5eFEWJ6/lE6vDqSsMBvmWapmGa5mLgNPANj/oWMVJL6wCw+9oTcr7eombCvR1Y3ScScj6RGjwJDdM0+03T3HHNR3uAOV70LWKnFleBpmP1nk3I+QYK5qBm5RI+9lpCzidSg+djGoZhqMDvALJGXIIpqo5aUofdczYh53NUnbw7HiDSegB7VB6/zhSejGn8ir8DhoHvuGlUWpoXh1KgvDw/Lv3G03RqVuqaGTryBmVluShKfMe5t259jFBvB4P7XiDQuZ+iux+N6/m8NNN+LrzkaWgYhvFXwDzgEdM0Xb2c0Nc3jG17u1R+eXk+PT1DnvYZb9OtOZxXgxMa4+KpU6hFVR5WdqOdO7exdetjaJXNDOx/lVDjg2kxIDoTfy5uRlWVKf2y9uxXkWEYfw4sBx41TTPoVb/CHbW8HgCrpzVh5/QtuB9n8AJW1wcJO6dIHk9CwzCMFuAPgWrgLcMwDhuG8R9e9C3cUYuqQfcnNDT0hhXgzyH8/o6EnVMkjye3J6ZpHgNS/7p0BlBUDa28Aevi6cSdU/fja76X8PHXccaHUbLiMz4lUoPMCM1AWkUjdm87jhVO2Dl9xn1gRwifejth5xTJIaGRgdSKRrAj2L1tCTunVlqHWlZP2NyVsHOK5JDQyEBaxVwArItnEnpen3Efdl87VgLDSiSehEYGUnOLUfJKE76Voq9pNWg6YXNnQs8rEktCI0Nps5qwLpzEcbyd+3I7SiAXvX4F4VN7EjqeIhJLQiNDaZXzcEYG4rbr2q34jDUQHCHSdjih5xWJI6GRobRZ8wCwLpxM7HmrF6LkFBE+8WZCzysSR0IjQ6kls8GXhdWd2NBQVBXfvHuwzh2J+8roIjkkNDKUoqpoFY0JDw0Afd694FhETu1J+LlF/EloZDCtqhm7vwMnOJLY85bUROdsyC1KRpLQyGBa1XzAwepK/Mpavnn3YPe1YcV5HxaReBIaGUwrbwBNJ9Kd+K0G9MZVoKhETsq08kwjoZHBFN0fHdfoSnxoqDmFaDULCZ/eg+PIvq+ZREIjw2mVzdi9Z3FCYwk/t6/pbpyh3oTPTBXxJaGR4bSq+eA4SVkxXG9YDrpfblEyjIRGhtMqm0DViXS+n/BzK74s9DnLCJ/Zh2NHEn5+ER/xWFhYpBBFD6DNasSaRmg4jkN3/ygnOy7TfmGIC/2jDAyHuDSo8uyRl1GA3CwfJQUBZhXnUF+Zj1FXRElBFr6mVURO78HqOI5ed4d3fzCRNBIaM4BWvYDQgedcr6rV2TvC7iNd7P/gIr2XxwHI8mtUleZQWZJDrjrE3LmVDI8EGRmL0D84zgdtA2yLRAc+a8pzWdVcwlpfDuHTeyU0MoSExgygVS+AA88S6TLxNSyf9PhT5y/z/O5Wjrb2o6kKLQ0lPLx6DkZdEZUlOVdXHN+5s5utW++8bpVsy7Y53zPC+20DHDrRw8/ePEcgt5rlp95hYOF/pnpWUdz+nCIxJDRmAK2iMbrYcOfx24ZG/+A4P3jtJPvNHgpyfDy2di5rl1RTkOuP/VyqSt2sfOpm5bPprjouXhrjyO4wvs5TPP1vz1Ky6G62rm0kJ0t+9NKV/M3NAIqmo1U2Y50/fstj9hzv5ulXTmBZNo/e18CmlXUE/Nq0z11RlM2DD69n+OkX2JTTzV8eOs/hk7389iMLMeqKp92/SDx5ejJD6LUt2Je6sIf7r/vcth3+ffsJ/vH549SU5fK1z97FR+9t8CQwrlBUDV/jSmpCZ/jfj9+BX1f51jOH2PbOuYQuEiS8IaExQ2g1iwCwzh+7+lnEsvn7546yfX8HG1bM5sufWkpFcU5czq/PXQmRELPDrfzJb65k6bxynnntJD/ecVqCI81IaMwQakktSnYBkY5oaNi2w3efP8YBs4dPPNjEJ9fPQ1Pj9+OgVRrR85/ZR3ZA53c/togHltXw8t52fvpGYhdAFtMjYxozhKIoaDUtWB1HcRybH71++mpgbLyrLv7nV1X0+uWET76JEwmi6gE+vaEZx3b4xZ42ygqzuH9pTdzrENMnVxoziF7bgjM+xHv7D/PqO+dYv7w2IYFx9fwTtyiR9veAaJB9eqPB4rml/Nu2E7R2yUpf6UBCYwbRaqPjGif2vkljdQH/5cGmxJ6/ykDJyidy5p2rn6mqwm9/dCGFeX7+8efHCUeshNYk3JPQmEHUnCIG9Aqa1A4+u2UhupbYv35F1dDrlxE59x5OJHT189wsH5/ZvIAL/aO8tKc9oTUJ9yQ0ZpC27iH2D1UwV+9hVl5y9uvWG1ZAePyGOSMtDSWsMMp5aW87l0dCt2gtUoGExgzywltnaWU2KnZS3nqFiSnt/mzCrQdu+NrH1s4lFLbYvv9cEioTsZLQmCH6B8c5eLKH+juWRrc2OPdeUupQNB297k4ibQdveF2+qjSXpc3lvHG4k3BEVvtKVRIaM8Se4xdwHLhv6Wz0moVE2t9L2qQqvWEFBEewOm9chnDtkmqGx8IcOZPYneFE7CQ0ZoiDJ3poqMqnoigbrW4Jzkg/9kBHUmrRZy8CzU+k7eANX2tpKCY3S+fQiZ4kVCZiIaExA4yOR2jtGmRRQykA+uzouhZX5kskmqIH0GtbiJw9dMPVjqaqLKwv4XjbQFJqE5OT0JgB2i4M4Tgwr7YQADW3GLW0Dqv93aTVpNcvi17t9LXd8LWm2kIGhoIMDAWTUJmYjGfTyA3DaAaeAkqBPuAJ0zQTvyeguEFnb3SHtdqKD1ft0uuWEDr8Ik5wBCWQm/CatLoloChEzh5CK6u/7mu15dE6O3tHKM4PJLw2cXteXmn8A/CkaZrNwJPAdz3sW0xD3+A4uqZSeM1iOnrdEnBsIueOJKUmNbsAbda8m45rlBdmAdEnPiL1eBIahmFUAMuAZyY+egZYZhhGuRf9i+kZGQuTl61fXaYPQC2fG53S3XY4aXXp9Uux+85hD/Ve93l+TjTcBkdlklcq8ur2ZDZw3jRNC8A0TcswjM6Jz2MaBt+3bzejo6MelRO1detj7Ny5zdM+4y0eNXd2KUTCyg391gXKKWw9yDtvvAKK+98f4+PD9Pb3sHPnrinVFQiNshD44Jc/oLfYuPq57QBovLbvNPlh7+9w5eciKicnh82bH3LdLmVejZ9K8bHYuvWxuPQbT17XfO4HB7l8ooetWzdd9/mIWcOFn3yLh1cYZNcvvrFh8DK8/z2480tAdA2Okyffo8d8ldKebSywD3Lk2R9T3/J7LF81tb+/c39/gOZci49c82cOhi3+9e0X2HSvwdbNC6bU72Tk52LqvAqNc0CNYRjaxFWGBlRPfB6Tvr5hbNvbyUbl5fnXrZSdDuJRs0b0Uv/ixcHrblGc/EbQdHrffYus3Prr2vi7XiXv3T8mlD+fd/rnoHT+EmP0NQzlAgYw5OTxJh/h7shO9r9fQM/ce6dWXM1ixo69xsXOHhTf9WMZAU2Jy9+f/FxEqapCaWnsW1pcbefFyU3TvAgcBj458dEngUOmacoMnRRQkh8gFLYZGb9+2rbiC6BVL2Tw9CF2dER/FJRgH9rbX6Rw7+fQxi+S3bOTtaf/G/eN/TujSh478j/HWwueYXDLAbpLP8VxfRWLQzsZD05tr1h9zp1gR4hc8wJb/2D0Uas8OUlNXj49+Tzw+4ZhnAB+f+K/RQqoLI0+Uj3fM3zd592jCj8M3kX2WA+XL5znld2/QHtpEyUXfn7dcfuLf4v3Vr9O7qPbaVn3FeYZq/H7ooOVl6o2k62M0XrirSnVplXOA3821jUDsud7o3VWlSX+UbCYnGdjGqZpfgCs8qo/4Z36ynwATncOYtQV4zjwo9M+vnUoQCC4msf4ZxqOfZOW/LeJoDKoleFXbXyKg4LDEvZzueQL3OzmsW7xZuj4KlrnNli8znVtiqqj1y4m0v4ujuOgKAqnzw+Sl+27+uhVpJaUGQgV8VOQ66emPJdjrf0saqnnj/ZlsfdC9K9+WC3miNpMbiTEsfveYVGpTVCBWOdi1tXO5TQGC0a3EYx8HV13/yOl191B5Mw+7L521NI6jrb2YdQVXTf+IlKHTCOfIe5sKuOD9gG+vEvhclDBKLJoLrJoLrQ4mreSpkgrrV39qFP4d9peuIkSpZ+zrVOb86HVRp/cRM69x+nzg1waDnFnU9mU+hLxJ1caM8TqlkpefLuNJ0pb2bxqznVfsy8vYuSHsJl9wEbXfec1rIfDf0uofRvMW+G6vZpTiFpWj3XuCDu7mvD7VJY1y7zAVCVXGjNETVku8+uK2L6/44YFbtTCStTiGiJnb1xNKxZz6lrodqqYO/QKzhQfm+uzFxO5cIp3j7Vzz6IqsgPy+yxVSWjMIA/fPYeBoSA7Dp+/4Wt6w3Ks7hPYY+63EVBUlRN5G5lNG+c7pzaDU69bguLYzNM72XTX7Cn1IRJDQmMGaakvYcGcYp7f3XrD4r16wwpwHCJnb3yBLBZa7QYABs5sn1L78045I7af+ysGmBWnrSGFNyQ0ZhBFUfjUhmaCYYunXzGvWwBHLZmNUjDruj1J3KhvWsmgk0/1wKuu24YjNv/8C5MzTg1zHNkUOtVJaMww1WW5PLa2kYMneti2/8Pl/hRFwTd3BVbn+zjjw7fp4eb8Pj/HstYx33mX3r4uLo7F/hjmmddOcu7iMLMWroDRAexLna7PLxJHQmMG2njXbJbOK+OHvzx53Vqc0VsUm0jboSn1G6qK3qIcee91Pr8jO6Y2L+9tZ8eh82xeXUfDsujcQKvj6JTOLxJDQmMGUhWF336khfrKAv7+uaMcPhVdz0Itq0fJKyU8hVuU7xzx89c9Gwk5Psr7t8V0pbF9/zl+9PopVsyvYOvaRtT8MtTCyqs724vUJKExQwX8Gv/940uoLc/jOz89wo5D51EUBX3uSqyOY65vUZ4wQnwwXMgu+z7WqLvJ5fItj7Vthx/vOMW/bz/JsuZyfmvLQtSJWWVa7SKszg9wrPC0/nwifiQ0ZrDcLB//85NLaWko4V9fMfnnF45jz14BjuX6KUqBH/5s1TgvWpvxKRHWcvOnKANDQb79o8O8tKed+++s5vO/1oJP//DHUK9tASuEdeHUtP5sIn4kNGa47IDOl379Dj56bz1vHevmj5/tJpRVQvj0Xtd93Vdt4auNvrS2npev+1rEsnntQAd/9E97Odlxmd/cPJ/f2GTcsAm1VjUfFPWGvV5F6pBpdwJVVXj0vrksnlvKUy+bvDFQzbrxYxw+coY7Whqu3jrE4vMri3nvxWXcr2xnzAoStHX2Hr/AL/a0cXFgjAVzinniIeOWczEUfzZqeQOR88cJrNzq1R9ReEhCQ1zVWFPIVz+zgkN7VdQjR9m//VX+9Y1FrFo4izubyphbXXjdrcTN5PlgsHoDH5wI88Zzb7GvTWM0GGHOrHy+uPUOljSVTvr2ql6zMLq9QmgMxR/bUxiROBIa4jqaqrJ89XJG2it5pLCHUa2A7fs7eGXfOXRNZXZFLlWluRTnB7jQqaDvPM3ly2MMj4XpGxyns3eUzt5mbKeZLC3MnfMr+MiSappnx/6qu1azEA79nEjbIXzz7onzn1i4JaEhbqAoCr6m1eQceI4vfGo2QX0h77cNcLLjEu0Xhnm/bYDLwyFsR2V/W3ROhaYqlBQEmFWSw51Nc1jW82e05JiMbN7leqVzbVYTAMG9P5LQSEESGuKmfI2rCR14lsjpvWTf8RDLmsuve13ddhxe37GdLVu2cGlgFL9Pve5KIvdoEzmnXic48C6RkqWuzq1oPrSq+TihEc/+PMI78vRE3JRaVIla3kD41J6bf11R8GmQl+Mn4NduuPUIVkXX5Qh0TW2vDq1mAXZfx5SmtIv4ktAQt+RrXI3dexb7UrfrtpGSpdj+UvzdUwyN6gWAQ6TbnFJ7ET8SGuKW9Ma7AIXwqbfdN1Y0glXr0IdOoQ2fcd1cK28AzY/V+YH7c4u4ktAQt6TmFqPVLCB86u0pva4eqoy+wOafwi2KovnQKpskNFKQhIa4Ld+8e3AGL2JPYVp3qGINjpY99XGNSgO7vwMnKAOiqURCQ9yWXr8cND/hk1PYDEnLIlSxFr3/IMq4+832tKpmwJH3UFKMhIa4LcWfjd6wjPCZfVN68zRYtQEFh0D3a67bahVzQdWwuk+4biviR0JDTMrXdA8ER4i0v+u6bajyQRxFm9q4hh6Ibm3QJaGRSiQ0xKS02haU7EIiJ9503dbxFxMuXYm/ZzdE3I9NaJXNWD2tOJHQ5AeLhJDQEJNSVA193j1E2t/FHr314jq3EqraiGKH8F/Y6bqtXtkMdgSr96zrtiI+JDRETHzGmuj6obeYIXo7wYlHr4EpTPRSZzUCTOnpjYgPCQ0RE624BrV8LuETu1zP2bBza4kULMDf/Uuw3Q2mqtkFKAWz5AlKCpHQEDHzGWuw+zuwe9tctw1WbUANX8bXt991W21WI9aFU7IfSoqQ0BAx8zWuAk0nbO5y3TY08QKbv8v9ZkrarCacsUGcIfdzPYT3JDREzJRALnrDCsKn3nL9NCNSuBAruzo6O9TlFcOV9TXkFiU1SGgIV3zzPwKhMSKtLm8zFIVg1Qa0sfNol9931VQtrgHdj9XT6u6cIi6mvQiPYRhPAuuAIDAMfMk0Tfc3riItaFUGSkEF4Q/egMIVrtqGqjaSc+YpAl2vMlq0MOZ2iqqhldVLaKQIL640XgIWm6a5BPgL4Ice9ClSlKKo+Iy1WF0mgdCgq7bh0pXYvoIprbGhljdg957FsSOu2wpvTTs0TNN8wTTNK8/R3gZqDcOQ254M5jPWgKJSesnlGIPqIzTrQXyXj6OOdEx+/DW0irlgRbD73bUT3vP6H/cXgBdN07Q97lekEDWnCH3OUkoun8GJuJt3Eaya2kQvrXwuANZF9wv6CG9NOqZhGMZBoO4WX55lmqY1cdwngMeBtVMppLQ0byrNJlVenh+XfuMpHWoeXb2Z7rMHGDH3Ut6yJvaGhQ/DwQB5vb8kb/UXY27mlOXRlpWHf7jTk+9POnyPf1Wq1DxpaJimuWyyYwzD+BjwZ8A60zQvTKWQvr5hbNvbyTvl5fn09Ax52me8pUvNTv5cgr48Bg++yljFEldtC8ruxd/9Bn3nz+H4i2Jup5TWMdJxCqb5/UmX7/G14lGzqipT+mU97dsTwzC2AN8GNpmmeXa6/Yn0oCgqfUVNjLcfw7rU6aptqGo9imNFp5W7oJbOia7kZclgaDJ5MabxL4Af+IlhGIcn/lfqQb8ixfUVzgVVJ3z8dVftgpXrcVDcj2uUzQE7gj1w3lU74a1pz9MwTbN88qNEJoro2eQtuJthczeBlVtRfFkxtXOyyomULI2+Km+NgxZbO62sHgC7rz0aICIp5NGomJaCFZshPOZ6DdFg1QYUaxR/T+wL+ygFFdGZofLYNakkNMS0BGqaUcvmED72mqu3UKeyvYGiqqjFtdj951zXKbwjoSGmRVEU/C3rsQfOY3XFvkeJld9IJK+RQPd2cKyY22mltdh95+Q1+SSS0BDTpjeuQgnkET7qbmAzVLURNdiH3n845jZqyWyc8SGcMffLDgpvSGiIaVN0P74F9xM5ewh78GLM7a7ODnWxxoZaUguA3S9PUJJFQkN4wteyDhSV0NHtMbeJFC/BCpRHF+aJ8XZDLaoCwHY5N0R4R0JDeELNLUZvXEnY3IkTGoutkaISqlqPPnIWbfh0bE2yCyGQiz0goZEsEhrCM/5FGyE8TviD2Lcq+HAZwNjGQxRFQS2qkiuNJJLQEJ7RKuaiVTYTOvpqzOtehMruxtZzXY1raEXVcqWRRBIawlP+JZtxhvuInHkntgZagFDFR/ANHEYdi+1dR6WwMvoEJTQ6jUrFVEloCE9pdUtQi6oIvftSzHMprt6ixLhJtFo4CwD7cuxPaoR3JDSEpxRFxXfHQ9h97Vjnj8fUJjTrARxFj/kW5cPQ6J5ynWLqJDSE53zz7kHJKSJ0+IWYjnf8BYTLVuHrfRslPPmaEWpB9B1Je3BKS7eIaZLQEJ5TNB/+OzZhdb4f814lwaoN0U2iL74xef96ACWnCGeod7qliimQ0BBx4VvwAARyCR1+MabjP3yBLbbJYUpeCfZw35TrE1MnoSHiQvFl4V+0kUjbIay+yd9KtXOqCRctntgkevLd29S8MuwhCY1kkNAQceNftB582YQOPhfT8aHK9aiRIXy9eyc9VskrxRnuw3Fk4ftEk9AQcaMEcvEv3kCkdT9WDGtgBCcevQZimB2q5pWAHcEZH552ncIdCQ0RV/5FG6NXGwcmv9qwCgysnNn4u7dP+gKbklMIIK/IJ4GEhogrJSvvw6uNvvZJDlYIVm1EG+tCv3z09ofmRLc+cEYlNBJNQkPEnX/xJvDnEHznp5MeG6paH23TefuJXqqERtJIaIi4UwK5+O98GKv9XSJsyy4xAAAHYUlEQVTdJ297bLhkBba/eNLtDZRALoCMaSSBhIZICP+iDSjZhYT2/fj276SoOqHKdeiDJurIbW5n/NmAghMa8bxWcXsSGiIhFD2Af/mvYXWfwGq7/ZqgwcorywDe+mpDUVQI5OCMS2gkmoSGSBjf/LWoRVWM7/3hbdfbCFXch6NlRZcBvA3Fny2vxyeBhIZIGEXVCaz+OM7l7ttv5ahnEypfg69vP0qw/9b9aX6wwnGoVNyOhIZIKG32ErSahQQPPHvbQcxg1UYU7NtvEq37cCQ0Ek5CQySUoigE7n4cQmME3/nJLY8LVT6Ig3r7NTZUHWQH+YST0BAJp5XU4lu0gfD7b2D1tN70GCdQSrh0Of6eXRC5zermihKnKsWtSGiIpAgsfxQlu4DxXU/h2DffljFUtRHFGo8Gx83I1oxJIaEhkkLxZxO451PYvWcJH7n5LciVHdhuucaGbYGqxatEcQsSGiJp9Lkr0ecsJbj/P7Av37h0n507h0iBEd0k+iaPaJ3wGIo/OxGlimtIaIikURSFwJonQNMY2/H/bnqbEqxcjxoawNd/4MYOQmMoPgmNRJPQEEml5haTtea/Yl84RejQz2/4+rU7sKmjnWjD0YFTxwrjjA9dfdtVJI6Ehkg6X9Nq9Hn3EDr4HJHO969+roQGiOQ3YWVVEuj8BUW7P446Ft22wBmOTvpS80uTUvNM5lloGIZxv2EYlmEYX/CqTzFzZN37G6iFVYxv/79XFwxWwsOUvrwKNdiLNtaFNtoBTvQWxhroAEAtrExazTOVJ6FhGEY+8E3gJS/6EzOP4s8ma+MXcKwwY6/8NU5oFDt3NiMtX0Fxrh0Eja4Jal9sBUVFLa1LTsEzmFdXGt8G/hKQjSjElGlF1WSv/z3s/k7GXv07nEiQ8frHCZXfe/UYZWIh4Uj7u2gVjSi6P1nlzljTDg3DMDYDhaZp3npOsBAx0mcvJuv+z2J1fsDYL/4PTmiUoaXfxNbzogc4NtbFM9j959DnrkxusTOUPtkBhmEcBG51DWgA3wA2TLeQ0tK86XZxU+Xl+XHpN57SpeatWx8D4lBv+SaGi/K4+NzfMv7c16j46BdR7/467PoD8nNUhnc+g5pTQNW9D6MGpvbINV2+x9dKlZqVWHf2vhnDMNYAPwOuLGpQBgSBvzFN82sxdlMPtPb1DWPb3k4LLi/Pp6dn8r1BU0k61bxz5za2bn0sbvVGuk8y/st/wBnuQ6s0yAqbjAcLsIaHyFr/u/imeKWRTt/jK+JRs6oqV35ZNwBnY2036ZXG7ZimuRuouPLfhmF8D9hvmuZ3ptOvEAB65Txyf/3rhI6/RuTUHkYG/Wh5frIf+gP0uiXJLm/GmlZoCBFvij+bwJ1bCNy5JfqB48ibrUnmaWiYpvmbXvYnxA0kMJJOZoQKIVyR0BBCuCKhIYRwRUJDCOGKhIYQwhUJDSGEKxIaQghXJDSEEK5IaAghXJHQEEK4IqEhhHBFQkMI4YqEhhDCFQkNIYQrEhpCCFdSYREeDaJLj8VDvPqNp3SpOScnB0ifeq8lNV/Xn6tdtKe1RqhH1gC7kl2EEDPYfcDuWA9OhdAIACuBLuDGHYCFEPGiAVXAO0QXBI9JKoSGECKNyECoEMIVCQ0hhCsSGkIIVyQ0hBCuSGgIIVyR0BBCuCKhIYRwJRWmkSeEYRj3A68BX0r1DaoNw3gSWEd0ws0w0Zr3J7eqGxmG0Qw8BZQCfcATpmmeTG5VN2cYRinwNNAIhICTwOdM0+xJamExMgzjq8CfAotN0zyazFpmxJWGYRj5wDeBl5JdS4xeIvrDsQT4C+CHSa7nVv4BeNI0zWbgSeC7Sa7ndhzgW6ZpGqZpLgZOA99Ick0xMQxjGbAaaEt2LTBDQgP4NvCXQG+yC4mFaZovmKYZnvjPt4FawzBS6u/KMIwKYBnwzMRHzwDLDMMoT15Vt2aaZr9pmjuu+WgPMCdJ5cTMMIwA0UD+nWTXckVK/SDGg2EYm4FC0zR/kuxapugLwIumadrJLuRXzAbOm6ZpAUz8f+fE5yltIoB/B3g+2bXE4GvA903TPJvsQq5I+zENwzAOAnW3+jLRS9ANiatocpPUPOvKP0TDMD4BPA6sTVRtM8TfER0rSvWxrbuBFcBXkl3LtTL6hTXDMNYAPwNGJz4qIzq4+DemaX4taYXFwDCMjwF/BaxLpd8yV0zcnpwASk3TtAzD0IgOhs5L5cFFwzD+CrgDeMQ0zZjf7EwGwzC+AnyR6MAtQC1wAfiMaZqvJquujA6NX2UYxveA/Wnw9GQL0d+GG0zTPJXsem7FMIwdwD+Zpvl9wzA+DXzWNM0HklzWLRmG8efA3cB/Mk1zdLLjU41hGGeBLcl+epL2tycZ6l+I/nb5iWEYVz5bZ5pmX/JKuqnPA08ZhvEnwADwRJLruSXDMFqAPyR6dfTWxPe11TTNjyW1sDQ0o640hBDTl/FPT4QQ3pLQEEK4IqEhhHBFQkMI4YqEhhDCFQkNIYQrEhpCCFckNIQQrvx/JqgssuccuUEAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "A = np.array([[1,-1], [-1, 4]])\n", + "linearTransformation(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see the unit circle in dark blue, the non scaled eigenvectors in light blue, the transformed unit circle in green and the scaled eigenvectors in yellow.\n", + "\n", + "It is worth noting that the eigenvectors are orthogonal here because the matrix is symmetric. Let's try with a non-symmetric matrix:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAEBCAYAAABi0PBzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3WlwHOd95/Fvd8+Fm7gJELwJtngfomRZlqhbMmXakkhbkm3JaydObG+8cWqrttap2nJSrmzsOC5XZWPFcWKVo9ixDsvWZVm3SEEHKYkiKfFsgiQIkgAI4r7n6n72xfAUD8wMeqYxg//njcRBz/P8CQx/6H766efRlFIIIUSydK8LEELkFgkNIURKJDSEECmR0BBCpERCQwiREgkNIURKJDSEECmR0BBCpERCQwiREgkNIURKJDSEECnxeV0AEASuAjoA2+NahJhKDKAOeB+IJPumyRAaVwFvel2EEFPY9cBbyR48GUKjA6CvbwTHcfeJ28rKYnp6hl1tM9Nyqeb33nuLdes+nTP1npZL3+PTMlGzrmuUlxfBqX+DyZoMoWEDOI5yPTROt5trcqXm0dFRIHfqPZfUfJ6UhgVkIFQIkRIJDSFESiQ0hBApkdAQQqREQkMIkRIJDSFESiQ0hBApkdAQQqREQkMIkRIJDSFESiQ0hBApkdAQQqREQkMIkRIJDSFESiQ0hBApcX09DdM0/wb4W2CZZVm73W5f5DalHOz2/cSP7cLpPYaKjKAZfvSKBowZi/HNXoWmG16XKS7D1dAwTXM1cA3Q6ma7IvcpJ05sfxPRnc+jhntA96GXz0ArKIF4lFjzO8T2vo5WUk3wE/fin3eV1yWLS3AtNEzTDAIPAV8ENrvVrsh9dudBwm88jNPfgTF9If6rv4Bvzmo0X+DMMcqxiR/9kOgHTxN+9SHsxTcTvPbLctYxCbl5pvF94NeWZR0xTdPFZkWuUsohuvN5otueQiuuoOD272DMXommaRccq+kG/jmr8c1aTuS9J4l99CIqFiZ049fRNBl6m0xcCQ3TND8JrAG+m24blZXFbpRygerqkoy0m0m5UvPGjRuAi9er7Bhdzz1EdM+bFC3+FNXrvoEeKkqu4c/+GX3l5fS98Si+6loqbnrAzbKB3Pken2uy1OzWmcYNwCKg5dRZRgPwkmmaX7Ms6+VkGujpGXZ94dTq6hK6uoZcbTPTcqnmpqZX2LhxwwX1qliEsZf/CbttL4GrPo+28jP0DDkwlPzfSy28HX9nO/3vPE2kvBHfjMWu1Z1L3+PTMlGzrmtp/bJ2JTQsy/oh8MPTfzZN8wiwXu6eTD0qHmXs5f+H3b6P0I1fx7/wurTa0TSN4Ce/hN1hEX7jYYru/cF5YyDCO3KxKFyjHIfw6/+K3baH0No/STswTtP8QYLX/zfUcA/R3UmdsIosyMi+J5ZlzclEu2Jyi7z7OPEj2wle+2X85vWutOmrX4QxayXRHX8gsOgmtGCS4yIiY+RMQ7gitr+J2K6X8C+9jcDS21xtO7jmHoiFie1vcrVdkR4JDTFhdlcL4bcewZixhOA197vevlE1G6PuCqJ7XkU5ske41yQ0xIQ4kVHGXvsZWkEZBbd8K2OTsfxLb0MN92C37clI+yJ5EhoifUrR/eK/o4a6CN38DbRQZubaAPhmLYdAIbHmLRnrQyRHQkOkbdrQUYZ3NxFYfTe+uszOAtYMP/55a4gf2Y6KRzLal7g8CQ2RFic8REPn+wSmzyewan1W+vTNuxriEez2/VnpT1ychIZIS+Sd/8KwY9R89i+y9lCZMX0hGAHix3ZlpT9xcRIaImXx47uJH9xKZ9USAjWzs9av5gtg1F8hoeExCQ2REmXHCL/9a7SyWjorlmS9f9+MJajBTpyRvqz3LRIkNERKorteQg2cIHTtl1EerHVh1M4HEmt0CG9IaIikOSN9RLc/i2/Oanwzl3tSg141Gwwf9slDnvQvJDRECqIfPA2OnZFZn8nSDD961Ryck4c9q2Gqk9AQSbH72ohZTfgX34xeWuNpLUbFTOze4yjl7vorIjkSGiIpkXd/C74QgdWf87oU9IoGiI6iZDDUExIaYlx250HsozsJrLwTPeT9knN6RQMATt9xjyuZmiQ0xLgiHzyNFipx/ZH3dOnl9QA4fR0eVzI1SWiIy7JPNGMf301gxTo0f8jrcgDQgsXgD+EMdXldypQkoSEuK7L9GbSCUvyLb/G6lDM0TUMvqZbQ8IiEhrgk++ThxFnG8k+j+YNel3MevbQaNdTtdRlTkoSGuKToh3+EQCH+RTd5XcoFtOJKnOEer8uYkiQ0xEU5AyeIt3xAYPHNaIECr8u5gFZYBrGwrK3hAQkNcVHRD18Ew8A/Se6YfJxeUAaAGh3wuJKpR0JDXMAZGyTW/Bb+xuvQC8u8LueitEIJDa9IaIgLxPa/AXYc/7LbvS7lkrSCUgCc8KDHlUw9EhriPMqJE9v7OkbDUoxTk6gmIy1QmPifyKi3hUxBEhriPPGW7aiRPgJLb/W6lMs6HRoqOuZxJVOPhIY4T2z3K2ilNRgerZeRtFN3dCQ0sk9CQ5xh9x7H7mwmsPgmNG1yfzQ03QB/CBWVy5Nsm9yfDJFVsf1vgO7DN8Hd3rNF8wUgHvW6jClHQkMAoOJRYgfexjd3zaR4/D0phh9lx7yuYsqR0BAAxA+/D9FR/Itu8LqU5Bl+kNDIOgkNAUDMakIrq8Wou8LrUpKmSWh4QkJD4AyexO6w8C+8Dk3TvC4neYZPLk88IKEhiB14G9DwN17rdSkp0kAWF846nxuNmKZZCfwKmA9EgWbgG5ZlySopk5xSDrHmdzBmLEIvrvS6nNTk0ElRPnHrTEMBP7Isy7QsaxlwCPihS22LDLJPNKOGuvA3fsrrUtIgqeEFV840LMvqBTaf89JW4FtutC0yK968BXxBfHPXeF1KeuTyJOtcH9MwTVMnERjPut22cJey48Ra3sc3Z9WkW85PTF6unGl8zD8Dw8BPU3lTZWVxBkqB6uocmah0jmzVPHrwA4YjI1SuupGiNPrcuHED4N33OKKDryCUVv/yuUifq6FhmuaPgUbgs5ZlOam8t6dnGMdx91SzurqErq4hV9vMtGzWPPbBJggWMVK6gNE0+mxqeoWNGzd49j2ORyM4cZVy//K5SNB1La1f1q5dnpim+ffAlcDdlmXJwo2TnIpHibfuwD/3SjQjEyecWWDHQc/R2nOYW7dclwB/DRwA3jFNE6DFsqx73GhfuC9+fBfEwvjmfcLrUtKmHBt0w+syphy37p7sQe5/5ZR4ywcQLMKoN70uJX1OPHfPknKYzAidgpQdJ966A9/sVWg5fHqvYmGYJFtFTiUSGlOQ3b4PomP4c3VuBqCUglgUzSe3irNNQmMKirdsA38IY8Zir0tJnxMHZYPML8k6CY0pRikncWkyc3li5atcFUvcoJssO9lPJRIaU4zT1YIaG8Q3e6XXpUyIiiUWFJbLk+yT0Jhi4q07QdPwTfbVxsehTu93EizytpApSEJjiokf3YlR24gWysy0/WxRkREAtGChx5VMPRIaU4gz3IPTcyznL03g3NDI7fDLRRIaU0j86IcAGLPyKTTk8iTbJDSmEPvYLrTiSvRpdV6XMmESGt6R0JgilBMn3r4PX8Oy3Fo8+BJUeAiMAOTybeMcJaExRdidhyAWxpi51OtSXKFGB9AKSvIiAHONhMYUYR/fDZqOL5dngZ5DjQ2iFZR5XcaUJKExRcSP78aomY8WyI9blInQKPW6jClJQmMKUJERnK4jGA1LvC7FNWpsAL1QQsMLEhpTQLxjP6By+wG1cyjHRoWH5PLEI7m7mIJImt22D3wBjOp5ab1fKcWJ3lGajw9wtHOIzt5R+oaj9A/qPL3rRTSgKOSnojRIbXkhc6aXYM6aRkVpZh4mU6MDoBRaUUVG2heXJ6ExBdjt+zCmL0x5lav27hHe2tXBtv0n6R4IAxAKGNRVFjK9opAifYh586YzPBJhZCxO72CY/a19vBJPrCk9o7qIq6+o4brl9ZSXuPdgmRrpBUAvLnetTZE8CY0854wO4PS1EUhhn9aDbQM8+1YLu1t6MXSNJXMruPOa2ZizpjG9ovDMbc6mphNs3LjyvFWybcehrWuEfa197DjQxVNvtvDMW0e4elEN66+dQ33VxCdjOSN9AHKm4REJjTxnd+wHwFe/aNxjewfDPPZaM9usLkoL/WxYO4+1K+opLUp+ApWh68yqLWFWbQl3XD2Lk/1jbNp+nM072nlv30luWFXPxrXzKQyl/9FTw6fONCQ0PCGhkefsjgPgC6JXzb7scVv3nuBXLx3Ath3uvn4ud1w1i2Bg4it910wr4L6bG7nzmtk881YLm3a0sbO5mz//7GLMWeldXjgjvWD45bF4j0ho5Dn7xAGM2gVol1jq33EUj73ezKvbjrNgRhlfX7+ImnL353KUFAZ44HaTa5fW8e/P7eFHj+7g/psbuXVNQ8qzOtVQN3pJlcwG9Yjccs1jKjKC03scY/rCi349bjv87JndvLrtOLetmcn//vKqjATGuebVl/K9r17FqsZqHn2tmd9uPpRYJDgFzlA3Wkl1hioU45HQyGN250FAYUxvvOBrjqP4+bN7+MDq4v6bF/DFWxsx9Ox8HAqCPv77PUu5afUMXnz3KL9743BK73eGTqKXVGWoOjEeuTzJY/aJZtAMjJr5F3ztiU0HzwTG7VfPynptuqbxwG0LUY7ij1tbqSoLceOqGeO+T0VGIDqGXipnGl6RM408Znc2o1fNQvvYMv/v7evk5fePceuVDZ4ExmmapvHA7SbL5lXyX68coKVjcNz3OENdiffK5YlnJDTylHJs7K6WC84y+ocj/OeLFvPrS7n35gUeVXeWrmv8+ecWU1Yc4N+e20ssbl/2eGcwERq6hIZnJDTylNPXBvEoRu35ofHEpoNE4w5/un4xPmNy/PiLQn6+tm4Rnb2jvLD16GWPdQZOAKCX1WajNHERk+NTI1xndx4COO9Mo/XEEFv3dHLH1TOZXjG5HpFfMreCNWY1L7x7lIGR6CWPcwZOoBWVyyZJHpLQyFP2ycNooZLzrv3/8M4RCoM+1n3i8hO9vHLP2nlEYzavbjt2yWOc/hPoZdOzWJX4OAmNPOWcPIReM+/MBKjewTDbm7u4cdWMCU3hzqS6yiJWLazmjZ3txE499PZxzoCEhtckNPKQioVx+jswqueeeW3r3k6UgrUr6z2sbHxrV9QzPBZj1+GeC76mwsMQGZHQ8JiERh6ye44CCqNqzpnXth/oYm5dCTXTCjyrKxlL5pZTFPKx40DXBV+z+9sB0KdJaHhJQiMPOd2tAOjVcwAYDcdp6Rhk6dxKD6tKjqHrLJ5Twd7Wvgu+5vQeB0AvH38SmMgcCY08ZHcdQSsoQy+cBkBr5xBKQWNDbiyPt6ChjL6hCH1DkfNed/rawB9CK5784ZfPXBsRM01zIfAIUAn0AF+xLKvZrfZF8pzuI2fOMiCxAhdAQ01u7HvaUJ2os7175LwVv5y+dvTyenm61WNunmn8K/CQZVkLgYeAn7vYtkiSikdx+tsxzlk/o2cwjM/QKUthMR0vVZcl5mD0DobPe93pa8OQSxPPuRIapmnWAKuBR0+99Ciw2jRNmeubZU5fOyiFXjHzzGsjYzGKC3w58xu6pDARboOjZyd5OeEh1NigjGdMAm5dnswE2izLsgEsy7JN02w/9fqFw+AX8d57bzE6OupSOQkbN26gqekVV9vMtInWXNF/iNnA9sNHiRzvB6C9QyMe01z/XkSiYwwM9NPU9Lqr7ToKwOC19w5REktc4ZaMdLAA2N3WxXD/xP4eU/FzcTGFhYWsW/fplN83aWb5pFN8MjZu3JCRdjNpIjV3v/JLhroDfOa+B8+s1nXsse0MHOhi48Y7JlybHbf5aOdmovsfY9Xoc1i/e4xbv/BrykrcG2SNxGz+c8sfuONTJhvXJdY27d/6DL3H4NbPP4DhwiZJU+1z4Sa3QuMYMMM0TePUWYYB1J96PSk9PcM4TmorOI2nurrkvJWyc8FEax49fgitfAbdPWfP2gwSp/onTw6mfYnS1n6Qvv1PsWTgd6zSOgEYppDG+HZO9I0SDbs3PHZ6LCNoaGe+F2OtzWhFFfSOaDAysZ/pVPxcXIyua1RWpj447spP2rKsk8BO4IunXvoisMOyrKQuTYQ7lFKJ5f3OGc8AqCgJEo05jITjl3nvha8NDPWxa8uv6X7mHla+dxs3Df4LMS3Apml/xZvzH6ZYG2VHyecpKnD3rkzvYOJW63l3Tnpa0StnXuotIovcvDz5JvCIaZrfA/qAr7jYtkiCCg+hwkPoFecPFk6vTKza3dY1fNEVwHf36uzoMnjQjBGLxzi4v4ng0d+zKvIKC7QYI6qQtwvuRZu3gfkLrmKprrP3le8DULbiQdf/Hm3dwwDUndojJXFHqIPA3DWu9yVS51poWJa1H/iEW+2J1Dl9p6dZn/98yZzpJQAcah88LzSUgt80+/nB9iB/0bCDvcd+y9Khp1irdQOw0/cp+uo/z7zFt7Gw4Ox2AZFImJXDv6dZNbLoiivp7hl29e9xqG2Q4gL/mVuvTu/xxB2hSu9WGRNnTZqBUDFxzulnM8rPD43SogAzqorY09LLndck5m8Mx+BHW4aoOPEMrwYeZ1n3bgCOanP5sOJr1Cy6ixnVM7jYDc6De17mRm2Al4wv06i7extXKcXulh7MWdPOjL/YXYmFh899AE94R0Ijjzj9HeALXrBdoa9vJ1dVHuWZA5UMDg4ROfE23Xuf4p/Va/gCNoOqhEfiDxJasIGblq9g2ThBUHH8USIqgFPk/i70h9oG6R+OsnLB2dXG7a4WtIJS2YZxkpDQyCNOfwf6tLqzd0iUInT4EYp3/z1ry+/laXUz2373Pe4rfxpb6WxybuIpdR9bfXcQLAzRMOiwOhZm2mX2au440cJyZytbQnfj97s/w7Tpo3YCfp3VC8/OC3S6WtCr5+bM5LR8J6GRR5y+dow6EwAtNkjJju8SbH8BgMb+/2JZYT1/7L2Bq1cvQs25iyUltazQARwguYl1PXufBEDNuw863b0FODAcYeueTq5bXkdBMPHRVNExnL4OAvOudrUvkT55yjVPqHgUNdKLXjYdX/8eyjd/7kxgnLb+ynJ6Y6Vsia2jpKwWX4o//WgsyrKBJzjGbOY3uv+P+Ll3jqCU4o6rz95atbtbASXjGZOIhEaeOL20fzB6kGlNGzBGWlGaHydYSbx4HrHyVaz2NbF4ZjHPvtVy2cV7L+XQvjeo0rpprrwf3eXd2I52DrF5RztrV9RTe87WkPbJxALJuoTGpCGXJ3nCGUzM0lTTr6R35Rs4/jIwQvCxcYAvzR/hb3/5Hr96yeIv7lma0jhB4dHHiCuD+iXuTmeOxR0efn4fRQU+7lk777yvOZ0H0cpq0QsmPnVcuEPONPKEGjyZ+J+6NTgF08FXcEFgANRXFbFh7Xy2H+jilW3Hk2r7iYN+Tna3szq2ie2BW6msqHGzdB59rZljJ4f52rpFFBf4z7yulMLuPIhRe+FetMI7cqaRJ5zBkxAsQguNP6X79qtn0ny8n8dfb6a6LMSqhZdfweDf9gYweJolmiIy+16iNgQMd+p+8d2jbN7RxrprZrGy8fxNndXgSVR4CKPW+53gxFlyppEnnMGT6KXJnQHomsaff3YJc6aX8rNndrPzYPdlj+8LO6yP/4Z2ZzoP7r2TX+xz51brq9uO8cSmg6y5ooaNay/cpDqx6z1ypjHJSGjkCWeoGz2FtTODAYP/ed8KGqqL+envdrF5R9tFj4vY8AnnDRr0Nn5jf4krazW+uST1QdTzanUUv918kN+82szqhdX82frF6BeZUGafaIZAAXp53YT6E+6S0MgDSinUcA9aSdX4B5+jKOTnf31xFUvmVvCfL1k8/Ie9jEXOfxK2N6zxoO/XAGwKfJEffXKMicwc7xuK8JMndvLC1qPcuLKeb961BP8l7v3aJyyM2kY0TT6mk4mMaeQBFR4CO5bSmcZpBUEf3/n8cp59u4Xn3jnC3tY+7r+lkTVmNZqmMTTUzTrjBZqcG/jrm2soDVx857PxxG2HN3a28/umw8Rth6+uu4Lrl9dd8u6NM9qP099B0Lw+rf5E5kho5AE1lBiTSHdpf13XuPv6eSybV8kjL1r87OndzK0r4c5rZlM39Ax+LY4z514WTUs9MCIxm3f3dvLHra2c7Btj0exyvvJp87y5GBdjdxwAwKi7Iq2/k8gcCY084AwntjBM50zjXPNnlPE3X1vDO7tP8NzbR3joqd2U+2q4tvRBlq5cQyzuXPJS4lyRqI11rI/tB7rZtv8ko5E4s2tL+MuNy1mxoDKpuSF2x37wh9CrJudm1VOZhEYeUCO9wMRDAxI7nF2/vJ5PLa1j1/Z32LJ1Jy/2reX5x3bjM3Rm1hRRV1lEeUmQznYNX9MhBgbGGB6L0TMYpr17lPbuERylCAYMVjVWccOKehbOnJbSRLLY3tcTD6npLt3bFa6R0MgDanQAdB8Ei8Y/OEm6rnGd9jtubXiKtuteZHdvBc3H+znaOcy+1j4GhqM4Smdba2IdDkPXqCgNUltRyMrGSsyZ5TQ2lBHwp/6P3hkdOPV/8lTrZCShkQeckT60otR+k49Hiw4QbPsjsYorCVSZrK7i/MfVlWLT5ldZv349/X2jBPy6a/3b7fsACF3n/lKCYuLkXlYeUKP9aKf2bXVL8PgzaE6Esdn3XfTruqbhN6C4MEAwYLgaWHbbHggWoVfKeMZkJKGRB9TowJnNnt1pUFFw5DEcXzGRGZ9xr92kulbEj+/BV78IzeUnaYU75KeSB5zRfrRC9zYr8vXvwje4j0jD58B3+VujblMDnaiRXowZ7i8lKNwhoZHjlBOH6Ciai4+Oh1ofByB8iUuTTIq3JQZWfTOWZL1vkRwJjRynwontA7RQiTsNxkcIHn+WeOki4tOWudNmKt0f24VWWoOW5MN3IvskNHLc2dBwZ5ezYNsf0ePDjM25/6LrcWSSikex2/bhm7lMFhGexCQ0cpwKJxb3detMo6D1cZQeJNJwlyvtpcLusMCO4pu5Iut9i+RJaOQ4N0PDGDyAv/cDIjPuRAXcG1hNVvzYR2D4MerleZPJTEIjx6lIYusBzYXZoKHWJwBvBkAB4kc/wqhfhOZzfz8V4R4JjVwXPRUagYKJtWNHCB37PfHiucQqs7/HiN3fjhrsxDdredb7FqmR0MhxKjqWGLD0XWZbtCQEO15Bj/YlzjI8GISMH9kBgG/2qqz3LVIjoZHjVHQM/AUTvtsQan0MpfkIz3R3e4JkxY9sR6+a48qTuiKzJDRynIqOTfjSRB85SqDrbaLTb0WFLr8yeSY4o/04Jw/jmyNnGblAQiPXxcJo/tCEmjg9ADo25343KkpZvHUnoPDNXu1J/yI1Eho5TtlRmMjdBidO6OiT2AX1xGquc6+wFMSPfIBWUo1e0eBJ/yI1Ehq5Lh5DM/zjH3cJgc7NGOFOwrO+AFr2V8lS4WHs43vxzV0js0BzxIQX4TFN8yHgFiACDAPfsSxr20TbFclRdhQtkP6TqKHWx1FohGd/wcWqkhdv3QHKxj8/+7d5RXrcONN4AVhmWdYK4AfA4y60KZJlp3+moY91EujcRKxmLU7hDJcLS07s8HtoJVXoVXM86V+kbsKhYVnWHyzLip364xagwTRNuezJlngM0gyN0NEn0ZTt2QDo2UuTq+TSJIe4/Y/728DzlmWlt6OOSJlSCtLZgUw5hFqfwAlWEp1+s/uFJSF25AO5NMlB445pmKa5HZh1iS/XWpZlnzrufuBLwNp0CqmsdOfR7o+rrnZpnYksSqXmMR1CBYHU/55tTTB6FJZ/m+ra9CZUbdyYmAiW7ve4/aX38VfUUbso+4/C5/vnIpPGDQ3Lssa9eW6a5j3A/wVusSyrM51CenqGcRyVzlsvqbq6hK6uIVfbzLRUa7bjccIRO+W/Z8mHvyQE9Nbcg53m96ip6RU2btyQ1vfYGe4h3LqHwJV30909nFb/6ZoKn4tk6LqW1i9rN+6erAd+AtxmWdaRibYnUpTG5YkW7SPY8RLRyquxi+dlqLDLix18F1D4Gz/pSf8ifW7se/JLIAo8aZrm6ddusSyrx4W2RQaEjj6F5kQ9ewQeIH5wC3rtAnRZ1i/nTDg0LMvK/sMK4ixdB5XCuLNShFofx/GVEJlxZ+bqugy7uxWn9xjBTz3gSf9iYuTWaK7TDFB20of7+nbgGzpAZObdYEzsmZV0xawmMHz451/jSf9iYiQ0cpym6+AkHxqhI4m5d2OzPZqbEY8SO7gV35wrXVsMWWSXhEau0w1wkrs80WJDhNqeIzZtOfY0bzYjih/ZDpER/GZad+bFJCChkesMP8qOjX8cEGx7Ds0e83QANGa9iVZciTFjkWc1iImR0Mhxmi8I8UhSx4aOPI4yCog0fDbDVV2cM9CJ3bYHv7kWLZ1ZrGJSkJ9crvMHUbHwuIcZA3vx939EeMZ6lN+bmYXRfZtAM/BfIZcmuUxCI8dpviDExj/TKDji3f6scGoA1HoT39zV6EXlntQg3CGhkeM0f2j8Mw07TPD408RLGolXeLOkXvzQu4kB0MXePBwn3COhkeuCRajISOJp10sd0v4CemzQs+0JlFJE97yGPq0eo052T8t1Eho5TgsVgx2DePSSx4SOPI7SA4Rn3pPFys6yTxzA6T6Cf+ltsm5GHpDQyHGnJ0ipyMWfFDWGDxPoeZdI3e2oYEU2Szsj9tGLaMFi/Auv9aR/4S4JjRx3JjTGLv7YtNf7szoDJ4i37sS/5ObEoK3IeRIaOU4vSOzurkb7L/yiE0tsT1A4k1i1N7/lo7teBt2QAdA8IqGR47RT2xg6I70XfC1w4jX0SA/h2femtyTgBDmj/cSsJvwLr0UvnJb1/kVmSGjkOK2gDDQdNXxhaCS2J9AJz/q8B5VB9KMXwbEJrFzvSf8iMyQ0cpym62iF0y4409BH2wl0vkG09kacgulZr8sJDxHbuwnf/GtkoZ08I6GRB/TSatRg13mvhY7+Fg1F2KPtCWK7XoZ4hMAqOcvINxLupx0iAAAH8ElEQVQaeUAvq8UZOAGAv2sLKJtQ6xPYoRqitTdlvR5nbJDorpfxzbsKo9ybTZhE5kho5AG9rA4VHkKFhyk4+AtKt34dY6w9MZahu7EMbGqiO58HO0pgjTeTyURmZf8TJVynT0uMWTgDJ9CjPfj7PgQgeOI19Gg/wyv+LmvTx53hHmJ7X8PXeB3GtPqs9CmyS8408oBe0QCA3XMUPXJ2QFSL9jFyxV9l9XmT6AdPg1IEr7wra32K7JLQyANacRUEi3C6W9GiidBQmo/Bq/4FFcreYvF2dysx6y38S25FL6nKWr8iu+TyJA9omoZRNQe7uwVdHwFgeNn/IV55ZdZqUEoR2fIbtFAxwdWfy1q/IvvkTCNPGNVzcHrbcJROuOEuwnO/ktX+4y3bsDssAmvuQQsWZbVvkV0SGnnCmG6CYzPqX8rQyh9kdRxDRceIbHkUvaIB/xU3ZK1f4Q0JjTxhTG8ETWOg4i7wFWS178i2p1AjfYSu/yqabmS1b5F9Ehp5QgsUoFfNJdbVntV+Ix2HiO15Bf/imzBqF2S1b+ENCY084pu1AqfzEM7oQFb60xybk8/9FK2gjODV3jwUJ7JPQiOP+OasBhTx1h1Z6a+u+0NiXUcJrf0TtEBhVvoU3pPQyCN6RQNaaQ3xw+9nvK94+z5qevdRuvoOfLOWZ7w/MXlIaOQRTdPwN16L3bYXZ6hr/DekyRntJ/z6z4kESqi4Jbu3doX3JDTyjN+8HjSI7W/KSPvKiRN+7WeoyCgt9dejB0IZ6UdMXhIaeUYvrsSYuYLYvs1JbdeYisSsz0exOyxCa79KOCQ7pU1FEhp5KLhqPSo8RHTP6662G9v1IrE9r+Ffdgf+RtmOYKqS0MhDRu0CjIalRD98Hid88a0NUhVrfofI1sfxzbuK4DXebIcgJgfXQsM0zRtN07RN0/y2W22K9AWvuQ+iYSJbH5twWzHrTcKb/h2jfhGhG/8MzYOVzcXk4cpP3zTNEuAfgBfcaE9MnFExk8CKdcQPvE3s8HtptaGUIrrrJcJvPIwxYzEFn/4rNF/A5UpFrnHrV8ZPgH8Eul1qT7ggcOVd6LULCG/6BfbJwym9V8WjhN94mMiWR/HNWU3BHd+RHdIE4EJomKa5DiizLOtJF+oRLtIMPwW3/Q+0wlJGn/8R8eO7k3pfvMNi9HffI37gLQJX3k3otm/LGYY4Q1NKXfYA0zS3A7Mu9WXgdeA2y7JOmqb5H8A2y7J+mkINc4CWFI4XKYoP9nDi8b8jevIYpatvZ9p1X8BXcv7tUqUUkeMW/VufZvTA+/im1VC17psUzlvhUdUii+YCR5I9eNzQuBzTNK8Dfg+MnnqpCogA/2RZ1veTbGYO0NLTM4zjpF/LxVRXl9DV5c7dg2zJVM0qOkZk2++J7XkVAGP6QvRpdWD4UaP92B0HUGMDECwisORWAivuRPNf/nKkqekVNm7cIN/jLMhEzbquUVlZDCmGxoSW+7Ms6y3gzPZZaZ5piCzQAgWErv0ygSW3EGt+h/ixXcQPb0M5NlpBCUadiW/mMnzzrkLzyyxPcWmyRugUo5dNJ7hmA8E1G7wuReQoV0PDsqyvutmeEGLykVk6QoiUSGgIIVIioSGESImEhhAiJRIaQoiUSGgIIVIioSGESImEhhAiJRIaQoiUSGgIIVIioSGESImEhhAiJRIaQoiUSGgIIVIioSGESMlkWITHgMTSY5mQqXYzKVdqLiwsBHKn3nNJzee1Z6TyvgmtEeqS64A3vS5CiCnseuCtZA+eDKERBK4COgDb41qEmEoMoA54n8SC4EmZDKEhhMghMhAqhEiJhIYQIiUSGkKIlEhoCCFSIqEhhEiJhIYQIiUSGkKIlEyGaeRZYZrmjcBrwHcm+wbVpmk+BNxCYsLNMImat3lb1YVM01wIPAJUAj3AVyzLava2qoszTbMS+BUwH4gCzcA3LMvq8rSwJJmm+TfA3wLLLMva7WUtU+JMwzTNEuAfgBe8riVJL5D4cKwAfgA87nE9l/KvwEOWZS0EHgJ+7nE9l6OAH1mWZVqWtQw4BPzQ45qSYprmauAaoNXrWmCKhAbwE+AfgW6vC0mGZVl/sCwrduqPW4AG0zQn1c/KNM0aYDXw6KmXHgVWm6ZZ7V1Vl2ZZVq9lWZvPeWkrMNujcpJmmmaQRCB/y+taTptUH8RMME1zHVBmWdaTXteSpm8Dz1uW5XhdyMfMBNosy7IBTv23/dTrk9qpAP4W8KzXtSTh+8CvLcs64nUhp+X8mIZpmtuBWZf6MolT0NuyV9H4xqm59vQ/RNM07we+BKzNVm1TxD+TGCua7GNbnwTWAN/1upZz5fUDa6ZpXgf8Hhg99VIVicHFf7Is6/ueFZYE0zTvAX4M3DKZfsucdury5ABQaVmWbZqmQWIwtHEyDy6apvljYDnwWcuykn6y0wumaX4X+EsSA7cADUAn8DXLsl72qq68Do2PM03zP4BtOXD3ZD2J34a3WZZ10Ot6LsU0zc3ALyzL+rVpmg8Af2pZ1k0el3VJpmn+PfBJ4DOWZY2Od/xkY5rmEWC913dPcv7yJE/9ksRvlydN0zz92i2WZfV4V9JFfRN4xDTN7wF9wFc8rueSTNNcAvw1ibOjd059X1ssy7rH08Jy0JQ60xBCTFze3z0RQrhLQkMIkRIJDSFESiQ0hBApkdAQQqREQkMIkRIJDSFESiQ0hBAp+f9g1FnNEX3HswAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "A = np.array([[1,1], [-1, 4]])\n", + "linearTransformation(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, the eigenvectors are not orthogonal!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "## Videos of Gilbert Strang\n", + "\n", + "- [Gilbert Strang, Lec21 MIT - Eigenvalues and eigenvectors](https://www.youtube.com/watch?v=lXNXrLcoerU)\n", + "\n", + "- [Gilbert Strang, Lec 21 MIT, Spring 2005](https://www.youtube.com/watch?v=lXNXrLcoerU)\n", + "\n", + "## Quadratic forms\n", + "\n", + "- [David Lay, University of Colorado, Denver](http://math.ucdenver.edu/~esulliva/LinearAlgebra/SlideShows/07_02.pdf)\n", + "\n", + "- [math.stackexchange QA](https://math.stackexchange.com/questions/2207111/eigendecomposition-optimization-of-quadratic-expressions)\n", + "\n", + "## Eigenvectors\n", + "\n", + "- [Victor Powell and Lewis Lehe - Interactive representation of eigenvectors](http://setosa.io/ev/eigenvectors-and-eigenvalues/)\n", + "\n", + "## Linear transformations\n", + "\n", + "- [Gilbert Strang - Linear transformation](http://ia802205.us.archive.org/18/items/MIT18.06S05_MP4/30.mp4)\n", + "\n", + "- [Linear transformation - demo video](https://www.youtube.com/watch?v=wXCRcnbCsJA)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.07 Eigendecomposition/images/output_59_0.png b/Chapters/2.07 Eigendecomposition/images/output_59_0.png new file mode 100644 index 0000000..35358e0 Binary files /dev/null and b/Chapters/2.07 Eigendecomposition/images/output_59_0.png differ diff --git a/Chapters/2.07 Eigendecomposition/images/quadratic-functions-indefinite-form.png b/Chapters/2.07 Eigendecomposition/images/quadratic-functions-indefinite-form.png new file mode 100644 index 0000000..482c1b2 Binary files /dev/null and b/Chapters/2.07 Eigendecomposition/images/quadratic-functions-indefinite-form.png differ diff --git a/Chapters/2.07 Eigendecomposition/images/quadratic-functions-negative-definite-form.png b/Chapters/2.07 Eigendecomposition/images/quadratic-functions-negative-definite-form.png new file mode 100644 index 0000000..534a00c Binary files /dev/null and b/Chapters/2.07 Eigendecomposition/images/quadratic-functions-negative-definite-form.png differ diff --git a/Chapters/2.07 Eigendecomposition/images/quadratic-functions-positive-definite-form.png b/Chapters/2.07 Eigendecomposition/images/quadratic-functions-positive-definite-form.png new file mode 100644 index 0000000..25a9727 Binary files /dev/null and b/Chapters/2.07 Eigendecomposition/images/quadratic-functions-positive-definite-form.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/.ipynb_checkpoints/2.8 Singular Value Decomposition-checkpoint.ipynb b/Chapters/2.08 Singular Value Decomposition/.ipynb_checkpoints/2.8 Singular Value Decomposition-checkpoint.ipynb new file mode 100644 index 0000000..9d1c150 --- /dev/null +++ b/Chapters/2.08 Singular Value Decomposition/.ipynb_checkpoints/2.8 Singular Value Decomposition-checkpoint.ipynb @@ -0,0 +1,1933 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/lsp/.virtualenvs/kaggle/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n", + " warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "IPython.OutputArea.prototype._should_scroll = function(lines) {\n", + " return false;\n", + "}" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%javascript\n", + "IPython.OutputArea.prototype._should_scroll = function(lines) {\n", + " return false;\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "The last chapter was a lot of fun! This one will be a bit less heavy. We will see another way to decompose matrices: the Singular Value Decomposition or SVD. Since the beginning of this series, I emphasized the fact that you can see matrices as linear transformation in space. With the SVD, you decompose a matrix in three other matrices. You can see these new matrices as *sub-transformations* of the space. Instead of doing the transformation in one movement, we decompose it in three movements. As a bonus, we will apply the SVD to image processing. We will see the effect of SVD on an image of Lucy the goose (it is just a goose named Lucy...) so keep on reading!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# 2.8 Singular Value Decomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "\n", + "The unit circle and its transformation by a matrix.\n", + "\n", + "We saw in [2.7](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.7-Eigendecomposition/) that the eigendecomposition can be done only for square matrices. The way to go to decompose other types of matrices that can't be decomposed with eigendecomposition is to use **Singular Value Decomposition** (SVD).\n", + "\n", + "We will decompose $\\bs{A}$ into 3 matrices (instead of two with eigendecomposition):\n", + "\n", + "\n", + "The singular value decomposition\n", + "\n", + "The matrices $\\bs{U}$, $\\bs{D}$, and $\\bs{V}$ have the following properties:\n", + "\n", + "- $\\bs{U}$ and $\\bs{V}$ are orthogonal matrices ($\\bs{U}^\\text{T}=\\bs{U}^{-1}$ and $\\bs{V}^\\text{T}=\\bs{V}^{-1}$; see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/) for more details about orthogonal matrices)\n", + "\n", + "- $\\bs{D}$ is a diagonal matrix (all 0 except the diagonal ; see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)). However $\\bs{D}$ is not necessarily square.\n", + "\n", + "The columns of $\\bs{U}$ are called the left-singular vectors of $\\bs{A}$ while the columns of $\\bs{V}$ are the right-singular vectors of $\\bs{A}$. The values along the diagonal of $\\bs{D}$ are the singular values of $\\bs{A}$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "Here are the dimensions of the factorization:\n", + "\n", + "\n", + "The dimensions of the singular value decomposition\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The diagonal matrix of singular values is not square but have the shape of $\\bs{A}$. Look at the example provided in the [Numpy doc](https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.svd.html) to see that they create a matrix of zeros with the same shape as $\\bs{A}$ and fill it with the singular values:\n", + "\n", + "```python\n", + "smat = np.zeros((9, 6), dtype=complex)\n", + "smat[:6, :6] = np.diag(s)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# Intuition\n", + "\n", + "I think that the intuition behind the singular value decomposition needs some explanations about the idea of matrix transformation. For that reason, here are several examples showing how the space can be transformed by 2D square matrices. Hopefully, this will lead to a better understanding of this statement: $\\bs{A}$ is a matrix that can be seen as a linear transformation. This transformation can be decomposed in three sub-transformations: 1. rotation, 2. re-scaling, 3. rotation. These three steps correspond to the three matrices $\\bs{U}$, $\\bs{D}$, and $\\bs{V}$.\n", + "\n", + "\n", + " $\\bs{A}$ is a matrix that can be seen as a linear transformation. This transformation can be decomposed in three sub-transformations: 1. rotation, 2. re-scaling, 3. rotation. These three steps correspond to the three matrices $\\bs{U}$, $\\bs{D}$, and $\\bs{V}$.\n", + "\n", + "\n", + "You can look at [this animation](https://en.wikipedia.org/wiki/Singular-value_decomposition) from the Wikipedia article on the SVD. If you scroll down the page you will see each step.\n", + "\n", + "### Every matrix can be seen as a linear transformation\n", + "\n", + "You can see a matrix as a specific linear transformation. When you *apply* this matrix to a vector or to another matrix you will apply this linear transformation to it.\n", + "\n", + "### Example 1.\n", + "\n", + "We will modify the vector:\n", + "\n", + "$$\n", + "\\bs{v}=\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "by applying the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We will have:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2x + 0y\\\\\\\\\n", + " 0x + 2y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We see that applying the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "just doubled each coordinate of our vector. Here are the graphical representation of $\\bs{v}$ and its transformation $\\bs{w}$:\n", + "\n", + "\n", + "Applying the matrix on the vector multiplied each coordinate by two\n", + "\n", + "You can look at other examples of simple transformations on vectors and unit circle in [this video](https://www.youtube.com/watch?v=kJIUbtSowRg).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 2.\n", + "\n", + "To represent the linear transformation associated with matrices we can also draw the unit circle and see how a matrix can transform it (see the BONUS in [2.7](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.7-Eigendecomposition/)). The unit circle represents the coordinates of every unit vectors (vector of length 1, see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)).\n", + "\n", + "\n", + "The unit circle\n", + "\n", + "It is then possible to apply a matrix to all these unit vectors to see the kind of deformation it will produce.\n", + "\n", + "Again, let's apply the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "to the unit circle:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "Another representation of the effect of the matrix: each coordinate of the unit circle was multiplied by two\n", + "\n", + "We can see that the matrix doubled the size of the circle. But in some transformations, the change applied to the $x$ coordinate is different from the change applied to the $y$ coordinate. Let's see what it means graphically." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 3.\n", + "\n", + "We will apply the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 3 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "to the unit circle:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 3 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\\cdot\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 3x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This gives the following new circle:\n", + "\n", + "\n", + "This time the matrix didn't rescale each coordinate with the same weight\n", + "\n", + "We can check that with the equations associated with this matrix transformation. Let's say that the coordinates of the new circle (after transformation) are $x'$ and $y'$. The relation between the old coordinates ($x$, $y$) and the new coordinates ($x'$, $y'$) is:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 3x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "x=\\frac{x'}{3}\\\\\\\\\n", + "y=\\frac{y'}{2}\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We also know that the equation of the unit circle is $x^2+y^2=1$ (the norm of the unit vectors is 1, see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)). By replacement we end up with:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\left(\\frac{x'}{3}\\right)^2 + \\left(\\frac{y'}{2}\\right)^2 = 1\\\\\\\\\n", + "\\left(\\frac{y'}{2}\\right)^2 = 1 - \\left(\\frac{x'}{3}\\right)^2\\\\\\\\\n", + "\\frac{y'}{2} = \\sqrt{1 - \\left(\\frac{x'}{3}\\right)^2}\\\\\\\\\n", + "y' = 2\\sqrt{1 - \\left(\\frac{x'}{3}\\right)^2}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "We can check that this equation corresponds to our transformed circle. Let's start by drawing the old circle. Its equation is:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "x^2+y^2=1\\\\\\\\\n", + "y^2=1-x^2\\\\\\\\\n", + "y=\\sqrt{1-x^2}\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nVor4ptW1lgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(-1, 1, 100000)\n", + "y = np.sqrt(1-(x**2))\n", + "plt.plot(x, y, sns.color_palette().as_hex()[0])\n", + "plt.plot(x, -y, sns.color_palette().as_hex()[0])\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "So far so good!\n", + "\n", + "*Coding tip*: You can see the trick to plot a circle here: you create the $x$ variable, then $y$ is defined from $x$. This means that for each $x$, the corresponding $y$ value is calculated (and thus $y$ has the same shape as $x$). Since the result of the square root can be negative or positive (for instance, 4 can be the result of $2^2$ but also of $(-2)^2$) we need to plot both solutions ($y$ and $-y$ in `plt.plot`). Note also that a lot of values are needed if we want the connection between the two demi-spheres. See also some discussion [here](https://stackoverflow.com/questions/32092899/plot-equation-showing-a-circle).\n", + "\n", + "\n", + "Now let's add the circle obtained after matrix transformation. We saw that it is defined with\n", + "\n", + "$$\n", + "y = 2\\sqrt{1 - \\left(\\frac{x}{3}\\right)^2}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x1 = np.linspace(-3, 3, 100000)\n", + "y1 = 2*np.sqrt(1-((x1/3)**2))\n", + "plt.plot(x, y, sns.color_palette().as_hex()[0])\n", + "plt.plot(x, -y, sns.color_palette().as_hex()[0])\n", + "plt.plot(x1, y1, sns.color_palette().as_hex()[1])\n", + "plt.plot(x1, -y1, sns.color_palette().as_hex()[1])\n", + "plt.xlim(-4, 4)\n", + "plt.ylim(-4, 4)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "This shows that our transformation was correct.\n", + "\n", + "Note that these examples used **diagonal matrices** (all zeros except the diagonal). The general rule is that the transformation associated with diagonal matrices imply only a rescaling of each coordinate **without rotation**. This is a first element to understand the SVD. Look again at the decomposition\n", + "\n", + "\n", + "\n", + "\n", + " The transformation associated with diagonal matrices imply only a rescaling of each coordinate **without rotation**\n", + "\n", + "\n", + "We saw that the matrix $\\bs{D}$ is a diagonal matrix. And we saw also that it corresponds to a rescaling without rotation." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 4. rotation matrix\n", + "\n", + "Matrices that are not diagonal can produce a rotation (see more details [here](https://en.wikipedia.org/wiki/Rotation_matrix)). Since it is easier to think about angles when we talk about rotation, we will use a matrix of the form\n", + "\n", + "$$\n", + "R=\n", + "\\begin{bmatrix}\n", + " cos(\\theta) & -sin(\\theta)\\\\\\\\\n", + " sin(\\theta) & cos(\\theta)\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This matrix will rotate our vectors or matrices counterclockwise through an angle $\\theta$. Our new coordinates will be\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " cos(\\theta) & -sin(\\theta)\\\\\\\\\n", + " sin(\\theta) & cos(\\theta)\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " xcos(\\theta) - ysin(\\theta)\\\\\\\\\n", + " xsin(\\theta) + ycos(\\theta)\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's rotate some vectors through an angle of $\\theta = 45^\\circ$.\n", + "\n", + "Let's start with the vector $\\bs{u}$ of coordinates $x=0$ and $y=1$ and the vector $\\bs{v}$ of coordinates $x=1$ and $y=0$. The vectors $\\bs{u'}$ $\\bs{v'}$ are the rotated vectors.\n", + "\n", + "\n", + "Counter clockwise rotation of the unit vectors with $\\theta = 45^\\circ$\n", + "\n", + "First, let's plot $\\bs{u}$ and $\\bs{v}$." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "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\niOEhqYjhIamI4SGpiOEhqYjhIamI4SGpiOEhqYjhIamI4SGpSNEj+RHxBuBaYH9gAPh4Zj437D0/\nA/YBNgPrM/O9LdYqqUJKf5/HhcB9mfm1iPgQ8FXgc8Pec0hmHt5SdZIqq/SwZR6wpPH6VuDU5s6I\n2B+YGRE3RcSvIsK9DmmCGXXPIyLOAxYB236nfQ14CljTWF4L9A5bbQpwCXAZsC+wIiLuzMxnx6Jo\nSZ1Xq9df/zeIR8RPgW9m5j0R0Qssz8wjmvq7gSmZ+XJj+b+AxZm5YoRh/SpzqTOKvqCi9JzHCuBM\n4J7Gn3cM6z8V+EfgfRHxRuBw4KHRBu3vX1tYTnv09fVY0y5YuXIZCxbMr1xdVdxWVa2pRGl4fB+4\nJiLuADYCHwGIiG8D12fmkog4PSJWAluAizLz+cK5JFVQUXhk5nrg73bQ/k9Nrz/fQl2SKs6bxCQV\nMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUx\nPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFelu\nZeWIWAh8IDM/uoO+TwIXAJuBizPzllbmklQtxXseEfFd4GKgtoO+WcBngROB9wDfjIjJpXNJqp5W\nDltWABfupO84YHlmDmbmALAKOKKFuSRVzKiHLRFxHrAIqDO0l1EHzs3M6yPiXTtZrRdY07S8Dtir\nxVolVcio4ZGZVwFXvc5xBxgKkG16gBdf5xiSKqylE6YjuAv4RkRMAaYBs4EHRlupr6+nTeWUs6bR\nLVgwH6heXWBN7TSm4RERi4BVmXlzRCwGljN0qPOVzNw02vr9/WvHspyW9fX1WNMuWLlyGQsWzK9c\nXVXcVlWtqURL4ZGZvwR+2bT8b02vrwSubGV8SdXlTWKSihgekooYHpKKGB6SihgekooYHpKKGB6S\nihgekooYHpKKGB6SihgekooYHpKKGB6SihgekooYHpKKGB6SihgekooYHpKKGB6SihgekooYHpKK\nGB6SihgekooYHpKKGB6SihgekooYHpKKGB6Sihgekop0t7JyRCwEPpCZH91B32XAScDaRtP7M3Pt\n8PdJGp+KwyMivgucDvxuJ285BjgjM58vnUNSdbVy2LICuHBHHRFRAw4FfhgRyyPi3BbmkVRBo+55\nRMR5wCKgDtQaf56bmddHxLt2stoMYDFwaWOOpRFxd2Y+MDZlS+q0UcMjM68Crnqd474MLM7MDQAR\ncTtwJGB4SBNESydMR3AY8OOIOLoxxzzg6lHWqfX19bSpnHLWNLoFC+YD1asLrKmdxjQ8ImIRsCoz\nb46Ia4E7gU3ANZn50FjOJamzavV6vdM1SBqHvElMUhHDQ1IRw0NSEcNDUpF2XardZVV8PmaUmj4J\nXABsBi7OzFvaXMsbgGuB/YEB4OOZ+dyw9/wM2KdR0/rMfG+baqkBlzN0z84G4PzMfKypf7dum12s\nqWPPWEXE8cC3MvOUYe3zga8ytJ3+MzOv2B31jFLTIuATwDONpk9l5qqRxupoeFTx+ZiRaoqIWcBn\nG3VNB5ZHxG2ZubmNJV0I3JeZX4uIDzH0ofvcsPcckpmHt7GGbc4CpmbmSY0P4aWNtk5tmxFraujI\nM1YR8SXgbGDdsPZuhmo8FlgPrIiImzLzmdeOsntqajgGODszf7ur43X6sKWKz8fstCbgOGB5Zg5m\n5gCwCjiizfXMA5Y0Xt8KnNrcGRH7AzMj4qaI+FVEtGWvY3gtmXknMLeprxPbZsSaOvyM1aPAwh20\nz2HoXqiBRrAuB97Z4ZpgKMwuiog7IuLLuzLYbtnzqOLzMYU19QJrmpbXAXuNRT07qIlGXU81zbm2\nUUOzKcAlwGXAvgz9T3ZnZj47VnU1Gf73H4yIrszcuoO+Md02hTV17BmrzLwxIt6yC/WuZfdsp5Fq\nArgO+B5Dh8b/ExFnZubPRxpvt4RHFZ+PKaxpgO1/eHuAF8einp3VFBE/bcyzs/meAn7Q+GHpj4jf\nAgG0IzwGmmoB2PZDuq2vbdumsKYqPmPVqe00mssae4xExC3A0cCI4dHpw5aRHMbQcXMtIiYztHv6\nmw7XdBcwLyKmRMRewGza/0FcAZzZeH0mcMew/lOBnwBExBuBw4F2PQrwSi0RcQJwf1NfJ7bNaDVV\n4TNUG7b8EHBIRMyMiCnA3wIrO1lTRPQCD0TE9Mah3ruBe0cbpONXW4ar4vMxw2pazNBxag34SmZu\navP03weuiYg7gI3ARxo1fRu4PjOXRMTpEbES2AJc1MaTgzcCp0XEisbyuR3eNrtSU6c/Q3WAiPgw\nMCMzr4iIzwO3MbSdrsjMJytQ00XAMoauWP0iM5eMsD7gsy2SClX5sEVShRkekooYHpKKGB6Sihge\nkooYHpKKGB6Sihgekor8P1Tlht2TbSZBAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + " \n", + "u = [1,0]\n", + "v = [0,1]\n", + "\n", + "plotVectors([u, v], cols=[blue, blue])\n", + "\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "\n", + "plt.text(-0.25, 0.2, r'$\\vec{u}$', color=blue, size=18)\n", + "plt.text(0.4, -0.25, r'$\\vec{v}$', color=blue, size=18)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "They are the basis vectors of our space. We will calculate the transformation of these vectors:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "u_x = 0\\cdot cos(45) - 1\\cdot sin(45)\\\\\\\\\n", + "u_y = 0\\cdot sin(45) + 1\\cdot cos(45)\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "u_x = -sin(45)\\\\\\\\\n", + "u_y = cos(45)\n", + "\\end{cases}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "v_x = 1\\cdot cos(45) - 0\\cdot sin(45)\\\\\\\\\n", + "v_y = 1\\cdot sin(45) + 0\\cdot cos(45)\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "v_x = cos(45)\\\\\\\\\n", + "v_y = sin(45)\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We will now plot these new vectors to check that they are well our basis vectors rotated through an angle of $45^\\circ$." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nrkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u1 = [-np.sin(np.radians(45)), np.cos(np.radians(45))]\n", + "v1 = [np.cos(np.radians(45)), np.sin(np.radians(45))]\n", + "\n", + "plotVectors([u1, v1], cols=[orange, orange])\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "\n", + "plt.text(-0.7, 0.1, r\"$\\vec{u'}$\", color=orange, size=18)\n", + "plt.text(0.4, 0.1, r\"$\\vec{v'}$\", color=orange, size=18)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "*Coding tip:* the numpy functions `sin` and `cos` take input in radians. We can convert our angle from degrees to radians with the function `np.radians()`.\n", + "\n", + "We can also transform a circle. We will take a rescaled circle (the one from the example 3.) to be able to see the effect of the rotation.\n", + "\n", + "\n", + "The effect of a rotation matrix on a rescaled circle" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(-3, 3, 100000)\n", + "y = 2*np.sqrt(1-((x/3)**2))\n", + "\n", + "x1 = x*np.cos(np.radians(45)) - y*np.sin(np.radians(45))\n", + "y1 = x*np.sin(np.radians(45)) + y*np.cos(np.radians(45))\n", + "\n", + "x1_neg = x*np.cos(np.radians(45)) - -y*np.sin(np.radians(45))\n", + "y1_neg = x*np.sin(np.radians(45)) + -y*np.cos(np.radians(45))\n", + "\n", + "u1 = [-2*np.sin(np.radians(45)), 2*np.cos(np.radians(45))]\n", + "v1 = [3*np.cos(np.radians(45)), 3*np.sin(np.radians(45))]\n", + "\n", + "plotVectors([u1, v1], cols=['#FF9A13', '#FF9A13'])\n", + "\n", + "plt.plot(x, y, '#1190FF')\n", + "plt.plot(x, -y, '#1190FF')\n", + "\n", + "plt.plot(x1, y1, '#FF9A13')\n", + "plt.plot(x1_neg, y1_neg, '#FF9A13')\n", + "\n", + "plt.xlim(-4, 4)\n", + "plt.ylim(-4, 4)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "We can see that the circle has been rotated by an angle of $45^\\circ$. We have chosen the length of the vectors from the rescaling weight from example 3 (factor 3 and 2) to match the circle.\n", + "\n", + "### Summary\n", + "\n", + "I hope that you got how vectors and matrices can be transformed by rotating or scaling matrices. The SVD can be seen as the decomposition of one complex transformation in 3 simpler transformations (a rotation, a scaling and another rotation).\n", + "\n", + "Note that we took only square matrices. The SVD can be done even with non square matrices but it is harder to represent transformation associated with non square matrices. For instance, a 3 by 2 matrix will map a 2D space to a 3D space.\n", + "\n", + "\n", + "A non square matrix change the number of dimensions of the input" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The three transformations\n", + "\n", + "Now that the link between matrices and linear transformation is clearer we can check that a transformation associated with a matrix can be decomposed with the help of the SVD.\n", + "\n", + "But first let's create a function that takes a 2D matrix as an input and draw the unit circle transformation when we apply this matrix to it. It will be useful to visualize the transformations." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "def matrixToPlot(matrix, vectorsCol=['#FF9A13', '#1190FF']):\n", + " \"\"\"\n", + " Modify the unit circle and basis vector by applying a matrix.\n", + " Visualize the effect of the matrix in 2D.\n", + "\n", + " Parameters\n", + " ----------\n", + " matrix : array-like\n", + " 2D matrix to apply to the unit circle.\n", + " vectorsCol : HEX color code\n", + " Color of the basis vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure containing modified unit circle and basis vectors.\n", + " \"\"\"\n", + " # Unit circle\n", + " x = np.linspace(-1, 1, 100000)\n", + " y = np.sqrt(1-(x**2))\n", + " \n", + " # Modified unit circle (separate negative and positive parts)\n", + " x1 = matrix[0,0]*x + matrix[0,1]*y\n", + " y1 = matrix[1,0]*x + matrix[1,1]*y\n", + " x1_neg = matrix[0,0]*x - matrix[0,1]*y\n", + " y1_neg = matrix[1,0]*x - matrix[1,1]*y\n", + " \n", + " # Vectors\n", + " u1 = [matrix[0,0],matrix[1,0]]\n", + " v1 = [matrix[0,1],matrix[1,1]]\n", + " \n", + " plotVectors([u1, v1], cols=[vectorsCol[0], vectorsCol[1]])\n", + "\n", + " plt.plot(x1, y1, 'g', alpha=0.5)\n", + " plt.plot(x1_neg, y1_neg, 'g', alpha=0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use it to check that the three transformations given by the SVD are equivalent to the transformation done with the original matrix. We will also draw each step of the SVD to see the independant effect of the first rotation, the scaling and the second rotation.\n", + "\n", + "We will use the matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 3 & 7\\\\\\\\\n", + " 5 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and plot the unit circle and its transformation by $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit circle:\n" + ] + }, + { + "data": { + "image/png": "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\ndoGwxMS66/QAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit circle transformed by A:\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQIAAAECCAYAAAAVT9lQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd0XOd55/HvVAAz6L0TBAFc9iL2LoqiCiVSlKjiZG3H\nTpw4iXdznLI5cZzk5JxsnN2zjpPsccnGaydOFMtWo0SqUxRFUiyi2PsLovdeB8AMptz9Y0CakkiC\nGEzH89HRIQbE3PcBiPu79773ve9r0HUdIcTMZox0AUKIyJMgEEJIEAghJAiEEEgQCCGQIBBCAOZA\n3qRpmhn4GVAGeIDfVkpVB7EuIUQYBXpGsB0wKaXWA38DfCd4JQkhwi3QIKgGzJqmGYA0YDx4JQkh\nwi2gSwPAAcwGrgFZwONBq0gIEXaBnhH8IfCOUkoDlgD/rmmaNXhlCSHCKdAzgj7APfHxwMR2THd7\ng67rusFgCLA5IcQ0TLrjGQJ56EjTNDvwU6AAsAD/qJT65SRv07u7h6fcVqByclKI1/bC2dbx4x+y\nc+eOuP1ZzpD2Jg2CgM4IlFIjwHOBvFcIEX1kQJEQQoJACCFBIIRAgkAIgQSBEAIJAiEEEgRCCCQI\nhBBIEAghkCAQQiBBIIRAgkAIgQSBEAIJAiEEEgRCCCQIhBBIEAghkCAQQiBBIIRAgkAIQeDTmaNp\n2p8BO/HPYvxDpdS/Bq0qIURYBXRGoGnaZmCtUmodcD9QEsyihBDhFegZwcPAJU3TXgNSgP8evJKE\nEOEWaBBkA6X41zwsB/YCc4NVlBAivALtLOwF3lVKeZRS1YBT07TsINYlhAijQJc8ewz4A6XUw5qm\nFQIfAppS6m4bm3pDQohgCM3ahwCapv1P4IGJRr6llHp/krfI2ocx2JasfRgX7YVm7UMApdSfBfpe\nIUR0kQFFQggJAiGEBIEQAgkCIQTT6CwUYibQdZ0RzwhDrkFG3COMukcY9Ywy4nYw5nHi8bnx+Dz+\n/3UPBgwYDUaMBiMGDCSaE0kyJ5FoTsJusZOekI7BXorHZ8JsjJ7dL3oqESKC3F43PWPd9Ix10z3W\nzYCrnwHXAIPOAdw+9z1t48aO7dN9+HTfHb/O3prA6Og42Uk55NsLyLflU5Y2m4zEzKB8L4GQIBAz\njsvromOknfaRdjocbYzVDdHS28Fnx9QkmBLISMwkPSGd1IQ0ki0p2C12bBYbNoudJFMiFpMVs8GM\n2WjGYPjV7Xpd1/HqXpxeJ06PE6dnjOHxYQZdA+iJLuo7W+gc6aB7tIuLnAcgIzGDOekVzM9aSJ4t\n/1PbCzUJAhH3Bl0DNA030eZopc3RSs9Y96d2+uy0dEpSSslOyiYnKZfspBwyEjNJMicFvDMaDAbM\nBjPJxmSSLcmf+rucnBS6M4fx6T56x3ppdTTTMFhP41ADpzo+4VTHJ2TbcrgvdzkLsxeH5RJCgkDE\nneHxIZqGmmgabqR5qJEB18DNv7MYLRQnl1CQXEiBvZACewHlRUX09DjCXqfRYCTHlkOOLYeluffh\n9XmpH6zjcu9Fagau817DOxxt/Yg1hWtZlrscoyF0ffsSBCLmeXweLvdc5FrfFRxuB71jvTf/LtGc\nRGVGFaWpsyhOLiHHlvu5HSqcp+B3YzKaqMiopCKjEsf4MKc7T3Gu6wwHGvdzvvscD816hOKU0Ez9\nIUEgYtKYZ4zagRqu9ysaBuu50nuZPmcPG4o2U54+h9KUMmalzrrtjh8Lkq0pbC7Zwor8VXzUepgL\n3ed44drzrC/cyJrCdUH/niQIRMwYHh/ien811/uraR5uutkzn5WYxa/ZbWRX/Q7zZ22Pqtty02W3\n2Hm47FEWZC3kjbrX+aj1MJ2jHTxe/gQWkyVo7cTPT0zEJYfbwbXeK1zru0qbo/Xm5wuSC6lMr6Iy\nvZLSmh+QMHyKvrIfQJSc5gdbcUoJv7Hgt3i95lWu91fzcvUvebrquaCFgQSBiDpOj5OL3ee50nuZ\npuFGdF3HaDAyK7WMyowqKjOqSLGmgm+clNN/QmLrPpxFO+I2BG5IMifxdNVzvFm3F9V3jX11r7Gr\nYndQLhMkCERU8Pq81A3WcqX3Eh3uZgaHRwAoSi5mXtZ8qjLnfvo2nGeEtJO/h7XrCADunLWRKDvs\nzEYzj5c/gdPjpKb/OsfaPmJD0abpbzcItQkRsN6xXi72nOdyzyVG3P5beGU5xSxOW8G8zPmkJ2Z8\n7j0GVy9px38Ty8CFm58bz54ZQQD+uwtPVDzFzy7/hONtR5mdWk5RSvG0tilBIMJu3DuO6rvKxZ4L\ntAw3A/7bfMvzVrAwezELZlXc+b6+7sNW8xMMXufNT3mTCvDZZ4Wj9KiRaE5ke/kOXrj6PAea9vOl\n+V+Z1m1QCQIRNt2j3ZztOsXV3iu4vC4AZqWWsThnKZUZVTd7++/6C20wMrLgTzE56jAPV+OzZuDO\nXhP3/QO3U5JSyrysBVztvcy1vqvMy5of8LYkCERI+XQf1/urOdt1mqahRgBSrKksz1/JwqxFtz31\nn4yl8xAJ7e/iKniEsdm/jnGsM9hlx4wNRRu51neF052fSBCI6DPiHuFi93nOdp1heHwI8B/978tb\nwZz0isB7ur0uki/8NbopEceiv8BnKwLfeBArjy0ZiZmUp82hdqCGrtEucm25AW1nWkGgaVoucAp4\ncGJ9AzHDdY9280nHx1ztu4zX58VqsnJf3nKW5i4nO2n6S1/Yan6MeaSBkXl/4g8BAKN12tuNZfOz\nFlI7UEPtwPXwB4GmaWbgn4HRQLch4oOu6zQNN3Ky/QT1g3UAZCVlsSx3OQuyF5FgSghKO8bRFmzV\nP8BjL2O04mtB2WY8KEubjdFgpG6glrWF6wPaxnTOCL4L/Aj41jS2IWKYT/eh+q5xsuMEnSMdgL8D\na2X+auakVwT9YZ7ki/8Dg9eJY/FfQ5DCJR4kmZPITsqha7QTn+4L6LIroCDQNO0rQJdSar+maX8e\nyDZE7HJ73VzoOcepjpMMugYxGAxomXNZmb+awuSikLR5awehO29zSNqIZTm2XLpGO+l39pOVlDXl\n9we65Nkh4MZcTEsBBexUSnXd5W2y5FmMG/eOc6rtFMeaj+EYd2A2mlmWv4y1JWvJTArhNFteF7y8\nAUY64NnjkDy9wTPx6FDDIQ42HOTLS75MeUb5Z/86NCsdKaVuRrKmaQeBr08SAgDxvqxU3C559vD2\nh3jvyiE+6fiYMfcoCaYEluUtZ3neSuwWO14HdDuCV89nvz+b+j72oXpG5v0Jo2NpMBbc7z0efldc\nDp2RERctnd2keHI+195kgnH7UI70ccrpcXLZcYmrJ67QMzhAojmRdUUbWJ63kiRzUlhqkA7Ce2Od\n6DMZnxioNVXTDgKl1APT3YaILuPecc50nuJkxwlqhq+xlKVsLN7MstzlJJoTw1qLdBDeG33ieBzo\n+AwZUCRu8vg8nO8+y/G2Y4y6R0iy2FiSspRvrvkmQ/3hH7QjHYT3zqd7ATBIEIhA+XQfl3sucrTt\nCEOuIawmK+uLNrIifxVnTh4nwZwAhDkIPjOCUNzdqNs/nMcW4CWbBMEMpus61f2Kj1oP0TvWi9lo\nZkX+KtYUrMNmsUW0ttuOIBR35HD7Ox/t1sk7Bm9HgmCGahlu5mDzAdodbRgNRpbkLmNd4Xr/zD+R\nNtwsHYRTNOgaBCDFIkEg7kG/s4/DLR+i+q4BMDdzHhuKN5GZOPVBKCFz4i+kg3CKuse6SLamBHwm\nJ0EwQ4x5xjjRdowzXafw+rwUJhexpWTrtGe2CTZL5yFoeFM6CKdg1D3KkGuI8vQ5AW9DgiDOeX1e\nznWf4WjrRzg9Y6QlpLGpeAtzM+dFzcIeN010EGJKkg7CKWgf8c/unGfLD3gbEgRxrH6wjg+a9tM7\n1kuCKYHNJQ+wPG9F1M77f6ODkBXflg7CKWgcagCgNDXw6dqi8zdCTMuQa5CDzQdQfdcwGAwsy72P\ndUUbsVvskS7tjm4dQWhe/PvQN3MnG5mqhqEGLEYLRdN4BkOCII54fB4+6fiYE23HcPvcFKeUsHXW\nQ+TZ8iJd2qRuHUGYborAuIUYNeDsp2e0m9lp5dM605MgiBO1A9f5oOl9+p392C3JbCt7hAVZC6Ov\nH+A2ZARh4K71/+ruz3RIEMS4QdcAB5r2U9N/HaPByIr8Vawr3BD2ZwICJiMIp+Va75WJVZSrprUd\nCYIY5dN9nOk8xUethxn3jlOaOoutpQ+RY8uZ/M1RREYQBq5rtIuu0U7mpFdM+2lQCYIY1D7czs+v\nvETHSDtJFhvbZz0cM5cBt5JHjKfnfNcZABbnLJ32tiQIYsi4d5yjrUe45rjA8MgYC7IXsaVka8Sf\nCwiUPGIcOJfXxeXeS6QmpDInvWLa25MgiBF1g7Xsb3iHQdcgxVn5PFq0i7K02ZEuK2DSQTg9l3su\nMu4dZ3XBWlkNeSZwepx80PQ+l3ouYDQYWV2wlieWPMpAn3PyN0cr6SCcFq/PyycdH2M2mlmUsyQo\n25QgiGJ1AzW82/AOw+ND5NnzeXT24+TacrGYLEDsBoF0EE7Pld5LDLoGWZ634tNLxU+DBEEUcnqc\nHGw+wMXu85iMJjYWb2ZV/hpMRlOkS5s26SCcHp/u40T7MUxGEyvzVwdtuxIEUaZusJZ3699meHyI\nXFse28t3BLyMVTSSDsLpudJ7mX5nP0tyl5GakBa07Qa6wIkZ+ClQBliBv1VK7QtaVTPQuHecg80H\nON91FqPByIaiTawuWBsXZwE3SAfh9Li9bo60HMJsNLOmYG1Qtx3oGcEXgR6l1Jc1TcsEzgISBAFq\nc7TyZt1e+p395Nhy2V6+IyaeD5gS6SCcttOdnzA8PsTqgrWkJaQHdduBBsGLwEsTHxsAd3DKmVl8\nuo8Tbcc41vYROjqrC9ayoWhTXJ0F3CAdhNMz4h7h4/bjJFlsrA7y2QAEvtLRKICmaSn4A+HbwSxq\nJhhw9vNW/Ru0DDeTYk3lsfId03qePJpJB+H0HWk5hMvrYmvxtpA8RxLQ2ocAmqaVAK8C31dK/ewe\n3iIrIuGfOfhC5wXeuv4WLq+LBTkLeLzqcZIs4Vk5KCL2/wY0vAmPvAglsh7O7Vzuhr01YDKC2eD/\n02QEkwEGnU2cbfspm0rz+N3lvxPIGWNo1j7UNC0PeBf4hlLq4L2+L9bXl5tuey6vi/ca3uFq72Ws\nJisPTjwj4Bjw4ODeaw332oc7d+4IuD1L5yHSJ+YgHEpcCfewnWj8twt1e9k6nG5N5INWy6c+r+te\nKu2vsyrXzfqs++nrHQ2ovckE2kfwLSAd+EtN0/4K/9H+UaVUYAuvzQCdo53sq9lDn7OPwuQiHi/f\nSXpiRqTLCi3pILwrjw/O9Zg40m7icJuZK/2fPtLn23w8N/sgDlcbS3OXhXSi2UD7CL4JfDPItcQl\nXdc5332WD5rex+PzsKpgDRuLNsdlh+BnSQfh53WPGdh/Bd5UiRxtNzPk9p+1p1l1Hpvl5kCLGZcX\n/kuVm9/Q2nhZHcJmsbOx+P6Q1iUDikLo1kuBRHMST1Q8yZz0ykiXFRbSQeh356O+hQWZXjYVeNhU\n6GFxlo9RD6gBG3+zysnSbA//eXUfHp+Hx8p3hnz1aQmCELn1UqAouZgdc54I6kiwaDeTRxB2jxlu\n7vi3O+o/pllYYneQnfTp/nOzEfY8MorVBMfbjtPuaGN+1kK0zLkhr1mCIAQudp9nf+O7M+5S4IaZ\nNoLwbtf6nz3qm42Qk2Ohu/vzN9FsE3tj50gHR1uPkGJN5cFZD4Xle5AgCCKvz8sHTfs523Vmxl0K\n3DRDOggnO+pvKvCwocD7uaP+ZMa947xRtxef7uOR2dvDNvekBEGQDLuG+aX6OS3DzeTYcnmyYnf8\n3xW4jXjtIJzqUT9Q7ze+R+9YD8vzVjA7rTwIld8bCYIgaB1u4cD1t+gY7mFe1gIeLnsUq8ka6bLC\nLt46CEN11L+Tiz0XuNRzgXx7AZvDPPBKgmAabtwaPNC0H5vNypbSrazIWxVzk4gGS6x3EIbrqH87\n3aPdvN/wLonmRHbO2RX2ZekkCALk9Xl5v+k9znedJcli40uLv0iyJzvSZUVMrHYQTnZfP9hH/dsZ\n946zt3YPbp+bxyI00EyCIABjnjFer3mVpqFGcm15PFX5NLMzisM6TDWqxFAHoccH53tNHG6b/L5+\nsI/6t6PrOm/Xv0HvWA8r8ldSlamFvtHbkCCYoj5nL69Wv0Sfs4/KjCoeK985I/sDbhXtHYR3u9bf\nXuq/r780+fP39cPheNtRVN81SlNnsbk4cg9kSRBMQeNQA6/X7MHpGWN1wVo2Fd8/Y/sDbojGDsI7\nH/Wndl8/1Kr7FB+1HiYtIY0dc3ZFdKyJBME9utB9jvca3sFgMPBo+eMsyl4c6ZKiQrR0EE521N9U\n6GFjiK/1p6JrtIu36vdhMVrYVfl0xJeslyCYhK7rHG758ObsMLsqnqIkpTTSZUWFSHYQTvWoH00c\n4w5eu/4y495xnqh4KiqmpZMguAuvz8s7DW9xuecimYmZ7K56lozEzEiXFR0i0EEYa0f92xn3jrPn\n4isMuAZYX7QxLM8R3AsJgjtweV28XvMqDYP1FCYX8VTlMzG7xmAohKODMJaP+rfj033sq32NDncb\nC7MXs65wQ6RLukmC4DYcbgevVL9I50gHFRmV7CjfNbG6kIDQdhDe7b5+rBz1b0fXdd5vfJfagRoW\nF89nW/6jUdXRLEHwGX3OXl5Sv2DQNciS3GVsm/VwUBaZjCfB7CCMtvv6ofJxxwnOdZ0l15bHswue\nZah/PNIlfYoEwS06Rzp4sfoXjLlH2VC0ibWF66MqtaNBMDoIo/m+fihc6D7H4eaDpCak8nTVsySY\nEwAJgqjUOtzCK9dfxOV18XDZoyzJXRbpkqJPgB2EsXJfPxSu9l7h3Ya3SbLYeLrqCyRbJ59INBIk\nCICGwXpeq3nl5rRQ87MWRLqkqDSVDsJ46OGfrtqB67xZtxer0cozVc+RnRS9z6IEHASaphmAHwJL\n8K/R/TWlVF2wCguXmv7r7K3dg47OrordVGTMsIlE7tFkHYTx1sM/XU1DjbxesweTwcRTVc+Qby+I\ndEl3NZ0zgl1AglJqnaZpq4HvTXwuZlztvcKbdXv9/1iVz1CWNjvSJUWt23UQylH/9todbbx6/SX/\nwaVyd0wMQJtOEGwA3gFQSn2sadqK4JQUHpd7LvFW/T6sRiu7q56lOKUk0iVFr+YDJLS/y0j+dk4Y\nH+DweTnq30m7o42Xqn+B2+dm55wnKU+bE+mS7sl0giAVGLzltUfTNKNSynenNxw//uE0mpuanTt3\n3LG9hrEGTgwcx2ywsCVrC82XammmNmTtBVs42xofG2b/wff5ueunvF//MCN1/rMBu3GcVfYOFid1\nscjWRZppHEbBVQOf1EyvzXB+f8Fsr2e8hw/7DuLRPaxJX0uf6uA4HSFr717t3Llj0q+ZztqHfw8c\nV0q9PPG6SSl1t3OgqDg/vNx1mZevvIzVZOXLS75MUWr0PTYbVTxO/m7vaf5383qW5sLWMnhwFizP\nZ8Ye9W+nebCZ5y88j9vn5ql5T7Ewd2GkS7pVaNY+nHAUeBx4WdO0NcDFyd4Q6fXlVN819tW+5n/i\nS3sSqys1aDWFc/28cK99+LVHdrCr59P39ft7Q9dmNKxFOBWtwy28XP1L3D43j895gjzDrLtuLxLf\n32SmEwR7gG2aph2deP3VaWwr5Kr7FPtqX8NsNPN01XMUJsuZwL3KsQEzrMPvXrUMN/Ny9S/x+Dzs\nmLMrah4imqqAg0AppQO/F8RaQqZ+sI59db8KgVAuJilmjrqBGl6v2YNX98Z0CMAMGFDU5mjl9ZpX\nMWDgycqn5e6ACIobt56NBiNPVu6O+YVs4joIuke7ebn6RTw+D09UPMWs1LJIlyTiwLmuM+xvfBer\n0cpTVc/ExDiBycRtEPSP9fNS9S9wesZ4tPxxKjOqIl2SiAMn2o9zuPkgNoudZ6qeI8+eH+mSgiIu\ng2DEPcLeCy/iGB9mS+lWmV9QTJuu6xxqOcjJ9hOkJqTyrPZrZCZmRbqsoIm7IHB73ey5/jKDeh9r\nCtexMn91pEsSMc7j8/B2/Rtc7b1CVlIWz1R9Ie6WuI+rINB1nbfq99HmaGVt+Uo2ZMXOijsiOo15\nxnjt+is0DzdRnFLCrordcTllXVwFwaGWg6i+a5SklLJT20l/71ikSxIxbNA1wMvVL9I71sPczHls\nL98R9jUJwyVuvqtzXWc42X6CrKQsdlXujtt/MBEeHSPtvFL9EiNuByvzV3N/yQNxPVtVXOwtjUMN\nvN/4HkkWG09VPkOSOSnSJYkYVjtwnX21r+P2udk6axvL81ZGuqSQi/kgGHQNsLf2NQwGA09W7JZ1\nB0TAdF3nZMfHHG45iNlgZlfF7hlz2zmmg8B/h+AVxtyjPFT2iIwaFAHz+Dy82/A2l3sukmJN5cnK\n3VE/q1AwxWwQ6LrOOw1v0TXayZLcZSzJkclGRWCGXcP84tp/0uZopSC5kCcrdkftJKOhErNBcLrz\nE672XqYouZitpdviuiNHhE7HSDv7a96g3dHN/KyFPDJ7+4zsaI7J77jd0cahloPYLck8UfHkjPyH\nE9N3tfcK79S/SUKSiU0lW1idv2bGHlBibg9yepzsq30Nn+7jsfIdM+4UTkyf1+flUMsHnOr4BKvJ\nyhcWfoFMvTDSZUVUTAWBruu81/A2A64B1haul1mHxZQ5xofZW/saLcPNZCVls6tiN1p2WVhnDIpG\nMRUEF7rPca3vKsUpJawv2hjpckSMaR5uYm/Na4y4HczNnMcjsx/DarJGuqyoEDNB0O/s44Om90k0\nJ/F4+U5ZmFTcM13XOdV5kkPNBwF4oPRBluetnLH9AbcTE0Hg0328Xf8mbp+bR2Y/FndPfonQcXqc\nvNfwNtf6rmK3JLOzYldcTCQSbDERBKc7P6FluBktcy5zM+dFuhwRI9odbeyrfY0B1wAlKaXsmPOE\ndC7fQUBBoGlaKvA8/kVOLMAfK6VOBLOwG3rHejnScgibxc6Dsx6W0zkxKV3X+aTjJIdbDqKjs7Zw\nPeuLNsrl5F0EekbwR8D7Sqn/o2laFfACsDx4ZfnduEtwY5Viu8Ue7CZEnBlxj/B2/RvUDdRityTz\nWPkOubt0DwINgu8BromPLUBIHvy/1HuR5uEmqjK0mJ4qWoRH41ADb9btwzE+zOy0craX75CDxz2a\nNAg0TftN4A/xL1lmmPjzq0qp05qm5QP/AfxBsAsb84zxYfMHWIwWHih9MNibF3HE6/NytO0IH7cf\nx4CBzSUPsCp/tVxGTsF01j5cBPwcf//Ae/fwlik19Eb1G5xqO8W28m2sL10fUI0i/nWPdPPq1Vdp\nd7STkZjB7vm7KU6VBWw+IzRrH2qaNh94EXhWKTXpmoc33Ovorc7RTg7XHCMzMYs5CQsCGvUVa+vn\nRWtbx49/yM6dO6LuZ6nrOqc7P+Fwy4d4fB4W5yxlS+lWElwJU641nn9XbrQ3mUD7CL4DJAD/pGma\nARhQSj0Z4LY+53DzQXRdZ0vpVkxGU7A2K+LEkGuQt+vfpHGoAZvFzo45u2bMBCKhElAQKKV2BbuQ\nGxoG66kfrGNWahmzU8tD1YyIUVd6L/N+47s4PU4qMip5qOxRki3JkS4r5kXVgKIbi0gAbC7ZIp09\n4iaH28GBxvdQfdewmqw8Mns7i7KXyO9IkERVENQO1NA50sG8rPkzapoocWe6rnOl9zIHmvbj9IxR\nnFLCo7Mfk7kpgyxqgkDXdU60HwNgTYHcJRAwPD7Eew3vUDtQg9Vk5cFZD7Esd7mcBYRA1ARB03Aj\nbY5WKjOqyLHlRLocEUG6rnO+6ywfNn+Ay+tiVmoZj8zeTlpCeqRLi1tREwQftx8HYE3BughXIiJp\nwNnP2xf2cLHlKgmmBOkLCJOoCII+Zy8Ng/WUpJRSkDyzp4yaqbw+Lyc7TnC87SgJSSbmpFfwUNkj\npFhTI13ajBAVQXC+6xwAS3JlSvKZqGmokf2N79I71oPdkszueTvJM8ySs4AwingQeHweLvZcwGax\nU5WhRbocEUaj7lE+bP6ASz0XMBgMLMu9j43F91OSlzPj5xAMt4gHQf1gHU7PGCvzV8u05DOErutc\n6rnAweYPcHrGyLXl8XDZo3JZGEER3/Ou9V0BYF7W/AhXIsKhY6SdA437aXW0YDVZeaD0Qe7LWyGT\nhkRYRIPA7XVTO1BDekI6ebb8SJYiQszhdnCk5RCXei6g6zpa5lweKH1QOgOjRESDoHm4kXHvOEtz\n75OOoTjl9Xk53XmK420f4fK6yLblsLV0G7NSyyJdmrhFRIOgYagBgLJUmUoqHtUN1HCw+QC9Y70k\nmpN4cNZDLM29Ty4DolBEg6BxqAGz0SzLmceZ7tFuDrccpHag5ubdgPVFm7BZbJEuTdxBxILA5XXR\nM9ZNSUqp3C2IE47xYT5qPcLFnvPouk5p6iweKN1Gri030qWJSURsD+wZ7UbXdXJteZEqQQSJy+vi\nZPsJTnWcxO1zk5WUzf0lWyhPq5C+nxgRsSDoGu0EkCCIYV6flwvd5zja9hGj7hGSrSlsLdrGwuzF\n0g8QYyIWBP2ufgAy5bnymOPTfVzru8qx1iP0OfuwmqxsKNrEivxVsqhojIpYEIy4HQCkyBJUMUPX\ndar7FUfbjtAz2o3RYGRZ7n2sLdog04XFuAgGwQgAdvkFinq6rlM7cJ0jLYfpGu3EYDCwMHsx6wrX\nk56YEenyRBBMKwg0TZsLnABylVLjU3mvx+fBZDTJtWQU03Wddlc7Pzn7E1R7LQaDgXlZC1hXuIGs\npKxIlyeCKOAg0DQtBfgu4Azk/V7di8kgU5VHI/8ZQA0n2o9xsu8oWo5GVYbG+qJNMntUnJrOGcG/\nAN8CXg+oYYMZj8+DrutyiylK+HQfqu8aJ9qP0T3aBUBRQhFfX/51zE65hItnU1378IYm4AWl1MWJ\nBU6mLNGciE/3Me4bJ8GUEMgmRJB4fV6u9F7i4/bj9Dn7bl4CrC5YS+35KxSkFNDtlPkB4llAax9q\nmlYNtOAZLixoAAAKvElEQVRfU20N8LFS6v5J3vaphvaqvZxpP8M3Vn6DHLucbkaCy+PibMdZjjcf\nZ9A1iMlgYkn+EjaUbiAzSW7rxpHQrH2olLq5vpSmafXAtnt5362zzpjHbYyMuFAtDZCZGEgZdxXP\n69lNt60h1yCnO09xofscLq8Li9HC4pwlrMxfTWpCGl4HdDv824/WtQ+lvam1N5lg3D68sVz6lOQk\n+ceft4+0oWXODUIZYjLtjjZOdZ5E9V3Dp/uwW5JZVbCGJTnL5IGgGW7aQaCUCmiBwqLkYsxGM/WD\nddxf8sB0yxB34PV5uT5QzZnOU7QMNwOQY8tlRf4q5mXOlwe+BBDBAUUWk4WSlFLqB+voc/aSmSj3\npYNpyDXIhZ7znO86d3MUZ3n6HFbkrWJWapncqRGfEtHDwcLsxdQP1nG+6xxbSrdGspS4oOs6DUP1\nnOs6Q83AdXRdJ9GcyIr8lSzJuU8GAYk7imgQVGZUYbckc777LKsK1mC32CNZTswaHh/icu9lLnaf\no9/pf5gr317A0txlzM2cLw8CiUlFNAjMRjNrCtdyoHE/x1qPsK3skUiWE1M8Pg/X+6u51HOBhqF6\ndF3HbDSzMHsxy3Lvk6nBxZREvKdoac59nOs6w9muM1RlzpVJLe9C13U6Rto52V/DifpTOD3+0d2F\nyUUszF7E3Mz5JJqDfytWxL+IB4HJaGL77B3859V/5826fXxx3pdJTUiLdFlRpXu0m2t9V7jWd4V+\nZz92ewImg4VVBWtYmL2Y7KTsSJcoYlzEgwCgILmQzSVbONh0gFeuv8Rz2q/P+Pvafc5ervVe5Wrf\nFXrHegCwGC3My5rPxso1pHpz5clNETRREQQAK/JWMega4EznaV649jzPal+YUYtf6LpO52gHNQPX\nud5fffOhH7PRTFWGhpY5jznpFVhNVnKywjsyTcS/qAkCg8HA1tKHMBqMnOr4hH+//G88Vr6DsrT4\nXfPA4/PQNNRAzcB1agZqcIz7d26T0UR5+hzmZs6nMqNKHsoSIRc1QQD+MNhS8iCp1jQ+bP6Al6p/\nwX25y1lftCkuOsF0XadnrIfGoXrOd53lYPMHVGZUkWROIsliY0H2IirSKylLmy07vwirqAoC8IfB\nivxVFCUX82bdXk53nuJq31XWFq5jcfZSLCZLpEu8Z7quMzQ+SNNwE42DDTQONdwc5TfqHiUtIY0V\neatYnLuEouRiueYXERN1QXBDQXIhX1n4NU51nOR421EONO7neNsxluXex4KshVE5V57H56FzpINW\nRyvtI620Olpvnu6Df37G+VkLmZVWRllq2YzqAxHRLWqDAG4MOFrHopwlnO78hLOdpznaeoSjrUco\nSSmlPL2C8rQ5ZCdlh33s/JhnjO7RLrrHuuga7WKscZD67ma8Pu/Nr0m2pqBlzqUouZhZqbMjUqcQ\n9yKqg+AGu8XOpuL7WVOwDtV/jcs9F2kaaqR5uIlDzR9gtyRTkFxAvq2APHseaQkZpHun16fg032M\nukcYcY8w4Bqg39XPgLOfAVc//c5+hseHPvX1aSl2cpJyKUwupDC5mKLkIlKtabLji5gQE0Fwg9Vk\nZVH2YhZlL8bhdtAwWE/9YC0twy3U9F+npv/6za+11yVgcFuxmW0kmhNJMieRYErEaDBgwIBh4k+3\nz4PbN864dxy3z82YZ4wR9whjnlFuN3uTwWAgxZrC7LRycmy55NryyEnKZW5pGb09I+H8cQgRNDEV\nBLdKtiSzMHsRC7MXAf4FODtHO+ge7WbANYDP6qSlp4NB1wBdo6573m6CKQG7xU5WYhZ2ix27xU5q\nQhoZCZmkJ2aQnpB+22f4paNPxLKYDYLPSramkGxNYU56JfDp6aC8Pi9OrxOX14mu+0/79Yn/LEYz\nVqMVi8mKxWiRHVrMSHETBHdjMpqwG+3ymLMQdyCHPyGEBIEQIsBLA03TjMD3gOVAAvDXSqm3glmY\nECJ8Aj0j+BJgVkptBHYBFcErSQgRboF2Fj4MXNQ07Y2J1/8tSPUIISIg0LUPu4ExpdTjmqZtAv4N\n2BySCoUQIRfo2ocvAC8qpfZMvG5XShVM8rapNySECIbQrH0IfARsB/ZomrYEaLyXN8X7+nKxsvbh\nVMjah/HR3mQCDYIfAz/SNO34xOvfDXA7QogoEOhqyOPAbwW5FiFEhMiAIiGEBIEQQoJACIEEgRAC\nCQIhBBIEQggkCIQQSBAIIZAgEEIgQSCEQIJACIEEgRACCQIhBBIEQggkCIQQSBAIIZAgEEIgQSCE\nQIJACEHgS56lAr8A7IAL+KJSqiuYhQkhwifQM4KvABeUUpuBF4E/DVpFQoiwCzQILgKpEx+nAuPB\nKUcIEQlTXfLMMPHnfwUe0jTtMpABbAxlkUKI0Jo0CJRSPwV+euvnNE17BfhfSqkfa5q2CHgVWBKa\nEoUQoRboSkd9wODEx93A5GsqgeFell4KpnhuL1xt7dy5I6zt3SDthVegQfBXwP/TNO0bE9v4WvBK\nEkKEW0CrIQsh4osMKBJCSBAIISQIhBBIEAghCPyuwZSE+9kETdOMwPeA5UAC8NdKqbdC1d4t7c4F\nTgC5SqmQjbac+Hk+j39UpwX4Y6XUiRC0YwB+iH+MiBP4mlKqLtjt3NKeGf+YlTLACvytUmpfqNqb\naDMXOAU8qJSqDmVbE+39GbAT/7/bD5VS/xqidszAz/D/LD3Ab9/t+wvXGcFXCO+zCV8CzEqpjcAu\noCLE7aFpWgrwXfw7TKj9EfC+Uup+4KvAD0LUzi4gQSm1DvgW/nANpS8CPUqpTcB24PuhbGxiZ/ln\nYDSU7dzS3mZg7cTP836gJITNbQdMSqn1wN8A37nbF4crCML9bMLDQKumaW8A/wKE9Kgy4V/w7yzh\n+KX6HvB/Jz62AGMhamcD8A6AUupjYEWI2rnhReAvJz42AO4Qt/dd4EdAW4jbueFh4JKmaa8Be4E3\nQthWNWCeOKtLY5J9LuiXBuF+NuEz7d3QDYwppR7XNG0T8G/A5hC21wS8oJS6OPGDD5o7/Dy/qpQ6\nrWlaPvAfwB8Es81bpPKrEaQAHk3TjEopXygaU0qNws2zq5eAb4einYk2vgJ0KaX2a5r256Fq5zOy\ngVLgcaAcfxjMDVFbDmA2cA3ImmjzjsIyoGji2YR3bnk24XmlVMieTdA07QXgRaXUnonX7UqpghC2\nVw204N9R1wAfT5y2h8zEz/Hn+PsH3gtRG38PHFdKvTzxukkpVRqKtm5pswT/syvfV0r9LITtHAJu\nBNpSQAE7Q9x39Xf4w+cfJl6fw9830ROCtv4ecCqlvq1pWhFwEFh4p76rsHQWEtizCdPxEf5rpD2a\npi0BGkPZmFKq6sbHmqbVA9tC2Z6mafPxn0Y/q5S6GMKmjuI/krysadoa/Jd4IaNpWh7wLvANpdTB\nULY10V91o92DwNfDMLnOR/jP3v5B07RCwAb0hqitPn51aTWAf1833emLwxUE4X424cfAjzRNOz7x\n+ndD3N6tbpzCh9J38N8N+aeJS5EBpdSTIWhnD7BN07SjE6+/GoI2bvUtIB34S03T/gr/z/JRpZQr\nxO2GZZy9UupNTdM2app2Ev/vyO8rpULV9j8CP9U07TD+fqRvKaXu2JckzxoIIWRAkRBCgkAIgQSB\nEAIJAiEEEgRCCCQIhBBIEAghkCAQQgD/H1xS19UcftZvAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "A = np.array([[3, 7], [5, 2]])\n", + "\n", + "print 'Unit circle:'\n", + "matrixToPlot(np.array([[1, 0], [0, 1]]))\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()\n", + "\n", + "print 'Unit circle transformed by A:'\n", + "matrixToPlot(A)\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is what we get when we apply the matrix $\\bs{A}$ to the unit circle and the basis vectors. We can see that the two base vectors are not necessarily rotated the same way. This is related to the sign of the determinant of the matrix (see [2.11](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.11-The-determinant/)).\n", + "\n", + "Let's now compute the SVD of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.85065081, -0.52573111],\n", + " [-0.52573111, 0.85065081]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U, D, V = np.linalg.svd(A)\n", + "U" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 8.71337969, 3.32821489])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.59455781, -0.80405286],\n", + " [ 0.80405286, -0.59455781]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now look at the sub-transformations by looking at the effect of the matrices $\\bs{U}$, $\\bs{D}$ and $\\bs{V}$ in the reverse order. Note that it returns the right singular vector **already transposed** (see the [doc](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.svd.html))." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "hideCode": false, + "hidePrompt": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit circle:\n" + ] + }, + { + "data": { + "image/png": "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\ndoGwxMS66/QAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First rotation:\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Scaling:\n" + ] + }, + { + "data": { + "image/png": "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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Second rotation:\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Unit circle\n", + "print 'Unit circle:'\n", + "matrixToPlot(np.array([[1, 0], [0, 1]]))\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()\n", + "\n", + "print 'First rotation:'\n", + "matrixToPlot(V)\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()\n", + "\n", + "print 'Scaling:'\n", + "matrixToPlot(np.diag(D).dot(V))\n", + "plt.xlim(-9, 9)\n", + "plt.ylim(-9, 9)\n", + "plt.show()\n", + "\n", + "print 'Second rotation:'\n", + "matrixToPlot(U.dot(np.diag(D)).dot(V))\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Just to be sure, you can compare this last step with the transformation by $\\bs{A}$. Fortunately, you will see that the result is the same:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "hideCode": false, + "hidePrompt": false, + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "matrixToPlot(A)\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Singular values interpretation\n", + "\n", + "The singular values are ordered by descending order. They correspond to a new set of features (that are a linear combination of the original features) with the first feature explaining most of the variance. For instance from the last example we can visualize these new features. The major axis of the elipse will be the first left singular vector ($u_1$) and its norm will be the first singular value ($\\sigma_1$)." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u1 = [D[0]*U[0,0], D[0]*U[0,1]]\n", + "v1 = [D[1]*U[1,0], D[1]*U[1,1]]\n", + "\n", + "plotVectors([u1, v1], cols=['black', 'black'])\n", + "\n", + "matrixToPlot(A)\n", + "\n", + "plt.text(-5, -4, r\"$\\sigma_1u_1$\", size=18)\n", + "plt.text(-4, 1, r\"$\\sigma_2u_2$\", size=18)\n", + "\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "They are the major ($\\sigma_1u_1$) and minor ($\\sigma_2u_2$) axes of the elipse. We can see that the feature corresponding to this major axis is associated with more variance (the range of value on this axis is bigger than the other). See [2.12](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.12-Example-Principal-Components-Analysis/) for more details about the variance explained." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# SVD and eigendecomposition\n", + "\n", + "Now that we understand the kind of decomposition done with the SVD, we want to know how the sub-transformations are found.\n", + "\n", + "The matrices $\\bs{U}$, $\\bs{D}$ and $\\bs{V}$ can be found by transforming $\\bs{A}$ in a square matrix and by computing the eigenvectors of this square matrix. The square matrix can be obtain by multiplying the matrix $\\bs{A}$ by its transpose in one way or the other:\n", + "\n", + "- $\\bs{U}$ corresponds to the eigenvectors of $\\bs{AA}^\\text{T}$\n", + "- $\\bs{V}$ corresponds to the eigenvectors of $\\bs{A^\\text{T}A}$\n", + "- $\\bs{D}$ corresponds to the eigenvalues $\\bs{AA}^\\text{T}$ or $\\bs{A^\\text{T}A}$ which are the same.\n", + "\n", + "Let's take an example of a non square matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 7 & 2\\\\\\\\\n", + " 3 & 4\\\\\\\\\n", + " 5 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The singular value decomposition can be done with the `linalg.svd()` function from Numpy (note that `np.linalg.eig(A)` works only on square matrices and will give an error for `A`)." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.69366543, 0.59343205, -0.40824829],\n", + " [-0.4427092 , -0.79833696, -0.40824829],\n", + " [-0.56818732, -0.10245245, 0.81649658]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[7, 2], [3, 4], [5, 3]])\n", + "U, D, V = np.linalg.svd(A)\n", + "U" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 10.25142677, 2.62835484])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.88033817, -0.47434662],\n", + " [ 0.47434662, -0.88033817]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## The left-singular values\n", + "\n", + "The left-singular values of $\\bs{A}$ correspond to the eigenvectors of $\\bs{AA}^\\text{T}$.\n", + "\n", + "### Example 5.\n", + "\n", + "Note that the sign difference comes from the fact that eigenvectors are not unique. The `linalg` functions from Numpy return the normalized eigenvectors. Scaling by `-1` doesn't change their direction or the fact that they are unit vectors." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "U, D, V = np.linalg.svd(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Left singular vectors of A:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.69366543, 0.59343205, -0.40824829],\n", + " [-0.4427092 , -0.79833696, -0.40824829],\n", + " [-0.56818732, -0.10245245, 0.81649658]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvectors of AA_transpose:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.69366543, -0.59343205, -0.40824829],\n", + " [-0.4427092 , 0.79833696, -0.40824829],\n", + " [-0.56818732, 0.10245245, 0.81649658]])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.dot(A.T))[1]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## The right-singular values\n", + "\n", + "The right-singular values of $\\bs{A}$ correspond to the eigenvectors of $\\bs{A}^\\text{T}\\bs{A}$.\n", + "\n", + "### Example 6." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "U, D, V = np.linalg.svd(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Right singular vectors of A:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.88033817, -0.47434662],\n", + " [ 0.47434662, -0.88033817]])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvectors of A_transposeA:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.88033817, -0.47434662],\n", + " [ 0.47434662, 0.88033817]])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.T.dot(A))[1]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## The nonzero singular values\n", + "\n", + "The nonzero singular values of $\\bs{A}$ are the square roots of the eigenvalues of $\\bs{A}^\\text{T}\\bs{A}$ and $\\bs{AA}^\\text{T}$.\n", + "\n", + "### Example 7." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 10.25142677, 2.62835484])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U, D, V = np.linalg.svd(A)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvalues of A_transposeA:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 105.09175083, 6.90824917])" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.T.dot(A))[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvalues of AA_transpose:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 105.09175083, 6.90824917, -0. ])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.dot(A.T))[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Square root of the eigenvalues:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 10.25142677, 2.62835484])" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sqrt(np.linalg.eig(A.T.dot(A))[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# BONUS: Apply the SVD on images\n", + "\n", + "In this example, we will use the SVD to extract the more important features from the image. It is nice to see the effect of the SVD on something very visual. The code is inspired/taken from [this blog post](https://www.frankcleary.com/svdimage/).\n", + "\n", + "Let's start by loading an image in python and convert it to a Numpy array. We will convert it to grayscale to have one dimension per pixel. The shape of the matrix corresponds to the dimension of the image filled with intensity values: 1 cell per pixel." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nx3V2dlbT6fQKwKT9bMs+xv85COG/XOvMu+1X+iPTguucqaWvbsttUK83i7mf1kno7EDCr9Qp1oNR\nj+1f8o9+uF73GX+X91MyOeKSIMn9TdpU1ZXnCXv8ZMSd0PDzvT1etw9vUgdaGfEHVW40aMPg40gs\n2C2U6yjJzEykbifA96r+YbdZn5XaaV5nlaiDNjOjlNlBR+BVm+lGj8HjsPGifpy5aeBxZHbBymOD\n4RPhTXeDJkd0pktGM+6HwRJtOesE6OW6/f393hEs5vN63T5LKqeZ4ElrrMl7F0dS3O+1U4zJjzVh\njF6nRb8MLs1794vSmg5IubbBSKMNb3jldI6nqvf397tMGtlQwDhjsXFdre6ug0NG7BS8mYA+m79c\nkxkG/4785Pgsx5YDy62zKRTzylnK2WxWX/va12o6nXb0WiwW9YY3vKF+6Id+qJ544ol64oknumlG\nwJ6fdmG+r9frun37dj366KP16le/ut72trfVpz/96frQhz5Uh4eHdfv27U5/AMgnJyc9BwPI8PNM\nzc9WFtlT39RdVV39BmTIOjtv2bxhu4AupAzSnvsDuHbg5yyQbYNlN+XV42xln1rBdhbbZQOGqj7I\nws56vRX0z5MCDGBbbdmOJ3jKzFxrDK1EQs7ceJeibSegjB39ln10zWMwjU1XgikDK/M8S/rJln8k\n22wglv2nzwZOyUPrcgLaoeLjfiy32RfoxNNXHGjkGjbXk3Lwf11uNGizQ86I1Arq622Mqq4qzpBy\nZhRlQUnn6kiQ33wgI9kO+p2PyXB7GJRW/+mPMxmkcg1+qCOFO40/RsuCaOHEWDCVwhgYE/X4yQm0\nY5DJPTbq/F/VN+y04/V/5pM/2yi4bd4NGky/lvFP0OZpTvcLB0fkywnrBup+mLKznckPR3GWN2fs\nMKrw2/Q0gKQ9G0AAUGZeR6NRlzFlzdtotDmvjTVQHAuBHAPs2IWKsff5XwBCHEBVdWAcOjgDgOyx\naYDrDbSgAbw0WHf2xDzObAWAlM056/Xdw4mrqr72ta/V7u5uvfnNb66f+qmfqscff7yOjo5qtVrV\nt771rdrd3e0epeWsgJ12yvrOzk595Stfqde85jX1F3/xF/W+972vPvOZz9Sjjz7a6Scy1crKsmie\nvsNPOyTrbGZ3RqNR94zNfHwTv5FZsL1p2ZwEVNThZRW02cpaU086ONsetznkCK8DbEPXeyoOZ2ya\n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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from PIL import Image\n", + "\n", + "plt.style.use('classic')\n", + "img = Image.open('test_svd.jpg')\n", + "# convert image to grayscale\n", + "imggray = img.convert('LA')\n", + "# convert to numpy array\n", + "imgmat = np.array(list(imggray.getdata(band=0)), float)\n", + "# Reshape according to orginal image dimensions\n", + "imgmat.shape = (imggray.size[1], imggray.size[0])\n", + "\n", + "plt.figure(figsize=(9, 6))\n", + "plt.imshow(imgmat, cmap='gray')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will see how to test the effect of SVD on **Lucy the goose**! Let's start to extract the left singular vectors, the singular values and the right singular vectors:" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "U, D, V = np.linalg.svd(imgmat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check the shapes of our matrices:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(669, 1000)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "imgmat.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(669, 669)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(669,)" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1000, 1000)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remember that $\\bs{D}$ are the singular values that need to be put into a diagonal matrix. Also, $\\bs{V}$ doesn't need to be transposed (see above).\n", + "\n", + "The singular vectors and singular values are ordered with the first ones corresponding to the more variance explained. For this reason, using just the first few singular vectors and singular values will provide the reconstruction of the principal elements of the image.\n", + "\n", + "We can reconstruct an image from a certain number of singular values. For instance for 2 singular values we will have:\n", + "\n", + "\n", + "We can reconstruct the image from few components\n", + "\n", + "In this example, we have reconstructed the 669px by 1000px image from two singular values. " + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAFzCAYAAAD2cOlVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsfVGsrVtV3lh773O5956DNLYoFynh6IVLsaBJfehDwVgD\nDRa5JGivD01EomlTkvJCAPXFNJEK2IqYNG00gCExIBLgKkQ0ag1NNGlM5I1LufqgFLAYL9x77qHc\ns/fuA459vv2d7xtzzH+tvc46do1kZ601/znHHHPMMcf45vjn/+/VH/zBH5zGnva0pz3taU972tMd\nQge3W4A97WlPe9rTnva0pxnag5c97WlPe9rTnvZ0R9EevOxpT3va0572tKc7ivbgZU972tOe9rSn\nPd1RtAcve9rTnva0pz3t6Y6iPXjZ0572tKc97WlPdxTtwcue9rSnPe1pT3u6o2gPXva0pz3taU97\n2tMdRUfb7vC9731vfOITn4hr167FC17wgnjjG98YV69e3bYYe9rTnva0pz3t6Q6lrWZePvCBD8Qn\nP/nJeOc73xkf/ehH4zu/8zvjzW9+c3zta1/bphh72tOe9rSnPe3pDqatgpeHH344HnrooXje854X\nd911V7z+9a+PGzduxKc+9altirGnPe1pT3va057uYNoaeLl27Vp88YtfjAceeOCs7PDwMO6///74\n3Oc+ty0x9rSnPe1pT3va0x1OWzvz8uSTT0ZExJUrV86VP/3pT49r166dKzs5OYm//uu/jnvuuSdW\nq9W2RNzTnva0pz3taU9r0OnpaVy/fj3+/t//+3FwcHH5ka2Bl3vvvTciIp544olz5Y8//ng885nP\nPFf213/91/Gv/tW/2pZoe9rTnva0pz3taYP067/+67fE9k3S1sDL5cuX41nPelY88sgj8aIXvSgi\nIo6Pj+PRRx+NV7ziFefq3nPPPRER8Q/+wT+4BbktzcSM2i3hm21OT0/bfLIuf6o6m2zr6nX1cu3a\ntbhy5UqsVquzP9cey6p6t5NYT6NxdHiM6qxWq7JNV0ePPfZYPOMZz2jV7drDjDxqTi9inteRfd32\nnXGcnp7GY489Fn/v7/29Yb9dWZRP6dTHNiz7jB5m+5+hTfF0fL761a/GN33TN21FBkfb8HNLx3DR\nY086OTmJL3/5y2dx/KJoq49KP/jgg/HBD34wvvu7vzue/exnx/vf//44OjqKl770pefqpQEcHh7K\n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\nj+3V7X0GLsofdcoc38q/jcodD67PvqmzeRrZhJPR2RT2vw1qgZdf+qVfiqOjo3jrW98aETcX2c/9\n3M/Fi1/84litVvG2t70tfuEXfiFe+9rXxl133RXf//3fH//m3/ybMx7f+73fG3/zN38TP/uzPxtf\n+cpX4rnPfW783M/93Ll3xTBh6jp/jyYe6yDixOwKOxZOkfMi4X7VoS9lLAx2EAipdjhOBc4i4uz/\nHPG4OFDwbaPsCxdy9lsZHe9UFBisAj7fGkE53JkH57BSHqV/HBPWZd7Kwao5YKrAyCywWpdwPvn8\nCpYjeMlylF09so/l+ccZQG6D/3uL+1qtbp5vYhlV0GPwVQU5B1BG4IV5KN2O6uWGgqkCo13aZgDY\nBlXj6Y6Vfc2o3mhNs8+K8IdwqwxpJYcCyfydNx3si2fAi5JL9aWuuzXI31FejCfd+dkktcDL7//+\n7w/rfMu3fEv8x//4H8s6r3nNa+I1r3lNT7K/JVbYTJv8Xk18F9G6IKeMzcni+kYZqwXSQfBuwbAs\n1aJW6N0R36Jxi3AktyO1kEZ1k6pAVI1PnQPCehUP5XhmZB4Ry8P677R3eunKhM6exz9yqNXarByr\n0rUDpJXco7pdnp21qGSt+lB+IespPziStRvIuc0IwPE6qOq4ftddF25tZf+4AezoXgXhGT9YyVXx\nqOxa8e7qV7Xt8nN9cBy83bTT/x4gyTk/VQc/eefNIEEFmZGhJTnAwsbLGYslDqQymhnDZdTMdRzw\n4GDD50HcodVq3CpLVI1LzSvuhio9oAwu26PkVY7PjW1UD4kdK5/XwnFy5hEP8qlAhm1Tx6kjvr3C\nB5ydHjgzibJyPR4Tl2P/KuuT19ztKZbTlXPm0a111C2WqfXHfeThTx43fuJ1llt9r+ymkkWNXwUk\ndZ5D9eHI6a/Ttrqu1lLlP9iPjfg6Odz6d3W4fMS7M1+KVwfgO7+iYtNoIznKKqn10JXrouiOAC+M\ngF0drssHyqq6LgWsDIrbY1klWzUWTnnjd5UGV9edHGrsTs5Zw5vZ9arf6OzVo6ksk+NTPeqHNuAc\nDmdbOPjwwWuUjXnyrS3nDCtnzfyTsgzPHCk9HR8f27NFDGb4serV6vx7Xhi84Dtcsgzlwd8uAFU2\ni/bAwZbrKZtdrfQ/vENSgILrVdnbBFhoI6iv/MT2HdDhgiqX8cFxNTa0exfk+emVCH1YX+kCg+W6\n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\n6+zt7cV73vOe+NSnPhX7+/tx5513xq//+q/H85///LIfrm6q++eu3tZWfX+XtM4TMrzFw7pOBv2d\nH/eyOT3We//ZL/ljm6MVNTfLunSok3+mHx4vCVTVSngdcm2yvc4hdA6vk4v6G5XvXvBXBUfdg7K9\nvV3KqGNbZSIq3jTI5nXNXOoL67IM6/Af0qm/LlvDVw043vVvCUijecmy7pt9sZ3qVQuzfS4NLhXf\nrt5ZARj3wkIl6n+23y5LNAMiOr1XZc6K1h2raq6dFnDO0HnrIqK/s3EetBhOPfjgg/Gtb31rhcFH\nHnkkfuu3fivuvvvu+Ju/+Zu499574wMf+ED84z/+43GZ97znPfH5z38+/viP/zg++tGPxtWrV+O3\nf/u3275ckKx+VwG1quNeVjTTtgMjSu7lWpVMs/11dbsyXX9O166+k9HVczLO0kUY+zoOJ8uPgMrs\n9dEKkGVHHwUQBA4VmHAf114FPhyAcWW17VE/jr+IGPKe4E3P5W/qcEYXFS/b29sr57OPDqBVYzu6\nPrKtqs2ujLPJirr2qdfq3GybM/Iu4X0T6Lx4XAd8VL75PGhJ5vDM+lxS+L/+67/igQceiHvvvXdF\nCQ8++GC86EUvile/+tWxvb0dd955Z9x1113xsY99LCIidnd348EHH4xf+qVfiuc///lx4403xpvf\n/Ob4t3/7t/iXf/mXsr8lQGX2k+VdvaVtaZ0KDHVtdv9vtA6Q4QvtujdEjkBKB3Y6/qq3onYAavZc\nd300UUfgbWk/zp664+r3DKB0dTtywWxUvgJaLtBcRArZBbbZ8mdR7rR1Z8arsw9nW7PtZrl1g9eM\n3SYt2VBdybSUr9G8G7VX+cBZuUdydH5n1pd3vM/6uopHJ0/X7szfnIxefXEetMgLvfOd74xf/MVf\nPHGr5+GHH47v+77vWzl3xx13xJe//OWIiPj3f//32N3djdtvv/34+nOf+9x44QtfGF/5ylfaPqsA\nydspXaBc97OkLZZV/nk8274DAu4x2TxmHxHXbzPxrwgqXbs3h7r+nGxLjHYUmC9qAjzV1K1YWW50\nvlvdzmwun1n9dvxUWYCZvpbIV2Us9HvpawKcDB2Ams0kdPR0yCRsOo38yFm1v65vO025CuRUvM0A\nmyXX3BukN4mm97xkFuVVr3rV8bmcfNeuXYsXvehFK+Wf85znxGOPPRYREY8//nhERFy9enWlzNWr\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "reconstimg = np.matrix(U[:, :2]) * np.diag(D[:2]) * np.matrix(V[:2, :])\n", + "plt.imshow(reconstimg, cmap='gray')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is hard to see Lucy with only two singular values and singular vectors. But we already see something!\n", + "\n", + "We will now draw the reconstruction using different number of singular values." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAF+CAYAAABK7vqLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsvW2MrldV/7/uOTOnLT0Fg1AeQirFQgFDIYqJLwQEIxQk\nglEpiSTUxogGlcQQHjQxxgTkSUFMjAlGwEbCg6ZaYxMkFg0xmBgNvKNCXyEBDA1Ie1rKOWfm/4Lf\nmn7nM9+19r7nzEzn+L9Wcue+7n3tvfbaa6+91nc/XNe9+vSnP70TCy200EILLbTQQpcIbTzcAiy0\n0EILLbTQQgutQwt4WWihhRZaaKGFLilawMtCCy200EILLXRJ0QJeFlpooYUWWmihS4oW8LLQQgst\ntNBCC11StICXhRZaaKGFFlrokqIFvCy00EILLbTQQpcUbT7cAiy00EILzdDnPve5+K3f+q196WfO\nnInbb7/9YZBooYUWerhoAS8LLbTQJUOr1Sp+4zd+I66//vrdtFOnTj2MEi200EIPBy3gZaGFFrqk\n6JprrolnPOMZD7cYCy200MNIy5mXhRZaqKUPfehD8aIXvSi+8pWvxFvf+tZ42cteFq9+9avjL//y\nL49dlp2d5d9MFlpooWXlZaGFFhrQarWKiIjf/d3fjRtvvDF+4Rd+IT772c/Ghz70obj66qvjxhtv\nbMtvb29PgY7Z7Z+3ve1t8a1vfSvOnDkTP/qjPxq/8iu/EldfffVU2YUWWuj/Bi3gZaGFFhrSarWK\nV73qVfGSl7wkIiJ++Id/OP7zP/8z7rzzziF4+cVf/MX4+te/PuT/kY98JB73uMeVec6cOROvetWr\n4tnPfnZceeWV8cUvfjH+6q/+Kn791389PvCBD8SjHvWo9Ru20EILXZK0gJeFFlpoin7sx35sz+8n\nP/nJcffddw/Lvf3tb49z5861eVarVTzmMY9p81x33XVx3XXX7f6+4YYb4oYbbohf+7Vfi7/5m7+J\nW265ZSjLQgst9H+DFvCy0EILTdFVV1215/fp06fju9/97rDcD/zADxzqtpHSU5/61HjSk54Ud911\n19plF1pooUuXFvCy0EILHSkd1rbRqPxCCy30/x9awMtCCy10pDSzbRQRw20jR3fddVd8+ctfjhe+\n8IUHEW2hhRa6RGkBLwsttNCR0rXXXnsofN72trfFE57whHjqU58aZ86ciS9+8YvxkY98JK6++ur4\n2Z/92UOpY6GFFro0aAEvCy200IHpOLdrrr322rjzzjvjtttuiwcffDAe/ehHxwte8IJ47WtfG498\n5COPTY6FFlro4afVpz/96WN969MHP/jBuOOOO+Ls2bPxtKc9Ld7whjcc2sxsoYUWWmihhRb6v0/H\n+obdj370o/HJT34y3v3ud8ff/u3fxg/90A/Fm970pvjOd75znGIstNBCCy200EKXMB0reLn99tvj\npptuiic/+clx+vTpuOWWW+L8+fPxmc985jjFWGihhRZaaKGFLmE6NvBy9uzZ+NrXvrbv32Cvu+66\n+NKXvnRcYiy00EILLbTQQpc4HduB3fvvvz8ivveKb6Wrrroqzp49uydte3s77rnnnrjiiiuW9zcs\ntNBCCy200CVCOzs78cADD8T3f//3x8bG0a2PHBt4ecQjHhEREffdd9+e9HvvvTce+9jH7km75557\n4lWvetVxibbQQgsttNBCCx0iffzjH98X2w+Tjg28XHnllfH4xz8+7rrrrnjmM58ZEREXLlyIu+++\nO1784hfvyXvFFVdERMTVV1+9+8pwtwKzWq32vHZ8Z2dnX9oskX/yWK1W5b2sr+KReTQ/f7t2jORz\nfPJ6e3u7lcfJ59qoPFarVZw9ezYe+chHxsbGxm5e6t7Ju1qtYmNjYx8Cr/pz3ZU21Z2WV510fCu5\nXTsqubW+rh/zPvuoazPr3dnZiXvuuSce/ehHD+vr5Bhdu/ZS13o905ZKXpeWOnJjj2OBNBpPB9GZ\n47GzsxPf/va3dx/TXmcMH6S+EQ/qZkamdeqeuf9wrZSvVqu499579/2FBWlWH/TRrGsky2wZ+tLZ\n8cG0mXZdrC3M6mJnZye++c1v7sbxo6Jjfc/LK17xivjYxz4Wz3nOc+KJT3xi3HrrrbG5uRnPe97z\n9uRLhWxubu4JlqOB2/3uqHLQes8FRcfDAarDBC8OqCjfdcGbC9YKaPSTIGRjY8PqoQILp06dGi4f\n6v1Kpkp+OvaNjY09AEHzKm+Xh3kdeHEBogIvKtv29nbs7OyUuhjZnqafOnVqHxBKqvqHMuk1bYdt\nH4GImaBFPp18I2c/qrcDmYcdYGeD1ayOumB13OCl01cn0yzoPIy+4ERpRBcDYLpY4fK43+5eNxGc\nGcddvtn7I5oFL9XE47DpWMHLTTfdFA888EC88Y1vjPvvvz+uv/76eOc73xmXX365zZ9OWn/zvjOw\nasDNOkUXRCp+WtYFm3UMqgt8+dsFSgUzXUAeyT+SmSsH3eBh4OsG9Gh1I4Oxq0cDdTouBVhaxzpO\nJXkRwFFOByZ5rTwvXLiwlhPpgE51X2UdzegUrFbgdzbgO0dMPryuxq/TXxVEZgO7S1unXeSVYPTC\nhQvtGJp14rQnR1UAWXfmvi6ty2M0kVonsK2z0nExAHFdWXKcdeDG1TuKE6M+rCa9MyBzNFYOopfK\nbx81Hfsbdm+++ea4+eabp/LmqssIHDhU33UCnSz5rgNcRrwpUwU8KueTbXMAZnt7ezc9Helhz2jy\nc/r06T2/q/ZVoIRBlistWq7Ly74leFFeOgOoAjrb4eTS1T/WoXzYB5Rhe3t7F8DMkrO/q666ahfU\ndytMlMW119mlq5OrOe5+54y7YNbZfnffUTdxmAFlI9+g7blw4UKcOnVqtz/dmCOId3JW8o1knS3X\npY/8xIzOR6ByHZqZJFZ5L7vssiHPddrtgP2MHF28qiZ1LiY4WUYyO9I6ZoBgN26Uxyz4Pyo68X8P\nUM169b5z0kSZlaOaNYgZcMR6GCQ1wGn6yGCUuFU0I1PFzzlWN7g2NjbKJ79GYCvLZ7DN/AoSuMrB\ndF1FYX0KVHLFheCF/KvtNpdXwYv+pm5z1cuBl+TfBblKn6rHvPeoRz1qN2/K0gGPGdCisjqqgnim\nqY4UVKt9Z/o6Qa1z6k6OUZ7KEXfjxMmT7dnc3NzXLupoHQc/04ZRPhcQR/w66nxdlfegQa0CQqzb\nkVvBH4HTGd7OTrr20f914KYDL6pjd/8g4HDUPy5+VbY9c32UdOLBS4Q3QIKWWSAymhk4A9J7dH4q\nkzpqB1yc8a1jkI7vyInNGNIIvLjPzMDpyhGUujMvGhCd3nWQnTp1Klar1e43HQ6vNQARaPG3Hjhm\noCZoYF+zTaP+rWyd+fLb2Q1XqiL2r9A40MKtNi3n7KjSW57HYT3KX/tI69C81fZkRRVQqIBLV2am\nrnX7eKaei5XrsKkCLh0dVO4RWKkC5Azg0XudbmfbNgNeRgCmWlF27XG+P++PQMZB+pCxZeTzHw5b\nvSTAS9KM4YzIGS47qgM1eT3jUB1o4crLLLk2c6le8+ngcIbHQMF0BQLu0HQ3QxkFuvxmXjfgO8CU\n6brCou3WlQ79aCDPgJr3uC2kqzlcgck8XGlwINeVq3REgKf9wvxdEM1rlY9UjQfW4WRlPtZLMK8f\ngkby7u6PyMlWTTouhtblsw4IO4x8nZ/qfNwo8I0mTYdJri8ruVz6qC2HRW7Mut+UqwPbDoxUvyse\nnbzdpKj7dm05ivE1ohMNXui83bcOpMNCf1WgyPq6ctXv0WzZBbsRf2fkNG4X/EZp+a0fbpVEhD27\nUQVTAhACIhfcte4RINjZ2dl9qonbTA50aBBVOXWVRUGLS1ebyGDLrZc8oJtlqzMq2i4l92i65kl+\n7nwP7cMB8A5UaD7tgw40al0EMASNKXdl6zPgpRqnbrxSnhly7XAAVevqgOIszU6ORvc7kJLXVfBx\ndjPjB7vge9Q0W49rk6Y7f635Xd8zJikf57udrDpGuvHKNOZ3ba1ixExe/WY7cwxn+joPjVwMXRLg\npQtuEfsdYC45d2Aif6szTqJhE0mPZFY+zmhpcG65vpOBlHl1md0FkY5cGa2bumfbWE7z8D0vDhAp\nMEhyaao7DpiNjY3dx+t3dnZ2wRX5aCDWMykagPOjgEjzMFDnEyc8T5N59GzKOgd23RZVUrZZ+WsZ\n2gWdip7RUT2oM8oyp06d2leeT3dlvRx7CnIU5Gla6sbZl66Ojey4GuPKk9/r8KvIBayD8NHyXRCs\nQEkFRKo6qB/WwfE2C8Ccvc7kr9J4/zDBkAO4md61YUbX69gPgYvrh+rTyZDEbdgOZDueDiTRt41k\nOEw60eAl4qHA5oKpBscZtDfjrDo5qgHPwF7VrYEi0/TerOwOfbsDo53zc+kMXk6uqjzrrXSoAUn1\nxt+ZJ6I+Q5HlUu5Tp07teadM5uP2l+pfH13mgd88aMzg7MDLqVOn4vz58/v6gACKdlrNflSGzjkQ\nmCig4KPbDvxoeb6HRvsiD6aqfFonV6YcYLhw4YI9j+MmG2pnao/VZGCkT2efakdVYKa9z06MZu9V\n+S7GV43ItZ8BqdLjDLm+GrWn6tuOX95bl7p2OOCSH9pn5e8uVk4HHhg3KgDTAcBRnBmBlKot5LmA\nl/9HDhgQyETULya7mHpZvzps5pulKtirkydvN3Aq3hqM3CCqymhQoXxar+phFrBFxB7gQJ0qgHEr\nCFoPBxGBRn62t7d3n3BKPgliHPCiHFkuP5ubm3sAkMpKgKK8s0/TPhWIsQ1JqiNuUeV9LZ91Zz1s\nh7MtBf56nWCOfZMgrnLkqX+VX/sr206AlPcUCDJYVcAi07hlxvsqRwWCXR2qBycHz0uxzg7gMD95\nuHFFINUFTVIHHg4abCqwNwNUND9lZJBUfhcLYmba2gEDyjECglVfkV8FTDp53GTV6Y48KFulo+67\niy0LePl/5BSuy+WZZxa40AC7fOvym6UKKVfomfU441ZD1oHlBhf5KKiIiH3BhI+CVgDMyTZDh+l4\nRvxdoJmp/yD9XMnAdDoCrnwwjwZ+vSZ40X7geNE0HU9qE8qH97V8AhsCKaUEb1ondaM2xq2iKoBQ\ntw5Adnaq5atgrNeqG245urHGfnRtZprqz4EBB4qqsdGVq9K69BG5tmr6TD0zoO+gsnZBt6ODjn/G\nrs7mKt/p0qs81f2DyFvRqD+Oi048eKmoC/SHRTMdM5uHjm/dgZPfHdghOucM2PHMPAyCLqARGB0W\ndY6hureOM5kFrOvwqgDoLLkZWqVbZzNdAOdqgXsUmfy1bS7QVkGjAlhVm5N0+8U59cyjcrl2qs6Y\nhyBdryv9d3JXgJBg0QVfd+4r5VFdRoz/n8zpouPb6c2Niwo8OLus6jooUKmoAn/83QEf14ZZmrHv\nw6TOzzrAc1hU+Z9qzOT3wwFiTjR4yUFPZ1zNVpI4U+wMnYNY8+SnOmyqTowO3M0WuaTvHHYlp353\nxuoAzaiMykvAUr1YrJPZgbUZGjk3F+QYuEZ8O9CwDnWOtMsbsfdFeKSRs6rSqt9d/1c20Y0Zd78D\n0fytdjWS28lRpY2I/Vw5YTrpznYyrbPxyk4qf0N5RjxH99a1TdY/WtGuQONhg5cqP3Xq7HK2jm6i\nVMkx8h8XG9Q7MKH8u4lP5e+c7JwMaD3Onz8coCXpxIMX98l7+c2nN5xBj162ReCRxGV4XfbmYOW5\nEcebKxw0pI5cEND07i8CqqDPmZ8GluqpmNTnSN4Zw3YBpQqUnHGoznhvVEcnR7fqlHn1nJC7T95V\nmlvxSnLbLylfx9/d571M43Yj7dLxqPjwUDLr0APCo/qr1SI6U1JlE/qb/UVydub4jcAG/YNz+i6N\n/T4TIKugVdkQeVayV1tYLs21mT6O8s4Gv3V0zfR1/VDlf1wccnK6WFXJ59owSu9AVgfumDZqB23f\n2WHGPU1bHpWO/e+PiPAK14OAWY7OSZd4lRyaZD06U9ZtFh2A7MBMzzqynm57RuVR+SgvA4wDMgRY\nXUBl3Vq2AmhVgKioc74dzQ7orMPJdZB6O1vpZK0CZiUnQZB+V0/ZMLi6R5jZ7wSiWS5lyYO6mS8D\nn8rAQ4X8uwOCO60r+es4VTtl2/XgcAc0lDiOGWipt9kAykBOIDY7+XBU2dlsXs1/0DG2LnXt7MBe\nRw4Y6b38HgVjpleApOLB+wze5FvJ3LVReThAV+WnHLM+zrXN6bICpnrNcl1/HDWdaPAyQrERvjPo\nrPRJpJHxu1mC3mO+TvZq9uQ6/2IQuepInzpR0DUaGPpRgEb9VzJ0g9K1oZv15b0M7K5ufZpIy+U9\ngjsGMQZi1x6CjHxSqAqKFSCs7mlbtA16vwOgrg2pN+rFAYoKwChwyTzuwC7zdisv7BfXV8zr+qEL\n9mp71FXVL0mj8Zd67cDLiDpQUv1mW2YBTNXOkSxdPeuAESdHp6Pq/jqTF73XyTrjvzUfn5DsZKAv\ndX7QgRadKHBVn+Nbx13nV0iVr6v0MgKTrj3HSScavLhBOzK6o1iyWmfQzpDr/K5dbhCwbMRD7zPJ\ne24G7gw0QQBBUH7ci9qcjG6lbEYHDqxQHxUIyDwaYLWcOp7M495tErF/da4LCNW2URUk3WON1IUG\nRgcWSA6URMQeUFflIXAhaMh3snALkcCK/dCRA5Iuj+ZlnVpfF/Tdve5+J7Pm1z5x73txZSrwOUPU\nwYwOD+qvnLyOV9U+vXaBcfZ3dW8WPMyQ6o/XXVrli5OqM5rMy8mle10FgQv9TOVzKhqBF+Xh4m03\nZrWNy7ZR9IOiGrz5rgqWd79dHZVBz6B5x6cjF+hdUOeTCs4RO/0oKMky3YDTtub7UvKawMQNHDew\nDwORV4BglJfXlTNIcsGITqIDVF3delaqCgoEERWozbIKKNRW3RaRS3MARlcT9AV+DkgpMEsHTL1U\n+slyTl+urV26C+wsMwIv3cQhv7ONTlcuQKkcLjBVdY3s241nBqXKxh0vl+6uWaYDNg7gVH7UAYVK\ntnXI+fKqTbyuxqeTueLtzkCSn4sbXSxxNu58kkubpartVX93+jxKOtHgJeJgwa9y+jP1cItphPSz\njOapBm7Fg8t/KX+3BcS8+s6JrowDf25FRVda3IvP8pqPdc7qjAOwGpC6XZO/k0bvn6kceJVeOVHm\n5yyJIKAqo4GPTs45B9fPWl/qoFp5UZ2x/ZqmPNifDihRPm4bdYHTARdHF+sAZ4KVc/SujAMD2gc5\nFip+HLPryD6aCI2Crd4fBfGRLLN1qv+9mMDW8ZqdII7akLy0Ps3T2edM33QTkGqi1L3awI2tUftc\n/kp250sruY9q7M7SiQYvGgyrwNjNmNSZVKfuHR/df0yHrEAivyP2rjhwFUXPAHTgxd3TWUpu3WR9\n1dMkvNcBCVeXAji2abVa7Xn1PuvXQdrpu2vrSM6ULdvYPXLcAUaCQ+fIOtlcmp4RcTQCdNXsie1w\nYMaBLvLqfjtAUemM150DdU6Ouu/KOjkou5Ozk/eoqJN11I6jkofXs2BlZENdXQ5sVEBB8/Pa8eIY\nOahOZ8ZE95uyjvSzWu0/h6YxJnnQf7sxRhAyMw6rsh1od/xm6uoA32HTiQYv7pxFtS+oKw8Re2eb\naTydsbs3c2ZQci+XIkhgPs2jT0M5I2LdHKxOBmfEM8Y4ckzO0SuIUYCm50kUuDCtOivjQGMFonSQ\nK2jRYFgFewIxXbFRJ8KybLNbiaL+q2DanRly8lJHrl/cLKgCbAdxKOwbtV3VX96vAFhlYx2ocO0Z\n2WqlR8riylW8Op3MEG2KfAhUNe1i6KCAbZ32VcGrAjAjG75Y6viobmd0Mwr27reToUtn+Wo10smi\n6UybaU/XbvIZgRVXz3HQJQFe3CGoJKLVJA3wdBrOCTrDzxUPBmPyUTlVLmewXBJcrVb7/u+GbdSV\nl4j92wC6HVHVXRGDNtM0+G5ubsbm5ua+9meddMQEFKpHd7i4Ai+cpRNcRnxvW0P/mFEHK+1I+Z0/\nf35fnfldHVjW69R/yqb6UD3lWazsaxfI2D7aVaZzm4f2WZ2vUPm4gpXbPvnv2Fmv8qRjcoGX7SH/\ntFPte2erHOsuDx1yBQBGjp91VGPRjZGZNrg8FVB1bdWxNhrXFwMEZurQ4N8Fqaq/RoDSAYSunKtr\nBEQ7uZ3duLYSmFW8KWeV1z1dRz07EON+V23i/aqPOl044oMLx0UnGrxksOSBUiU619VqteedEkka\nRGgcGkiTZ8RDAVuDQzp3PQCZACTlIIg4f/58ROx9p4fW4x75ZaBPOdxTK5mXKwgd2nfOQPm44K1y\n8D0cfGqHZ4dSPw54uPM1mZ76cY/5EjCmfLqFk/rTOqg7d8Yp8yogqsA0txAdoE79JYCh7tlPmZ76\ndrbB/NWKkNp9xN4/MkxyQYTgJSl1m/2iutJ6KW+OGX3kPOvmma0s47YpqatqW7Zy2g70aHoVGDk+\nCF4qMORW3FwZzV8FgXXAyQwI0bY7IEV9VLzWke9iA1wF+Ebprk+r9nWAxJHTgbOvEY91AMpBwQv7\nuspb3atAWFf2KOhEgxcNRh14cSf/GUA6VOjASzrOrF/z5myd5d3qiDruaj9zc3PTPipHPSgS1zbr\nvxqPjDJ1pOScql7nJ+VwbaiCDoGdAgp11gQGWr+mabDiilT2lYIirUtXE5ISjLq2E7hV4CUPFbuV\nLwWguiqk+nOAQ/tTgV/lNBwoVGdVbZWx37u+px0lL/aRtlsdHVdv2CZnl9W4Vxk636DX/E0Qx0Cg\ncqi8tC/VE3+rDev4dgFOwVEXTJ0uKjBWkcpa3a/q6nh25ap7TKdsjm9luw6M6Xf1GK/z/3ndtZf3\nHYAaURX0R79ZtgNcDuhQzlmAOiPXcdAlBV6qQatPcui5BnUu3bPn1ZaPgoZ0+G7WOgIvmd89SqqB\nLYllFDTs7Ozs2SLJdjqgxgNhek+dpAInPhHjQF/KqjpOPTp9anBzwbHajtH7BEqsJ/te0xg4uPqj\nbaDuCai4EkUZsx8ZsFVmbaf2SQVeqDcN9lXQdg68ci6je5WeU29doKr4dk5Q2+/sjuDAATDm13r4\nm/3Op9fIxwXXDrgQ2HXgheCPMjh9M8i6djo9atkqcClQc3Y0AgK018p/a37qmN+zwKUqV7Wzuufk\nruqraBbAsF7V+WjMZD3rgAjtny5PNbFIWdjXx0knHrzorDliv0JzgOk2Rt7TwVXNNjWwVPWr8+G7\nLxgcq/pytUaNUQ/0VrMgbnm4sw5KdP4MNuqg9aOrGQqIKDODqXMSusJBR17xcTN4vUfwpWBFQStX\ndPJb+1EHWa560SZU5wQuDogRBHIgb2xsxPnz5/esYHTBP9NVDoIagkfVa17TvrWvKUMFWBx44fga\ntUXlGB2ez/wMlpS5W0GK2Ls9xiCVenDl8jcdt64cOYCutrMueKH+GbAIyFWnTl/aBoJd8qc8BB4c\neyqT6yN3TR1VZZxMFRBxfkLldjqlzJUOCBa7sUIenW+s+tvVo2kzv6trp1uX7uzKxZdKHyx71HRJ\ngRenFHVCRMqqZA2aVLA6huST6W7GTkfhZGRAUUdLJ9IZMc+x0GE7p8zBp/e4GuWCLp2UW0WqVsNc\nIKF+OcAVHDB//qbM2ZYEAwkMVC49m6F10Cac/FmvAlhnj6vVancljIfuVPdZVs97OCdBwM2VJII3\nFwgcoHFPx1UBzPUT7SP55pt4Z6gKhFU+1RH1OeOMK3JBwt3vyvO38uw+HQ8Hrl3dHZ9Zqnwp/afe\nW5e3C9hV3dU9FyA7O3X+h75ebbBq24gXY8z/JeradFzAZIZONHhhUHOGzdmHOtLqEKAbTM4Bc+bE\noKmrFSpnysJ2JA/OCLVu50D0MxooDA4qtwMzrJdpvK4cj5upa1uqA7sOwBC8qK4TLFR1KlDkvQQh\nCuw0H52VAhc9T6NPoGlf6X8DsZ+0fp3Bd4GCq1MVoKVeu+CQ1+xvpjkbrOykq5fk7Nc9aUE9ap3O\ndtkGbmmM7Jtp3Tgb8VByOqSsLm/Hb+QHnay8x/RKFsfX2U7VbpfuALcDPM4Hkndec8WWdWa9esbN\ntdWlu/HV6c3Jy3HlVu6UOBY13empm4jNgDPm6+6pTiqbOQ460eCFhlAZnV7PfjOt4t2V664PSiNn\nPXKunbN0eR2Qc7xnZ9dOFicPA7MOaDqkvEdZuG3kwE9+j3i59mr+vObqjsqqIIsBjkCLgbnTmX74\nyLFbidO8yovAMeXiimDl/FV2FzSyfe5guurSPYnFNAaIzpnTXrsVHS3TBd+ufFXvOuSC+EF4OH4u\nsFbBpyvv8mkaeY98zrq+1Pkyx4PjmRPHzrYdOZ/Ib712248ublVjW+1RX1/Ae1mO7eOkRtvAMtp3\nrn/WtWm28TjpRIMXN4utHJc7DOt46W/er+pWo8q6ePbEPQbdzSRVbnfwbeZcAMkFsPzNg8Zq7NWH\nK0+HTes4FNJhoPuL5UFbzLTRbLert9JFFURG8o0C+Qyprc+2wQVSl8+Vq4LeQWkEcDh7rYCJBhPy\ncLy7vG5liPK6dleApLt2cs7ooytf8RgBS1fWgS0nx4wdUK/5wMPI/1dUjblOHpfejYO8r5OJjlcl\nX+V7DqLHi6HjAjInGrzwnSZJDBQEFplGY+0OVHLGPOMkSJSLgMXJ1PE5CHWGMxps3ayJNKMHl1Y5\ndnceSFcZXDkeKObWkpbRP+vUcu4xe8ebIFYDbfLgE1qa3z29Vdmabotlfn2vkPImaNfrDmw4WTq5\ntB6ON57VcE++OboYO5+hdepdV5Z1gh9BT8T+YOaApuubGUC6jt+qAMjIXipywZH2VOm/AmtsE0Gu\n2qArdxBfXt3vdOza0rXZ8VU/4ezGjdN15Kd8ByXnI0b1HjadaPASMV4xIcChoTjlusedHW+tn8uD\n68is5NCxDrBZw6qWIPlJeSqAQll4rW1y30kMWDzHwEe6qc88/JnXlM+di1BicN/e3t4DWBS08swL\nXzjIurM+3WphvgsXLsT58+f3nHtRuTY2NnbvK7DSelmfs4mdnZ04d+7crtxcueOBRB0fqkOVU8FX\nvlBRVxH25lo0AAAgAElEQVTdYWQFa26byIEjAjhONKqP0w9/V7pUWVx6VYb1uEBysTQLKEblu3Yd\nhjxd3nUD5EywT6r8YOUrO985Cvqdf3OBuuOhxMlSprlxU63GzYKVER0XqDguuiTAi87AHeCgU3Fb\nSDoDZj63LZLLjVqP1kcZqqXyajA68MF05e30ojRaYnbkBmi12qCBkgNYAQZBkwtWEbHnKZVMSwCj\nvylfNcg78BIR+57y0XIOlCoIUNDiwEsGfYKXXAFiXQ5wU/aU+fz583vqSx4JlghMeDBa6+dH30St\ncmVfZr3cJlXQ4frRfVcghQDI5VNe7PcuzY1Tlacrx4A1ClwVrTPD5dbzLB1WUJpZITiMMkojH3WQ\nvBxbXEV1+TpenQwu/rCsA5dcsRxNztxYcO3p5D5M6lYKj4tONHhJJ6YGmOkZJLutpdmVksw/A4xm\neTnSFRENcN2AdAdbNT35uu9Ktg4gcWCMAghlVdKAl1shBAQqr+5Pa3nK4GTUIJ0rPBnctY18kVwF\nXhQw69NLGmDUBhNM5MoF25ArLwlwNI9zhnnNdwBpXXmtzlDbljy4fZS/FSjmta5W5YqVrpIp6FDg\nwb5zjpVjtUqrbO9il7qT1p09V/c6eUbj2vF2q0vryFfxPcx8rhztWNtCG2DQq1Zc1pE77VNBNP2r\ns6muPc42k6pJGmVyq0NVuzlxcDqkbbgx0tn0TNtH5Ppwlv9h04kGLwpA3GxeUSvPIjgwQ9KAUM14\nOj4M+lwerOrV+g/S2dXTGZVcdDBuMFROxn10oCnpoO4CVObNtkTsXYlxjy67stR5vusl0zMQZ2Am\nYNIA7gJTprtHsNV56ZZLB15yy8itArondbTt+oSRgg9dXaJTrVYzVCd6jyuWyWO0bZT6IkBV+WfG\noyOC9mr1Un+7lZIugFTUgRV90s3J5T4Hbedx0EFWlQ5CVXCtxjrzdH1CAKPfrn1VPe4zahOBRScz\n5aZPrcAL2zXjxymn08FI9zMgytVz1HTiwUv3e7bMjOO42Hs5S81rDUKV46Rs3YpI3lfnpjP/zllW\nM4DKUc7oy/Hrlrw5qJOPgoEkAhsGdAWqycOBWQKI5ElZFACMSPWtbdOzLATXmcedEWGbVD95rYAh\n8zpnwvKVU3PbMq7uKm2dMVaNWbUhfmuedQGAfru6VCa3Uqh9Rn76TaDIcjMAZgS+qrzr6Loaq1XZ\nGT1rmcq3KR+Vq2rbTPtGxPemOGB5XFTZtMvDNHftfldpI7kOcq8CYXnv4aATDV7cWZROie5+Nxtj\nOZbvBqYr6+TIGbdzrM4ppoyZlsFdH1vOQKaBOO/xfSLZVqZlet5Th5Np+kn+dEz5rVsGo3crOBDW\nkevTo0b3hz0gZwKIk0HLuBW3Ef/RbGyUPivn7L0OkDOtA+M6Pqp7zg/w2tnVQfrJfVdpI15VP+r9\n0Wy+K8/f60zwunFYyd7pZ9SGkR9x5at+531nB9rOyi87cOZ8t2tzJ5tLcyDoIDZa1bMOaKS+WPa4\nVlySTjR4idiP4jNNvxmkXUdrYOVs3/HPw7p8cZqbtSlwSHLgIsuRh9smSdL6GcjIk3JwD5hyK3hR\nnsqL3+SvqwKqT61bwVU1w6OOVB902M6JZP08j6I6rM4JcQZO8KZtpz1m3dxG0HbR8bkVJbaDMpKn\no5FTWwe46OrRLDk9JqUeOgBWBQAn20iubnWoWrGqeHRgYkaedYDL7L2RTKNA1wWeEXga0UzAdmPZ\n8Z8BL+qjumBMP+J4ud+UgTIz5nTj18Uc1UnnPzKPlmMZ+sks4/g53o5GwGQ0Xo+KTjR4qQ6rRuwN\nii5wdjMy9+SSMwi3DMl8VaeN7o/yOIei8vPQsgZYt8rCZe7UIfWs4E4/CeZcf7hvyst/zWZeggTN\ny4OoClAIXPWePqbsgEcVKFWO1Wq157X+/Edp/VYwpwGyAnDO6SkP6kWDf+fUFSBUzozpnXPqnNro\nt+pB7Z2ArgKmFbltNjpzAozuN9O0D6p8mt/5kgT13XYq+VJu10amuTLdPU13Oh7paZYudiY+8p1V\nns6vR+yd1DlZ1Q9qWdqmsw3n2xxxQuzij7Pnqk43vhzR5zkQ44gAp5LjOOlEgxeeZYjYb7TVEwx5\nTX7q/F1HkE8GjQyEyZuP4RIs6fkGOsSk2RlglVeDeX4ryCB4ifCPH3NVgn9kmHw3NzfLAaz1uYDL\nwe5WvtzqCAO+6lBXO/ja/kxTPuSletRvlU//jNH9o7TKxJUutcVqBa1ytJSD+ar2UPdq8ykbAZI7\naD1yRMkzefBfu5U/9eRWnCpHzlU4x1OvZ4KxyqJyVKCn4smHCVjG+RRXX5I78N+15aRRFRT1vrt2\nfCqeXZ4OKGjeDnAmceXcnStUfrTbrJdpmk//Yd49EchVysqeRvFF71X94cq4dAdiVB/VqupR0IkH\nL+ognYFmR7OT6SQ1b/JmkIh4yBjzfh7C1HR9v0bmcUvmKlt+3AvKkroBzS0aV1ZXBgheUiYOuojY\ns5qQA8YFba48sG41aAWJWo5Gr/n1W/PMgBfdClRAo+ApZXCHqZ08BG/Jg/mrp3QyH2VjO1QO9pXW\nmWV0FYtPSymAUAecROCS+uGTQ9nnLnirrRDkUQ/UB21Yx7j2seq5owpEdCAn89Ihu7HhgGonVxcQ\nusDAoHCxxDY4viPdVnyVZ2XHzld3gKYq14EXl17xdeUiPDhV38H4ozxUB1mOkw3+5hjLtAq8RNR/\nfeP8TgXAXf51bNUBIxeX6V+Pkk48eOFLuhzIoGI1zSFYEh28ghcargMvGuyUdnZ2dt/roY+3cjly\n5Fi4WlKBGA3Q3EKhw9Agpud7EozpPypz62iWVDc6UJ3Bq8yz4EV5ZLtzdUj1U62YuO0XnnXKspnO\nf5ROh0WQW7Wheqqoc3CUuePL5WjVAR0tX2CXoDVtgvafbXXOfHNzc2gfOsnQsesAPfVJUodMnWue\nGcDggqpz8LQrF3Bd0B5Rl78DWZSTOlA7qALVOrI6/eq35nNAowIh/K7uV/eUdHLgeDufWelG7a/i\nx7arn1H/yzoYLzg2lL8DHxUgcQBD66DPccDZjRsHVBn/Mm0BLxH7XqXulM0XfmU5TXMAR4mDOPny\nfELlbDvwou/2SDCjVG1xqTw6C1Vgpd/ZBq4YpHEx6KkOud2Twcjx0rZV+lRZMwBneQUMHNyapvJ0\n4EWDt4ItHWxuy8adAdLVJv2tKy/VtlF+K3/Vj+qx6m/nRNn3mUf16cBL5ud2pzoWvr/FvTxP7V+v\n9Tu3FFX3WT75OdCioImrYZrHjXEGF66kUgb3OPwIvHRgwYGfmSB9UKrKE6DM1rNu/kqOygcwIKpu\nKl/XAZkRcHG/K3DTgTYXyNMWHRihPTAWuLjg0rUeR24csIwrq+OK46wi8iNQ0nwOvLj2HgVNg5c7\n77wz/u7v/i7uvvvueOCBB+JTn/rUHiHvvvvueP/73x//9V//FWfOnImXv/zl8drXvnYPjw9+8INx\nxx13xNmzZ+NpT3tavOENb4hrr722rFOV7YJOhRT1dyq46zQaujr67Ax94RmNQIMAg5cui1cgqtpK\nckagQEVnnQzq2q4ZJ0XH4OTRIERgydlJJYtzAHqPclSy68DpHGgXTAguqIsuKFXOks6RgKeSx/12\n8qSszsYps3Nqrn/Iy826WI4gZbVa7VmtYV06BnVLUbcWNa+OI63XnQvRPKy/ak+nZ15zhuz6uhtr\nXWAdTQBceW3bSPauTJd3Rp4OBLC+Wbt3+dTuZ+UeyVWR29bV10A4EMUg7gCMa7NOlPR1GhX4p69X\ne68mk5wsucmFEvlTHgfw2b4Tt/LyyEc+Ml7xilfEgw8+GO95z3v23HvggQfizW9+c7z0pS+N97zn\nPfHf//3f8eY3vzmuvPLK+Pmf//mIiPjoRz8an/zkJ+Pd7353PPGJT4wPf/jD8aY3vSluvfXWuPzy\ny22dOjNLpXNPX/MouXMNVR36zboVuGQ6l/555kWDiwMu1QxP5VitVntmzQ796myTPNmOqs2sWz9c\n2VHK19O7bZB1HaQLOi59tn0jcv2QKzcun9bZDfiuvhmg4kCC69fOWTkerl7X952u085HgLGSl/bP\n8eF0pCud2m69r9/aRjdOu1VOBkbtb/Kp9H+QgFrpcibAqkzdvQ7YHBS8VLbSAScGfo4pBwxYduTL\nZ/qAclcTF/rcCoAR2HCltwIvtDvalTufpnbszopVenHjUoFX5Vs6n5NlE4hRh0dN0+Dluc99bkRE\nfO5zn9t371/+5V9ie3s7fumXfik2Njbi2muvjZtuuiluu+22XfBy++23x0033RRPfvKTIyLilltu\niTvuuCM+85nPxE/91E/ZOhW4ODRHx6Zl6ORU8US0bktEDYQzQTrN6sxMfvPNq9XeI9PYVueQK0fi\nnoCi0Spfzi7pEOnE9dyPllM9aRDhjFn71CF6bYPO1F3wYt86fVYyqQxaFwGok9nNhGY/FVUy6z03\nFipdOp5VPieLc2apn+SjeR1xkkHQUo2HHDvaT85OtHwF/rqtYzeTru6P+rADpTP6ZhlHap+HRZ18\no5URl8/xILCqyl8MwBpRB+xdffQrlFH7yeVxYMiBtC4f/T75u7HP/nTtrtoz46ecHMcFWpIO5czL\n3XffHU996lP3GOfTn/70+OpXvxoPPPBAbG9vx9e+9rW4/vrrd++fOnUqrrvuuvjSl75UghfdcmEA\nZeDQMk7xVRDKMgQoLiCqTMkz05JoBHrepQoG7lsp2+3ACw9oOj0RrNDIGJTzwK7qLdOT3FaXA1MM\nTtxe07J0BLryo3moG01XAOJ0SeDCgEGwRAei8mk9ro8ZoLsAWi21ElS6tjg96nU1Hlx+p6es2237\nZJ9xTGnAdqBF+5T/z5SgNQ+7cwx1M0XnpFUG3tP+ZQBxTpn2o31UBQ7Wqfo5KFX2cthUgZouUDKf\n+54Ff9Wh126SMqIKeLD+vCZQrECWyuVWXsjbPeXp5NT79PX6XcmfOuJ2s/PBrJ/6dX2t5wEdn6Oi\nQwEv999/f5w5c2ZP2lVXXRUREWfPnt1tjMtz9uzZkq86q+y46lRztUSsoIN5GTA1AHbOgbw4o+CB\nUQY2F4w1kNLxK8Lmn9/lgVKlanDReTvd5H3dskogo//SXM12eWgz9UH51nHenXOk3PlNEFXldXW5\n71E+LvGmrbpAyeDbkVtxou46YFoR+6ADBdvb27G5ublPluxvEnkoYCGIyTZqWc2Tf3a5DvBzTteB\nF/aHCzARewMogVSn9w5QjWx6NEZGIGBErv6uDXlffbADJBVI03Jd/Q6g5HW3vcNVZsoVsf/sSVWf\n85vKw/GmftzWkZJ7CMJNuHSClO3UhxSocxePGG84We/yud+k7mGGo6RDAS+PeMQj4hvf+MaetHvv\nvTciIq688srdRt9333378jz2sY8t+X7ta1/bVchVV10Vj3rUoyJir7OgUrVTnYOO8NtGms8ZS5Ly\ndr8TZGT5ytnRILiik3ySp/JT0gDiBoQSAVFF7n7WzYBUBWqtkw5PDT3ldk5ED7+5pVHNn98Knujs\nGKQqYMFDd/pb00czE+3nTK9mcbRZ3nf9onrn/2exvWk3LE8QQRCmdWubXF3Zl7TRdUEkdZgghrpU\nHh1QcM6YstMBq74541UgpjagsnG8u3avOwapo/zmKmtFnN078FHVk9fVKkKWnwUvel/5OL7aT5Q5\nYv82GoFNNS5Yr9pwpQPN7/yQ+oyI/asSWt69BkF58vAwJwEaO0jsU06gtb0EPzPgRXV96tSpOHv2\nbNx3333tWD9sOhTwct1118U//dM/7Qn0X/jCF+IJT3hCXHHFFRER8fjHPz7uuuuueOYznxkR39t2\nuPvuu+PFL35xyffxj398bG1tlcblls0y3Q1oN7CJpJPoQF1ZOkhdpXD5KsfinJ37nU6cjsuBMwcS\n6LhUn9wGqNrLZf8qgNPRsR90gLv6Njb2P55MnSflQNZHpbW9jr9zePlodPWuF22XPlmj4EHBBO0n\nv/XpNOo3ZXH3qD9tI9vi9Mm+5RaZzugcUffafwR5HBuO1wjQpCz8x27qZJ2Vl1HQcqCXq7366XxL\n1fYZcoE8eblZvObr7jEgVmUdcHM+Rcs5wKa6nQEv/Gb/OMCVcla8HICqxgp9FuNL1SfaRo4Ft1JF\nkKP6c/3MVcscF9Qh/YTy49Yr5dcxwmsXZzNttVrF933f98WjH/3o3b6455574qhpGrxk4Dx37lxE\nRHz3u9+NjY2N2Nraiuc///nx53/+5/GhD30oXvOa18RXvvKV+MQnPrF7WDci4hWveEV87GMfi+c8\n5znxxCc+MW699dbY3NyM5z3veWWdNN4I/9hZ5o3Y33lqtOro3XI8f7vtnfytedQ4K0dNOfWeGqTm\n5/aUAy8OnFVpjkagjPVXjlsHhH4ICDI/B7VbkVAHMJJP8yv4YJ7UNWehzvGo/CPwslqt9gXYvNa8\nm5ubuy9e1PbMBHy2JeUmCHEBl/2SdeoTRCR1XNpOysE61R5UVuXJeqrrdNLugLiCQgYX1uHGl9qM\nk9XxUl2oXqkjZwcHJdWrAnLqjOOR1/q78wt639lVtVKqAILAnauVlF0DIfm6j7Yln/bkeGZ7HHjJ\nvMqzmoB2Np2/3XuhCFLUtxBEEFyoz9LxwFVSpS7GkD/7oAIvbosq+0wneBsbG/veZXZUNA1e/vEf\n/zHe9a537Tb4ZS97WaxWq/ijP/qjePaznx3vete74n3ve1984hOfiCuvvDJ+5md+Zg94uemmm+KB\nBx6IN77xjXH//ffH9ddfH+985zvLx6Q74uCs8lTBPWLv8nbFI2I8G87vvK+rL5XDogMhT+cAFG3T\nsbgZINvNQTIi52Cyfjruqq0duNI87tq1gfeqOmfzd/3TydXxnCmn99IO3LYRQSxX2TSYsYyWU1LH\nNbIF58A0ALj9dcpSfVygU5664uJWXhicR+Alg5ze60ABx6i2mUHA1VfJRerGj9arvzvgwTHH7cSq\n/kq2DFBad7XykiuKaseqP4IXzedWYdkWtj37za1k0sYVSGTdBExsn/aNgnzn9xQcuQ9jDydJyov2\nmWnq62mHXZ9mWQU7HXjJj8YXvWZd+r93zh8cFU2DlxtvvDFuvPHG8v61114bf/zHf9zyuPnmm+Pm\nm2+eFq5CtwchOv0ucCmxXlfODVZ3T+uYBRJ0+G7FwxlvB2KqfCM5uHTpDNU5Ndbr7mcdeq/Sp+pF\nZatmIi6YchBWwbTix/1mB/aq3ySVy9Wh8ilooSOuZuXkXznL6ppOkoG70pNr46xOWM7JkG1Rebq2\nUAaCQYKRdfyNBi/Kx4CnZfS6K8P7FR8CBI5B+ioCuArI5XcVjFOffGtzAoScnSdVfel8EgGGfq9W\nK7t6WP1W0MM+Y/tczCBftRMFPtzyrlae2V71Q+4ldlzBoU1XNtVtdRJMZt0J9nX1zW2h6V+zHCed\n6L8HUGWzE/S6Ci46kNW5qzNkEFAeWQfBhs4UVNbsXMpUOXvep4N1wEWDNLcaIvYv4+ugp5PoULJz\n3C6QcPCuQw70uaCk6a6PnL7I0w1iB5YIyjKtCkDUhdOR2350Mmu6Ahflo20iuOn03IGFLjAqD3et\nPFxQpc2N6qTzd8Hb1T1qD+1K7zmQzWDn0jX4VCCFAa8DHkxzOlM9KVX1uPMW1Ed+Z16+UVZ9G7dy\nWae+sFP7y63WVOCFbdR0tifTHNh0unV5Xf+qvBx7Kr/KlWUdcHF1OL1ov/KegomI+v1lep33Kxno\nh5SyfQpKqYeUp/r/uKOkSwq8pCLd0llE7EtLh677oZruluMzTxVU9D7T9T755O/OCbt6RlQ5VbcE\nqkGQ6TR256Crunmty7OjZUTVSQdQCGJVVoID2kzVdzrDVBkqAKXyOPtzIIbtYpoSt+Iob0fc8ydR\nD2ovdH4uQJCXC9RaXnnqbwcw9emkdPbpMHlmwAU8tstdE+jTvtXOCUrcdsXoM5Kn0+/s/Zm8FWDg\nuNe8TOcYroJg6krHFUEV+Yxs+6DBcDQxmxlTmbeSKX3ATH9XQMrdV/1X352MVZ/OyMT+5DdXe2fk\nOyo60eCFjj6XzhR0MFgRjTLoOXTp6q22EVw5Bn+lLqA4cg4mr/O7cqRuL5X56aQz3S0VO0dcpWlZ\nRw4AuL7QfuNSpQOB2k9cIdF2Kf88T8E2Jy/+3QPbSQCjvJO/8nIrftRBtzrD+45GdtY56wrEjIhg\nR3kluSVnjmv++aRuM+THAdJu3HW/NaDmjJRAiWMmZecfd2ZZPdhNnXQTAJ1FU29OvzrxqPpE77kz\nCiPqeLu2ZHr6Z91yoH9KYv9pvc7PRIwnQkrkneRWDphfZXOTh24szcaF9B3dqr/KOxOLKvBZtbWa\nWM3QwwFWSCcavGSQUUPmyov712ndXsl8rvO7GXB+jwzBlR0d2NX6R1SBB/fR/C6IqJ7c/ZS/clCu\nrsqIkw+3VbLdDESqDwUB1UGxvO/KOX4qFwEE61RQwlUD6sNtD2U9aovqLFzdF0vdyouCEwfKnI1z\nxcP1dbXCp/k655j1KojUtztvbGzE5uZmbG5u7gOqWl75dmCGzl3l13/FdmNLtxvU7hS88FwHdenS\nVZdqcwQu+rsCQuwnl642QkCRVAGeasuGfiLtjJMDx9PZ3mzgnclX1cGYkeT8N+3W2bXqhv6rijH6\n9yeansS3nKuvcf/35SYfes/5S83nJmIqUzV+WeYw/NkMnXjwosiUA9AFIe1UHTwu+FUdoeQGlkPR\nSd0sVOtiHnWQ2lbNpwFlZ2dn95R3nvRWB1wth1OXdAT5zT3M7e3t2Nra2gNI0nFTtnWpci4KJqoB\nwX50DsNdM+BpcCQ/1YtSBlvyc85G83SDO3VO+80+IHBQJ8l7Tj9qV1VA3tnZ2XP4Lh1tltvc3Nyz\n2pCfLKN8k1+eo8jJRgIS6jjzEkCeO3du3yqaXjudUgbtD4IXtXcH2DItn3zKNiuf5KE6zcBWbdO6\nftExWAV2za8BlOOPgIOB2dm1nnlh3Q6k6j210eTTgYwZUn26LUiCWpbVvM7vczWGL1nU8pUvchMH\nzesmBxx7XT08DsFJIfVMAOPsn3UwH+twbXR/Wuz0dxR0osGLIkwdNPkcud5nOTrGTI/Yu02gvx0i\ndbyVulkI72udakAMNAoMktT557UGjdVqFVtbW7tghuBDnWnKVQGGBEHqrNIw8/9mko97NbRzoioD\nHWrl3Fx/dA7E3XPOimU521IdaQClTKpT8tW/V+AqFEn72gVMJ5f2C7fVaIfq8AhICS5SZq0nbS63\n006dOrULZBVApx2qHHR8nHjktTrT1EXW8+CDD+57z4sDmEoMAtl+rm4oIMs6aY86DnMbMN89o3rK\nj24ZJo18Q+VXqi2iasx0k4fRasiIv9odJ2l6P2K/b3U2qXY4I7/yTd6dryaNAEiOpYiHjigwX1Vf\ntkUf6ScQZjsU1CZv6sKBb9pX5VPY7hGomBmrzk5VDv191HSiwcu5c+f2OA51pBH7Hx9N4oy1onXQ\nOqlabnVBTvm6mQJnXTqw1alroEkZdK9+a2srTp8+vRtQ3LI0eVN+lYmzxYjY/Z8ZHrLkbJUrQJz5\nZV7XD5xRqk7YN5WO9Zo2QsDBIMu+rWZG5KWkYE/7nCBD+5z6IdFmuq0iBhGV2+mdOtOzJtnXusKn\nIDlBRtocZVD+nUNUG1mtVnHu3Ll48MEH49y5c7t2l6TtcqBQeWud1JcCJcqcv1Vf+s6ZfGFnys7Z\ne7ci4PpB9cBJUabT12l73ZiuVmLcmOv8YfLmnwkq6QqGts1NUghyNZ3XnVydj3b27VbzCYS7VUvH\nO+8RbCQ/BUVOfvq7Sq60XZ0YZTmuHrl4yO+K3KpONVbzWicgI/6HRScavKTj1wCanagoN8IbFgN3\nEmeqHRJ3wU/rSKIBkhJ46ZKfW4EgeGHwV/DCZeutra3Y2tqyr7nXmbbOnpzTZx5t97lz5/bMOrV9\n3L5gv4xme5VuOXCqWQAHPQchZzh6T5ek077U4XC/mODFyaMzJbU5lZP922290ZHSYSplfbmiQnvv\nglXKe+rUqd23AWtervBtbm7uAS8qW9anOlIH58Cc/hHoZZddtmtz1LVzsqon2oEDL9U2iN5T/esY\nztUa9ouuVDkfov2uOqAeqqDvSO2nmxQQRGZ6F3Roa7RZyqCAsRvznLC5exU5YNIBO73PyQj1rEDA\nxZdMd74gYm98SX1VKznafuqN9sEx47asK4DIvA5oJnFCVq1sEqhl2rLyEg8pnM49Fe+2QWacNLdu\nqiCovzW96nTNS2Iw1PTqOwMI6+ESN/ftCV7onLWMexFR/iZ4yXMKzjm69q0DXCoQ5Yj9XJEGLceb\ngziDtj5tRN1lfhcYk9R5KcB27VTS1SrXZhdw8lr5d46W+d3vnZ2dXdCSQVgdUgIVBcqZxlVB5U85\nCTKyTVnuwoULu6su+tSWlud2kN5nPi5vK1FWlUd56UparrywLVlX5o/wh2DJm1taVf90NAIvrItl\n89vJyy2jtHP60Iq/k0nTUo/VyqeuJmqdTj/Vao6776gDc1U7eJ9+heOQb3jv7JMgmDrjWNI2dnm7\nSUyXR+PEw0UnGrwQhaYSiUh5f4aURwVgXEez/AxxdqfOvAMvBG1Md2CkmhU5efJaZ3xuJlLJw7MR\nROqUowOFTKtmR8nXgRcCWs5QlLgMqy9h4hab6oIzKLc10G1T0BF3Dpjk+oPX6/Cvzi1oGS5HJyjh\ntpFepz1wT1/lVJ3pkrOWzX7JLSPqWsFLFTBHIGe0ytGBl62tLbv6c/78+djc3IwLFy7sftOetC4t\nyzHj7L6jg4AX9jnlSr5ulcrVdRDw0gEF2iZXAukP3GRDyemo8rXufuahf+j8buX7FNhQP7x2eQ5K\nnb+hzTkdRtRPvq0TGy+GTjR40VnoaFBXQKBT7gwYcY4lHayW0/suYGxubu5ztBwkGjizDjcj1JmP\nkyC+nfsAACAASURBVFdXplTWihyAW60eelumBm4GEDo0nTmprjq0z0HpBurIWaV87O9qVs5Vu0zL\nGXNlb9XSrZKuaqmTGgE37X+lqr0VzehP09y4oXNWgKHAhKsEWX6URntm8NC6FBCxjXqAvWq/Apgq\noCtxbKuusi4FQ+SvY12BDOtmX3f92wXGKl8HXtw9BtjM6/wrxzXLdEDSpUf0B6+VuIXL8rqV6nzy\nOnGkKqdlnd2SdwVO3If5qvJah4LMrm1qq1V+bvmRD23C3T8OOtHgJZ9oiNgPSCI8alaqkKEu4XWB\nncaUA7ZzJOqQ6IQ1OHF1Qmdm2i7OElzdapC5xF+hZZUry3JZ0wHG1Wpl/9nXGa/rK5W/Mu4q4NKp\njwaHA0Hcj1Z+eV+f6HJ6z3zkWwUdBb3UAWVNqv6nxbXP9ROdoCtXOfRKTreCwjbqUv5q9dAWptuK\ndHKxDQn+FDDPAFrKpw67sz2n76qfOF5SPt2C3dn53gqMHnpe55yJk28WvMzQjB4yXxWk3HhUfes9\nNxZJ+r9I2lecIDjQR19Of+bAu5O90p/qgL61CuTV+M/vbKOCMdd+5aU00ybXjoj9DwZo+Wq7iUCn\ni7nHQScavFx++eXDQZsBPq+VqlUbd9/xdcGTnU/nmPnVAabzT4fGWZgasTq0yhA0SBDo5HW1xx6x\n3xlwYNDJkr/ToVsxyFmzW27WOjW4VSsULiC5IFMRHRvPqJCHroy5WVEGK/a7yuic9GENbDo6yjAC\nL1qODtaBzwQkaQeaTgCTWz7KY3bCELF/Zu3OC2ibZtpcbUO6Ml0fOTvIyUiuuCQI1hUYnVBQ35TD\n+RSVqwpaByEnS0c6RhXQ632mZT35qd4jQ9uogv8IiDq+zt9QTgc+2K4cB64Pqj519qky0b5nQYrL\n42LQSE/kyfY4veXvKj4dB51o8HLZZZfte1RaO7maDTIYaXDU3x2gYVn97Zy3EgOrBv4EL5lP6+jA\nEvkTsasj6ZZf2T4HVJxsqZt8XDbJPdqbsilwYR0MRnnNt0qy3OxgocNiXj6yXTlDJ6f7KO+ZA4Vd\nmgsozoEr0KuCSUcs635n/+lhXI4BrVO3m7T9VZsyneMp29Y9Oq66qMCi5tNrlc+Nu668km4fcQVG\nQS5XXiqqxofer4JZJ/9se6rgXaVH7O1z+tok9UtuTBIQal28p5/OLygfrt5RdseDY/uggdrFB44N\nzecAt5OhAsFVecrixqkjxoCc2Dmf5Np7VHSiwcvll1++7/0LzqC4nMU9T03XfG6gMdA6MMPOjKgD\nBpfc+YSC8nPGRHlWq4eeEOIhRN02cgbM9lQOoAJ1p0+f3t3Kc3m1zsqAVV9d0KD8DgCRp7apo5mZ\nRjdryeDqzs2oPNoGggG2swvwtBE9mzPSwagtFXDR/+mpnJoCTK5mJZjI4KArdF0gSD1kmepcDdvK\noD7jSEeOnvwpK+tzZ0C076tDsuSb/GZB6HGSC8SOOrDjbL26rsALV2hzVdDZgNZJf+JWjZhOmdzv\niio75PiswLfzL7zPM4WdHO66mzQp8ayljjueBTwOOtHg5fTp07uPBbtB3QEXdkIaN2d73VaIu0+H\n7sCLA0352y05MniwLubTGR3BS75G3R1qc4GQ97JeGuGpU6d2+yMDCnmkDFz9IeDMb91a6JwiD5cx\nfyUL+VWzDBf8VO+OL4OLAwnc1tFZC4Ou079z8uq8+aJAdchdMGb7sk7qV4GDvk22CjRu209tzq3E\nERyozfPPEh3x/Bj56u/Z/p8BQZqeQLKa3TuaBdnrBgLaiwNUmm8E7kb3ZkCWgg6WrYC8EoMrZee2\ndDeO6Wd1rGk+Z8uOui3QGSDhZGSafmedboxVdVT97+onufYRUBG4LOAlYvdtsRH1cirPMmTHctDq\nvTRWB3Qcmtd7I6OJ2P+mSa2X7eHAYxBT+TUARsSeR0izXn2hV+pLicboHIY7v7JareKyyy6Lra2t\nPfrlR/f4UyaeDVHdaTnWx98sz6DP/ASJFdFBuBmby1cFwyQ3yKv97ZHT0rq2t/f/TUMFXtwZInfe\nh+NBt/02Njb2vDAyzzK5mZqCc5Xd2XfVXg0oBC8OoIxWPyun6uxX00fl08b1LwPYHh0TM4CSAbiy\ni4oHdd8Fkw7sa1kHMNQWq61nju8ORJEqUFP5EZZ1+Vwd9CEdAFKij3ek4555qu0Xva7O5dFXd7JF\n7F9hHOmbvDvfyTEzA2YPi040eMmXYEXsnV1XWyHqhAledOUl+SigoSHnR89guABaGY/Lo+Al61W5\nNK86bTpyAoXz58/vyv/d737XvtCL+qExE7TpLDLlzpUXDXAaJFMmBVX55I4L5ApwnB6zXVXQ05mX\nyqA83UDqBqP2WbXSk7bDl0xVcqqOR4GEtquggqQ61Dz6hA7b72a9HAeqz7TPXHnhuHLtUj58cSJX\nUdJOtEz+5h+NKn9tm668VM6Ts/VMc+OEAd+tqOzs7OwBLdxCVL1UAN7VRfvpgqgDY2zviGYAXzXu\nHPBzKz0deHG2w+uq/hEoJl/1B2r7SrT9Sv9Otkrf3NZJ+2bdDuC43wRbo/r0U63EZTntD1cHx4Wm\nVRPmo6ITDV7UcSvocHmS0lFyULgVGQYp5RkRe/b9eS+vO8TKNjhQo+DFBRFuYemA0n+4jXgoSOYs\nOfXl9JBEp6ODXHlsbGzsroRpX2iQVFSfj/wmMcBoOh+RTN76Z4DdbEH1Td4KHBWguj5T2VT3nG3q\nYHVv41WelJeBjfcIUGn/DkCv4yxcgNMgVbWVZbR+1wb9VtDi3hhN3aQ9KHBx4IXfjudhOlKtS1dT\nFNxQJgd6Kl922HJeTHnK3eU9SrlcH87w6IBMlV/HVrdtRJur5FFb0D5XG3L+wNmH5qGcpOTLujp9\nuPHVta1r73HRJQFeIvafa9A87uO2jTQ9A4NbtnPgQe8rKVDKe7oi4VZ3Ih76kzveVzCTTl9l5bJ8\ngiKCoyr4MBi68wIKJlRXuRKmZXNGmYOd/3lEGbgaUq2O5L2IKAEMB7Jrr5sVqnOgHTjwQj6Uj8BC\nA1emKzBUu07eDNQaDNXGXABwvy82oHdOiyBF9aV2qisu7s9CqTMdnxsbG/vGiMpVAYMcC3znStU2\nfemczrpde7MO52/c6gH9guunbmbvgiTl0LY7vY5oNjh1AXpd2Vm2sodZGV2ZSs4q6LvynOhG1NtF\nWt75qSQCCy1LG6psKmL/31k4e3Bt4fnBrv20Y7aNKzxs11HTiQYvjmYRNNP0W/PRIVT5R3WN6tSO\n1TR1zJyxMoAqmKmcab6SXFcHlMhTgwXzaIDQQKTt0oCRMmrQJW8N3NWASLkZJCtH6XStDoF5nFPt\neLhDqN31rHNbVw5NdyDH6cZRpZfkuy5xLBHIpC24yYLah1t1IthTu1PQnJS/CUSq8amgssvbrfBU\nOiGt69i7+kb3klSf+fuwziS4oEsZ6Fsp37qBjn0x48c5iSAvJ3dVr7OrbtyT3IrOKIZo2apM1edV\n+9yqjsvHceeA/cMBXCIuIfBSnYtwxjirRNe5mU7DdgOmK+8Qqf529bm6OPDIh0Boa2trz+oHt2uq\nFQUFFPpPxAwMlFEdvw7MUfBNfs4BVbNIp6OOnHNV/fG6kln5zYBnRzOBRh0GV9Fc/9P+qrbyN7+r\n1UXWpweOmV9BS6YRwGQa+1HPAOR32qQCF8rOtvKj/KtzMJ09qC4q/fFsmPMLLFfJ4Ki61/Uz5aYt\nE6jN2nQHkLux2PmAStbK16ddVKBf+VV53GSIabQj+vBq1bXThbORDjjQBimv5lf/1Y0BB147/8q0\n3MrXet0q8nHQJQNeXAcy8HV5q3zdoOtAhEOwWk6vnfNydVeONMm9GVdpBO60XjdANJhpUHFOu3J6\nnD27R8MJjOisCMjcoWKtv+pvps0QgZTqg4BtY+Ohv7p35brAQDvWPufBN3U+Giz1nJE6pNzKI/jU\nupx8dH6qe90ezLypAwZwtkk/Outk8E9d857rwyyjT13x/Ud6zcO97jCm6p9jXM92ad16YDfzcszo\no9RdW1SvKo+TcZSWvNz4d9vLjipQxHFGXVaH5NcBQZV/7PRY8VTd8gEQApq8rkAlx6iWYVsr4Euw\n69rCFURtyzpAiTabv0fy0udqux1IUlB5WCt7IzrR4KUCH9VgZ0ezXAVyuFWhRKec5UYAhuU5SByI\nUL5ajtfq3FQPqQsHOJS3yuKCm66IMLi4wErdaNCrBpvmcbN5zaP9WunctSt/d0+UjGxF9a+Ok/rm\nR1cpuE+u1zxbRL1T5w7EuCCcedwfRxL0ab9nOuXO+viWXdW3tpm64gFuytnV6Ww57yl44eFxlYN2\nOwp+1Gny08ej9R+mVUYdA66dri63QjpDHXBx92fACm3KjROmd3xZjtekapuY/nFEFUCoYkG3Pa38\nnD7oozrwEuG3nfJ39U0/q9/UET8E3+7sZKU7TeP47tp21HTiwUt1sIiBm9+qdC5dr0POMa1Wqz0H\n/RywIY+KnKNQAKIzWw4KGjaX5J1uWLf7XRl/bkc5o67arisxlIeHJQl4XDm2S2VhWc07u0zuQImS\nPkZOh+W2RCiX60M6mApgJRjRlxOqbZEXbbOyU4Imp2sFQ6dPn963/ajOUQ9Ysz1Mp21z5Y7AhO10\n4EVXnhyYyX5kG5WcjSuf7e3vvVOJwEPPpbng4WzPBcUqKFXyHhdV8ulYrbYm3DWJvroKqkzTb60n\n81crGVknx7yTkRMN6kPHA8cH5eSqswNXvHa20wEtlTXHJYGH41Pp2IEWtdvOrx4FnWjwop3qjCqV\nyJUXGgMDUWUorM/R7CCsqBqQEbHnsduUR4OUBkG2Nw/TVuCOhubyMT+dtQaJ6o3FKnuEf9+K68sO\nqFazFL4iP+vVdurWDge08tTzGQ7scpaR1xqotQ1Zp5ZzvKvlWedAdFvEOWym8V4V/NT5UE9KKWva\nAm1A+4n/jr2zs2PtU21b//hRATPfo6Lt0b/DqFZeHHjgwfO0nc4JV+BFbY3tq4AowZHrw8PyL+uU\nVRk0zeWr2sptiST6a5fuxp5baVYiUGRbKmCofkj7z8UBZ0P0xeRX9QXLOwDjQJaWVXIxizrJBznU\nfh0fd4+gK+8f1wpLRScavOjTLRH1wcLKCLWcC44ZUJJH5TAc2FGj7VCs1u/KO0o5NFhURkVny0Gr\n6RzE3Nvl6kQVECIeAlrc8pl1nKoDPQRGHuTNYOgCppsNaJoCigq4qM3QYTig5uzOyau8M08189M8\naauqdze7i9h7roMv0nM27pyf+93lVd4umBGo0bbY1nS4XFnJPHmtq1AERFq/3ldZNIBUwVHbx7ZR\nF1X5TreVf6nyuN+uvFIFGGb8XSWb49GBrupPNiv/yADO4Op8dud/nO26uiod0k44Rise5EO9dfWl\nfiLGtlWN8fQdOs66bUnGhcqnaezjSvdx0IkGL50BRdQrL27gV1sqlZMgKHD1a9BxnchlShr8DFWz\n6XQeusLBYEk+FS8306aj7mY93e+UlXrJ9CQHArV8fus1Z3juZXeqDycrnaWb/anTYvl0yFxVULmy\nHEGR6sMBFraBciofBQ50VM4RVTbvAD7rJwijLJ3zPgzHNguWqzFX6bbikXW6sa92kbphkMuyXFll\ne7pgVgU22uWs3tVvkA/th+Xpb6uzPLPk+sb1EetXHc/UMROMq7p1fFVjx8nvfPLsSnTV50ndZNtN\nXB2Pjug/XHvcCtFhjPEZOtHgJWL/oHGDqDIg5eGMgXmdsVTOwS1tsrwuTbtPh36znJv1j4jLkt1s\naB3iIKTuVF+qFzoY3Q5zgVXL6xuESboqslqt9gVs/Va++cn8GYj5R4Dsf9dutj1lcvamQd4F+s3N\nzd0XuVVnT1IePSviQJWeyxkt71Y2rYA869IXzm1ubu7qLK/1vm4DpX61fxJsaj/kN1dGCFQJUrWd\nurSduqAdVhMeZ+NaJ7fulKf+BYL2hbMbtXHaF1fnuj6jnWi7ZsZ8t3Ln8rqtMepe26LkdFr5Vrd1\nk/ldYGZfMPCOQEcFxLXtbkJQARWOJcqk78MagZeqr0f2wd8HjQHqc9THVasto7h2WHSiwUsaQCqK\nATKpMqDk4ZxBFYi0XLVCoMbtggeJhqh82B7ypmzq6Jzx6H0O9ErObuWF7VA9dNskuiJQ7YFH7H/0\nLr+rvmJZgiLKrgGefU5n6VZeWK/Klu0iL5LasOPt5HA2k8GzO/ypOt/Z2Sln+yQHqFw7Tp06tfum\n5QRaClr4yTJd4MvtPgYQdZruzIv2gdq72zZyQEN1O+PYs03qyDke9Z+zKVPXDxoMu8DH3+RZ+cGu\nXpIGKK2r8ns6xtxkJWL+DwEV8LJvOrDufJjeq8YKwV43hjtA4Hyfkz9/OzA1C0w6Ytyiz6v04GRK\nUrscrY5fjOzr0okHLxVCrYJRllN06AYzQYSma2cldSh7ti0qa17PLCEqVYCiAjmuvAMLFaXjZVsq\n8JLfes6BzoBO2s2mRgNcHWWSO3vkZNfAyaDpwIjqwIEOzTu6r3XpTJvghfpQyuDMfKpf/WY6eXIs\njMBLrrRosFbAUoHB6sBu8mb9HIuurx0/gpkEcbSDLng4UmDkbFfbqmVGAVTzOVty/cCyvDe78lKB\nlw7U6BisJh8s78AQZaANZDnN5wIs7Z0gp9K/G6sOOEZEOd4cgOEY6oABeVT3Z0iBmJt4H7Qeyq/A\n3fXpAl5i/4uDIvotImeAzjDdbN0ZWuUU8rfyq07SVzISwKjjYp3OeasxqdFG+L9Er8CAUudcXZvI\nww0OBv8qXxUsK3nVYbLvKvkyv7tf6b2iWUegwZVlV6v9f9Y5o5eZe+tQFRBGzpe2zLTO7qu8lQ6q\nwENKx81ZbgUIOztwpGPRHRwleHGOnuQmYdUqjdOPgnHyceXpR1wegj3KRb06fbg2urbTz0X4bRcH\nytmnlT/QPK5dLk4wn5vEVDw0nfkZXyq/6fizfOcfFbTpJFLTc7wwdsz0nztoT9mPkk48eOHTRs6Y\nRw5QlyK1XPJMHrMysR46DpIzYgYw5eE6P2XmnjIHXAe8nFFSTjfYFclXs3O3zJvyVs5YA3e1JDk7\nY1P5XfDS4MEZmgadbId7FJxy6383OZ1ova4O6pk0Cqxsjzo3rZ/5K3IHh119ee3Okugj4uoYqwPl\nej4l25Dl+SSRC47a3+qoueIxcxicOnT6VnnVzipb7FYjHHUzdFePpo22pjTvunncqoa2SfXr2jpb\n72iFQu/r+J158ml2jDn7Z2CmPbNM5Q+cfeW32wIkb5Zz7WO7R2CHQIn5XUwhjez2KOhEg5fcV1fn\nrx2kxhvxUGco4GFwd6SdVy3FK38Nxg4oVLMZrcsZtzMmN2vMdMo0GqguvRvQJA3oDMLd4Fd9dbNf\nJwMDD0GO9rXaBIObG4S6/O+2OVywpQzaXtcOBZsO5LjAzjZ2/epAmaa7e/pbxxBlYPvIV/tGt1Py\n2523IQhUHgxG29vbu6/g17Zo8NRDtJrmzrzQjpzvGFHyyMe4VZdq49SX6wOlUXB3YMX5Gp4fGpED\nt7QdV1f+5mTqoMCFdTj/XvGaBei8N9vnFX/XDx3PGX/n8nL8z4IJypu/OyDt7NXZRWcfs/19sXTi\nwQsP1nFJlvc6BNxt6ahRzAR4Ted9fWS3Kke5qiBSGYQLnkkMTOtQ1yZ1il3A7ow39awBms5f82m6\n040758IBqDLqi+3YBw68cKlVwUbyq3Shcmo9ld5GxD7mh3qpggv1q7pIfRNQ6ZNCCUy0Lzm+CDBy\nTCg4yfsJPlQ32U8OvKgOErzofQUvqgttP31B9USbqy/ie/1+7ty5fTwSuOkMfZayDxVUK1Ug1vXj\nbABx+Zy+6WOzrAtm67RZSf2g2vPo3EsXNDtQlek6OayCe3dI3oHXavXc9c0MEHF+jXpw/oGTC650\nVvVVOnCrmlk3Ae1R04kHL5ubD4k443DcoGfA5aCsguZoVsaBrPl1QFQzPsrjHESW1+Cp35TxKFEv\nVyToVA4qSxX405FXAzRlShptDRB8cOXIgUrXR2xfBR5pB6TR7KcCnxr0K2eU9+nEunqp8wpk62Hs\nJK6AqLNVm3UAS7eaCF7c23W1DQpulK/bStJy1TZWFUgIuHJVSMtlvfkmUwbhirQ+B5CrftKytMXZ\ncwesO7+dziP2PpVW6bbqq5RvJAvHJO2bY2MWvLiyrFftW+9X+lBe+rZt3VIl2Kt4ON/mgAv14Va1\ntU+49VrJoTK6PnQ8nH27/1M7CjrR4OX06dOxtbUVEftBRuVgNJ8iYoKFVHo3E2aAY91dIK1QcvJ0\nZ2QYNLMsA0+13O5mmKMBM+tYVqvVLpic6QuHwGdnhNpPFZgkWKLTrwaXsw+1DZXfDcyRzjrHnb9d\nPcwzAi/pkBSgEPDq/UzrZFN96iO/DIQET3x/S+bnSoRz5Ap6tA/oIEc0a1taTwcM2ccODOl4c75F\nddrJ6kAOdZHUgRLq19lm1WalbubsgCL1NdsPEd7/Eby44OzaQ726MeH6tgM9XTtZN+vk5Mf5XLbd\n6YY8mIc7ELTTbDvBh6NuvGl5t5Wb5RfwEhFbW1tx+vTpiNj/VsUIP1jdaohLT168RydcOe8kBlpn\nQNrJeiBU69N6eI5DZwJpHDs7O3v23FUmzsYJaEhsO4M/9ajbeWrMyk/by5kZZXb92dEIcDm9V4HB\n8VEnM3LMzFu1T3WoYMLlYxtSPjol/ZNGbYMDNxV/JQeoq+Vv1unAiwIX/TgZ2S9p2x0IWCdgjvq/\n6ju9142jCvRUclQg2AWs7tyQ8z0XSzMBPSL2BUMdCxxPlfzOb5JHpXeV0+m1m3h0QIJyO/BSyThj\nr7PgJclNirlbQKrAtvPFnYwO/FV/lprlcuweNZ1o8LKxsbF7YNfttUbsR7zcb1Y0r0t6Ozt7/yjO\nGZ2CFwYG5nHEDs52JADQ+pycrE9RNg1T7+V9Xs8MWC1D/tlenVFwf34WiMwEhC7d1dHxnA106oQj\n9j466ACE41vtCzvHw/u63Ky/9b5++OeUKaOCG+qEdWq5vNbVEqcf8smtH/aL8uRY0PZknpSDgGa0\n4qDfTKdMs0TdOL1V1AUx5iG51WCVpfM3jn8X4CnHyEeM6p7xNZpW9Ws1uagCf3539zuatY0Zv6Zj\nsANxjGNV33LySl70KS5GVGXXpRnfeVx04sFLRN+xnIVUiLQ6aNqBF5bTtDTS0YxHA5EGBTfTStlH\nMy3nfJzjOqghjQy0q0dBTrdvf9R0EDDEfJXDdFsa1UxrnT6YBVhVfs6SKnlG4I59OpKFfCnTSA9V\ngKscv5vEjGQ5bHLjkPJx3Op3JSP9VOZ1/kLvMY+TwfFRGt3XtlTgR9N0gsM2dry7tNF1V159NuWk\nzNX4n5Xd9eFREXclKvk7IKVyc+xpGu2+6o/joCnw8oEPfCD+7d/+Lb7+9a/HFVdcETfccEP86q/+\najz2sY/dzfM///M/8b73vS8+//nPx+nTp+OFL3xhvP71r9+zBXLbbbfFxz/+8fjWt74V11xzTbz+\n9a+PG264oayXCDKpclpZplrqdmnsBM4YyE+dozPMTNO9xqp+JwsNkEtznWOuwJRzbm42lqRbPbw3\n05Z16GJA1lGSG7yOupnYOoPZgeiRXgjuXd2zQchNAqogXE0AuFJZfSfpwWm2o5psOB04QO304YJ7\nR84Gsi59JFll6cYgf9PXjAJ3J5cDFLSlqt0jH1jVS59RyekmYy5AVkCCslX1rOtL1hkbFRDo+qcL\n7KP2V3LyPseU60NnBxVV5bTtKu/DCWKmwMtqtYq3vOUt8ZSnPCW+853vxHvf+9747d/+7fjABz4Q\nEd9r1Fvf+tZ42tOeFn/9138d9957b7z1rW+NP/uzP4vXv/71ERHxz//8z/EXf/EX8fa3vz2e+cxn\nxt///d/HW97ylvjwhz+8BwQdJzmDqRyyu6/fJD4V1Mmg1zzMu1rVL2DKjwIk3ZLiDHsEuNh2zmL5\nCng1Xrc6obzcoEtg5pyUytaBtSrvuo7M8e0cfZU2u2LhAooL1gyIXLkj0NzYeOj9KnpwzjlPpruV\nTgcinIz8E0amqc1k253saneuLraBhwNzPPBQu269VfzIw6UrD24bUl/dljL1rTz0wzE7kp083L0R\nOdDBfuKq6qiuKujT9pO/63s33nnNOisZOzmYZ7TKNMPfAcEZ8Mr8SdXqvNpIBWpn/RLbMeqP46Yp\n8PLLv/zLu9dXXnllvPrVr47Xve51cd9998WZM2fi85//fHz5y1+O973vfXHFFVfEFVdcEbfccku8\n7W1vi9e97nWxubkZt99+e7z0pS+NZz3rWRER8cpXvjLuuOOO+OQnPxmvec1rbL1OgR3SqwYtnbE6\nNHUy7Hg63Ij9qz4sm8TAr3IrwFAHVp2xYZvznEPWq0CBZyAoR7aFKyt0HnT+Ed87QL21tbX7vzYR\ne0+xO/1UjwzqfdeHKr9Lz3taTs84ZVo3eyRvNxj5pMNM4OvIzc7VNtn3PGOkaTxQrjz1BXHsk8qB\nKR8Fqfrv0QQlWU7/SXpjYyO2trb25NfyqiuV07VRdeN0zXM9Cl74uKhSvh1Z+1XzuCezNL/bOtS2\n6nm6LF/p3wV26knJjQPycTxSr0ruXIZudWcaX0tx6tSpPcCRY5zkfCTbXAVKBuaRPirAUt2rgvG6\nkx/XPjeBdN8Rfqu3Aj+z52n44U5AJ7Nrn+Odcib/g04a16UDnXn593//93jc4x4XZ86ciYiIu+++\nO57whCfEVVddtZvn6U9/enznO9+JL3/5y3HttdfGl770pXj5y1++h8/1118fX/ziF8t6GFA7JNwF\noLzPmY4CBYcoCSQyTWeGLnDoIHNGWg3UrEsP83IWynQeKCXYohyVnlhGnVF+6z8KZ7v1HR10wiq3\n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\nTDQDLzOa0YxmNKMZzehORTPwMqMZzWhGM5rRjO5UtC73vJx//vn1iU98ohYXF+sBD3hAvfSlL60T\nTzzxjmbrZ4re97731b//+7/Xt7/97dq6dWudeuqp9cIXvnBsr9FNN91U5557bn3lK1+phYWFevSj\nH10veclLxh7/fPHFF9c//MM/1A9/+MM6/vjj6yUveUmdeuqpd0SXfmboz//8z+uyyy6rt771rfWr\nv/qrVVX1X//1X/Xud7+7rrvuurrb3e5Wu3btqjPOOGN0za233lrvete76jOf+Uzt3bu3HvrQh9Yf\n//Efz/aOHSJdccUV9f73v7+uuuqqmp+frxNOOKHe+c53VlXVtddeW+94xzvq6quvru3bt9eTn/zk\nes5znjN2/cyHHR76wQ9+UH/1V39V//mf/1l79+6t448/vn73d3+3HvrQh1bVzC5+nmndZV4+9KEP\n1e7du+stb3lLXXLJJfWgBz2ozj777Nlt04eZ5ubm6hWveEV99KMfrQsuuKDm5ubqVa961ej82tpa\nvfKVr6y73vWu9ZGPfKT+5m/+pr7yla/Ue97znlGZz3zmM/W3f/u39apXvao+9rGP1emnn16veMUr\n6jvf+c4d0aWfCdq9e3fdcsstY3fZ3XjjjfXKV76ynvzkJ9fHPvaxOvvss+u9731vfeELXxiVede7\n3lVf+9rX6n3ve19ddNFFtX379nr1q199R3ThTk9XXHFFveIVr6jTTz+9Lr744vroRz9aL3nJS6rq\ntts/zznnnDr11FPr0ksvrTe/+c318Y9/vD7ykY+Mrp/5sMNHb3vb2+q73/1uXXDBBfXRj360HvnI\nR9arXvWquvnmm2d28XNO6w68XHrppbVr16464YQTamFhoZ73vOfV3r176/Of//wdzdrPFL3gBS+o\nk046qTZs2FDbtm2rZz7zmfU///M/dfPNN1dV1Ve+8pW67rrr6sUvfnFt3bq17nnPe9bznve8+vjH\nPz56CNGll15ap59+ej3kIQ+pDRs21FOe8pS6733vW7t3774ju3anpe985zt1/vnn19lnnz32gKfd\nu3fX/e53vzrjjDNqw4YN9dCHPrROP/30uuSSS6qqamVlpXbv3l3Pf/7z6x73uEdt3bq1XvziF9c3\nvvGN+upXv3pHdedOS+9973vrSU96Uj3ucY+rhYWFmp+fH70C4LOf/Wytrq7Wc5/73Nq0aVOdeOKJ\ntWvXrtFYVM182OGkb33rW/WoRz2q7nKXu9Tc3Fz91m/9Vi0vL9c3v/nNmV38nNO6Ai+Li4t14403\n1sknnzw6tmHDhtq5c2ddc801dyBnP/v0pS99qe51r3uNbnG79tpr69hjj60dO3aMypxyyil1yy23\n1HXXXVdVVddcc83Ye12qqk4++eT6+te/fvQY/xmiN7/5zfXbv/3bB6S0r7322vrlX/7lsWOnnHLK\nSM7/93//VysrK2N2c9e73rWOPfbYmd0cJO3Zs6e+9rWv1dzcXL3oRS+qM888s174whfW5z73uaq6\nbSxOOumksedXnHLKKXXDDTfU8vLyzIcdZnrWs55VX/jCF+r73/9+7d27ty655JK6733vW7/0S780\ns4ufc1pXe16Wlpaq6sB7xHfs2FGLi4t3BEs/F/Qf//EfdeGFF9Zf/MVfjI4tLS3Fcaiq0VgsLi7G\nMjfeeOMR5vhnjzRbfNKTnjQ6pqWjxcXF0YsYRTt27BjZi55I7WOxffv2md0cJP34xz+utbW1+uQn\nP1lveMMbaufOnXXZZZfV6173ujr33HMn2oUyZjMfdnjowQ9+cH3qU5+qZzzjGbVhw4basWNHve51\nr6uFhYWZXfyc07rKvBxzzDFVVaOlC9FPfvKT2rZt2x3B0s88ffGLX6zXvva19epXv7p+/dd/fXT8\nmGOOieNQVaOx2LZtWyyjcZzRdPStb32r/u7v/q7+7M/+bOy4AuEkOXd2c/PNN8/s5iBJsnziE59Y\nD3jAA2p+fr5OO+20etjDHlaXXXbZRLuY+bDDR2tra/Wnf/qndbe73a0uvfTS2r17d73sZS+rc845\np6655pqZXfyc07oCL9u2bat73/veddVVV42O7du3r6699trauXPnHcjZzyZ96lOfqte//vX12te+\nth7xiEeMndu5c2fdcMMNI8dcVXXllVfWli1b6r73ve+oDMeqquqqq66qk0466cgz/zNEl19+ef34\nxz+u3//936+nPOUp9ZSnPKWqql7zmtfU//t//6927txZ//3f/z12zZVXXjmS8/3ud79aWFgYG4sf\n/ehHdeONN87s5iBp27Ztddxxx7Xnd+7cWV//+tfHXpp45ZVX1rHHHltbt26d+bDDSD/5yU/qhhtu\nqKc97Wm1ffv2mp+fr0c84hF13HHH1Ze//OW6//3vP7OLn2NaV+ClqurMM8+sD3/4w/WNb3yj9uzZ\nU+eff35t3LixTjvttDuatZ8puvjiiySbeJ8AAAK5SURBVOsd73hHvf71r69f+7VfO+D8qaeeWscf\nf3y9+93vruXl5fr2t79dF1xwQT3pSU+qTZs2VdVtY/VP//RP9dWvfrX27t1bH/3oR+v666+vJzzh\nCUe7O3dqesxjHlN///d/X+973/vqvPPOq/POO6+qql72spfV7/3e79UTnvCEuu666+rSSy+tvXv3\n1uWXX17//M//PAI5CwsL9cQnPrHOP//8uummm2ppaane/e531wknnFAPechD7siu3SnpqU99au3e\nvbuuueaaWltbq8suu6wuv/zyeuQjH1mPfOQja8OGDXXBBRfUyspKfeMb36iLLrpoNBZVMx92uOgu\nd7lLHX/88XXJJZfU0tJSra2t1Re/+MX63//93zr55JPriU984swufo5pXb6Y8YILLqh//Md/rKWl\npTr55JNnz0g4AvSYxzymNm7cOAIiemX6G9/4xpFh33TTTfW2t71t9JyXxz72sfWiF72oNm7cv1Xq\nkksuqQ996EP1ox/9qI4//vj6gz/4g5ljOAz02Mc+tt7ylreMnvPyla98pd71rnfVddddV7/wC79Q\nz3zmMw94nsVf//Vf16c//enR8yz+5E/+ZPY8i0OkD37wg3XJJZfU4uJi3ec+96mzzjqrHv7wh1fV\nbW8uPvfcc+vqq6+ubdu21RlnnFG/8zu/M3b9zIcdHrr++uvrPe95T11xxRW1srJS97znPevpT3/6\naG/YzC5+fmldgpcZzWhGM5rRjGY0o47W3bLRjGY0oxnNaEYzmtEQzcDLjGY0oxnNaEYzulPRDLzM\naEYzmtGMZjSjOxXNwMuMZjSjGc1oRjO6U9EMvMxoRjOa0YxmNKM7Fc3Ay4xmNKMZzWhGM7pT0Qy8\nzGhGM5rRjGY0ozsVzcDLjGY0oxnNaEYzulPRDLzMaEYzmtGMZjSjOxX9f5JfAlfAEWO8AAAAAElF\nTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nLfctsEXQ5MxBc0DuL/tB550xc1anyYO39XpPhZ0Jg1Bb5iQ/ud7PbUm7zC7lOso5yzEnJyeX+nB8\nfHyZKaIeEHiS38iU5cnnWmsnwxIem6wMZCYgxX6SDILJIzMcE3gJiGhLlqHUQx5sS549BpT61v1k\neR4/frwePHiw88Rejyf1jmPb+k6943n2wXLcAi+2FfoKt2sdbHZlQMN+eGLlQOi+5H/zWVtkHbQc\nSQRerS/2NfRb7Bfl3ACS25hsxLzSDzkTTLk1Hig766z7aP9u/qdY2I6/KCh62XTwnpf/9J/+0/rB\nH/zBdf/+/XV0dLT+zJ/5M+u9733vWuutJaOv//qv3xHQN37jN67/+T//53r48OF69uzZ+uIXv7g+\n8pGPXJ6/cePGeu2119Yv//Ivj+Al+w/WWjtpfDq3ta7uh1hrFj6Nq1ELmHYiVCCjbtbhFHtuc7Vi\nsl62Z6MIQAgxtclrpzpIWwbG+ilLPtSryZsz7ZOTk3Xr1q0dYz5EqRtASf9aP7fqaHKYQA3Lc+ZB\nAEI+6BSmmQf5S0aCQZFyjkz55FrKNHXk3Uh+rL7Hw6CVspiWknJdaFr2S5CdAp/77jHMby5Bcnz5\n/hSCE/Y1/D18+HDdv3//8oFxrf3Uyf4G/KUu6nXqTiYpPBK8PHjwYL3xxhtXniNjOaaN9lRiz2ot\nV8qszbgdUMm/6wkvnt0bmEyZNuqgbWKt55Nag2HW4+8GLMiDM9cTNTulL2p9mQAM7YYT0NZ+8/s+\nb1/ja5s/aj6J55ydczw0aHQ/DDYNbhxXpv6l/X1g5mXRweDl9//+37/+zb/5N+vevXvrZ37mZ9YH\nPvCBy3MPHjxYd+/e3Sn/nve8Z6211v379y873crcv39/Zg5P5CR4Wev5rIsGy0Da0LLTsBkkAoij\no6PL51kk0Nih5/jR0dGV2RTLBcCk3Tg/Kxt5Y/DnbJjpxZANM7zw0fJRTjvWfDijpcGk31wiyTsr\nGOSt3JFN3k3DNiMLOkiDEBsSN8KSuB+FckkAsKFHT7jBOPzz8fUMOlwOyIbd1NUyQgQhlnPARgIY\nN2ayn9Y3OlkGe98m7fFmIDSPdmZ0lryVmecCnDxhaAEgvNK+KLunT5/uPKcmwINyv3///nrzzTfX\nvXv31v3799fjx493lshCDx48WG+++eblKwI4m42epE0GidPT0x39yXjk/9OnT3feB7XWWo8fP74E\nL/fu3Vv/63/9rx05tQxExjSbmZ154XfGrGUxaCv2RyTqXAMvzS9SZyY/Q7uknRj4tCA86Qt5Zt9a\nVoH6bZvg0p3lMPUx9dtWeTt/AwYGX5Rne6Cis5usi5nKlmlxOx5Ljimzi6EGpikHL/GutXaAuEGT\n62Q7HFvfcfuy6IXvNrp79+76zu/8zvWn/tSfWh/84AfX133d161XXnll/Z//8392yr355ptrrbVe\nffXVS0Hfu3fvShmCINPnPve5S0H8tt/229Zv/+2//XIg44y4VEFF5MOtGjI08uY3kbyRJR07Byu8\npH2CF17Hx+v7NrbwQP49G7GCuo9bACc8s38OYG2mlzoC6ibZhY9kXe7cubMjQ2YpLOsQg0Xa9Cbl\n1ENHH37pfAx6yDcdFGfFkU+WA9IWM2YcPz8QLecIWgyO8p+yj9PgbdbRpfy3w/fYUs7WGzptOnxn\nMB0cyIflyKWUZEgodzrxQ8AL5fjo0aN1//799aUvfWm9+eab6+HDh5eAgsHg0aNH64033liPHz9e\naz3PcKXPBC+UWbKCkffp6elOMAuoJeB49OjRZX/v3bu3fu3Xfu3KkpEzHtGv7JVpdko5cdmwTYpy\nLceSxIySgVILQs1fNL/AyZztn0Gad9qxbwzUua4RM5TUeQJs6ml0kMCafLrudtwBPZM/AwPqhycC\neSzElP3jGLT/1H0/P8sAzaAiZX27PoGjZecnYKdsdJXypW+hT0wfb9y4sf7f//t/6//+3/+7M/Yv\nm97WrdIR5he+8IX1dV/3deu1115bP/dzP7cTiH7hF35hfc3XfM26c+fOWmutr/7qr16/+Iu/uL7p\nm75prfWWoD//+c+vP/bH/tjYzu/7fb9vnZ6eVgRrRVprF116BpOB40wy377NK4NJNG7FIx/kJwPd\nqCneZMSczUXmbnOttcNrgh+VeAsxMxsyIW0bMOXJAHzjxo11dna2jo+Pdx5cRvDR9hU4sDItHf7S\nD4LTXO9bSzmTIUBzQKOcDYKYUUpdfMkjnQbvcDHYbYCLoMYB3TpE+az1PDDdvn37kge/6JD9aKC0\ngfm0SxujHsWpsv901qRkSuMEzdtaa8cRR//4pOLY5e3bt9d73/vedXp6egmMmIF99uytZaM7d+6s\ns7OznTaoE6mfx/NSxhZMKT/2mftvGmhlPZSN7cfkiULs2PVOdZtvH8+5xqd9XpMD7ca24qDYlr0I\nyuhrLQNeH7k6ULo9XkcbDJ+0gdjdFiDit33+BEpoH/S99tnkj+PoJzV7Ussyji/2Ry07mf7w2UY3\nbty4tCWOKUG+/aGXdxmDfvNv/s3rAx/4wLq4eOvhkl/4whfWy6aDwMtnPvOZ9a3f+q3rfe973/q1\nX/u19aM/+qPr5ORk/a7f9bvWWmv9oT/0h9aP/uiPrn/6T//p+u7v/u713//7f18/8RM/cblZd621\n/vSf/tPrX/2rf7V+z+/5Petrv/Zr14//+I+vmzdvrj/4B//gzBz2vPCZFGt1dO1165YmZDBImWa0\nbRa61tWH5bU1bIOdBnxI0zmDo7TPQJKZKDMa4aMZYH63oMs+UnlpfM3h2wFmWSRjRjm1rAv59KyK\nY+D2eO1Uxv/DQ45Rj+xwUpbOg+NiYzaRR368b4NjRr4MDKZg5jI5PmX2JpBKO6Ge5byddLJRGfMA\ngqOjo50lMo/BxcXF5T6WbGInSI0TJVigA2WfDCjZP/LO5/RQn6mLBNacCEQuZ2dnl2+TzvIRQS37\nSRlHXofMSDmuDeyHOFa8luVb3S7rTIJ1wPbXbCgfA+nUkwDpvV7sF0GIZUFe6WvY/zyNmdlHTgRy\njTO1bYLbfAiv8Tn2dYs4PpO/aMcm2TeAOu1/y3nba0CNs7KetGfCYvtJ/ZxQeHXgZdFB4OU//+f/\nvP75P//n6+HDh+vVV19dH/nIR9YnPvGJ9f73v3+ttdadO3fWD/3QD60f/uEfXj/xEz+xXn311fUd\n3/EdO+Dl9ddfXw8fPlx//a//9fXgwYP1kY98ZP29v/f3xtuk13q+58WAI8Rgk/9r7d6+RYW1oRKR\n0rmnDiPQEAfOM6/UYUdJA00ZI3kGYbbFdKFfsEWkTcfLfTsNSD179lY6O3twotBE8MxAxGGzjgko\nEtFvGavrCu8ea/Legi/rjnGS91ZXcwrpJ4Nl2muZl/xn+tjA0XK0joQnyzqBm07IgZzX0jFyxsqZ\nlHlkUA3goM4xs5SZbfgK+Dg+3n2AHx1iywql/vQld+6wD8fHx+vx48eXS0sBCs2eaA/NXvLfDxnM\nNWmTyy0cQzp23tUUEMPx8CSCOmo9bnpA/aXfcVBt1ID9BHCn8g5C4dUgnOCbmboW/Ale2l4Zyog+\nmr7QNkvfHNkz0+fJl2WwBfLs5zku9Hfku/khy9jxpfGUvu0rO2VeaGcEihmD6PgEXgi0T05Orvh7\n+0Bmi5NJbvHwZdFB4OXv/J2/s7fMhz/84fUP/sE/2Czzvd/7vet7v/d7D2Jsre3Z82Tkvt5kBcwx\n/nYwOTrafdkf1645WDEqrpkyAMThhV8GWvcrv8NT+Mls1w6baVunKxnUGnJ239keQYVBQ2RD+bW0\na/oUWdBQXOc0k2E9bYzp7AhqG4BpToWGx0/KtE2Bk/wsywZiGogwWHry5MmOrpKv1pY3XxO4cENe\n6mLwNeDmc0zCV5YFz87O1uPHjy/lmIzLxcXF5R6RZF0MXihPZl7Iw82bNy9BSz5MqVN2fEAd7Yrj\nlXaYdudLLZ89e7ZOT093QF/6nGWwAKo48IcPH17uw4keeF8I9Y/A0LrIY7mjj+9eMiggoKXuE1CE\nD+sn6/PxXOvliegSATB9FAGDgUPrs3ly5ipjxr7Ex/G/x5vfXEaiblDm9Jv2HQzOBL8sF1lZv8J3\n2mKb9F+OaxwXxza/54t+JET9iw7Z3jj+fLxC2uUyrlcVbEPcEsC78vxoiZdF1/r1ADQUD7SddyMq\nNxGty9MQeCzE2V0GjUpBHun8vCHSj9MnkLID5DGDF6PelPUsuPWFdbfNa5ZLeG3pZAKVBMigfhsN\n5ZJvPrDPcphmJo1HgkceY6Cn3hjY0AEYVDRnY2BikG3eAnYTbClPApf0wXKyjOMoyDcDMfXN48R+\n8pNrcy7gicE52bzHjx/v6A5vZX7y5MnORleWs5MksAgPoZs3b647d+6sGzdurFdfffVy7LiXIRmQ\nPG+FQIHLUX4WjPee0Dewr6bUEfBDG2cwXOu5HTv4WW8M8tM/bkxOOe4X8dIBA3uCCftJ/8axznn7\nnegl5UM/mQAVvc8SW3g0gCMfzhLTX+U4QTProJ+1r52ypgReTRbkjf2ljqZeZ7Ssw+zf5MtMzlbY\nrzrWWYeoB5G9N0gzEx6e/EypNm6htMUMrOMy9f3doGsNXhj4JnTMQaXxrnX1drIQlYmzGzoRgyTP\n5Aw+1rr6GHkGJiq5A52VxAidfNvRMoVqZaLyZ/YUfrkfgYac9tuG59wx0wBB+Dk6Orrs5/Hx8eXM\nOHUbyKQeGroN9lAyICOYpGwoQ8vXYIXXcKx4vZcJOJvZAlwGWamL59Z6vmTTeDWoZxvNyaWsz0eX\nuGTFmSyBoAFAxq8BIsqJeuPJgB2x+c41U+aIDtMzcT4ZlzNQj6UnJTmXYwEvDGgEd7SfJl/2bRqH\nlNnKDresiQFRZs6T/jlg03/SZ0WeKWvgR59EH8PglnE3AEu7LdhRJ+jDDF4IIOmjPVlJ++Q/x2w7\nzAwHyO8DL9Rt7qGbfDnlxzbJA/3zli7Zfzfw4pg4xQ1PxEO2Z/fJ+vtu0LUHL0avRooTcaA9q/OM\nmgNjZ07wQmdIxSTitgNoTj/9sRNK4LIi0xCsjK3fvI6OxQGQdVvGPJd6Al44y7W80+cECBp+yhG4\nUOHpbJozabw22eQaOxsHR7eb6xi4LCsS07TkM3rQ7uAIMfvELBoDOoNs+ral++wT9Y42Q0DLMmut\nKzrLYGCHmQwSZZhsAWXqMYkc2X8/s8Z3jnASkm+mt6nXuYYgjL85geDShIFVdCBgO78JXpqNhn/a\n8L4MJ+Vqu9ga57TL/1MQ2ecvmj06s0cfxzppZw7u1OlkZwyyDT4JaBqwyLdBRgMv1J+jo6MrS7HT\nhMX1MrPCjycffMYW5cpxOhTMeFLkuiZdOT6+umwbP8XyXjJK+w3QcYzZjiey+/r3TtK1Bi+ZPVCY\nk5H7Pwc935NQW0AkbbXH2YavoWKz7sYLQQKdxOQoGJh4jsedcTIvTQ4EXmutKzwwbWj5pG7u/E/a\nPnW16ybF9xia131kgGPHRArvzfGQ34kvjmvrQ+uTHW4cTAPJXn9ustoCaCnT9MvB3/02iG26blkf\nArLMP3nj+RyzPvMc602g5IZn6xh5aIHB/LrtBIjozFrPbzDws2iYcbCPYvuWcQvaa62d7EWu84ZZ\nXu/JiCdNbnOqn7P5rTrZb9t1C8CezHiSRxmwT/Z7tKVcS2AR2e0LtPQRBtjsF/tgeTEmTG3YV/C4\n78wi8GC/W3zjnhfWQTlTFpEny1Bnc3xahmRy4NDkwjtB1xq8GDVbcC24RPAhO961dh1Bc2ypy8qZ\n8jznazkj4DHynW/ejRGH297MS2PK+Rh5uzWO8sg3s0gM0jQeGqwzJVNwbqBurefLcTxOlD4FSTqa\nJv99oKUFN45zjtEBOOi7X42HFoR4jnWwXvLBbEAASgBey8gwq+cNgq1NL2e0/lNGDezEweWuPz9E\nzUAoTo+Zp9TZ5Ewnzes91gxQCQ4G2gYe5DH7hHw+39yz4aWgEPespRxtJXdw3Lp1a+euHcrB+s0A\nS6DAx0SwL+6Xx5Dj03Sf9TTQRN9CWYUf3kXmfpAPT3jaRKzZh8eIxCDZ/L7raucoT/NiWTpjzsxf\nAx4taE/gxHHHehm78BgTgLRM+lprR38od4PEBuRS75QNC9/OWvL7K3teQHS8+b/WunKsGXPOTcZO\namjcwCTOiOcdFIiAqWRUbqZhWX9zTObRDoLUAN1au1kZAhPPwnzNPhQ9gUgGXgdPttH61/rbZJw6\n3QcCBV7jNsgT+0zn0ByFg6SdkZ0zwSLlw42l5McbD1lPnAMBTPhuvOecAdAkfwZQ/s8G3NyhYLkz\ny0aAase45fTpTBlAuATJTd7hz06cAeL4+PiS9/TL+1nWWjsbUOm4DTzS1vn5+eUDOFNPAsbt27ev\nTBYYGNIOZU7wEjnvAyDNVgwo2T7Pp91mK+krz3M2z1trmw2xHrY9+bR95LumTJP/bcQM61Z9tHH7\nnOmaNi777Mx94DUGlpzItH4ahPpRBR6nSV6sI+UJdia7vri42HkQ3sumaw1emsFN37xm2jHteqc2\n/ZuD7axKc8QOYHYenGn7XOqYAnILkCzj/QF2LkHPdFpRvAZ6KHvuVm+ytYEHoCVgsK12fcjLbPvG\nqgUXX7sFXsITgxo/dORNryirNm75cNYY8JFbgUlukzLhtezv23EYlg/1hynn4+Pjy2xCAquB71rP\nn0+Ta9hOm3kbXLKcZ30BMXw3WIg2Z/AVZ8/HvrNughqPAXm3fNZ6fjcXy52enl6CJdsUn/Jr8iSn\nBZ594MX8JkjbhqnDBE0cG8opvoof2wz70UCMZcq2DdJ5XbMpy8P8T8CxgQK318h+n+2TT8rGun4I\nwGqxjO2H95Z9Yr3OfDKuhDwx3ep/2nLmaa3dBynu8+vvNF1r8DKtr3JA6NRdhkKlMlthbVQ55vK8\nxr9DNhorIK9hFscOnWUauCDfAQZtbZfEHfN0lL427eZ8ePe6evjibIDjkmN+30wMYQJg+e3A6n5P\n8s85G6jrbGPJlKkd7NQO67BjaaDi6OhoZyMpb+U0+Gr9jINqwIgZvbZPg3pJfkPMDDAjcnp6uvPy\nwpZSzl4nLpmkHT4I0iCWoCXncqvv6enpzkbPyInXMktBXtoYEmCFF/sY25rPtcCafvtljmk34Itg\ngv6FfaKtteCXMSFPacvBnmTQ47uKWF94pj56GSLteeLksTUwoVw8QfBNGgZfDpCsvwGlNglxX5t8\nKfu2cb2Vi81l3xp9CvVkazJOinzbPkFS82PhlTwZ7Hk8Wobccuct144lKfOV57ys58HWa51U6ob2\neM7KT0XjIHm20oKlB7YRlTbt+RoHaR5vQX3rPDMp5LulWr2Hws7OMqRc4lC5nMFyTMfSCVHO07JF\nczSUN52Px6zJh3K3QyWAMg+t/TYO09i0vrjt/PfSUKPJoRJUTG1RHgYHkV3TEcqIwCPPbmEf6dwZ\nGKnzFxd9bd2BNPwk60C5RJ/4RGgu6/g1BLyraK3dJRDLnPIk8Da1LAhvJggvATAOItzbRODP8Uu7\nbfls0oUWrLYyFRxzPgjPOkhgQ50If5RTC2SNmp1Pny0gMrXRbLL519DEr2Xru/BSxmXtpwxQU96+\ngO2S6HsbqHY96Y/9rNtv8S0+ye3blzgjzDrfbbrW4IWKsQ80NGppLjqoZuT5bQed35PykHJ9C65U\nAvPksmzDxtKABh2zQU6UM8GEv5vibS2/tNmGnQ1nbhOgmAK+nRDLk4+WDWlA02PUZDjx3ECB65xA\nTuvHVA/BBYNQ9MhO0s+roM5ZXqy76b/rCWCh8wyAsXw9sXCfm96QF/JtAJSMT8pw1hdH2zaQJii3\nB8Nxo6/54rjZB9gG2oZKyol1Zcy4RNPAiwORfY/bonzX2p2wNL/E+lsw9Xd4c18MWijPpgMpN2UQ\n6Ben63OsgX3b1BYfW0HcZUPO3DUgzoyn91RNH/JvIjCe4pSvp97Q1qKvKTfJea1dQGf9Jgj3XZLU\nCS+Dvyy61uCFQXhfgJ8CS7uGg+iMjpGqqQXCCegYfbvsFFztMPb1N32hA2j10nkyQFsGKet+cDkl\n5W0IdPwTeHFwmL4bNXk4+PJ8Awu8BXmqj2u5Jl/rGbj5TTnPZHic8kk5Lg1Yn1IH76JxEOTvNptv\n8uPSYNr32nnS0OxTyvN24VzX1uC9dMJylkeIgIe6a/AS4MLNudHDgHUvY01j5gDUgJbLUKbWm9av\nqdwW2XflGPvTfIR118CgyaDVZUCY65vt2t5d/xRI3ddWTyOOB/8709LspBHH2H6BYIEZPI/1Pj9i\n2w5f6T+vtz8zIOPyT/SV/5v/bcDWE+CLi6sPZ2zg5d3Kwlx78BKiICfn69/MCjTU25zJdM6bVT3Y\nUZLw5TodlGgM7rOXOtgX9ttAZR944cyHWSnL++ho90ma+W4bJunACHKmgDrRIY6EwcLycT3Tf/a/\nOeSjo6Oduykol9RH8MeAT4DAfUiT42edDKB2huw7+aRTtTyoj+63690nL9sbeaYTz5JJsg8GQk6D\n09lOtmleaTuUU7M92lza4DKr7ZQy3HLsE79Nds1nuC2fc72NF9OhAcOA4e0EmwmgvF1qIDXH87/J\ng2Wa/4j98YaBgFaDgal+9635m+hl9N+PuWgAxnfzsW3bSPoy+SPq0ARc7Y8NWqfkgMELJ6QTmNzn\n698puvbgheBjrd0BnsAHZ2gEHzaCEB0dHWqbHVixDpkJkMgfX5zlNvh/rd0lIQOVFlzasgDPNQAw\nLf8wIGcjZBsrAzgq+1pXH2u+NRtoRs9gZPm4/+y3+2S+2J7X9R1c8s00eJt9rbX7uHnKkmNnPppc\n7aDc1qQzbSwJgq0XliV1L+Of62wLvhuF4KU546mPE6CcAmYDGy0wTxuwG2Bq7TQ58pyDkM+5nvb/\nRWkr6OQ8qdnOPuBiP9nOt4nVFtCa+G3Hpzr2gQyXYzxwX3ys2Trtlu0xq8iM4xaAmeKWwUr7vTVm\nbamR3833NX9hX2Od8Z18lv9XMi/r+S5vDiyFt0+5+bsFl3Z+rd3HHl9cXH3ibHNmW86V1GafLOvy\nDZiwLwQXvAPF9VN+DETt3n065jbL3JI9DSQP/TJImECHjzf+bTCWlftxSEDi9QS+a/Xls6Ojox0g\nQPk3/bAsm6xSJ8t703MbU367Xw7SW3sitsbAsjX4JXih8/ZD1tpYUu+5HNOCawMfDbh5dsj/7dUW\nTccNONpx2wRn4Ja/JwYtMJBagJt4jm752q1sXgOKBENeMmC9pLQdX0393+pvq8f2kOvbJGDyl7Rb\n60mWE8OPM3CWL+t0fSSPlcE7QcwEZjg2tFUvT26BTu9RaeCl2cak4w2gc8+L/ZXH4GXTtQYvbZbT\nwMe+OvLtgZ3OUUmsLAQH+c9Z3QRWaGhcf2ebdoRWUAaQFmD4u810UycdTIwjPJlX/vdtcnZIMcDp\neSk2wJDX4ts428C2HH+7vi0VNLmFH/Pf+LHja3JrvE/1sJwdppc/GhDi7wm00TGmfoOwKTBMNtLG\ndWrf9bWPbwNnfwKK85/ZHvbJWckpyFl/J/C31tW9Yc2+DBAmmzUvbMsAmPLakmXzCU0/OV6UBf1R\ny9AZDDWem8/Kd/Np9gMec9tR0wvbWVu2DnClzjdfxP6T4h+pe5SZ+0ZAwg+PeUx43llL89v4bnf1\nNfnxLl6OmXXG/v3Zs7f2iuVt7dODIr9yq/TqDtmDNgGP9pvgojkzX5drONA02vz2LZCsv/GX8p7d\nTP2y87NSTc6xOQ4rJR1TcxheFohiOtjlf4zSu/IdhBvg4HGDrPTDjy2ne4qaaQAAIABJREFU4ZEP\ng8O0Qfk1HWgzdsow8vDMo6VQpwA0fejUCCo5FixjJxy553icYK5NZoR9sOxYb9MB6nyTIfvZ+tz6\nsdZzxxsdIwBhfZEH7zZin5yR4TN0Li6e32nHOhk4OH48byDSrvEYttnxPgAzAZ4t4GIyT/5u5xs5\nCzNdS9t31mRqg3bF65tfmPx7o+bDqUvWqcnv2v8yDpiiZ3xGDf3Yvrjl36x3y8bMw+S76ZfjV31n\nauogMePDvniSPgHWl03XGrxsGYAVoSlbUOY0sCQbk4NYW+9PW9wDwvOeqURh8s0yDILuH/tIA0qg\nMohgUHP/GmqffpM843famv1s8vY1Bh02XqdtXY7tue0t8uyYbVLG3k1vx8xz5HGfE8r5LKdxA2qb\nkVl2TiNPwMPLX17SSb0G9NQfZntSB69pNpClQs9Q29hZPuwbdYu/bVNM0a+1rgQP1s/A1W6Vti5v\n8crfWwG3BVOTA+1WgCZgeNEstHl3nebp0Gs58ZlubGi8cEITahPMJvPGl+t3PwwEp/E2cGQsMPBh\nrIjfyPJZe5zBZN+ceLFd2rB1wyDC9a91NZ60cWz6TJ9DGXFS5Qkv+Xw36FqDl7W6ctq4PdsiQvRA\nU9BW5obUm2PiN39PTsD1NxRvhW00zSbonFOn0+YxplzbgA/7xOcWuL6W/jXFkbG8jSPlOMbNuGn4\n5tPG246HGvBK3/JN4MLUaANf1g0DYINYP+UybSQrYsDhNh3YLScCYgOhgBY+ur49s8KZJrZhUNSc\nm8fB48FvA5Fmn7Q3LwewvSnY8uNA4LLkL2WYXTHvhwbSiZrstoI9z7X2pzqmwJ96QgaYtDvLkuTA\n2P7bP9mPcV9L6w8DZmvDda519Z1ek779esl9YX9s71wSCh/s41q7j9yP7bIOyz3XUz75z8lKaLIj\n9sX1t9+TTX4FvIAmAMCBd6BOWaNTGxiPp452Z08+Nhxe+yL9iYK3ADg5NIMeB1b2b8s4J7lN5cj3\npNiUDY0uKf04Qa/dmhcftzNq8m/9mnhsswUeSzm+O8hOwuCNZZidYJtrXd1k+ezZ8+eNGGy0/+4L\nnZnHJfLnkk/GIlmfBvaYlSHf7Fv6zGwHeZ6AA+tj2RwjgGPmNHzmPVAZH+pSljNzDT/WBeuOwQtl\nyPFzoLHMORvdWqZw29bHfYG1gVjbEnXZdjEt77iPPk7QRjLYpm24Lfpm+y9OmLb646DrcxmLfNhP\nZhZpp1tEW/YSC+2LwCr9a0CfE1SOo7OXTWbtO9T2ybRnJ1kv7U8d51im2ZYzU/smtu8UfVmAF5Od\nto3JSkQnZye91m5ameAl56YsTM7z28d4nIPrFKOXEJrjMtINj3QQ3ONgnpzedTkqb3uoWXaaU1kN\nMmjUx8dXHyDGDb8cr+aY7JScim3y4Xd+ZwzX2n3WTTNajo95Ml/sE4/7vMczY2EQ4eDYZovWgebQ\nDHYy3nwqbJNhxou8TPxzXOnA6SyZ6crxyMsAoAXs3B0SO8lGQerPjRs31pMnT3aAFfcfOKvWAp/b\nNoCx40+fG5jmkjADaPMfW6ClyTztNjIwmkBIZDHVYf4a6Gu6QVttS0et77R7ZiBtEw28UH4tm0M7\n9odybLKgT3SsMXghf1s2Zp63+rfW2nkfHHlpdZlv+499gLPF0OkY7ZDgpfH3sulag5dJ8G0wKey2\njBTFo6KwLipJmy01o4kB7iPzwTYMjrxcQzJgePLkyRVk3+RFWVmGPDcZVY7zVsN8Nz7JB/cjkOi4\n2DfLmZ/MSA6hFqTcb54zaJnqnH6HP7cxAS0GdQZEjqcfqEVZ5b/TyKyLfW4zw4mn1ocW0A0+fPfc\nvsDXxof9ynOFnjx5cvmARC59Hh0dXQIX9teBqvFkoDjJYgIvrpM6RBlzouJ23V6TkYNTu3bSV/Pr\nMWngl7pGoHxIFrDxRJ21HrM97/1q/Z/6a3BIvg0gW10NOE4TqklnKRuPIdvxtRM4M8ia5Jo6OEaO\nBVOMastokafr5uRvykqHvpJ5WWsHxa61X5Eb0PBxKkpzGEdH/WFcLOcAT3I60Hw7XUfHRwVsCtAC\nO8v50dVbwWGSH8moP8GEQYsPavN1flBTMzxe0xyr+5jlgsmRezZsp2xeea7dQWTdYfkGFNwHghGD\njwAUOh8CA/Lnh6yZV5adsm4tVd2C+ASAWY7PtAnveSEhZ6Apy8xLC0524M+ePbsELI8fP15nZ2c7\n7ypq4+eg6mOtTWaDyAd/G5St9fw9Lzx+dHR1grL1zp9Jvs2vsO12zP31bDh1+wGTE19e1rbvsa+l\nndFmGx+tvlzbnkXEb19Dm2j+YwKy5sG210D+pHeTHU7+wr8pMy4dsZ7W70a2bfvwCSTTTlp/KE9O\nIFpd7SGmL4OuNXgJUeg+3owr/9eaZyk2dhsfqTl5InQuxzho8DczP5NCM7vSAIeDuXlsYKGBKBtE\n49vtP3v27HKma7BlastR7i/JjpDG0gypgSbWQ57dPzpf80oQQcex5SCngOOxauU8RqnPM7ijo6Od\ntyTbKTdHb4DnwGrZui/Wj+gv19Opd7xlmUuG7WmjntF7LBl4mHUxUVcMuqaZJfuYYNmWSdnX2Pgh\nmTnP+kmTTbSgMvmu5jtcpv1vgY+/nTWy/m6BF/bP9tIAUuN9CrqWRfP5Tc60pSY78jAts0xj7b60\nzHEr57bZT+oYr9kCfjzWYhfLe5wO9VtNH8w/7ecQmb0TdK3Bi4VqdOiyFlwLWiYCilaORtA+U2ao\ngS3PVLcUrRGN0f1mwNtaF/fvBlxaIAhffmdPuz7InE/XPUSpbdzOUrncWv3lYXasPG4nkzG0TA8J\nWhM4mfoyOWQHBQPR1mbWnOlEOGa+1jKdZsStL6wj7bTMSrJIuT77Z1jW4xNePbbJ8j1+/Hg9fvx4\nPXjw4ApQS/l2R5h5pEwpH+6/scwNvAhI2mZ7B+62P2vf0s90fhoj2wf7uRVMWX6yrXaNAcMEXtpz\nRNrYs68NPDQ57OOZE1LaHuvjsVxjfdlH5KNNKA4BHdRJ87TVx311my/7sGl5K9e2FYIWc2nX/P1u\n0LUGL0aoDpQpw/PtWpZrxp5g7N8kKj+De0vRU0Ec4OnA17r6/BXy6+ujIA5yaXcCYdMswkE8x5pT\npKOKjBiQHTgJdNyW5Wow0vZ0bPVl67fbpDGzjw68XtIJ8AlFBmyL8vesmwHFZD3nNymZr+wBsTPa\nCoAOqm2c44xcp3U1dcdZ8UWMHIOmG1uTCepawMujR4/WgwcP1r17964EoYwJH/lOQJUH2GUcnV1p\nQNEf1rfW86VFbsw1aM05g/dpbEye5KTefcDC7XjphvU0O2mTQ2ct7HO29NlBcwu8NFD/IrQlm+af\nybt1wJMZ89jAGnWCr7WZeOU4pe4W31ofyP90fK3nukreWB910X6LemKdsZ/3TRnT5PmdpmsNXrJB\nk8pCY3IA4rk4aN5C6W8GYlJzHGnbwXQymsnZTACjGfQU7PmkUxselTL1NmfzIg6i8UGnFLlTXnHs\nJycnV5xZ6yPL0OlObTfHaQOjUwhxlmPAMTlQOy0bLwPUNFO04zdAsw4ygCVAxynyri+3Qx6jDzmW\nh8cZRFkO5sP8MNOSW7ADYNZ6vuZ9cnJy2S55sd6SD/b57OxsPXz4cL355pvrjTfeuPIwyIAX9jlt\nnZ6erps3b65bt25d8ukMEPtmXWl18njkYHCWenknIWlfer05fvazjRHlRpk609XKh9okwTZ7dLR7\nl9mzZ/MTs3OOS1FTnxtflPOkm7yGNpg2W+aW9udjnmxtAW7qj3U5wLXVb3/DfZ3Ww7Y9gPLdosh/\nelyA74jypIDP3fFyIss3sP92wOfboWsNXtbany7bRzSwXD8BhhzLYBE9B0i1bMgU9JwuDTHl3zIv\nLVjSSGmAUfqGjq2Qbf3a//c5mShpu7Nmq+5mjGzTaVc7MgJIO2L+zniTPD7OlnGpwAE0svBTkakj\ndpAmjkMLKAQvGSenew1aDgkG7nN+c8OdwUTK0CGT78iX5dtYxYFb/jnvW5kNZJNlevTo0Xr06NG6\nf//+lZcqOtAw9f/06dNL8HR+fn4JsnL+4uL5xKYtW9GJr7V2snDOwPnhg80HNNk2UGF5sawzwk3+\nBlIti9zs0T6SwZ16743XE9jYB7RILkef3cCEyUDEekQd9zW5zo8IoE9o8jNPlhn7ljJ+TAT1tbVB\nvWw21HiyTtDO/FJK2zzHm4DHMYptZ9LCDzeyv0y61uDFiJqKZeftgN8CkJW4BTsGKfIR5+H1yS1D\n9Awl53nLsVFx6rQTYp983ADNQdKzxonf5jR9bjI0UwMVW5kCgxf213owBWwvZblP/u+Zk9uj3Pj+\nqoyPZ53NwXo5Lf+97ENZWXfpgJq+uV2PXUv9+1lG+W7ApAXeibYCFgOw+2OnGPDy+PHj9fDhw/Xg\nwYP15MmTzWUYLmNlk29Ayo0bNy5BDJeUMikJ2GIwybFkDyO32GxsmOCPY8cg4LFpmZy019L5kck+\n8EKZNIBqWft3GzcT/drEi+1vS2caUU8OWYagH+Gxrewtj7fAzskr/Y7lHD55buq745j3irGOBmZb\nP3O8+eXoNh8zwfatYwE8eUwDZdhkyWXj6bEYL4uuPXgJNQdqRzZdPxloO0YHxHJ26D5G3qb2c67d\ngsjA6ADd6uS1LUVpmbFvrd6JWh38NKNpPLc11yYDOxXPnNpM0vKwPFtfzXvjxelntt2c2ZaetRRz\nk92+vjWawEcCOsuYP8++Pb5Te+3j2fIUuFogafwFwORzdna2A3h8W22cJwOJX/IYR+7MQsrHcVt3\nCF5ybQCtl4JSTwCqgeAhfqKVs/41G3J93tTd2mu65Vvz7f+mcZzOkRqIsiyY4duqq11rftyH1m8H\nZ9tm6xeXxqYyE4DJNyc00V0DW+tPa99gnv13H9hmi2up2/KJL2yg1T7g3aBrDV5IHMh9Ct0CYUsf\nemAJitq5tZ6n/qagzZk2DYWKkv0LTRlcj5WVDy7z7MTG1/if5LpVhuSZM691m0T8k9KzbMu8mE/y\n0HhjFqr1yYFskkcLygQEdgAMYuHFaXUea2PVdHoak7ZXa6rD/Z70g988H11lQGOWq9ma7S31MWtB\neaQMs03c48NXA7AuAiW2nf/c85bzBD0GXMnQNOdOvgJe2jgFNDi7tQVeWtCeQI7bYx32b7ZRl236\nZxvh+HC8WoBL37PEyTpaGyQG87ZM2frNTbKUr/sxyaYBhH2yttxZzj6HEwrXzb7Sh1CWk5+jTHwT\nx+Q3J9Do39abQ+z6N4K+LMBLcyJUdJdr1Aw1A8D9G5xZObBnr8ekWB5MB4Lwx93oDAhUfs+ywsda\nz4HNtFzkQMDyLa3KPtIIHHx5joo8yT1OLHIzeKF8GKymoGwnula/k2KaGaR8nCofb+30NIGK6+HG\nTy4jsE/UFQaw8/PznXFvTt08TBmRrYybHZmdkB17kzGpZS6os62N9lwWPqGZmwLZzlrrMtPCrIvB\nC8cr8r558+aO7XDpiKAr/YwuUNcdDEgNvLhsdMyZF47T1gzZwJiyaXVR7gbQU4A2oLAeNPBCgMex\nynW8Js/lMQ+tPffbQd36b16jS23MJj/lCQzBWOTMthqInMBK+93K26YZY7ZiGSeqpjamBB4sNwEj\n+oX23/rEMhNfL4O+bMALf3vwQ55xbyHmUFPMpgBsswUM88MgYPDSAm5rz/XnHFE3Z5LOBLhvVmD/\nNnhpbcdJ+DkXVtiUYbDeyrwwzU7n4fYdlNusbgJ/BI4MQlm3ZfqfQYC/uWnRAYjj60CRD2+53XII\njchDAxxNZpSRlwKmoMW2HCTCe/aPUCbuawOFBC8EkgTclE/I9dPZhxz0SNapBABmgpqNm3z7aWRD\nPtIvA1uPUwMf6etkg5N+0D4bSDFAm8bf11E3k8Vq2SzzkP1JLWi2NjOWtq8W4D0e3EPYwAsBSeMj\nfoE8mDeOocfcbTa/4+Wdta6CtTYOrGfruH2j+9cAT/PZbTybnzK1MX3Z9GUBXtbqey54nOWaY3Md\n++o3+HCgyjcVhOXitBvadWDlYE/AzOdJUSwidqfTGbibArMPBggNsE18NFCy1u5GaAOklPOMnmUc\nVOmIPQM0sCA/NkQ6XF5LHrw80MafeuDg3fhgfdN5BuuQ98pQP5tdOGBTF8zDPvuYwO2W42YmcEtu\nDmoECD6X87SvKTAxcFGOzAqGz7V27zppdtLu3rBMnHlhHW1cWiDdl3lpIJV6kP8GWG0MWIevY9Yi\nS8Dhj7JvY8Q+N513m+at+QH7YWYCc5522Oyz6VvG1hPDLYqf9Tg5HjS5NEDWAA7lRZlNMvVvyivL\n99Yh8ue+G8gZKE36/G7QtQYvdkCTIrC8KQKN0TVhcw085dbavUWQ12xtSHSdrM+OJcraAq2VI9fQ\nYNyf8OylLZYnem5IOvy0GSyXS6ZlgeYMEyi2gjbBi0EQ62sO3YblZRz/TqaFqWYGWa6je72aMuCy\nkQGF9zukDepOAzfUdwaerZehtfovLp4vIXAZhADP2bCm55RP6m3PTXHbbJd82qYM8C0Dp60Jgpvt\nNADkjIPBJfniDD7fXoo1Pyzf6qeuHgJe+Hsijk8DWZaFz7X6SPRNHM/YzuSb0s98WwcaSCW1u1W2\n5JDzE9icQJrHz3VNPNgPUZdNkV3TcYPmlLXdTyCVumVA0fqTD5fBp7rj92gv1v1WP3l5N+hagxci\nfG9kWmtdzm4IGJpj2bp9qwW4rfVol/W+g33K72BoxWZfHEDoRI6OjtbZ2dnlNZMBcQZjw7BR00Hn\nXNsH0mjKMKR+Z3zS95Tz+vjk2JkZyXmXa6CzjUMDRK7DMmHADjAlz3TgBkZNtyi/yVllJs9UPMl8\n0hFSj3jcMks9DiyWV2RgAMNbjAOUc4sx22Ibz549u9yLkjLOVERnsxRBPTIYpOzOz88v6ybIp7xp\nDxwj6o8BT9MR6yKBC4Mj5cxv67jHldcbuO8jB3Uen8rnm3YWfc+zclpADo8NMFoPLMsXoWbPEx+T\nbBtv7Herr/HBu9tIzQYbMYPY9KzxMcnQQMW2y1iy5cvNj4FVm0BRJu8WXWvw0pS+HXP55uD30TSg\nRtztulYPHbUd7JaDYgBwSjJ15Thn1F4/ZZ3575SkQZH70/oW/rie3/pBXidj5Dh6pupAYH4IPlxH\nsgopN2XtWp/bJkMHOb5wkGWdWZt0ioB3CoxHR7svYuQekWkWR8DpJUSPqx0gj0VXvETFcd5yfpbp\ndL7xxGDLu1ayYZfZItvKxcXzW6NDXPLznYIEP97oy3pz3IGj2RPHgYB0K0h7smDg7PpfNEDYbthu\n6vV4eImJ8mp7vtyf6JB9sX04gySJfWU79KUEsR6LF6Xmm+z7DfQnYMixjC0aODSdurjYzdh6vCef\nYf5pS4xBPNaWu9ZaV/wBgUyLhaznEL/wTtK1Bi8RDAPyJCwKlwJ3fUw100mEbMDT7MIOyd8+Njlq\nI+TW51wT3um0eS2XCTxrsqHRePKfToBAiE6Cd9m4vwyiaz1fYgn/k1I347RhU6aT3Bk0vL7rMWlE\nB8IZfkBD+kRnQPDSHv3OjCHlsM/QmzOdAuAEzkx2nO28fzdeG6j2mDTdb9+sp/HEzEs2wTroUm9T\nPse8f4RlGog0EGx23eTS5H6oI2/XTzJpfmTii/o76Zyza/nt5TD6g63MS8gZ22anDqrkqfVn6l90\nYPL3jbbk6v+OLzz/dsd3ratgqNnlPp858UOZ+VEV7bUWofh2jhH7Hz9ngOa49W7QtQYvVtqWwfCx\nlhqjkzU4ac7TwbTxtY/vCana6KZ26ExzDR00gzvPT0sqrHOt3dlezjOTwrYMJjhbaobNPuTbvBxi\n9Ck3Gf+htC9QH3LNNHNpxw/l4UXp7ejjBKansm0st4Bi/nOyQFDXQDL1yHroc06nOyPWMmusw/w2\ngEI+Cd73AWT+fifG1zJ/J3XG9b2oPU3gdOJ1S8emekMGOy9CL+Ir9pU7JA4kgKdcAw9rXQVzW6Cs\nxSPWzUlpiLGiTS6m+NnGbQsYGRA6Fr/TdrBF1xq8tIyLj1GxrEREhTluUOHshssfHe1ujHX2ps2s\nqVRBqj7H+kLTwNPAuURBJaIz5f/Um35k42wLQDSSOHKnZHOHhoMOg4eNjv3w733Opjk319EcqwHX\nViAyQNoCLtS/CfROfWiBbpJPiGW36t/6bx62ZNLabql6l6NNtfoncEKQMQGbrdlzc8B2zlv+wx9v\nQHYd1JlkdWzvBFMEQ225L/Xw6aptWYbAyvxsyYRlmrwcGH1uCsb7qOkKbZLlco7/qXPTshHP2+bX\nWlfAK/mnHSZTSx3wPkmPnXWJfdrKdE3UZGPg7/L+bX9tm+RzlSxH1kX7S722Sdv4bwRda/ASYSWV\nRQPmef7fEuiEZHnOv9fa3aNAx5f/a83gJXyxfBxWym8pt9cgedz/uZzDa9mmA8QWeGE76deTJ0/W\njRs3Lh/+xbb49N8YSHOwpClwkrYc6BRwXaYBHS8/sA46LzoubtbdB1rYnoNxA5KtP/uA29S+MxQG\nci3z1spPALAFRI/TZGfWMX9T305OTtbp6ek6PT29tP+07eXT9pK4vF06+5Qydnm3Ud6InW+OLd/X\n0t71knMNvNBuQ22iQjk1MGWagrr9E9vZJ/P22xmtQ4Jw049WZiv47QuGDtrNj5GaDvp8s+NJbxs/\nlLHr2erHlu37GOtnv7fqd1nHkmlZ3b6By0iOIbHJlmV92fS2wMvf/Jt/c/3H//gf1yc+8Yn1e3/v\n711rrfVf/st/WZ/61KfWr/7qr673v//96/XXX1/f8R3fcXnNkydP1ic/+cn1b//tv13n5+frox/9\n6Pqrf/Wvrg984ANjOx4kpnZznt8hG6EHaJpd2Gk04OCnb3oTYDNyO3gaRrtVL992XrneAMp9ItDj\neSslzxvEUN6+hsds8LwuQZrf7mOucxuHgJ4WUJvRctZr8BbiLLvJneCT8s/dblvOmtmy8OLZDNtq\nzo9t7psFtjGxo3e7+2Tr5/SYX7ZvniJ39oXBtgWk4+PjdXp6um7fvr1eeeWV9eTJkytPUmV7nDHz\nrpjbt2/XO6IIXnwXjcFLQI1lQnlPwdhjENkcEqQt74xD+tvaSP2sw0CTcuYEp42D+ffsu5H1u/ma\nrcDdZEaifjsW+NqteiZqsm9l1roqt8bjRFuAKm04VvG3ddK85Xezd8YrX9PGj/V4guz62yM0Xga9\nMHj57Gc/ux49erQjyC9+8Yvrb/yNv7H+0l/6S+vbv/3b1+c+97n1Az/wA+v973//+pZv+Za11lqf\n/OQn1+c+97n1T/7JP1l3795dP/zDP7x+4Ad+YP3jf/yPx7YOVbg2wE6XtrL5vw90WImcRZmuaW3a\ngbVgybqnvrU+2tG5TcuTgdCzL8uEwYKG436bCFyaE2e5LYdomsDKBKa8dGiH6j5aFqkrAc66YQDC\n9lPGYGrSET9hNbLOccuSwIGb8ZoctoKseW3BK99bdTUdMWBtS1GeRAS85C4j32lFMEfwcnz8/InJ\np6enO6AkcmJWhbxYfwz6WjCwPqXstERLog3SHzTfQj2eZs0N1LQxME+eGNoeCdRN1Jn898bqCbA0\nAN3sxsQJlp9X5L5PPtHjGhlkOdD8uH3as2Xr65vPY7v0CVs8+zqXsX1M/s6+ksfb0hB13rL2tgre\n4fcy6YXAy//+3/97ffrTn17/6B/9o/X6669fHv/sZz+7PvjBD15mWj760Y+ub/u2b1s/+ZM/ub7l\nW75lnZ2drc9+9rPrb/2tv3WZafnLf/kvr+/6ru9aP//zP79+9+/+3bU9GzwVzOcPmc2Q7DQdpNfa\nXTIxH83Bt6DF9ggUJsCU8+RlCnL+P4GU6Zjl0NrfAjPNWbbrJ+e9T2atXOvTIcG4ZZF43t/sx/R7\nCu5bv/Of6Xg+68TBK7wn+KYM23Rg5rUG3bSfOOoJpE78Wx+4HMNjXm61LTEYexwDLm7durWTdfGy\nEX2Cn8GTZSdny1ofJ3JwoWN3MG/ZBqbct9rI9bxjsJVrfqqNDXniuXzbDjhuvM58M1PT+rBlO27X\nEwNnurfGZ8tfmKb6rI/t/L42fH2LB61N+xC3+aLUYsRW3fEbU5/z25+pbYKjreWsd5JeCLz80A/9\n0Pqe7/meK0s9n//859fv/J2/c+fYN37jN66f/dmfXWut9Su/8ivr7OxsfeQjH7k8/973vnd9zdd8\nzfrlX/7lg8ALndQWoJioKZkNvQVyK/A0MzsESKXM5DgNigh4bPRrdce0BVJYzyHXNP6cBrazmoL8\nIfKhY+S1W8DlEEOhLGloTqmv9XwDdttbYEBwqFMLn2m3PZ8kdXp5isfy23ZhsNOyduQr9YSXBGfz\nQvlx6Wtr2ZZ9IvBuPDt4Ub+zX+X27duX/CXzQkAU2ea/bwM9OTm5AuAaiJnAAvXF76NyBswz1nbL\nfRsPX3N8fLwzm6Vf4Pi18fVx2yl/t/HwdZYFMzSTv/X4mA+Pdz68+eFFAuBkk5PPD7WM22Q3EzV7\n8QTEsjXoZ7mbN2/WDJdtjfLxWLBfvMbPQGpyi83G5hx3PC5b/XzZdDB4+cmf/Mm11lrf/u3ffnks\njN6/f3998IMf3Cn/nve8Zz148GCttdbDhw/XWmvdvXt3p8zdu3fX/fv3xzY/97nPXQrkq7/6q9dv\n+S2/5YpQmbZrjrL953GXoXN2aphl2zJE/rfg3GYd5sN18OFGDdXaMTno5xzl09a2m/HxWvJPQ2GA\ndWDP+X1OyPIj7/5PGa71fG11krWDcYzPgYd9Xuv5cxHSh8Zzvqc1fYNQLm/k7hLKrY1XA4RNdnSG\nrHOLyJOXmiznFkxaannfPgHyRT30OF1cXKyTk5N1+/btdefOnbXW7tOzKWPy0gDf9HRTZmhS3g64\n2RPlzkBCPxF+2gZ51hV5sF9Pnz69EmRSlr+dtZpsuMmr+Sifb32Sc3y1AAAgAElEQVRuZSf+fL4B\nk6ZnjT+Wcaau+TNe7+wc7c3tGdROccP+kfW2elpQN1jif774kv2ifXnsrVOUlX1TG7OpnWZzbvv4\n+Hh94QtfWL/6q796GbfeDToIvPyP//E/1j/7Z/9sfepTn9o5nk69+uqr6969ezvn3nzzzfXKK6+s\ntdbl971799b73//+yzL37t1br7766tjuN33TN62Tk5O11m4gNLiIUBl0DhmkUJtlsP78ntC962gO\nvCFat2ljbeug3izVArT/59tgggpKakDEsmn122ha4Hc97b+D/xREG/CJY29jtdbaCSw852A68cnj\nBkINZOWTdylFT6fg5DtoGk/uD4N26mpAoQWdKcPUwIrL23nbkbdXenDpKt9+hP7R0dHlXUa3bt26\ntIVWjg62AbhpLHlrbHhlsAmvLNPAVgvwBnT7wAvLuZ8eU/a9ZV792zrp3y1AvghN7W7x4/8cv8bL\nZCssQ/u1L8z5HDN4CXm8Wzn7vS3wQgAzyYXlGXdaX8nPlPkyEHI7lud0bPo/8f+hD31offjDH15H\nR0fr0aNH6+d//uev8PZO00Hg5b/+1/+63njjjfUX/+Jf3OnU3/7bf3v94T/8h9drr722/sN/+A87\n1/zCL/zC+vqv//q11lof/OAH1+np6frFX/zF9Qf+wB9Ya631pS99aX3xi19cr7322gsz3RC5/08B\nb63dATOQ8F0VLdNhcGB0ym8bJAEMj028m4/mdJrh0GgZWHgtA4mpBSM7mBYk2Wc6ecuZ/ScvbZwa\nfznewEVz3iTLugUhg7eJhwnc2PFN5dbqe1Es2zZODYyY3y0AuVV+An851gI1y5uvZnMtU5Trs3+F\n71BqQfDi4mLnZYrTx31J1sXgy+DR/zmuBjEOqqmzLd3wv+3DuteObZWZzvk/eaafeDt7FiY9JG35\n62azk18iTfxu+QbWwYyoPxNIoE3ZR7Y2LAPyN31YNr+b/Nq3z6+1f7P+BLx9LJ8X9Ycvgw4CL9/6\nrd+6vvmbv3nn2J/9s392/bW/9tfWN3/zN6/79++vf/Ev/sX6qZ/6qfUn/sSfWP/tv/239TM/8zPr\n4x//+FprrdPT0/XH//gfX5/+9KfX7/gdv2PdvXt3fepTn1of+tCHxv0ua11NAVqoTv03EMF04T5H\n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\nfXmnWAdeslE9x5mBtg6nv84u8BrbLwPHnEsAw2Xz1L24uLhyk4UDS4KX63xLSmhJu0I71H1In87W\n3a9yY/DyxS9+sX77t3+7fvM3f7P+6I/+qDY2NurLX/5yVVUdHh7Wu9/97nrd615X73//++urX/1q\nvfvd7669vb1605veVFVVH//4x+szn/lMve9976tHHnmkPvaxj9W73vWuevLJJ2tnZ6ftM/sGHCVX\n9Qg2xdEjf1OYYlgobCl0elGs/CeQoYCmndGD8PzAI5dOuSicTJ12Do2Fjndk4LpslMfs+gSIdiI0\nPswaZE7mHUEbx9dFMp2B5BjNOzuSzhGSl44g0g7HaH6MnPuqYgfs22zJV2+EJTAiQHaKnE7W87mu\ncD4GpyyOQK+b76pzNu6ZZzc2pu3pNFiHYyP/WGc0r5GDps7lt++2yj4p3zmSvU+hm0G2ZZv2iAGS\nI1o6mJsAkVUg1mDToKS7vuN/xmwgkUC0A4hVl/bB+8eyCb6Tvyx5d3bc4CUf0it9dOAl/bLvZG06\nwNbJV357viOwR1ouFlczMAbIsRe0BZQJBmhdZpT9WSY7vo8CsdEc7ne5MXj5sz/7s/rFX/zFes1r\nXjMde+lLX1pVVZ/73Ofq4uKi3va2t9Xa2lo9+uij9cQTT9QnP/nJCbx86lOfqieeeKJe9KIXVVXV\n29/+9vr0pz9dn//852dtsmSTI2/xTenASwhPRnfZERogO+Gczzfr2Ll0aUICnRSmYW1wKVC5jhtb\nI5jd/gUrpfujIBq5dwrIQkXmfAncEhlw/EzDs50uCzUCcKFVPt3c7ajZ5qiP7toOhNDIdXwiLdIO\n16edWTOPws/U51OOSSc6cGbd7DTYtvsdAWXSxI6esmpaGVSaJ6vKyIHaYGbuowxLB1bcD+t5XKOx\ndjphUOtzBi0BKgQmBpyxIx2IdyTLfrtMIM+N5r4K2LgN3m3UZS5TN06R4KF7JpfpbrtgwNDNfVU7\n+T/S/VV20vJsUGx7xz0npK3Hu8qudqXTC9KdcrEKZFJG8tsPN3UxIGEmmv0bQHeZl8hBF3jcj3Ij\n8HJ8fFz/9E//VC972cvqN37jN+rrX/96vfCFL6xf/dVfrVe96lX19NNP14tf/OLZRF760pfWN77x\njek22W9+85v1+OOPT+fX19frscceq6985StD8HJdtHCTet1vItjrFHsVCKKw8Bqn73zcCJrnKUxG\n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\nPnH77bfHD3/4w1i5cmXceOON7Wvuvffe+PGPfxyXXnpp3HnnnbFw4cK4+OKL4/nnn5+KIe0WNDw8\n3N4PJGndunVxySWXxCmnnBJ33nlnXHjhhXHTTTfFfffd177m+uuvj4cffjhuvvnmuO2222LmzJlx\n2WWXTcUQdnl65JFH4uKLL46FCxfGHXfcEcuWLYvzzz8/Il7/+edFF10UCxYsiOXLl8dVV10Vd911\nV9x+++3t+2sM2350zTXXxL///e9YsmRJLFu2LI477ri49NJL49VXX61+sYdTz4GX5cuXx+mnnx5z\n5syJoaGhOPvss2NsbCz+9Kc/TTVruxV95jOficMPPzwGBgZixowZccYZZ8Q///nPePXVVyPi9W3P\n165dG+edd15Mnz49DjjggDj77LPjrrvuam9At3z58li4cGEcddRRMTAwEIsWLYqDDz44hoeHp3Jo\nuyw9//zzsXjx4rjwwgs7NngaHh6OQw45JE499dQYGBiIo48+OhYuXBhLly6NiIjR0dEYHh6OT3/6\n07H//vvH9OnT47zzzos1a9bEQw89NFXD2WXppptuipNPPjk++MEPxtDQUPT398f8+fMjIuIPf/hD\njI+Px6c+9amYNm1aHHrooXH66ae3dRFRY9j2pGeeeSbe//73x9577x19fX3xoQ99KEZGRuKpp56q\nfrGHU0+Blw0bNsS6deti3rx57WMDAwMxd+7cWLVq1RRytvvTX/7yl3jLW97S/onb6tWr48ADD4xZ\ns2a1r5k/f35s2rQp1q5dGxERq1atagf1pHnz5sUTTzyx8xjfjeiqq66Kj3/84xNK2qtXr453vOMd\nHcfmz5/flvOTTz4Zo6OjHX6zzz77xIEHHlj9Zhtp8+bN8fDDD0dfX1+ce+65cdppp8U555wTf/zj\nHyPidV0cfvjhHftXzJ8/P5599tkYGRmpMWw705lnnhn33XdfvPjiizE2NhZLly6Ngw8+OA477LDq\nF3s49dQzLxs3boyIib8RnzVrVmzYsGEqWNoj6G9/+1v85Cc/iW984xvtYxs3brR6iIi2LjZs2GCv\nWbdu3Q7mePejnC2efPLJ7WO5dLRhw4Y45JBDOq6fNWtW219yJ2rVxcyZM6vfbCO9/PLL0Wq14u67\n745vfvObMXfu3FixYkVcccUVce2113b1i6yY1Ri2fejII4+Me+65Jz72sY/FwMBAzJo1K6644ooY\nGhqqfrGHU09VXvbaa6+IiPbSRdIrr7wSM2bMmAqWdnu6//774/LLL4/LLrss3vve97aP77XXXlYP\nEdHWxYwZM+w1qcdKk6NnnnkmfvrTn8ZXv/rVjuOZCLvJueQ3r776avWbbaSU5UknnRRHHHFE9Pf3\nx7HHHhvvete7YsWKFV39osaw7UetViu+8pWvxL777hvLly+P4eHhuOCCC+Kiiy6KVatWVb/Yw6mn\nwMuMGTPirW99a8f/trz22muxevXqmDt37hRytnvSPffcE1deeWVcfvnlccwxx3Scmzt3bjz77LPt\nwBwR8eijj8ab3vSmOPjgg9vX6H/sPPbYY3H44YfveOZ3I3rwwQfj5Zdfjs9//vOxaNGiWLRoUURE\nfP3rX4/vfOc7MXfu3PjHP/7Rcc+jjz7alvMhhxwSQ0NDHbp46aWXYt26ddVvtpFmzJgRBx10UPH8\n3Llz44knnuj408RHH300DjzwwJg+fXqNYduRXnnllXj22WfjIx/5SMycOTP6+/vjmGOOiYMOOij+\n+te/xtvf/vbqF3sw9RR4iYg47bTT4he/+EWsWbMmNm/eHIsXL47BwcE49thjp5q13YruuOOOuO66\n6+LKK6+M97znPRPOL1iwIGbPnh033HBDjIyMxHPPPRdLliyJk08+OaZNmxYRr+vqN7/5TTz00EMx\nNjYWy5Yti6effjpOPPHEnT2cXZqOP/74+NnPfhY333xz3HLLLXHLLbdERMQFF1wQn/vc5+LEE0+M\ntWvXxvLly2NsbCwefPDB+O1vf9sGOUNDQ3HSSSfF4sWLY/369bFx48a44YYbYs6cOXHUUUdN5dB2\nSfrwhz8cw8PDsWrVqmi1WrFixYp48MEH47jjjovjjjsuBgYGYsmSJTE6Ohpr1qyJ2267ra2LiBrD\nthftvffeMXv27Fi6dGls3LgxWq1W3H///fGvf/0r5s2bFyeddFL1iz2YevKPGZcsWRK/+tWvYuPG\njTFv3ry6R8IOoOOPPz4GBwfbQCT/Bv1b3/pW27HXr18f11xzTXuflxNOOCHOPffcGBzc+qjU0qVL\n49Zbb42XXnopZs+eHV/4whdqYNgOdMIJJ8TVV1/d3udl5cqVcf3118fatWvjzW9+c5xxxhkT9rP4\nwQ9+EL/73e/a+1l8+ctfrvtZvEH6+c9/HkuXLo0NGzbE2972tjjrrLPife97X0RErFmzJq699tp4\n/PHHY8aMGXHqqafGJz7xiY77awzbPvT000/HjTfeGI888kiMjo7GAQccEB/96Efbz4ZVv9hzqSfB\nS6VKlSpVqlSpUol6btmoUqVKlSpVqlSpiSp4qVSpUqVKlSrtUlTBS6VKlSpVqlRpl6IKXipVqlSp\nUqVKuxRV8FKpUqVKlSpV2qWogpdKlSpVqlSp0i5FFbxUqlSpUqVKlXYpquClUqVKlSpVqrRLUQUv\nlSpVqlSpUqVdiv4PNB0bKmETTzoAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAF+CAYAAABK7vqLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsnVuMZVtV98eu7rqdbrxw5JqoHEVuhovGB4zBRBIQCBEf\nlEMiiUBMMOGBxBAuxpj4IAmXIPhkxHCRRG4aFPMdg0aQoFGiMfImhPMiEgFFDdCnu6q7qr6H8/13\n/favxlx796G7qfNljWRn773WXHOOOea4/OeYc621+NSnPnVSM80000wzzTTTTA8T2vpOMzDTTDPN\nNNNMM810MzSDl5lmmmmmmWaa6WFFM3iZaaaZZpppppkeVjSDl5lmmmmmmWaa6WFFM3iZaaaZZppp\nppkeVjSDl5lmmmmmmWaa6WFFM3iZaaaZZpppppkeVnTxO83ATDPNNJPpP//zP+uDH/xgfeELX6j7\n77+/Dg4O6oMf/GA95jGPOVP2uc997plji8Wifv/3f79++Id/+E6wO9NMM91hmsHLTDPNdO7oy1/+\ncn3605+uJz3pSfWMZzyj/umf/mmy/Atf+MJ68YtfvHLs+7//+28nizPNNNN3kGbwMtNMM507etaz\nnlV/8id/UlVV/+f//J+14OXuu++upz71qXeCtZlmmukc0LznZaaZZlrS+973vnruc59bX/7yl+tN\nb3pTvehFL6qXvexl9Yd/+IffadZmmmmmmZY0Z15mmmmmJS0Wi6qq+s3f/M16wQteUL/4i79Yf//3\nf1/ve9/76tGPfnS94AUvmLz++Pi4Tk7Wvy7twoULt4Tf0Mc//vH60Ic+VBcuXKinPvWp9cpXvrKe\n/vSn39I2ZppppvNDM3iZaaaZVmixWNRLX/rS+tmf/dmqqvrxH//x+ud//uf65Cc/uRa8/NIv/VJ9\n9atfXVv/H/3RH7Wbbx8KPe95z6uf/MmfrLvvvru++tWv1oc//OH6tV/7tXr7299ez3zmM29JGzPN\nNNP5ohm8zDTTTGfo2c9+9sr/JzzhCXX//fevve7Nb35zXb9+fbLMYrGo7/u+7/u2+CO96U1vWv5+\n+tOfXj/1Uz9Vr3zlK+s973lPvetd77pl7cw000znh2bwMtNMM52hRzziESv/d3Z26vDwcO11P/iD\nP/gdWTYi7e/v17Of/ez6i7/4i9vWxkwzzfSdpRm8zDTTTLeMvhPLRh2dnJws9+/MNNNM///RDF5m\nmmmmW0abLBtV1S1dNjJduXKlPvvZz9bTnva029bGTDPN9J2lGbzMNNNMt4zuueeeW1bXpz/96aqq\n+sIXvlAnJyf12c9+tr77u7+7vud7vme5EfcjH/lI/du//Vv92I/9WN199931la98pT760Y/Wf//3\nf9dv/MZv3DJeZppppvNFM3iZaaaZNqI7vQzzW7/1W8s2F4vFcvPtM5/5zHrHO95RVQ8+Rfdv//Zv\n6+/+7u/qypUrddddd9XTn/70ev3rX19PfvKT7yi/M800052jxac+9an1u+tuIb33ve+t++67r65c\nuVJPetKT6rWvfe0tna3NNNNMM80000z/f9MdfcLuhz70ofrEJz5Rb3vb2+pP//RP60d/9Efr9a9/\nfV27du1OsjHTTDPNNNNMMz2M6Y6Cl49//ON177331hOe8ITa2dmpV73qVXXjxo36zGc+cyfZmGmm\nmWaaaaaZHsZ0x8DLlStX6itf+crKOvSFCxfqiU98Yn3xi1+8U2zMNNNMM80000wPc7pjG3YfeOCB\nqqq6fPnyyvFHPOIRdeXKlZVjx8fH9fWvf7329/fnZzXMNNNMM80008OETk5O6urVq3X33XfX1tbt\ny4/cMfBy1113VVXVt771rZXj3/zmN+tRj3rUyrGvf/3r9dKXvvROsTbTTDPNNNNMM91C+shHPnIm\ntt9KumPg5dKlS/XYxz62Pv/5zy8fHnV0dFT3339/Pf/5z18pu7+/X1VVj370o+vChQu1WCyWH9Po\n+MnJSR0fHy//b21tnSlHVMhbMo+Pj5fX5lHnflsu68rTPM2LH5Oe/ycnJyv8XLhwYVkH65pq6+Tk\nZOUposfHx3V0dFQHBwd1dHRUi8XiTL3sU46NZMPji8WivvGNb9SjHvWoZT03btxo5cTvo6Oj2tra\nqu3t7drZ2anFYrGsM9dlDDZB6LmW11y8eHGlvsgr8tna2qoLFy4sH0dPGXs8OfY3btyoo6OjZT3H\nx8e1tbW1bJvtpQzr4Rjm9/Xr15dyS52UF3nweerBN77xjXrkIx+5HGO2E7l7rCm38E8+cy596R7x\nH3mkbrabsYisKSsT+xZZm3KM8uFvyr+qlm3me0SWd3fOdZuoO//zP/+zHItOzuY7bY7kvLW11eqG\n+bUeuyzrtW7yWI7z2795zLpG3lwPbSW2a74o8/gw6/1InubtW9/6Vl2+fHloj50s+N99dLudj+nk\n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\nzOBgwOq9KvwwA9IFNvNioOf9GsxiWQ8oZ+qJ9d3jMeLFjrezS46FM37rlhu6ID8KcCMeyUPHYzdj\n3aTPozKj81MAgXo06osBJeXTBX6Wc387QMb/9AtT/ez8a3esk4OBaJdhtK1YtqMx7bL0IxrpFPsy\nAptsk+doU+Z7UxDQgXHeSu0lfl7XZVpGY9npTXd8nRxvFW0EXt797nfXP/zDP9RXv/rV2t/fr2c8\n4xn1q7/6q/WoRz1qWeZrX/tavfOd76zPfe5ztbOzUz/zMz9Tr3nNa1YU7WMf+1h95CMfqf/93/+t\nH/iBH6jXvOY19YxnPGOy7S7N5sDN4GzDpTMMdUEm3x2yzuBnsLy+y8GiU3OgpKGlrW5Jgr89I0gA\nqjp94qcdfsrR0XZt0BGyXdaXa7m2uVicPkU1S1cEMB0oGKXlR4EpxucUpIP3uiCScx6PqWyIn8Nj\n528nZcflfhKIUu5d+twAMXLNNbxdOh9nG3J9B6RCKctsFo91wJo20QUkA5TRuKV96gf5Mi/mybKi\n3tPO3SZlYwfd+YKRnWwaVFyH29okWPq6qWC47nhXJ493OjgCMqO6R+0/lIC2Tq+6sTXgoY7SV1AP\nO53qeOmWcEMjO5vqF/k2iHoo4CX9S7wajadtmvrd8Thq03VbFrebNgIvi8Wi3vjGN9YP/dAP1bVr\n1+p3fud36td//dfr3e9+d1U9yOyb3vSmetKTnlR//Md/XN/85jfrTW96U/3e7/1eveY1r6mqqr/5\nm7+p97znPfXmN7+5nva0p9Wf//mf1xvf+MZ6//vfvwKCTBzEblnF5dYFMX6nTq9zdk6CjrarZ8Rr\nh2xTD4NHxxeBB40yqX/ySb5HSkhlcxkGjO66fAfAZEkly1/hzQEk/HazOs8MHcz57THp5M8++lo7\nF4NMG6NvgQ3PVacgZMrA7QQ70OOyzsjZORBQEMAwk8I7aCgngrfI0vwbKFvXDVpGMp2ShZcJDX4o\nG75mIC96tFyyR8cbpN1/Llna3m1j3Rh1QdLXTOlqrrVMRv5qKmCvoyne3Gan+12m0fpys4H1Zs5P\nAQX3oxsPXj/y5wQv3fWbAEDKd5O+MVNFXuyvuvanAK/ro8/1+PrYVP+m2ut0LN8jP3CraSPw8iu/\n8ivL35cuXaqXvexl9epXv7q+9a1v1eXLl+tzn/tcfelLX6p3vvOdtb+/X/v7+/WqV72qfvu3f7te\n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\nZ/PmzS1Pj9UyqcDtli1bYnBwMLZs2TLKT7NkxriR6dBjRwm8+Pg9vpE8cfM6fZZsGRcYjzJyn8km\naJSbxyj97t/dDsWLT7DcbkRM7i7PLNZ7O7Q/BxOZvdL2NX5Oyni+5MZHTXglUtd7jOdkQC9OqHgt\n46qIlZMSeCFQiojmE7gVixSzJhrETErwMjg4GBERzz333C7mpCbShg0bdjULNf2XVq9evatZqOm/\n9Itf/GJXs1DTf2n9+vW7moWa/kuDg4Mxffr0CWu/7Ze//OXLU+PZARoeHo5nn302enp6dqh0V1NN\nNdVUU0017TpqNBoxODgYr3vd69LlyJ1Fk7Ly0t7eHnvvvfeuZqOmmmqqqaaaatpBmsiKi+jlu6+p\npppqqqmmmmqqaSdQDV5qqqmmmmqqqabdimrwUlNNNdVUU0017VY0Kfe8LF68OO6+++7o7++Pgw8+\nOD7zmc/E3LlzdzVbryi68cYb43e/+13885//jJ6enjj00EPjnHPOadlrtGnTpli0aFE8/PDD0dXV\nFUcffXScd955Lbeq33HHHfGTn/wknnvuuZg9e3acd955LQ/tqmnH6ctf/nKsWLEivvGNb8Rb3/rW\niIj485//HNddd12sX78+9txzz1i4cGGceOKJzWu2bdsW1157bdx///2xffv2OOyww+Kzn/1svXfs\nf6SVK1fGzTffHKtWrYr29vaYM2dOfPvb346IiLVr18Y111wTq1evjunTp8cJJ5wQZ5xxRsv1dQzb\nOfTvf/87/u///i8eeuih2L59e8yePTs+9rGPxWGHHRYRtV+8mmnSVV5uvfXWWL58eVx11VWxdOnS\nePOb3xznn39+bNmyZVez9oqitra2uPDCC+POO++MJUuWRFtbW1x88cXN441GIy666KLYY4894vbb\nb4/vfve78fDDD8f111/fPOf++++P733ve3HxxRfHXXfdFQsWLIgLL7wwnn766V0xpFcELV++PLZs\n2dJyl93GjRvjoosuihNOOCHuuuuuOP/88+OGG26IBx54oHnOtddeG4899ljceOONcdttt8X06dPj\nkksu2RVD2O1p5cqVceGFF8aCBQvijjvuiDvvvDPOO++8iHjp9s8LLrggDj300Fi2bFlceeWV8bOf\n/Sxuv/325vV1DNt5dPXVV8czzzwTS5YsiTvvvDOOOuqouPjii2Pz5s21X7zKadKBl2XLlsXChQtj\nzpw50dXVFWeddVZs3758eATmAAAG9UlEQVQ9fvOb3+xq1l5R9NGPfjQOOuig6OjoiN7e3jjttNPi\nb3/7W2zevDkiIh5++OFYv359fPKTn4yenp7YZ5994qyzzoqf/exnzaeqLlu2LBYsWBCHHHJIdHR0\nxMknnxz7779/LF++fFcObbelp59+OhYvXhznn39+ywOeli9fHgcccECceOKJ0dHREYcddlgsWLAg\nli5dGhERQ0NDsXz58jj77LNj7733jp6envjkJz8Z69ati0cffXRXDWe3pRtuuCGOP/74ePe73x1d\nXV3R3t4e8+fPj4iIX/3qVzE8PBwf+chHYsqUKTF37txYuHBhUxcRdQzbmbRhw4Z45zvfGa95zWui\nra0t3vve98bg4GA88cQTtV+8ymlSgZf+/v7YuHFjzJs3r/lbR0dH9PX1xZo1a3YhZ698+v3vfx+v\nf/3rm7e4rV27NmbOnBkzZsxonjN//vzYsmVL80FQa9asaQZ10bx58+Kvf/3ry8f4K4iuvPLK+NCH\nPjSqpL127dp44xvf2PLb/Pnzm3L+xz/+EUNDQy1+s8cee8TMmTNrv9lB2rp1azz22GPR1tYW5557\nbpx00klxzjnnxK9//euIeEkXBx10UMvzK+bPnx9PPfVUDA4O1jFsJ9Ppp58eDzzwQPzrX/+K7du3\nx9KlS2P//fePN7zhDbVfvMppUu15GRgYiIjR94jPmDEj+vv7dwVLrwr64x//GLfcckt85Stfaf42\nMDCQ6iEimrro7+9Pz9m4ceMEc/zKI80Wjz/++OZvWjrq7++PAw44oOX8GTNmNP1FT6R2XUyfPr32\nmx2k559/PhqNRtxzzz3xta99Lfr6+mLFihVx+eWXx6JFi8b0C1XM6hi2c+gtb3lL3HvvvXHqqadG\nR0dHzJgxIy6//PLo6uqq/eJVTpOq8jJt2rSIiObSheiFF16I3t7eXcHSK54efPDBuOyyy+KSSy6J\nt7/97c3fp02bluohIpq66O3tTc+RHmsaH23YsCF+8IMfxJe+9KWW35UIx5JzyW82b95c+80OkmR5\n3HHHxcEHHxzt7e1x5JFHxuGHHx4rVqwY0y/qGLbzqNFoxOc///nYc889Y9myZbF8+fL4whe+EBdc\ncEGsWbOm9otXOU0q8NLb2xv77rtvrFq1qvnbiy++GGvXro2+vr5dyNkrk+6999746le/Gpdddlkc\nccQRLcf6+vriqaeeagbmiIjHH388uru7Y//992+eQ11FRKxatSoOOuigiWf+FUSPPPJIPP/88/GJ\nT3wiTj755Dj55JMjIuLSSy+Nb37zm9HX1xd/+ctfWq55/PHHm3I+4IADoqurq0UX//nPf2Ljxo21\n3+wg9fb2xqxZs4rH+/r64q9//WvLnxE+/vjjMXPmzOjp6alj2E6kF154IZ566ql43/veF9OnT4/2\n9vY44ogjYtasWfGHP/whDjzwwNovXsU0qcBLRMRJJ50UP/7xj2PdunWxdevWWLx4cXR2dsaRRx65\nq1l7RdEdd9wR11xzTXz1q1+Nt73tbaOOH3rooTF79uy47rrrYnBwMP75z3/GkiVL4vjjj2/+k/BJ\nJ50UP//5z+PRRx+N7du3x5133hlPPvlkHHvssS/3cHZrOuaYY+KHP/xh3HjjjXHTTTfFTTfdFBER\nX/jCF+LjH/94HHvssbF+/fpYtmxZbN++PR555JH4xS9+0QQ5XV1dcdxxx8XixYtj06ZNMTAwENdd\nd13MmTMnDjnkkF05tN2STjnllFi+fHmsWbMmGo1GrFixIh555JE46qij4qijjoqOjo5YsmRJDA0N\nxbp16+K2225r6iKijmE7i17zmtfE7NmzY+nSpTEwMBCNRiMefPDB+Pvf/x7z5s2L4447rvaLVzFN\nyj9mXLJkSfz0pz+NgYGBmDdvXv2MhAmgY445Jjo7O5tARH97fsUVVzQde9OmTXH11Vc3n/Pyrne9\nK84999zo7BzZKrV06dK49dZb4z//+U/Mnj07PvWpT9WBYSfQu971rrjqqquaz3l5+OGH49prr431\n69fHa1/72jjttNNGPc/iO9/5Ttx3333N51l87nOfq59n8T/Sj370o1i6dGn09/fHfvvtF2eeeWa8\n4x3viIiIdevWxaJFi2L16tXR29sbJ554Ynz4wx9uub6OYTuHnnzyybj++utj5cqVMTQ0FPvss0+8\n//3vb+4Nq/3i1UuTErzUVFNNNdVUU001lWjSLRvVVFNNNdVUU001VVENXmqqqaaaaqqppt2KavBS\nU0011VRTTTXtVlSDl5pqqqmmmmqqabeiGrzUVFNNNdVUU027FdXgpaaaaqqppppq2q2oBi811VRT\nTTXVVNNuRTV4qammmmqqqaaadiuqwUtNNdVUU0011bRb0f8DppAP2c0E8QAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAF+CAYAAABK7vqLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsvUuobdlV/z/O+5x7b1XFR5mYTioQkxhFg9pQQ9kQ1BjE\ndCQlGrS0IYKiHYmIYkcJxheJCOkIloZINA01jWAUI/nFBwhKEBSjFigoRo0iVt17Xvee828U33U+\n+3PGXPtUvPfmlP81YLP3Xmuu+RhzPL5jzLnW2vijP/qj81pooYUWWmihhRZ6idDmZ7sDCy200EIL\nLbTQQi+GFvCy0EILLbTQQgu9pGgBLwsttNBCCy200EuKFvCy0EILLbTQQgu9pGgBLwsttNBCCy20\n0EuKFvCy0EILLbTQQgu9pGgBLwsttNBCCy200EuKtj/bHVhooYUWMn3sYx+rj370o/XJT36y/vu/\n/7u+4Au+oJ588sl6+9vfXgcHBytln3/++Xrve99bf/Inf1LHx8f1JV/yJfUDP/AD9epXv/qz1PuF\nFlroQdPG8pC6hRZa6LrRD/zAD9TLX/7yetOb3lSPP/54/f3f/30988wz9apXvap++Zd/eaXsD/3Q\nD9W//du/1fd///fXrVu36v3vf3/94z/+Y/3Kr/xKff7nf/5naQQLLbTQg6Ql87LQQgtdO3rnO99Z\njz322PT/y77sy+qRRx6pd73rXfWJT3yi3vjGN1ZV1R//8R/XX//1X9cv/uIv1pd/+ZdXVdUb3vCG\n+o7v+I76wAc+UD/4gz/4Wen/Qgst9GBp2fOy0EILTfTMM8/U13/919e//Mu/1I/92I/VW97ylvr2\nb//2+vVf//WH2g8Cl9DrX//6Oj8/r//4j/+Yjv3Zn/1Zfd7nfd4EXKqqbt68WV/zNV9Tf/Inf/JQ\n+rrQQgs9fFrAy0ILLTTRxsZGVVX95E/+ZH3FV3xF/fRP/3Q9+eST9cwzz9Tv/d7vrb3+7Oys7t27\nt/bzmdAnPvGJ2tjYqFe96lXTsX/8x39s97Y88cQT9e///u91dHT0GbW10EILXW9alo0WWmihFdrY\n2Ki3ve1t9U3f9E1VVfUVX/EV9Zd/+Zf10Y9+tN785jfPXvud3/md9W//9m9r6/+N3/iNevnLX37l\nPv3Hf/xHPfPMM/WVX/mV9drXvnY6/txzz9UrXvGKS+UfeeSR6fz+/v6V21looYVeGrSAl4UWWugS\nffVXf/XK/yeeeKKeffbZtde9853vrNPT09kyGxsbL2oj7eHhYf3ET/xEbW9v1zve8Y6Vc+fn51O2\naKGFFvr/Dy3gZaGFFrpEyVyEdnd36+TkZO11r3rVq+r8fP0NjFtbW1fqx8nJSf34j/94fepTn6r3\nvOc9l0DPI488Us8999yl63LM41hooYX+b9ACXhZaaKH7Rvdz2ejevXv1kz/5k/XJT36yfuEXfqGe\neOKJS2WeeOKJ+ou/+ItLx//pn/6pvuALvmBZMlpoof+jtICXhRZa6L7RVZaNqmrtstH5+Xn91E/9\nVH3iE5+on/mZn6nXv/71bbmv/dqvrY985CP1V3/1V/VlX/ZlVVV1+/bt+tM//dP6hm/4hhc/gIUW\nWuglQQt4WWihhe4b3a+n2r773e+u//f//l+9/e1vr93d3fqbv/mb6dzjjz9ejz/+eFVVvelNb6ov\n/uIvrne+8531fd/3fXXr1q36jd/4jaqqeuqpp+5LXxZaaKHrRwt4WWihha5ED3Nj7J//+Z/XxsZG\nvf/976/3v//9K+e+67u+q777u7976tPP/MzP1Hvf+956z3veUycnJ/WlX/ql9e53v3sCOAsttND/\nPXrorwf41V/91frwhz9ct2/frte+9rX1wz/8w8s7SBZaaKGFFlpooSvTQ31I3Qc+8IH6yEc+Uj/3\ncz9Xv/M7v1Nf8iVfUu94xzuWB0kttNBCCy200EJXpocKXj70oQ/VU089VU888UTt7u7W937v99bd\nu3fr4x//+MPsxkILLbTQQgst9BKmhwZebt++XZ/61Kfqda973XRsa2urXvOa19Q//MM/PKxuLLTQ\nQgsttNBCL3F6aBt279y5U1VVt27dWjn+yCOP1O3bt1eOnZ2d1X/+53/WwcHB8vTMhRZaaKGFFnqJ\n0Pn5eR0eHtbnfd7n1ebmg8uPPDTwcuPGjaqqev7551eOP/fcc5fuCvjP//zPetvb3vawurbQQgst\ntNBCC91H+q3f+q0HesffQwMvN2/erFe84hX1yU9+st7whjdU1QtP0Hz22WfrG7/xG1fKHhwcVFXV\n537u506Zl42Njel3Hj++ublZW1tb07mzs7M6Pz+/9HjyjY2NlXI5n995P4qzPDl3fn4+1Z12gyh9\nnPWfnZ1N9eb4vXv3VvpdtfqodPelyzylT+lD+nd2dlZHR0d19+7dtt6zs7O2ro2Njanv5m/o+eef\n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\nYsau/A0QWltbm9ExenIvoAbA5UqS6UJ+flpwyjeXbDynBI+jIJN21QWABC/+nj4G+aQejoJ0yt80\nce3a2tr0dvFczksZd/rmc0b0dPz1OckX5pk+KPvs9Htkv67KdrzPfv2944W3Obi/DqhCZ9pDAohO\nZ+wXOnCS+trNL/nX+bRMgAxgFovF7M7Le9m+JvDyxS9+sd71rnfVW97ylnrooYem4x/84Afr6U9/\n+lRpef7zn18vfvGL633ve1+96EUvqqOjo/rgBz9Yv/M7vzNVWn71V3+1Xv7yl9c///M/13d913e1\n4+WSAIIliDoYZaAZlXrdl/tzAEhw5D5oIwUanefvSdsI/Xa/ed6prHxmgEpnMQJxNINBZ9FeKsq/\nbq5nZ489It7jJkjKLC6z85HDTf51QLOTQeqIj3l+7qNzot3voyVK04teZTDNW5dHVS9AfNKSS3q5\n9LBYLIYO3tUG7sLpgqfHtAPrqmpdwOgyVOuy+UZVZG1trTY2NqZloxyPa7xE1Nm250lVJ5eZrG+2\n09Qx5p3vWXM/8BCd6Mr0lrVBmPtYptej/xM8pS9IWXrcrtJ7fv5Y8pKvexjJO2nhu+VN8y3RWRnu\n+NXNdWTrCRBSDw3slwE7+sxHFcAX/r9TvDEoST/hY8vm230fzT1lkVWvlNeyGOLWgZ4EMvejfU3g\n5Q1veEP93M/93KWlns985jP17d/+7bNjz33uc+tv/uZvqqrqP/7jP+ro6Kie85znTL/fvHmznvrU\np9anP/3pIXgxoq6ab8ZzZkFbpnz+rXM26ai4rgtAHZrl+MiZ+M8PDBspYdXFuqUNx+DFmaMNqVvL\ntCHnHNOwmEtWpOwUO3TdzZ2qCFUixmWszugTVCXw6pyEHdCyatWILxlY08hp6fAya+f8vD2RPtDp\nrJ7keUm7lzQSSJquDmR1fY8AYQKdpHEEvBnb1QrLGJ7leAZZHONuurW1tVpfX6+Tk5Pa2tq6dHsz\nY+Kou7sRE+AD0DY2NoYPzkud43pXMphnJjiuVubTU70BNgO4eUUf3kMwCiTZElCOAknK1RVu+rFM\n7JO6hxxaFp39ck4uB5tXyMCV1E7H8nqDvTzH9p1g2mMYNLpvWi6TuwKZfsn8HfmqUTMtWbmz7qEf\n7i+rhwlevIeJ30fV1o7Xjj+Ml363i4H3qt01eHnf+95XVVUveclLpmNMend3t57+9KfPzr9x40bt\n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\nKP7mb/4m9u3bF6tWrYrrr78+1q9ffyKG9JqhP/iDP4ht27bFZz7zmfjJn/zJiIj4j//4j7jrrrti\n165dcfrpp8eGDRviiiuuqO6ZmZmJO++8M77xjW/E7OxsXHDBBfHbv/3bzd6x/yM98cQT8YUvfCF2\n7NgR7XY7zjnnnPjc5z4XERE7d+6MO+64I5566qlYtmxZXH755fH+97+/dn/jw44Off/7348//dM/\njX//93+P2dnZWLVqVfzar/1aXHDBBRHR2MXrmZZc5eWBBx6IrVu3xu233x6bN2+OH//xH48bbrih\nej15Q0eHWq1W3HTTTfHwww/Hpk2botVqxc0331yd73a78bGPfSxOO+20+PKXvxx//ud/Ho899lh8\n/vOfr675xje+EX/xF38RN998c3zlK1+JSy+9NG666aZ48cUXT8SQXhO0devWmJycrD1lt2fPnvjY\nxz4Wl19+eXzlK1+JG264Ie6+++749re/XV1z5513xuOPPx733HNPPPjgg7Fs2bK45ZZbTsQQTnp6\n4okn4qabbopLL700HnrooXj44Yfj+uuvj4jDj3/eeOONsX79+tiyZUvcdttt8dWvfjW+/OUvV/c3\nPuzo0Wc/+9l46aWXYtOmTfHwww/HxRdfHDfffHMcOnSosYvXOS058LJly5bYsGFDnHPOOTE4OBjX\nXnttzM7Oxre+9a0Tzdprin71V381zj333Ojr64vR0dF43/veF//1X/8Vhw4dioiIxx57LHbt2hUf\n/vCHY3h4ON74xjfGtddeG1/96lerF/Jt2bIlLr300jj//POjr68vrrrqqjjrrLNi69atJ3JoJy29\n+OKLcd9998UNN9xQe8HT1q1b4+yzz44rrrgi+vr64oILLohLL700Nm/eHBGHf3to69at8cEPfjDO\nOOOMGB4ejg9/+MPxzDPPxHe/+90TNZyTlu6+++647LLL4p3vfGf1csV169ZFRMQ3v/nN6HQ68YEP\nfCAGBgZi9erVsWHDhmouIhofdjRp9+7d8bM/+7Nx6qmnRqvVip//+Z+PiYmJePbZZxu7eJ3TkgIv\nY2NjsWfPnli7dm11rK+vL9asWRNPP/30CeTstU//8i//Ej/yIz9SPeK2c+fOWLFiRSxfvry6Zt26\ndTE5ORm7du2KiIinn366cuqitWvXNi9Q+z/SbbfdFr/8y7+8oKS9c+fO+LEf+7HasXXr1lVy/p//\n+Z+Ynp6u2c1pp50WK1asaOzmVdLU1FQ8/vjj0Wq14rrrrosrr7wyPvShD8U//uM/RsThuTj33HNr\n769Yt25dPP/88zExMdH4sKNMV199dXz729+OV155JWZnZ2Pz5s1x1llnxY/+6I82dvE6pyW152V8\nfDwiFj4jvnz58hgbGzsRLL0u6N/+7d/i/vvvjz/8wz+sjo2Pj6fzEBHVXIyNjaXX7Nmz5xhz/Noj\nZYuXXXZZdUxLR2NjY3H22WfXrl++fHllL3ojtc/FsmXLGrt5lXTgwIHodrvxta99LT71qU/FmjVr\nYtu2bXHrrbfGxo0bF7ULVcwaH3Z06Cd+4ifi0Ucfjfe+973R19cXy5cvj1tvvTUGBwcbu3id05Kq\nvIyMjEREVEsXooMHD8bo6OiJYOk1T9/5znfiE5/4RNxyyy3x0z/909XxkZGRdB4iopqL0dHR9BrN\nY0NHRrt3746/+qu/it///d+vHVcgXEzOJbs5dOhQYzevkiTLSy65JM4777xot9tx0UUXxYUXXhjb\ntm1b1C4aH3b0qNvtxu/+7u/G6aefHlu2bImtW7fGRz/60bjxxhvj6aefbuzidU5LCryMjo7GmWee\nGTt27KiOzc3Nxc6dO2PNmjUnkLPXJj366KPxyU9+Mj7xiU/EW9/61tq5NWvWxPPPP1/70bknn3wy\nhoaG4qyzzqqu4VxFROzYsSPOPffcY8/8a4i2b98eBw4ciN/4jd+Iq666Kq666qqIiPj4xz8ef/zH\nfxxr1qyJ//zP/6zd8+STT1ZyPvvss2NwcLA2F/v37489e/Y0dvMqaXR0NFauXFk8v2bNmvje975X\n+1G9J598MlasWBHDw8ONDzuKdPDgwXj++efjF37hF2LZsmXRbrfjrW99a6xcuTL+9V//Nd785jc3\ndvE6piUFXiIirrzyyvjSl74UzzzzTExNTcV9990X/f39cdFFF51o1l5T9NBDD8Udd9wRn/zkJ+On\nfuqnFpxfv359rFq1Ku66666YmJiIF154ITZt2hSXXXZZDAwMRMThufq7v/u7+O53vxuzs7Px8MMP\nx3PPPRfvete7jvdwTmp6+9vfHn/9138d99xzT9x7771x7733RkTERz/60fj1X//1eNe73hW7du2K\nLVu2xOzsbGzfvj3+/u//vgI5g4ODcckll8R9990Xe/fujfHx8bjrrrvinHPOifPPP/9EDu2kpHe/\n+92xdevWePrpp6Pb7ca2bdti+/btcfHFF8fFF18cfX19sWnTppieno5nnnkmHnzwwWouIhofdrTo\n1FNPjVWrVsXmzZtjfHw8ut1ufOc734n//u//jrVr18Yll1zS2MXrmJbkDzNu2rQp/vZv/zbGx8dj\n7dq1zTsSjgG9/e1vj/7+/gqI6CfgP/3pT1eGvXfv3vjsZz9bveflHe94R1x33XXR3z+/VWrz5s3x\nwAMPxP79+2PVqlXxm7/5m41jOAr0jne8I26//fbqPS+PPfZY3HnnnbFr1674oR/6oXjf+9634H0W\nf/ZnfxZf//rXq/dZ/M7v/E7zPov/I33xi1+MzZs3x9jYWLzpTW+Ka665Jn7mZ34mIiKeeeaZ2Lhx\nYzz11FMxOjoaV1xxRfzKr/xK7f7Ghx0deu655+Lzn/98PPHEEzE9PR1vfOMb4z3veU+1N6yxi9cv\nLUnw0lBDDTXUUEMNNVSiJbds1FBDDTXUUEMNNdSLGvDSUEMNNdRQQw2dVNSAl4Yaaqihhhpq6KSi\nBrw01FBDDTXUUEMnFTXgpaGGGmqooYYaOqmoAS8NNdRQQw011NBJRQ14aaihhhpqqKGGTipqwEtD\nDTXUUEMNNXRSUQNeGmqooYYaaqihk4r+Fx0NCJyZSn4KAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAF+CAYAAABK7vqLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsnVuIrVtW38dadd+19z6nW1vbToinpbVNG0gjIiHQeWjQ\ndKRJv6gnJoLH9kFIBAk0ShLwKUS8Ym4PgZjupKGjNiFRoYlKOhGRPISEPOTB2wFb1BwxGjx713VX\n1crD4f/V7/vVmKt2m7O3dWQNKNaqtb5vzjHHHJf/GHPOby3+83/+z6va0IY2tKENbWhDG3qL0PJP\nmoENbWhDG9rQhja0oc+HNuBlQxva0IY2tKENvaVoA142tKENbWhDG9rQW4o24GVDG9rQhja0oQ29\npWgDXja0oQ1taEMb2tBbijbgZUMb2tCGNrShDb2laANeNrShDW1oQxva0FuKtv+kGdjQhja0IdN/\n+2//rf7tv/239bnPfa4ePXpUL774Yn3VV31VvfLKK/WlX/qls2t///d/v/7ZP/tn9d//+3+vqqqv\n/uqvru/6ru+qL/qiL/qTYH1DG9rQc6DF5iF1G9rQhu4affazn61f//Vfrz//5/98vfjii/V7v/d7\n9alPfap+//d/v/7Vv/pXEzA5Ozur7/iO76i9vb36ju/4jqqq+vEf//E6OzurH//xH6+9vb0/yWFs\naEMbeka0qbxsaEMbunP0wQ9+sD74wQ/OPvvKr/zK+rZv+7b6xV/8xfqmb/qmqqr62Z/92Xrttdfq\nk5/8ZH3Jl3xJVVV92Zd9WX3rt35r/ezP/mx94zd+43PnfUMb2tCzp82elw1taEMTfeITn6gPfvCD\n9Tu/8zv19/7e36tv+IZvqL/xN/5G/Zt/82/+pFmrhw8fVlXV9vZ1zvVf/+t/rfe9730TcKmqeuc7\n31l/4S/8hfrlX/7l587jhja0oedDG/CyoQ1taKLFYlFVVd/3fd9XX/3VX13/8B/+w/rABz5Qn/jE\nJ+o//sf/eOv9V1dXdXl5eevf09LV1VVdXFzUb//2b9eP/MiP1Bd8wRfMKjK/+Zu/We9+97tv3PfS\nSy/V5z73uafuZ0Mb2tBbizbLRhva0IZmtFgs6pu/+Zvrr/7Vv1pVb2yA/R//43/UZz/72frQhz60\n9t6/9bf+Vv3e7/3ere1/6lOfqi/+4i++lZe//bf/dv3ar/1aVVX92T/7Z+tHfuRH6oUXXpi+f/To\nUd2/f//GfQ8fPqxHjx7d2v6GNrShtyZtwMuGNrShG/SX/tJfmv3/0ksv1auvvnrrff/oH/2jevLk\nydprFotFfeEXfuFT8fH3//7fr+Pj4/rd3/3d+qmf+qn62Mc+Vv/0n/7TGfBJtYi0Wm3OIWxoQ3+a\naQNeNrShDd2gBw8ezP7f3d2t8/PzW+/70i/90qcCDltbW0/Fx5/7c3+uqt7YrPu1X/u19S3f8i31\nqU99qv7u3/27VVV1//79tsLy6NGjG2PY0IY29KeHNuBlQxva0JtGb/ayEen+/fv1Z/7Mn6nf/d3f\nnT576aWX6jd/8zdvXPu5z33uxvNgNrShDf3poQ142dCGNvSm0dMsG1XVUy8bkf7wD/+wfuu3fqu+\n7uu+bvrsL//lv1z/4l/8i3rttdfqne98Z1VVvfbaa/W//tf/qu/8zu/8vPvY0IY29NagDXjZ0IY2\n9KZRd/Lnj0Pf933fV1/+5V9eX/ZlX1aHh4f1W7/1W/Xv/t2/q52dnfrmb/7m6boPf/jD9dM//dP1\nD/7BP6iPfvSjVVX18Y9/vL74i7+4PvzhD78pvGxoQxu6e7QBLxva0IaeirqNsc+K3ve+99V/+S//\npT796U/XkydP6ou+6Ivq/e9/f/3Nv/k3Z8tN+/v79aM/+qP1z//5P6/v//7vr6o3Tkf9nb/zd2p/\nf/+58buhDW3o+dJz/3mAj3/84/WZz3ymjo6O6iu+4ivqu7/7u9+0bG1DG9rQhja0oQ396afn+pC6\nn/iJn6if+7mfqx/6oR+q//Af/kN91Vd9VX3P93xPnZ6ePk82NrShDW1oQxva0FuYnit4+Zmf+Zl6\n+eWX66WXXqrd3d366Ec/WhcXF/VLv/RLz5ONDW1oQxva0IY29Bam5wZejo6O6rXXXqv3vve902db\nW1v1nve8p37jN37jebGxoQ1taEMb2tCG3uL03DbsHh8fV1XdeJT3gwcP6ujoaPbZ1dVV/cEf/EEd\nHBw8102CG9rQhja0oQ1t6I9Pq9WqTk5O6gu+4AtquXx29ZHnBl7u3btXVVWPHz+eff7o0aN6xzve\nMfvsD/7gD2bHITe0oQ1taEMb2tBbh37qp37qRmx/M+m5gZfDw8N65zvfWb/6q79a73vf+6qq6vLy\nsl599dX6+q//+tm1BwcHVfVGVWa1WtXFxUUtl8taLBazSszW1tbs86urq+m75XI5Q32LxaJWq9Xs\nfj/GfLVaTZ/xury/urqaXcN7lstlbW9vz/rJ9bk3f1tbW7W9vV1XV1e1WCym+8xr7uX7jGm5XNb+\n/v409svLy7q4uKhHjx7V2dlZLZfL2tnZmXjIr/kuFotJZmk3beT9crmc+Nza2qrFYlEnJyf1jne8\no05PT+v8/HxqM/NgmSyXy6n97e3tGzI1cW4znsvLy5ncIuP8ZYw7Ozuztra3t2tnZ2eSbeQdfcl8\npI/t7e3a3d2d5HV2dlZHR0d1fn5e5+fndXFxMZvL1Wo16Vrklu+jd1tbW9M1+ezk5OSGnrCNy8vL\nevLkST158qQuLy+ndnJ/rjk+Pp5sJPfyWuob9WZnZ2eSG/U57YTfi4uLma5RB6lv6ZM6nDnjfWw/\n3+fz6Fh0rqomGWQeqcOWacYRim4746N+5l7qG2VGO+cvYNtulstlvf7661OFOOOIvlNXaFsh8h0+\naDe2f/PLMXm+0zbnjDYWvmyT/Nz+trvW8+L7OHbKJfLkq30r2wpfaS/vee35+Xnt7e3NPqMPo93S\npjwexwDPQ3cN/afllu87nUu7FxcXU7vUv9xHGXUy6/TDc2cfG7l04+/G4HHTXsj/YrGox48fTz7q\nWdFzfc7LRz7ykfrJn/zJev/731/vete76pOf/GRtb2/XBz7wgdl1EVqUKw7Xk0LFJFiIY+kAwQi8\nULlHP/TWOQ9/buXolNzOM0HAvIyMhePLa4L7yFnxfzphOqqOfF/+KCcbsOexk+HTUncPAUICHA2d\n4CY6sru7OwWXy8vLWq1W9eTJk8mp5i8y2dnZqcvLy2kOOVdVdcPBE2DRWSbILxaLuri4mDlxO860\nm4DJcRIMdcHZjn4kyw6w+3v2M7rXOtMB7XXJgdthIMnYrF/2AbmH13ftkZeRbbjfbrwOGBw/bYO2\nHD0xeOn8AudvnRy7oEq+o4f5znYffb3NzzkB7K7tEjrL1GP1eLtA7GvYlsdLfiyvUSAe6cg6n8ix\njsYUPm2LTr75mvnq7K6Tka/xtaPPncz7euu9++Q1trNRDHyW9FzBy8svv1wnJyf1sY99rI6Pj+u9\n731v/cAP/MDwYVI0uM6Qkk1X1RSUEpiI+NNWB0BIVH46iJFC+D4DCH5vg2SWFJ67TIQZlPvKfQye\nds527Hw/MiTyNuqTMqZM7HS7PjqDoZwWi3kGb0AWXWDFJNcEzAQgBOCw8rJcLuvi4mIGCMgbATH7\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n4ao6Hdh73vOeeuyxx+qv//qv69atW/We97yn/uRP/qTe8Y53VFXVP/3TP9Wf/umf1pNPPlmveMUr\n6jOf+Uy9+93vro997GM9EOTihaXzkOx0Ou229hK12vhX9Vf5YwjMGM8vIhgIEA4Hp5Donr4hLIna\nc7oEQ2Dj611K7FjwaZQYRyNiG2A7KH5zPw1Y7AgYX9VsYXJmXxL0pfHyeQop4HnKpUtrbYWnHGz8\n6Sdt+RA0QI0X9XktjA2wHYxpx3+568XgtJWKNl+T7ny2MlOHd4w4I5QGgwJvyMh4Nwh8t0EzqDNo\naTlht5V8sqM3wMo1BRkdJ2iyLFleAQAtR+UFlFxrQJj9BtilTLXWayTIyayB19a4eFzwJYEi9yeY\ndXqePqVtMABwew7K8pq835/9asmV7zV/aRv6wSdoZdvG+AyEMwBhHHbAKY/JG4+jtRalBVbzd9Mx\nAY7lN7NKBtxZR+p/ttcChwk60HvT1r7LO1a51g/bddbV4NR6lruyPJbWfeYt11heku9V1bPN1gNv\nIriT5QWBl1/6pV/qPm9sbNTP//zP19vf/vba3d2tzc3N+tKXvlRf//rX64Mf/GD3OPO3ve1t9d73\nvrfe/va319LSUn3605+u173udfXKV76yqqre+MY31mc/+9n63Oc+V295y1ua7bYMgQU6jUtGjr43\n10AYoFA3bZpJBg6tlHc6ZYyT029uk/9b24xzxbvHjcCxABaDnQ4Sh+6xI7wZuVrBWEvje71+Ip0a\n73Y6VtCq2XQH91uZE0w508Hv5o0fBuh1IozdO3EWFha63RPmqfts5z0vEvc9KYcGfa1oMh2vr2WM\nHGtuGaG/8MzPVXHmKI0+BivPu+F/t8v/KSMeg/nu7BfGNcH3wsLCGf6lniRgSll0n1dWVmo4HDbr\n8Hdkx2c9uWSgwhgTuFl27dSwEwYm9Jext6bj3F+AF+DYU66mQwKmzOzNk8+83nRuBS7p+BkrMkt2\nmN1uDsxa/HNb2YaBi51a9inlrxUEQp/ceZT3tQCb+8I4LE8t0JNjSz6krJlX+Tnf+ewx2neZl7Tl\n8WVgwhjgpe1h2lMvN2jJF3W5zvzs8cM/9+tulP+nNS9f+MIX6tq1a7W5uVlVVU899VTdf//9tbW1\n1V3z8pe/vPb39+vrX/96Pfzww/W1r32tXv/61/fqefzxx+vf//3fb9uWlaWVNqa0hCSRc/5v5cPA\n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\nrs0AwDrov63jXLu0tNSsWfO0NFNFZMj8bftMkLu6ulbFXF1dbd7Ua72ifa/7MHiwP0zKhMVB1Lpj\nwOTpF99r2XSBA8skK7OuvGTfkEvauXUikwXrY67b8/dZTTL4AxzbX/E93zET4CMtnDSkTZi/1iva\ny/VHBh/mq59D3zi+wImc1xUmb5GPk+sEt9yTANHjSp/l2Iw+uNJ8NGldgpfM8J+NvFVsPdFwOHzG\n7x966KH/V/tf+9rX/l/3P1d69NFHj+nzehpN+/fvP95d6Ol/6a/+6q+Odxd6+l96/PHHj3cXevpf\nmp+fr9nZ2aPW/uCv//qvjy48+j/QyspKPf74402puqeeeuqpp556Wv9E1fCbvumbnnUt2f+H1mXl\nZWxsrE477bTj3Y2eeuqpp5566uk50tGsuEDHZk9TTz311FNPPfXU0xGiHrz01FNPPfXUU08nFPXg\npaeeeuqpp556OqFoXa55uf322+vP/uzPam5url7+8pfXz/3cz9U555xzvLv1vKJbb721/uEf/qEe\nffTR2rhxY51//vn11re+tbXW6LHHHqubbrqp9uzZU5OTk/XqV7+6rrnmmtaZKXfeeWf9yZ/8Sf33\nf/93bd26ta655po6//zzj8eQnjf0K7/yK3X33XfXb/7mb9Z3fdd3VVXVv/7rv9Ytt9xS+/fvr1NP\nPbWuvPLKuuyyy5p7nn766br55pvrs5/9bC0tLdUFF1xQP//zP9+vHfs/0j333FN/8Ad/UPfdd1+N\njY3V2WefXb/zO79TVVX79u2rD37wg/WlL32pZmdn6/Wvf339+I//eOv+3ocdGfra175Wv/u7v1v/\n8i//UktLS7V169b6qZ/6qbrggguqqreLFzKtu8rLxz72sdq9e3e9//3vr507d9Z3fMd31LXXXlsH\nDx483l17XtFgMKjrrruu7rrrrtqxY0cNBoO6/vrrm+9XV1frXe96V5188sn1iU98on7/93+/9uzZ\nUx/60Ieaaz772c/WH/7hH9b1119fn/zkJ+uSSy6p6667rr7yla8cjyE9L2j37t3N22KhRx55pN71\nrnfV61//+vrkJz9Z1157bX34wx+uz33uc801N998c33xi1+sW2+9te64446anZ2tG2644XgM4YSn\ne+65p6677rq65JJL6s4776y77rqrrrnmmqo6tP3zne98Z51//vm1a9euuvHGG+tTn/pUfeITn2ju\n733YkaMPfOAD9dWvfrV27NhRd911V1100UV1/fXX14EDB3q7eIHTugMvu3btqiuvvLLOPvvsmpyc\nrDe/+c21tLRUf/d3f3e8u/a8op/8yZ+sc889t8bHx2tmZqbe9KY31b//+783byrds2dP7d+/v97+\n9rfXxo0b68UvfnG9+c1vrk996lPN+Tu7du2qSy65pF7xilfU+Ph4XXHFFXXmmWfW7t27j+fQTlj6\nyle+Urfffntde+21rQOedu/eXWeddVZddtllNT4+XhdccEFdcskltXPnzqo6dGrx7t276y1veUud\ndtpptXHjxnr7299eDzzwQH3hC184XsM5YenDH/5wXXrppfX93//9zesizjvvvKqq+pu/+ZtaWVmp\nn/iJn6iTTjqpzjnnnLryyisbWVT1PuxI0kMPPVTf933fV5s3b67BYFA/+IM/WPPz8/Vf//VfvV28\nwGldgZe5ubl65JFHavv27c1n4+PjtW3btrr//vuPY8+e//SP//iP9S3f8i3NFrd9+/bVli1batOm\nTc015513Xh08eLA5IO3+++9vnDq0ffv2+vKXv3zsOv48ohtvvLF+9Ed/9LCS9r59++rbvu3bWp+d\nd955DZ//8z//sxYXF1t2c/LJJ9eWLVt6u3mOtLCwUF/84hdrMBjU2972trr88svrrW99a/3t3/5t\nVR2Sxbnnnts6v+K8886rhx9+uObn53sfdoTpqquuqs997nP1xBNP1NLSUu3cubPOPPPM+tZv/dbe\nLl7gtK7WvHAibe4R37Rp0zF7zfYLkf75n/+5PvKRj9Sv/uqvNp8Nh8NOOVStvfJ8bm6u85pHHnnk\nKPf4+Udki5deemnzGVNHc3NzddZZZ7Wu37RpU2MvnEidspidne3t5jnSk08+Waurq/WXf/mX9Wu/\n9mu1bdu2uvvuu+u9731v3XTTTc9qF1TMeh92ZOg7v/M769Of/nT98A//cI2Pj9emTZvqve99b01O\nTvZ28QKndVV5mZ6erqpqpi6gp556qmZmZo5Hl5739PnPf77e85731A033FDf8z3f03w+PT3dKYeq\namQxMzPTeQ1y7Okbo4ceeqj+6I/+qH75l3+59TmB8Nn4PMpuDhw40NvNcyR4efHFF9fLX/7yGhsb\nqwsvvLBe+cpX1t133/2sdtH7sCNHq6ur9Yu/+It16qmn1q5du2r37t31jne8o975znfW/fff39vF\nC5zWFXiZmZmp008/ve67777ms+Xl5dq3b19t27btOPbs+Umf/vSn633ve1+95z3vqVe96lWt77Zt\n21YPP/xw45irqu69996ampqqM888s7nGsqqquu++++rcc889+p1/HtHevXvrySefrJ/5mZ+pK664\noq644oqqqnr3u99dv/Vbv1Xbtm2rf/u3f2vdc++99zZ8Puuss2pycrIli69//ev1yCOP9HbzHGlm\nZqbOOOOMkd9v27atvvzlL7deqnjvvffWli1bauPGjb0PO4L01FNP1cMPP1w/9EM/VLOzszU2Nlav\netWr6owzzqh/+qd/qpe97GW9XbyAaV2Bl6qqyy+/vD7+8Y/XAw88UAsLC3X77bfXxMREXXjhhce7\na88ruvPOO+uDH/xgve9976vv/u7vPuz7888/v7Zu3Vq33HJLzc/P16OPPlo7duyoSy+9tE466aSq\nOiSrP//zP68vfOELtbS0VHfddVc9+OCD9brXve5YD+eEpte85jX1x3/8x3XrrbfWbbfdVrfddltV\nVb3jHe+on/7pn67Xve51tX///tq1a1ctLS3V3r176y/+4i8akDM5OVkXX3xx3X777fXYY4/VcDis\nW265pc4+++x6xStecTyHdkLSG97whtq9e3fdf//9tbq6WnfffXft3bu3LrroorroootqfHy8duzY\nUYuLi/XAAw/UHXfc0ciiqvdhR4o2b95cW7durZ07d9ZwOKzV1dX6/Oc/X//xH/9R27dvr4svvri3\nixcwrcsXM+7YsaP+9E//tIbDYW3fvr0/I+Eo0Gte85qamJhogAivO//1X//1xrAfe+yx+sAHPtCc\n8/La17623va2tzWvuK86tFbjYx/7WH3961+vrVu31s/+7M/2juEI0Gtf+9p6//vf35zzsmfPnrr5\n5ptr//799aIXvaje9KY3HXaexe/93u/VZz7zmeY8i1/4hV/oz7P4P9JHP/rR2rlzZ83NzdVLXvKS\nuvrqq+t7v/d7q6rqgQceqJtuuqm+9KUv1czMTF122WX1Yz/2Y637ex92ZOjBBx+sD33oQ3XPPffU\n4uJivfjFL643vvGNzdqw3i5euLQuwUtPPfXUU0899dTTKFp300Y99dRTTz311FNPz0Q9eOmpp556\n6qmnnk4o6sFLTz311FNPPfV0QlEPXnrqqaeeeuqppxOKevDSU0899dRTTz2dUNSDl5566qmnnnrq\n6YTiEn4wAAAAL0lEQVSiHrz01FNPPfXUU08nFPXgpaeeeuqpp556OqGoBy899dRTTz311NMJRf8D\nArn7SxDrFVkAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for i in [5, 10, 15, 20, 30, 50]:\n", + " reconstimg = np.matrix(U[:, :i]) * np.diag(D[:i]) * np.matrix(V[:i, :])\n", + " plt.imshow(reconstimg, cmap='gray')\n", + " title = \"n = %s\" % i\n", + " plt.title(title)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Whaou! Even with 50 components, the quality of the image is not bad!\n", + "\n", + "# Conclusion\n", + "\n", + "I like this chapter on the SVD because it uses what we have learned so far in a concrete application. The next chapter on the pseudo-inverse is quite cool as well so keep on reading! We will see how to find a near-solution of a system of equation that minimizes the error and at the end we will see an example that uses the pseudo-inverse to find the best fit line of a set of data points." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# References\n", + "\n", + "## Drawing a circle with Matplotlib\n", + "\n", + "- https://stackoverflow.com/questions/32092899/plot-equation-showing-a-circle\n", + "\n", + "## Rotation matrix\n", + "\n", + "- https://en.wikipedia.org/wiki/Rotation_matrix)\n", + "\n", + "## Basis vectors\n", + "\n", + "- https://en.wikipedia.org/wiki/Basis_(linear_algebra)\n", + "\n", + "## Linear transformation\n", + "\n", + "- [Aran Glancy - Linear transformation and matrices](https://www.youtube.com/watch?v=kJIUbtSowRg)\n", + "\n", + "## SVD\n", + "\n", + "- [Singular Value Decomposition - Wikipedia](https://en.wikipedia.org/wiki/Singular-value_decomposition)\n", + "\n", + "- [Professor-svd](https://fr.mathworks.com/company/newsletters/articles/professor-svd.html)\n", + "\n", + "- [Intoli - PCA and SVD](https://intoli.com/blog/pca-and-svd/)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy SVD doc](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.svd.html)\n", + "\n", + "## Image processing\n", + "\n", + "- [Frank Cleary - SVD of an image](https://www.frankcleary.com/svdimage/)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 10)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,1,6]\n", + "v = [0,0,4,2]\n", + "u_bis = [u[2], u[3], v[2],v[3]]\n", + "w = [u[0]+v[0], u[1]+v[1], u[2]+v[2], u[3]+v[3]]\n", + "\n", + "plotVectors([u, u_bis, w], ['red', 'green', 'blue'])\n", + "plt.xlim(0, 10)\n", + "plt.ylim(0, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "hide_code_all_hidden": false, + "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.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.08 Singular Value Decomposition/2.8 Singular Value Decomposition.ipynb b/Chapters/2.08 Singular Value Decomposition/2.8 Singular Value Decomposition.ipynb new file mode 100644 index 0000000..9d1c150 --- /dev/null +++ b/Chapters/2.08 Singular Value Decomposition/2.8 Singular Value Decomposition.ipynb @@ -0,0 +1,1933 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/lsp/.virtualenvs/kaggle/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n", + " warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)\n", + "# Avoid inaccurate floating values (for inverse matrices in dot product for instance)\n", + "# See https://stackoverflow.com/questions/24537791/numpy-matrix-inversion-rounding-errors\n", + "np.set_printoptions(suppress=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "IPython.OutputArea.prototype._should_scroll = function(lines) {\n", + " return false;\n", + "}" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%javascript\n", + "IPython.OutputArea.prototype._should_scroll = function(lines) {\n", + " return false;\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "The last chapter was a lot of fun! This one will be a bit less heavy. We will see another way to decompose matrices: the Singular Value Decomposition or SVD. Since the beginning of this series, I emphasized the fact that you can see matrices as linear transformation in space. With the SVD, you decompose a matrix in three other matrices. You can see these new matrices as *sub-transformations* of the space. Instead of doing the transformation in one movement, we decompose it in three movements. As a bonus, we will apply the SVD to image processing. We will see the effect of SVD on an image of Lucy the goose (it is just a goose named Lucy...) so keep on reading!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# 2.8 Singular Value Decomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "\n", + "The unit circle and its transformation by a matrix.\n", + "\n", + "We saw in [2.7](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.7-Eigendecomposition/) that the eigendecomposition can be done only for square matrices. The way to go to decompose other types of matrices that can't be decomposed with eigendecomposition is to use **Singular Value Decomposition** (SVD).\n", + "\n", + "We will decompose $\\bs{A}$ into 3 matrices (instead of two with eigendecomposition):\n", + "\n", + "\n", + "The singular value decomposition\n", + "\n", + "The matrices $\\bs{U}$, $\\bs{D}$, and $\\bs{V}$ have the following properties:\n", + "\n", + "- $\\bs{U}$ and $\\bs{V}$ are orthogonal matrices ($\\bs{U}^\\text{T}=\\bs{U}^{-1}$ and $\\bs{V}^\\text{T}=\\bs{V}^{-1}$; see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/) for more details about orthogonal matrices)\n", + "\n", + "- $\\bs{D}$ is a diagonal matrix (all 0 except the diagonal ; see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)). However $\\bs{D}$ is not necessarily square.\n", + "\n", + "The columns of $\\bs{U}$ are called the left-singular vectors of $\\bs{A}$ while the columns of $\\bs{V}$ are the right-singular vectors of $\\bs{A}$. The values along the diagonal of $\\bs{D}$ are the singular values of $\\bs{A}$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "Here are the dimensions of the factorization:\n", + "\n", + "\n", + "The dimensions of the singular value decomposition\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The diagonal matrix of singular values is not square but have the shape of $\\bs{A}$. Look at the example provided in the [Numpy doc](https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.svd.html) to see that they create a matrix of zeros with the same shape as $\\bs{A}$ and fill it with the singular values:\n", + "\n", + "```python\n", + "smat = np.zeros((9, 6), dtype=complex)\n", + "smat[:6, :6] = np.diag(s)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# Intuition\n", + "\n", + "I think that the intuition behind the singular value decomposition needs some explanations about the idea of matrix transformation. For that reason, here are several examples showing how the space can be transformed by 2D square matrices. Hopefully, this will lead to a better understanding of this statement: $\\bs{A}$ is a matrix that can be seen as a linear transformation. This transformation can be decomposed in three sub-transformations: 1. rotation, 2. re-scaling, 3. rotation. These three steps correspond to the three matrices $\\bs{U}$, $\\bs{D}$, and $\\bs{V}$.\n", + "\n", + "\n", + " $\\bs{A}$ is a matrix that can be seen as a linear transformation. This transformation can be decomposed in three sub-transformations: 1. rotation, 2. re-scaling, 3. rotation. These three steps correspond to the three matrices $\\bs{U}$, $\\bs{D}$, and $\\bs{V}$.\n", + "\n", + "\n", + "You can look at [this animation](https://en.wikipedia.org/wiki/Singular-value_decomposition) from the Wikipedia article on the SVD. If you scroll down the page you will see each step.\n", + "\n", + "### Every matrix can be seen as a linear transformation\n", + "\n", + "You can see a matrix as a specific linear transformation. When you *apply* this matrix to a vector or to another matrix you will apply this linear transformation to it.\n", + "\n", + "### Example 1.\n", + "\n", + "We will modify the vector:\n", + "\n", + "$$\n", + "\\bs{v}=\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "by applying the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We will have:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2x + 0y\\\\\\\\\n", + " 0x + 2y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We see that applying the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "just doubled each coordinate of our vector. Here are the graphical representation of $\\bs{v}$ and its transformation $\\bs{w}$:\n", + "\n", + "\n", + "Applying the matrix on the vector multiplied each coordinate by two\n", + "\n", + "You can look at other examples of simple transformations on vectors and unit circle in [this video](https://www.youtube.com/watch?v=kJIUbtSowRg).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 2.\n", + "\n", + "To represent the linear transformation associated with matrices we can also draw the unit circle and see how a matrix can transform it (see the BONUS in [2.7](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.7-Eigendecomposition/)). The unit circle represents the coordinates of every unit vectors (vector of length 1, see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)).\n", + "\n", + "\n", + "The unit circle\n", + "\n", + "It is then possible to apply a matrix to all these unit vectors to see the kind of deformation it will produce.\n", + "\n", + "Again, let's apply the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "to the unit circle:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 2x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "\n", + "Another representation of the effect of the matrix: each coordinate of the unit circle was multiplied by two\n", + "\n", + "We can see that the matrix doubled the size of the circle. But in some transformations, the change applied to the $x$ coordinate is different from the change applied to the $y$ coordinate. Let's see what it means graphically." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 3.\n", + "\n", + "We will apply the matrix:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " 3 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "to the unit circle:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 3 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\\cdot\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 3x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This gives the following new circle:\n", + "\n", + "\n", + "This time the matrix didn't rescale each coordinate with the same weight\n", + "\n", + "We can check that with the equations associated with this matrix transformation. Let's say that the coordinates of the new circle (after transformation) are $x'$ and $y'$. The relation between the old coordinates ($x$, $y$) and the new coordinates ($x'$, $y'$) is:\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " 3x\\\\\\\\\n", + " 2y\n", + "\\end{bmatrix}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "x=\\frac{x'}{3}\\\\\\\\\n", + "y=\\frac{y'}{2}\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We also know that the equation of the unit circle is $x^2+y^2=1$ (the norm of the unit vectors is 1, see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)). By replacement we end up with:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\left(\\frac{x'}{3}\\right)^2 + \\left(\\frac{y'}{2}\\right)^2 = 1\\\\\\\\\n", + "\\left(\\frac{y'}{2}\\right)^2 = 1 - \\left(\\frac{x'}{3}\\right)^2\\\\\\\\\n", + "\\frac{y'}{2} = \\sqrt{1 - \\left(\\frac{x'}{3}\\right)^2}\\\\\\\\\n", + "y' = 2\\sqrt{1 - \\left(\\frac{x'}{3}\\right)^2}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "We can check that this equation corresponds to our transformed circle. Let's start by drawing the old circle. Its equation is:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "x^2+y^2=1\\\\\\\\\n", + "y^2=1-x^2\\\\\\\\\n", + "y=\\sqrt{1-x^2}\n", + "\\end{align*}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAAECCAYAAADgsVLgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0XOV9//H3HY12abQvtuRFlqXHu/HO4gWDwezYhYSS\nhFCWJKVNc0rP6UJ/TU/Sk7RpEyjQk6RNgYSGlrAHwl6WADbGxrtlW48XyRKytVn7SBrN+vtjJKo4\n1uI7M7pXo+/rHB9bczV3Pr4z+uiuzzVCoRBCCHGhHFYHEEJMTlIeQghTpDyEEKZIeQghTJHyEEKY\nIuUhhDDFGcmTlVJrgB9orTee8/j9wD1Ay+BD39BaH4/ktYQQ9mK6PJRSfwncAbjPM3k5cIfWep/Z\n+Qsh7C2SzZYTwNYRpq0AHlBKfaSU+psIXkMIYVOmy0Nr/RLgH2Hy08AfAxuBtUqp68y+jhDCnmK1\nw/QRrXW71toPvAYsi9HrCCEsEtEO00HG8C+UUi6gSik1D+gHrgAeH2smoVAoZBjGWN8mhIg+Uz94\n0SiPEIBS6nYgXWv9mFLqAeC3gAd4V2v95lgzMQyD1taeKMSJnoKCTMk0TnbMJZnGp6Ag09TzDBtd\nVRuy40KVTONjx1ySaXwKCjJNrXnISWJCCFOkPIQQpkh5CCFMkfIQQpgi5SGEMEXKQwhhipSHEMIU\nKQ8hhClSHkIIU6Q8hBCmSHkIIUyR8hBCmCLlIYQwRcpDCGGKlIcQwhQpDyGEKVIeQghTpDyEEKZI\neQghTJHyEEKYIuUhhDBFykMIYYqUhxDCFCkPIYQpUh5CCFOkPIQQpkh5CCFMkfIQQpgi5SGEMCWi\n8lBKrVFKvX+ex29USu1SSm1XSt0byWsIIezJdHkopf4S+E8g+ZzHncBDwCbgcuDrSqnCCDIKIWwo\nkjWPE8DW8zw+Hziute7WWvuAbcC6CF5HCGFDpstDa/0S4D/PJBfQNezrHiDL7OsIewoGQ3h9AQa8\nAfoH/Lj7fXh9AUKhkNXRxARxxmCe3YQLZEgm0BmD1xEx0t3r5XSrm9YuD+3dHtq6PLT3DNDT56N/\nwEevx4/HGzjvcw0gKSmBlMQEMlITycpIIis9mezMJPKzUpmWm0ZxXhpZ6UkYhjGx/zERVdEoj3M/\nAUeBuUqpbKAPWA/8cDwzKijIjEKc6Ir3TB3dHo6caqf6VDu1Z7qoa+yh0z1w3u9NT3GSnprI9PwM\n0lKdJDkTMAxwOAwchoEvEMQzEC4Wz4Cfrl4vp8/2nndeaSlOZhW7ULNyqJyRQ8XMbIpy06JeKPH+\n/lkpGuURAlBK3Q6ka60fU0r9BfA24WJ5TGvdOJ4Ztbb2RCFO9BQUZMZdpj6Pj6radg7VtHH8sy5a\nOvt/Z3p+VgoXzc2npCCdwpxU8l0p5GalkJuZQqJz5K3ckXJ5fQG6er109AzQ2tlPU3sfTW19nGnr\npbqunaOn2j//3uyMJBbMzmXh7FwWzM4hKyP59+Z3IeLx/YsFs2Vm2GgbNWTHhRoPmdq6POyqbubA\niTZONHQRHHzP05KdzC3NoqI0i7klWcwsyiQ12dzvEzO5BrwB6pp7qDnTTU1jN7q+g54+3+fTZxdn\nsnJeIStVAYU5aROSKdZsmsnU6l4s9nkIG3D3+/i0uoWdh5s41hDef20Ac6a7WFyex9LyfGYUZeCw\ncL9DclIClTOyqZyRDUAwFKKhxc3hU+0crm1H13dyqqmH5397kpmFGVy8sJhLFxfjSkuyLLP4P1Ie\ncSQUClFzppv39p7m0+oW/IEgBjBvZjZrFhSxrLLA1j94DsNgZlEmM4syuXbNLNz9PvYdb2WPbuVw\nbTvPvn+CFz44ybKKfNYvnc6CslxLy2+qk/KIA/5AkF1Hm3n708+ob3YDUJSbxvql01gzv4hcV4rF\nCc3JSE1k3ZLprFsyHXe/jx2Hm/jwwBl261Z261am5aWxefVMLllYRKIzweq4U47s8xiFTbdPP8/k\n8wfYdqiJNz6p42yXB4dhsKwin43LS5g/K2dCD4VO1LIKhULUNvbw/t4GPjnSTCAYwpWexKYVpVy5\novR39tnY/f2zC9nnMYUEgkE+OtDIy9tr6XJ7cSY4uGJ5CdesmUl+VqrV8WLKMAzmTHcxZ/oC/mBD\nOe/s/ozf7j/Nix/W8Pann3HDJbPYuLxE1kQmgKx5jMJuvyVCoRC1Lb08/koVjW19JCU6uGJ5KZtX\nzYj4sGakrFxW/QN+/nf3Z7y1q57+gQA5mclsXTeHmzdW0NbmtiTTSOz2mQLzax5SHqOw0xvd2NbL\nL9/SVNd3Yhiwful0bl5bRrbFpTHEDsvK3e/jjU/qeHdPA15/EDUrh9s2ljO72DX2kyeIHZbTuaQ8\nYsAOb7TXF+C1HXW8/kkdgWCIlfOL2HLZbKbnp1ua61x2WFZD2rs9PPPeCT6tbsEANiwr4dYN5aSl\nWL+VbqflNETKIwasfqOPfdbJE68fpaWjn5zMZL58VSWbL5tjuw8fWL+szudMp4efPH+AM2d7yXUl\nc9e181lYlmtpJjsuJ9lhGkf8gSAvb6vl9U/qALh61QxuXltm+uzPqWppRQHfuWsVr++o4zcfn+LB\nZ/az4aLpfHHjXFmWUSBL0GYa23r52StHqGvuIT8rha/duICK0myrY01azgQHN60tY+ncfB5/7Qgf\n7D9DdV0H921ZxMyi+LhAzSoyhqmN7K5u4R+e3E1dcw9rF0/ju3evluKIklnFmfz9H63imjUzae7o\n5/u/3MMH+0/L+CMRkDUPGwgEg7z4YQ1vfFJPUqKDb9y0kDULiqyOFXecCQ6+uHEulTOyefzVIzz5\npuZ4Qxd3XjNv1CuGxfnJErNY/4Cfh587yBuf1FOUk8rffXWlFEeMXTQ3n+/ctZqyaS4+rmrih0/v\no7vXa3WsSUfKw0IdPQP801N7OVzbzpLyPL5950pKCzKsjjUl5GWl8DdfXsaaBUWcON3F9/5rN6db\n7XVCmd1JeVikocXN9/5rNw2tbjYuL+FbtywhLSXR6lhTSqIzga/fuIAta8s42+XhH5/ay4mGrrGf\nKAApD0vUnOnmB/+9l46eAb6wsZyvXFWJwyGXllvBMAxuWlvG125YwIA3wI+e2cfhYaObiZFJeUyw\nE6e7ePCZffR7/XzthgVcu2aWDARsA5csKuZP/2ARwSA88twB9h5rtTqS7Ul5TKBjn3Xy4DP7GfAG\n+cZNC7lkUbHVkcQwyyoK+PMvLCHB4eCnv67iwImzVkeyNSmPCVLX1MPDzx3A7w9y35aFrJ4vR1Ts\naMHsXO7/4lISHAY/fqnqdwZoFr9LymMCNLf38dCz+xnwBvj6TQtZIXfftLXKGdl885bFQIhHXzjE\nidOyE/V8pDxirKNngAef2U9Pn487NitWzZPimAwWleVx382L8PmDPPr8QZo7+qyOZDtSHjHk9QV4\n9IWDnO3ysHVdGZcvK7E6krgAyyoLuGNzJe5+Hw8/d5Bej2/sJ00hUh4xEgqF+Pkb1dQ19bB2yTRu\nuHS21ZGECRsuCg/v2Nzex49fPIQ/ELQ6km1IecTI65/UsfNIM3NLsrjjaiWHYyexWy8vZ0VlAdX1\nnTz73gmr49iGlEcMHDnVzosf1JCTmcyf/sFiuehqknMYBvfesICS/HTe2dPAp9UtVkeyBflUR1l3\nr5f//M0RHA6DP926mKx0+95kSYxfclIC921ZRHJiAj9//ShN7bIDVcojioKhEI+/dpSuXi+3bChn\nznT7DLwrIjc9P507r1V4vAH+/ddVU37/h5RHFL27u4FDNW0sKsvl6tUzrI4jYuDiBcWsWzKN+hY3\nv9l+yuo4lpLyiJKWjj5e+OAkGamJ3HPDArmHahz7wysryHOl8NqOOmobu62OYxnTI4kppQzgJ8BS\nwAPcq7WuGTb9EeBSYGio6Ju11vYaNjpKQqEQv3ijGq8/yF3XzZf9HHEuNdnJ3dfP54dP7+OxV4/w\nnbtWT8md4pH8j7cAyVrrS4EHgIfOmb4c2Ky1vmLwT1wWB8CHB85QXd/JRXPzWT1fziCdCubPyuHK\n5aU0tvXx1q56q+NYIpLyWAu8CaC13gmsHJowuFZSAfxMKbVNKXVXRCltzN3v4/nfniQ1OYE7Nsv5\nHFPJ1vVzcKUn8erHpzjb1W91nAkXSXm4gOFXDPmVUkPzSwceBb4CXAP8iVJqUQSvZVsvf1RLr8fP\nTZeVkZNpj1s/iomRluLkto1z8fqD/OrdqXfyWCSjp3cDw2984dBaDx276gMe1Vp7AJRS7xHeN1I1\n2gwLCux3H43RMtU1dfP+/tOUFKRz2+b5E7bda8flBPbMFetMN16ewcdHmtl7rJUzHR6WVhZYnmmi\nRFIe24EbgOeVUhcDh4ZNqwR+pZRaNvgaa4FfjDVDG96Gb9RM//7CAYLBELduKKezo9cWmaxix1wT\nlemW9WUcrmnj8VcO8XdfXTnqpqtdl5MZkfyqfAkYUEptBx4E7ldK3a+UukFrXQ08BewE3gee1Fof\njeC1bOd4QydVNe3Mn5XDkvI8q+MIC80udrFqXiG1jT1TavhC02seWusQcN85Dx8bNv1HwI/Mzt/u\nfv1RLQBb1pXJTlLB1vVz2KNbefHDGpZVFEyJAa2n3sHpKDj2WSdH6zpYODtHbgcpACjOTeOyxcU0\ntvWxZ4qsfUh5mPDqjlMA3LxujqU5hL1ce/EsDMLDMUyFe+BKeVygM2d7qappp7I0i7klWVbHETZS\nnJvGclVAXVMP1fWdVseJOSmPC/TO7s8AuGqVXPgmft81a2YC8ObO+D/rVMrjArj7fXxc1UR+VgrL\nKsY+ni+mnvLp4TXSqpo2znbG91mnUh4XYMfhJrz+IFcsL50Se9OFORsumk4I+PBgo9VRYkrK4wJs\nP9RIgsPgUrnTmxjFynmFpCY72XbwDIFg/A4YJOUxTvXNPdQ3u1k8Jw+XXHIvRpGcmMAlC4vodHup\nqonfO85JeYzTx1VNAFy2eJrFScRkMHQf4ngeLFnKYxxCoRB7dAupyU6WzpVT0cXY5kxzkedKZt/x\nVnz++Nx0kfIYh/pmN23dAyydm4czQRaZGJthGKyaV0T/QIDDtfG56SI/CeMwdLHTcjk8Ky7AysH7\nEu85Fp+bLlIe47Dv+FmcCQ4Wzcm1OoqYRGZPyyQzLZHDte1xebq6lMcYunq9NLS6UTOzSUmKZPgT\nMdU4DIOFs3PpdHs5fXZixnuZSFIeY9D1HQDMmylXz4oLt7AsvLYaj4dspTzGUF03WB6zcixOIiaj\nofKoHvwlFE+kPMZQXd9JSlICs4vjY9xJMbGyM5LJz0qh5kx33O33kPIYRW+/j6b2PsqmuUhwyKIS\n5syZ7sLd76Mlzi6Uk5+IUdScDt9ZQtY6RCTKp4fHfak5HV+3ppTyGMXJ0+EBXWZJeYgIlE13AVDb\nJOUxZZxsCK95SHmISEzPSwegsa3P4iTRJeUxioZWN84EBwXZqVZHEZNYWoqT7IwkGtvi61wPKY8R\nhEIhGlvdFOak4pBbK4gITctLp717gP4Bv9VRokbKYwS9Hj+9Hj+FstYhomBaXhoAZ1rdFieJHimP\nETR3hLdPC3OkPETkcl0pALR1eyxOEj1SHiPo7PECkCt3vhdRkJMR/hy1dUl5xL2evnB5ZMqQgyIK\nsgd/CbVLecS/7sHycKVJeYjIZWeEP0cdPVIeca+n1wdAZlqixUlEPEhNDg/n0O+Jn6MtpgeoUEoZ\nwE+ApYAHuFdrXTNs+teArwM+4Pta69cizDqhPN7wm5ySLGN4iMglJyYA0CeHagHYAiRrrS8FHgAe\nGpqglCoC/gy4BLgG+Cel1KT6Fe4LhAetTZQxS0UUJCeFy0PO8whbC7wJoLXeCawcNm01sE1r7dda\ndwPHgSURvNaE8wfCl08nOqU8ROQchkFyYsLna7TxIJKfDBfQNexrv1LKMcI0NzCpbinfPng8XtY8\nRLQEQyG63F6rY0RNJBv03cDwK8YcWuvgsGmuYdMygc6xZlhQYJ8L0Ia2TfPzM2y338NOy2k4O+ay\nU6ZgMES/x2erTJGI5KdiO3AD8LxS6mLg0LBpu4DvKaWSgFRgHlA11gxbW3siiBNd0/PSaenop7ml\nm7QU++yuKSjItNVyGmLHXHbLlOh0UJibZqtMYL5gIymPl4CrlFLbB7++Syl1P3Bca/2qUupRYBtg\nAH+rtZ5U62vOwX0dvkB8DR0nrBEKhfD5g58fdYkHpstDax0C7jvn4WPDpj8OPG52/lYb2tfh8wcs\nTiLigT8QJBAM2W4TOBKyN3AESYnhReP1xed9RsXE8njDv4RSpTziX0ZqeD+Hu99ncRIRD6Q8ppCh\na1q6eyfVrhphUz194V9Crji60FLKYwSZ6eE1jx5Z8xBR0NEzAEBeVvyMDyPlMYKhNY8u94DFSUQ8\nGLqaNi8rxeIk0SPlMYKhQY9b4+xGPcIaHYO/hIZGFIsHUh4jyHUl40ww4u4uX8IarR3hz1Hx4Fim\n8UDKYwQJDgdFuWm0dEh5iMg1tvWRkpQgax5TxbT8DHr6fPR6ZKepMC8QDNLU3se0vHSMOLqNh5TH\nKIZuE1jfZK9rEcTk0trpIRAMMT2ONllAymNU5SXZANQ1x8+9NsTEOzV4j9rSwgyLk0SXlMcoykvD\nQ5CcirMbFIuJVXMm/Pkpnz6phrQZk5THKIpy00hPcVLbKOUhzKs5002Cw2Bmkax5TBmGYVBRmk1r\np+fzkcWEuBA+f4D65h5mFGaQFEeX44OUx5jmzQzv9zha12FxEjEZnWjowh8IUVGabXWUqJPyGMO8\nWTkAVNdLeYgLV1XbDsCiObkWJ4k+KY8xlBZmkJGayJFTHYRCMqqYuDCHa9txJjionCFrHlOOwzBY\nPCePjp4BTsn5HuICdLkHqG9xUzkjK66GHxwi5TEOyyvzAdh3vNXiJGIy2Xss/HlZUp5vcZLYkPIY\nh0VleSQ6Hew9dtbqKGIS+bS6BYBV8wotThIbUh7jkJyUwKKyXM6c7aWhVc42FWPrcg+g6zupKM0i\nJzPZ6jgxIeUxTpcsLAbg40NNFicRk8Gn1S2EgJVxutYBUh7jtnRuPukpTj4+3EQgKCOqi5GFQiE+\nPHCGBIfB6vlFVseJGSmPcUp0Oli9oIjuXi+HatqtjiNsrKaxm4bWXpZV5JMVRwMen0vK4wKsWzIN\ngN/uO21xEmFnH+4/A8CGi0osThJbUh4XYHaxi7klWRw82UZjW6/VcYQNuft97DzaTH5WCvNn51gd\nJ6akPC7QVatmAPDO7gaLkwg7em9vA15fkE0rZ+CIo1HDzkfK4wItr8wnz5XM9qpGevrkhlDi/wz4\nAryzu4H0FCfrl06zOk7MSXlcoASHg6tWzcTrC/LWrs+sjiNsZPuhRtz9PjYuLyElKX5uKzkSU/9D\npVQK8BRQCHQDd2qt2875npeBXMAH9Gutr48wq21cftF03vikjnf3NHD16hmf3yBKTF1eX4DXdtSR\n6HRw5YoZVseZEGbXPO4DDmqt1wO/BL59nu+Zq7Vep7W+Ip6KAyApMYHrLpnFgC/AWzvrrY4jbOC9\nvafp6Blg08rSuD48O5zZ8lgLvDn47zeATcMnKqUKgWyl1CtKqQ+VUnFVHhBe+8jOSOLdPQ0yytgU\n1+fx89qOU6QlO7nu4llWx5kwY5aHUupupdQhpdTBwT+HABfQNfgtPYNfD5cE/AjYAtwC/KtSKq4u\nLUx0JrB13Ry8/iDPf3DS6jjCQm/srKPX4+fai2eSnpJodZwJM+Y+D631E8ATwx9TSr0AZA5+mQl0\nnvO0JuA/tNZBoFUptQ9QwKiXpRYUZI422RKjZdpyRSUfHWrkk8PN3HJlJfNmTcxoUXZcTmDPXLHO\ndLrVzVu76snPTuUPN88nJXns3Yh2XE5mmN0lvB24Dtg9+PdH50zfBHwTuEEplQEsBI6ONdPWVnsN\ntlNQkDlmpls3lPOD/97LT57bz/+7YyUOR2yP7Y8nkxXsmCvWmUKhEP/27AH8gRC3bSynp7ufsV7N\nrsvJDLP7PH4KLFJKfQTcC3wXQCn1z0qplVrrN4FjSqkdhPeNPKC1jssLQipnZLNmQRG1jT28u0dO\nHJtK9uhWDte2s6gsl+WVBVbHmXCm1jy01v3AF8/z+F8P+/dfRJBrUrn9ygoO17bzwocnWVqRT2F2\nqtWRRIy5+3089b/HcCYYfOmqyri6B+14yUliUeBKT+L2TRV4fUGefKNaBkqeAp56W9Pd62XrujkU\n58bXPWjHS8ojSi5eUMSS8jyO1nXwjmy+xLVdR5vZdbSF8hIXm1fPtDqOZaQ8osQwDP7o2nlkpiXy\n3PsnqJOR1uPS2a5+fvmWJsnp4N7rF8R8B7mdSXlEUXZGMvdcvwB/IMS/v1yFx+u3OpKIIn8gyE9/\nfZhej58/3FRB0RTdXBki5RFlS8rz2Lx6Bs0d/fxC9n/ElWfeO0FtYzeXLCxmw9LpVsexnJRHDNyy\noZzyEhe7jrbw+id1VscRUfDJ4Sbe3dNASX46X92spuTRlXNJecSAM8HBN7cuJiczmRc/qGH/Cbnf\ny2R2vKGTJ14/SmpyAn+ydRHJSfF39zczpDxiJCsjmW/dsoREp4OfvXKY+mbZgToZtXT2828vHCIY\nhD/ZsphpeelWR7INKY8YmlWcyT03LGDAG+ChZw/Q0tlvdSRxAXr6vDzy3AHc/T6+srmShWXxd6f7\nSEh5xNiqeYXcvqmC7l4vD/5qH13uAasjiXHo8/h48Jn9NLb1cc3qmVwe5yOhmyHlMQE2rZzBjZfO\nprXTw4PP7Kdbxj61NY/Xz8PPHaS+2c36pdP4wsZyqyPZkpTHBNmyrowrlpfQ0NrLD5/eR1evFIgd\nebx+Hn3+ICdOd3HxgiK+unmeHFkZgZTHBDEMgy9fVcmVK0o53drLv/zPXjplE8ZW3P0+fvSr/VTX\nd7KisoC7r58/pc8gHYuUxwQyDIMvbarg6lUzaGzr4wdP7aW5vc/qWILwXe3/5X/2UnMmfBLYH29Z\niDNBfjxGI0tnghmGwW1XzOXGS2fT0tnP93+5hxOnu8Z+ooiZM2d7+cen9tDQ2ssVy0u454b5JDjk\nR2MssoQsYBgGW9fP4avXKPo8fn749D726BarY01Jh2vb+f4v99Da6eGmy2bz5asq4/5Ob9Ei5WGh\nyy8q4Vu3LsZhGPz4pSpe/LCGYFCuhZkIoVCId/c08K/PHsDnD/C1GxewZd0c2Tl6AaQ8LLakPJ8H\nvrKcguwUXv34FA8PnpQkYqd/wM/PfnOE//7fY6SnOvmr25dzycJiq2NNOlIeNjCzKJO//6NVLCnP\no6q2ne/+/FOOfXbugPQiGj5rcfMPT+5m55Fmyktc/P2dq5hbmmV1rElJysMm0lMS+datS7h5bRnt\nPR7++X/28sIHJ/EHglZHiwvBYIi3dtXzvf/aTXN7H5tXz+Cvv7ScvKwUq6NNWvF/N95JxGEY3Ly2\njAWzc/jP3xzhtR11VNW0c8/18yktzLA63qTV3N7H468f5URDFxmpifzxzQtZVjH1RjuPNikPG6oo\nzea7d6/m6XeOs+1QI9/5+adsXj2Dmy4rszrapOLzB3ljZx0vf1SL1x9khSrgjqsVrilyL9lYM2w0\n0lXIjjfDsTrTwZNtPPW25myXhzxXCvfdsoSywnTbHRWww7Ia7vCpdp557wQNLW4yUhP5ytWVrJpX\naPlys9tyAigoyDS1UKQ8RmGXN3rAF+A320/x1q56AsEQ82Zm84WNcymbdu4tgq1jl2XV2NbLix/U\nsOdYKw4DNiwrYeu6OWSk2uMesnZZTsNJecSA3d7o02d7eeXjU3x6pBmA1fMLuXltmS0GqLF6WZ3t\n6ueVbafYXtVIKARzS7L45hcvwpVsr1G/rF5O5yPlEQM2faP5aHc9zwze3sEAVswr5IZLZjGzyLob\nKFu1rJra+3h7Vz3bDjXiD4QoyU9n6/o5LKvIp7DQZcv3z4aZTJWH7DCdhObNyuHbd65kr27l1R2n\n2F3dwu7qFpaU53HlilIWluXG9SnWoVCIk6e7eWNnHfuPnyUEFGancvPaMtYsKJIrYSeIlMck5TAM\nVs4rZIUqoKq2nVc/PsXBk20cPNlGYXYqly8r4bLFxWSmxc+RhV6Pjx1VTXx4oJGGVjcAZdMyuWbN\nLFZUFkhpTDApj0nOMAwWz8lj8Zw8TjV1897e0+w80syz75/ghQ9OsqgslzULi1g2t2BSjvrt8weo\nqmlnV3ULe3Qr/kCQBIfBisoCNq0spXJGtuVHUKaqiMpDKbUVuFVr/eXzTPsa8HXAB3xfa/1aJK8l\nxja72MXd17m47Yq5bD/UxI6qJg6cbOPAyTaSEh0snpPHkvJw0WRnJFsdd0Tufh9H6zrYe6yV/SfO\nMuANAFCUm8b6pdO4dNE0suRcDcuZLg+l1MPA1cD+80wrAv4MWA6kAduUUm9rreWKrwmQnpLI1atm\nDA461MvOI83sPNLMHt3KHt0KwKyiTObPyqGiNIvy0ixcFm7e9Hl81Db2UF3fweHaduqaehjajV+Q\nncLKZSWsnFfI7OJMWcuwkUjWPLYDLwHfOM+01cA2rbUf6FZKHQeWAHsieD1hwrS8dLasm8PNa8to\nau/7fL/Isc86qWvu4c1d4e8rzk1jVnEmpQXplBRkUFqQTq4rJao7XoOhEO1dHhrb+2hq66OuuYfa\nxm4a2/5vNLUEh0HFjGwWzs5hSXk+M4sypDBsaszyUErdDdwPhABj8O+7tNbPKaU2jPA0FzB8eCw3\nIJcuWsgwDKblpTMtL53Nq2fi8fqpPdPN8dNdHG/o4uTpLpqO9LFz2HMSHAa5rmTyXCnkuVLITEsi\nNcVJeoqTtBQniQkODMPAYRhkt/bS1t7HgM/PgC/IgDdAT7+Xzh4vne4BOt0DnO3y4PP/7oV+qckJ\nzJ+Vw5zpLuaWZKFmZpOSJLviJoMx3yWt9RPAExc4327CBTIkE5BrzG0kJcnJ/Nm5zJ8dvpFRMBSi\nrctDQ6ubhtZeTre6Odvloa3bQ3V95G9deoqTaXlp4QLLTaM4L43SggyK89Li+rByPItVxe8CvqeU\nSgJSgXnL1m59AAAFSklEQVRA1VhPKiiw7iSnkUylTEWFLhZUFP7e4z5/gLOdHnr6vLj7ffT2+XD3\ne/EFggSD4fMugsEQTqeDlCQnKUkJpCQl4EpPJseVTK4rhaREa470TKX3b6JFtTyUUvcDx7XWryql\nHgW2Ed7U+Vut9Zg3KrHhmXeSaZATyEl1kpPqhNzU8ecKBunqtGaEeHn/xsdsmcnp6aOw6xttt0xg\nz1ySaXzMnp4uI4kJIUyR8hBCmCLlIYQwRcpDCGGKlIcQwhQpDyGEKVIeQghTpDyEEKZIeQghTJHy\nEEKYIuUhhDBFykMIYYqUhxDCFCkPIYQpUh5CCFOkPIQQpkh5CCFMkfIQQpgi5SGEMEXKQwhhipSH\nEMIUKQ8hhClSHkIIU6Q8hBCmSHkIIUyR8hBCmCLlIYQwRcpDCGGKlIcQwhRnJE9WSm0FbtVaf/k8\n0x4BLgWGbgl+s9baXrcHF0KYZro8lFIPA1cD+0f4luXAZq11u9nXEELYVySbLduB+843QSllABXA\nz5RS25RSd0XwOkIIGxpzzUMpdTdwPxACjMG/79JaP6eU2jDC09KBR4GHBl/jfaXUp1rrqujEFkJY\nbczy0Fo/ATxxgfPtAx7VWnsAlFLvAUsBKQ8h4kREO0xHUQn8Sim1bPA11gK/GOM5RkFBZozimCeZ\nxs+OuSRT7ES1PJRS9wPHtdavKqWeAnYCXuBJrfXRaL6WEMJaRigUsjqDEGISkpPEhBCmSHkIIUyR\n8hBCmCLlIYQwJVaHasfNjtfHjJHpa8DXAR/wfa31azHOkgI8BRQC3cCdWuu2c77nZSB3MFO/1vr6\nGGUxgJ8QPmfHA9yrta4ZNn1Cl804M1l2jZVSag3wA631xnMevxH4NuHl9HOt9WMTkWeMTPcD9wAt\ngw99Q2t9fLR5WVoedrw+ZrRMSqki4M8Gc6UB25RSb2utfTGMdB9wUGv9D0qp2wh/6P78nO+Zq7Ve\nGMMMQ7YAyVrrSwc/hA8NPmbVshk10yBLrrFSSv0lcAfgPudxJ+GMK4B+YLtS6hWtdcvvz2ViMg1a\nDtyhtd433vlZvdlix+tjRswErAa2aa39Wutu4DiwJMZ51gJvDv77DWDT8IlKqUIgWyn1ilLqQ6VU\nTNY6zs2itd4JrBw2zYplM2omi6+xOgFsPc/j8wmfC9U9WKzbgHUWZ4JwmT2glPpIKfU345nZhKx5\n2PH6GJOZXEDXsK/dQFY08pwnE4O5moa9Zs9ghuGSgB8BjwB5hH+T7dRan41WrmHO/f/7lVIOrXXw\nPNOiumxMZrLsGiut9UtKqVnjyNvDxCyn0TIBPA38mPCm8a+VUtdprV8fbX4TUh52vD7GZKZufveH\nNxPojEaekTIppV4YfJ2RXq8J+I/BH5ZWpdQ+QAGxKI/uYVkAhn5Ih6bFbNmYzGTHa6ysWk5jeWRw\njRGl1GvAMmDU8rB6s2U0lYS3mw2lVCLh1dO9FmfaBaxVSiUppbKAecT+g7gduG7w39cBH50zfRPw\nLIBSKgNYCMTqUoDPsyilLgYODZtmxbIZK5MdPkPGOV8fBeYqpbKVUknAemCHlZmUUi6gSimVNrip\ndwWwZ6yZWH605Vx2vD7mnEyPEt5ONYC/1Vp7Y/zyPwWeVEp9BAwAXxrM9M/Ac1rrN5VSVyuldgAB\n4IEY7hx8CbhKKbV98Ou7LF4248lk9WcoBKCUuh1I11o/ppT6C+BtwsvpMa11ow0yPQD8lvARq3e1\n1m+O8nxArm0RQphk580WIYSNSXkIIUyR8hBCmCLlIYQwRcpDCGGKlIcQwhQpDyGEKVIeQghT/j/S\nVor4ptW1lgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(-1, 1, 100000)\n", + "y = np.sqrt(1-(x**2))\n", + "plt.plot(x, y, sns.color_palette().as_hex()[0])\n", + "plt.plot(x, -y, sns.color_palette().as_hex()[0])\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "So far so good!\n", + "\n", + "*Coding tip*: You can see the trick to plot a circle here: you create the $x$ variable, then $y$ is defined from $x$. This means that for each $x$, the corresponding $y$ value is calculated (and thus $y$ has the same shape as $x$). Since the result of the square root can be negative or positive (for instance, 4 can be the result of $2^2$ but also of $(-2)^2$) we need to plot both solutions ($y$ and $-y$ in `plt.plot`). Note also that a lot of values are needed if we want the connection between the two demi-spheres. See also some discussion [here](https://stackoverflow.com/questions/32092899/plot-equation-showing-a-circle).\n", + "\n", + "\n", + "Now let's add the circle obtained after matrix transformation. We saw that it is defined with\n", + "\n", + "$$\n", + "y = 2\\sqrt{1 - \\left(\\frac{x}{3}\\right)^2}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x1 = np.linspace(-3, 3, 100000)\n", + "y1 = 2*np.sqrt(1-((x1/3)**2))\n", + "plt.plot(x, y, sns.color_palette().as_hex()[0])\n", + "plt.plot(x, -y, sns.color_palette().as_hex()[0])\n", + "plt.plot(x1, y1, sns.color_palette().as_hex()[1])\n", + "plt.plot(x1, -y1, sns.color_palette().as_hex()[1])\n", + "plt.xlim(-4, 4)\n", + "plt.ylim(-4, 4)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "This shows that our transformation was correct.\n", + "\n", + "Note that these examples used **diagonal matrices** (all zeros except the diagonal). The general rule is that the transformation associated with diagonal matrices imply only a rescaling of each coordinate **without rotation**. This is a first element to understand the SVD. Look again at the decomposition\n", + "\n", + "\n", + "\n", + "\n", + " The transformation associated with diagonal matrices imply only a rescaling of each coordinate **without rotation**\n", + "\n", + "\n", + "We saw that the matrix $\\bs{D}$ is a diagonal matrix. And we saw also that it corresponds to a rescaling without rotation." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "### Example 4. rotation matrix\n", + "\n", + "Matrices that are not diagonal can produce a rotation (see more details [here](https://en.wikipedia.org/wiki/Rotation_matrix)). Since it is easier to think about angles when we talk about rotation, we will use a matrix of the form\n", + "\n", + "$$\n", + "R=\n", + "\\begin{bmatrix}\n", + " cos(\\theta) & -sin(\\theta)\\\\\\\\\n", + " sin(\\theta) & cos(\\theta)\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "This matrix will rotate our vectors or matrices counterclockwise through an angle $\\theta$. Our new coordinates will be\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " x'\\\\\\\\\n", + " y'\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " cos(\\theta) & -sin(\\theta)\\\\\\\\\n", + " sin(\\theta) & cos(\\theta)\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x\\\\\\\\\n", + " y\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " xcos(\\theta) - ysin(\\theta)\\\\\\\\\n", + " xsin(\\theta) + ycos(\\theta)\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's rotate some vectors through an angle of $\\theta = 45^\\circ$.\n", + "\n", + "Let's start with the vector $\\bs{u}$ of coordinates $x=0$ and $y=1$ and the vector $\\bs{v}$ of coordinates $x=1$ and $y=0$. The vectors $\\bs{u'}$ $\\bs{v'}$ are the rotated vectors.\n", + "\n", + "\n", + "Counter clockwise rotation of the unit vectors with $\\theta = 45^\\circ$\n", + "\n", + "First, let's plot $\\bs{u}$ and $\\bs{v}$." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "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\niOEhqYjhIamI4SGpiOEhqYjhIamI4SGpiOEhqYjhIamI4SGpSNEj+RHxBuBaYH9gAPh4Zj437D0/\nA/YBNgPrM/O9LdYqqUJKf5/HhcB9mfm1iPgQ8FXgc8Pec0hmHt5SdZIqq/SwZR6wpPH6VuDU5s6I\n2B+YGRE3RcSvIsK9DmmCGXXPIyLOAxYB236nfQ14CljTWF4L9A5bbQpwCXAZsC+wIiLuzMxnx6Jo\nSZ1Xq9df/zeIR8RPgW9m5j0R0Qssz8wjmvq7gSmZ+XJj+b+AxZm5YoRh/SpzqTOKvqCi9JzHCuBM\n4J7Gn3cM6z8V+EfgfRHxRuBw4KHRBu3vX1tYTnv09fVY0y5YuXIZCxbMr1xdVdxWVa2pRGl4fB+4\nJiLuADYCHwGIiG8D12fmkog4PSJWAluAizLz+cK5JFVQUXhk5nrg73bQ/k9Nrz/fQl2SKs6bxCQV\nMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUx\nPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFTE8JBUxPCQVMTwkFelu\nZeWIWAh8IDM/uoO+TwIXAJuBizPzllbmklQtxXseEfFd4GKgtoO+WcBngROB9wDfjIjJpXNJqp5W\nDltWABfupO84YHlmDmbmALAKOKKFuSRVzKiHLRFxHrAIqDO0l1EHzs3M6yPiXTtZrRdY07S8Dtir\nxVolVcio4ZGZVwFXvc5xBxgKkG16gBdf5xiSKqylE6YjuAv4RkRMAaYBs4EHRlupr6+nTeWUs6bR\nLVgwH6heXWBN7TSm4RERi4BVmXlzRCwGljN0qPOVzNw02vr9/WvHspyW9fX1WNMuWLlyGQsWzK9c\nXVXcVlWtqURL4ZGZvwR+2bT8b02vrwSubGV8SdXlTWKSihgekooYHpKKGB6SihgekooYHpKKGB6S\nihgekooYHpKKGB6SihgekooYHpKKGB6SihgekooYHpKKGB6SihgekooYHpKKGB6SihgekooYHpKK\nGB6SihgekooYHpKKGB6SihgekooYHpKKGB6Sihgekop0t7JyRCwEPpCZH91B32XAScDaRtP7M3Pt\n8PdJGp+KwyMivgucDvxuJ285BjgjM58vnUNSdbVy2LICuHBHHRFRAw4FfhgRyyPi3BbmkVRBo+55\nRMR5wCKgDtQaf56bmddHxLt2stoMYDFwaWOOpRFxd2Y+MDZlS+q0UcMjM68Crnqd474MLM7MDQAR\ncTtwJGB4SBNESydMR3AY8OOIOLoxxzzg6lHWqfX19bSpnHLWNLoFC+YD1asLrKmdxjQ8ImIRsCoz\nb46Ia4E7gU3ANZn50FjOJamzavV6vdM1SBqHvElMUhHDQ1IRw0NSEcNDUpF2XardZVV8PmaUmj4J\nXABsBi7OzFvaXMsbgGuB/YEB4OOZ+dyw9/wM2KdR0/rMfG+baqkBlzN0z84G4PzMfKypf7dum12s\nqWPPWEXE8cC3MvOUYe3zga8ytJ3+MzOv2B31jFLTIuATwDONpk9l5qqRxupoeFTx+ZiRaoqIWcBn\nG3VNB5ZHxG2ZubmNJV0I3JeZX4uIDzH0ofvcsPcckpmHt7GGbc4CpmbmSY0P4aWNtk5tmxFraujI\nM1YR8SXgbGDdsPZuhmo8FlgPrIiImzLzmdeOsntqajgGODszf7ur43X6sKWKz8fstCbgOGB5Zg5m\n5gCwCjiizfXMA5Y0Xt8KnNrcGRH7AzMj4qaI+FVEtGWvY3gtmXknMLeprxPbZsSaOvyM1aPAwh20\nz2HoXqiBRrAuB97Z4ZpgKMwuiog7IuLLuzLYbtnzqOLzMYU19QJrmpbXAXuNRT07qIlGXU81zbm2\nUUOzKcAlwGXAvgz9T3ZnZj47VnU1Gf73H4yIrszcuoO+Md02hTV17BmrzLwxIt6yC/WuZfdsp5Fq\nArgO+B5Dh8b/ExFnZubPRxpvt4RHFZ+PKaxpgO1/eHuAF8einp3VFBE/bcyzs/meAn7Q+GHpj4jf\nAgG0IzwGmmoB2PZDuq2vbdumsKYqPmPVqe00mssae4xExC3A0cCI4dHpw5aRHMbQcXMtIiYztHv6\nmw7XdBcwLyKmRMRewGza/0FcAZzZeH0mcMew/lOBnwBExBuBw4F2PQrwSi0RcQJwf1NfJ7bNaDVV\n4TNUG7b8EHBIRMyMiCnA3wIrO1lTRPQCD0TE9Mah3ruBe0cbpONXW4ar4vMxw2pazNBxag34SmZu\navP03weuiYg7gI3ARxo1fRu4PjOXRMTpEbES2AJc1MaTgzcCp0XEisbyuR3eNrtSU6c/Q3WAiPgw\nMCMzr4iIzwO3MbSdrsjMJytQ00XAMoauWP0iM5eMsD7gsy2SClX5sEVShRkekooYHpKKGB6Sihge\nkooYHpKKGB6Sihgekor8P1Tlht2TbSZBAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + " \n", + "u = [1,0]\n", + "v = [0,1]\n", + "\n", + "plotVectors([u, v], cols=[blue, blue])\n", + "\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "\n", + "plt.text(-0.25, 0.2, r'$\\vec{u}$', color=blue, size=18)\n", + "plt.text(0.4, -0.25, r'$\\vec{v}$', color=blue, size=18)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "They are the basis vectors of our space. We will calculate the transformation of these vectors:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "u_x = 0\\cdot cos(45) - 1\\cdot sin(45)\\\\\\\\\n", + "u_y = 0\\cdot sin(45) + 1\\cdot cos(45)\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "u_x = -sin(45)\\\\\\\\\n", + "u_y = cos(45)\n", + "\\end{cases}\n", + "$$\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "v_x = 1\\cdot cos(45) - 0\\cdot sin(45)\\\\\\\\\n", + "v_y = 1\\cdot sin(45) + 0\\cdot cos(45)\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "v_x = cos(45)\\\\\\\\\n", + "v_y = sin(45)\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We will now plot these new vectors to check that they are well our basis vectors rotated through an angle of $45^\\circ$." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nrkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u1 = [-np.sin(np.radians(45)), np.cos(np.radians(45))]\n", + "v1 = [np.cos(np.radians(45)), np.sin(np.radians(45))]\n", + "\n", + "plotVectors([u1, v1], cols=[orange, orange])\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "\n", + "plt.text(-0.7, 0.1, r\"$\\vec{u'}$\", color=orange, size=18)\n", + "plt.text(0.4, 0.1, r\"$\\vec{v'}$\", color=orange, size=18)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "*Coding tip:* the numpy functions `sin` and `cos` take input in radians. We can convert our angle from degrees to radians with the function `np.radians()`.\n", + "\n", + "We can also transform a circle. We will take a rescaled circle (the one from the example 3.) to be able to see the effect of the rotation.\n", + "\n", + "\n", + "The effect of a rotation matrix on a rescaled circle" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQIAAAECCAYAAAAVT9lQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8VFXC//HPvXfu1GQSSggQersUFREELKiI2Faxrauu\n61qeVVF/q6uuq6vr7rNr3cfu2lDXXte2drE3QJoiSLl0SEIJ6cn0W35/TBBEIGXuTCaT83695hUS\nZs45k8x859xzzz1Hsm0bQRA6N7m9GyAIQvsTQSAIgggCQRBEEAiCgAgCQRAQQSAIAuBK5cGapvUA\nFgBH6bq+0pkmCYKQaW3uEWia5gIeAcLONUcQhPaQyqHBncDDwCaH2iIIQjtpUxBomnYeUKHr+keA\n5GiLBEHIOKktU4w1TfsCsJq+3R/QgWm6rlc42DZBEDKkTUGwM03TPgMubm6w0LZtW5JE50EQ2kGz\nb7yUzho0aVGSSJLEtm0NDlTXMkVF+TlbXybrmjPnc6ZNOzFnf5edpb7mpBwEuq4fmWoZgiC0LzGh\nSBAEEQSCIIggEAQBEQSCICCCQBAERBAIgoAIAkEQEEEgCAIiCARBQASBIAiIIBAEAREEgiAggkAQ\nBEQQCIKACAJBEBBBIAgCIggEQUAEgSAIiCAQBAERBIIgkMLipZqmycBjgEZyj4Ppuq4vc6phgiBk\nTio9ghMBW9f1Q4EbgVudaZIgCJnW5iDQdf1N4KKmbwcANU40SBCEzEtpXwNd1y1N054CTgZ+6UiL\nBEHIuJQHC3VdPw8YBjyuaZov5RYJgpBxbd77UNO03wB9dF2/XdO0IPAdMELX9fgeHpLaJouCILRV\ns3sfphIEfuBJoCfJQ4zbdF1/Zy8PsXN9fzmx96Ezcvlv1071pW8TVF3Xw8AZbX28IAjZQ0woEgRB\nBIEgCCIIBEFABIEgCIggEAQBEQSCICCCQBAERBAIgkCKFx0JQouZMZTIJuRwOUq4HDmyCTleg5So\nR0rUIycawDYBG1wyhSbYrjwsNR/blY/lLcLy98H0l2D6+2P5S0BqdsKc0EIiCATHSfE61OpvUeqX\n46pbgat+BUrjWiTb3ONjbGSQlOSbW5JwWcZe72+58jEKRmIU7kOi23gS3Sdiu4PpeDqdgggCIWVS\nrBr3tq9Rq+ajVs1HqV+JtNM1ZpYrD6PLaMzAwKZP9D5Y/t5Y7m7YahDLXQCK/8dP+KKifCor6sGM\nIhsNyR5DdGuyJxEuR2lci6tuGWrVPNxVc2HNv7GRMQr3Id5rKrGSX2DmDWyvX0eHJIJAaD3bxlW3\nFPfWz3Bv+QxXzaIf3/i24iXRfSKJrmMxuuyHERze1I1v5XCUJIHLh+XygbcHZv4QErvexwih1v6A\num0O7spZuKoXodYuJrD8LhIFo4j2P51Y31Ox1XxHnnYuE0EgtIxto9SvwFv+Dp6yt1HCpckfSwqJ\nbuOIF08mUXQQRsEokNXMtMkVINF9AonuEwjzB6R4Pe4tH+Epfxd3xVfkL/5fAsvuINb3VMJDLsIK\n9MlMuzogEQTCXnnMOlh0H11WvISrYRUAlitAtM9JxHseRbzHJGx3QTu3Msl2B4n1O41Yv9OQotvw\nbXgZ77rn8a17Fu/6l4j2/xVh7TIsX6/2bmrWEUEg/JxtoW6bjW/9C0yt/BAqTRTZTazXsUT7nEC8\n+EhwZfdiVLa3iLD2/wgPnY6n/G38K+7Ht/55vKWvEdJ+T2TI70B2t3czs4YIAmEHM4p342v4Vj+O\nK7QegHpXCcHxv6eq8LiOOSovu4j1PYVYyYl4N75GYPkd5C27A+/G12kYcztGt3Ht3cKsIIJAQIrX\n4Fv7LL61zyDHq7BlN9G+pxIZ8Gu+0uuZNmoadgZX1EkL2UV0wBnEeh9HYPmdeNc9R+FXZxAefjl0\nu669W9fuRBB0YlK8Bv+qGfjWPoNkRrDUIOFhlxIZdC6Wt0fTnT5v1zY6zXYHaRz9D2IlJ5C/8EoC\nK+6F2rlIYx7A9nRt7+a1GxEEnZCUqMe3+t/41jyBbDRiensSGXE10f5nYKt57d28jEh0H0/N5PfI\n/+46PJs/oMsXJ1M38d+YwaHt3bR2IYKgMzFj+NY+hX/lw8iJOixPNxpHXEVkwK9B8bR36zLOdhdQ\nP/5BikofRvn2Tgq/PI26g57olOMGbQoCTdNcwBMkdzhyA7fouv62g+0SnGTbuDd/RN7SW1FCG7DU\nQhpHXktk0G/B5W/v1rUvSYax11Ev9SZ/4R8p/OoMGsbeTazvSe3dsoxqa4/gN0Clruu/1TStK8k9\nDUQQZCGlbgV5S27CXTkbW3IRHnwBYe3yrDn3ny1ifU9BDpUSWHEP+Yv+jJk3AKPL6PZuVsa09TLk\n/5Dc+BSSmyf8bPan0M6MCIGlt9Pl8xNwV84mVjyZmiM/ILTvjSIEdhVvwL/sLvzrnqFh/9vBjFHw\nze+Qw+Xt3bKMaVOPoGlPAzRNywdeAW5wslFCatSKr8lfdANKeCOmvy+No/9BvPiIn9zHsqE+DjUx\niZqYRENCImpIRE2ImhJRA+KWxMbawWz8FsKNKpIEsgQ+BfwuG79q43cl/13osenmTX7fYZgxfOtf\ngFUPEohWEdJ+T2zAGchmmLwl/6Dgm99RO+mVTjGAmspOR32B14EHdF1/ugUPEVuepVu0Br75C6x6\nGVtSqBh0CfN6/4l1IT9l9VDaAKX1sC0M1VEw0/AXCahQ5E/eegVgQEHy1j+Y/NonH1TF+XpbxbZg\n9auw4HZo3Jj8mbcbnLEA3Plg2zDrT7D8SRjyK5j8UPu2N3Xp2fJM07Ri4DPgMl3XP2vhw8SWZ2mo\ny7Rgdb1MzYZZTNp4NYXmZpYymksj97DE3u9njw24bHr4Lbp47B9vXT02+Sp4XTZeBbyKjdcFbtlm\n+YoljB8/gZq6CNjJ8IiaEDYkwgaEExIhQ6I2JlEZ3XGrjkqY9s9ff6psMzBoMazAQiu00ApNhnex\nKPbveB2m9Xdp2/jWPIl/xb3Ixo46Gvf9K5HB5++4n5Wg8KvTUWu+p37sPcT6nuxYE3Jpy7M/A4XA\njZqm/ZXkp/1xuq7H2lie0EJVUYnZq+CrdR6WVMmsqY7zR+kWpqszSNgubkrcwIvqZQwqljknGKdf\nvkXvgE1JwKJ3wCKotm5hH8/GCo4dBNu2Ga1qp2XDtohEWUimtFGirFGmtFFmXb3MqjqZlbUK72zY\ncf9in8X+3U3GdDeZbEBvCdzp6DlIEpFB56BWzcez+YPkz/L7J0+h7kxWqR97L10+P4G8728k0X1C\nTl+s1OZDgzYQPYI2qI/DvAoX32xRmLtVYWXdjnfHPtISnvJNZxA6VZ6h6MPvpUfJSAocvJYmHZug\nWjaUNUqsrFXQa2WW1cgsqlSojO4Yu/YoNuOKTA7uaXBILxOt0EJ2YmUyK0FwweV4Nn1ArNexqNtm\nIU+6g20Fx+z27t71L5K/6HqivY+nYfyDDjQgt3oEQhqVNkp8UubikzIXC7cpP3axvYrNwT0Njhzo\nYkrjk+y77i/IVozwoHOxRl3HUMXbzi1vGVmCfvk2/fINjuqb/JltQ1lIYlGlgh7y8cUGi1lbXMza\n4uKORdDVY3FoL5OpfQ0O7WW0bVBy5xDofRz14+7Dt/ZZ8gafCpWh3T4k2v8MvBtfxbvpPaJbvyBR\nfHjbn3gWE0GQJdbVS7y9XuXDUherdvrU36+byaReBgf1NBndzcRtRyhaeTOseQFLLaBu/IPEe05p\nx5Y7Q5Kgb55N3zyDC4pg27Yw2yISs7cozN7iYtYWhbfWq7y1XsWr2Bzay2BqX4MpJQb5LekB7SYE\nkFUig88nb2+rJ0kyDaNvostnJ5K39DZqekxq/WpLHYAIgna0LSLx7gYXb69X+aE6+eb3KDaTexsc\n2cfgiBKDHr4dh25K4zqC8y6F+hUkCvej/sAHc3rVnSKfzUkDDU4aaGDbsLRG5qNSFx+Vuvi4TOXj\nMhWPYnNUH4OTByY4pKeJsrv36B5CAGjRgIlZMJJY35Pxlr6Op/w9Yn1OcPaJZgERBBlm2TBni8KL\nq1Q+LXdh2hKKZDOpl8G0AQmm9DEI7GalL7Xia4LzL0NO1MPIC6gd/KdOdX2AJME+XS326RrnytFx\n1tTJzCx18eY6lXc3JG9FPouTByY4c0iCPnlNAbq3EGiF0PDL8ZS9iX/FvcRKjs+5XoEIggypi8Nr\na1ReWuVmQ2PyRTSii8lpgxIc39+gm3fPg7betc+St+TvICnUH3AnwbHnQUdfHyBFgwssLi2Ic8mo\nON9XybyxVuW9DSqPLfPw7+VuJpcYnDMkwtGll+PZnFoIAFiB/sT6noJ346u4K7782QStjk4EQZpt\nDUs8pbt5aZVK2JDwKDanDExw1tA4+3Wz9t4ztQzylvwD37pnsdzdqJswA6Pb2Iy1vSOQJNi/u8X+\n3WNcPzbG+xtdPKu7+aRM5ZMyFU36C5cWTWLKAaejprioamTQucmBw7XPiCAQWmZDg8Sjy9y8uU4l\nYUkU+Swu2yfGLwcnKGxJj94IUTDvUtwVX2IENeomPo7lz93xACd4FDh5oMFJ/SKsnnUfT23el/+a\nJ3NFxXD6vGtx0ag4pwxMtHl+glG4D4muY3Fv/Rw5VIoV6OvsE2hHuXWgkwW2hiX+Os/D8e8EeHWN\nm5KAzc0Tonw6LcTvRrYsBKRYNYWzzsZd8SWx4snUTnpVhEBLWQkKFl7OwdUP8q+Bb/LRiY38Zlic\niojEX+d5OeqtAC+vVjGsthUf6X8GEjae8necbXc7E0HgkLoY3PGdm6lvB3h5tZs+eTb3HBLhvV+E\nOH1wyz+F5HDZj1Nbo31Po37CjE5x0YsjdjMw2Dtf4cZxMT45KcQFI+LUx5OBMO09P5+VK7R2Pl28\n19HYkppzQSAODVJk2fD6Whf3LIbKiIeefov/t2+MUwYmcLUyZpV6nYLZ56JEtxIeejGhkdeKjT5b\nqpmzAz18NteOiXH+8Dj/Wuzm1bUq07/wM76Hwd1ToaiF1djuAuI9JuHZ+ily43qsvAFpeTqZJnoE\nKfihWuasD/3cMNdHxICrR8f48MRkD6DVIVC3jMKvz0KJbqVx1PWERl0nQqClWnGKsIfP5qYJMd46\nLswRvQ3mVbg44sVkby7cwssp4r2OAsBd8ZVTz6DdiSBog5iZfOGcPtPPoiqF4/sl+OYcuGhUHE8b\nBqKU2mUUfn02UryWhv1vIzL0QucbnavaOE9gaKHFjCMizDg8TO88eHy5hxPeDfB5efN/wHjRIQC4\nt81OufnZQgRBK31fKXPy+34eX+6hJGDz1JFh7jk0Skkb99l01f5A4axfIyXqaBjzT6IDznS2wbnM\ngclCR5SYzP4NXDwyxtawxMVf+LlxrofQXtbcsgL9MP19UCvnJNc2yAEiCFrItOD+xW7O/MjP2nqF\nc4bFeev4EAf1NNtcpqt2KQWzzkZK1BPtMw2jcJSDLc5xDs0YBPCrcNX+cV4/LszwQpP/rHFz0vsB\nvtu257dHous45EQdStOOUB2dCIIWqIhInPepjwd/8NDLb/PslDB/GRdLaVkupWENBbPPRUo00HDA\nnUSGXkSXz6eRv+BK5FCZc43PRQ6GwM60QotXjglz4cgYZY0Sv/7Yz6PL3Ls9s7A9tF21y1KuNxuI\nIGjGN1sVTn7fz7wKF0f1SfDGcSHGF7e9FwAghzdRMPu3yPEqGkffTKzfqckLW0pOxFv2X7p+MoXA\nkpuQYtUOPYsckqYQ2M6twB/3j/PsURGKvDZ3LfLw+6+8NO5yqGAUNAVB3VLH6m5PIgj24qVVKhd8\n6qM+LnH9AVEemBRNedEPKVZFwexzUCKbaBz5J6IDd6yMExpxNbbsRrLi+Nc8QdePjsCvPwBGOMVn\nkiPSHAI7O7CHyevHhhnfw+CjMpXTPgiwtn7HWRyjYDgASv3KtNSfaSIIdsO04NaFHv4230vQbfPU\nkRHOHZ5I/WyeEaZgzvm4GtcSHnoxkWGX/OS/rUAfIgN/8+P3stGAHCrF1bg2xYpzQAZDYLvuPpsn\nj4xwwYg46xtkzvowwMJtybMKtlqI5QqgRHJjyXMRBLuIm3DF116e1t0MDpq8ckyYcT1SOxQAwDYJ\nLrgCtXYJkX6/Sk4W2o3wsMuwXDtmEspGA0ZQS73+jqwdQmA7lwzXjolx64QIjQk47xMfH2x0gSRh\n+UqQw5sy0o50E0Gwk7AB07/w8VGZyoRig5ePDtM3z5k1HQM/3IZny8fEiw6hcf+b9zhZyPZ0JTL0\nYiL9fkWs97F4Nr1PcMEVYHXSPWTaMQR2dtpggxlHRHDJ8IevvfxntYrpL0E2GpAS9Rlvj9NSCgJN\n0yZomtbS5cyzWmMC/uczH7O2uJhcYvDYEZGWLYHVAt51z+Nf82+M/CHUH/hQsy/k8OALiA46h/px\n93fuMMiSENju0F4mzx8VptBjc+M8L+ti3QCQ4nXt1iantDkINE27BngM6PDL5ESbegLfbnPxi/4J\n/jUp0qYZgrujVnxN3uK/JdcTmPgEtjvY/INcfozCfZJLanfWMMiyENhuZFeLZ6ZE6Oqx+GJbFwAk\no+MvEpNKj2A1cIpTDWkvCQuu+NrH/AoXx/ZLcMdBUVSHDpjkcBnBBZcDMnUTZrTt+vXOGAZZGgLb\nDStMhoHZNJYzr6zjn9Vp80te1/U3gNbtepFlbBuu/8bL55tcTOplcMdB0d0vftkWZozgvMuQ4zU0\n7ve31FYW2iUM+PTi3A0DKwGfXpS1IbDd0EKL4wYl2/X0UoN5W9t7H7fUZPQy5KKiNk7IT1N998yH\nt9bDuJ7w4iku/Gpq7ftJfV/eCLWLYdhZ5B94MflOXEl43JPw6UWw7q3kZbNHzkj7m2TatBOBDP3t\nrAR8ejmsexsGTsNz5AyKMhQCbXl+Rd3dsA5sZC77ys/MM0Drmr760smJIGjxKzybdh76uMzFTbN9\n9PJb3HdQmFCtze63uGh9fZ4NrxDUnyNRMJJa7a9Q2ZhCybvY965kCKx7i9j7ibR/YqZjp6Pd2ulw\ngIHT2LbvnVAVBaLprZe27zzkb4wSAM7V4ny4FM5+M3m6Oa+ZP0d77MLVHCc6wh1ul+MNDRLXzPbi\nU2weOixCd59zT0FpWEP+4r9hufKpH/8wOL37kKzCkY/m1pjBLmMCmejpOCP5ujmol8V5Wpy19QrX\nf+Nt9apH2SClINB1fYOu6wc71ZhMSFhw9SwfYUPiH+OjjOzq4GWkVpz8BX9AMiM0jrkVK9DPubJ3\nlksDiFk+MLhXZgQAW/HxxzExxhUZzCxVeW5lB2n/TjrdhKJ/LXazpFrhpAEJpg10dqwzsOwu1Lof\niPQ7nVhJmnfDyYUw6MghAMnNZgBbDaLKcM+hUQo9Fncu8rCuvmOtLtWpgmBJlcxjy930zbP464EO\nH3uWf4l/9aMYgQE07vc3Z8vek44cBh08BIAfZxTaagGQXAbtfw+METUlrpvjw+xAa5Z0miAwLPjb\nPC+WLXHzhGizAzqtKzwEX16BLSk0jLsXXAEHC29GRwyDHAgBALlpRqGl7pgkdlw/g1/0T7CoSuGF\nVR3nOXWaIHh+pcrSGoVTBiaYmOJ6ArvKW/p/0FhKeOh0jC6jHS27RTpSGORICADI0S1Yrnxw+X/y\n8xvGxshXbe5f7KE62jEOETpFENTH4cEfPARVmz+NiTlatlo5D9+6Z6BwGGHt946W3SodIQxyKASw\nbeRwOZa/98/+q5vX5vf7xqhPSNy72KELVtKsUwTB48vc1MUlLhoVp+teNhttNTNK3nfXYiPBYfe1\n/+7E2RwGuRQCJMcHZKMR01ey2///9bBE8jL2NSrrO8DAYc4HQWVE4mndTQ+fxTnD4o6W7V/5MK7Q\neiKDz4fiAx0tu82yMQxyLAQAlHApAJZ/90GgyvD7/eJYtsSMZdl/XV7OB8ELq1SipsT0UXG8Dk6o\nlkMb8a96BNPbk9CIq5wr2AnZFAY5GAKwY4kyI3/IHu9zTF+DIQUmb65zUdqY3b2CnA6CqJEMgkK3\nzSmDnH0j5C25GcmKE9rn+syeJWipbAiDHA0BAFf9CgDM4PA93keWYPqoOKYt8fzK7B4ryOkgeHeD\ni5qYzJlD4yktPb4rdesXeLZ8RLzbhPRPHEpFe4ZBDocAgKteB8DYSxBAslfQ1WPxxlqVaBZfq5vT\nQfDfdckX3q+GOPjitwzylvwDW1KSE4eyfX/C9giDHA8BbBulbjmmr3ezC824Ffjl4AS1cYkPSrN3\nz+GcDYKyephX4eLAHgYlAefOFHg3voKrcS3R/mdiFoxwrNy0ymQY5HoIkFxwRoltw+iyX4vuf1rT\nYel7G7L395CzQfDf1cmv0wY42B8zIvhX3Iet+AgPv9y5cjMhE2HQCUIAQK2aD0Ci2/gW3X9A0EYr\nNJm9RaHB2RNXjsnZIPhkffLrkSXOBYFv3dMo0a2EB5+P5e3hWLkZk84w6CQhAKBWLwAg0W1cix9z\ndF+DhCXx+absPDzIySAIGzBnE4zoYjq21oAUr8e/8mEstYDIkIsdKbNdpCMMOlEIQLJHYCt+jGDL\nDw2PaPpAmpulS5rlZBAsqlSIm3BITyd7A88gJ+oJD53espWIs5mTYdDJQkAOl+NqWE28+3iQW/7p\nPqLQIuCymV8hegQZ80NVMnVHd3foOlAjgm/Nk1hqkOhOW5J1aE6EQScLAQD31s8BiBdPbtXjFBnG\nFpmsb5DZloWLHudmEFQnn9aors5cZejb8BJyvJrIoHOx1bzmH9BRpBIGnTAEANxbPgVaHwQAI5te\nj8urHG2SI3IyCFbXyRR4oLffgfEBK45v9WPYio/IoPNSLy/btCUMOmkIYMZwV87GyB/Spj0qhhQk\ne6h6Fu52n3NBYNtQHpLpH3Rmro+n/D2UyGYiA87C9rRwreqOpjVh0FlDgORhgWRGifec0qbHDwom\ng2B1jZOtckabRy40TZOAh4DRJNec/p2u6+2+f3dNTCJqSvR1aDzPt/YZbCQig851psBs1RQGyTf5\n+wQXkHyT76wThwCAp/xtAGIlJ7bp8cVNZ7C2prJufpqk0iM4GfA0rWL8Z+BuZ5qUmqqmFWF6+Ju5\nYwu4an9ArfmOePHk9K1InE120zOQ7KYzL508BDBCeLZ8gpE3EKNgZJuKKPTYSNhURhxumwNSCYJD\ngQ8AdF2fC7R8dkUaRZrGBwMOvEa9a58FIDronNQL6yh2CYOxdTPACHfuEAA8mz9CMqPESqa1+ZjT\nJUOBG6rTv2dLq6VyUjMI7LwftKFpmqzr+h7P2c2Z83kK1bXM96EiYCJRI7X6XFaYY7a9QUjpwRdr\nLFi797KmTTsxI88vU3VJ9mmM9VTSO7YAXp6AJ7yZTZ5xLDROxZ47K611Z/J32dL6JtY8ThCYW1lM\nYwptiyWOoSrszvjza45kt3FbFk3T7gLm6Lr+atP3G3Vd31v/OSP7v7y8HC75EE4dBo8fl0JBK56F\nr66EcTfAmCsda1+H0rQhKZEq8HXvQDsQOax+Pbw8DoonwLR3Uyqq9wPJDkX5Zc40rYWa7cKk0iOY\nBZwAvKpp2kRgSXMPyMR+b4W2DAToF0ytvoJlL+IGqroei9WCcjK5n10m65oTOplpJ53EtorarN+L\nMF31BZb+Gz9QX/IrYim2K08NUOiTs27vw1SC4A1gqqZp2/uJ56dQlmO2L0ASTmH6vBwqw101j3i3\nCVj+Ps40rKOSmoaRpOycI592Vhzvxv9gqQXESo5PqSjbhvq4RL8Ch9rmoDYHga7rNnCJg21xRJ6a\nPAKpSeGDy1v2JgCxfqc60SShA/NsmokcqyI8+IKUN7QNGRC3JIocOKPltJybUFTst5Elm7IUel7u\nzTOxJRexXsc61zCh47Ht5KxSJCIDUz9zVBlJHqp386VclONyLghUObkHXWkbg0AOb0KtXUKi+8SO\nf5WhkBK1cg5q7RLivY/ByhuQcnkbGpJvtwFZeGiQc0EA0D/forwBGtswTuDe8jEAsV5THW6V0NH4\nVz0KQHjIRY6Ut7o++XbTsnCmek4GwaguFjawoqb1A1yezR8BEO95lMOtEjoSpW457ooviHcbj9F1\njCNlrqpNvh6HiSDIjO2XH2+/HLnFzBhq1TyM4Ijd7mkndB6BFcnrLCJDpztW5rfbFPJVmyGFjhXp\nmJwMgjFFySD4ZmvrToqo1d8iWXHiRQeno1lCB+GqXYJn80wSXQ8gXnyEI2VuDUtsaJQZW2SiZOG7\nLgublLqSgM3QLsn14eKtWJtErZwDQKL7xDS1TOgI/MuT18+FRlzt2L4Vc5rWKhzXw5nFcpyWk0EA\nMLk/hA2JhdtaPk7grpyDjUyie8uWqRZyj6tqIZ6tnxPvfhAJB3uGHzVtbuLkqtpOytkg+MWg5Nd3\nNrTw8MBK4KpZjFEwElsVpw07Jdsmb+ltAI5ubBtKwFebXQwOmgwucGgdTYflbBAc0gd6+i0+2KgS\na0FvTKlfhWTFMbrsm/7GCVnJU/42avVCYr2PxWjFngXN+ajMRcyUOLpvdvYGIIeDQJbgxAEJGhMS\nH7Zgzzm1NnnNlFG4T7qbJmQjI0xg6e3YspvGUdc7WvRLq9xI2Jw2uJ22pm+BnA0CgNMHJ5CweWqF\nm+autnbV/QCAUSCCoDPyr3oUJbKZ8JDftWlh0j1ZUSPzXaXCob1M+uZl5Er8NsnpIOifbzOlj8EP\n1Uqzg4au+hXYyBhBLUOtE7JG/Xr8q2dgensQHnapo0U/vtwNwK+HZummh01yOggAzh+e7I49stS9\n1/spjeux/CWgeDLRLCFb2DZ8fQ2SGSU06npwBRwrel29xLsbXGiFJkeUZOdpw+1yPgjG9TA5qNjg\nq82uPe47JyUakWOVmA5cWCJ0LJ6y/0L5Z8R7HE6szzRHy374Bw+WLXHZPnFkZ6YjpE3OBwHAVfvH\nALhrkWe3YwVyaCMAZmBABlsltDcpVk3ekpvB5adh9M2OTR4CWFwp8+Z6leGFJlOz+GzBdp0iCPbr\nZnFsvwTfVym8se7nZxCUSBkAZmdfjaiTyVtyE3K8Gsb9GSvg3N/esuHmhclFTG4YG8v63gB0kiAA\nuG5MDL9eTgJJAAAWDklEQVTL5p/feaiO/vQvI8eSm9FZnu7t0TShHbjL38Nb9l8SXUbDKGcuM97u\ntTUq31cpHN8vwfji7B4b2K7TBEGvgM0V+8Wojcnc9u1PBwR3BEG39miakGFyZCv5i27AVnw0jL0b\nZOfWYywPSdz2rYeAy+ZPY2KOlZtunSYIAH4zLMG+XU3eWq/y7vodhwhSUxDYokeQ+2yL/O+uQU7U\n0rjPDZh5gxwr2rLh+m+8hAyJG8ZG6RXI3nkDu0opCDRNO0XTtOedaky6uWS48+AIfpfNX+d7KW1M\nHiLIieS6Zpba/LLPQsfmXfsM7oqviBVPJjrg146W/cRylW+2uphcYnDqoOwfINxZm4NA07R7gVto\nweYJ2WRA0ObGcVEaExJXfu0jagB209RPee9zDYSOzVXzPXlLb8Nyd6VhzD8dPUswZ4vCXd976OGz\nuHl81MmiMyKVHsEssnA585Y4ZaDBKQMTLKlWuGGuF8zkrC9bBEHOkuK1BOddBlaC+nH3YnuLHCt7\nc0jiqlleFAnuPzRCd1/HOSTYrtmrcTRNuwC4kuSWZVLT1/N1XX9F07TD09y+tJAk+Pv4KOvqZd7Z\noLKxyGAYdM7tvDoD2yJ/4dUokXJCw/9Aosckx4quj8NFn/uojsn8dVyUMUXZeZlxc9q89yFAUxBc\nrOt6Sw62si4mt4Zgyktwe/y3nOB6D367GjxZuKCckJpF98L8m6FkMhz7kmNnCWIG/PK/MKscLhoN\ntx3u6NGGk9K692GrZdN+dpA8LppxmEzVp8nTia9/V8OkwW17keTs3odzPmfatBOz7m/XUu4tnxCc\nfwuWrxc1+92BXRV2pL6EBVfP8jKrXOWYvgn+MCJKZWXLHtseezs2J6NBkI2GFVokerqgAm5fAJZX\n4fAsv0BEaBmlbgX5C64AxUP9hBnYDs0T2R4CM0tVxvcwuOPgaFYuSNoaKTVf1/UvWnhYkNW6BJJ7\nUBVIDVz2lY/3N3b6fOzwpFglBXMvRDZC1B9wJ0ahMytP7RoCjxwewZMD+8N28BxzhtU0gnzL6DLc\nMlw1y8vra0UYdFhmjIK5l6CEywgNv5J4yS8cKbYxAdO/8P0YAjOOiBDIkfFlEQSA5UkGwXDvVp6a\nEiZfhT9/4+OBJc2vbCRkGdskuPAPqNULiJacSFj7vSPFVkQkzvnYz9ebXRzeOxkC/hz6rBBBAFje\nHgAo0a3s183i+aPClAQs/rXEwx9ne1u0+KmQBWybvO//hmfTB8S7TaDhgDscGcZfUSNzxkw/y2oU\nzhgS56HDcisEQAQBAGagHwBK4zoAhhZavHJMmDHdTd7ZoHLOx342hbLzvJCwg1+/H9/65zGCI6if\n+Kgjq039d52LMz70syksc+XoGH8/MIYrB981OfiUWs8M9MeWVJTG1T/+rJvX5ukpYU4akFzH4JT3\nA3xWngOjQjnKu+45AivuxfT3pe7gp1LemyJuwt/ne7h2jg+XDA8dFmb6qHi2zhNImQgCANmFmT8I\npWENOw8KeBT450FR/jE+StiA6V/4+b/vPK3aRk1IP+/6l8j//kYsdzfqDn76x0O9tlpVK3P6TD8v\nrHIzrMDktWNCTOmT2390EQRNjOBwZKMRJbTuJz+XJDhjSIL/HBNmQL7Fv5e7OW2mn6Wt3WlZSAvP\nhlfIW3Q9lrsLtYc8h5k3sM1lWTY8tULl1A/8rKhV+OXgOC8fE2ZAMPdHjMWruUmi6wEAqFULdvv/\nI7pYvHZsiDOGxFlZq/CrmX7uX+wWvYN25Nn4GvnfXYutFiRDoGB4m8taUydz7ic+bvvWS55q89Bh\nYW6ZEMu5QcE9EUHQJNE1ucWVq2rhHu+Tp8I/xsd4YnKYIp/Ngz94OPl9P3O2iLGDTPNseJX8b6/B\nVoPUHvI8ZsHINpUTNeDWOXDS+37mVbiY0ifB28eHc/5QYFciCJqYBRqWGsS97WuamzxwSC+Td34R\n4qyhcdbWy5z3qZ/z30OcWcgQ3+onCH6XDIG6Q57DLGx9CNg2fFKmcOJ7Ae6clxwcfnBShAcnRTvk\nZcSpEkGwnaQQL56MEtmEUr+82bvnqfC/B8Z47djkacY3V8Fx7wS4e5Gb+uze1Kbjsm38y+8m74eb\nML3F1E76T5v2qlxcKXPOJz4u/dJPeUji0jHw7i9CHNXXyNmzAs0RQbCTeM8pAHg2f9zix4zqavHC\n1DAPTIWg22bGMg9HvZXHo8vcRDrWalXZzbbIW/y/BPR/YQb6UzvpFczgsFYVsaZO5sqvvZz+YYD5\nFcklxd4+PszNhyWDvTPrJEMhLRMvPhxbduMpfzs5NbWFHw+yBL8eCYd2CfHcSjePLXNz1yIPz6xQ\nOXd4grOGxjv9Cy0lRoTgt1fh2fQBRlCj7uBnWnWKcEWNzMNL3czc6MJGYt+uJn8aE+swS41nggiC\nndhqkFivo/GWv4OrZhFG1zGterzPBReOjHPGkDj/Xu7mGd3NnYs8zFjq5qyhcX6rJSjqhMefqZCj\nFQS/uRC1djHx7hOpH/8Itrug2cfZNsyvUHhyhcqn5ckUHtXV5JJRcab0MTrEpiOZJIJgF9H+p+Mt\nfwfvhpdobGUQbBd0w5Wj41wwIs6Lq9w8o6s8uszDkyvcHNfP4KyhccZ0tzrt8WhLKXUrKPjmf1Ai\nm4j2+yUN+9/S7AKzEQPeWq/y3EqVlbXJszljuptcuk+MSb1M8TvfAxEEu0gUHYLp74O39E1CI69J\naa+DAjdMHxXnPC3OG+tUntZV3lqfvGmFJmcOTXBi/wT5Ys3Un3Fv/oj8hVchG400jryGyNBL9nio\nZtuwrEbmjbXJ321dXMIl2RzfL8FvtAQHdBcB0BwRBLuSFMJDLiR/8d/wrXmS8MhrUi7S64KzhiY4\nc0iCuRUKL65S+bjUxd/ne7ltoYfJJQYnDjA4vLeBu7NPSbBNmH8LBYvuwVa81B/4L2IlJ+z2rtsi\nEm+vd/HGWpWVdclfXDevxaX7xDlzSIJivzgMaykRBLsR7Xc6gRX341v7LJEhF2K7nVnQVJJgYrHJ\nxGKTiojU9AnmYmapysxSlaBqM7Vvgil9DA7uaeLrZH8dKVZNcMEVsO1rTH8/6iY8/LOJQuUhiY9K\nXXxU6mLhNgUbCVW2ObpvgpMHJjist4kqzoW1Wid7qbWQy0d46EXkLb0Nv/4AoX3/4ngVPXw2F4+K\nc9HIOCtqZd5ap/LOBhevrXXz2lo3HsXm4J4mU0oMDutt5Pynm6v6O4Lz/x9KZBP0O5qaff4P211A\nwoLFVQqzNyt8Vu5iaU3yk1/CZmyRyfH9DY7vn6BL6lccd2oiCPYgMuhcfOuew7f2GaIDz07pYpa9\nkaTkdQwjusT44/4xFlfJfFru4tNyF5813QAG5FtMLDaY2NPk+EBamtI+bBP/yofxr7gXbIsG7UpK\nR/yZD1fGmbVF4ZstLkJG8gDfJdkc2svg6L4GU0qMTjkDMF3atK+BpmlB4DkgCKjA1bquf9PMw+yO\ntiS2u/w9CuZfRrzoEOoOfnav8wrSsUT1hgaJz8pdzNniYl6FQtjYUf+AfIt9u5ns13Qb0cVKyyKa\n6VzOXAqV41twFYGaedQpPbnd/QDP1R3+4xsfoH+excG9DA7paTKh2CCYhoHV9lhePMP1pW1fg6uA\nj3Vdv1/TtGHAi8DYNpaVteK9jyNWfCSerZ/iXf8C0YFnZ7T+/vk25w1PcN7wBAkLllbLzN3q4tsa\nDws3S7y9XuXt9clz5C7JZkDQYkiBxZCgxeCC5L/75lntPtZg2cmBvdJGmXUNMitrJHpVvsX0yHUE\npDreNk7gD+G7qaErg4ImE/sojMyLclBPgz554lM/E9r6Erkb2L75uwpEnGlOlpEkGve/FfXTowks\nvY1E0UGObqPdGqoM+3e32L97nKIiD1srGtnQILG4SmFJlcIP1Qqr6mRW1/28W9DVY9E7YFMSsCgJ\n2BT5LLp47B9vXb02+aqNV0kuxtKSU22GlTxnHzYkGhMStXGJqqjEtkjya2VUYmtYprRRoiwkEzOT\nhfaSNnOn+keOc80kIvl5xH8n5cVn8s8ii9HdGij0bP/ETDj9KxT2IpW9DxdqmtYTeBa4PK2tbEeW\nr5jG0TcRXHAFwbmXUHP46+Bq/4N0WYKBQZuBQYOTBiYvarBt2BqRWF0n/3grD8lsCsnotTI/VLfs\n2MGrJENBVWwS8an86TEwrQC2DRYQMaQf39jNCap2smcSMDmV5zmx5iY8Vj2RbgcRPuA2Tgv0B8Sb\nvr21ee9DTdP2BV4gOT7wYQse0rH7eLP/DEsfg4EnwZTHQOpY56gsGyrCUFoPlRGoDEN1FKoiyVt9\nPPkJHzUgkoCImdzbT5aS6S9JTTcgoO645bnBr0IXDxT5oYc/+bXID73zoNAL1Ogw61rY/DWoeTDh\n7zD8t1m7UWAOavYX3dbBwpHAa8CvdF1f0sKHdbjBwp+w4hTOOhu1agHhQecS2vdvP3khi70Pf05K\n1ONfcT++tU8j2Qax4iNp3P9mLF+vvT6uEwze5cxg4a2AB7hP0zQJqNV1/ZQ2ltUxyG7qJjxG4ddn\n4l/7NHK8joZx97R3q7KTbeEpfYO8pbcjxyoxA/1p3PfGHy/zFrJPm4JA1/WTnW5IR2C7C6k76Gm6\nfDwZb9l/sXy9CI28RnRxt7Nt3Fs/I7DsDlz1K7AVL6ERVxMecqEjewwI6SMmFLWS5Sum9rA3KJh7\nEf5VDyPFq2kcfXN7N6vduaoWEFj2f7ir5mMjEe17GqERV2L5S9q7aUILiCBoA7NAo+bw1yiYfT6+\nDS+jNK6HY58EfO3dtMyybdTKufhXPYS74isAYj2PIjTyj5hBrZ0bJ7SGCII2sj3dqTv0RfK/vQbP\n5g/gjSNRx9xDomhiezct/Wwb95ZP8K96GLX6WwDi3Q8iNOJqjG45N6+sUxBBkAJbzaN+/EP4Vs8g\nb9kdFM46i8jA39I46lpw+du7eY6TEg14St/At+5ZXA3J7eFiPacSHnZJq1dzErKLCIJUSRKRodPJ\nG3IkxieX4lv3DO4tnxAadR2xkl/kxkBi9Qryvp+Bp/R1ZCOELalE+5xMeNh0cQiQI0QQOKXHWGom\nv0tgxX34Vj9OcMHvSax9ktCIq0l0P6jDBYIUq8Rb9jaHVT0Dr63HB5i+XoSGTifS/wxsb1F7N1Fw\nkAgCJykeQqP+RGTAGeQtvR3Ppg8onHU2iS6jCQ+dTrznUSBn769cilXi2fwJ7s0zcVd8iWSbWMjQ\ndyp1vU7N+vYLbSf+qmlgBfpTP/5hXDWL8K98BM/mmRTMuwTTU0Ss32lE+/0SM39wezcTbAulbgXu\nbV/i2fwxrupvkZpmgicK9yPW92S+3tKNY489m3gGZ8IJmSeCII2MLvtTP+ERlIbV+NY+jafsLfyr\nHsG/6hGMvMHEex1FvPhIEl1GZ2bCjRnD1bASV/W3uLfNQa2ci5yoBcBGJtFtHPGeU4n1moqVNwCA\neMXn6W+X0O5EEGSAmT+ExtE30bjPX/Bsnomn7B3c277Cv2oG/lUzsGU3RuG+JLoegBHUMPOHYOYN\nxlbz2lahFUcJlaKE1qM0rkdpWIWr9gdc9SuR7B1X+pm+3kR7TiFedBDx4iOwPd0cesZCRyOCIJMU\nD7E+04j1mQZmFPe2WagVX6NWL8RVswi1+qc7MVtqAZa3R/Lm7gKKF1vxQiCPQDiKZMWRrDiYEeRY\nDXK8CjlWiRSrQcL6SVnJsBmZDJzC/Uh0n4jl79PhBjGF9BBB0F4UL/GeU3ZciGOEUGuXojSsTn6C\nN6xGjm5Fjlbgalj1s4fvbpaCpQaxPN2w8gZjBgZg5vVv+jooOSYhi33XhN0TQZAtXAES3ceT6D7+\n5/9nxpATdWBGkcwYXYMy1bUxUNzYshtkD5anS7O7AAnCnogg6AgUD5ay06afRfmYiFF8wTkda5kd\nQRDSQgSBIAgiCARBEEEgCAIiCARBQASBIAi08fShpml+knsadAWiwLm6rm92smGCIGROW3sEFwIL\ndF0/DHgeuNa5JgmCkGltXc58+34GAP2AGueaJAhCpqW69+EnwD7A1LS2UhCEtGrz3ofbaZqmAe/q\nuj6kmbt27L0PBaHjSs+WZ5qmXQeU6br+HBAGjJY8Lsf3lxN7Hzokl/927VVfc9p60dETwNOapv0P\nyQHH89tYjiAIWaCtg4UVwHEOt0UQhHYiJhQJgiCCQBAEEQSCICCCQBAERBAIgoAIAkEQEEEgCAIi\nCARBQASBIAiIIBAEAREEgiAggkAQBEQQCIKACAJBEBBBIAgCIggEQUAEgSAIiCAQBAERBIIg0PbF\nSwHQNG048A3QQ9f1uDNNEgQh09rcI9A0LR+4k+Teh4IgdGCpHBo8CvyZ5L4GgiB0YK3d8my7jcCL\nuq4v2WkPREEQOqhmg0DX9SdIbmjyI03TVgL/o2na74CewIfAEelooCAI6efE3ofrgGG6riecaZIg\nCJnmxOnD7bskC4LQQaXcIxAEoeMTE4oEQRBBIAiCCAJBEBBBIAgCKV5r0FqZujZB0zQ/8ALQleQU\n6HN1Xd+cxvqCwHNAEFCBq3Vd/yZd9e1U7ynAL3VdPztN5UvAQ8Bokr/H3+m6vjYdde1S7wTgdl3X\nJ6e5HhfJOTIDADdwi67rb6exPhl4DNAAC5iu6/qydNXXVGcPYAFwlK7rK/d0v4z1CDJ8bcKFwAJd\n1w8DngeuTXN9VwEf67p+BHA+8GCa60PTtHuBW0jvqduTAY+u6weTnE5+dxrrAkDTtGtIvlk86a4L\n+A1Q2fQ6OR54IM31nQjYuq4fCtwI3JrOypqC7hFacBlAJg8NMnZtgq7r95F8kwD0A2rSXOXdwIym\nf6tAJM31AcwCLklzHYcCHwDouj4XGJfm+gBWA6dkoB6A/5B8Q0IyUNM6KU7X9TeBi5q+HUD6X5d3\nAg8Dm5q7o+OHBpm+NmGX+qSmr+frur5Q07RPgH2AqRmqryfwLHB5Bup7RdO0w52qZw+CQN1O3xua\npsm6rlvpqlDX9Tc0TeufrvJ3qSsMP/ZWXwFuyECdlqZpT5Hsbf0yXfVomnYeUKHr+keapl3f3P0z\nMqGo6dqEMpIv5InA3KZudCbq1oB3dV0fkuZ69iU5LnG1rusfprOuneo8HLhY1/Vfp6n8u4A5uq6/\n2vT9Rl3X+6Wjrl3q7U/yg+PgDNTVF3gdeEDX9afTXd9O9fYA5gEjdF13vAepadoXJMchAPYHdGCa\nrusVu7t/RgYLdV0ftv3fTdcmOPYJvTuapl0HlOm6/hzJQxEjzfWNJNnN/JWu60vSWVeGzQJOAF7V\nNG0ikMnnlvZp65qmFQMzgct0Xf8sA/X9Buij6/rtJMfKzKab43Rd/7G3qGnaZyQ/MHYbApDhswZN\nMnFtwhPA05qm/Q/JcZDz01zfrSQHt+5rOvSp1XU9U8e56fQGMFXTtFlN36f797izTMx9/zNQCNyo\nadpfm+o8Ttf1WJrqex14sunT2gVckaGVvZr9XYprDQRBEBOKBEEQQSAIAiIIBEFABIEgCIggEAQB\nEQSCICCCQBAERBAIggD8f3nS+byLsDcGAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(-3, 3, 100000)\n", + "y = 2*np.sqrt(1-((x/3)**2))\n", + "\n", + "x1 = x*np.cos(np.radians(45)) - y*np.sin(np.radians(45))\n", + "y1 = x*np.sin(np.radians(45)) + y*np.cos(np.radians(45))\n", + "\n", + "x1_neg = x*np.cos(np.radians(45)) - -y*np.sin(np.radians(45))\n", + "y1_neg = x*np.sin(np.radians(45)) + -y*np.cos(np.radians(45))\n", + "\n", + "u1 = [-2*np.sin(np.radians(45)), 2*np.cos(np.radians(45))]\n", + "v1 = [3*np.cos(np.radians(45)), 3*np.sin(np.radians(45))]\n", + "\n", + "plotVectors([u1, v1], cols=['#FF9A13', '#FF9A13'])\n", + "\n", + "plt.plot(x, y, '#1190FF')\n", + "plt.plot(x, -y, '#1190FF')\n", + "\n", + "plt.plot(x1, y1, '#FF9A13')\n", + "plt.plot(x1_neg, y1_neg, '#FF9A13')\n", + "\n", + "plt.xlim(-4, 4)\n", + "plt.ylim(-4, 4)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "We can see that the circle has been rotated by an angle of $45^\\circ$. We have chosen the length of the vectors from the rescaling weight from example 3 (factor 3 and 2) to match the circle.\n", + "\n", + "### Summary\n", + "\n", + "I hope that you got how vectors and matrices can be transformed by rotating or scaling matrices. The SVD can be seen as the decomposition of one complex transformation in 3 simpler transformations (a rotation, a scaling and another rotation).\n", + "\n", + "Note that we took only square matrices. The SVD can be done even with non square matrices but it is harder to represent transformation associated with non square matrices. For instance, a 3 by 2 matrix will map a 2D space to a 3D space.\n", + "\n", + "\n", + "A non square matrix change the number of dimensions of the input" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The three transformations\n", + "\n", + "Now that the link between matrices and linear transformation is clearer we can check that a transformation associated with a matrix can be decomposed with the help of the SVD.\n", + "\n", + "But first let's create a function that takes a 2D matrix as an input and draw the unit circle transformation when we apply this matrix to it. It will be useful to visualize the transformations." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "def matrixToPlot(matrix, vectorsCol=['#FF9A13', '#1190FF']):\n", + " \"\"\"\n", + " Modify the unit circle and basis vector by applying a matrix.\n", + " Visualize the effect of the matrix in 2D.\n", + "\n", + " Parameters\n", + " ----------\n", + " matrix : array-like\n", + " 2D matrix to apply to the unit circle.\n", + " vectorsCol : HEX color code\n", + " Color of the basis vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure containing modified unit circle and basis vectors.\n", + " \"\"\"\n", + " # Unit circle\n", + " x = np.linspace(-1, 1, 100000)\n", + " y = np.sqrt(1-(x**2))\n", + " \n", + " # Modified unit circle (separate negative and positive parts)\n", + " x1 = matrix[0,0]*x + matrix[0,1]*y\n", + " y1 = matrix[1,0]*x + matrix[1,1]*y\n", + " x1_neg = matrix[0,0]*x - matrix[0,1]*y\n", + " y1_neg = matrix[1,0]*x - matrix[1,1]*y\n", + " \n", + " # Vectors\n", + " u1 = [matrix[0,0],matrix[1,0]]\n", + " v1 = [matrix[0,1],matrix[1,1]]\n", + " \n", + " plotVectors([u1, v1], cols=[vectorsCol[0], vectorsCol[1]])\n", + "\n", + " plt.plot(x1, y1, 'g', alpha=0.5)\n", + " plt.plot(x1_neg, y1_neg, 'g', alpha=0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use it to check that the three transformations given by the SVD are equivalent to the transformation done with the original matrix. We will also draw each step of the SVD to see the independant effect of the first rotation, the scaling and the second rotation.\n", + "\n", + "We will use the matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 3 & 7\\\\\\\\\n", + " 5 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and plot the unit circle and its transformation by $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit circle:\n" + ] + }, + { + "data": { + "image/png": "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\ndoGwxMS66/QAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit circle transformed by A:\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "A = np.array([[3, 7], [5, 2]])\n", + "\n", + "print 'Unit circle:'\n", + "matrixToPlot(np.array([[1, 0], [0, 1]]))\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()\n", + "\n", + "print 'Unit circle transformed by A:'\n", + "matrixToPlot(A)\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is what we get when we apply the matrix $\\bs{A}$ to the unit circle and the basis vectors. We can see that the two base vectors are not necessarily rotated the same way. This is related to the sign of the determinant of the matrix (see [2.11](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.11-The-determinant/)).\n", + "\n", + "Let's now compute the SVD of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.85065081, -0.52573111],\n", + " [-0.52573111, 0.85065081]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U, D, V = np.linalg.svd(A)\n", + "U" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 8.71337969, 3.32821489])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.59455781, -0.80405286],\n", + " [ 0.80405286, -0.59455781]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now look at the sub-transformations by looking at the effect of the matrices $\\bs{U}$, $\\bs{D}$ and $\\bs{V}$ in the reverse order. Note that it returns the right singular vector **already transposed** (see the [doc](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.svd.html))." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "hideCode": false, + "hidePrompt": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unit circle:\n" + ] + }, + { + "data": { + "image/png": "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\ndoGwxMS66/QAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First rotation:\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Scaling:\n" + ] + }, + { + "data": { + "image/png": "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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Second rotation:\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQIAAAECCAYAAAAVT9lQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd0XOd55/HvVAAz6L0TBAFc9iL2LoqiCiVSlKjiZG3H\nTpw4iXdznLI5cZzk5JxsnN2zjpPsccnGaydOFMtWo0SqUxRFUiyi2PsLovdeB8AMptz9Y0CakkiC\nGEzH89HRIQbE3PcBiPu79773ve9r0HUdIcTMZox0AUKIyJMgEEJIEAghJAiEEEgQCCGQIBBCAOZA\n3qRpmhn4GVAGeIDfVkpVB7EuIUQYBXpGsB0wKaXWA38DfCd4JQkhwi3QIKgGzJqmGYA0YDx4JQkh\nwi2gSwPAAcwGrgFZwONBq0gIEXaBnhH8IfCOUkoDlgD/rmmaNXhlCSHCKdAzgj7APfHxwMR2THd7\ng67rusFgCLA5IcQ0TLrjGQJ56EjTNDvwU6AAsAD/qJT65SRv07u7h6fcVqByclKI1/bC2dbx4x+y\nc+eOuP1ZzpD2Jg2CgM4IlFIjwHOBvFcIEX1kQJEQQoJACCFBIIRAgkAIgQSBEAIJAiEEEgRCCCQI\nhBBIEAghkCAQQiBBIIRAgkAIgQSBEAIJAiEEEgRCCCQIhBBIEAghkCAQQiBBIIRAgkAIQeDTmaNp\n2p8BO/HPYvxDpdS/Bq0qIURYBXRGoGnaZmCtUmodcD9QEsyihBDhFegZwcPAJU3TXgNSgP8evJKE\nEOEWaBBkA6X41zwsB/YCc4NVlBAivALtLOwF3lVKeZRS1YBT07TsINYlhAijQJc8ewz4A6XUw5qm\nFQIfAppS6m4bm3pDQohgCM3ahwCapv1P4IGJRr6llHp/krfI2ocx2JasfRgX7YVm7UMApdSfBfpe\nIUR0kQFFQggJAiGEBIEQAgkCIQTT6CwUYibQdZ0RzwhDrkFG3COMukcY9Ywy4nYw5nHi8bnx+Dz+\n/3UPBgwYDUaMBiMGDCSaE0kyJ5FoTsJusZOekI7BXorHZ8JsjJ7dL3oqESKC3F43PWPd9Ix10z3W\nzYCrnwHXAIPOAdw+9z1t48aO7dN9+HTfHb/O3prA6Og42Uk55NsLyLflU5Y2m4zEzKB8L4GQIBAz\njsvromOknfaRdjocbYzVDdHS28Fnx9QkmBLISMwkPSGd1IQ0ki0p2C12bBYbNoudJFMiFpMVs8GM\n2WjGYPjV7Xpd1/HqXpxeJ06PE6dnjOHxYQZdA+iJLuo7W+gc6aB7tIuLnAcgIzGDOekVzM9aSJ4t\n/1PbCzUJAhH3Bl0DNA030eZopc3RSs9Y96d2+uy0dEpSSslOyiYnKZfspBwyEjNJMicFvDMaDAbM\nBjPJxmSSLcmf+rucnBS6M4fx6T56x3ppdTTTMFhP41ADpzo+4VTHJ2TbcrgvdzkLsxeH5RJCgkDE\nneHxIZqGmmgabqR5qJEB18DNv7MYLRQnl1CQXEiBvZACewHlRUX09DjCXqfRYCTHlkOOLYeluffh\n9XmpH6zjcu9Fagau817DOxxt/Yg1hWtZlrscoyF0ffsSBCLmeXweLvdc5FrfFRxuB71jvTf/LtGc\nRGVGFaWpsyhOLiHHlvu5HSqcp+B3YzKaqMiopCKjEsf4MKc7T3Gu6wwHGvdzvvscD816hOKU0Ez9\nIUEgYtKYZ4zagRqu9ysaBuu50nuZPmcPG4o2U54+h9KUMmalzrrtjh8Lkq0pbC7Zwor8VXzUepgL\n3ed44drzrC/cyJrCdUH/niQIRMwYHh/ien811/uraR5uutkzn5WYxa/ZbWRX/Q7zZ22Pqtty02W3\n2Hm47FEWZC3kjbrX+aj1MJ2jHTxe/gQWkyVo7cTPT0zEJYfbwbXeK1zru0qbo/Xm5wuSC6lMr6Iy\nvZLSmh+QMHyKvrIfQJSc5gdbcUoJv7Hgt3i95lWu91fzcvUvebrquaCFgQSBiDpOj5OL3ee50nuZ\npuFGdF3HaDAyK7WMyowqKjOqSLGmgm+clNN/QmLrPpxFO+I2BG5IMifxdNVzvFm3F9V3jX11r7Gr\nYndQLhMkCERU8Pq81A3WcqX3Eh3uZgaHRwAoSi5mXtZ8qjLnfvo2nGeEtJO/h7XrCADunLWRKDvs\nzEYzj5c/gdPjpKb/OsfaPmJD0abpbzcItQkRsN6xXi72nOdyzyVG3P5beGU5xSxOW8G8zPmkJ2Z8\n7j0GVy9px38Ty8CFm58bz54ZQQD+uwtPVDzFzy7/hONtR5mdWk5RSvG0tilBIMJu3DuO6rvKxZ4L\ntAw3A/7bfMvzVrAwezELZlXc+b6+7sNW8xMMXufNT3mTCvDZZ4Wj9KiRaE5ke/kOXrj6PAea9vOl\n+V+Z1m1QCQIRNt2j3ZztOsXV3iu4vC4AZqWWsThnKZUZVTd7++/6C20wMrLgTzE56jAPV+OzZuDO\nXhP3/QO3U5JSyrysBVztvcy1vqvMy5of8LYkCERI+XQf1/urOdt1mqahRgBSrKksz1/JwqxFtz31\nn4yl8xAJ7e/iKniEsdm/jnGsM9hlx4wNRRu51neF052fSBCI6DPiHuFi93nOdp1heHwI8B/978tb\nwZz0isB7ur0uki/8NbopEceiv8BnKwLfeBArjy0ZiZmUp82hdqCGrtEucm25AW1nWkGgaVoucAp4\ncGJ9AzHDdY9280nHx1ztu4zX58VqsnJf3nKW5i4nO2n6S1/Yan6MeaSBkXl/4g8BAKN12tuNZfOz\nFlI7UEPtwPXwB4GmaWbgn4HRQLch4oOu6zQNN3Ky/QT1g3UAZCVlsSx3OQuyF5FgSghKO8bRFmzV\nP8BjL2O04mtB2WY8KEubjdFgpG6glrWF6wPaxnTOCL4L/Aj41jS2IWKYT/eh+q5xsuMEnSMdgL8D\na2X+auakVwT9YZ7ki/8Dg9eJY/FfQ5DCJR4kmZPITsqha7QTn+4L6LIroCDQNO0rQJdSar+maX8e\nyDZE7HJ73VzoOcepjpMMugYxGAxomXNZmb+awuSikLR5awehO29zSNqIZTm2XLpGO+l39pOVlDXl\n9we65Nkh4MZcTEsBBexUSnXd5W2y5FmMG/eOc6rtFMeaj+EYd2A2mlmWv4y1JWvJTArhNFteF7y8\nAUY64NnjkDy9wTPx6FDDIQ42HOTLS75MeUb5Z/86NCsdKaVuRrKmaQeBr08SAgDxvqxU3C559vD2\nh3jvyiE+6fiYMfcoCaYEluUtZ3neSuwWO14HdDuCV89nvz+b+j72oXpG5v0Jo2NpMBbc7z0efldc\nDp2RERctnd2keHI+195kgnH7UI70ccrpcXLZcYmrJ67QMzhAojmRdUUbWJ63kiRzUlhqkA7Ce2Od\n6DMZnxioNVXTDgKl1APT3YaILuPecc50nuJkxwlqhq+xlKVsLN7MstzlJJoTw1qLdBDeG33ieBzo\n+AwZUCRu8vg8nO8+y/G2Y4y6R0iy2FiSspRvrvkmQ/3hH7QjHYT3zqd7ATBIEIhA+XQfl3sucrTt\nCEOuIawmK+uLNrIifxVnTh4nwZwAhDkIPjOCUNzdqNs/nMcW4CWbBMEMpus61f2Kj1oP0TvWi9lo\nZkX+KtYUrMNmsUW0ttuOIBR35HD7Ox/t1sk7Bm9HgmCGahlu5mDzAdodbRgNRpbkLmNd4Xr/zD+R\nNtwsHYRTNOgaBCDFIkEg7kG/s4/DLR+i+q4BMDdzHhuKN5GZOPVBKCFz4i+kg3CKuse6SLamBHwm\nJ0EwQ4x5xjjRdowzXafw+rwUJhexpWTrtGe2CTZL5yFoeFM6CKdg1D3KkGuI8vQ5AW9DgiDOeX1e\nznWf4WjrRzg9Y6QlpLGpeAtzM+dFzcIeN010EGJKkg7CKWgf8c/unGfLD3gbEgRxrH6wjg+a9tM7\n1kuCKYHNJQ+wPG9F1M77f6ODkBXflg7CKWgcagCgNDXw6dqi8zdCTMuQa5CDzQdQfdcwGAwsy72P\ndUUbsVvskS7tjm4dQWhe/PvQN3MnG5mqhqEGLEYLRdN4BkOCII54fB4+6fiYE23HcPvcFKeUsHXW\nQ+TZ8iJd2qRuHUGYborAuIUYNeDsp2e0m9lp5dM605MgiBO1A9f5oOl9+p392C3JbCt7hAVZC6Ov\nH+A2ZARh4K71/+ruz3RIEMS4QdcAB5r2U9N/HaPByIr8Vawr3BD2ZwICJiMIp+Va75WJVZSrprUd\nCYIY5dN9nOk8xUethxn3jlOaOoutpQ+RY8uZ/M1RREYQBq5rtIuu0U7mpFdM+2lQCYIY1D7czs+v\nvETHSDtJFhvbZz0cM5cBt5JHjKfnfNcZABbnLJ32tiQIYsi4d5yjrUe45rjA8MgYC7IXsaVka8Sf\nCwiUPGIcOJfXxeXeS6QmpDInvWLa25MgiBF1g7Xsb3iHQdcgxVn5PFq0i7K02ZEuK2DSQTg9l3su\nMu4dZ3XBWlkNeSZwepx80PQ+l3ouYDQYWV2wlieWPMpAn3PyN0cr6SCcFq/PyycdH2M2mlmUsyQo\n25QgiGJ1AzW82/AOw+ND5NnzeXT24+TacrGYLEDsBoF0EE7Pld5LDLoGWZ634tNLxU+DBEEUcnqc\nHGw+wMXu85iMJjYWb2ZV/hpMRlOkS5s26SCcHp/u40T7MUxGEyvzVwdtuxIEUaZusJZ3699meHyI\nXFse28t3BLyMVTSSDsLpudJ7mX5nP0tyl5GakBa07Qa6wIkZ+ClQBliBv1VK7QtaVTPQuHecg80H\nON91FqPByIaiTawuWBsXZwE3SAfh9Li9bo60HMJsNLOmYG1Qtx3oGcEXgR6l1Jc1TcsEzgISBAFq\nc7TyZt1e+p395Nhy2V6+IyaeD5gS6SCcttOdnzA8PsTqgrWkJaQHdduBBsGLwEsTHxsAd3DKmVl8\nuo8Tbcc41vYROjqrC9ayoWhTXJ0F3CAdhNMz4h7h4/bjJFlsrA7y2QAEvtLRKICmaSn4A+HbwSxq\nJhhw9vNW/Ru0DDeTYk3lsfId03qePJpJB+H0HWk5hMvrYmvxtpA8RxLQ2ocAmqaVAK8C31dK/ewe\n3iIrIuGfOfhC5wXeuv4WLq+LBTkLeLzqcZIs4Vk5KCL2/wY0vAmPvAglsh7O7Vzuhr01YDKC2eD/\n02QEkwEGnU2cbfspm0rz+N3lvxPIGWNo1j7UNC0PeBf4hlLq4L2+L9bXl5tuey6vi/ca3uFq72Ws\nJisPTjwj4Bjw4ODeaw332oc7d+4IuD1L5yHSJ+YgHEpcCfewnWj8twt1e9k6nG5N5INWy6c+r+te\nKu2vsyrXzfqs++nrHQ2ovckE2kfwLSAd+EtN0/4K/9H+UaVUYAuvzQCdo53sq9lDn7OPwuQiHi/f\nSXpiRqTLCi3pILwrjw/O9Zg40m7icJuZK/2fPtLn23w8N/sgDlcbS3OXhXSi2UD7CL4JfDPItcQl\nXdc5332WD5rex+PzsKpgDRuLNsdlh+BnSQfh53WPGdh/Bd5UiRxtNzPk9p+1p1l1Hpvl5kCLGZcX\n/kuVm9/Q2nhZHcJmsbOx+P6Q1iUDikLo1kuBRHMST1Q8yZz0ykiXFRbSQeh356O+hQWZXjYVeNhU\n6GFxlo9RD6gBG3+zysnSbA//eXUfHp+Hx8p3hnz1aQmCELn1UqAouZgdc54I6kiwaDeTRxB2jxlu\n7vi3O+o/pllYYneQnfTp/nOzEfY8MorVBMfbjtPuaGN+1kK0zLkhr1mCIAQudp9nf+O7M+5S4IaZ\nNoLwbtf6nz3qm42Qk2Ohu/vzN9FsE3tj50gHR1uPkGJN5cFZD4Xle5AgCCKvz8sHTfs523Vmxl0K\n3DRDOggnO+pvKvCwocD7uaP+ZMa947xRtxef7uOR2dvDNvekBEGQDLuG+aX6OS3DzeTYcnmyYnf8\n3xW4jXjtIJzqUT9Q7ze+R+9YD8vzVjA7rTwIld8bCYIgaB1u4cD1t+gY7mFe1gIeLnsUq8ka6bLC\nLt46CEN11L+Tiz0XuNRzgXx7AZvDPPBKgmAabtwaPNC0H5vNypbSrazIWxVzk4gGS6x3EIbrqH87\n3aPdvN/wLonmRHbO2RX2ZekkCALk9Xl5v+k9znedJcli40uLv0iyJzvSZUVMrHYQTnZfP9hH/dsZ\n946zt3YPbp+bxyI00EyCIABjnjFer3mVpqFGcm15PFX5NLMzisM6TDWqxFAHoccH53tNHG6b/L5+\nsI/6t6PrOm/Xv0HvWA8r8ldSlamFvtHbkCCYoj5nL69Wv0Sfs4/KjCoeK985I/sDbhXtHYR3u9bf\nXuq/r780+fP39cPheNtRVN81SlNnsbk4cg9kSRBMQeNQA6/X7MHpGWN1wVo2Fd8/Y/sDbojGDsI7\nH/Wndl8/1Kr7FB+1HiYtIY0dc3ZFdKyJBME9utB9jvca3sFgMPBo+eMsyl4c6ZKiQrR0EE521N9U\n6GFjiK/1p6JrtIu36vdhMVrYVfl0xJeslyCYhK7rHG758ObsMLsqnqIkpTTSZUWFSHYQTvWoH00c\n4w5eu/4y495xnqh4KiqmpZMguAuvz8s7DW9xuecimYmZ7K56lozEzEiXFR0i0EEYa0f92xn3jrPn\n4isMuAZYX7QxLM8R3AsJgjtweV28XvMqDYP1FCYX8VTlMzG7xmAohKODMJaP+rfj033sq32NDncb\nC7MXs65wQ6RLukmC4DYcbgevVL9I50gHFRmV7CjfNbG6kIDQdhDe7b5+rBz1b0fXdd5vfJfagRoW\nF89nW/6jUdXRLEHwGX3OXl5Sv2DQNciS3GVsm/VwUBaZjCfB7CCMtvv6ofJxxwnOdZ0l15bHswue\nZah/PNIlfYoEwS06Rzp4sfoXjLlH2VC0ibWF66MqtaNBMDoIo/m+fihc6D7H4eaDpCak8nTVsySY\nEwAJgqjUOtzCK9dfxOV18XDZoyzJXRbpkqJPgB2EsXJfPxSu9l7h3Ya3SbLYeLrqCyRbJ59INBIk\nCICGwXpeq3nl5rRQ87MWRLqkqDSVDsJ46OGfrtqB67xZtxer0cozVc+RnRS9z6IEHASaphmAHwJL\n8K/R/TWlVF2wCguXmv7r7K3dg47OrordVGTMsIlE7tFkHYTx1sM/XU1DjbxesweTwcRTVc+Qby+I\ndEl3NZ0zgl1AglJqnaZpq4HvTXwuZlztvcKbdXv9/1iVz1CWNjvSJUWt23UQylH/9todbbx6/SX/\nwaVyd0wMQJtOEGwA3gFQSn2sadqK4JQUHpd7LvFW/T6sRiu7q56lOKUk0iVFr+YDJLS/y0j+dk4Y\nH+DweTnq30m7o42Xqn+B2+dm55wnKU+bE+mS7sl0giAVGLzltUfTNKNSynenNxw//uE0mpuanTt3\n3LG9hrEGTgwcx2ywsCVrC82XammmNmTtBVs42xofG2b/wff5ueunvF//MCN1/rMBu3GcVfYOFid1\nscjWRZppHEbBVQOf1EyvzXB+f8Fsr2e8hw/7DuLRPaxJX0uf6uA4HSFr717t3Llj0q+ZztqHfw8c\nV0q9PPG6SSl1t3OgqDg/vNx1mZevvIzVZOXLS75MUWr0PTYbVTxO/m7vaf5383qW5sLWMnhwFizP\nZ8Ye9W+nebCZ5y88j9vn5ql5T7Ewd2GkS7pVaNY+nHAUeBx4WdO0NcDFyd4Q6fXlVN819tW+5n/i\nS3sSqys1aDWFc/28cK99+LVHdrCr59P39ft7Q9dmNKxFOBWtwy28XP1L3D43j895gjzDrLtuLxLf\n32SmEwR7gG2aph2deP3VaWwr5Kr7FPtqX8NsNPN01XMUJsuZwL3KsQEzrMPvXrUMN/Ny9S/x+Dzs\nmLMrah4imqqAg0AppQO/F8RaQqZ+sI59db8KgVAuJilmjrqBGl6v2YNX98Z0CMAMGFDU5mjl9ZpX\nMWDgycqn5e6ACIobt56NBiNPVu6O+YVs4joIuke7ebn6RTw+D09UPMWs1LJIlyTiwLmuM+xvfBer\n0cpTVc/ExDiBycRtEPSP9fNS9S9wesZ4tPxxKjOqIl2SiAMn2o9zuPkgNoudZ6qeI8+eH+mSgiIu\ng2DEPcLeCy/iGB9mS+lWmV9QTJuu6xxqOcjJ9hOkJqTyrPZrZCZmRbqsoIm7IHB73ey5/jKDeh9r\nCtexMn91pEsSMc7j8/B2/Rtc7b1CVlIWz1R9Ie6WuI+rINB1nbfq99HmaGVt+Uo2ZMXOijsiOo15\nxnjt+is0DzdRnFLCrordcTllXVwFwaGWg6i+a5SklLJT20l/71ikSxIxbNA1wMvVL9I71sPczHls\nL98R9jUJwyVuvqtzXWc42X6CrKQsdlXujtt/MBEeHSPtvFL9EiNuByvzV3N/yQNxPVtVXOwtjUMN\nvN/4HkkWG09VPkOSOSnSJYkYVjtwnX21r+P2udk6axvL81ZGuqSQi/kgGHQNsLf2NQwGA09W7JZ1\nB0TAdF3nZMfHHG45iNlgZlfF7hlz2zmmg8B/h+AVxtyjPFT2iIwaFAHz+Dy82/A2l3sukmJN5cnK\n3VE/q1AwxWwQ6LrOOw1v0TXayZLcZSzJkclGRWCGXcP84tp/0uZopSC5kCcrdkftJKOhErNBcLrz\nE672XqYouZitpdviuiNHhE7HSDv7a96g3dHN/KyFPDJ7+4zsaI7J77jd0cahloPYLck8UfHkjPyH\nE9N3tfcK79S/SUKSiU0lW1idv2bGHlBibg9yepzsq30Nn+7jsfIdM+4UTkyf1+flUMsHnOr4BKvJ\nyhcWfoFMvTDSZUVUTAWBruu81/A2A64B1haul1mHxZQ5xofZW/saLcPNZCVls6tiN1p2WVhnDIpG\nMRUEF7rPca3vKsUpJawv2hjpckSMaR5uYm/Na4y4HczNnMcjsx/DarJGuqyoEDNB0O/s44Om90k0\nJ/F4+U5ZmFTcM13XOdV5kkPNBwF4oPRBluetnLH9AbcTE0Hg0328Xf8mbp+bR2Y/FndPfonQcXqc\nvNfwNtf6rmK3JLOzYldcTCQSbDERBKc7P6FluBktcy5zM+dFuhwRI9odbeyrfY0B1wAlKaXsmPOE\ndC7fQUBBoGlaKvA8/kVOLMAfK6VOBLOwG3rHejnScgibxc6Dsx6W0zkxKV3X+aTjJIdbDqKjs7Zw\nPeuLNsrl5F0EekbwR8D7Sqn/o2laFfACsDx4ZfnduEtwY5Viu8Ue7CZEnBlxj/B2/RvUDdRityTz\nWPkOubt0DwINgu8BromPLUBIHvy/1HuR5uEmqjK0mJ4qWoRH41ADb9btwzE+zOy0craX75CDxz2a\nNAg0TftN4A/xL1lmmPjzq0qp05qm5QP/AfxBsAsb84zxYfMHWIwWHih9MNibF3HE6/NytO0IH7cf\nx4CBzSUPsCp/tVxGTsF01j5cBPwcf//Ae/fwlik19Eb1G5xqO8W28m2sL10fUI0i/nWPdPPq1Vdp\nd7STkZjB7vm7KU6VBWw+IzRrH2qaNh94EXhWKTXpmoc33Ovorc7RTg7XHCMzMYs5CQsCGvUVa+vn\nRWtbx49/yM6dO6LuZ6nrOqc7P+Fwy4d4fB4W5yxlS+lWElwJU641nn9XbrQ3mUD7CL4DJAD/pGma\nARhQSj0Z4LY+53DzQXRdZ0vpVkxGU7A2K+LEkGuQt+vfpHGoAZvFzo45u2bMBCKhElAQKKV2BbuQ\nGxoG66kfrGNWahmzU8tD1YyIUVd6L/N+47s4PU4qMip5qOxRki3JkS4r5kXVgKIbi0gAbC7ZIp09\n4iaH28GBxvdQfdewmqw8Mns7i7KXyO9IkERVENQO1NA50sG8rPkzapoocWe6rnOl9zIHmvbj9IxR\nnFLCo7Mfk7kpgyxqgkDXdU60HwNgTYHcJRAwPD7Eew3vUDtQg9Vk5cFZD7Esd7mcBYRA1ARB03Aj\nbY5WKjOqyLHlRLocEUG6rnO+6ywfNn+Ay+tiVmoZj8zeTlpCeqRLi1tREwQftx8HYE3BughXIiJp\nwNnP2xf2cLHlKgmmBOkLCJOoCII+Zy8Ng/WUpJRSkDyzp4yaqbw+Lyc7TnC87SgJSSbmpFfwUNkj\npFhTI13ajBAVQXC+6xwAS3JlSvKZqGmokf2N79I71oPdkszueTvJM8ySs4AwingQeHweLvZcwGax\nU5WhRbocEUaj7lE+bP6ASz0XMBgMLMu9j43F91OSlzPj5xAMt4gHQf1gHU7PGCvzV8u05DOErutc\n6rnAweYPcHrGyLXl8XDZo3JZGEER3/Ou9V0BYF7W/AhXIsKhY6SdA437aXW0YDVZeaD0Qe7LWyGT\nhkRYRIPA7XVTO1BDekI6ebb8SJYiQszhdnCk5RCXei6g6zpa5lweKH1QOgOjRESDoHm4kXHvOEtz\n75OOoTjl9Xk53XmK420f4fK6yLblsLV0G7NSyyJdmrhFRIOgYagBgLJUmUoqHtUN1HCw+QC9Y70k\nmpN4cNZDLM29Ty4DolBEg6BxqAGz0SzLmceZ7tFuDrccpHag5ubdgPVFm7BZbJEuTdxBxILA5XXR\nM9ZNSUqp3C2IE47xYT5qPcLFnvPouk5p6iweKN1Gri030qWJSURsD+wZ7UbXdXJteZEqQQSJy+vi\nZPsJTnWcxO1zk5WUzf0lWyhPq5C+nxgRsSDoGu0EkCCIYV6flwvd5zja9hGj7hGSrSlsLdrGwuzF\n0g8QYyIWBP2ufgAy5bnymOPTfVzru8qx1iP0OfuwmqxsKNrEivxVsqhojIpYEIy4HQCkyBJUMUPX\ndar7FUfbjtAz2o3RYGRZ7n2sLdog04XFuAgGwQgAdvkFinq6rlM7cJ0jLYfpGu3EYDCwMHsx6wrX\nk56YEenyRBBMKwg0TZsLnABylVLjU3mvx+fBZDTJtWQU03Wddlc7Pzn7E1R7LQaDgXlZC1hXuIGs\npKxIlyeCKOAg0DQtBfgu4Azk/V7di8kgU5VHI/8ZQA0n2o9xsu8oWo5GVYbG+qJNMntUnJrOGcG/\nAN8CXg+oYYMZj8+DrutyiylK+HQfqu8aJ9qP0T3aBUBRQhFfX/51zE65hItnU1378IYm4AWl1MWJ\nBU6mLNGciE/3Me4bJ8GUEMgmRJB4fV6u9F7i4/bj9Dn7bl4CrC5YS+35KxSkFNDtlPkB4llAax9q\nmlYNtOAZLixoAAAKvElEQVRfU20N8LFS6v5J3vaphvaqvZxpP8M3Vn6DHLucbkaCy+PibMdZjjcf\nZ9A1iMlgYkn+EjaUbiAzSW7rxpHQrH2olLq5vpSmafXAtnt5362zzpjHbYyMuFAtDZCZGEgZdxXP\n69lNt60h1yCnO09xofscLq8Li9HC4pwlrMxfTWpCGl4HdDv824/WtQ+lvam1N5lg3D68sVz6lOQk\n+ceft4+0oWXODUIZYjLtjjZOdZ5E9V3Dp/uwW5JZVbCGJTnL5IGgGW7aQaCUCmiBwqLkYsxGM/WD\nddxf8sB0yxB34PV5uT5QzZnOU7QMNwOQY8tlRf4q5mXOlwe+BBDBAUUWk4WSlFLqB+voc/aSmSj3\npYNpyDXIhZ7znO86d3MUZ3n6HFbkrWJWapncqRGfEtHDwcLsxdQP1nG+6xxbSrdGspS4oOs6DUP1\nnOs6Q83AdXRdJ9GcyIr8lSzJuU8GAYk7imgQVGZUYbckc777LKsK1mC32CNZTswaHh/icu9lLnaf\no9/pf5gr317A0txlzM2cLw8CiUlFNAjMRjNrCtdyoHE/x1qPsK3skUiWE1M8Pg/X+6u51HOBhqF6\ndF3HbDSzMHsxy3Lvk6nBxZREvKdoac59nOs6w9muM1RlzpVJLe9C13U6Rto52V/DifpTOD3+0d2F\nyUUszF7E3Mz5JJqDfytWxL+IB4HJaGL77B3859V/5826fXxx3pdJTUiLdFlRpXu0m2t9V7jWd4V+\nZz92ewImg4VVBWtYmL2Y7KTsSJcoYlzEgwCgILmQzSVbONh0gFeuv8Rz2q/P+Pvafc5ervVe5Wrf\nFXrHegCwGC3My5rPxso1pHpz5clNETRREQQAK/JWMega4EznaV649jzPal+YUYtf6LpO52gHNQPX\nud5fffOhH7PRTFWGhpY5jznpFVhNVnKywjsyTcS/qAkCg8HA1tKHMBqMnOr4hH+//G88Vr6DsrT4\nXfPA4/PQNNRAzcB1agZqcIz7d26T0UR5+hzmZs6nMqNKHsoSIRc1QQD+MNhS8iCp1jQ+bP6Al6p/\nwX25y1lftCkuOsF0XadnrIfGoXrOd53lYPMHVGZUkWROIsliY0H2IirSKylLmy07vwirqAoC8IfB\nivxVFCUX82bdXk53nuJq31XWFq5jcfZSLCZLpEu8Z7quMzQ+SNNwE42DDTQONdwc5TfqHiUtIY0V\neatYnLuEouRiueYXERN1QXBDQXIhX1n4NU51nOR421EONO7neNsxluXex4KshVE5V57H56FzpINW\nRyvtI620Olpvnu6Df37G+VkLmZVWRllq2YzqAxHRLWqDAG4MOFrHopwlnO78hLOdpznaeoSjrUco\nSSmlPL2C8rQ5ZCdlh33s/JhnjO7RLrrHuuga7WKscZD67ma8Pu/Nr0m2pqBlzqUouZhZqbMjUqcQ\n9yKqg+AGu8XOpuL7WVOwDtV/jcs9F2kaaqR5uIlDzR9gtyRTkFxAvq2APHseaQkZpHun16fg032M\nukcYcY8w4Bqg39XPgLOfAVc//c5+hseHPvX1aSl2cpJyKUwupDC5mKLkIlKtabLji5gQE0Fwg9Vk\nZVH2YhZlL8bhdtAwWE/9YC0twy3U9F+npv/6za+11yVgcFuxmW0kmhNJMieRYErEaDBgwIBh4k+3\nz4PbN864dxy3z82YZ4wR9whjnlFuN3uTwWAgxZrC7LRycmy55NryyEnKZW5pGb09I+H8cQgRNDEV\nBLdKtiSzMHsRC7MXAf4FODtHO+ge7WbANYDP6qSlp4NB1wBdo6573m6CKQG7xU5WYhZ2ix27xU5q\nQhoZCZmkJ2aQnpB+22f4paNPxLKYDYLPSramkGxNYU56JfDp6aC8Pi9OrxOX14mu+0/79Yn/LEYz\nVqMVi8mKxWiRHVrMSHETBHdjMpqwG+3ymLMQdyCHPyGEBIEQIsBLA03TjMD3gOVAAvDXSqm3glmY\nECJ8Aj0j+BJgVkptBHYBFcErSQgRboF2Fj4MXNQ07Y2J1/8tSPUIISIg0LUPu4ExpdTjmqZtAv4N\n2BySCoUQIRfo2ocvAC8qpfZMvG5XShVM8rapNySECIbQrH0IfARsB/ZomrYEaLyXN8X7+nKxsvbh\nVMjah/HR3mQCDYIfAz/SNO34xOvfDXA7QogoEOhqyOPAbwW5FiFEhMiAIiGEBIEQQoJACIEEgRAC\nCQIhBBIEQggkCIQQSBAIIZAgEEIgQSCEQIJACIEEgRACCQIhBBIEQggkCIQQSBAIIZAgEEIgQSCE\nQIJACEHgS56lAr8A7IAL+KJSqiuYhQkhwifQM4KvABeUUpuBF4E/DVpFQoiwCzQILgKpEx+nAuPB\nKUcIEQlTXfLMMPHnfwUe0jTtMpABbAxlkUKI0Jo0CJRSPwV+euvnNE17BfhfSqkfa5q2CHgVWBKa\nEoUQoRboSkd9wODEx93A5GsqgeFell4KpnhuL1xt7dy5I6zt3SDthVegQfBXwP/TNO0bE9v4WvBK\nEkKEW0CrIQsh4osMKBJCSBAIISQIhBBIEAghCPyuwZSE+9kETdOMwPeA5UAC8NdKqbdC1d4t7c4F\nTgC5SqmQjbac+Hk+j39UpwX4Y6XUiRC0YwB+iH+MiBP4mlKqLtjt3NKeGf+YlTLACvytUmpfqNqb\naDMXOAU8qJSqDmVbE+39GbAT/7/bD5VS/xqidszAz/D/LD3Ab9/t+wvXGcFXCO+zCV8CzEqpjcAu\noCLE7aFpWgrwXfw7TKj9EfC+Uup+4KvAD0LUzi4gQSm1DvgW/nANpS8CPUqpTcB24PuhbGxiZ/ln\nYDSU7dzS3mZg7cTP836gJITNbQdMSqn1wN8A37nbF4crCML9bMLDQKumaW8A/wKE9Kgy4V/w7yzh\n+KX6HvB/Jz62AGMhamcD8A6AUupjYEWI2rnhReAvJz42AO4Qt/dd4EdAW4jbueFh4JKmaa8Be4E3\nQthWNWCeOKtLY5J9LuiXBuF+NuEz7d3QDYwppR7XNG0T8G/A5hC21wS8oJS6OPGDD5o7/Dy/qpQ6\nrWlaPvAfwB8Es81bpPKrEaQAHk3TjEopXygaU0qNws2zq5eAb4einYk2vgJ0KaX2a5r256Fq5zOy\ngVLgcaAcfxjMDVFbDmA2cA3ImmjzjsIyoGji2YR3bnk24XmlVMieTdA07QXgRaXUnonX7UqpghC2\nVw204N9R1wAfT5y2h8zEz/Hn+PsH3gtRG38PHFdKvTzxukkpVRqKtm5pswT/syvfV0r9LITtHAJu\nBNpSQAE7Q9x39Xf4w+cfJl6fw9830ROCtv4ecCqlvq1pWhFwEFh4p76rsHQWEtizCdPxEf5rpD2a\npi0BGkPZmFKq6sbHmqbVA9tC2Z6mafPxn0Y/q5S6GMKmjuI/krysadoa/Jd4IaNpWh7wLvANpdTB\nULY10V91o92DwNfDMLnOR/jP3v5B07RCwAb0hqitPn51aTWAf1833emLwxUE4X424cfAjzRNOz7x\n+ndD3N6tbpzCh9J38N8N+aeJS5EBpdSTIWhnD7BN07SjE6+/GoI2bvUtIB34S03T/gr/z/JRpZQr\nxO2GZZy9UupNTdM2app2Ev/vyO8rpULV9j8CP9U07TD+fqRvKaXu2JckzxoIIWRAkRBCgkAIgQSB\nEAIJAiEEEgRCCCQIhBBIEAghkCAQQgD/H1xS19UcftZvAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Unit circle\n", + "print 'Unit circle:'\n", + "matrixToPlot(np.array([[1, 0], [0, 1]]))\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()\n", + "\n", + "print 'First rotation:'\n", + "matrixToPlot(V)\n", + "plt.xlim(-1.5, 1.5)\n", + "plt.ylim(-1.5, 1.5)\n", + "plt.show()\n", + "\n", + "print 'Scaling:'\n", + "matrixToPlot(np.diag(D).dot(V))\n", + "plt.xlim(-9, 9)\n", + "plt.ylim(-9, 9)\n", + "plt.show()\n", + "\n", + "print 'Second rotation:'\n", + "matrixToPlot(U.dot(np.diag(D)).dot(V))\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Just to be sure, you can compare this last step with the transformation by $\\bs{A}$. Fortunately, you will see that the result is the same:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "hideCode": false, + "hidePrompt": false, + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "matrixToPlot(A)\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Singular values interpretation\n", + "\n", + "The singular values are ordered by descending order. They correspond to a new set of features (that are a linear combination of the original features) with the first feature explaining most of the variance. For instance from the last example we can visualize these new features. The major axis of the elipse will be the first left singular vector ($u_1$) and its norm will be the first singular value ($\\sigma_1$)." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u1 = [D[0]*U[0,0], D[0]*U[0,1]]\n", + "v1 = [D[1]*U[1,0], D[1]*U[1,1]]\n", + "\n", + "plotVectors([u1, v1], cols=['black', 'black'])\n", + "\n", + "matrixToPlot(A)\n", + "\n", + "plt.text(-5, -4, r\"$\\sigma_1u_1$\", size=18)\n", + "plt.text(-4, 1, r\"$\\sigma_2u_2$\", size=18)\n", + "\n", + "plt.xlim(-8, 8)\n", + "plt.ylim(-8, 8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "They are the major ($\\sigma_1u_1$) and minor ($\\sigma_2u_2$) axes of the elipse. We can see that the feature corresponding to this major axis is associated with more variance (the range of value on this axis is bigger than the other). See [2.12](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.12-Example-Principal-Components-Analysis/) for more details about the variance explained." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# SVD and eigendecomposition\n", + "\n", + "Now that we understand the kind of decomposition done with the SVD, we want to know how the sub-transformations are found.\n", + "\n", + "The matrices $\\bs{U}$, $\\bs{D}$ and $\\bs{V}$ can be found by transforming $\\bs{A}$ in a square matrix and by computing the eigenvectors of this square matrix. The square matrix can be obtain by multiplying the matrix $\\bs{A}$ by its transpose in one way or the other:\n", + "\n", + "- $\\bs{U}$ corresponds to the eigenvectors of $\\bs{AA}^\\text{T}$\n", + "- $\\bs{V}$ corresponds to the eigenvectors of $\\bs{A^\\text{T}A}$\n", + "- $\\bs{D}$ corresponds to the eigenvalues $\\bs{AA}^\\text{T}$ or $\\bs{A^\\text{T}A}$ which are the same.\n", + "\n", + "Let's take an example of a non square matrix:\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 7 & 2\\\\\\\\\n", + " 3 & 4\\\\\\\\\n", + " 5 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "The singular value decomposition can be done with the `linalg.svd()` function from Numpy (note that `np.linalg.eig(A)` works only on square matrices and will give an error for `A`)." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.69366543, 0.59343205, -0.40824829],\n", + " [-0.4427092 , -0.79833696, -0.40824829],\n", + " [-0.56818732, -0.10245245, 0.81649658]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[7, 2], [3, 4], [5, 3]])\n", + "U, D, V = np.linalg.svd(A)\n", + "U" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 10.25142677, 2.62835484])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.88033817, -0.47434662],\n", + " [ 0.47434662, -0.88033817]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## The left-singular values\n", + "\n", + "The left-singular values of $\\bs{A}$ correspond to the eigenvectors of $\\bs{AA}^\\text{T}$.\n", + "\n", + "### Example 5.\n", + "\n", + "Note that the sign difference comes from the fact that eigenvectors are not unique. The `linalg` functions from Numpy return the normalized eigenvectors. Scaling by `-1` doesn't change their direction or the fact that they are unit vectors." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "U, D, V = np.linalg.svd(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Left singular vectors of A:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.69366543, 0.59343205, -0.40824829],\n", + " [-0.4427092 , -0.79833696, -0.40824829],\n", + " [-0.56818732, -0.10245245, 0.81649658]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvectors of AA_transpose:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.69366543, -0.59343205, -0.40824829],\n", + " [-0.4427092 , 0.79833696, -0.40824829],\n", + " [-0.56818732, 0.10245245, 0.81649658]])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.dot(A.T))[1]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## The right-singular values\n", + "\n", + "The right-singular values of $\\bs{A}$ correspond to the eigenvectors of $\\bs{A}^\\text{T}\\bs{A}$.\n", + "\n", + "### Example 6." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": true, + "hideCode": false, + "hidePrompt": false + }, + "outputs": [], + "source": [ + "U, D, V = np.linalg.svd(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Right singular vectors of A:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.88033817, -0.47434662],\n", + " [ 0.47434662, -0.88033817]])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvectors of A_transposeA:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.88033817, -0.47434662],\n", + " [ 0.47434662, 0.88033817]])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.T.dot(A))[1]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "## The nonzero singular values\n", + "\n", + "The nonzero singular values of $\\bs{A}$ are the square roots of the eigenvalues of $\\bs{A}^\\text{T}\\bs{A}$ and $\\bs{AA}^\\text{T}$.\n", + "\n", + "### Example 7." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 10.25142677, 2.62835484])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U, D, V = np.linalg.svd(A)\n", + "D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvalues of A_transposeA:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 105.09175083, 6.90824917])" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.T.dot(A))[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eigenvalues of AA_transpose:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 105.09175083, 6.90824917, -0. ])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.eig(A.dot(A.T))[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Square root of the eigenvalues:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 10.25142677, 2.62835484])" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sqrt(np.linalg.eig(A.T.dot(A))[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# BONUS: Apply the SVD on images\n", + "\n", + "In this example, we will use the SVD to extract the more important features from the image. It is nice to see the effect of the SVD on something very visual. The code is inspired/taken from [this blog post](https://www.frankcleary.com/svdimage/).\n", + "\n", + "Let's start by loading an image in python and convert it to a Numpy array. We will convert it to grayscale to have one dimension per pixel. The shape of the matrix corresponds to the dimension of the image filled with intensity values: 1 cell per pixel." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nx3V2dlbT6fQKwKT9bMs+xv85COG/XOvMu+1X+iPTguucqaWvbsttUK83i7mf1kno7EDCr9Qp1oNR\nj+1f8o9+uF73GX+X91MyOeKSIMn9TdpU1ZXnCXv8ZMSd0PDzvT1etw9vUgdaGfEHVW40aMPg40gs\n2C2U6yjJzEykbifA96r+YbdZn5XaaV5nlaiDNjOjlNlBR+BVm+lGj8HjsPGifpy5aeBxZHbBymOD\n4RPhTXeDJkd0pktGM+6HwRJtOesE6OW6/f393hEs5vN63T5LKqeZ4ElrrMl7F0dS3O+1U4zJjzVh\njF6nRb8MLs1794vSmg5IubbBSKMNb3jldI6nqvf397tMGtlQwDhjsXFdre6ug0NG7BS8mYA+m79c\nkxkG/4785Pgsx5YDy62zKRTzylnK2WxWX/va12o6nXb0WiwW9YY3vKF+6Id+qJ544ol64oknumlG\nwJ6fdmG+r9frun37dj366KP16le/ut72trfVpz/96frQhz5Uh4eHdfv27U5/AMgnJyc9BwPI8PNM\nzc9WFtlT39RdVV39BmTIOjtv2bxhu4AupAzSnvsDuHbg5yyQbYNlN+XV42xln1rBdhbbZQOGqj7I\nws56vRX0z5MCDGBbbdmOJ3jKzFxrDK1EQs7ceJeibSegjB39ln10zWMwjU1XgikDK/M8S/rJln8k\n22wglv2nzwZOyUPrcgLaoeLjfiy32RfoxNNXHGjkGjbXk3Lwf11uNGizQ86I1Arq622Mqq4qzpBy\nZhRlQUnn6kiQ33wgI9kO+p2PyXB7GJRW/+mPMxmkcg1+qCOFO40/RsuCaOHEWDCVwhgYE/X4yQm0\nY5DJPTbq/F/VN+y04/V/5pM/2yi4bd4NGky/lvFP0OZpTvcLB0fkywnrBup+mLKznckPR3GWN2fs\nMKrw2/Q0gKQ9G0AAUGZeR6NRlzFlzdtotDmvjTVQHAuBHAPs2IWKsff5XwBCHEBVdWAcOjgDgOyx\naYDrDbSgAbw0WHf2xDzObAWAlM056/Xdw4mrqr72ta/V7u5uvfnNb66f+qmfqscff7yOjo5qtVrV\nt771rdrd3e0epeWsgJ12yvrOzk595Stfqde85jX1F3/xF/W+972vPvOZz9Sjjz7a6Scy1crKsmie\nvsNPOyTrbGZ3RqNR94zNfHwTv5FZsL1p2ZwEVNThZRW02cpaU086ONsetznkCK8DbEPXeyoOZ2ya\n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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from PIL import Image\n", + "\n", + "plt.style.use('classic')\n", + "img = Image.open('test_svd.jpg')\n", + "# convert image to grayscale\n", + "imggray = img.convert('LA')\n", + "# convert to numpy array\n", + "imgmat = np.array(list(imggray.getdata(band=0)), float)\n", + "# Reshape according to orginal image dimensions\n", + "imgmat.shape = (imggray.size[1], imggray.size[0])\n", + "\n", + "plt.figure(figsize=(9, 6))\n", + "plt.imshow(imgmat, cmap='gray')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will see how to test the effect of SVD on **Lucy the goose**! Let's start to extract the left singular vectors, the singular values and the right singular vectors:" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "U, D, V = np.linalg.svd(imgmat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check the shapes of our matrices:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(669, 1000)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "imgmat.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(669, 669)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(669,)" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1000, 1000)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remember that $\\bs{D}$ are the singular values that need to be put into a diagonal matrix. Also, $\\bs{V}$ doesn't need to be transposed (see above).\n", + "\n", + "The singular vectors and singular values are ordered with the first ones corresponding to the more variance explained. For this reason, using just the first few singular vectors and singular values will provide the reconstruction of the principal elements of the image.\n", + "\n", + "We can reconstruct an image from a certain number of singular values. For instance for 2 singular values we will have:\n", + "\n", + "\n", + "We can reconstruct the image from few components\n", + "\n", + "In this example, we have reconstructed the 669px by 1000px image from two singular values. " + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAFzCAYAAAD2cOlVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsfVGsrVtV3lh773O5956DNLYoFynh6IVLsaBJfehDwVgD\nDRa5JGivD01EomlTkvJCAPXFNJEK2IqYNG00gCExIBLgKkQ0ag1NNGlM5I1LufqgFLAYL9x77qHc\ns/fuA459vv2d7xtzzH+tvc46do1kZ601/znHHHPMMcf45vjn/+/VH/zBH5zGnva0pz3taU972tMd\nQge3W4A97WlPe9rTnva0pxnag5c97WlPe9rTnvZ0R9EevOxpT3va0572tKc7ivbgZU972tOe9rSn\nPd1RtAcve9rTnva0pz3t6Y6iPXjZ0572tKc97WlPdxTtwcue9rSnPe1pT3u6o2gPXva0pz3taU97\n2tMdRUfb7vC9731vfOITn4hr167FC17wgnjjG98YV69e3bYYe9rTnva0pz3t6Q6lrWZePvCBD8Qn\nP/nJeOc73xkf/ehH4zu/8zvjzW9+c3zta1/bphh72tOe9rSnPe3pDqatgpeHH344HnrooXje854X\nd911V7z+9a+PGzduxKc+9altirGnPe1pT3va057uYNoaeLl27Vp88YtfjAceeOCs7PDwMO6///74\n3Oc+ty0x9rSnPe1pT3va0x1OWzvz8uSTT0ZExJUrV86VP/3pT49r166dKzs5OYm//uu/jnvuuSdW\nq9W2RNzTnva0pz3taU9r0OnpaVy/fj3+/t//+3FwcHH5ka2Bl3vvvTciIp544olz5Y8//ng885nP\nPFf213/91/Gv/tW/2pZoe9rTnva0pz3taYP067/+67fE9k3S1sDL5cuX41nPelY88sgj8aIXvSgi\nIo6Pj+PRRx+NV7ziFefq3nPPPRER8Q/+wT+4BbktzcSM2i3hm21OT0/bfLIuf6o6m2zr6nX1cu3a\ntbhy5UqsVquzP9cey6p6t5NYT6NxdHiM6qxWq7JNV0ePPfZYPOMZz2jV7drDjDxqTi9inteRfd32\nnXGcnp7GY489Fn/v7/29Yb9dWZRP6dTHNiz7jB5m+5+hTfF0fL761a/GN33TN21FBkfb8HNLx3DR\nY086OTmJL3/5y2dx/KJoq49KP/jgg/HBD34wvvu7vzue/exnx/vf//44OjqKl770pefqpQEcHh7K\n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\nj+3V7X0GLsofdcoc38q/jcodD67PvqmzeRrZhJPR2RT2vw1qgZdf+qVfiqOjo3jrW98aETcX2c/9\n3M/Fi1/84litVvG2t70tfuEXfiFe+9rXxl133RXf//3fH//m3/ybMx7f+73fG3/zN38TP/uzPxtf\n+cpX4rnPfW783M/93Ll3xTBh6jp/jyYe6yDixOwKOxZOkfMi4X7VoS9lLAx2EAipdjhOBc4i4uz/\nHPG4OFDwbaPsCxdy9lsZHe9UFBisAj7fGkE53JkH57BSHqV/HBPWZd7Kwao5YKrAyCywWpdwPvn8\nCpYjeMlylF09so/l+ccZQG6D/3uL+1qtbp5vYhlV0GPwVQU5B1BG4IV5KN2O6uWGgqkCo13aZgDY\nBlXj6Y6Vfc2o3mhNs8+K8IdwqwxpJYcCyfydNx3si2fAi5JL9aWuuzXI31FejCfd+dkktcDL7//+\n7w/rfMu3fEv8x//4H8s6r3nNa+I1r3lNT7K/JVbYTJv8Xk18F9G6IKeMzcni+kYZqwXSQfBuwbAs\n1aJW6N0R36Jxi3AktyO1kEZ1k6pAVI1PnQPCehUP5XhmZB4Ry8P677R3eunKhM6exz9yqNXarByr\n0rUDpJXco7pdnp21qGSt+lB+IespPziStRvIuc0IwPE6qOq4ftddF25tZf+4AezoXgXhGT9YyVXx\nqOxa8e7qV7Xt8nN9cBy83bTT/x4gyTk/VQc/eefNIEEFmZGhJTnAwsbLGYslDqQymhnDZdTMdRzw\n4GDD50HcodVq3CpLVI1LzSvuhio9oAwu26PkVY7PjW1UD4kdK5/XwnFy5hEP8qlAhm1Tx6kjvr3C\nB5ydHjgzibJyPR4Tl2P/KuuT19ztKZbTlXPm0a111C2WqfXHfeThTx43fuJ1llt9r+ymkkWNXwUk\ndZ5D9eHI6a/Ttrqu1lLlP9iPjfg6Odz6d3W4fMS7M1+KVwfgO7+iYtNoIznKKqn10JXrouiOAC+M\ngF0drssHyqq6LgWsDIrbY1klWzUWTnnjd5UGV9edHGrsTs5Zw5vZ9arf6OzVo6ksk+NTPeqHNuAc\nDmdbOPjwwWuUjXnyrS3nDCtnzfyTsgzPHCk9HR8f27NFDGb4serV6vx7Xhi84Dtcsgzlwd8uAFU2\ni/bAwZbrKZtdrfQ/vENSgILrVdnbBFhoI6iv/MT2HdDhgiqX8cFxNTa0exfk+emVCH1YX+kCg+W6\n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\n6+zt7cV73vOe+NSnPhX7+/tx5513xq//+q/H85///LIfrm6q++eu3tZWfX+XtM4TMrzFw7pOBv2d\nH/eyOT3We//ZL/ljm6MVNTfLunSok3+mHx4vCVTVSngdcm2yvc4hdA6vk4v6G5XvXvBXBUfdg7K9\nvV3KqGNbZSIq3jTI5nXNXOoL67IM6/Af0qm/LlvDVw043vVvCUijecmy7pt9sZ3qVQuzfS4NLhXf\nrt5ZARj3wkIl6n+23y5LNAMiOr1XZc6K1h2raq6dFnDO0HnrIqK/s3EetBhOPfjgg/Gtb31rhcFH\nHnkkfuu3fivuvvvu+Ju/+Zu499574wMf+ED84z/+43GZ97znPfH5z38+/viP/zg++tGPxtWrV+O3\nf/u3275ckKx+VwG1quNeVjTTtgMjSu7lWpVMs/11dbsyXX9O166+k9HVczLO0kUY+zoOJ8uPgMrs\n9dEKkGVHHwUQBA4VmHAf114FPhyAcWW17VE/jr+IGPKe4E3P5W/qcEYXFS/b29sr57OPDqBVYzu6\nPrKtqs2ujLPJirr2qdfq3GybM/Iu4X0T6Lx4XAd8VL75PGhJ5vDM+lxS+L/+67/igQceiHvvvXdF\nCQ8++GC86EUvile/+tWxvb0dd955Z9x1113xsY99LCIidnd348EHH4xf+qVfiuc///lx4403xpvf\n/Ob4t3/7t/iXf/mXsr8lQGX2k+VdvaVtaZ0KDHVtdv9vtA6Q4QvtujdEjkBKB3Y6/qq3onYAavZc\nd300UUfgbWk/zp664+r3DKB0dTtywWxUvgJaLtBcRArZBbbZ8mdR7rR1Z8arsw9nW7PtZrl1g9eM\n3SYt2VBdybSUr9G8G7VX+cBZuUdydH5n1pd3vM/6uopHJ0/X7szfnIxefXEetMgLvfOd74xf/MVf\nPHGr5+GHH47v+77vWzl3xx13xJe//OWIiPj3f//32N3djdtvv/34+nOf+9x44QtfGF/5ylfaPqsA\nydspXaBc97OkLZZV/nk8274DAu4x2TxmHxHXbzPxrwgqXbs3h7r+nGxLjHYUmC9qAjzV1K1YWW50\nvlvdzmwun1n9dvxUWYCZvpbIV2Us9HvpawKcDB2Ams0kdPR0yCRsOo38yFm1v65vO025CuRUvM0A\nmyXX3BukN4mm97xkFuVVr3rV8bmcfNeuXYsXvehFK+Wf85znxGOPPRYREY8//nhERFy9enWlzNWr\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "reconstimg = np.matrix(U[:, :2]) * np.diag(D[:2]) * np.matrix(V[:2, :])\n", + "plt.imshow(reconstimg, cmap='gray')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is hard to see Lucy with only two singular values and singular vectors. But we already see something!\n", + "\n", + "We will now draw the reconstruction using different number of singular values." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\nR84Gsi59JFll6cYgf9PXjAJ3J5cDFLSlqt0jH1jVS59RyekmYy5AVkCCslX1rOtL1hkbFRDo+qcL\n7KP2V3LyPseU60NnBxVV5bTtKu/DCWKmwMtqtYq3vOUt8ZSnPCW+853vxHvf+9747d/+7fjABz4Q\nEd9r1Fvf+tZ42tOeFn/9138d9957b7z1rW+NP/uzP4vXv/71ERHxz//8z/EXf/EX8fa3vz2e+cxn\nxt///d/HW97ylvjwhz+8BwQdJzmDqRyyu6/fJD4V1Mmg1zzMu1rVL2DKjwIk3ZLiDHsEuNh2zmL5\nCng1Xrc6obzcoEtg5pyUytaBtSrvuo7M8e0cfZU2u2LhAooL1gyIXLkj0NzYeOj9KnpwzjlPpruV\nTgcinIz8E0amqc1k253saneuLraBhwNzPPBQu269VfzIw6UrD24bUl/dljL1rTz0wzE7kp083L0R\nOdDBfuKq6qiuKujT9pO/63s33nnNOisZOzmYZ7TKNMPfAcEZ8Mr8SdXqvNpIBWpn/RLbMeqP46Yp\n8PLLv/zLu9dXXnllvPrVr47Xve51cd9998WZM2fi85//fHz5y1+O973vfXHFFVfEFVdcEbfccku8\n7W1vi9e97nWxubkZt99+e7z0pS+NZz3rWRER8cpXvjLuuOOO+OQnPxmvec1rbL1OgR3SqwYtnbE6\nNHUy7Hg63Ij9qz4sm8TAr3IrwFAHVp2xYZvznEPWq0CBZyAoR7aFKyt0HnT+Ed87QL21tbX7vzYR\ne0+xO/1UjwzqfdeHKr9Lz3taTs84ZVo3eyRvNxj5pMNM4OvIzc7VNtn3PGOkaTxQrjz1BXHsk8qB\nKR8Fqfrv0QQlWU7/SXpjYyO2trb25NfyqiuV07VRdeN0zXM9Cl74uKhSvh1Z+1XzuCezNL/bOtS2\n6nm6LF/p3wV26knJjQPycTxSr0ruXIZudWcaX0tx6tSpPcCRY5zkfCTbXAVKBuaRPirAUt2rgvG6\nkx/XPjeBdN8Rfqu3Aj+z52n44U5AJ7Nrn+Odcib/g04a16UDnXn593//93jc4x4XZ86ciYiIu+++\nO57whCfEVVddtZvn6U9/enznO9+JL3/5y3HttdfGl770pXj5y1++h8/1118fX/ziF8t6GFA7JNwF\noLzPmY4CBYcoCSQyTWeGLnDoIHNGWg3UrEsP83IWynQeKCXYohyVnlhGnVF+6z8KZ7v1HR10wiq3\n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\nTDQDLzOa0YxmNKMZzehORTPwMqMZzWhGM5rRjO5UtC73vJx//vn1iU98ohYXF+sBD3hAvfSlL60T\nTzzxjmbrZ4re97731b//+7/Xt7/97dq6dWudeuqp9cIXvnBsr9FNN91U5557bn3lK1+phYWFevSj\nH10veclLxh7/fPHFF9c//MM/1A9/+MM6/vjj6yUveUmdeuqpd0SXfmboz//8z+uyyy6rt771rfWr\nv/qrVVX1X//1X/Xud7+7rrvuurrb3e5Wu3btqjPOOGN0za233lrvete76jOf+Uzt3bu3HvrQh9Yf\n//Efz/aOHSJdccUV9f73v7+uuuqqmp+frxNOOKHe+c53VlXVtddeW+94xzvq6quvru3bt9eTn/zk\nes5znjN2/cyHHR76wQ9+UH/1V39V//mf/1l79+6t448/vn73d3+3HvrQh1bVzC5+nmndZV4+9KEP\n1e7du+stb3lLXXLJJfWgBz2ozj777Nlt04eZ5ubm6hWveEV99KMfrQsuuKDm5ubqVa961ej82tpa\nvfKVr6y73vWu9ZGPfKT+5m/+pr7yla/Ue97znlGZz3zmM/W3f/u39apXvao+9rGP1emnn16veMUr\n6jvf+c4d0aWfCdq9e3fdcsstY3fZ3XjjjfXKV76ynvzkJ9fHPvaxOvvss+u9731vfeELXxiVede7\n3lVf+9rX6n3ve19ddNFFtX379nr1q199R3ThTk9XXHFFveIVr6jTTz+9Lr744vroRz9aL3nJS6rq\ntts/zznnnDr11FPr0ksvrTe/+c318Y9/vD7ykY+Mrp/5sMNHb3vb2+q73/1uXXDBBfXRj360HvnI\nR9arXvWquvnmm2d28XNO6w68XHrppbVr16464YQTamFhoZ73vOfV3r176/Of//wdzdrPFL3gBS+o\nk046qTZs2FDbtm2rZz7zmfU///M/dfPNN1dV1Ve+8pW67rrr6sUvfnFt3bq17nnPe9bznve8+vjH\nPz56CNGll15ap59+ej3kIQ+pDRs21FOe8pS6733vW7t3774ju3anpe985zt1/vnn19lnnz32gKfd\nu3fX/e53vzrjjDNqw4YN9dCHPrROP/30uuSSS6qqamVlpXbv3l3Pf/7z6x73uEdt3bq1XvziF9c3\nvvGN+upXv3pHdedOS+9973vrSU96Uj3ucY+rhYWFmp+fH70C4LOf/Wytrq7Wc5/73Nq0aVOdeOKJ\ntWvXrtFYVM182OGkb33rW/WoRz2q7nKXu9Tc3Fz91m/9Vi0vL9c3v/nNmV38nNO6Ai+Li4t14403\n1sknnzw6tmHDhtq5c2ddc801dyBnP/v0pS99qe51r3uNbnG79tpr69hjj60dO3aMypxyyil1yy23\n1HXXXVdVVddcc83Ye12qqk4++eT6+te/fvQY/xmiN7/5zfXbv/3bB6S0r7322vrlX/7lsWOnnHLK\nSM7/93//VysrK2N2c9e73rWOPfbYmd0cJO3Zs6e+9rWv1dzcXL3oRS+qM888s174whfW5z73uaq6\nbSxOOumksedXnHLKKXXDDTfU8vLyzIcdZnrWs55VX/jCF+r73/9+7d27ty655JK6733vW7/0S780\ns4ufc1pXe16Wlpaq6sB7xHfs2FGLi4t3BEs/F/Qf//EfdeGFF9Zf/MVfjI4tLS3Fcaiq0VgsLi7G\nMjfeeOMR5vhnjzRbfNKTnjQ6pqWjxcXF0YsYRTt27BjZi55I7WOxffv2md0cJP34xz+utbW1+uQn\nP1lveMMbaufOnXXZZZfV6173ujr33HMn2oUyZjMfdnjowQ9+cH3qU5+qZzzjGbVhw4basWNHve51\nr6uFhYWZXfyc07rKvBxzzDFVVaOlC9FPfvKT2rZt2x3B0s88ffGLX6zXvva19epXv7p+/dd/fXT8\nmGOOieNQVaOx2LZtWyyjcZzRdPStb32r/u7v/q7+7M/+bOy4AuEkOXd2c/PNN8/s5iBJsnziE59Y\nD3jAA2p+fr5OO+20etjDHlaXXXbZRLuY+bDDR2tra/Wnf/qndbe73a0uvfTS2r17d73sZS+rc845\np6655pqZXfyc07oCL9u2bat73/veddVVV42O7du3r6699trauXPnHcjZzyZ96lOfqte//vX12te+\nth7xiEeMndu5c2fdcMMNI8dcVXXllVfWli1b6r73ve+oDMeqquqqq66qk0466cgz/zNEl19+ef34\nxz+u3//936+nPOUp9ZSnPKWqql7zmtfU//t//6927txZ//3f/z12zZVXXjmS8/3ud79aWFgYG4sf\n/ehHdeONN87s5iBp27Ztddxxx7Xnd+7cWV//+tfHXpp45ZVX1rHHHltbt26d+bDDSD/5yU/qhhtu\nqKc97Wm1ffv2mp+fr0c84hF13HHH1Ze//OW6//3vP7OLn2NaV+ClqurMM8+sD3/4w/WNb3yj9uzZ\nU+eff35t3LixTjvttDuatZ8puvjiiySbeJ8AAAK5SURBVOsd73hHvf71r69f+7VfO+D8qaeeWscf\nf3y9+93vruXl5fr2t79dF1xwQT3pSU+qTZs2VdVtY/VP//RP9dWvfrX27t1bH/3oR+v666+vJzzh\nCUe7O3dqesxjHlN///d/X+973/vqvPPOq/POO6+qql72spfV7/3e79UTnvCEuu666+rSSy+tvXv3\n1uWXX17//M//PAI5CwsL9cQnPrHOP//8uummm2ppaane/e531wknnFAPechD7siu3SnpqU99au3e\nvbuuueaaWltbq8suu6wuv/zyeuQjH1mPfOQja8OGDXXBBRfUyspKfeMb36iLLrpoNBZVMx92uOgu\nd7lLHX/88XXJJZfU0tJSra2t1Re/+MX63//93zr55JPriU984swufo5pXb6Y8YILLqh//Md/rKWl\npTr55JNnz0g4AvSYxzymNm7cOAIiemX6G9/4xpFh33TTTfW2t71t9JyXxz72sfWiF72oNm7cv1Xq\nkksuqQ996EP1ox/9qI4//vj6gz/4g5ljOAz02Mc+tt7ylreMnvPyla98pd71rnfVddddV7/wC79Q\nz3zmMw94nsVf//Vf16c//enR8yz+5E/+ZPY8i0OkD37wg3XJJZfU4uJi3ec+96mzzjqrHv7wh1fV\nbW8uPvfcc+vqq6+ubdu21RlnnFG/8zu/M3b9zIcdHrr++uvrPe95T11xxRW1srJS97znPevpT3/6\naG/YzC5+fmldgpcZzWhGM5rRjGY0o47W3bLRjGY0oxnNaEYzmtEQzcDLjGY0oxnNaEYzulPRDLzM\naEYzmtGMZjSjOxXNwMuMZjSjGc1oRjO6U9EMvMxoRjOa0YxmNKM7Fc3Ay4xmNKMZzWhGM7pT0Qy8\nzGhGM5rRjGY0ozsVzcDLjGY0oxnNaEYzulPRDLzMaEYzmtGMZjSjOxX9f5JfAlfAEWO8AAAAAElF\nTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nLfctsEXQ5MxBc0DuL/tB550xc1anyYO39XpPhZ0Jg1Bb5iQ/ud7PbUm7zC7lOso5yzEnJyeX+nB8\nfHyZKaIeEHiS38iU5cnnWmsnwxIem6wMZCYgxX6SDILJIzMcE3gJiGhLlqHUQx5sS549BpT61v1k\neR4/frwePHiw88Rejyf1jmPb+k6943n2wXLcAi+2FfoKt2sdbHZlQMN+eGLlQOi+5H/zWVtkHbQc\nSQRerS/2NfRb7Bfl3ACS25hsxLzSDzkTTLk1Hig766z7aP9u/qdY2I6/KCh62XTwnpf/9J/+0/rB\nH/zBdf/+/XV0dLT+zJ/5M+u9733vWuutJaOv//qv3xHQN37jN67/+T//53r48OF69uzZ+uIXv7g+\n8pGPXJ6/cePGeu2119Yv//Ivj+Al+w/WWjtpfDq3ta7uh1hrFj6Nq1ELmHYiVCCjbtbhFHtuc7Vi\nsl62Z6MIQAgxtclrpzpIWwbG+ilLPtSryZsz7ZOTk3Xr1q0dYz5EqRtASf9aP7fqaHKYQA3Lc+ZB\nAEI+6BSmmQf5S0aCQZFyjkz55FrKNHXk3Uh+rL7Hw6CVspiWknJdaFr2S5CdAp/77jHMby5Bcnz5\n/hSCE/Y1/D18+HDdv3//8oFxrf3Uyf4G/KUu6nXqTiYpPBK8PHjwYL3xxhtXniNjOaaN9lRiz2ot\nV8qszbgdUMm/6wkvnt0bmEyZNuqgbWKt55Nag2HW4+8GLMiDM9cTNTulL2p9mQAM7YYT0NZ+8/s+\nb1/ja5s/aj6J55ydczw0aHQ/DDYNbhxXpv6l/X1g5mXRweDl9//+37/+zb/5N+vevXvrZ37mZ9YH\nPvCBy3MPHjxYd+/e3Sn/nve8Z6211v379y873crcv39/Zg5P5CR4Wev5rIsGy0Da0LLTsBkkAoij\no6PL51kk0Nih5/jR0dGV2RTLBcCk3Tg/Kxt5Y/DnbJjpxZANM7zw0fJRTjvWfDijpcGk31wiyTsr\nGOSt3JFN3k3DNiMLOkiDEBsSN8KSuB+FckkAsKFHT7jBOPzz8fUMOlwOyIbd1NUyQgQhlnPARgIY\nN2ayn9Y3OlkGe98m7fFmIDSPdmZ0lryVmecCnDxhaAEgvNK+KLunT5/uPKcmwINyv3///nrzzTfX\nvXv31v3799fjx493lshCDx48WG+++eblKwI4m42epE0GidPT0x39yXjk/9OnT3feB7XWWo8fP74E\n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\n2RPlzkBCPxF+2gZ51hV5sF9Pnz69EmRSlr+dtZpsuMmr+Sifb32Sc3y1AAAgAElEQVRuZSf+fL4B\nk6ZnjT+Wcaau+TNe7+wc7c3tGdROccP+kfW2elpQN1jif774kv2ifXnsrVOUlX1TG7OpnWZzbvv4\n+Hh94QtfWL/6q796GbfeDToIvPyP//E/1j/7Z/9sfepTn9o5nk69+uqr6969ezvn3nzzzfXKK6+s\ntdbl971799b73//+yzL37t1br7766tjuN33TN62Tk5O11m4gNLiIUBl0DhmkUJtlsP78ntC962gO\nvCFat2ljbeug3izVArT/59tgggpKakDEsmn122ha4Hc97b+D/xREG/CJY29jtdbaCSw852A68cnj\nBkINZOWTdylFT6fg5DtoGk/uD4N26mpAoQWdKcPUwIrL23nbkbdXenDpKt9+hP7R0dHlXUa3bt26\ntIVWjg62AbhpLHlrbHhlsAmvLNPAVgvwBnT7wAvLuZ8eU/a9ZV792zrp3y1AvghN7W7x4/8cv8bL\nZCssQ/u1L8z5HDN4CXm8Wzn7vS3wQgAzyYXlGXdaX8nPlPkyEHI7lud0bPo/8f+hD31offjDH15H\nR0fr0aNH6+d//uev8PZO00Hg5b/+1/+63njjjfUX/+Jf3OnU3/7bf3v94T/8h9drr722/sN/+A87\n1/zCL/zC+vqv//q11lof/OAH1+np6frFX/zF9Qf+wB9Ya631pS99aX3xi19cr7322gsz3RC5/08B\nb63dATOQ8F0VLdNhcGB0ym8bJAEMj028m4/mdJrh0GgZWHgtA4mpBSM7mBYk2Wc6ecuZ/ScvbZwa\nfznewEVz3iTLugUhg7eJhwnc2PFN5dbqe1Es2zZODYyY3y0AuVV+An851gI1y5uvZnMtU5Trs3+F\n71BqQfDi4mLnZYrTx31J1sXgy+DR/zmuBjEOqqmzLd3wv+3DuteObZWZzvk/eaafeDt7FiY9JG35\n62azk18iTfxu+QbWwYyoPxNIoE3ZR7Y2LAPyN31YNr+b/Nq3z6+1f7P+BLx9LJ8X9Ycvgw4CL9/6\nrd+6vvmbv3nn2J/9s392/bW/9tfWN3/zN6/79++vf/Ev/sX6qZ/6qfUn/sSfWP/tv/239TM/8zPr\n4x//+FprrdPT0/XH//gfX5/+9KfX7/gdv2PdvXt3fepTn1of+tCHxv0ua11NAVqoTv03EMF04T5H\n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\nfXmnWAdeslE9x5mBtg6nv84u8BrbLwPHnEsAw2Xz1L24uLhyk4UDS4KX63xLSmhJu0I71H1In87W\n3a9yY/DyxS9+sX77t3+7fvM3f7P+6I/+qDY2NurLX/5yVVUdHh7Wu9/97nrd615X73//++urX/1q\nvfvd7669vb1605veVFVVH//4x+szn/lMve9976tHHnmkPvaxj9W73vWuevLJJ2tnZ6ftM/sGHCVX\n9Qg2xdEjf1OYYlgobCl0elGs/CeQoYCmndGD8PzAI5dOuSicTJ12Do2Fjndk4LpslMfs+gSIdiI0\nPswaZE7mHUEbx9dFMp2B5BjNOzuSzhGSl44g0g7HaH6MnPuqYgfs22zJV2+EJTAiQHaKnE7W87mu\ncD4GpyyOQK+b76pzNu6ZZzc2pu3pNFiHYyP/WGc0r5GDps7lt++2yj4p3zmSvU+hm0G2ZZv2iAGS\nI1o6mJsAkVUg1mDToKS7vuN/xmwgkUC0A4hVl/bB+8eyCb6Tvyx5d3bc4CUf0it9dOAl/bLvZG06\nwNbJV357viOwR1ouFlczMAbIsRe0BZQJBmhdZpT9WSY7vo8CsdEc7ne5MXj5sz/7s/rFX/zFes1r\nXjMde+lLX1pVVZ/73Ofq4uKi3va2t9Xa2lo9+uij9cQTT9QnP/nJCbx86lOfqieeeKJe9KIXVVXV\n29/+9vr0pz9dn//852dtsmSTI2/xTenASwhPRnfZERogO+Gczzfr2Ll0aUICnRSmYW1wKVC5jhtb\nI5jd/gUrpfujIBq5dwrIQkXmfAncEhlw/EzDs50uCzUCcKFVPt3c7ajZ5qiP7toOhNDIdXwiLdIO\n16edWTOPws/U51OOSSc6cGbd7DTYtvsdAWXSxI6esmpaGVSaJ6vKyIHaYGbuowxLB1bcD+t5XKOx\ndjphUOtzBi0BKgQmBpyxIx2IdyTLfrtMIM+N5r4K2LgN3m3UZS5TN06R4KF7JpfpbrtgwNDNfVU7\n+T/S/VV20vJsUGx7xz0npK3Hu8qudqXTC9KdcrEKZFJG8tsPN3UxIGEmmv0bQHeZl8hBF3jcj3Ij\n8HJ8fFz/9E//VC972cvqN37jN+rrX/96vfCFL6xf/dVfrVe96lX19NNP14tf/OLZRF760pfWN77x\njek22W9+85v1+OOPT+fX19frscceq6985StD8HJdtHCTet1vItjrFHsVCKKw8Bqn73zcCJrnKUxG\n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\nPnH77bfHD3/4w1i5cmXceOON7Wvuvffe+PGPfxyXXnpp3HnnnbFw4cK4+OKL4/nnn5+KIe0WNDw8\n3N4PJGndunVxySWXxCmnnBJ33nlnXHjhhXHTTTfFfffd177m+uuvj4cffjhuvvnmuO2222LmzJlx\n2WWXTcUQdnl65JFH4uKLL46FCxfGHXfcEcuWLYvzzz8/Il7/+edFF10UCxYsiOXLl8dVV10Vd911\nV9x+++3t+2sM2350zTXXxL///e9YsmRJLFu2LI477ri49NJL49VXX61+sYdTz4GX5cuXx+mnnx5z\n5syJoaGhOPvss2NsbCz+9Kc/TTVruxV95jOficMPPzwGBgZixowZccYZZ8Q///nPePXVVyPi9W3P\n165dG+edd15Mnz49DjjggDj77LPjrrvuam9At3z58li4cGEcddRRMTAwEIsWLYqDDz44hoeHp3Jo\nuyw9//zzsXjx4rjwwgs7NngaHh6OQw45JE499dQYGBiIo48+OhYuXBhLly6NiIjR0dEYHh6OT3/6\n07H//vvH9OnT47zzzos1a9bEQw89NFXD2WXppptuipNPPjk++MEPxtDQUPT398f8+fMjIuIPf/hD\njI+Px6c+9amYNm1aHHrooXH66ae3dRFRY9j2pGeeeSbe//73x9577x19fX3xoQ99KEZGRuKpp56q\nfrGHU0+Blw0bNsS6deti3rx57WMDAwMxd+7cWLVq1RRytvvTX/7yl3jLW97S/onb6tWr48ADD4xZ\ns2a1r5k/f35s2rQp1q5dGxERq1atagf1pHnz5sUTTzyx8xjfjeiqq66Kj3/84xNK2qtXr453vOMd\nHcfmz5/flvOTTz4Zo6OjHX6zzz77xIEHHlj9Zhtp8+bN8fDDD0dfX1+ce+65cdppp8U555wTf/zj\nHyPidV0cfvjhHftXzJ8/P5599tkYGRmpMWw705lnnhn33XdfvPjiizE2NhZLly6Ngw8+OA477LDq\nF3s49dQzLxs3boyIib8RnzVrVmzYsGEqWNoj6G9/+1v85Cc/iW984xvtYxs3brR6iIi2LjZs2GCv\nWbdu3Q7mePejnC2efPLJ7WO5dLRhw4Y45JBDOq6fNWtW219yJ2rVxcyZM6vfbCO9/PLL0Wq14u67\n745vfvObMXfu3FixYkVcccUVce2113b1i6yY1Ri2fejII4+Me+65Jz72sY/FwMBAzJo1K6644ooY\nGhqqfrGHU09VXvbaa6+IiPbSRdIrr7wSM2bMmAqWdnu6//774/LLL4/LLrss3vve97aP77XXXlYP\nEdHWxYwZM+w1qcdKk6NnnnkmfvrTn8ZXv/rVjuOZCLvJueQ3r776avWbbaSU5UknnRRHHHFE9Pf3\nx7HHHhvvete7YsWKFV39osaw7UetViu+8pWvxL777hvLly+P4eHhuOCCC+Kiiy6KVatWVb/Yw6mn\nwMuMGTPirW99a8f/trz22muxevXqmDt37hRytnvSPffcE1deeWVcfvnlccwxx3Scmzt3bjz77LPt\nwBwR8eijj8ab3vSmOPjgg9vX6H/sPPbYY3H44YfveOZ3I3rwwQfj5Zdfjs9//vOxaNGiWLRoUURE\nfP3rX4/vfOc7MXfu3PjHP/7Rcc+jjz7alvMhhxwSQ0NDHbp46aWXYt26ddVvtpFmzJgRBx10UPH8\n3Llz44knnuj408RHH300DjzwwJg+fXqNYduRXnnllXj22WfjIx/5SMycOTP6+/vjmGOOiYMOOij+\n+te/xtvf/vbqF3sw9RR4iYg47bTT4he/+EWsWbMmNm/eHIsXL47BwcE49thjp5q13YruuOOOuO66\n6+LKK6+M97znPRPOL1iwIGbPnh033HBDjIyMxHPPPRdLliyJk08+OaZNmxYRr+vqN7/5TTz00EMx\nNjYWy5Yti6effjpOPPHEnT2cXZqOP/74+NnPfhY333xz3HLLLXHLLbdERMQFF1wQn/vc5+LEE0+M\ntWvXxvLly2NsbCwefPDB+O1vf9sGOUNDQ3HSSSfF4sWLY/369bFx48a44YYbYs6cOXHUUUdN5dB2\nSfrwhz8cw8PDsWrVqmi1WrFixYp48MEH47jjjovjjjsuBgYGYsmSJTE6Ohpr1qyJ2267ra2LiBrD\nthftvffeMXv27Fi6dGls3LgxWq1W3H///fGvf/0r5s2bFyeddFL1iz2YevKPGZcsWRK/+tWvYuPG\njTFv3ry6R8IOoOOPPz4GBwfbQCT/Bv1b3/pW27HXr18f11xzTXuflxNOOCHOPffcGBzc+qjU0qVL\n49Zbb42XXnopZs+eHV/4whdqYNgOdMIJJ8TVV1/d3udl5cqVcf3118fatWvjzW9+c5xxxhkT9rP4\nwQ9+EL/73e/a+1l8+ctfrvtZvEH6+c9/HkuXLo0NGzbE2972tjjrrLPife97X0RErFmzJq699tp4\n/PHHY8aMGXHqqafGJz7xiY77awzbPvT000/HjTfeGI888kiMjo7GAQccEB/96Efbz4ZVv9hzqSfB\nS6VKlSpVqlSpUol6btmoUqVKlSpVqlSpiSp4qVSpUqVKlSrtUlTBS6VKlSpVqlRpl6IKXipVqlSp\nUqVKuxRV8FKpUqVKlSpV2qWogpdKlSpVqlSp0i5FFbxUqlSpUqVKlXYpquClUqVKlSpVqrRLUQUv\nlSpVqlSpUqVdiv4PNB0bKmETTzoAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAF+CAYAAABK7vqLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsnVuMZVtV98eu7rqdbrxw5JqoHEVuhovGB4zBRBIQCBEf\nlEMiiUBMMOGBxBAuxpj4IAmXIPhkxHCRRG4aFPMdg0aQoFGiMfImhPMiEgFFDdCnu6q7qr6H8/13\n/favxlx796G7qfNljWRn773WXHOOOea4/OeYc621+NSnPnVSM80000wzzTTTTA8T2vpOMzDTTDPN\nNNNMM810MzSDl5lmmmmmmWaa6WFFM3iZaaaZZpppppkeVjSDl5lmmmmmmWaa6WFFM3iZaaaZZppp\nppkeVjSDl5lmmmmmmWaa6WFFM3iZaaaZZpppppkeVnTxO83ATDPNNJPpP//zP+uDH/xgfeELX6j7\n77+/Dg4O6oMf/GA95jGPOVP2uc997plji8Wifv/3f79++Id/+E6wO9NMM91hmsHLTDPNdO7oy1/+\ncn3605+uJz3pSfWMZzyj/umf/mmy/Atf+MJ68YtfvHLs+7//+28nizPNNNN3kGbwMtNMM507etaz\nnlV/8id/UlVV/+f//J+14OXuu++upz71qXeCtZlmmukc0LznZaaZZlrS+973vnruc59bX/7yl+tN\nb3pTvehFL6qXvexl9Yd/+IffadZmmmmmmZY0Z15mmmmmJS0Wi6qq+s3f/M16wQteUL/4i79Yf//3\nf1/ve9/76tGPfnS94AUvmLz++Pi4Tk7Wvy7twoULt4Tf0Mc//vH60Ic+VBcuXKinPvWp9cpXvrKe\n/vSn39I2ZppppvNDM3iZaaaZVmixWNRLX/rS+tmf/dmqqvrxH//x+ud//uf65Cc/uRa8/NIv/VJ9\n9atfXVv/H/3RH7Wbbx8KPe95z6uf/MmfrLvvvru++tWv1oc//OH6tV/7tXr7299ez3zmM29JGzPN\nNNP5ohm8zDTTTGfo2c9+9sr/JzzhCXX//fevve7Nb35zXb9+fbLMYrGo7/u+7/u2+CO96U1vWv5+\n+tOfXj/1Uz9Vr3zlK+s973lPvetd77pl7cw000znh2bwMtNMM52hRzziESv/d3Z26vDwcO11P/iD\nP/gdWTYi7e/v17Of/ez6i7/4i9vWxkwzzfSdpRm8zDTTTLeMvhPLRh2dnJws9+/MNNNM///RDF5m\nmmmmW0abLBtV1S1dNjJduXKlPvvZz9bTnva029bGTDPN9J2lGbzMNNNMt4zuueeeW1bXpz/96aqq\n+sIXvlAnJyf12c9+tr77u7+7vud7vme5EfcjH/lI/du//Vv92I/9WN199931la98pT760Y/Wf//3\nf9dv/MZv3DJeZppppvNFM3iZaaaZNqI7vQzzW7/1W8s2F4vFcvPtM5/5zHrHO95RVQ8+Rfdv//Zv\n6+/+7u/qypUrddddd9XTn/70ev3rX19PfvKT7yi/M800052jxac+9an1u+tuIb33ve+t++67r65c\nuVJPetKT6rWvfe0tna3NNNNMM80000z/f9MdfcLuhz70ofrEJz5Rb3vb2+pP//RP60d/9Efr9a9/\nfV27du1OsjHTTDPNNNNMMz2M6Y6Cl49//ON177331hOe8ITa2dmpV73qVXXjxo36zGc+cyfZmGmm\nmWaaaaaZHsZ0x8DLlStX6itf+crKOvSFCxfqiU98Yn3xi1+8U2zMNNNMM80000wPc7pjG3YfeOCB\nqqq6fPnyyvFHPOIRdeXKlZVjx8fH9fWvf7329/fnZzXMNNNMM80008OETk5O6urVq3X33XfX1tbt\ny4/cMfBy1113VVXVt771rZXj3/zmN+tRj3rUyrGvf/3r9dKXvvROsTbTTDPNNNNMM91C+shHPnIm\ntt9KumPg5dKlS/XYxz62Pv/5zy8fHnV0dFT3339/Pf/5z18pu7+/X1VVj370o+vChQu1WCyWH9Po\n+MnJSR0fHy//b21tnSlHVMhbMo+Pj5fX5lHnflsu68rTPM2LH5Oe/ycnJyv8XLhwYVkH65pq6+Tk\nZOUposfHx3V0dFQHBwd1dHRUi8XiTL3sU46NZMPji8WivvGNb9SjHvWoZT03btxo5cTvo6Oj2tra\nqu3t7drZ2anFYrGsM9dlDDZB6LmW11y8eHGlvsgr8tna2qoLFy4sH0dPGXs8OfY3btyoo6OjZT3H\nx8e1tbW1bJvtpQzr4Rjm9/Xr15dyS52UF3nweerBN77xjXrkIx+5HGO2E7l7rCm38E8+cy596R7x\nH3mkbrabsYisKSsT+xZZm3KM8uFvyr+qlm3me0SWd3fOdZuoO//zP/+zHItOzuY7bY7kvLW11eqG\n+bUeuyzrtW7yWI7z2795zLpG3lwPbSW2a74o8/gw6/1InubtW9/6Vl2+fHloj50s+N99dLudj+nk\n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\nzOBgwOq9KvwwA9IFNvNioOf9GsxiWQ8oZ+qJ9d3jMeLFjrezS46FM37rlhu6ID8KcCMeyUPHYzdj\n3aTPozKj81MAgXo06osBJeXTBX6Wc387QMb/9AtT/ez8a3esk4OBaJdhtK1YtqMx7bL0IxrpFPsy\nAptsk+doU+Z7UxDQgXHeSu0lfl7XZVpGY9npTXd8nRxvFW0EXt797nfXP/zDP9RXv/rV2t/fr2c8\n4xn1q7/6q/WoRz1qWeZrX/tavfOd76zPfe5ztbOzUz/zMz9Tr3nNa1YU7WMf+1h95CMfqf/93/+t\nH/iBH6jXvOY19YxnPGOy7S7N5sDN4GzDpTMMdUEm3x2yzuBnsLy+y8GiU3OgpKGlrW5Jgr89I0gA\nqjp94qcdfsrR0XZt0BGyXdaXa7m2uVicPkU1S1cEMB0oGKXlR4EpxucUpIP3uiCScx6PqWyIn8Nj\n528nZcflfhKIUu5d+twAMXLNNbxdOh9nG3J9B6RCKctsFo91wJo20QUkA5TRuKV96gf5Mi/mybKi\n3tPO3SZlYwfd+YKRnWwaVFyH29okWPq6qWC47nhXJ493OjgCMqO6R+0/lIC2Tq+6sTXgoY7SV1AP\nO53qeOmWcEMjO5vqF/k2iHoo4CX9S7wajadtmvrd8Thq03VbFrebNgIvi8Wi3vjGN9YP/dAP1bVr\n1+p3fud36td//dfr3e9+d1U9yOyb3vSmetKTnlR//Md/XN/85jfrTW96U/3e7/1eveY1r6mqqr/5\nm7+p97znPfXmN7+5nva0p9Wf//mf1xvf+MZ6//vfvwKCTBzEblnF5dYFMX6nTq9zdk6CjrarZ8Rr\nh2xTD4NHxxeBB40yqX/ySb5HSkhlcxkGjO66fAfAZEkly1/hzQEk/HazOs8MHcz57THp5M8++lo7\nF4NMG6NvgQ3PVacgZMrA7QQ70OOyzsjZORBQEMAwk8I7aCgngrfI0vwbKFvXDVpGMp2ShZcJDX4o\nG75mIC96tFyyR8cbpN1/Llna3m1j3Rh1QdLXTOlqrrVMRv5qKmCvoyne3Gan+12m0fpys4H1Zs5P\nAQX3oxsPXj/y5wQv3fWbAEDKd5O+MVNFXuyvuvanAK/ro8/1+PrYVP+m2ut0LN8jP3CraSPw8iu/\n8ivL35cuXaqXvexl9epXv7q+9a1v1eXLl+tzn/tcfelLX6p3vvOdtb+/X/v7+/WqV72qfvu3f7te\n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\nZ/PmzS1Pj9UyqcDtli1bYnBwMLZs2TLKT7NkxriR6dBjRwm8+Pg9vpE8cfM6fZZsGRcYjzJyn8km\naJSbxyj97t/dDsWLT7DcbkRM7i7PLNZ7O7Q/BxOZvdL2NX5Oyni+5MZHTXglUtd7jOdkQC9OqHgt\n46qIlZMSeCFQiojmE7gVixSzJhrETErwMjg4GBERzz333C7mpCbShg0bdjULNf2XVq9evatZqOm/\n9Itf/GJXs1DTf2n9+vW7moWa/kuDg4Mxffr0CWu/7Ze//OXLU+PZARoeHo5nn302enp6dqh0V1NN\nNdVUU0017TpqNBoxODgYr3vd69LlyJ1Fk7Ly0t7eHnvvvfeuZqOmmmqqqaaaatpBmsiKi+jlu6+p\npppqqqmmmmqqaSdQDV5qqqmmmmqqqabdimrwUlNNNdVUU0017VY0Kfe8LF68OO6+++7o7++Pgw8+\nOD7zmc/E3LlzdzVbryi68cYb43e/+13885//jJ6enjj00EPjnHPOadlrtGnTpli0aFE8/PDD0dXV\nFUcffXScd955Lbeq33HHHfGTn/wknnvuuZg9e3acd955LQ/tqmnH6ctf/nKsWLEivvGNb8Rb3/rW\niIj485//HNddd12sX78+9txzz1i4cGGceOKJzWu2bdsW1157bdx///2xffv2OOyww+Kzn/1svXfs\nf6SVK1fGzTffHKtWrYr29vaYM2dOfPvb346IiLVr18Y111wTq1evjunTp8cJJ5wQZ5xxRsv1dQzb\nOfTvf/87/u///i8eeuih2L59e8yePTs+9rGPxWGHHRYRtV+8mmnSVV5uvfXWWL58eVx11VWxdOnS\nePOb3xznn39+bNmyZVez9oqitra2uPDCC+POO++MJUuWRFtbW1x88cXN441GIy666KLYY4894vbb\nb4/vfve78fDDD8f111/fPOf++++P733ve3HxxRfHXXfdFQsWLIgLL7wwnn766V0xpFcELV++PLZs\n2dJyl93GjRvjoosuihNOOCHuuuuuOP/88+OGG26IBx54oHnOtddeG4899ljceOONcdttt8X06dPj\nkksu2RVD2O1p5cqVceGFF8aCBQvijjvuiDvvvDPOO++8iHjp9s8LLrggDj300Fi2bFlceeWV8bOf\n/Sxuv/325vV1DNt5dPXVV8czzzwTS5YsiTvvvDOOOuqouPjii2Pz5s21X7zKadKBl2XLlsXChQtj\nzpw50dXVFWeddVZs3758eATmAAAG9UlEQVQ9fvOb3+xq1l5R9NGPfjQOOuig6OjoiN7e3jjttNPi\nb3/7W2zevDkiIh5++OFYv359fPKTn4yenp7YZ5994qyzzoqf/exnzaeqLlu2LBYsWBCHHHJIdHR0\nxMknnxz7779/LF++fFcObbelp59+OhYvXhznn39+ywOeli9fHgcccECceOKJ0dHREYcddlgsWLAg\nli5dGhERQ0NDsXz58jj77LNj7733jp6envjkJz8Z69ati0cffXRXDWe3pRtuuCGOP/74ePe73x1d\nXV3R3t4e8+fPj4iIX/3qVzE8PBwf+chHYsqUKTF37txYuHBhUxcRdQzbmbRhw4Z45zvfGa95zWui\nra0t3vve98bg4GA88cQTtV+8ymlSgZf+/v7YuHFjzJs3r/lbR0dH9PX1xZo1a3YhZ698+v3vfx+v\nf/3rm7e4rV27NmbOnBkzZsxonjN//vzYsmVL80FQa9asaQZ10bx58+Kvf/3ry8f4K4iuvPLK+NCH\nPjSqpL127dp44xvf2PLb/Pnzm3L+xz/+EUNDQy1+s8cee8TMmTNrv9lB2rp1azz22GPR1tYW5557\nbpx00klxzjnnxK9//euIeEkXBx10UMvzK+bPnx9PPfVUDA4O1jFsJ9Ppp58eDzzwQPzrX/+K7du3\nx9KlS2P//fePN7zhDbVfvMppUu15GRgYiIjR94jPmDEj+vv7dwVLrwr64x//GLfcckt85Stfaf42\nMDCQ6iEimrro7+9Pz9m4ceMEc/zKI80Wjz/++OZvWjrq7++PAw44oOX8GTNmNP1FT6R2XUyfPr32\nmx2k559/PhqNRtxzzz3xta99Lfr6+mLFihVx+eWXx6JFi8b0C1XM6hi2c+gtb3lL3HvvvXHqqadG\nR0dHzJgxIy6//PLo6uqq/eJVTpOq8jJt2rSIiObSheiFF16I3t7eXcHSK54efPDBuOyyy+KSSy6J\nt7/97c3fp02bluohIpq66O3tTc+RHmsaH23YsCF+8IMfxJe+9KWW35UIx5JzyW82b95c+80OkmR5\n3HHHxcEHHxzt7e1x5JFHxuGHHx4rVqwY0y/qGLbzqNFoxOc///nYc889Y9myZbF8+fL4whe+EBdc\ncEGsWbOm9otXOU0q8NLb2xv77rtvrFq1qvnbiy++GGvXro2+vr5dyNkrk+6999746le/Gpdddlkc\nccQRLcf6+vriqaeeagbmiIjHH388uru7Y//992+eQ11FRKxatSoOOuigiWf+FUSPPPJIPP/88/GJ\nT3wiTj755Dj55JMjIuLSSy+Nb37zm9HX1xd/+ctfWq55/PHHm3I+4IADoqurq0UX//nPf2Ljxo21\n3+wg9fb2xqxZs4rH+/r64q9//WvLnxE+/vjjMXPmzOjp6alj2E6kF154IZ566ql43/veF9OnT4/2\n9vY44ogjYtasWfGHP/whDjzwwNovXsU0qcBLRMRJJ50UP/7xj2PdunWxdevWWLx4cXR2dsaRRx65\nq1l7RdEdd9wR11xzTXz1q1+Nt73tbaOOH3rooTF79uy47rrrYnBwMP75z3/GkiVL4vjjj2/+k/BJ\nJ50UP//5z+PRRx+N7du3x5133hlPPvlkHHvssS/3cHZrOuaYY+KHP/xh3HjjjXHTTTfFTTfdFBER\nX/jCF+LjH/94HHvssbF+/fpYtmxZbN++PR555JH4xS9+0QQ5XV1dcdxxx8XixYtj06ZNMTAwENdd\nd13MmTMnDjnkkF05tN2STjnllFi+fHmsWbMmGo1GrFixIh555JE46qij4qijjoqOjo5YsmRJDA0N\nxbp16+K2225r6iKijmE7i17zmtfE7NmzY+nSpTEwMBCNRiMefPDB+Pvf/x7z5s2L4447rvaLVzFN\nyj9mXLJkSfz0pz+NgYGBmDdvXv2MhAmgY445Jjo7O5tARH97fsUVVzQde9OmTXH11Vc3n/Pyrne9\nK84999zo7BzZKrV06dK49dZb4z//+U/Mnj07PvWpT9WBYSfQu971rrjqqquaz3l5+OGH49prr431\n69fHa1/72jjttNNGPc/iO9/5Ttx3333N51l87nOfq59n8T/Sj370o1i6dGn09/fHfvvtF2eeeWa8\n4x3viIiIdevWxaJFi2L16tXR29sbJ554Ynz4wx9uub6OYTuHnnzyybj++utj5cqVMTQ0FPvss0+8\n//3vb+4Nq/3i1UuTErzUVFNNNdVUU001lWjSLRvVVFNNNdVUU001VVENXmqqqaaaaqqppt2KavBS\nU0011VRTTTXtVlSDl5pqqqmmmmqqabeiGrzUVFNNNdVUU027FdXgpaaaaqqppppq2q2oBi811VRT\nTTXVVNNuRTV4qammmmqqqaaadiuqwUtNNdVUU0011bRb0f8DppAP2c0E8QAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAF+CAYAAABK7vqLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsvUuobdlV/z/O+5x7b1XFR5mYTioQkxhFg9pQQ9kQ1BjE\ndCQlGrS0IYKiHYmIYkcJxheJCOkIloZINA01jWAUI/nFBwhKEBSjFigoRo0iVt17Xvee828U33U+\n+3PGXPtUvPfmlP81YLP3Xmuu+RhzPL5jzLnW2vijP/qj81pooYUWWmihhRZ6idDmZ7sDCy200EIL\nLbTQQi+GFvCy0EILLbTQQgu9pGgBLwsttNBCCy200EuKFvCy0EILLbTQQgu9pGgBLwsttNBCCy20\n0EuKFvCy0EILLbTQQgu9pGgBLwsttNBCCy200EuKtj/bHVhooYUWMn3sYx+rj370o/XJT36y/vu/\n/7u+4Au+oJ588sl6+9vfXgcHBytln3/++Xrve99bf/Inf1LHx8f1JV/yJfUDP/AD9epXv/qz1PuF\nFlroQdPG8pC6hRZa6LrRD/zAD9TLX/7yetOb3lSPP/54/f3f/30988wz9apXvap++Zd/eaXsD/3Q\nD9W//du/1fd///fXrVu36v3vf3/94z/+Y/3Kr/xKff7nf/5naQQLLbTQg6Ql87LQQgtdO3rnO99Z\njz322PT/y77sy+qRRx6pd73rXfWJT3yi3vjGN1ZV1R//8R/XX//1X9cv/uIv1pd/+ZdXVdUb3vCG\n+o7v+I76wAc+UD/4gz/4Wen/Qgst9GBp2fOy0EILTfTMM8/U13/919e//Mu/1I/92I/VW97ylvr2\nb//2+vVf//WH2g8Cl9DrX//6Oj8/r//4j/+Yjv3Zn/1Zfd7nfd4EXKqqbt68WV/zNV9Tf/Inf/JQ\n+rrQQgs9fFrAy0ILLTTRxsZGVVX95E/+ZH3FV3xF/fRP/3Q9+eST9cwzz9Tv/d7vrb3+7Oys7t27\nt/bzmdAnPvGJ2tjYqFe96lXTsX/8x39s97Y88cQT9e///u91dHT0GbW10EILXW9alo0WWmihFdrY\n2Ki3ve1t9U3f9E1VVfUVX/EV9Zd/+Zf10Y9+tN785jfPXvud3/md9W//9m9r6/+N3/iNevnLX37l\nPv3Hf/xHPfPMM/WVX/mV9drXvnY6/txzz9UrXvGKS+UfeeSR6fz+/v6V21looYVeGrSAl4UWWugS\nffVXf/XK/yeeeKKeffbZtde9853vrNPT09kyGxsbL2oj7eHhYf3ET/xEbW9v1zve8Y6Vc+fn51O2\naKGFFvr/Dy3gZaGFFrpEyVyEdnd36+TkZO11r3rVq+r8fP0NjFtbW1fqx8nJSf34j/94fepTn6r3\nvOc9l0DPI488Us8999yl63LM41hooYX+b9ACXhZaaKH7Rvdz2ejevXv1kz/5k/XJT36yfuEXfqGe\neOKJS2WeeOKJ+ou/+ItLx//pn/6pvuALvmBZMlpoof+jtICXhRZa6L7RVZaNqmrtstH5+Xn91E/9\nVH3iE5+on/mZn6nXv/71bbmv/dqvrY985CP1V3/1V/VlX/ZlVVV1+/bt+tM//dP6hm/4hhc/gIUW\nWuglQQt4WWihhe4b3a+n2r773e+u//f//l+9/e1vr93d3fqbv/mb6dzjjz9ejz/+eFVVvelNb6ov\n/uIvrne+8531fd/3fXXr1q36jd/4jaqqeuqpp+5LXxZaaKHrRwt4WWihha5ED3Nj7J//+Z/XxsZG\nvf/976/3v//9K+e+67u+q777u7976tPP/MzP1Hvf+956z3veUycnJ/WlX/ql9e53v3sCOAsttND/\nPXrorwf41V/91frwhz9ct2/frte+9rX1wz/8w8s7SBZaaKGFFlpooSvTQ31I3Qc+8IH6yEc+Uj/3\ncz9Xv/M7v1Nf8iVfUu94xzuWB0kttNBCCy200EJXpocKXj70oQ/VU089VU888UTt7u7W937v99bd\nu3fr4x//+MPsxkILLbTQQgst9BKmhwZebt++XZ/61Kfqda973XRsa2urXvOa19Q//MM/PKxuLLTQ\nQgsttNBCL3F6aBt279y5U1VVt27dWjn+yCOP1O3bt1eOnZ2d1X/+53/WwcHB8vTMhRZaaKGFFnqJ\n0Pn5eR0eHtbnfd7n1ebmg8uPPDTwcuPGjaqqev7551eOP/fcc5fuCvjP//zPetvb3vawurbQQgst\ntNBCC91H+q3f+q0HesffQwMvN2/erFe84hX1yU9+st7whjdU1QtP0Hz22WfrG7/xG1fKHhwcVFXV\n537u506Zl42Njel3Hj++ublZW1tb07mzs7M6Pz+/9HjyjY2NlXI5n995P4qzPDl3fn4+1Z12gyh9\nnPWfnZ1N9eb4vXv3VvpdtfqodPelyzylT+lD+nd2dlZHR0d19+7dtt6zs7O2ro2Njanv5m/o+eef\nr5e97GV19+7dqa3UyT6yjnv37tX5+Xnt7u7W7u7uSjscJ/lDfpu2trZqc3Oztre3pznY2dmpzc3N\nlTlnv7e2tqbr0jfKSdrhNXfv3q3T09M6PT2tu3fvTm9BZv8tL+xv+sY53tzcrJOTk7p79+7Em3v3\n7k3XUUY5XxxX+vw///M/9dhjj13qT4hvbk69/LCu1G/em//Wq7TN/9aznO/mlx+/ZTrtb25uTv0w\nPzhvaTN8Nz+sf7y+03n/py5aT/7rv/6rPudzPmfqC79HfONYyH/rn/nEsbBPXTn/57Uem22N7WM3\njpGedrpBeehshetjnV19HBv7/txzz9Wjjz465Bf5nv7kN8ubV+zXyL9Qz7s5Go2jqiY7QFnv2vDY\n54htdzZwzt+FRlkTy4F5c3Z2Vp/+9KcnP/6g6KE+5+Wtb31r/eZv/ma98Y1vrFe+8pX1vve9r7a3\nt+vJJ59cKUenbgNIQeOEELx0QjYSIDtSK64VqWoVvFStKjsdqQWa7YzAC68L0Yi7Pf43IOj66N80\n+t25rlzqDxAb9dvHR0o9Ry5LYLC9vV07Ozu1tbW14ow68EJ+B1TFydvhUZZoIAmc3C+27/n1ONJ+\n/geIdgCS5Wx4U95GhoByxHvWnd80RPfu3bukE51D4PmUGRnGbm7JX/MqPO/0k8fJhznHGUDk+ubk\ncA68hM8GLZ4PyhHbHDmpERDxmLryo+u6+fLYKHvrHFtkhbapq2tO9/md+rr5m1t6mJPv7nrL7mjc\n9isjXejGOyeDHjN5Sxvc1d8Bl85ej+y22x/JaacTHPtITjoA+CDpoYKXp556qg4PD+tHfuRH6s6d\nO/W6172u3vWud82+f8ROq+qCaR2adFagq8u/O2GwMaeCdkbf/0cTSIXoMgYRYrbTZQqqqnWQncDZ\n0I361I1pNF5mDrqxpoyVjuU7he0U1H1If7e2tmpnZ6e2t7fr7t27K0pKgLu9vT3x6vz8fMoesT4D\nZQIb1hOwZDkiv1LX5ubmClDJOEPJkIUPAbEGQuStz7HPdlxs0w6Gsu3/GfvIGXgsnNfIta9lppLX\ndw487b9YPaPukK/pF/ua8XFMcw7Qv82vzLWDABt01tPpovvT8Yc00pmurs4OzPGgswkeV6eno3pt\nq/kduen67zkd6cdo7rqxjDKobjNj6rIjHXU+xbzhvHdAs7vWAKYr14GRjjr/xL6Nrp0bc6frD5oe\n+hN2n3766Xr66aevXN4ghZPvKHidwUt9Nvwsz2+CIC8vjCa6Q8IjhMs27KAT0UTRbDxcfg6wddGR\n+dHxgbS3t3eprrTXZW3SVwMs88btdstF4Qc/29vbtb29Xbu7uxM4CQAgCCB4SRtbW1vT+3cIhFJm\nY2Oj7t69Oy0Zpa2dnZ3a29ub5C5lt7a2prFHHtMfAqW0lWWpOFUuJZI3lK/UtbGxUQcHB8P0tKNX\n8znnw2vKVfraZaRyTeaTOmkA2xkvzutojjv5YaaEZMDY1WN9yXi5rNY5MgcPnc6FTzs7OxMIJT94\nrevN+Ds+cO5HdqXj21xd+d3pHMt1QIPggv3gGLpsc9fHEVjLdZ2t7uoY0e7ubgvkRo54ZJcMiDpn\n39XntjqQwjo8PyNfxYDM4M0yfhVb67Fbl0ZjGY2hs0EPg14SrwfoJpEGtOpyutqCsC7KYTl/W2B8\n3ZzijsCBgRGNPtscAR0qlQ2elY386xTRqL6re39/f6UOj4F10PgzC8G+dP3uyOUJUHZ2dibwcvfu\n3QmkbG+/INZxwMmWpK3O8RvgeL4IcnZ2dlbkkct+3H+RfjnKv3fv3lQugKTLvJg3WR67efNmVa0u\nX5L3HZgwD50Byzzeu3dvAjEZtyNf9tfybRkxHzsZ7agzsPzunJPrtTznmPdVEICP2nQbAXsEwgYv\ntAvUAfNh1Jb5Zv67P6aRg7GOj2h0nc8brJmP5A2v6/g9csAsO7IV+/v7Q6CS6zvZW1evz/n6ddet\n43GydnPnWQeDAy+Xd3LU6SivqbrYusBs+VXHaN8yN977SS8J8GKi8ewQ6cgo5NsG/SoRTodGuzId\nOu3qqbqI3iycrCuOLuXjoCws3tzZOX3z0GU7A8SlrNGYSMyOxNF7eW+O96P5GEUlATIBSllGIp+S\nOTEIZJ2sJ+0xQk8GhptJySOCoNS3vb099TGgJXWl/NbW1gqA4fgtzzxO8JB+jJwiAZ8BkmWGICbn\nDD5Z3oDYc9tFYSN9G8lvB8YJnl33OgBioo54f0DG5Pq5jMB54TywPOfL9mrkSOecagfSPN4ReOn4\ntI4yz8xArwOQnazMAZQRWOrq6uw623e2c2Rf58j65KCiq7Oby1H5Tr67ufRv12Ge2I5Yl1Kmk3X3\ndx1o6fR0ybxUXYrajSxz3pHUyAj6f4csu70tI8fJ/3Pgxoo9ipYsMFSarv/d9SmT7w40sAzrZPsB\nA66r6gUHzf0uNkoEAnHg7peN1BzPOMdxrN6c7XnwPM21xTZZ58jAzcmU/5s/4ak3xfoc54GGM2On\nboTsSDPnAXD55vn0IXuGOt2wI+iCBAOrq8yry4zmLv99fOQAR/PE851Od/8zf3TK7nMHwEfnOa+j\nvRt2OiMZnHPA664lDzonPFpmHtmybimss5GjIGhkF0fAzOO0/er6MJI96tvcWM0zHuuW67t5N3UA\nYE5vOKa5+bPcd/ywf5iTs1EfUgd91MOiaw9euJ+BjOYdJJ1zJsMpFGQ2o4fRBNF45ZipM6jsh4Wf\nCs9sigW522vDNkcgp/uERsZj5Hy9tyOghG12yxJMR3Y8GClMNw8ZF509ARQ/jpJzzJmGzoHwOMe8\nsbEx3e69t7dXe3t7K5m/nZ2daUzJbDDLkX5Thnd2dlaybl5+stFNBi7LUMzssAxlifLuzAszKwRD\nHZCiTBgMUQ7Na8+jeT5yVOsMvec433PAwvNrJzvKDFr/c2336IURIBvZIvbNy0Dpx1VodE03ng60\njQDQiHdd29arkfOea2tkg72Pa24M5n037+sAkckBUjemzrZ1S7O2qfnuys2Bibl5Y13rAIXtrH1J\nynB7Q9pwNu5h07UGL9nPwOd60KBkE2miRhqWkWHM76tOKh1xpwwj50siCOE3BaIDMIzOrcBVvVHx\nd1e+U1gauoyXDjWAwcsEjNjTLuvgONxnK3+3lGHe8s4O3hXDfvBW6JHD6wwulZBp/u3t7drf36+D\ng4M6ODiYwEvay3ISnSBBsh1lwEGW1LiHJn3pll+2trYmwJYNxOEn+ZF9K5wngi3OQ+rkXNBAeu9L\nd9s5l5nSd5Odl3k/cvAsQ914Mc5njlgn//s8icGPwU1XP2lkN3i+O9bVY/0xX0a2YM5ejNpeB9JG\nNNdvHuvs1WdCXd1ux33o2rbsjcYzaqcDowQ164BpJ/ujPng8Bh4d8KNdiTwTpMyBFx/3WK4iF/eD\nrjV44d0kMRSMbHd2dqpqNZ0dI0+HaaHlNWZ0d8xpcE7mHBBKeT6MjALmbAEFicLl7MbI+FkZKWzr\njNpVgQz7Ef46MrWAc5nHQI3z4znoHFPqo9MMeIlTzQbKLuNBvpIIetNmllh2d3frxo0bE4DZ3d29\nVKczOKN1ZPIo4IM8IzjxvNDI8MF/5+fnK3dHcdMtr+V8JnsTXoR/VbWyPyj9IZjjcm03v5SpkeHt\nHIxl2vrGutc5vDmQ0IGVTgc4vzyevnjP3ah+p9QNEN3GVR15B/w6gEH7chWwwj5yPN38dDweAcG5\n9kbXs56uLp+bA7WfaabAsmq71WVmLJ8j3l21/ZG97851smj+jIALH1NAPaN+Rze6TGvV+G7C+03X\nGrzwbhJvMOL6fW5VjKNPJFzVG0AbcpejYWGmgZPIFNuc8Qwx49IJEstZWbwHwu14j4Y/bJ9EIGFh\nHS0FMXoPePSYU57jsWH1sl3XpxF48VJRHDezCufn59PtyKGMwcsa6TMzNukXZYVLL5YfGyg7fzvA\nfAgI0+fwxktJ7GvAS47fvXu3Tk5OJn4EgLBf7HOXrcy509PTFTkweInuBSBZVkYfj8HyzDar6hKY\n5FxQpgyeRzQy6r5NnsDF7YWP7NPIWI/k96pOy/Wwf93YOgAUefYSX+ds+b2uvXV97UCfy83NWefw\nPbaRTUyZkW32MQM1Xk+w0/GiA0v0G5aZrh+d/ozG3I1xNFbbd9tgjp12tXviNdtgvx20VdXwzqn7\nTdcavNCA08jkd8ALFZSOhYLFaIkOKHd6jJxrp9zd71BnjPmbAjBC5J1z7dJ4dtbr2q4ao+LO2HT/\n7YjdXpTFDqWLzO1M+HsUaXtMqZfgJeeTeUkmzhQnzEfGR3mTxQif82wWZv4oH37GUI5n+cZ7JLjk\n5BQzZZJ10aln7w3lhXrgSIlAKW2kb3wFQupiNiVtG6yGzFsbYQKwzGsHXjN+6njnTFm+I9dpx2Qg\nxNvk858ZR2ZD2U/aJjsFXt8FOixnXbOTGPHV5TrHSr2fA1qk0Xz6GNsJcTx22B2Is92y3He8eDFg\nyk59znbZztChd3xw/52dJm/cB4LjqpqV9c6usG/sO8c8xzfP0RyA9DyMQHK+F/BSq1EvDQ4fSBZj\nR9BC52lEzGs741l1oeiO/kfGsqMO5fK39+V8pkZ5BABY3sCpU+gREHObBlY0zKTwm1mxGHwuZ40M\nUcc/GxSCOIIVAocAF/evA1fpp/fT5D1HBM9c2jEfqOh+xgvlks4zdXbLnZ0M8/bvjNNGwzIfJ502\nTk9PJ7CT3wFungeCCYKv0dylffKb5+jYmBWIPkdHnbHs5NagwvPg9PjIoRgIdAaeAIB2qQMvrKPL\nBLtcxsl6O8fR6SvLjOzESE+7uTOfXgx46a4x6PIcdjRnbw1wurF0/e367X7NgRf3wfPoPWG2u+QF\ngQ7tmPV+xJNO1kfzOwIy/p67nvWMyvPxEg+arjV4iSDweRmJipzqjfOKgfGdGxRAgiAvyXTotQMh\nczRCsflmHzrFMOLlcR5zdmldnwjOOgHsDOIIQNgIrDtOY9A5hU6J7Ji6sp3jmhtTrrNDmgNIBBbc\ng3QVA8N+pk1G8R1I3ty8eK2AwRDr6wyJ+UZH6Kiwy9hw/Nxb5MiQ5fLt8eY3sy3d/HmOmR0lH+aM\nL6kDKexj5tBy0M2hgcKcE+d/Zl4658X2OzsTezcCWM4GdM6c7a5z7CPw0/GGdfu8j3e/u/bdVge2\nOlvQ1dHVb5lzHSNZHPGka78LnkeyQ/DOa2kj5+iqvqgbP9scjS1lLFfmU8fLF9O3/w1da/BCkLKx\nsTFFjgQ1VRfGIHtdaPRcH+vMf9ZhhFp1GYl7wjqj3gmfgQvbpzB3eyRMcwCpAw0jAJG2GZ3yzqCM\nhdkNL8/MgRc6fAt/Z3zmwIuzG8youB/d3LjP5qXnfrRPyArs+VgHrmzMXCfHSXnjUiEBevceIvLA\nSzUes7/XyU7mhZuEk62x8/b/zsB5nuc+qYtghI6iGz/r9W+3ycygrzHf7ICsL52cUweqLp7IzGu7\nzO9ITrr57Jx+J7M+142D5Uydox/Rurp4rgPCHbDoeD13Pv8tBx1vRln5uTHRvl8FtH0m1LXpc+v6\nyms73bEsGCh3y2KfDbr24GVnZ6d2dnYmY00A4ygyTN7Z2bkUfXndOtQ56M5g80Ma7c2omp/Yzmjk\nGirYCOF2xz2mkZH2sk03ThvHEbBLvYziA4DMNxvubvyeE7fXGQNG/5x37uPo5pT97Yw9U8FZpsmn\n28PS1ZH2I3/hDQGJgQb5l+Oph3xgW90cc/59S/PZ2dnKu4ycmQwwom6wjQAWfsgzZ9iYQWE/KVt0\nJuZH6mfWy8tb5kHmJW1QTvgIAspD5pvjZQaE++xGTmLkKMhPgjrrgB1hpzdzDmpO99mHORq1QfL5\nETjs+reOOn4ZgIxsCftvO9tlWc3rqssPZjQ4ZB+rVvfAuT0HvOaZdaPjxVUA0KhMZ2P9f137KeO5\neDH9uN90rcELDWnW7P0SvmRc+OCuPACMt33NKVba8f4JOg8bBK/FV61GgCOnO0LKBiRz7doBd0DI\nH/aDRr0DEAZKLOdnhXRAIteZf6yPPOnapkFZF1l7KccAxi/i47t74oRtlJil8wPqcosz+8ox2BnH\n+aZdZgxo9LgPpbvzKfUSgJinHJfPRz86cMd+mfcEL+YrNzbPPWRvHXUgjn3rxthl89h/94P9Jz8N\nnChLmSc7t6rVTc2dwT4/P18BgZznTje7/rLPnAMD9tEY7WhHDrRr27Zq5JTmHN+LKcO2bHc6+7Cu\nb914urnqwA2/uzpdD7PoHHP3O/9ZB88bsM6BBY6ps5PUYbblYMR86PQnbYx0i31/GHStwUvVesdM\nZJvlIk/YOsXpjF5VDx54jr+7drq6LEQjx971oeryrdTmE0EYl9w69JzrzC/zlyCy6uLBZrx+ncCO\nlI+OvOOblbfLAI14kmNc1iBgoRPuDATH3WVd0vZo75LHyCxCxktglYyA7/Shc3JmhkCF/535yrzT\nmRJ4sx6DuG75zHLbgZ1Od73O3jmiLovl+tY5odRth9KVM1gZZbg6G3CVjGI+HchIGfLUQG3020Dd\n9bxYGtmukRO1zevm0vWPwBmvmeu7x7oOUI3Ou4/dnLGODuB1cutlvKvM+QisGXR0faf8zYEXZ1Ln\n5tftjvrX8cRLnQ+SrjV4mWOqEeCc0aRyjcBI6uG3lYoC0inZi500G9ru+pEBSF9CjMrTtwgt+ZJy\nzJ44TZ76vd/I7ylyBsZ8nltu43j4PeJTB/xczwhgsj/hFZdR+BwM101ee68V+9YBOGeAuFSTTIXB\ni5c3umgu51gnsyAeW+qMfIS4f8mgpwMPI36P9KuL+Do599xxjKxvzlGR7HyuQp0cdsEFf1OuR0CJ\nYHsELq4CVtxX65jBi+vIuRHInruma9/fI/6ROkfcAReDoRHIs/1k/80jgwr3q6MXe5x9Sz+6sY7G\n17VD++P6yM+AlG6JagSOeScmecY+uu8e/1V81oOiaw1eqi6nsLusisvOARdGyp3zNeLs6u7W6I1S\nragjBZwbd8p1Sm8E7GWvqtV0t0ELv7uIwTznreVWmFxHozcCE+TPVc7ZcRqgdgaB/I1TTqYl+y/s\n+AlenNnoFNepXcsCsxrOvBBAnJ2d1enp6Uq/uFSUOtle6sgD7U5PT1f2nnSZGT5tOMR+EBB17Rus\nsr+8E8nO3el3zq/11fxkWwZD+d+BBjp16+BV9K7TN9ff1dX97upZ14d1zo3OZrRsNFdvV/dVHOg6\n6oCIz9u2dgBnrs+2M5YdlsnvLshj3ZbtblxzPHV93XJuV4/lkzwwcBkFEC7X8a3jXdVF8NKBPc+f\n5XkEYLp+Pii61uCF0a4/jnTpZP3MFwrTCPCwPoIBgxI6nxjn0ZriCFV3Rs+C6HEZaHUgzYLlMnYQ\nXT3mifcbsR/cX7SxcbEXYwS0ut8eO8ebzdq8qyxl/SyFzAf5SWXk5s5OWW1UunR8+kBjErnplq5c\nx5yDd9bFPPFD1AJimHWx0TTQGvWt62vVxbOIMhfZL0OA44xfF8HZ0Ts7amDD/o5kNvV0DsDt8/gc\nvVgHva6+UZk5R9g5na7ddUCMMmcAN+JXZz9IV+HPiK7Cq/9tfZTlyCFlpLOVV6mTnw4M8/8cIHT5\n6AvLdraY3ybqQv537drmsSzPj+zeOrkfLfs/SLrW4GVra2t6RUAMqB8UlnLn5+eTk9vZ2ZkeKsaH\nhJnoGOxQqy4b2apaMdopT4cWokEeCf3IAHVGYwReSOsMxDqj52N00tm4GkNwcnIy3dVF3nUPZcv1\nnYG00rJ8wFHm1Vml7jkYHg+zEM62jfjj7Aj7x3H5XLf/wfzsHuDUOfosK7H+gDZnuwx80r/UQaNu\nuTTgS3vRvaqa5j6PIuAt0nwPUqgDRt14wxMD2/DJoKWjufkfUQfu7ejJH/OM89UBBI9xrh/rHCrt\nUeeYrjLGufNXuXadvSEPPI6r9rkLakaOeAQODBzmyprmAM1VwXDkhaBgVF9nBzsAQz6MAOxofB2Y\n6oKjqssB3bp5Mwgb8e9B0rUGL3kxI98u7bszSHF8e3t707teeDeJKcicmRw7DAKYGDHfwcTzdK4h\nCzQnvlvXtmAz8s5x9ot10Hl1dXY0B5YCFnd2dmpvb28q4+h4Y2NjeieOzzFj4zYJAg1c9vb2Vl5A\nyHcV8Rb6bIA1gAw//BwSzpGdLBXcS2bM7NHhhbxfZcRnOsUOyPJaZxP5klIuQ/lhbinfLVPl289C\nIlAN/xM07O3tTXf1nZ6e1tHR0cqSBd8zxqcqd9TNdfgSvvJuKWdYOqdhhzkyvtQpHuvAFsHhHDix\nc+8AzgjwduXZT/ava9tjuipv3Ib72l3DY11/5pz1yBF2tqf7v85BjvjTAQWOaY5fBkJdHd13N+a0\nxQDDAMLjG4Fm9pW+JTZhVN6Z3Y5/3X4n/+6WY7nScBWwej/oWoOXnZ2dOjg4qIODg9rc3JwyMHEe\nJycnK4Yuk8l3tnj9n0/oDRgKMKKRZ5rej3zmi+tII+WwUDONScHn8hCv49OE6XitgJ3RXIfWRwYp\nDpDZr/39/anNnDs6OloBEL6rJ9E/wZeVl+1lTnJr8v7+/gReTk5OqqqmiJ91dktBcbQEvB3A8Z4U\nggs79Byu5lWuAAAgAElEQVSLPHROpwOrbLNbYvL8WY44Fxk3eR3islt0YGtrqy3LsWdcGWPepJ25\n2N/fn3Tk6OhoApO5tTt95Ths8O0cuRzJ/ldd6Bj5nHGHf9lwyHGT/wYhqdsyMAIpI13l3IwyeR24\n8X9n0Fx3V9eojblz3e9OHm2zRgDQ5L7OAZ3uOvK3s1nUJTvf7jqW47JuyjiQyjVuK7zx/pnOthuE\njPgz4on1gr6guyZtdxl5nud15OFoX07qGgFF+5XOzzwsutbgJc5rf39/Mtxc8w9z4yTDxBi+4+Pj\nFeDCCJYR/e7u7pRezyQkHU6AEzo6Oqqqy6jeGQdH9rnGRpwO0ooRhUn/iIwdvdMAE4VbAQ1g5vrG\n/SfJgHUG6uTkZOV4QGTKUBFHRiZLRIn69/f36+DgYMr4xFllo9nOzk6rNBx3sgsZh2XHRtY8JqAi\nPzqHZL52TpGGlGTH77khgKETH8kR5aIDz6zfAGl7e3vSu8z7jRs3ant7e3pz9fHx8SXZ39jYmOa8\nM3wer5cUM8eRF97CzvdIdfsYCCg9t5ZX310XoM0lz26pyyDDD8qkDBBwEQRTFjNu3/VlYDGSFR9b\n50Rsizqg0Dkn1s8+ui6Ws+Ml364iH2y7k+GRc52rh2R97dpMv+nsc61vPc7xfI+yjp1Ost4OvHR9\n7OxPrp3LFNLmdu2zLtdt3rnuh03XGrwk4js4OFiJOr3XwQ4i4OXg4GDl7bnJAgS8pL44TU5qnDQz\nM0bunZN3JEhn1X24PEOBHV2zzvHxulEaeQRgumN0almq8TXhGyPw8JoOozMMIWY30k4c5+7u7lQ+\ngCV9Ir/Jt/RnlAXpHD1lqTNs5qHnYFQPx2jn2mWCPK9ugxtpOxnMmLo7jLq55vXRhSwVhf/Rwc3N\nzWn5bs6Jdsaza9vX0jGGh96304Fy85T15FpmXhiMdMa8cy7us4ELx8Y2O1BlANU5OwM188i/R3zv\n6CoAYjRHnZObk/OMg/NksOb+dwDpxZCBpPvo3yMgZ2fPgNHt8Zvz1gEFypllrhtH15bbtTx0dY3m\nzHZkTqZ4bcbIZaOrgsr/LV1r8BLnFZDBLAijmjAsaJh3qXBJaGPjIi1OQJLfdMJsI3XRaYSMlOms\nmbrvFIF15HsO/V7FsBpU2Hl7zTVl7VA4DgK4gJdkNHZ3d1duO861Z2cvPPk4x3Id+0bA4/1NeZpt\nHGjVC4qSyD/zNtrPRGfQOerMPd88PVJqO5nO0XB/SfeAOH881yPQRMPgJSHLh8FL5pg6Y/5Ensn/\nvb29unnzZt28eXPlf+rPZm1vdKcOdGlv9tXO2DpBeYqcEJRal7qsp51H+uOlKj/F2P2x4+rmJuPx\n9eSDdXidc84Y87tzsFcl6vpo2WTOSZEsfx5LtyfMeyk8XznmNjvHHn0ZOdjwf+SE3TfLoqkDiZaD\ndaDR+s/j3bXdx3aHPKUtnfMvDKh9nvaDx+b6Z378bwDni6VrDV54t0mXSvNzMWw4qUTciBuyY0jZ\nON7z8/Np302WrDY2Nur555+/ZAizodFK1T29NcJDpaBA2YmuQ9F2GjzfUacUvC518T1SBH10iMmG\nxNlQoJkZCXixQQsfuM+Fe2zyn6CSPCWfMg5uXrUDq1rdH+EImPxl9sGbxdl22vED4vL8Fd5anz0i\nTDsb6KR9P9WXMu10tsFmeB/wzHljf0JbW1sTSDk4OKhbt27Vo48+OvH/xo0bk7zfvXt34omdMw0k\ndbUD3uRH5i7XHB0d1dHR0RQ8dBk1A4TUYYNq8EKDTNkhKOLrDyi3kW/KD8FSvh2RdjpoYEvqgC/t\nhF9NEJ6P6qNcu1+dY2c/0x/aMbbBvrGe0Tc/nBvOWWTTmVXKPsfE7y473ZXL767fnIfO1hq8kF+c\n21E5lu9AMcdvAGgww/nswKL9nPvKOjy+Tpc63zHnbx4UXWvwUnURbdPobm6+sDH09u3bdefOnWmi\nYuSzkZDPvsh1VRfAx44tk0Rnvb+/X4888kjt7e1NDu3w8HAyuoxWGd2m3ixbxVl5cyPHmWsY2dho\nWhi50fj8/HzqQxfFkDoAQbTNZSwaFCqVs0jub45xz5A37qYMI38uGeV3gEsAk40b55f96cCJlZkg\nN8cCWm/dulU3btyYNg77ScOZ4ygy3/XjB8fxfPrUPeY/fCJ4CR/SbsBRHlRHA8w541Jc+puxxwmS\nVwFsN27cqIODg2nce3t707xmH1LmyHNg8JL+UkbSFwI+goCTk5M6Pj6e9J6y5fIGkKnDckaZ5zE/\nWZiZsy4ytq4YDDniz/FungiaSB2g7c5xjF10nv7yN/Xa9XP+yKMOFM1F2Lar5htBQye37KvrzRyv\nA2hXyQB0oMpj4Px4bh2QWm46AEMZGPE4+mmQy7asF5Y1g1QDEtZLW+iMKq8NGZzxmqvw/X7QtQYv\nNNB8oVzVC3daPP/883V4eLgS3ceZHx8frziSqsvrylkGyt0YdKxxUHFgudNmc3Oznn/++To+Pq6z\ns7MpQ5A7oUhnZy9sbGSa2oaO0ULOWxA7gOUIM4KUiJvKPReJ5TwjX6Pt9C937sSA0OizrnxoCDl+\nR8AGL6P3CCXzE2OS9sOXkZPpooazs4vnqMSIk7dcOsnyCR/UR0DHbAvvcPPD4/K/M1g2ehlr+MIl\n0wCik5OTlWxXxpwxmWeWpy5bkQxY2oxOpV6CoYBLGniCYcseZYJyV1XT3WoEeXyBpnlufTAg6mS+\niwzZHp1FBxrcJo91csdxE+DGcVD3DQoIagwC2M+OzyzbfXujcWdb3C871qsQ9cr8GZFBhEGIHTv7\nT2K7HTBxmwxmDDrZLstQdzlnllk6edtV2ulRPzvgYpmxzTd17Wxubq7YT4Ja8t1ZuvhMAx9nzR40\nXWvwcnp6OoGTMD8KfXp6Wrdv366jo6MJgfKBZqenpxOA6YwDn/9CgxsnkTX9Gzdu1COPPFI3btyY\nzh8eHk57L3InRpaVqFzZOMzbenPeqW8qgNF9ygeYdLfsRqiS5mZUNQIvHjuFtYsw8hj78/PzOjo6\nWnlYmd+rQwdEJxnyUtTm5sUmai/RsP9Uku7JsqNx2Mh0PMn/LKEcHBxMyyjd0k3mjRmW09PTqqrp\nd2Qgx3KbcTIK7Ev4x6UI7zfa3NycsoonJyfT4wJSZ2c4wmNGaEwrc+wp73M2ctGR3d3dlfFRthjh\nWZ7JczqByHrORZa47BsZDNDqZIUywf6wzcyfAQKNuwMS8sU6a5BBuaOssm72leXpoFxv51A9bjuc\nEY1AD+fFtjNEHts5zwHYkcyNNpg7sBuNw2NyX80r98XgJLLbzW3qTP9s/6ougmMDsNQzGgvbcXbE\nY7xKfeRpyvEhkAYgsT+uzzfK8Dz90AJequr4+Lhu3769kgrO5+TkpA4PD6fboQMscvtznAcNatWq\nYMdRpH5OWPe8kaoXHGaePXN+fj7dicGUfgxw+uGUfzI93GzqzVZdhMPsCDcbkz92YFR+k9G8jR0V\nM045dR0eHq4Y5PA6yxj5MCuR/lGRIvROVdLox2F7o6aBqR2UHZANj4/nv++2CWggqGBd7m/qN0Al\nOLGDJUDw/LCPqYNLox432yYxCnTkxXnOkk0CgXwTxNJAc0mX5Wi8ec5OjRknZ6A4l3ZsAVCcx5Hj\n95wRvJjHBBaej4yXUSYDBQM01u8+2YmSH6Psj/vvYx2/15H1nt929rYt5CPH3M0x2+tA2ebm5pQB\n7+aKNrLjY6jj3Rzf3R+OvSPKbGfrCEYNAuZ4a4BvAD4HdjyWri3zel22hm0S5IQYrHf6+aDp2oOX\nw8PDlTtC4rDu3r1bx8fHUwak6sKwBzwwRR8HaQdRdXnzXCaBdznF+OUZGDdv3pz2vOQ2UgpIDDz3\nb8QJBHylnxQiCgn7TsfPTZlM6adMt6+mc/BWWit7+Fx1ERkFxGTfT84HjB0fH6/Umb4cHx9XVU1g\ni3cfZew0dDaEaYcvIcxvOv/OMHaZhBgbG9fwmHPeAZWurkRfmVfztXOUo+jJxpHtcCOwozzLvdvo\nKG0k05mloNPT02kvV/Qnc8+sJusw70eOaq5vAVjZ38QMmpe4og9p29Gvs4qWK85lZ+Q9z45MA6JJ\nXu7kOO3sO8fGcl2ZUZ9H1IGZkUywPfOsu6abT4OokX0x4KiqlWDS5+aWs1gvf3fzaDDlPnZAp8tU\nErSMlipH/OpscGdv5oBPJ69zv92PABgTg2HKa3fTC3mUcut4cL/oWoOXGFNnXmIwYqTjILmRj2WZ\nVeEGQKf/KaQ0lqRcx+dhcFkoZWL8uUfA2Q0qRBcpV/XpQRpu9pXHDAZ47bo26CipXAFM5+cvLBsR\nvMRpBtyEd6kr4IWKHr4H0BDIhT+Z+8wxl2PiwOlY5iIoGp6MzcpGProPuZbRCvf+EDx3kWbmimDK\nBp7gujOOXprzPDL7kzo6ebCByTJU+pRXAGQvV5b1ql54ICHnn8BtZLxseN13y2VAAg26eccsCMfW\nASnWa4DsyJF6z7ojB3SizjJwbLEJI574mEFW6vPvOec0Om+H2IGirozHZuqc8Tow1Y2965vLkNdu\n34DZQJeZt7m2882A2LpmWesA0YifIzBifo+I45k7Zt509r3jX3hMu8o+xv5140wfugTBg6BrDV64\nKZGp9oAXCo43JHZRbo6PEK6NEQ1Hypyfn0/LU3HoXBJiO8yOBLxw4hmxcU9MR3R+jDi5vuz9L51z\nNGqfU2hmJ9j3jY2NaWkhDyxj9oGRsp1pB9LSV242TvvclxSlyhISsy6cH8qFx0WF7ByoeZL2CNyc\nGWIWiGCOII3kPUXsO527QRFBe7fERJBlo8M2uvMB2+Hd8fHxpf1HeddRgM3JycmlTBhBr/dB5Hd4\nED52TtJ353k9Pv/JR4I3L8OST+Y1+8h20m74RSfITI9laLRXxvwmPzq99FIXy/t/B0RGjtA6M6q7\n412+u/qvAlq6ekaApQtErtoP1ks5MSBkeQOxTm/4nwFvZ2tSttPFjmcGQFxp8Lg8h6N9RvnPbPyc\nTnTjJB/Tr6rLt6+nDwt4qVqJ6Kr6VHr36Zy3wQXJymPDkrZTtupi4rxZMNfRSHdpby7xGDDNKbGN\nLb9t8DojNTJQjiY45jhFAixmQOxsvVGNKVU7NAITZsqqLpaiguZTX5wk7+DwWD2OAB8uz3FuDVzN\n+y6zs7GxMQEpZp7i4NkHgyYbBSo/yzPycxaG8sKxjOSeY2FZ9y8vNM1dfnxuTPiYoMIR2siJ0vlT\ntjgX/G0gzuU8ys5oc2En3z5O3lBPqa+RZZbLd7KMrL9zpKyzy67yvPs2inJZjt/mu+3eiE8dv0bO\nmG0bfHnsbNdz3X13etbZ1bn5XjfG0Ti7uq/Ch268ozng9evAJXXePmbEz1H/OgCVaw3CWEeORReq\nVgNtymn+dzL+IOhag5c4KO9NsLHkRDu9z0htNNmuj0bWlHOcyM6A2gDa2DIFbaV031I3Ea+v6yJR\n1+tUeGd8nDUhqMicVNVKtM3+BWS4fdeRstzXYMDBTE7KcNkkcjECHCMDQSDFfnZzZr529XA8HKcN\ncGeEKVPsr0GF+d6BWV4zF/04Dc7xcM/O5ubqBkou4RHAcK5IBthVlx8F0PWDcxHiPi/Oh1/bYb3o\nQFzXHn87IEj76f8IMJAIVjpwYqc3krE58BKivLtsV97tjHhkUGkH2V1ncOW+jZwvwa3bM0ibow44\ndJl21jcCYQ4QRuPs+NHVuw5Aj4ADbX9ng7o61vGqu67zPTxGYOnxOGP+MOhag5eqi0mkEyUaJIOd\nGrMziIHjuc7BjIxSjjmT0qHiXOsyNmRWrrmIgnVaMZx9cQTjNg3k7Kgzzrl5GQEEj5PPBMh/Aks7\nBvOdcmDiNc5EuS+dQQ+P8u3N0J3DXGeI5wxh2uxAppcmuvnvIil+2wB188ZMTmeIuMdsY2NjApDp\ne0AabwX3cqCdLueHOu0+O/vG+QlvvDneICnXkOaciOeK/Q0fHNTMOXTLC7Nh1EnWybbYTgc0DCq6\nZdBO1lPWAIznO/mxPbSsrwMUV3GMdnzmre0V56mzP92n65OvMxkEGXBlztjHq/DE/e+AC8c6dz37\nOaq/A16Uc7ZlEGzfM0dz/b3fdK3BCw0t/1PxR0a+6rIRIgCigRwJbepLu4z6RyAiZOMTg+v3KaW/\nTL9bQeJA+b4m33Ico+4HUBnAkAcUTEfIbD/9y39mSUaZBvKx64PJkWe3LGhD0kX1fEdVyuZ2WgOp\nbk5ydxhvk/bdNl6mouylTd9CPHJIlB8ut7E8s0zcz0FjaqeyLrtiHpnvXpri3Occb1/nODN+bval\nPESeDFjYb8tK58iiL+ZDB14o1yNHRl03SCBf5jIonaOmfjqa7sBX59TZd881AZ7H3JUdOVgCoQ4s\ndP3odJn9X+fMRs7wKoDEZe2MOxsxCuoc+BBExganTl5LED4KSEeZH/YrvOJ8WT9fLCiaOzfqj0Eq\naW5e+X/JvNSFUeOt0jzOl6uNlISGo+rCaDrqYD2cpCxdxRHRYKd8BNhGNdcb4BDQdODAPPCDyvJN\nQeuyDR6nlTPHfM58oUGzsnXGnHPBSJjXe+PlaC7SPiNGKj430vJ3+mYnGp5nXvwskwAWvw4gY+Ec\nE1x7ySjzyydDO3vA/50jI48pi9lPQ150jpG/03/yk8cC+sh7Bwq+k8r7tTY3NydeBwR28xt+VdW0\nIbsLOtgP75vKNbmlvdsL5Dnr6qbcdkaXehxdJMBypiD8MSBKmfTHdiF97Y53usFxOUq/ioObK28H\ntQ6AjK61LHbluv8d30J2vp0DPjs7m+TZe6dSf+fER+Bgjv+hLus1BxTpA2jnRvyZo3VgZTS+6D6X\n+jmuyOMoC+g+XiVbdD/pWoMXGrguyq+6YLANbdXljESOxRjSCXVGII6DT03lnSURPhrK/PbejFDa\nSpYgfeoMRY6nbB6Yl/fK0Ak7cqAih9LXbn3S6J5OOuX4TBn2kb87AMTbyKuqXY6hk8uYCe7IN0dW\nMQDOrGR+CF7ohAlq08/wNi+FzLXO/mUvVh7qliWULKN0xjeGwc8AIXF8mSs+vZO3JKds+Bl55d6U\nzkkYQDOjRKdsvevu4EkdAdX7+/vT/7xSw+CEG5upX+5j+pR2Oe7UlyWt9I+gjPLfgXm2xwAkTo9l\nOZ+RB9Zn5+uMMeWAv7uAZ86xjxx51wb77H7O8cL9Nyg3dfW4/a6fo3FSf0bAYQQI+E1gn3ppL1P/\nCLB0+pt6EhjZ6bNNB2qun2V49yyXbVPWAU0HIjrZoN3rPrFHvJnBMmMf4Tlym0vmpS6yJM68VK1G\nhkb2dGoGCnFcVRdK2YEHApfcEuxHvntpgM+cOD4+nh6ix8eC84mo3PORfsYYU7jS/zzpN47CwChE\nIXNGhmQH2xlD8oR1EID4mk6pmbEJCHIUwPI2LAZo7LOVkef4TiAaH44n9eZhguFzMi9RYBp1vl8o\nc50Ht6V+ZybM5052DQDTHjM8BCDJcMTZRn4MCDx/aZNvba9afTJw5N13/bGuAL48rPHWrVsrS29p\nj8ui0anozsnJycp8d8a5W7Y0vwguKEush0tS5ocj6YyviyQ7vcl/ykkHZDtA0dkffrtd9n3UN46r\nc57kOW0iZSDHeB112cHFCAhYt9eNqeO565w7l/MEDpl3foc6Oxn9Mwjh9V2AwD1zBh7mB8ELn1vG\nwJfZuA7kdrxyG7TT9A0ES6nLIJI8Io3mcgEvVdNkdo+Br6r2VsU4+kyY35OzsXHxUkFOkiemqlbA\ny8bGxsotpFWrdxrFURK85N0z6X8izbTpVH3qzDgYSfBJvXy+S9Xq8hrvziJfMm5GVhHcnLPxCZ+Y\nqWC7ibBJ4SWVgeCRysTlMGdebHDJ3zmE7zRn2spv1+uUKTNcfPFg9+K+OPWAGD7xl/weGVqCZ/KK\nDsJGLNcwa0fjFBnLd/d6DEafkSnyJ+1Q3vMAu2Ql0lZeYHnr1q26detWPfrooxMg8qs6IkvHx8fT\nO57yVGbzpDOCkeXu2RfkA7N6Hrc39bMOAg0HNS5D3hsUE2x1ANXAxmMkcLBjJ3Dlsc7pdMCJ3wQc\nzFQZdPkOwm5O2Me5T8ZvMi86vhDQd9dRhsnrbmnGwQ4zbybrGGXDgSZv6XeGmUR7V1UrG98JZBw0\nWLY6MOM+jwLY8JLA0kHDCOh3tA5w3m96yYAXCqWNhaNVO0hmYSiscS5GnSzH55jkVQRxCH6vCiNg\nPsQtdaTdRHTcsEuHV7UKjOhk8pTT1EHn5tvKPR4vC3DZiYaL42fWKP1n/+ZQdtr2WMgzA41Q5ps8\n4pOM3S4NewwW+Zy2mHnjGAMGAsgCXLx0RWdEY2Ogl/4wvZxx5VznhCm76V/a8PxQ/rkkSGfBZTR+\nMifc1+P9Qjs7OyvP2sm409bOzk7duHGjHnvssfqcz/mceuyxx+rRRx+dXimQ+eQTefPU7GQZ8xRf\nLg1lTsgXynB4R36Gv37ZJ3nVgSE7TJYzWKADoOzSqXV715y56MgZuo4433Q0dkgs2wEkHu+ykTzP\nD21wB5q6TBf7ZTDYlZsbd2f/GQAwcAkxM+65dds+R6L+pmyuZQY6/ia2mllf2z2Chuh4ZJsZTwYg\ntAMMXvmfY6ftHQUDlpERiON8d+2N9OxB0ZXBy0c/+tH63d/93Xr22Wfr8PCw/uAP/mBFUJ599tn6\npV/6pfq7v/u7unXrVn3Lt3xLffd3f/dKHb/6q79aH/7wh+v27dv12te+tn74h3+4Xv3qVw/bpKOl\nYR6hfSJdZ1tYNsS6R1FLVU1vrg54oeFwBiQ84VKT03JxrslasE5mKOiA+bRTApQIeKLjCDt5F8Xy\nSxOZQu/GH6AWBxwQRsBBcGGA0y0z2PCG/7yLJv2ws6DTYCaLa8QECo74Uj58s5PKMoezO9xn4ija\n4yMRKFsWAzjTd4M31pG56JYI3T55wzuvfK2jQm52znxzDmigA9rzRvWbN2/WY489Nn34bh/Ob8aw\nLoJj2nzEV4JyAgzLTReYsE4e60C/bYdBZnQ2fEsfOtDgccw5iTlyny3vdvZz9fN69828Mj8IHliv\nQSMd9VVA2lyfafcMXgyuaGtcluOkjnXy0VGuixzElifgCXjhHaK5jvxIO5R5g5dk+mnvaY/8CXUP\nmCQPyVPyhvywro0yo9H1awleHn300XrrW99ax8fH9fM///Mr5w4PD+tHf/RH65u/+Zvr53/+5+uf\n//mf60d/9Efr5s2b9W3f9m1VVfWBD3ygPvKRj9TP/dzP1Stf+cr6tV/7tXrHO95R73vf+6Y3Npts\nADLZzqLEgPBjA+OJ6UBKhywzEYkaUy7v42EmpqomQQmYSB1OYWc8vK5q9dHLBDA0xGmPwsxlCy4z\ncNxUEAt6HAwpSwa5xnt9cp0NPVE+jQ3Hz/Ix+jbmXbqS80XeEjBxT40BTMpwSSXtcqycVy4HcRyc\nF2bSuqWElDcwYp2UT5KdhM9lTHOROMtaN3J9znu51kCCS37ZH5QNzlneDNGgcQkqQJvLSW6b/Q1f\nRwCu0+ccHzl0H+v43oEhgnfyOHLouaIMrgM0Pt6BlFH5DrR37XG8c8CFQHiufWcPQ3NgnMTlSo7Z\n1/l3B0g8V6OA17xgfc4gZYwE47RvaYsZzCw9Rx9ok6x7qY97PPkE6/idlGGAGjtFQEf/wiXzbjvB\nnC8kUOmOWSYeJnCpehHg5au+6quqquoTn/jEpXMf+9jH6uzsrL7ne76nNjc369WvfnU99dRT9du/\n/dsTePnQhz5UTz31VD3xxBNVVfW93/u99eEPf7g+/vGP1zd8wze0bRpFx3AmDWdHb+ASoaBjoyH1\nRMQB0CHQ0Xn/QNXq8lMMbNUF2GEfU77rV7cPh+PPsY2NjTo6OprayvIUhd0Ohw5khKgJ2uhcU0+E\nP0ssRuNReGeiRu2FB1Rknqvq387bpSu5rOFlEpZntiNgLzyOkeE+D8uB5TAgNptTA+xCW1tbU32U\n487JUua7MVIOGFHZGXUgJ/VxDw5BS+acRpQAlzJAY00DnHb4vqnIy+HhYd2+fbsODw/r6Oio7ty5\nU3fu3JneGG+55xiox+ZDfnd6QrmkLPI6ZwJYT44zK+bxpn8myztlgjJOgGun7zGZujHPlfP/0XH2\n0yCoA8cc01Xbzm8HFgaDLjvnePk/dfn4VRyry7kO6knaYVaF+yyZ1aSN8/+Mjbd3b21tTT6Hj1tg\nQOkggx/LHkE/9Zr+wvylDzFvyI9uLA+D7suel2effba+6Iu+aEWRX//619e//uu/1uHhYZ2dndWn\nPvWpet3rXjed39raqte85jX1D//wD0PwUrUa6XmdnhPitW5SlxIzMYLPeS7D5OM7hChEdF6+pdUT\nb6Tt98RQILyscHh4WOfn57W7uzvd5UKwxI8zACMjFSJ/7MDSTjax0gHmN8GD+U9HEjDULe1lPqsu\n3/5I2tzcnAAl90zkWip8xspM1fHx8VTm7t27E3ghLzlvXbo32QfWTwCST65LZs6ZjNEcpAwdrZ0p\nx0h+02gzWqOTiCEmaODmwfSHwIfLdFyG4+b2s7OzSX8CVm7fvj2BF34zMCBw4lIW+2t5oc5St3KN\n57HLDtjodvrXyamJcx+Zp9xUXWRnTZ19MiCbAxA+zjZZ/wgIdu2SR925rg4CQva9qg8+2PdONvPf\njvTFOkmPiUFa6nTdI8CV67i8yhsQug27XDlwBo9zf3Z2Nr1XjPvdci7Ho6f2HdxLR6Ju+JsBOO3m\nHHhJ383bh0X3BbzcuXOnbt26tXLskUceqaqq27dvTwPtyty+fXtYbyaKmZVEuUGpjBq5ObPq8p4L\nKn8MyCgKopPzGnz2nWxsbFx61wxRa9qPgHBtPG0aSXNMVb1wHB8f19nZWe3v70+353bAxUYqbY5Q\nM8fQIegAmAh6rh3tY6BRcpRkJbDhytgDVm3EE6mM7kSjDNHxcn9QbtFNX7yWzPqY6cj8c/9R+spM\nXQj+qPAAACAASURBVL7tBF23DaLnzk41ukDQE7ny8mTGn/ESvKQ+ynfAS5fBYR+dkczvAEK2eXh4\nWM8///wEVg4PD6c7jiL7HiejVhpKZsB4De2A57+qVsZnnucY26KjMlBy/QQFdECs26CXSzKUB7dP\nWues2dcRmFlXh/W302uf59i7egxAOl11Vs+2o6uXdRiked464MK2nFEYgaMRcGZwwscX+IYRliOY\npe2L34ueeVmI+uasC20PQQjniHPqQGf0MbDugqtuue1B0n0BLzdu3KhPf/rTK8eee+65qqq6efPm\nJBjPP//8pTKPP/74sN5Pf/rT06TfunWrXvayl1VVXRKGqtUntoa86TBEISJQsHHuMiJWQEelqcfG\ny7+Drrm+SUFkX319nO75+fnkkDrkbAHjXRHp47qIkufICwpsnObIUBscdm3km3Unq5FbeT0HNv6Z\nc4LZtOlogqAzERRvc3a6l8uV6ScNS8oHHCUrdHJyciljY9DSATPPIWWWwGVkoOlYAjQCFAL6oh8E\nI4zcCIbCC/LRRpHRXAAin3eUDzeyG3SQvwQv+W/iuZGzp3EnEDLfOx52TthOds65si63ycibOsl6\nqDcESiNaB15c9qq6PxqfQfcI9HXOcK7vc+dtazs9oH3qxtvxyRlIjtd6yHlwZtUfZ98IaKqqfYo3\nwQgDKm9loB76WK7hHsmqiz2G1P8529P5yPyOPbp3717duXPn0pw9SLov4OU1r3lN/eEf/uFKVPe3\nf/u39YVf+IV1cHBQVVWveMUr6pOf/GS94Q1vqKoXGPjss8/WN37jNw7rfdnLXray2cmOpaoX+JER\nz38vw1j4LfQmCmOuHyn1SLFyjaM1prxNKRvnEieUc1WX18Ldj7nMi8v5N6PXLoU7B0zIOzsst02F\nT7aNSk1H2WXgunRtzhOQeH5StjM8fJibDUzVRWYm+29ybRx2ygTspW1ufqbhT394LPwITwzOPSYa\nnW5+7FwiV9xonnKZA9ZJsGIwmCUkgxYucRJwuz82+Dag0c/YHBtbOlKC1i6raTngMfOtAxfuWydT\noyCBds19Ik8ciMyBpAAjZ9nIu04WyC/bSI+ffeOYnVW8X2RZZbs+39ncXLeuX6Pgz/y37ae80W50\nQVD+7+zsTPOR7DLlmv6A/wlQuiVX37hhOU9Z65v9UWw+r2eWlOM5ODioxx57bOKHExUPgq4MXsK0\n7HxORLmzs1Nf93VfV7/yK79SzzzzTL397W+vf/mXf6kPfvCD02bdqqq3vvWt9Zu/+Zv1xje+sV75\nylfW+973vtre3q4nn3xy2CYdRBRj5DxtaDojkW865By7imDPGaH0g33JMZ/j8fymgHaOhryI8Bq8\nEBSNgEQH5q6i+GkjQm/D2GUIOiXv+tNlJrjxjRu0cy4gJfXQONBgGKTaKXZ9cRkCGoKXyD8NAec3\nAJMRNuvLsYyDERzrY9mkpAleOrnv+h6glwfI5a4gPuzRAJngiRuErYvMMgUAJfNydHS08twjZ186\nx9wFCB05MxFeZLku5wi82UYH/NgXyrej8uhBNw8EnqQRaPD5brwjmzMaQ1c+88M6RwCHst71gfZk\nrr8dT30twRt/Gyzn+IgvnFfaEwcGuc5z5Awd57SzmZE1A/H003Yk+k574rtkrWMGLwQt8QEM6BJE\nBeCQXwyyYhN4xx/lPMvgzmxzjF4me5h0ZfDy+7//+/WzP/uz06S95S1vqY2NjfrFX/zF+vIv//L6\n2Z/92Xr3u99dH/zgB+vmzZv1rd/6rSvg5amnnqrDw8P6kR/5kbpz50697nWvq3e9613D26RJYagd\nfM5V9REBnVZnSAwkqCQUOKZrO0fWKe/I8HXlOwNig9alDSmcBBM2pFTcdYau41WMtNuzMtPBZZwc\nu4FV+NnxzON2RGQA2xlFrzOz7Dqj5rnkx1F/FJr7YLKnyobOddpYd8bcAIJPJTafyDvyqAOFnSHn\nPAfApBxBVMYd0JKNt8ksJbvSLR0RuOTb/R5FvZ7r9MdLKqzDGc2U416DLhu3Dnh0xzOnaZ/12mb5\nesu0gwOey/kXo0+Wd/bPvLPMOzCz/Dp4YpvrwEtHcxmjDkS4Xe5Rc79H8+g6R8GmycDW89kFkwZX\nnd2kXffWBdujyDjriR6SxwRM0b8AIC4/Va0+EM9jzRhiT3ITTdU1fLfRm9/85nrzm988PP/qV7+6\n3vOe98zW8fTTT9fTTz995c51zpgI1GTFn1urs+FLOyyb9pnWd1RPpQrZcOabYCoOLw7A9diYcNwE\nc11k0Bl/R2gGKF0dJiupFcgp0o2NjUvRtY1HFM78pwO1AnoDtetJHZ4fG+t8OpDh9Df5btkbyVYH\nXAy4OuM+B6bMcxpkyzJ/mx90qgR5vp5zncgwwGx3d3cqwzddJxPDD8F2J8uWMc7rHHixfntuRnLM\ntjrw2IFv2pMR5drUTz4z5Z527Ri8mZ/yYx1eZwNz3Ugm2efRuDoA57psp10vQc2oLQOFjtcjW04e\nd87d9m5k46xTHFMHmkbl7E+69rq6zAeeZzDk+ug/aLfCF940wADLS08MXMLL6LL7nTYCXrKsXnX5\nRpkHRdf69QB0lFWrDxdzVEJDE1DgqIdOLPXaoHCZwWCGAjHnYObG0hmXzilaaSxIXd9DNvgjg5L/\nXVk7bwM61uflECt0x8vQuhSwnQaNtvnZzc8IoNkg+Rg/nbE2zz0m3pGWcWS+Rrv/c23Hc/KAxt0A\nN78NFphFcQBAcNnNJduyw6JjpkPuMoSW79G8d/NBvpPSRy5nhgiOLOcmg0KDF46dvGLfOV+dTnps\nnXxSZlhn5zw7m2MH3TnCDlx1AIO20GOgrjET2fHZ+uOx236zTFfXCHB6TjqZ4nfXtzhkX+dAgO0x\n+0R9c1vMXFIPR/bYY+3G1dmjtGMQkflmv5mp6ezCvXv3pkdjeDxcBuPe1AW81OWXatEJGA1SIW3E\nCAAoZExZB/C4DOt0ZsFOf2RMaJRSP/8zCu2ML8twDXOUKu8UvlPwnCNvvX5PpSKypvB3S2gdsGBf\nuiyN+9gp6qh+KmV3Jw7510UYjFrSVhQzypl13RiLRDGRG6ap0w+2befOvoWY3bDzzIfLM5yjDuxm\n+YbPYMk8ZsNgxkLjl/eyEAhzvlMPX4LaOULKhn/b0YbvdmaUB/KUzpWOITQXGHCOPeeUUWcZR7Js\nIjilfnpc7pOPdQBorl2e7/4TAHJcHSjwZnKOvaou6RmzRew77ZRBQDf30SXaX1/juehsFtv1x2NZ\nBww7wBMe8B13AS5dEMIx5Lh55uy7aQ54jfpPXWEbBE6cS8vOSHdiA/gKhIznYdC1By9E0nbiIQp8\n/qe8DVfqNQCqqpW9Ch0QWGc0SDYK6Ve+89u3vc2VtTHvjnP8pA5w5Xj4QYH2WDY3L+64SRqSG0FT\npjOOc7y5Ctl5kD+cqzjltEG+ZFkj68BZjkoZRh4BOF5m4WZgyh+zFfm/tbW1styV+uzUKNMBjnTu\nnv/Icu5gYvshjyPA5ejoqKpqiqROT09XojQDGOpTdINGKo9A5+3s0Tvfhh4gSAccIMa7prjebpCR\nJdaMOd+R2fSXPCfvO+BAx2tg5Q/lhLagywhZTvN7HWi5il6MnPlVABb1xtQBF+pU5CBlGbXHJhiw\nsd4RADB/Us/Idvoajo363IEWg5cug89zI5tJIMD9Z7HluY77QGgDyEeeczaE/KK9mJNj2hD7CNob\nB82UlQ7YkjL/DPC4Eflh0LUGLxREH6+6/GZPCiU3lnb1MvImQEqbNuamLgLoAAP7T8EYOTOOb2Ts\n0hbBnXnTCRz73kUurJ+GhH2noXY0TUEP32lERkaZ5xmxdOV8jXnUZaU4n17GoFITREZ+cldXByK7\n+el4OzcGfnfg2XWHOuNuI+6+Mk1tA+O7cSiz+c58J9Lke1towAlM7OSdkXJkRyBDWU6blncCHjsu\nl6Esmp9ddijXpb8GR3Pk+RvpgMdJ/XZ93bVdfwxkukzryD5krvwKCveBPGL93NPEvmSuu/m7Cqjp\n/juYMfjx2Ef2sDtnPea8ODvnfkTWzP/z89XXhzB4qFp98rLbpJ8wgOlsRccfB/8JMroM1wjw+btr\n8yrB/f2glwR4odLQ0eR/1eU9GnE8nYGkM+sADhWKiHROyUb/O0PaCQmvMTDh+LlMQ+dgHvhDopPp\nQBj5ynKJxMIzvumaQstlGAI01jcCKTbSNIRehjG4tDHNPEdJqaxUZLfjjB0dd4z2aL+R++KxrQOU\nHRimMXCqnrLTtUde5ZO5pAHuiHLCSDHneOcSnZnP7+zsrGwq5F0MndM5Pz+flrhSZ+5mYMAS4uMC\nWA/b4Jx3ALJz2OETlzH4KhADvNQzAiBdWR6zQ3Q/bac6IMCMFI9ZXrr6WJ786MCLAWnOdwDPtnsO\n/NnWzzlnt8P/1qV8j0Cg56Urw/GSv8xQMmN4dnZ26b1H0YnII/+nXdtU848+kPLscgzEsnTMp8bT\nFhL0Ry74ZN+O6D8dJD0MutbgxQg+jGIUNaIu6uEkcNLoFLvzNHAdjSKmCKwBWAcuOgUyZfx84qwV\nk5Fz953xEpSR1+yL69rZ2ZnaTkaCjovlwzNHE+RNPgZdLNs59S6dSsOQ/mZMfH1ClHbkCEaK58wS\nDUmuc3ST6+jYacAzn3SWfN4DjRIdStWFgWK/cnxk7A1k/P4opq8NNq0rNMYEdukD08fcW0QeZYyO\n3KsulsUyvr29vRW55Zj4eo207zso+JLU8Ib2wM/eSNucTwJ3Z/bIK/avi1Q7fec8jIBoB6hZ56gO\nOkCCUIOSzAVBKV+3Qv5FVtkPylS3WZS8sLz6ePpIGzwCGNRL/ifwYiBFsv3seBvqZJ3tRSa8UT9t\n85PldwaAtLNsx/z33UD2PbRNsX1ZOs5/PlTSKxAO6Az4Oz5SPhfwUhf3mWcSyUinBSMUOU7ES/DC\n1LGjPdZjZJp26DwS+VMBKbjeyV1VQ8NH58++UrmSwo5w56FgHGfqphOn84tyUPi8V4htMgrY39+f\nXkKYR+BHydK/EBWpWwNlfwxMUieVl+1E8bOck/ry4DW/hZXPFDGwYF/YRmikpM7gUB4sTwRwdkLe\n8MynCbsOjy2Om+BxjrpoMg6KkRz7FtkPMMg1AbGcR0dh4eXe3t7K00QpWxxz1YX+HB0drfBsb29v\nBeimfJ4lE4DCSJMv2fTYvW/JD0QM+e4RZmByfrT87OAn5+hcO2fK/U6hrr7Ogc7NNYHiKOuSOeIe\nBoPFtG097TIlo6icQJfgxc6PztlZpfy2XIWHzJDY0Xe8HfGO7Tsz5/7E/sY+UHfS1/QtesFl15R3\nIJZ+uF8GL10Qc+/evUkX+I4zym5VXbLTnT3xvHdZ14dF1x68xGBREEMRhKr+jhFGuxZQOnqej+J6\nf0QmjICF9TAitKHoELGjCAogz7tc+kEe5Bz3C2QcBFL57O7urihxNq468xKgk3oYJTjqtwHxXBFo\nsL/km52hjbGBGMFGxps7ghjxRD66jATrNGAaKeNVowyDsYAeytoIsKUdGmO+AyVGx2n6zuBQVu38\nKO9ul2CGzjtRm9skXyyH5+fnK86QS0rdi1bzgsfwN49PZ99T7ujoaAW85AWReUBe/lP2bCucacjY\nkrEJ8I1zMeC2U69adZjOCnSAk+c4VgZa1FODl3XUyQj7xd8cG+1ZAjuezzjm9MZyYRvIvozktbuG\nYC/8JzDu5iL/R+3SDhsY2NZ1fO3min1jYGrfEzuRvnoMrIf6YYDn4C0Zl4CY0ZIT+WswSl9M2eC1\nDxPAXGvwYgTODEEcMh0uzyUyD3H/y8i4ULB9FxDBS6JDR98kCmnqHCmDQY4FggJmgOBoJAJPR8js\nFR1gyqeNjIv1E7zQkbodK6KVknXS0BmIWTHTJ/PDToz1MRPUGTvz2KAlfLHBM2DtIiGPg/Ux+5Oy\nvNW42yCZOUtWiQCVRjYyZv5wzGzHtzhzPr28En2KzHvp6t69e9MeFaaj2T/KKUF0wEuygbnOIC6Z\nFxt0Pt2XT/Ulz05OTmpnZ+dS+p78IjikzNAOnJ29sM/r9PR0CgD4jibqR66NDKUM5YJ3X4UYnNjZ\ndjbkxVIHvK1ffGIqdTu3ADtwsYzxOPncZUxoe7sgzgHPHOCnPXVGaA68+L8deI51dmJEtg9x/B1A\njfwRHEY2vESVuu3vbAtGD4mMHbLP41jn/nPpzDbL5R80XWvwYqOcDzdLrlu3t7J2GRwj2NRP1Jrr\nuPnQgsE+d20YUV8VvGRcRvQ8nzbplHwLM29pS/nw9t69e7W3t7diSHhN2mM/ujsSaKipHE4/jwwA\n55rAhf1yCpjAxcCQPHYk5D66T5adDsTQcDgao0zRiWUZI+8W4hx57ulUaTgZ/XszbQciKVc08JbT\ntMl0cvpN3ns8aStLOBxX1cUzZZgpM9hjXw0kskyVeQqIS7lsRDw5OZnGFUCVJTfywFkPA7q0G/1O\ndpJtZbxcFiAYD38YDDFT1oGXHM/1lj/KYefUOmK5XM/N7tZL30Vmm8s5M1Cx3bJTZTuU13zTNoas\n52wv2TuDAi95dVmw9I/2lPxyv+m4zW/qHKkDANYjAtvOb9h2kgcGoLE7BPN+UWNnG1IX7ZbHRn6Q\n190cPgy61uBlDmRUVctoZkYsuESyjgyc5aGhdIYhv90nOka244wRy9HAd0pFXnh3dxQ05x09pe9U\nDDosK3v6wLQmlYYbvWiURkJMheIx8qLbD+KIjGCUDtuK22XRbPTYfhd95boYa+/I9/wY0HRgNOW6\nF7g5mjToohPpIpy0RbDhfhngdVmmDuTYIHH+wi+Oh5sBHSGTjwEK5Ac323J8dEwEXQQBBqcJOrIc\nRh1kXZ5P3z1H+QxYCrDLqxHyYk7qWK7lfpnYGANT2pqQMy+0X54nUjeH/t2BoMgR54aZPoLljY2N\naZ+VgWjARHd3Sq7lPDDgdFbG2VzbotTB/SK2vQQDXZbd9oA8pU2mjWPWjmWsf/lmMMb6KSME7qO5\nXQde2Oezs7OV/S3cvN7NC/kxF6hxrjvbRz/4MOhag5cYjKr1a3FGk7zOjO4iFwqE9xecnZ1NCP/g\n4KAODg6mNPT29nbt7e2tCAcNKg0a+99Fzt74x+go9TK1ys2FMRwZL4XbisN2yDdHaOwrlwaqajLa\n2c/QGRc//yP1GUjEGOR8jGja5fJXromjpLOI40o9qTu88Tx3Cto5ic7gjYwp548OkksPBsDkDQE2\nn+rLpb7u2QxdP/g7skMepl/MMIYiG+xj5pNLiVUXxjIGk5T54XkHBPv7+5eWeLe3t+vmzZt1cHAw\n2YG0SwNKYGYeMJviDfyeY4PIjJvghcuQu7u7k2xy2YhEsBb+prxtA69lVsgy19kvykB+M9CiPBoI\nkV+Zb86x6+nAdvrEpT/OZ1VdcqAGbOSDl7bnggxmJDkWz0WOuz7LjoGGAV4HBMn77kP+h5ddG7TL\n0dMswXZZLduljCsbdPkSVPPBmU7WZ/DS+TUuiZpPnU16EHStwQvBgycu1BlqT3SUyUIQIxXjEyXI\nei8BSKKR3HETg5qUOV9M1ymD+3N4eDhNMp00iRkhGhYaNGZeuNbudXgaHhtHCmfV6q5zCzSNe5cp\n4Dj5sq7U5bnjh3uEaBSj1FSUjDF95yZrOibeDkhlt+L5ePhAA04HQt4luubtvYx+uLyYsVGuOoCb\npY6AF6equ8g58k1Q6nlPWc4t54OOIEstGWPAe3QgfUuZgEnOHzM+Bo4Zw/Hx8QQMAkDJ98i8M6iU\nhc4pd8Amc8P0eY6PnDP5tbu7O/0+PT2d9K1zZJZxAiLOQ44x8LBs2mmyHrabOecSB/WUfOooskag\nSNkhP9g+AxDqCEERyxgIUE64FGRnSnk0qCLZHjHjZF3h/BoEORC2DOeb/eRzh2hTmUFOfbyLzz6O\n4NgZ9rRtIBbe5NZoAhg+g4b95hidmSPvUz/tL/ud/wt4qQvj6b0PVbWimFUXgtaBlpSP8FCgmGqL\nM8ndD1HkpFCzuZB3PnBNmw/iIhKm8Od7e3t7xfgR/IQiPDZaUTKON/zInRWbm5uXFKNberByut6M\nMfUHuLEuGhr2JcfnjGUMkMEbow7ykGTQlXZ5De9AodK5vhFIc2RH5eV68unp6fT4/Tjbo6OjFcOR\ndr1ZloAjhp4Ah6CVYye/qQdMzSc76KWWjnI+DprHkgkKcIkeZONqeBj+29nZKRmoUS/DL+5ZyRzm\nnUtcKuDdFKM7KQgg2D/KEOtM8OJlTTq/EB+ASCJQYjRt0GiQlH4ZYIXs8Ed1eUmFdsNRO+vkXXsG\nBtQxHqfsZi+PnZptNOtmhsfgpVsSHfkBE21nPtR/yp3tHtskmX+0HQQJtCORm6paCegYUNguJ8Nh\nEGr5C9k2MaPKjeUGJV7mI5ChPXSAZ7ke2ZUHRdcavMSIGuFVXRgbp+A6R1B1+cmkVRcpR2Ze8iA2\nApcAmpxzSjNo23tFGCWz3xGEk5OT6XfAi5XQxoXHApYY2QS45NHTBGX7+/vTMzW4Th+ig+OyRCLh\nnZ2dunnz5sqj2hORZ5w0ONkXwLsUwgPygk6FxoOgJuVGihulssEnWJmLCOw86HSZydjY2FgBLsms\n5LZcyoQ3zJHndqwZQwcm2SeDTsu+ZcwRIY1Rtw+kqlb0itF1wCuXJ2n42Ac6JYJZLzexbH7TERwd\nHdXW1gvvicqdQ3bKXPpiNo6yFtlmVslG3KCRdoT15RO5T6DAstSjyDZBkOulcyJI4lJViE7RFBkN\nzzlmtjkKrLpsDQGkl6YNxlg/bSD3drBeygMBF48TuM+BF9vIjMsOl+cNYrt2HDS6PIERHT55QVtM\nkNst9VM/wsO0PReA0AbGRvmOI8+R7Q2PdaAt1zHzkmuT/R4FqvebrjV4oXGwYSZKJ1FZeVuno4gw\nu+piyYFghdmFZF24nMT2Uh+NX9Xlx8xHQLNZMQKZqJbghwancwoZH3mxtbVVh4eHk5GPgGUcBwcH\nU9YoQpa1URo7A6/sdzk9Pa1bt25N4CXnuHQQh8Yx0VDYsaTdKAKRPJcHeI1lIpTxhm90To74CATs\nsChjHbigsySISSYt5fnQNCp7lxVg/SMAY8MyAmNsg9EXn1VieSU4pF7FcURuUncAG+eK6XwaetbJ\n5YNuXukQIzuZUwIXZxQ4L9Q51pkxdxmO9JPUGW8C8Mgt6yJ4IMB3n7o+dkDVUa0DGetURw4K/E1d\n4DhIc8CrAy/UPy7rZQwmyqBBl9vxUgmDro4MXJy1NH86HeuATGdjOtDDzAt5YPDQ8Td65H50fOza\nd9bXbXW/QwZVBsFMKhBoj+zS/aZrDV5u3LhxybFZcZ15oVGJU44TtJF2xoDOm+TJyjG2GQWlMnRo\nPt+MRIPKI6ijseY4jYIdTiJjps8zrv39/ZU1+4CS7omOTitm/fTmzZtTZirgJ33iRsTUyYebUaHD\nc0dZdNQ2zE638mF7vJZzRgPCKJzRXIApn25LwEFehx+M9Hk3SQdcO4PGDaTMbnTlCepsuBilxVhl\n7p0Z8jo1ZYoRLPXEcksjyD0u1BFH0JHrbk8T58vAnW1GnjIXyeaZusiX4IX8pMwY9BBEMdLsQCXn\n0SDYMk/95Ty7PoJM75UyCPBSqXWAAM/ywzJp1/Ysc0cQMnJ8BLH+T7voAIKBCmXSYM1tGyh2fXIg\nwjF3vJn734EZ9zHy1IE0X+NnIoVX9EPUsY4vlLPz89W7/hi0dKCiG5v5xv/8jm6mjx0Ye5B0rcFL\nliiYkSAxegzFOOS5DCxLg83bjF2malU4aaRpvAmWOoMZYjTK/9zV7/rs1Lj3gMaA49nd3a3j4+Pp\nO2ViVPmY9owt5eLQ2U86pGRosuchBi37PBh1Rik3NzdXomXyNIaQTo7E9CMjACo25z7nU0+MbeaG\nyz/37t2bHnq2sfHCaw8C7Jh5okOzcWBGg4Y5c5Rvgssu+vHt7l0mK78zTrZBGaOxSibo+Ph4Ap4B\nMN2eGsorx5o+JasU/lGmPU9cfo28dftdnF1kOfIvPOsMNx0h6+wCh/SVmR8HApxrOpM4BPYrTp5z\nShBInqQPkUECwVAHXtie7Qjni3JiABUy+Mkx21XqcXgRHlg+3BeCfctLZxtJdI4jUOKsUJcxJV/c\nBwNOz49lmu2azwYLBhS2ieyXwSv7wz1DHdD2MpnBhJeK5nzTiKhPbKcLbLjXcwSSHgRda/CSTYEd\nUrcxcySQySc5yuCxrgwVMGCIRoRoOWRhHRkG94OCUdULTdVFlBUhp3Okc4gCBCDYgaQvETgDDCop\nhTN1hPdcKgmg6DZlpu4YbC6buV07JM9T2nFqmYCPt6ITxJ2dnU23ueYabkAlgCPI4rx1xtvymN/h\nKyNQzhm/U8doA6J5RPkjePFSlm9TZR3MBlBe858RNzNMrCu8jmxykzyzAuRJZIG6kPNZoiKQpKx0\nUamBUObdvPMSUeY4csy2DLYJssibzljTEdJWEDywDfKeNoZ8I6Dq7B1pBGDYr4y3451tHdskLw1K\nwkuCwHwchKbezu5RRwgyOp5R5wxIOEaCVJLnqeNTB2idneJdRpwH8p78M8CmTBi8kE+jYD5t851e\nzrrMARfzlf0ysLTvojw8LLrW4CV7TapWowYCjG4SObkjFGgB4nE6KRonKoH3t1ghmdWxUrA8zxtZ\nO11IB7GxsbECEnhbbcrRSBJ80OllrFxKYTRpfgc0pB80qhwLHUzKhy8GcKlrzhEYVHXG2fwJhQ9p\nO2CNfOSykQ2OPwYBbI/9yTwGvHj/D3kVfnEpkH3pHBBlyo7CBpbZIX/Y1igLQ/DiNvlQOspMKLIV\n4JvNstZRyhb7wmUi3r5LoBseUVeZEbU8MauW+qtq5Wm5BmnmmR1d5pLyQ71lv80nZwXoFMl7Ok9S\n/nMPzggEUxYMWDqy7nWyxrq994jyl49BSOavk0naxs45upzHQ34TUHdOeJ1zTx/4xFr2m/bBx+Es\ngAAAIABJREFU/sf+pvNB5BP9AX2K9ZR9duZl7uF09HPdHHfX8FrbH/qDh0HXGrwkijc6Z9RswemU\nYRTFW3hYhw2h2+jSlHNkQaZgXqUeGjeCEn6y8ZibclPOzpWOI5t6cz35YoPC7IENU8ZJ4JY5pLNh\nij71ktceN9vi/BAkdZkpGumcSx/tsO04bQQpJwQGzEyEl1zuS1vpZ2SnW7JkFsEyQaCQT8o4O8KU\nMc+RRmCQKWk67ux7Sl87h5f5IEjh+4t2d3dX3mOUbKb7EF7wTdTZq8XXBFBG2QcbczsQfsij/Occ\n0zZQV6k7lMfOCVDu3NeU6YIg6575zDaiQ1e1Rx2/OsdFUMRMNOWfemYwSB6ZT+wD55066CUS2gry\naw7ApL8MoshzfpvPnqfwgrfHb29vT8uytBPkV3jJAIXjoE+jHQlPmdnxtgL2sQMuBLSj4Iy2lXWS\nTxzLSG5GAeiDoGsPXiiMIwBio2Fn2gmlowLWSUfNCbJAUbBSb8ra6PE8qTvG620INzZWb5G2sbST\nrFpVeCq4lTYGkVEKhTrGiiDKwpwsA+eMz3sJUOKte0TrVHjPbY6P5IRAaOQQrKCWETsPzgmXvGwg\nyAvvn2CdnUx3Rpt9oEFLWp4RHx0GIy9vMLVBN2/oJDOmpJ7z9ubz89Un3XLeM885n+W4AJfsLaKc\nUV/JGy4/GgRa/iwrnAvPt9sl4Eud4Ucn3wZOBC90jKynm0sD4o7siC3HIbZph2ZQMwf2OvBFUJ5r\n7exynsGNgb7JNsb2mfpovnfkDNfIVxiQGvR4v1LqZt/Ozs6mO+1yC7+XM7PHzdk18z9EMMp5pQ1O\nP+KHCHjMV+/Fsn44ePK8k9cMMjuQ43lZMi91sZmRGQBHMRbUqt5Bd2i/6vK6ONdEWcaKRmViRMFj\n7Avbp7GjURsZOl6T3zG66Qc3vkawPY78NphLWToV8qa73ntD3A8e4zM1otDcwEqeBdhUXTYANnIG\nWjzWAR5Gi07Dd1mUDuB6oy7T426fhovzOpfpsVzQUROgeMzsO/WlS6Pzt+eac8LNv9n4S4PO/kYm\nkjHhk4HZB0affHAgdS86nicW583RccTkSfZXGHRQr21M2RcvqxGsWLdTd84H2LFPlmfbpnXApXNs\nlAPXw2vsAJldZV12egzU3P/OqTlICPBMXfkwiHFfQwY5HTgJr3yt+8v63O7IMXfgtANSlGMGJ6NM\nBh9Wx/ExA8T6CRI5f102qfN7+e3sWH57ObELWiwDrpv2Mv0zP1n+QdNLArwYGJCBVavpLaJEouhO\nqfPbSkNjVLW6yTZK2xlEI9tOEFI/y3RAy47LTogON8fIL2YzLPT52PiEZ3R+QfnclJn0f8ZAA5+N\nopwHOhTPnftAvnC+0n8qoY0a+T2KvgkqRuCFDo2fGAE7uoyfMmd5iuykDJ9VMpLRlO2WMkZyVbX6\n2PbMnQ0NecDfzCQEIJMfqd995VgIWtge79bJMhTbJNhNn8/PX3h9wJ07d2pz8+IW/KpVIDkHOqwH\nBrpcVhsZbupesgzeA0Q7wb0z5LuXEmhTaOc4Fs/xOiecdh0A8XrypAu6RiDMICpksGjwMNdeZICZ\nK/fDv12H/+eYZbyrk+CrC9g6PWewlr77zkn7CgbB2XNHW+cluC4IT9868BK549x3WVjODf0fed/5\nOM9vZ4OqVl8v8yDpWoOXqlVDy2NdGTKUE8zNqzk3Mgw5P+oLJ9aO2GUoJHQsNHJdNNFFWiE6sOxB\nqLrIniQjQofAdjh2jt+AwnzOmOOk+Pj0qgtnmyf78g6lqrpk6N0PjovRDdu2spPXNlgEC2wzffU4\nO0fuyMX97OaMUaf7n7b5sDYaOII0AgLPO42Q+0CehwcEpuGD9wrRidiJerzkmaNwnw/AOD4+rvPz\n8+m5QHl6LrMnkaXslYlcn56e1p07d6alJIIXp+apVxlnp2cei38b8FMGDcZZLucoh5Sbrh+Uk8wr\n68oc2El3faYMjOxcF/ylnlF58rTTv1CnF6zDwIRtBtRmH8lorxD7zPFT5zu57pakIyMBHwTHaScB\nBAMTZl6tl9Qv9jFleLMA6+zAi8cz4kco+nL37t0pCHDwQUq7mTuDR4N69tnzO5K3B0XXGrxY+Slw\nVZcjEwMXOxJPuBXPE+G9Kp4w1+HoI9fS8eachZjRyqh+j5URZ+oPaODyTIfU6ZA7521+5j+F1+nH\nAJpEnRbmOOREBwaVcTR+fDYVjxmdTkk6JSPYzO/wzorI8ZD/NrwGChl/HGyMIOvM+Lm8V3X52UHh\nRSK4OcBEXvjR+8kQmNc02J1c2LCn33koIDM7/LbT5gO4YlRDAS/37t2bMnUZL9+ZFHCTZaMAOtqE\nkI18eGidovOmfPr3CGCH5+FhBxjshDp+Uc7I+/x2VrjTyxFw4dxS/zo9Z10jUBDdJLAy2f52gNff\n1LMu88l+dzSSQY7Vy62U8S5byGdOpQxBc9XqQw3zIEguR3Ns1Gn22xlKbhyn/2IQY+pseh6XkGek\nGZDQDjLzGf5Z5pyRoUzbdtqmP0h6yYAXAw2Xq1oFGXYGOe/JprHh+Q75U4lGG7tYZ2eYGNnn4XfZ\nE8INrCEKGB0TwUcMC8tRiSho7IedpoWOY+YOdxocluVv12sHHiJPOY/pC9fnGTmxPUeZni9HRR2g\nYjaE5z1vNtBMEbOejY0XltBieChLbIep5A5k2CnZodp5B7By3mlYXBflM2UDVLi0lQ24AUTWOcoT\n6+Z+Fl6XvTR8zUA26HIDbQx6wEt4RwfhectvAmwbf+pnBwZYhuAjn+ht1eoeAssMifPKdjtZo4Oh\nY3EE3jkV20nLAa9lBpnnqK8GvZzzjjo73dlvA6Cr2HrX3wHCqlVwQVmznTWA4TGWyUPoQrTj3gPH\npW3WYd9gH0E5Y4DYPYHcfExfLIsMcF2euslxGdg6C+1xpE/dkvmDpGsNXqrWb/7pJoYCSWNjxWcd\nFI4oKfetMO0eQ2xkzd+OPgiOGBUzkmR/0lc6BRq9LnqgUBotm082mJ3hpgInkxCe2NiRnCUwcOjA\nAQ1s0sdVteLMk4VJn/jbfYgT7qKGqtWNqbxbwOlmO16DBUdIXPP2xlzyKnUlUorM0ahYliyzfiZJ\n+Mj5JM8JXtyPtBNjyTvEmE1KO8yOdU6XmxojE1wy5RuguQE5skYHaR3Kb4NqRrL5ZBzMFrFfBtoZ\nh7OgI+BKmSEZ8DJrY10fgVHqctcH9pfnuzF1wITySHIZ7nEyEBo54RFQcWBmve8Adcfb0bcBBvdF\n+dZh6y9lkMFFN2ecV28+94ZoAmrb8bS5DrTNBRs5zuUt600nz+uACo95zOwTfS5t9IOmaw1e7Jid\nHUkZluUxGhAiakcwKWtAwraJKq3wVG7WnWuNxC30zj6wPqYSOwdNY+1lHI/DCjAyQCyXviXqZgrT\ngMBzYmNvQEcjy3ki0OwcIZ002yORJ3SsnJNczwwD20xf2fZcO3H8MR48x+ULzlUiNxog89FGoury\nw6xszNgXAiXPbXfN3t7eyi3Nu7u7K0/r5FJP+EWDRjBoeaJckL92JC7bgS7yiXUwW5S9M8luEryQ\nl5bHDmhzP9DW1tbK2+fZJxp6byZ2naTRcVJnpzqgSlnvbKSdMWWI43R/Ohtpp0YesT5nBRxMeo45\n1waRdva2RQw8OqBcVSu6YX64f50Nyrc3YXNMHpv5OBprd81VKPPBoI8A28FZB6o7fhi8pJ/0Kwt4\nAVEBwmAaCiNupogjUETZnTGlsaRyV11+4iffOUFFGaXKrPwd8vWmQ2ZcqmpaS+0cGI19ZxhsTNJu\nyH2mQFppktan03U9HWpnf+ycDF5SV+fAGPUzonQfaHgsO1UXL0Tc29ub2iV4YZ86I5m603/PQQcQ\nIzs06nQOziaNjCn/sxw3pXLc3DfDOTAZVPEN6pubm5PxN+BmZEcQEvDSgS/2kwDP0SGNMHXNBp3p\n9Yw3wImvssj+srRDmRjJlAEX95T5qcysh3OUaNhy2JX3+AxU+N8yRqdnh+I56BwVA0OOx3aA4NqZ\nJcoebUQHCs1z9tllSF6aGTlcLolkDwj30qR+Axhn0myHOv3syhrgjcCk52MdcKGtdZskzyV9n+d7\nZI/8P+0y4+vx2Q89SLrW4IVRDQECJ6BTWipCjIeBEImCw6yHgQuNrvs5Mn42vHwEv6OY9CXXdEs/\nnYLQgMRgenwWOqZPc8x3+NiBGgBZSG04q2rlFlpmQsLr9Dlt8xx5mI2+VDymPe34RwDATp799XU2\nIOtAGvnjKI+88fKUHZgjHLbn8TkKYt/TFoGBx5K55xg8/tTBfufJ1+43MxI51hlYg0vPRzIl6TP5\nWLUalASkeJmOwMbOwyBhpL+RM35XXQBDAsQO8Fq2rDOW0Q5UjeYq5MAnfXKgYP21I+zKuW0Hd3T6\nWbLIeDlHlGHbvJENtJNNnbEXLmeeEOj4vVyd7fIcrAMI1DvyiD6JvqkDnfxNXhNQdEuTBODkH+fW\ny+wsQx3vZN7/bRM6nfH3g6ZrDV5o4DpBrloFDnQOIS/jVI3Ts7ne4MUImfXkOk6kJ5pZozwXgBEq\nBdFLPxSmDrkbuBC8dM4wPKHTyzELLg0OHVXXP/M/Ds/LBzzO5RK2aYfbOTGP37zgfDtC9Pw4uqI8\nzRlWOxvz2vsVCChYvuMl+9o9zyTXhl8edzdHncy7HIEXAaHlgNdTHzrw4rHG2XX8S/87vXMfo4te\nlutAp+e+M97kO/nItjlu2wLLIPvHwGDkwNwO+0XeeB67NH53lxXHw3lklovXONPZ2SPaTPbXIMyB\nUer3OAg6DLhTxs8t8dx2dXH5PfPCOjoes3/dnjXzxOecmcj1HtOoXl7vuSMwtl/rwIyDpU4nco39\nGWWOQSbnkvMwyr7fb7rW4CWPFqezrbqYlBj1ECOuMN3ROSesc8R0eLxzhA7Hyp7rq1YVM+V8R0qe\nY+CHyjl1GiKoMWCiA8i9/aQOuMS4ZAxsh/xldib8c1aLfQrfOa6k1bu0NI2654FLMDQ4nbJ0x6ou\nXrLHY75jyUbHRp2AiwaaxsNk4OJ5NHhhdo/jJnCww+qiQRol8tJ97MrQuPlW1bOzizvj6ATcH46B\n2Qi2mzkk79JmZCaZFJajrs4BEAIbG2XOb+e0zCPLdsaf6/IEYOpF+EV5MT9H82IaZU46HqQ8dYdz\narLd6sCeZY9Z6XVkwBwbkPqdTdzY2FgBGbYLvK67IcHBGNvo9IfA08CPwW53nO0a9LBuZ/rmiLLD\ntt1n6xO/O5/hINAA3nWO2ulAT9dPvvblQdO1Bi83btyYwEvVZaSezVhUEAIKo+2qVaGmUlLIIpTM\nvNjo8sNjXg/M71zLVDbvNLIiWFDoYHKe5eLsuujSgIWAIP12SrczMN0SEFF6jmVJ4d69e9PdHnnG\nR6cY7rOjNpe1U3d5A9SOl+ZFxxsahe7OJcrbCMhk/pmR8ubRtJHH6mcJhAbfRtRz3BkiR2XmN50L\nedxlXrrolf2nTBugdXIauSQwJKjtQI6N85whZuDSyUWOGTRTHtg2X7tBPmX/D2WBzjXjzL4h2pZu\nXAb55MGcQ6m6eOcNQdM6Ynai+za/uCxkvXKGk33lnLsM7YdBB8fKPtumW19HesDjBnuUXdr0zc3N\nlf1+7EMHrDkeg/QuKzEKMDiW0Ycy1NXtoKRq9eGOBtW0OeZ3fjN4obw6QHzQdK3By97eXt24caOq\nLgtw1cW7V5hCpgEik210bOh43cg5GW36uxPgtM2+M8JkW1WXH3Tn8TGb0wl2d2ulnbQjVfKCQCCC\nbSM75zBjBJK58i22uY5j8ztu4jjICxrVPKXVysdyVCYbWY6B/eH82lF7fjugwjnwfhcbSMpGHD33\nblC2/J/OrxtP2kx5yhnnn+Pi2JjRDF/8AkpH1fm20bessK05YJJvX2c94Z14NuYEUQS6nC/Xa0fT\n8eb8/OIuIj5pmnNCPnHZL210QVDncL0vi7zk+HNNdITLdrZHHbDw7cTZoE19pD1kW9xTYpvQ2YqR\nEzaw6Tbluv8johw4S0lZy7zxAZPOeEUv/RBIEmXQcu4563TVPOrGYPtl+e1kl+3RLo32ABkY5npu\nOvd5y+9V5ud+0LUGL3kLrRlVVZMBoeJ4krmEQkdkQ+bliarVJzVyXwr3aTASTh3eVEoDFuXP7ZuM\nbDMmAy8KHO8cMZjxunqXgbHQkVy2cyqsl4YlfeEGvTwhlaCpAzAECUb4XarZKWPXS9DQLW8YvPE4\nI4YuY+c2yS/y/uTkZOWpm+RpPs7oVa1uAqXxtPPKXOd4F+nwOgIfz9nI8PEhcY7EU3/KBhyxbY43\nZONLIMY6eZ2jcxtlR/zUTc4ZjW94aPCWPnFeKR/kR+qkM4+96Yw/wcso6DGFr57/9Md2LPyhTHSA\nzePK/BLAELykDwbR5H8HNhyI2b6aV+vATef0O3tFPlmPPMcEL35tB+uzLs1lFzIH5Ln36LDf5oXt\nlgG0/UXspHXNfWL2dHT3pv2gwTjn0uBqybyAuNkzxMgrSmrHGaKBoOGlwtGIWmHSh0TDjFAyedws\nyLq534K3O8fARQEyDoOqUURK45EMhw2L67JgG2mnnxmzFY/9C5/5agM6Fi6PVK0KsnlrI+8oif9t\nPLo67XidlaHc2IjZUHYRDXnq7AoNz+np6fQWZjuRfLiJmePluEg0oBwLwQXLMpI1rxwhk2/hC2+N\npgPsXjjoDAt5bPk1bz2/qYMghO0wa8U5ye+Oj50jMP8JZsx3jy184vu62D7b4Tyxn3a8tkGbm5sr\nNoRlPW/ch0OHxj77GstRbFSe55NbizkeZ1666x3tG7T4t3ltnfN5f4dXdKgjR9/xkNlQLun7OvqL\nEZBi2/RT3XzZzoRoR9YR9Yx8Yd9os/wUYOvG6LeDzm7sXOZewEutGuFQ52xNTHFy/TzXOVLwpNMI\nbG1t1d7e3rRP4eTkZGVPgPeuWDiCctPW7u7upKCJzgME+P4N9iF9SlozY2SqmncXOEORvlqpO8Vh\nNGiHmz7m4V/M/ERwyQ86QbbRzZeBEw0/jQ3X9btIzxFp58CdPWDdlB0+bC39cBaCPK6qyfAfHR3V\n0dHRyhxubW2tLB0kk8Z+UN45P47UY4zC385xkgek7j+BPZ0IAT5lh21Rt2y4DEhNbIfZEsqAyxN8\neDO17UOXnXAQYF67LWZt+GHGN21yrhk4dQ6G5TtnybZtCyx/3XnOifnDvnA8zMB04KULEqtWl2s5\nHoOXkGWIGQ/+tjzQLlL2PI+WS9dDueaNHgaRGUOAWQcQrJu23ZYd9ofyaHK/OWejMp0c2Q+xLyT/\nnwMsnQ3wXY8Pmq41eDk7O5sigA41ewMSHQKFiVHgCF1aKXLd9vZ27e/vT6BhZ2dn6lOUjvtP6ORj\nEBJFpTzvxsit03H8BFYZI8syRd+lNskP1sWsRSeINsAxnBlnBJ+Zl66uzBsdbBcR57/BpUFWKIrB\nzcBWwC4iYJ/y7WycFS7zw1vZc22nyKw7GzO9ZMT5Ck8JFtNfzh0jXYPV8/Pz/4+99wvRfS3r/69n\nZs3MmjWz9lZJTTFpb3duk5SgDgrKSKmQLAULOxAyKQyEOgn/1EkE7qwMzSACpRQhKhNBSbIokg4y\nwgPPtPRIRd2023u51sw8M2vNPN+D9Xt/5vW85rqfGf25FhN4w8Pz7/O57+u+/r6v674/n8/SnUOZ\nTTMojWjtHGtozLKUHaOrHp3e2Unnf1cCHHSZ0XfOuEswYp8cm4DL4OU8INU1B2HbJ/luWjvwxUZf\ns2p8VjTMR47LeRLkUo6k2b6QdDtQk470S7pZTeho6njK+VDH6as6fSOdXWDvQIbtNvQ6yXXyNpKD\n7YrAh7QQPLJ5XuRBp3PdOfYfjHEELdRZJ+6rAMq3AkK+A17+vxYmp0xrg6AzYVCKA6Mzy3l2nmn5\nz6CHpUSOneZSfpSP6/h2mg5GvKTNypWAWHVqIF3Q5nyotAmIJycnUyB2mZlBxs7NfXL+XB4K3xhc\nQ7/7j/PzkkznNC2bjNk5gy4YZL7ui3QYlHSZIJ115+SpW5ZJXtShPOiNDj/jMdCmf2eH3RhdoOKc\nrIsOTg5IbJRvZGeZR47UxRznjJY6bD6O3qkTBEXclMtqge1+JD/2yWM95kUcc6eDIzDD7x6LdPt3\n/jf6f3Ss5zai39XqqmWQ3gX3DhSN+NXJhLpinemASQdeRj6EtFi3uk3R9lcdj6k3rmiN7Kj7jzbO\nxK9LrNzob3k8/Xw31ki/ydfRvJ0A2LdcKvDyvve9rz796U/X17/+9dre3q6XvvSl9eu//uv1zGc+\nczrm8ccfr/e85z312c9+tjY3N+snf/In681vfvPSnpWPfvSj9bd/+7f11FNP1fOf//x685vfXC99\n6UuH4xK8kCEUkgM3N9Ex4FJhu6y9qi/TRQlynwuDi9H5RLpcwolycmklv7ME7vvXJPgtFoul58pQ\ncQmAuC8nVR8Hq1FQcNZNvqWPLKswY6YDigG6tD5y4B3II02RBcFeFySc5UdfLKe8G9g4GPN8GzfH\ndCBmBcObRReL07tfBpTZ6XtOVafP58kVEQ5+5m0XCOmQzSeDHQLYDvywKsTqC/txIOrkxT48HpMA\n9sP36DfnZf0mHaxgGciZHzl3FLhWVXJGwSHNwb6Tv3XXwMEydgCnf7Rv62itOlsBYADtdIXfR6Bq\nBEJo29Yx73fs5sY5uw/yyQkKK0VMUu0jV4FC60wnC/Mgc/Vx3uLQJVUjGshbvjNxW9UHaaE9nDcH\nzr+rOt3rdiHwMpvN6m1ve1s9/PDDNZ/P693vfnf99m//dr3vfe+rqrsTe/vb314vfOEL6+/+7u/q\n5s2b9fa3v73+/M//vN785jdXVdW//uu/1l/8xV/UY489Vi9+8Yvr4x//eL3tbW+rD37wg0sgiC1A\nJGOwObjauVG5owhh6iqlcBAKeDJIcOXDNBEkjWhm5YK0JkClBbTEUXM5Z0RD1+ygRkDCv5G3MfQs\nq3ADctXZzZtWetNh2g1KCJa4zyi6YSBD42XAdhZVtXz5POdKWYfPrtTZ0fKcqtPlwKqzyzfpN/NJ\ns7POODmmc7Lkm3nIse0QOW+CcTp88t+gjnP3/YrIu4Dy0O+5dVlvgrrBkStRoTV7NAgWu6A1m82W\nnvztAGe9IX/TMk/q+Spn3fGS9t/ZamebI3r82yqaLNvuP1dcSW9al1l3/nDUDGAp424Jx/bZBf8R\nsCZYIfDrQJTp8rzPa/Q932pzctH5c+tRxiQg65LznGP/bNkZHHd2YjlcWvDyq7/6q9PnnZ2d+qVf\n+qV605veVLdu3ard3d367Gc/W1/60pfqPe95T21vb9f29na98Y1vrHe84x31pje9qa5cuVIf+9jH\n6pWvfGW95CUvqaqq17zmNfWJT3yiPvnJT9brX//64dgMDlXj4GxH2pWpc5wFFiHwmLQ4YWepVtLO\n6VEB87krL3JuRN7sm42X1DKwUnFDO8fIeSPjcnDgDbjYj3fnmx8OHJxrfg8vVjldG4jn72CcefNq\nI8vHsrYsHESd6RrgkJ8EvFwuy9g81oG+419HW0cfq1umOU4tNPlqIYNs9sGr6PzkbfKKy5F8/IXl\nyfmwD1ZCMq/0yyoTgVvO5QbT3L3alUMnDOmX82XrNoIHJBnEUz8NNCmDLkA6cbG8SYP1dxWA6QIy\n6eh8WGySNHBs79NycKRvcyXSciev6FPoV7y/y32M/EYXfH0u5UQe0baiwxcFIh2o6o4x7X6N+r4I\nHdQ39sdkqduXZlDHfro5uX/79v8/4O2bad/Snpf//M//rGc/+9m1u7tbVVVf/OIX6znPeU5dv359\nOuZFL3pRzefz+tKXvlQPPfRQfeELX6hXvepVS/08+uij9d///d/DcayYZKq/B7h413jV2evSyVwj\nRgcw05I2cspxhjaQkVANgLox7HCSYXJzspFy5k3nzODDfm3UfOeVSumLGUEHAgieQp/HTTOYG82/\nc8SmgVdC8PdV2Qb1ZwQQ7Bg7IEs6E1Rdsk2mbV105ajjBY/lcipvLBYZ81jO23LJ59DKsnXOY6DO\n3ZJDn8GLgTqPow5Qlg5UlD1vUxC9t4124NZBJ3N31bBzuAGZrmQtFqf3UmL1k7pAvelABnlHfeiO\ncwDusuj852Npr+mv0/kuyJ8XhLsqounhmCOQQV0579X134F+n9P5i47XBoWha1S5cBvFjIu0zIOb\noTsQMvILq4AQfYUTmADS0XwIfLoxO9C4ikf3on3T4OUzn/lMfehDH6rf+73fm37b39+fgExagMze\n3t703h3zta99bTjWpz71qSlbffjhh+sFL3jBUrChIXVlRwZnVw8ctNJHh8r9YkZgA7NToHEwmK9C\n0w7U/J2BJNnjaMmAjr7qNFAweOa4nM9yfRw2+ZLsk+O6LwMEB66uqkRnxka5OSNOY3Ch8cYhZE42\nah6bcbyPx3R2DpJ6ER7lOVPsgxtLHTi9hOTxR6AlVzaFRjt1nsfKi3lnvpH/rPSRPoKSVFy6BwK6\nYsI+3EYBoAOv5AvpddDOcZwLr5aznDt+MMCl767y4mCYPskz+psRKGEjLfYLq8CPdcx2yf5tXx2w\nSd9MBkcV1C7w0s4YrAkQWRXowAvnku+dv/Mc2T/nwrmOgIHlYD6TZ+7L/o3jjvpYBbbor3I+G3XM\nMa+zi44Xo35HAGo2m9UTTzxR//u//zvx+n60bwq8/Pu//3s99thj9Tu/8zv1wz/8w9Pv165dq1u3\nbi0de/Pmzaq6u8yU9+6Y3P6/a694xStqe3v7jAJQEflfHJOz5875GEgYjKRfXm00KtlaKWhgpNkB\nulOI84wogSLvPCbBKYprJ+QKiOk3eImjckbNCk6n0B6Te3voXDpQQsdO+XCeLrdnLF5ebtnSkeed\nyztdVaALZDyGAdwy9dVKVcs39qPMQnf273R0cIkooIWXSjuQOBhYj6ijnT3NZsv7QxhMydM7AAAg\nAElEQVTwDUpd4u90o9O7jr8Gv658WWezmZ6A1DLi95FDd9+kgWDd+1QM6Dwe59YFlVVlduoKAcOq\nAMdxHJzNc35n64IP+Ue/xn5GVRnqoBMZ0sylP9p/F9StM5FTPnegx/TZflfpQ8cr85ovAxXTSf3y\n2G72l12j/ccm89lPXKc8vSrRATD7X8pxNrsL4p/1rGfVs5/97JrN7l4g8uUvf7ml89vZLgxe/umf\n/qne+9731u/+7u/WD/3QDy3998gjj9RXv/rVunnz5lRx+dznPldXr16t5z3vedMxn//85+vlL3/5\ndN7nP//5etnLXjYck3s0yFSXv+NUVlVeDF4omK5K0wVfKoT78WcqZ/qhoTMI5Lfu3Q45fAlveD5B\nGg0m53aKb2cYZSSdrNyMDJwyIk+74N45YAcpys08Tr8JJOYjHT5p8HjOGiknZoB2Wp0joA4xqPM8\nVspYcemulnHAz7GsvAS82GEZmNBBESCNgoEdlCsvBJgG9t50bPl1ejOSf4BJNuPa/mNDLINTjgyU\ntDnLvAtKeWfgpbNn4LJe8HMHDrp23jFdgDMo6Y41mOh+cxA1XR1Iso51V3DShtIoEwKh6Dt13PvJ\nMr5t0n7OwGoVLYkdHaDluObJqs8dH+kbTEPeO5n5ONPlcWLf9D30l1keZtLU+ViP5XhFv8pEraP1\nXrULgZePfvSj05VC2XDL9tKXvrSe//zn15/92Z/Vb/zGb9Q3vvGN+sAHPlA/+7M/OznsV7/61fXH\nf/zH9WM/9mP1/d///fX3f//39ZWvfKV+5md+Zjgug47LjVXLt/TmlQkMcF0QpJI4UBDBMhDlHDpw\n990pqAU/cg6d0jq7IH3M6Pm/1zENqPydQZfB3vTOZssPkkywMGAh3ZGheZT+GEh9XudMDeQcOA1G\nGPANXmLE3Kxq/sTALSdnjiOw5qtssoy0WCwm8EFnnGNZ/erAACsw2e9C4BIww8pS1dk9Fp1uUW+6\nZMB6bpBAkE6eMvhYH/gfGyuJBh/sn/cfCl3WJ841oKgDyx2vKZsOHJJnng/t0fPsAjH7MkBaFRzJ\nW4OqyGS0QTj/0XetAlOdDhFERnYERpwTZZkEzADIVTdX80Z0jfjSAVEGcseZHDNqru6wj9H5I2Bi\nXqa/VY39dMDGMSJj84o8LqW7OVZ6zIzrK8NGunkv2oXAy5/+6Z/WlStX6m1ve1tVnSrJO9/5znrJ\nS15Ss9msHnvssXr3u99dr33ta2tzc7Ne8YpX1Jve9Kapj5/4iZ+oJ598st7xjnfUjRs36vnPf369\n853vHF4mnWYjs8NwRsBLPh3I8u7sy/tAbAQUTL5beRn06eCpsHaWXQDp5s2WgMalGCq8AyubDYKB\nON89J9LuK3wc0EdzsUMcBX1mAg5AlqNpNujMsTY+Bjjeqt99dw6646vBjOkx2CKf+BBPggEuw1iX\nGAAMVki7byhoOfOyyg6M+KoPyomBzuDfjtQysAOPPnf0G5ia/+YHx7NcuwBWdfbGZaSV4JXztm7k\nc5dxZsz4IwcF0mXbWRXseIy/dwFk5F+iCwx0mQd5M2qh3Uu2Bi/mD+fPvvzqaGcfBnTmn8fr6Pcx\n7ovnGYx1vqWjx32wH8YJ6/N5LfIzyMt/9EG28a4a1fEhv3W88lWn97NdCLz8y7/8y7nHPOtZz6rf\n//3fX3nMa17zmnrNa15zMcrQGJxZZu/ABoXPKy+I9u0sOiCSdyNKHselBzryzmGTzs4YRs6ZnzMG\n9x+EjhzDwDniI/ulozJPbUDZKHx0dLTUH2k0zaPLSTujtxGNsg9nHQQFdCCWi4GXAU+3nNCVqDNu\n55g4R+uDr6ph9p//eclofuNc09/oskfSar1In3R2pM0g3dVM0pn/mdnlmO4GjpYDf+dVTmnZ95D5\n+hJ/25ITmlHQyLGdztneu+SHNtaBGLYOcPs46x3HWQWYu9+t7x1t/j1zYYUrm6/Jg1FAsz80SIyu\n2s/a73TJAivBne80L1wBYB8dcDEP2Qd9lqvTPp46aF7b9438nW3yIsCt40EHgA1i7A9XgZeOBsow\n+x87O7vX7VI/HiBtlDlxHdyZl43T/Z33eUQHFdJGTCNMGylA58R8nJWYxpVyp4OVHQT5QOV1VsVz\nE+C6sVN9ySML0h9pS6OcOLYdDMGoM6/OWZi/vIrKoJT3p8jxnpcrcasAAWVvcGJ5e92ZG8oXi8UE\nAtkfN8eSRo5N3eiAlfkTGXjPUjLuVL0IALs+PBfuSSNdXbWHQMjgk8tpi8Vp6Z4yzTOtqJsGGtZh\nBzHzqQvqXZAOnazQdrbOvs7zOV1A8O8OpAYR1ofwzMGEIJbNPAtfeXduz9M+sAMHtt+8my7yKvrn\nG3DGV3kf4yq+W+/oE6lj5A15nuM4H49hHTFgCx1OjH1cN24HGH3sCLBYP5hg247D7w4gGQSP/mcC\nk3bekte3q11q8EJH2AGUETBgJcNK2Cnlqt/jGDMOMwWWg7ugyz55DDOR7kooggs6F1YJqmqpRBsH\nwH0oXVZjnpjXdCbmbZwjjaCTQWdIbh1dnHMnM4OxzpGPHAYDoR0OgReXW3yzM9K9ig6DuPxH8GLA\n5uPovK2Dq3jayZXycBbbOXyO49/p1HwFHnnZ0TNysOmHywsEpLPZ6ZIl9aXjMccmfzP2SLfI685p\nU6YJtCOQ19mE/Zdt0L9dRL4jGl15MU/yuz+ThwQcBkn5PX27YlfV33G3A9r2mwzuXtrMHEag036b\n/bPP0TH5zf7YQM5JYuzT4MW0p69uo6zB9UV1wTZl+Y8AEGXQ+RPK1HziOKwS24/f63apwYsBAJsZ\nblTZKcIIRbLZiHJejLXb9JYSdxTTNyej0qfU702GPI5ldzqLDj13ACDG5KtdRg5gFS/IZwclG3zn\n/HK8EX7mmRt+8Sncq0ClZdllCMzQ6GBpZJ1zsfPl3Vqtbx6Dc/fnHB9Dt8Pv9Jh9s7nvyIT9srrh\noBTQEb4Q6Lt1YGq0eddjWYdG/RswUF6cB5enXAFhX6z6cFyC8Y7fOcfyW2UnBDOcawee2fi9q+7x\nONqRx7VtdFXXjGEZdKDBrbNrAxdXukhjF8R4bCf/HDNqHY+648k7AxjykL61qqYr21zxpa53lb8u\nZnS+5TyeG0h1c75IG9mmeWbep3Vysf8liOEcLxJnvx3tUoOXBI+RIOzwrBBU1u6YDnHmWDuNOCUa\nb16+twqvYKlavrOqlyc6xaRzYmbqDMd8cUBdZdhuqwJM3j2H7qZWDIbckJr9HZxHrvo4PDxcunqm\nAwsjoNCBFzuU/MbsnrSSfzwm+seSN2XjvnNu9gaRz7yUn+cw2HQOrpNZzs3y0snJydJemVSQLEfr\njjeqcyxmkZmTAw+PN80GoJaHbYj/GdBzycnysrw7G6HOMPvudMyBegRCGLxDM2WZlvFY8ep4xow9\ntHSN8zE9eZkH3VIabZhVA8q985OrApPHsK7QXp25W39p156P58rW6VonO84tn3l1nvUi55FHTIgc\nnzp6LDPTbdq68bvfOY5XBjpQNQJOHMMJM3WGY3f723wjzHvVLjV4YeCoOov2GKxHe0CYOXdKaQOz\nULusxQoSASYwkQ4DjXzOuw3UG1xZujWI4cMbMx5vWpbWVQnYMi5pspIm0Pny21Vl+AT/tbXTZRJm\n8cfHx3V0dFRHR0dLVZiOXwx2RPuZm4Emz+PnyGt0CbTnmXcHNs6Dv4eWVZelGlxyzTg6xWDs4J7x\nNzY2Jvq8V4b9RU4EIdSxLlB1FURnmtSF7rvn7kycl6o7mz86OjoDXHIO5xW6Vsk9usbKQcYLWPb8\n2deq5UwDkPzHcfkfecEAQz/FcTtbpb6Zni5j5nls9F8GLeQvZT7qh8d1y4BVtQRUosP5LXe23tzc\nXPqf8wkot3+1/Zkuz4U64qSBvMxxBC0GOPbJVWeXM81HVsfdVsUn89mxKt8DHjpedXpbdfbKsi5u\njezZfON+yHvZLjV4sdPMZyNul658uR4vBTQKzbuV2muafCd9VowRELIzdSbGzJzzCf00zryY3R8f\nH9fGxkb74EVnJ6NAz0slHajCEz5HZ9R3DDOAhLxgoOJNyPi8mPTbOcqR3OygaISsfLFyQhla/pkn\nwYv57xfHixwMnhm0upZzRvMmeKKcVl2uaPrIXzrmqqrNzc0zGWX6zjOBuP+EPHQAHwXDfM4YAbb5\nLaB2bW2ttra2zmx87jLCkTzoLxL8Omc8Wh4kz6g/I930fC1/88AgZtXY1oEuUPN/HmO+pDnh89xs\nS+Rlt7TiPXEZI/9HvwJQ8uDN/G7wYqAWGfqCAoOQrqptveCr8wPWE17h18lqBBgpjxxH/2OQ6oSr\nkxtlFlrYDxN3t5E9juIZfab5ZDlXfafyMjWixVFW0WVNATEWskFPl4lSWAzqLp2nsfxu1G16+d3V\nDt5Xw0Emx4UuOxSOl2PoNDq0bcff8ZI8djZuAHaeQ3emOFpXzrw7ULEKPHQO2EZqvrB1gbEDss4I\n8xsrKAxKOc7G32V+DCarABxp5nx5I0HPy3ZjWVjnOFeW9gNerEedU+wcYwBqB8oDHANeZrPZEihn\n2T7ndJUx603nI+z8rTsJlDkmvMkxHdgxD9gI3M2PzjbNN9LWVWXS7IMcfDp6O/DDZlvi+b6KbpU9\npsISvcr3nL+5ubn0v/0CaWcSSjBuOik76jiTgI4H5pFpIK8MtPi5SwZzPlcWRvKzDtv3d7z5ZprP\nMw+7paicRxBr+u51u9TghQEuDGaWmBag4vO6zM/OlH3zMw2Y7zakzmmOnMfIKVjBmQ2k1E80HD50\nwcGfu+/8vZs36SKPvJfH8+/mZWdhI6ZjSLDk/zmfoM7r5G6jgM/xuGad/qlv5hfBpbMoX4JM+fkS\nYeqznTRpoywsI3+3Iw79rjqQVxw7zong2XsPCGLo8OOAuRzDRnslSOpATebDxx/wyek+PjxwtY5z\ntb0aPBAUGYxwPravzJuyGC0N+cX+yJsOWHhsjmefwPO+1QDS2TODVGdbpIOguwPQ3tfipSSDG443\nmpdptu/LMVXLSRHp6PjrcaP/kVmXcPI879Xy8jBtx+DYfOMcRiChmz/HyudVVSnaZ9ePwQuX+e8X\naEm71OAlDoyGk0ylajkLorOqWnYOI8fhYJbzjY7TosBpRsWd0XeN49GZXmQtlI6CWaGVatX4owwi\nfZOvBhGjZj7RWdGAaSR5CBtvc8/++J0OzUE2Sw10Mh3P84qz3NzcrKrT/RDho8utdsgGXOYV+WEH\nmb67OYyA4DfbDFQ655k72NIZc2xWOLpEgDqSPjxGKhcE3OEvx+sc/mx2mqWH/lXVBtpP5kf7zDEM\nEvQHprtLALx/xeVxgsXML+daV3iOs2/aCMfPf64s2W4INjtAyWYejY4ZzYGgIHSSPs/fwIQP0jVY\n8dxHdPGY85YqR77RftvghTbMOXv5li/+7gSnAwYcm3zzXEc88PxYFUl/BuDdfE2ffRvPHwHr+9Eu\nNXjh2rerEQ5SnUNMW8VMOj07nk7RbMQ02osoXqcEeQ8tVrrOiWXOPN/VGAdb0sv/O+U0cCF9DGY0\nkpFD85O+Cb4IRuyEOb9RVYB9E1SMso0R7/POe/BQLtYXLgH4uI7fzrq8DNNt/OscnOnpdNsAlJlt\n1WkZmMs/2XeSuWXphhUp0sX7OziohT4uJZh3pNMVusiY+x9yrIG0bcMg3jpMHnXgaQQeA7r4GgUN\nyjp63AVn+540Vy6sTwYbtnkG1REY6HjkuXTfOT8D5FGfBGeUZwcSLEPT4EpFzovurgI6q2TsOY4q\nIJaFXznOIKIbo5Mj3zm3zvbZV+cXKIfOBk0bvzuB7vzbiKaRDL7d7dKDl+xcZqma19mH2dwY1ylU\nx3w7UgYvn5vzDKQ6AaZPV1JGx1uxug2bpnPVuc7kOE9nRTx3pJzmD6sTBkCd0Sd42qDCx9wnpwNp\nI/BCGSUIjzaohQ7K0MHWgSRBm2AmQZ3HzGazpUvCw2/ehM7LLA40BC+hyzeyGgVmBo2MTYeUQJYx\n8v/x8fGZ/TF5z0brw8PD6TtBzp07d2pra+sMcPQmSuqDE4/INP+FltC7sbEx3Xk3v3XBqbtfEmVp\nW7K+UkahhY12vgpYui+CMcuDdFh+HQ0cj/1b7vR/3E+3qo30iGOOQHPG8X8OyJ7/CLRU1ZJv75ap\nnDzxd47ZAYERMCWfTJvP5e+jaksHzEwLdbaLD/nexQ/S674NWEbAhX6lq5SZL11L37ax7vLpe9Eu\nNXhJEMhnO3Y7Bv7GDZSsjrA5YHUOyfQ4mHd9rgI1nWHZIRp8dON0ffE3Aid+53hdJtIZE8fkc41G\njsGAsTPqjteuNnFO5zkJy2Rk5HHSBhMJzDFGg9/QRENl9hKZZR4BL34Sd+foR0CbfVadgog0PijT\nMjVvCfa4dJXlOwLc8OLo6GjiB8FLLsfPFSKZP/XMAbzTk5Eeps+AF8p7ZKOjoObj85t1lWPwGAOf\n7jfTzipXlue6/jJOFyys02ldNYVVwNFcOnugbVLnutbpLml2dYE+l2OvqgZlLvk+AnEjmV6kdTp0\nXl8jfWLssA2a9ovECfKAvvObaeEt+dj9n9YlsyNf0lU+OZd8/g54qeWgTuXolo1sfN797bXzEXDo\nAvIqhf9mjYGKHUWwcxspxwhM2UlxLiPnaLrOc/jdPQN8vAFG5yjdDEhG4zOYswrVZdyrnHUHHCPD\nBHNWirJEkLFMYwANGwEFKwChz/rXbVCk7Dod41U/BDmd/Fm56IJhVz2ZzWYTSMl+JPbF/WjuM6At\nywoEMtYzy4py9jFd4OruLcOMnXZlHWSg7QI3AzvvhUIQafoNwCj7Th/92yhgcB6jyotp8DgX4Sd5\n6P7JI+syx+eYnXw9PwNJ+uku6emCa+enbQsdMLPOjHhmP2O+hwYD9S7hXdUsk1V+k+/WJftJNiZw\nXYJmAEpaugoy/+f7vW6XGryMsq2qvmzpwEpjp6DcRtlGWhfYuyDYnWfli0EmA+YVIpxb3j13/jZS\nEgeSDpBRATtHP+p/9JuNqVtK4JjngQw3V8ic9dCRds7UfBs5QAf6zc3NpeDF48irrmpEujMu7xUR\nPgW8cD9A5/zTcnxuUhhwxfO9PJNqkgGOg0X+4x4y3siNussbDxIwsC+OOQrSnS3xSijyjv04IFEP\nLHvKnXO+SHDNXDJn3peIdOd4gxiC24sEMLaLBLLu2G4pwnwbgRPfuK8DPLY7J1KkyXJlox244skg\na3DSBWTb+ghkGKh0gK9ro/8v4odH31ed2/kp6vCIJ/7N/diWR/6/43FHuz/fr3apwQuF4KWUqnHm\n0gVrv9KctZ3nIDhuB2ryma/u98wlQWsUWP07HS7nn4A1mmeOc3mXv4cuggzy332ldQ47NCdT5b4P\n8qLrb1UGRF50DtXnjEAlaSBPCIipG7dv327BizMX850BNoHB1Rf2scpR8//oTScX88PjUc8pM/Oa\nQdf08XeXk1lJJL1d1tYBF3/mPGyfo8Da6QDnnOUy/+4WwBTQyWdx8WaYXZWla6tsynzozsl/ljNB\nWxdk2K+XCNkXn+e1Sof4/byboVEXXP2z7XXyy3EjH2G/Q3nzmFFcMB3dXLqAvkpG5PWorYozHW08\npwNrXR+uDDlm2F9b/zqAb/0jD+5nu9TgJY0GGgdRdeokq87uAelASfrq+u3+dxshUqJWB4iOppzT\nBYNunFFgJADKO/f6kD8J0iw5R7lZkXKA4fIHg8cIMFluLLf7PweNDthYXl46YsZomed/j8k5cQyC\nEd+pmBm4DT/8tmw7HhAEUd4EMJQb++fVSXlZjh3w65wqg0XnJMmj6I4dJ+kmsAv9oZ3/kwbTaX5w\n0zTPofN05XVk9xnHNtdlnxmDdsCKGZeP0lI1MI/ZV+cb3BzUIwv+352bubuRH9RJ+6Icy2Ux0tst\nl9n2PAfSS11hsxyo7+SfqyXmc+eDOtDa+anOv1o/6ec4L8/Tv3c61Y3NRjDR6SaPoezYl0FLBzi6\n2DPiC98Ndkayv9ft0oOXTrG6pZ+qao0t5cgOpfK4TuEc+J15mMbOOXk/hJ0snSEd5nlKZUfZLbHx\nCo7065u6ed2zAzZVtXSlCgNf5sSxvcTjeZNX/M+fO76lDwa2yMZLVJQN6bGTIf0GIKwijG5J7qoF\nATbpd6meQdrLmp0TZADg5eUMTNahkbO0k++Ap/XTQJYPJKXzzOc8viLLVhzLNtjpTMbwoxpcWQhN\n2aOT9/RBvlQtX8If3mePE3lCvvIqu9zCgcE8c2TVjnwc6bflk/lxbDf/xzEMukb2tKpZb0bAiMev\nAqPfjraq8tJ97/6znnbAp7MPH1t11tePxrc9GlAZ2HR9deM6BpI/HI8+Ks0+zOd045onnS/9VvXt\nW22XGrwkeOSzBT1C4lXLwCTHd6DHCmOl7FBmBx464NJlm52Sxgl2SDfH8/848+x54Djr6+u1tbW1\nRDsDL2/e5U3NXQBzEA5YyNirnEbV8rICHXMnA/KMgT3HdA6SwS+tWyaxjDhG5umMmnqW4GZwwz4c\nRLqxR/zZ2Niozc3N2tjYqJOTu1d1cU8J97g4ayYw8o0L+dnBjWDD1aF856Xh4QPlGZ3gfpTo1eHh\n4QQQXA109YZXFl25cqV2d3dre3v7TOAneKHMb9++XQcHB3V4eFj7+/t1eHg4AZmuUrJYLKYNx9yg\nbf1yWyxOl1bm8/nE19hd5k86XckYVRGoPwSzzrJdys9/Po76wd8Ndukfmdy40sg+Q4cBOeV6HkDu\njjc4tw/s5BLwumqczJvAMMdxw3yOYyMoDV/yO8ekX6XfcyWJczHvOKduriO97IARbY3JrRMe+t4u\nweIxHdjugP39aJcavHBJI4xntkNnxACW4+N8HVAMiijoLmvpsuguwFnAHcKNkGMwi8Viup+GkXCc\nepyEy7oJdKlExOgJLGhwAT001gQNV0Qyx8wnQevw8HCpApNzWZXIHMJ70sG7knoJy/LId7cc7wDL\n/7mxMpf80kHnIYNpAQuh2eXr8Cw85PxZBcp75tk5Uwa8BM7t7e26du1ara+v18HBQT311FN18+bN\n2t7enu4GnOA4n8/r1q1bdePGjYkPCdbkmQG777eTeyglkIfu+Xxeh4eHEz9Swdve3p50Js8b4tVI\n3C+RB25ubW3V2trdByxubGzUtWvXanNzs7a3tyewdvXq1bp27dqkO9vb2/Xggw/W7u7u0uMBvGma\nerq3t1c3btyop556qp544ol68skn6+DgoG7cuDHpwO3bt9ug73sHZYzMi6Aq/9++fbtu3bo1gaP1\n9fXa2dk5AwJGzj/9pRHgMHjzsmsDcAM5A6RuozCTFCcutHXSEz2hj2WADFhjIxAxDyLPVcfFr9h2\nHNRHgI3febXbKiBmH875EmwQwNLG6Lc6wMh4Qn8cGv2ohPDAYxOEkQ+cFwGKlyB5BSXnw4TEyUXm\nQD7FP3B+SSLuR7vU4CVBnui7alm5q84qbhqXZghMIvgIwjvgMzYBU/pO/3Q0Bidds0E4MyNdVBoa\nnu/zwUtYQ58rQ5y/x6EzIVDJd4KP8Gl7e7vu3LkzgaoEBBp6jqdBEHDQ+FwiD/18rED6tAHHCKtq\nCXwyA5jP5zWfz6dxE3hzFVECSIKtN6kmEAUohu+jrMWbOe0UE/gyJwYp7g9JBSE8ns1mtbW1Nd11\n9uTkpA4ODpZuoU/nQxuIo+QNH13R8tIhg9r6+undbgM4vGxlkJw5EUhvbGxMIC2Vle3t7drZ2and\n3d2JtmvXrtXOzk5dvXp1yUl7DqH/+Pj0hnsBMrGb27dv1+Hh4ZIO0CYpI4IXXlkUHvCJ2kdHR1Ol\nJ+NHb7lMxozeQJ0BivTY9p1VEyhbXvQvXrriWOaBx80c+H9sM2CNY3djOKDyGOoc52oQ5vmbd9ZZ\n9ss5Odkwb0hjt/zcVSQ6oNjZT46hffB9Nrt7VSP9XXhCf9bFsDRXqV1ppW/o9MmyIZhnkkl/xrEy\nt66Cf6/apQcvFEDV2WWdqrNZhas1FhyRaFqHwL3UkuOoTAyypNMCJB2dYdrwMh8bIisXnSOiQoeH\nBHGhP44in13aTgA2kLp69WodHR0tVWyitF7+iuMnzQRENDjyb2QonKdLlVzWSZA7Ojqqw8PDOjg4\nWDIwOtfQbsNO4GXAjtNO9ckbOLlEQRCYcZOZMCASwFAvs+SRV2QRILG1tVXXrl1bArQJpJSl94mk\nkpL5hM+bm5tLlc719fXpwYh50Z7ogA3GUmm5evXqBFZ2dnbq+vXr9bSnPa2uXbtW169fr+3t7emY\nnZ2dqqqpgrG9vV1bW1tLQTK8C83RhdyhObQdHh5OjxXZ39+f+M9g0dkGATZ5H7r4uALLJoAmtkE/\nxUDQBXnqMQFIQCCBMGkO3a6+sL/MM3M2aCUYof7Tx3gZzCDLv3fgxQGSvo19sJJHeugDeT6XaDhm\nB2DsX5l0dMlczjVfDCwyv8jMY3ZJIe2UxxiQpl8DScpoFH8cg+xLKRvO05VIA3DTFb283+1SgxeD\nDmd4OSbvFmgU07/bILpGYGCg1CFt0lh19nJF9uNzvPckxmXDzPH5P06bdETJmSXF4ZMWz9PZmkFW\n5hSjTTALL7wpk8aYygFBkufO8rjpp2zp2OkAKOc4FW72pJOgc3eWxOW0gJbcCj9Bc7FYTIEqMuic\nLufCAHdycrIEernfggCO1RTvK8lyCwPb5uZmzefzKcjzPAPW8CNz9pO619bWpjmGJwyIoY/PQGIV\niIBld3e3rl+/Pr12dnZqZ2dn4isBbJcl04GyEll1ugy5tbU1VQUPDg6m0vXBwcHUpytrXN6jjdA2\naAe2YwZB/u5+qJNd9k6ZRL7UK9o3l8EJ8MkPj2VfxhYe+zceR7tno+2m79h4zjMQMnhhMEwf9AO0\nTfohVogMVAxeVi0bEfhx/owPpJU0hneu1Dg2VS0/xiJ66OoYx2diSfBCEBn9IxdFocgAACAASURB\nVF1pnY52wIXzzPEGL/ZPBLxdnLtf7VKDFxs0jZK/jZhGRSVA4Nr/KoZ3gbxqWUFdleExHZjqwAvX\nx7l0YMNmoyI7sOdcZnGu0tgxOwMlreyj26dC52LnwAySis5sJ5mdz6Nz97y5rEWw082NWZfpCN/p\n8AJeUnXZ3NxcyrRczuUadhwAqznMtpjJO+gliwnNcTw5z1l9AAx1J41BzDYUuuKk+IqzMg0JSkdH\nR1M/cdy3b9+e9rTklaWga9eu1bVr16YKS5a+sux4fHw8VbK4dMbxGSgyVzrnAKerV6/WYnG38nJ4\neDgBsMgwoC48T9WE8okeGSQwYHHMra2tpWUy87KrTNgGOpDUgZ3olOmij+BSMu2Xus7P9Ec51skH\nzyNIcNLl4Ei/4AqOgQ3pdaDs/ArHtU13x3McAgbLpPuN8yOv6Qu7c1bJuYsn0U2DN/o4g2X6PM9j\nJHvyxwA48Yg2Rzmb9+xnVSy+F+1Sg5eqXih5Hym1S4MUSJSdlYPzxrfycKx8T1AzrR2g6cqcNlxX\nIUwDAYVBQYwgAdIl2I6XnpP5zH4J2OjczHvyg1kzs4hRRsC5d8GXc6Lx+TPvhcJgwkBInWAA59IR\n5xQ6uGSSYOOMZlUFj9kN/4++cmkueze4v2V9/fQKl7wSiK9cuTJVecI/7k/K8ZmbAy8zQy/RRc8I\n4gJ4sq8l1ZWdnZ0JvGTZhecFUHBPCStF5Bd5Gdq4VBfQub29Xbu7u7VYLCbAd+XKlQkApnHZJ1W0\nk5OTafktvPAmbmb0zEBTeWL1yrbJOVn/aZ+0d+uPfQHPMRByW/U77cvB1b52VNnIfw5u1m8DCydd\nafaX/K2jhcd04Ij/d/6Px1ouXQBnMh1aHOy7Rn02r1kRNu94LJPXEXhwbPR8Yosj+qPbPNcA2t/v\nV7vU4MUgpGNMpyA2sgghgCVOqWrZ4KuWr3DqMv78RqXJmHRKzFD8TrDCc/NiJYLOeTY7zQh9C++O\nZ+nblZGuDEsjceDI79znwOwpCs9NZ6Et+zvyEL/0T1ojG2djBmqUAx0hm0vTqZq4tEzeZHwue3AZ\nJbpCwJTvXutlnwSYDETpnzrEvtbW1qZlEOrBfD6vquVNoJljzk/lYz6fr3SeBDEMytFd0p0rj6h3\nqRLFmUVnCF6ypyUyqKqp0hJAtLe3V/v7+5OOXLlyZVpuun379lS52draWuJxKiV8UChBz5UrV6Z9\nQZljNnBn7gRqa2uny0rpPzrT7dPKd56fq6a4HEZd8X412yh1qwu29hcj38dA7ooBx8n5o/L/qvHT\nN/9L/12y4L7JF/pZAqJ8p08xPe7bwZ1tVIUgT81LH5fP0RMnn7Rt2hF9lvekxe6jj9Yd8tm86ujz\nHJiomecdUPMy7kX0rtPle90uNXiJEJ19hzlWkqrxJlhmsnS6HeDolJhKl9/YDHS84YsgKsqf8xjA\nCGTYV+jjU7bzP2lJBkxU3lWiqqo1kNAcnhJdJ0g5w0uw4L4EbuRaLBbTMgENP3thjO5JJ8v6/C/N\ngIc84XKceRD6CKA6gEuD77IM75shEGM2E3lED7PMkuOof7l0OpWJnL+/vz9VBLIUknlubGzU8fFx\nbW1tLd1f5cqVK2cqB5R5XgFu0QuCLYNl8oJ6HeBy/fr1euCBBybwkrlGnovF6Z6hp556qm7cuDHR\nniWnpz3taXXnzp3a3d2t/f392t7eXuJzLn1O5Ss8ms3u3l8mOhBgl++sIFGXeNkyLyc3eOGx0ZHw\nYXNzc5qvEyRfoUYb7hz+KJBS1+kjIl8DCtuG7TzzoA+ifTNw0Y7yfVS5pm6RJtNsnuRc+mnOw4G2\nA9udj3ZFyjZLANYBQPfHaiT3w3nZkLx0AkZdZCLRvTJXx0HSyjhou6T/o2zJT/ogy4HHRJdJL5M+\n3oLiXrb/E+BlZEBhFpXbWW0yrGR1DMwEJQY7VWc3DFedRe+uTtgY+b+NhI1B0UGW92eJ0+XeCyqg\nwRx5xflwDjyO9MS4WJXiZ9LKPkJnHHuWMfh/h/YJWMI7Bkz+1mVFdE4jUJI55d4vNFAGHIMpArdO\nvgTJrNZQt2LgW1tb0/1PMkaOCw1Xr16dAEvGjh6ElwEEXKrwUhdl70zKumz7SNUvyzq0BQfe2FiW\nbHZ3d6f9LeRFlrKOj4/r4OCgHn/88XriiSfq6OhouqfN7u7udGnzfD6v3d3dOjw8XOLhfD6fAJCz\nXYJ9XlVFx5v5O0BYH2jbaXTW4UWAEn2P+cwAQEB+Xqa6WCzO+EH+19m0A5uBDP2dfZZvwRAaPW+e\nQ1sdBWHSzCDK5oTL4It05Z3+wqA059h+7R+8fyX2QrrIe8cKxiP7APp2yy0JipPREXjp9kHZhxNI\npQLJ6hp9un0rYxPnyjG7+JXxXcW7l+1Sg5c0o2JmDFQqZ4JpFCT75P9875yEl2lctXFmQAXoBM+M\nIX2kHxoRS4wOlDY2OrnOUbF1ymfedHOhYyYN5LPLlAzeATbZ29CNmwBkoEna7eRyPiteDup2AIvF\nYsnR2MFGNtyYy42dqzImZ3bpczabTRtXO2CW+ZNm0hB+3759e6q85JxVL4KXkZ6bZvIu2WV0knJI\nJWlzc3O6ymhnZ2cCUc5YuQF5Pp/X3t5ezefzCeRWVW1vb9fBwcHUL5cd19bWpsvgWZkKneRH7ssS\nneMeFlYaqpazcwfvjEsbpZ53IIDvrvbwyif6NYMA93leW6WL4Qtlzs/O6mlLtN8u0SG9DGIjsOMb\nS5LP3XcClfCRPih00F+SNlY4qpbvqku9yTmcd44nvdaVbt8PfZRjAOmazZZvJ5FGXpMW+k0D1Lxz\nKZzJDHkYvhpAdvrXAXBXoTv53ct2qcELmRom28BdCQjTeQ4NjcGW750jr1pee+0CjYU1cjY0amb+\nGYNZWJSG5cYO6VORyLMYcVrOYWaSPjkfLjl1Zc0YKAN9l1FknAQ2ztPrqaQxcjBYcd8EU3wxsKZ/\nXvJM8BKHwStkuKRnUMnn5iRw8n4iVafPkqK8OyCdfSC5lJvjxcmwWnTnzp0zd7zd2Nio27dvLwVQ\nZz50kNaDqlMnxku8IwfeyC/zj+7y8nMC7MyVSyfpjxuAs/n41q1b9cQTT9TXv/712t/fr2vXrtXG\nxkbt7++fAeLUu9lsVnt7exN4SXbJeeb46F/knnOoL5lTNmDzKiTaTOhIVZG2SNt0JpvPrh52Nuql\nAdo9/YDtgjrPJMLBr0vM0kIPgaqBC5cXCfLY72h80lpVU0Vv1E8HBjvASVlaN+nHUuHgfJi80Oem\nEQySNgfu8Ib+mvMJ/V0FinTSf3Bp27bH/jpZ+tYO9ksGLd3cTGf4TR/I9/iy3DH+XrdLD17M+O59\n1EaKYeGkLyNr02KH7RsSdc0BlplzaNjY2Fi6QojHObNnn+nDx4+M2wiZGQaN1nNltpJsv+MtN0ue\nB7iM6DvAYr7xPDpIgr3wyfKzjAIMeIVIHISzipOTk+lBfAESMViDFzo6OhfuJ8nyAgMjA2zO5b1s\nnKnnKp2ACs83PCLPyG9+d1BNY/Z27dq1aaMt+Rs5pDqSJbFUShh0mRl3wYOv8IYVGjpqgpe1tbv7\nUrKp1yCcur8q2ehsm4kAdc82EjtMxcJLEdbvLugYAJ3n37p5+HvXxwgY8D/bHG2EoJQJR+ZlQGDf\nGPnns5OpUQJoORoY+DgnYU4EAxB4PpO7tK5iaX0yWEoyaD9HfoSm7N9yJdoVNFaA2Zf5QB+c41h5\noa5TbuQ7l7s514CV3Lk8iUhAf8DN/WiXHrxUnTKfDqLq7C5sl9cooDgkCoj9GXlakewEU4buMqH0\nw6Bl5aBz9lwTIGigzKp5j5qg/gTeNJcqM27GcIBnJujsL7Tndu5Vp88CosEyo81YCSg0FBoh582s\ngHzi/8xeOkBHeeSKEfededG5sn+WcLvsiLR3/xMQuG8G6AQ5A52c73uPGMRy+Yq6lbm58uCsj8e7\nzJ1gZR0KWCDwS7WFl0V7nd22c3R0VFevXp0AeDblZs9LbmbHvWoOWumLS0K0AWbcfgq0dYj2n9/I\ny8iO+tcFOvOL9s99XdZF0uHsPTY/SmzSGOg6n9QBt87WOP/MwcuIBqUGs9w/ZWAROVkGBgIOypE3\nfUbXnDRRDt5bZl4FJIQ3qxIq841xg/40444AVm702AFh2iSrga6oUZ5dksiEijwmfygv8zjfeWdp\nbponOOwSqXvRLjV4CXO5Hmllc4bRbZhLXwwCPKcra1oILNfluASfZBKmaxQYWW0wUKFSG7wQENGI\nnK12aJot5zjwdxUbVg5y2SorAuRVwCGdMG/JbgfkrLYDI6SZfGHlhbTmO7OafOfVR5Y350Ee5n+W\no/1iICIfKBvLgc6BAS7/MZPJcVm7ZkbnS3op+ywt0ZHSgYVn3PND5+3AO5ud3qI/Vzflv9w9NwAk\nwIkZH4NUysup6szn8+kS4zy80ZdbM9BSp1jJIa+pcwzM3EyZ+7/knMyJd9417wzK6BcM3mnDXOKz\nnVl/OT/KiS021oF59u9z+KLNm2bTlTGo29TbLrEgL0Z0BMxEL6yvHVDo+gmPCAL4OfZBfTbQiXwp\ng8jOvKPOhJa0+AH6BNOV47ikRf47uaLP7Tbkk0+ZY/o1aOl8AGXaJY3hoeVAHlIH7nW71OCFTDcY\nMPMiRKJpO06e70bB03G4rEgwwe/sh47ShhHjTEZMx0CnkfM9rp2xAZJLozzeTpbzIr/p/M3LzMG3\n58/n0BCHlODJwNzRxCzO845RjWjjXOhY6LAoSzp5O63uzqqhM3PtrsbIHHib+c7RB1DRYVuuHC9z\n8tVaVcu3tHd/GTOXLcYhp39myHSCdDzMnsOb0MI5bmxs1NOf/vR62tOeVtevX5+qL9lLRB1iBpwq\nzubm5gRkstdmbe30SdSp4jjLrTrNBK0Xac5eufSRy8iPjo6WKjdZxo3+MOgxK2czsMocuwSE2S0B\nCmnvxmAwdWCmbWVs9kfbto0wcXLfoSUgOcHQIIl8cKC13+nmlkpO9MM87YCGQVX44z5oUxmDcYA+\nnMd1Pr+jw1UKJ8PUAdNEvnAOPr7jdddnxmes8eMIPC79APf+dHrCR490Y+bz/Wj/J8ALM2s7exsj\nnTCVwOvpVkwKjADJisPjRyCIxknaaNBR1Hw2cnYbOSnSkM8GL52z6MYaASICI5YLveGUVSQ6saqa\nwJrBRjc/841z4Bx5XlcRMfCkk6EcuXHX5d2c770ndATM1un4wwsuebq8apl2gde6lDFYrk1WTgfC\n+yRx/uYvdchAmKAnIMHVr6tXr9YDDzxQDz744PS06KtXry4tMcRJGvQHrOQzl7o652kdybz4YnCi\n0yUvUxXKBuick02kWc51BSz0c9kjfHdmnfHJ08jUFTs28ti6241nfoz66eTfNeqmfVOuElwFQhzY\nzbsRQKOv7vomfdZdA4oRr6i35hnlFt6ZXssx9HbHmNbI3b7JvHRsI38MuDoZsv/0y5udWg9G4CVz\n51ySdOTFyqT7vtftUoOXblMsmRths1QcR84AXLW8HmyjNzJOo4IkGETBmcHRIBx8DIbYr5szq5zn\nrMmbPO2YHBA7Q89xzgxGTiAGkP0K2SxqQzQAonw8NwI4jmujpXypDxmvu/urqyPmEfkUh0wjZGaZ\nORKsEYTkHN7MjDzlOrUDUsZMMKTOdmCbQCpjsFrh6lJeHCdjc368F0/4z4rgYrGYHkVAx5Ybs+Xy\n6Ox3CT3etEqZ0fkRDGSpL2N3jj06mM3TabyBXBp1ixu1MwcGFMsu/OiqZLPZ6b1xzE8GJG5wdXNy\nxM8jP0WfQPsZ+THS7H46HlOv8xv3VZE3tinvy4m+5ngnReQZ/d8IXBngm2dpBiDntQ58et9jB/YN\naDpfS33JPKkPAdyWUTc/8t7xxjGAFUBeQdfJLBVSx1eDl+6qvMzHgPtet0sNXqj4LmcxO+BvcRbM\nQLtg3QXZNCJrXmLLPuIIA2iIXqmgNOYoqefGdd6MTUBEg2JQpWMZZehVZ69c6FA9+TjKfOjkuVmR\nRpLjMgb5zz6cvZjvHp+ZDY0khll1ui/FgZEglwZJuaSf/OYbJBosMnBxnq7GJFDaQTkwhTdZmqHz\ntA4TTJ2cnEyBnFWS6O5icXovmwT56BGrCLl0n1fBkUdcE+dm4M3Nzdrd3a0HHnhgujU+7W8UnAm8\ntre3lzb/BizkPZtteS4fD3BwcDC9z+fzpX1B4VMel5B9ankCtfeIcaMyAwTBLfUs/DOIZ2Cn3Wd8\n6zGDHO1hFMwJSEeAxXrrSqSrpKaD87A+0keRBuoq5Whfnf/pwxhw+ZnBdlW1iXNx5W0EBlb9bv9J\nv8nvTFLt0/jZYCitWyozgCQNOcfJuRNBJ3gEHNQBbqCmbjpuOInj1a6uQt6PdqnBC7OhqrPlOwo6\nvzOLzDl2/DSMUWYVR00hs7Hykv99iSY3QVqgfKCfESudkkFTfk+fNGw6WJ/PgEWabKQdkGPLPFn6\nJoCjISfA5btpo6GT5/wtLbJglcSVFfYd/XA2lTl4Ax7lbHnRQYU+3luE/YWPnE90hZcvZgxvULSj\n9AZErmMHoCVQc0MyZRHaAowodwdhyzpz8+/cSPvAAw9MT5Dmc30MXEf2x2dKUfbcY+Qye34/PDyc\nno20trZ2BryknzzUsqqmy7+ZLLBylT0vOZ73+Nnf358qQ3zCNu2I30mDAz0bdbHL3rtkw311AId8\n92eeZ99Hn0sdznfaaVfl4vzpw0kDs3VXv2y39FGdH+S8GEztd0OHfRGb/TEraeQNfQiBdycnN/bV\nAS2DFy9TcnUhNDqmra2tLSVw2d9l8BLdZ3OFhn6K+8CYKKUPbyy/V+1Sg5cwKgq6ai00wqMBMAiN\nHAuVjYGjcw505jTkNK6jJpjkWFYbuByW4ztUT7pNe+i1k2AZj/2GPtLO8zueOkM6OTlZykodJMMj\nXlK5ubl5Zi9M+kxgpgPjfOiMLIt8Z3Uqc+RY4Tf5SeCXubEP6gPfM09e+RKARiDL5aPcHp97atJX\n5mtHQB6yOsDb9fMV2Rs8Zr4uH/tqqDglVl0YsDInyiOPAsjjAHiJNB8JkHHpkGOjmTuX4MIX7jPJ\nPNIn9/E443NGaZAdvbt+/fqkl/EXvLfLnTt3pr04XKLKQy/Tb87LOa66Ulfte6hr9CvRfR9DX5U+\nqGvhjRODyICVOdqYf+MrQI/LgATrI59M+/M4ma+DtQHqCLzQVsKnrn/7UfLM83SsID0EGJQX/Q//\nt6wNRuyPKVPqj4/l+Qb7HXih/8//XTXadDFxSN+0V/ZBWhjr7ke71OAlzA6DiD47pTbi9fprVS3d\nLtyoncZjx0kHwszOzoQBsMuYaCys2hjAxDhzDh0Rx8x4LuV5nd0BmrTYaJlphD47lm6OdByWESsl\n7CON5fTO0eedc6LzpMHHqXEeNNhRUDAYM4BK/1kGCl28FwmDWVVNTj8bRA3gOseV764COVCz0pZL\nfn31UPZ2sJJg/rOf8CmOKLruysH6+t2NunmCdIALM3SOZduk4zPI5rKk9YXLOgailGl4Ep3P/5wX\nq4aWaW56t7a2Nm1S39/fn/o4Pj6evocGBjQCw7y6JUzaI4ORq1ZpTijsW/jZ3x3IqXP2E07UuGxI\ngN1VT9lX9IYglf9XnQZHJp7kF2+3wKBKmxyBF8/fwC5zyjnko5NRVl1jzwZzHLMDSbR9Ah/qaOcf\n6AsSg6hrXKbmPFj1Sjz1TeSsh9aL2CMroZ3ucT73o10IvHzwgx+sf/zHf6wbN27UxsZGvfCFL6xf\n+7Vfq0ceeWQ65otf/GK9973vrf/6r/+q3d3detWrXlW//Mu/vNTPX/7lX9YnPvGJ2tvbqxe+8IX1\nm7/5m/XQQw8Nxx0Fmaqz4CXfI7Cqs1fdOJgya2c1hI6R/VT1m9TSugpClxnEKLnc4sCaz86gOBfO\nm6iavMr/rPRUnRqmy7ZVtWQIHtPon3zJ3EIX92GYBwxqBmer9CH9dLrBPhkAKZ/QynNHTjp05Wok\nOg5m7Km8MDDlP989lpc3p38uhYU2l3Yz71RjHDRY1aCzzTgnJyfTE6fTeCuBBI4sieT89fX16VEG\nWQLMf3Hifjp26Otoo81Sv+3Yuw3X1hnqDR1sKiS074AR3iunqpYuJSdNrtZU3V0+4mMkUoFxib2z\nGfoUyokyznG03RE4cbDhu30UAUAHILqKSDeX8Lmjib65A12UK/0i9cPL3vnOZMBJSHSHxxBIWsdG\nNBOU2VcRFEQnUl105YV8jV3TX5O/Xn4LbzM+aaQ+cd6eC23CfEgbxS+CSccFysd8oQ65iHAv24XA\nyyte8Yp67WtfW7u7u3V8fFwf+chH6i1veUt95CMfqdlsVgcHB/XWt761XvnKV9a73vWu+vKXv1xv\nfetba2dnp37hF36hqqr++q//uj75yU/WH/3RH9Vzn/vc+uAHP1hvectb6kMf+lBdvXq1Jw6bJkdr\n6P5MQ6VyOasNs7NnwIG16ixY4n9UAFc4HHi4TkgBO/DbcXRGkbGpxC7Lp0/yJkGFpezOUZGXpC/f\neckpjcgVgsXidPNnDLnLujowSINIQKdB2ogDMLpMhRkRlxNZ+WLW0O29YNXPMgl4IWi2U2Sw5Jyo\n28z+6Ag83vHx8QRg+B8dX/olqGLQDIAJ8CDoJJh3uTj08IoeOl8GR/LXMu8ALMFPeHdycrK0N4y6\nW3W6DMbL98MnAsYEt6Ojo2lDMe9bRODZBar0yWy7qqY9L+Sdkw3aXvjCV3hAvbZ+kVe0j8yfAZ96\nRRoIXgig7e/oLxNEM1Z0K/uCWC0l2Hfw4lw7YOXg6N+4nEnfzUBtsEseu8KduZpnvLSfvHGVhse5\nUpvGhJL6RB/tiwII7uLX3UbxqfP71CHSSPBkfXSzLO3zO3B4v9qFwMvznve86XMc740bN+ob3/hG\nPfjgg/WpT32qTk5O6ld+5VdqbW2tHnrooXrd615XH/3oRyfw8rGPfaxe97rX1fd+7/dWVdUb3/jG\n+sQnPlH/9m//Vj/1Uz/Vjsu9BHw6JpFf1XIZPMrRIeEYQ+bB43MMFZYBJ80B2AIziOnKppkbN3B2\n6NpZmIFTHIiNOe/kFZ1B1fK9CarOGjazVjqJPEuny846EMYAaFDUZRCUAXkYAEQZJPCMaLfToYNl\nEGZz1uIgS0fNvjIOgUn4TFmHd15eSaBIHwQAXoZxZkRbyHvGzbOoeLv+bNqLjgRYV53uMyMAJ+jN\nRuU4cAIvgw/OzTpNfaDtuPpAcED5Wn8CdFx9os7keVScS5baWIlcX1+fnlnFYOsE4uDgYPpcdeqv\nDF64pEv7pN5wnxgBBG3QgCSBnT6MVb/QFhpyTj53/itjcz9QKk4M3txjxRc36NP/EihSR2zvBEsG\nNJyPkx9XlByQu6DL41JNoQw7YNclOfQF1O1USmlT9MGkkcklk4nONvji/5E//RRl6qojfUTmZJBM\nHtv2qL+k8X61C+95+fSnP13veMc7am9vr2azWf3iL/5iPfjgg1V1d8no+77v+5aM9kUvelF99atf\nrYODgzo5Oamvfe1r9eijj07/r6+v1yOPPFJf+MIXVoKXTmHirNIc4JkpjDaFMlDEWHkuldLBmsqZ\n8Uf/EzT5qaZ01A5KnFMHXk5OTialo1IziNGYOkDHAJFMPQ4mip5MP8Z1dHQ0bVhllpj+OnmQ15F9\nWmeQzFroaBlEXL6mLqSFthg0s5PMkfKi4ZKOETjsMujQQDnQ4XNsO4vIiJcgMjuLDrGqwA3UzjYD\nNKLfafP5/EylirJg0DAvOCfzqluypB7EebNawD4j88ViMT2MMRuMq87ej2c+n9fBwUEdHBxMD2oM\nHZFBZHxycrK0r4XgPg+VjI4E1FCfovus9OTp1xmPQSCNVdeAl/TbgWmD1di3A7F9CoMXbTK8572Q\nXBm2vZB/1N34iMiM1RgDGfZNmwn9BEcGCJEBlx/pO7rKnX1I+qRfpt0yMHP5M/vXYtOMM7Qt9kHA\nQJ2hb41dR5bki+fAPjq/b3/IeXJ+jH2kg/8bNF+Ep5yb/TbB/r1uFwYvP/IjP1If//jH69atW/UP\n//AP9cxnPnP6b39/v3Z3d5eOv379elXdffprJt0ds7e3NxwzDiVOiHsNqpaDTgyJDpBXF2Q9n8ZA\nUJL/q06zL2ZHI1TpCkeEzysX6LjTnNlUnZbsM76zqQAL7nlgv+ETM8sEgswhjcg5NPuRBdwYGcfH\nvQ80KjomgqGqmgCsMyZfzpq+Ikdm07z8nc6PdOY8GqADNDNyghcv7YUPpC2GmTEJrl1dylhXrlyZ\nbpWfwMFAF9nlqqzIOPOLUw3dBBbRA2ad1Pmtra3p4YaLxWK6vPng4KAODw+XrhzwlTZ5WmzAawJr\n7HB7e3tpD0n4RAAT/rJfLnU4METeVXeXZG7dulW3bt2q+Xw+2WuuaprN7u45efLJJ+vxxx+vb3zj\nG3Xr1q2JbgKUyDE8qbrri65cuTI9P+npT3/6GVldvXq1rl+/Ptn33t5e7e/vT6/HH398SVeSuccW\nGOQz78iQADbyCr0EMtwInnlQL7nPLXwPP+l/rJudP3AAdnB0MpffCHYM7KPPBLPcW+hN7AQN9FHM\n8pnExC/FXzh4EmBwoy3nmd+3trYm+bsC0iUI5qf5Sn7Qr9GfMDFhEsOrbD0OYwr1LP2nX+omkx3e\n0dpPgOd844/ob8hTz9lJzL1u3/TVRru7u/Xa1762fu7nfq6+53u+px5++OG6du1a/c///M/ScTdv\n3qyqqp2dnYm5t27dOnMMQZDbf/zHf0wG89BDD9ULXvCCM9ltFzSqltff6TjD2JToAlKYWTLT7P5P\nYMk4RswxOgqRwKSqlp5ym7VzZi1pRLikjXOkMSR7iLEsFospeFHJ01danAxRutegcyMz9+H+4hC2\nt7cn/mVzoysH4Q2dRcaj4ThDzPyZWWRsGm6MN/RxzgZKBAGmgXMODTzG6d0JLgAAIABJREFUgTiO\nOc6SQCdgIGM6CBCMcTNsljic2RE4OjO0vSSA2/GHT/k/TjCgIY5ue3u7rl+/Pt3+n1UGBlbL0hWI\nvKzPWdY5Ojqqmzdv1nw+r/39/cleU/lbW1ubjrl161bdvHlzOo72RKA9m82my54PDg5qbW1tClh7\ne3u1vr7egpfIIFWeW7du1d7e3pSYRY9YkjfoZWDKbwHksQtWMbhMTnlSn2n/I/AQGggwyW/Kj1m5\nfRp1t1saoy2uau4rNHTLJLwEnYGTYwTwRq70B+RDqmsGL668EDDar5DH+Y26Tl9geXDumZ/BoCs1\n9hGkg2OZ56OlxvSZfjjnLu6Ev674dLr85JNP1o0bN5Z+v9ftW7pUOgz98pe/XA8//HA98sgj9c//\n/M9LGfjnPve5es5znlPb29tVVfXd3/3d9fnPf75e/OIXV9VdAPDFL36xfvqnf3o4zo/+6I9O1Rcb\nH4N51dlNYSw5slTKwMS5dBk6Ddh7AKhkXTnQypZXruY4PDw8AypCOxXfgZEZt6+5Z5bm86z06YdB\nk+v++Y9laW7AZQk1c+ZY6+vrk8MIL+KovIcj/TDYMRDTYNK/+UTH68DNRv1h4LZe0DFwGZFAhpWx\nThddXs6xqbrwidcBj8yMqEsEQ+w354SmBNrj49MbsxE4x8kHROR7aGMWSroCBB544IF64IEHlpYO\nAywYRGkzqTpElw4PD888I8tJRb5fu3Zt6cqh3I236u7+qyyL7ezsnOmrajloRz6Hh4eT/USvUwHO\nTe5SYdzf3594ziUjLqdSX1hVol2xIpNmnWM//BwZEoTRxgnIWWlgIE4bHZ9+I2v6yw5UdcGtqibw\nSX/YBXAud3J8Az1WAulH6JfzP/eV2B8ZoOT/8Ih8IuB2VctJcugJHQZP3qyf/vk9etPd/TbHk45R\nNY2/UW6sYvG2DvQdmR91gElYvncxZX19vb7ru76rnvGMZ0w+5mtf+9oZPn2724XAy0c+8pF6+ctf\nXk9/+tPrqaeeqve///21sbFRP/ADP1BVVS972cvq/e9/f33gAx+o17/+9fWVr3ylPvzhD0+bdauq\nXv3qV9ff/M3f1A/+4A/Wc5/73PrQhz5UV65cqR//8R8fjtuhV/7nzLJDmi7zEfQQbFgxu+pEmrP9\nrnznYMtGGoxmHah9Hh0Wn1fBrNcZAI2FQSLzzvEJzgRerlZ1pUwG+i5bi9PjFTLkPZfvLG8aVxw4\n91uQx3Tq6YsOwwZPWl1BGzmGLgPkOQTCOca8cZ+djjmIma8E154vnS9v9tZlaR3IdmCJjOjoCUpy\nDvvjeAlABKcdP9I4DwNLBjFeHktH6upZxs/vAS/Zg8JKXYJbKk657DpLz7G5g4ODyTZofwFFBr2Z\nl/XcWawTj3xmIMtx5JcrDSMA3/lR9kl7s01055G+AAf7zth951Np+7Rt+jPaNe2u6vSKsyynE7w4\naWDw9u9d9cF+Ijxhv7EDVvbpwwliO79PO3Ms4xwoB/LSfihztx4wzhiocu48NvzPnLxfijKLT4it\n3Y92IfDymc98pv7qr/6qDg4Oamdnpx599NF617veVc94xjOqqmp7e7v+8A//sN7znvfUhz/84drZ\n2amf//mfXwIvr3vd6+rg4KB+67d+q/b39+vRRx+tP/iDPxheJu3WOV0bVoQaQ6Ix0CiqToFNsmAq\ngzMCVhhYuciYaR3IYkDzOn+cG7NoKx4dHhF6lIkBMg626qxj9/IalcyOk+VuGlzK3MzIzTc7S27O\n5FzTZ37nEhKrLsk8OV4HDJ0RuDp3Ef1hfwYMBIX8HIfPYzLPzHs+ny8F7JOTu5tH/WTW6AAbARiv\nLDF9ntedO3emS6IJOCNzZqvcEBtHlHHD72TbqXrklvzc8MeSPPUyTt2ZNCtAmT91PHvUCLQJnnJs\n9u+QZ9EJBoLwh/JiAsJgG9vM8QE7mUc263YysB8YJVChh36JiRD1IjygfuV8yjg6xHky+Jvekd2a\nPgdU+9hUGTrw1H1n/+Qb/XT0nj7H5xwfH0+2FBBhwEM75Z5AzofH8pYW1FvzLSA3svJVXKTXoIvz\nZ1yIHMkj8pnH2xeQxlRKKV+C0/hX8jxxIlsPsk2AoKRLxgIKOz97L9uFwMtjjz127jEPPfRQ/cmf\n/MnKY97whjfUG97whgsRVnUW+UexwsiUb5kt2pFzcxiZ6xI3A6WDeI4PPQENoTHfvRzijWShOf9l\ngyzRfJdFpTlLyjvnQAdhx8bKC/vokHZ4YcDlagYdTfpm9pNyO3nHZRb2vVgsprKzaWYgYhmWzsIB\ngwGUxpl+mRWRho63dAAMROQPZRm6GIysf/P5fLp8N/Pi1UGk20EvusTlUWZZCeqpMlAnoou2oTg8\nVlbo4G7fvr20FBge5lLa6HR4R33w3p70nxdtajabLT3GIHTkHN5oL8dTp1gFyHt4Fb7nt2wQzhIQ\ngU/V6b1w8j/1yJcphw7qlm3GiYKDEUE7x/OykRMB6n2nwx2Yoi/pjgs/qcfxp90yCSsYpI1X8BA4\nVJ29OaDp4jEdyGLFIHrCiheTx442A8GOJx1oov5zHxd9X/bYdM8OcvJkPaLvCa2855H7suwJKOMH\nswXDc7P/i2y95B+d5tzpk2nn96Nd6scDZINilJFlW5dmqQi8JNKImYpIB5qW8xg8Y3hpOZ4KSAVg\noO7AS+ii0rF1Tsl9OiPKHBkkqXjfTON5XaaUjJiX8RLIZHwCtdBJoEb+kWZWiSLz0MSrE0ZOydWq\n6Et4Sx6FNmeGpJX6FUOls7RuUS40esouSxK58idXusRh0LEYtNGZW/8CXELLfD5fWvLJ59CUAMzK\nV3hMvac+VZ1W9sLPLMFwYzKBGnnJYE3wwv1Ni8XpTeGq7lZ3M174mmAYEJiWeQWYBQgRKOZKKjpi\nAk/+xqCYyk/8joG89cdzpO/IsQRZmVNkZbASWTlrjg3QZ3JvQ1cJoTxJt8F9jss8DNBcWbUtMoC7\nOsPj6MeY1Ru420/Zf9r+eCwTDPsh92HfRD+aPqhr0amTk9PL8mnv3htnP0c5MNEIb7iXiPpmnvH4\nnN9VWbqkiHHG+2GsD9afblnpXrZLDV4IVhL842zpACNkIvWAjqp+PwQ/M+PKf2k8ngrlqhCbjd/0\npx8u23AOoS1KZ/TbBVoqORWb/ZIn7DsvZiBVp/tN+J2bP71x2U6BFQQDAoMzy8T8D8001q6RN+xj\nJF87gA4QGmx2gIa6YDBGnWAg56bVBOvIyHIxiGDVgnR67FX8orOz7M0DnpPxCU4Y9MgTN2d81mM6\nXY7HMckXOn7y2UEn4KF7sSri86LX5D+deBfgzDfL3ry0n2DANXjheARROT4BlXofwEP+OqgzSSGv\nQxtpYBXMc7INBbDwHjgd+Erf8SmZiwN+eMrk0kCTuhU/Rd4YxBHksHrEQM55Us7p/+joaALL5Gd4\nRF88SibtP+ynPH/zhf95P0tnW6HF8uvGzlwZM6zrBKv3o11q8MIrD6LYdDAWdpSETpVM7gTuvqxY\nrurk/E7o/MyyNddFCbg6+q1QXdCJwdNQ2ejwaMjOdOgAMlYXUNIHr4Tplls8J2aVMZpV9wro+Eg6\n6fQ4bwYsBppOvux3FZDicQ7GDvY8hlUMytIBid8JSBzMTBvLwVzqsNyoY6GLWZtllTF5I7XMwbrP\napgrL7zPDB08dSBjc5MjZUG6whPuKag6vXKNtMcmQt/oRdDizYXWJTaDHMuUPLPMOjBn+/G7Pztg\nUC/9vxMT6gl1wqCAczMQzHE8r6OfNpXvBIn2ddRd+1QnHbTt0NuBF9LKvUOdrZDHrFLYLhx7DF7o\n2+xvCCBJ/8g/0dexv/Ar/AsQpS4RZBIcxi45jv1flxBwDuaxZRM/fT/apQYv2UU+Usyq5RJcfmcw\nzmcDl/zGQERFYaBiozOwM6Gz7kBW+qPxsl9nIa4i5JicR4eQ8QloDEo6AObf0oyo8znKb2dA3tDo\nc2ycZwe4zssiUonojNnz6Hbid9kh5c9mvep41+0/4PFe12ff7CvLAwQp3FMQHaFDrTq9RT+vlnH/\ncXD53fM0feEjM1/2STlzQ6P5YACVudDh0xETlHQBjHQa2PqYjMFlGmbNltHx8fHSDQDJi8yPfOcS\nY2e/DDpVZ5+v4wCfZhkyY6au5N3ZdGer/O6gT5nZn4ae0MmxuUxMW2YfAQDpj/SS7k4fq5bB06gi\nyJZjnSjm2OgB/Tntv9M5grwA89GSCPUtNI+Ao5NoyyIvboInTwnkkxw4voR+8rvTFSYenQ+3HyTv\nOWf+x4T9frRLDV6omDRQK1cXmOkomImmjxFIoNO1U+G5VCpm3mmdw4oyRci8yVe+80ZKVMCq5SBA\n58OMhjyIURqQkbd22mmj39fW1qab4FEOBJGsIJCfzJAtR8qKv9OBdWCDjipGRYfgLNnOz87RvHRA\nYB+Rrys9nWPuQGJ4ybFYOYjOcK9LwBzBC4EK+eQN3Awe3AfDq9e4N4OgZHNzc7q5HZclugoPHa3n\nbn6SzrzHLnhTROsvHSkrVynfz+fz6c68BjE5n0sY5DErZdz3k/vypIKYDZThx/r66R2IA45Ir5ML\nAiPSxqtiRqCcsrXMMx/vL6EOkXc5fzY7vU+QAyP75yZQypFy6RIxH+/qY5qDZ/c/G4GL7/PjYGqg\n37XwInrAzd6UJ2knn1ztcHzqACV9na+Kih+I7vBqO4NH9m+Q28UJ+2Im3gTPjjcGijm2q8rdq3ap\nwctI6DQKlqjsOI22O8TNZtDDLIoKFqfCjIICH2UVGTvGQEfi+ZleziWOOp8dQAkoCCrcRkpGvjD4\nZ/8Rs6n0Y6Bio7LhMDB24/JYy6rri7SS166A0bHkmJxL0DXSO9LeOSGO21UQON8EAh6bz3y+kXkT\nncut7ulwOrASfU/QCX0JtAQrBDEBtwmCueEkdS/H8UaNDszkS95zTP4nrXkRCHcb1SkLlvdzV17u\nj6MMXElI0kDbzVwYRLinIVd5MXsNyEtfrgB7T0TsKHzPfw5e5Bn1iDpBuQe4dBUaJlsG9QQ/TooM\neA2YLW/KOOPxys/w2ElUPjsQ5z+en0Y9dNWbtmU/0n33OATGBOQO7B0P7ds6e7YvIp+7Y+PruwqH\nE2/avvlFPne85rieJ/0pE5euj3vZLjV4sXNg8OExI2FE0J2QOuEy8DtjSX9Bvhw/4IVlfioZy8j5\nzKfZdtmVlYMVKCpot/TT9eFAWrW8b8BKR4eQY+OA7VhzLOkgvaF5FPxJa5wiUX7+74ARgZOXFUfg\njPJJH1W1lE24YmWww2Cb8cxb84/HBwSSJjrPUUmYx4+AMvXae2Qoj2SqDKwpsXvZqur0QalplB2r\nRRw39FC3nZ0mINp5LxaLpcdoUC60a/OV4MvZPpOP2Ww2XQmTS9Sd7fLScd7w786dO7W1tbUk//X1\n9SXwQtnduXNn6RlfnDf1Jf6Fzz1K/13Ao56TF5Q1jw3fDNLTd+RAn8OATR7lVg+kjzLOWPRT9GFO\nEPy9a7b98M620gEdJ3RdHDFQ6IBS+qdPC9D1a6TbBpRVpz6FPO7mH37an9qfkf+cT3zRiM/0xdaT\nLv4xzvr/e9kuNXihc8t3GqizFjKxqlpH16FjO4aqceAfBRQqNTcO22FzPCoGP/MqJB4XpG1l6gzK\njue8dUg7HwfQzlHwGNJGHhj88TONiM4t/LIDciZo4/cY3fwY6NIPg1z4z30oMUiDLS4bWY9W8ZeV\nOh/Dd86pc7zZL5MqngE852xAkfN56S/nlP8JfLKkadASGgheCNqdcGR8OknbCa+KIxCMnmVO3CBM\nh7++vr500zDOmzrGpwkzsOQcP6SPur+9vX0GvAR4eL6pCJH+8Ja8DN+4v6TzT+Yjv7ti3NkK/QLP\nZ+BxpYT2QwDscdzs3zpgZP3uAEYaz3NCYwDj37oEx76adJ+cnCwtO9KPEjQYqHdxiJ8JlghIVs3b\n/DzvPyb95/XH+TrRNWimLnVFgy6huhftUoOXNDKPpW+WP6mIPo8IlI48feVYnpsgNpudPgU1v0fZ\nGWAZsHks+/YYXSWBd83N8cwiHdTpPJL9pm8ajZ0UFZyKSHoJSPLOJ2DnN9LBseigOlAS3hog5j8G\nHfIpQZYyplOkLrhiQscxkk3nbN3f8fHx0p4CgmEDP4KWfHZFoHMwmYeBYPjCIG9g44yIvOIxubmc\nHSzP9wbCjOesnICDQdD7N7rkwe8ETrFFVifCG+7RoGPls5nIY+qfgZl1hXRSjzP+1tbWGf/B5Zr8\nHrvh5mwHPfbPcTu/QRnQNvJ7V7FxYDFfqIuhhzZuIMz+OxA6sqkOZLCxL9Jp0GPgY1vtxuJ7aCMf\nOA5lYvBifi0Wy8//oQ50gZw23cm289OOK/SZtAf/Fhoo1w6gpNHGOrkxWWE/5Od3NuzWWcEZfFQt\nb9g0eqbTZ5DpspO8dwCmc1ykzyVtBtD0G+H7CqG0bmx+7r53QcnGTfDCY9joaB1A2c9isZieZUMe\nG0SRRgM6NmYyI2fm6gwDC0GXdcXZQrd0x+UpO+UYMbNhjsf3BNjMo3MQHLfjOcFJlisYNMyjHM+x\n6RB5XBdUE/jpiPK7gz6BUvSbDs3ZF4FJeMtEI43OloE6/zmA2zHyGAaktbW1papL5uEg5iU18iuf\nR4CUOmhb7JKik5OTM787Y6f/6kA1dSQ66mBnehywXfHrAjx1mM2g28cZ4BA4ez9ZV3kk/d3vbNYl\nzrvzYzxv1e+xd/KBS5G8Mi76R6BOP7GqGms/2dFzHsBjUlm1vIUiY9B+c679JWXP+TNuZZxUWL1P\njn7z6Oiopfvb3S41eDG6rloui5K5a2trZwKlNwS6HM1skI3LUREGjdxOhAqTxuBGhe6WU5z9MEjn\ne3iRfo+Pj6c15w6t5xjyKf9RIc8zdL54f4yUxl3Ot4Nm67IHfu+OGy3tZV5d6ZlgtwMGkQN5a4On\n003WnPMXi9Md/9Qh0sNqnR0aQZPBC8EU5WOZOUP2vBlgmQV2e5XijLpKGemmk2bFLv/l9uPey0EA\nQOd/ni7wirvwllWi8ImOOefmRlkGtfmNoLZb1iLoot5xDI9LJ09Z5N1LW/y/A6aUpW3KPPR/rop1\n/7MKxdbZRMdDL2NTH8w79jcCgOxjBL6yUZqBm/aT4ywbzsX25Xlz31feE7RZ+cs56StLhlevXl2S\ntQFdN2frYP4fgTweF9voEtf0TX65Kkz9JXihrHMu72njJbgcM5/Ph/R+O9ulBy/OdlYpQFUtZVAE\nM8yw8huFWnW22lF1isSNVi10Z8lsycYYNEdOiXP3HKNcCTjr6+tLxpT52PlwP0T67gJ9jiHgYUXp\n8PBw2rTI4G45eeMjeV5VZzJ98jQtNCQg5qqY0Jw+vexkp97Jw9kfwVd0KP+Fx9SL7kWHQQdAIME5\nUtc6R8qxsnHWWeXoe8AMdcg8IaDvnKyP5cZVVwi8TGIQxsoLaenOMchkOd4y7YI3wQ75HHooYx+b\n4zk/y5fyMK/sC0gjeWDe8hwvJ1h/3Ed+NwjhMd1/Bow8Z1Q5dJ/mS+cXPabn7qqcE0qCF1f8IgfT\n5+poRw9BI/0Hx7J/CIgJ/Tw+gH1zc7OuXr06tKtV4IWVSgMSHpvfmMA4TpJ33qtlIOk5j6rhi8Vi\n6WaPvCCBKyG+8eO9av8nwIsNpXNmEU4E74w9AY83pYoiUIBVy/dc6K50MKKl86HiZQ6d4bjyQmXq\nqjihYzY7va382trps0zi+AxgSIvnyQBHGvnOF+9twasSWBIeld/thCk7vnN5Z21trX2oG50c5cM1\naYIxA9nQGiPzZbjdXpIuiFCGaXSs/E4dDZ0dWCF91k1X8QLeDA5ctbFeGRSk327pz6A9380zAlTS\nw0pjByQNahiMaL8G5R1w6TJPBmTyZBRIOllQZvzuq69GgKCbuwNtN/+OR5kD9WrUrHtpzsxNU5es\njQBQ/l9Fw6gZfHf/W37UCSef+Z9zJjg0Dz0P+kn7fQf2jEWwzSvXuOE647kqRfnw6jLrPPUu9JEW\nJktcBvZ8DYwdawyYyf/QM5KZ/f39aJcavPBW5cyEu8yKQZZMtEPtnMPIwGzM+e0iY6fZcdBZ0bHR\n2DoHzoDEdX6O6xfPtXJxLAcKgwse76sgPCfyzs4jzcbIfjgmAyvBA/nXVcbI605WVbV00yme60tM\nSQezDINjLs046MfROBu0nlmfyFNXJFiZ4hqzgRavfAtveedOz9XjU17hM0HsYrF8JdYI2IVmgnwC\nHl41lO908OGh94zZfvgaZd0dUMtcDH7yO/c/JUnwVUWkI0C781Uc18HCsu6O5zGjgGH96QIKdaCj\nr/Ol1tsuyPlluZjGDigyUWH/HIcAkOd7LCcSpJMAIc8ZyzIq/QufhRUbY7XM4LaTsf0Z/+tuKthV\nt6rOXplJ/2LwQn470XPfHs/8ZrXHOuLl+PvRLjV4odOKouTWyHaORJ5V/cavVYhwVTDhec7WeI6N\nmLT5IYzOGAiOnAnQyKLsrPpwvp3zDd10KFy+ovNyAKNz7e78a4fHQGbwN+K/HeTIEVMunOcIfHLM\nzql040evfC8DAoAOALOv9EOnuaraYgDq//lOHkUHCGB4PCuI6TeB286foIhOkfJn6Zyl4VyqbZ0w\nADQ/eaVQ9CqAwJuDO96weS8JnXPHawLJEc9pUwwO9DNsBnCcd7cRMrxwdp++RpvdCQhIbz53vo+8\nH/VHOzDPLcOOTx6zs1f+1x1Pfnfz9Z2S87/5MKLBPoDydPWWPtnnkjekK8DeoNbJM/lrH0V/UHV2\nszlBPXU588nybgdeOFcnfZ0/5ef4mgB33hqBidt37vOCZkF1m147xsf5RfldNkvfBDyjYOfskm0U\ndPJbwIszAe5XMZjhvAxe4ugPDw+XaMhc+LTn9MFqCZX/vLI5j085lOVDOwxnwgRrHosGSYfpAOzf\nGVztVFyt8jk5btR8vDMk8noEugguvF+Gm9zokDNWd7VCPjMzM1COw3JQ5TwiAzuw9J1HFQR4ZY5x\nVumDV+xRfy1D0pqKHV/pc7FYTJcqB7xsbW3VycnplQsZywGUG/HNM1edrPOd3KgjBE+svKV1SUz4\nQjCVPrq9AAYuHK9rTDYyXgdeRt+pCzyGreOJx+VxrDbaDxP0doCFNHQAju/hlwN5F+Sp29RJAgPG\nlM6PpJ/YJWnPuATsuZdPfCT3vHR2TDvixRXWnxE4s95V1RI95jf3wlEe5CffrVsnJ6eX/LM6RX+3\nWCy+s2G3atlgGAyNzKmEo0wlfWWPQBovqWTQZSCgEnZ9h1Z+HwGkjJlNtxF6HJszSAIQBhMDDhtj\n5/w4R/PUoCFjsux95crpM3UYELoxjPjzbrpWAYmAPtPMoESnQ0dlh9fxlbSQbjuy7so2zr/rh4F+\nFYAygCNtrPAw6DNoJkh3DqtzTB04j0PN3EMrgwOvtjKAIjiPLrsCQ6ecVzZjLxan92vhLftZIUpF\niLIgsAr9owoj50weEIh38jAvuwDX6RWvkHJQ5jikg4G/C/IO5h3NPtbnM8hR3ueN5fP5feRHPNeL\nAhfTRJl3Y7Oa4XFsV12gNighUKbv5lgEL+k3VZf5fH7GB9OmvfR75cqVOjo6mnyU74bdgUbPbVVl\nO+cw2bAfMG9GNsH7LzERi5zM/3vZLjV4qeoNtSvZ2hHRgSaQdOifwYpG0BkKHbbLmiPHwnG865sb\nbEcBrnOeLutzjJT0va6aV86x4qU5m2Rp3TxY5Yy67+c5xI5nXjZwkOZSB4NaaE+/dDou6bM6ZFnl\neycLyoig0fMlCDdv6Kw7h0ceOVBwOcN8Mw0BBNQLZrjhYy4xTgu/snE6fQcwUT6j5pI5AUrmQ6dI\n+rzfxpU8NgYI6gptdkSn+UW+5zOBKOfD6pYD6mgcfjZoiZ26WR9G/XsO3fmrmnnHMVeBF1a7Rr6B\nx5tm9z+aSwcKcrwBM32W5dUdx0YfE/mzSppzuLmfS6oGC9EZXq2Wqks+5zzejJU8M6jwZ/Mxv5tn\n5+lCp2PUTVZnLZ/Nzc22z293u9TgxYpcderQ3FxO7Nbuma2tchxcnw4dXQC7CN2dITM4en31POfK\nPkdBo3MEq/rmGF3532BmBPIYVEaArjNCH191KrNRadLjG5wZLHTOknPK59Feho5P+Y90sG/2TwfC\n4OQKS+dIWe0Ib/J+nh7aORN8Ui4BEF0gCd8pL4IgyyC/0enzCq5UWbhs5L1UadwMmQ2VsRvSm2bA\n023WtBw5LwOIDgSSZ+ybY3ipyv2sCu6hxXRbniMQ09m9A3nHE/7uxKjTCX7uADHnaf0n/5h8sDHw\nuvrZ0cE5EdwHHPheRqHXoJj2VVVLSSbv70Seco8WLwQw/wjku1f44Qqn/WYXY1bphXl/kUpNF387\n8L3qvHvZLjV4oaFRgHRIaXYgzLJYwg04Sd8EL/4tLf3YIY0EZURMRemcqOfAMUlD51TdeKnxeSDK\nPOxo9Bo2r9LJ3Do5pI3oCC/pBLoA0C3hmD82rI7HlGFn2AQdBDPuz3pGPQhw66ovGTvjpWpBMGaA\nYCDYLTuYd24EEHSGrhJxPPZPR56bNVonOO+8UvoOaEnlZjabnVnz5/mez8nJyXRrgNwci/8FEBF0\nEvA4qeFnA13zjfpie7fvYKNusDJFUObzuoBsm+2AC2UYWm1z3fmmqbMn+rtVwdP2yWVM/mbdNi2x\nPQd92oXlQ9ot28SBvHj/JsuHc00jeDHI4VxIZwD5qiA+8pvR4awa+KrO8+ZOmuxzmUCtosv9usUe\nmST4nFyJeK/bpQYvzNaqlrMSI3A70y4QMcNNEKQSsazn4EMlonF5PXbkDLrgRzrtMDqlzXz5wDRm\nC6OxGfjoKByAeU5aaPRyk4FFzjNQC0/spGxcdtR0Mr6CjMbbGbL57P87OrqgYN5nzp0e0AFadgZO\nBlCUGx37CKgZrPH3UcXQPLHsnf1ZBtG7DiB5nnSUATKx5VUPHCTPZnHJAAAgAElEQVTv+SyZ27dv\nTzdI9KZXg5jQ3QUbyijnOkHif9TJkb6OQGN3GX7Hq/CL/ZwHXtxHZ1OZA+eSzx2YGzVXr0djmFbr\nWDf/bm72YwQvna2zn5Evir+nPtheOnDaHdNV4wxQR8DFvsyAkLwymDfvOp3tAFXeDV5GOrYKwNAH\nBrzQntLu1+XSlxq8+I64XQnNSpdGRJ2gG6byeTBVZ5W+Q5Ts3w5wlSLxGCP97jy2UR8GV+nPSmun\nYWdiZ94ZCed7cnJ6yXcHdvKeMmvnkO04OyC1KkB3AMHHd4Gq6uxdQim70ZowKxE5n4684183V9Jk\nZ0JQ3fGM4G8UkBxo19bu7lPhFXadrEh7gAZ5HX0NqF8F9nKjrQQLAxZWXEagMuMGtKTqMp/Pz9yZ\nmdUib2TuQBz1gHzt6OgCRKcTnfy574N0cNO4dbkLoF3jPLrk57xmcOrfOz/FY8I361EHxvj7RXyk\nP1v/nVDk2G7u5GVXKeRnti6od6Cn41U3r651Psh9M1Gy7Z7Xvxv1nKDI/OyASEc7wUs3Fq+CvZft\nUoOXqrP7AFiWp2OlM++ynS7gdIAn/49KwjnO1YTQasMzkk+j8jio+lyfH8XpjP9b+Y30mDd2lrlx\noEEI+cdA182/M3gbb36js+z41xm+x1jlxPK7L7X1ZfUGVuGFeWoA6UpUwCeBAq/84HvnYB2ER7wL\nz2grvIyeNNK+8r2zofRjoMdnurDakntCbG5uLgGb6JlBV8YInVz2YfJBGWSuBEwOuNQBgivqTxrl\nRfvsGpOIThb0T11VlHrdLfkYPNDX8LcRIPX/I7nm95Guuy/KjTKwvdM/dqBsVRDmf1w26kBO56cN\nrPn7yLY6QJv+Rxc4rOJTmkEB/+8qvJ2cfczoN9NjOhxPu9gw0ifbnf1r+vrOgxlrOXjFIXLJhw9p\nq1pep867A0cXCN1YEssrLY7XV/NwjM5gRuCA/7Nx3uk788mmxS4D5Py6OdKhkBaXau3IyJeOLs6f\nfA5NLNtSvqsM0Xxx8Aw/LSc6Vman1A8eTxBhh7fK8eV+B5YxeeP5EMCwHE6d5T1WOP+uPN3xj04p\nfXV3puXSaQAbecTMijZn/VhfX6+tra0JvLB/AkLKfOT4KGfeOOzg4GCYlIS3fBgeE530TflyU6Sd\nvfWvc/IOepYTf+fVI77/SzcmmwOGjz8vmHeBlc1AtqOBv3f6baBgQLYqEHu8kR+66FxXAaSur+54\n2tWqONGBNfqeEfBj39bR7ry8jyojppXJNz/TnjmmbXOV7th+MwcmA995tlH1Nxqi03VQsDJZCCPF\n5rGpGvBqIK5TripHEyxxDIOZZO0+vzMsG//a2toEXtJXNx6DA/tks3KaD64EZM8Dnw/Ffhzs7LDT\nP4FhRweBBpcZbHwc13IKbwhe2M/JyfJdj9kvM73O4YWvoTM62jl2A0TLnPrMYJ3/yB8HRcs654Tn\noSeVjMydwdyOiHM1Hdl4SR7n/1RWKMPQy2UU8qwLOpQpl4329vZa50099yWmoYtBlfLNOeyXOmkA\nRP01sHE1icdsbGws3Z260yfbvIMd+dUtYXT9dQGzk7V9FsG0f+el7AHg1Dv66g508T1j0zea3+aH\ng7vBBufT+WLblOc64pvHNn3UFfqctJGvY8XQds5zRvwzYKFfjY+Lb/SVmyOgPOK19S7jZKNy7Oo7\ne15q+SZlccLM6MNAKkqceYKAN/J1lRd/d4WA47rMN8osRs7BDt5Bif12oMsO1wZWtVwqH/Vrus0D\n/07Fd+mfczAtzG6ZBXSGyPFWOeXImECTfTsoVy3vD3B1Y+RUO8BBPQsfOr51zXyzw+vmPuLLKhkn\nyFjvfJNAOn4CvryvckIMBNnXknvEhE5eXcRLSckz3gsj/VK2BwcHtbe3Vzdv3lzaMBzaed8NBtcE\nBS5X8WZ2oSv0diCfyRL5w3szUQ9CO2UWmljpccC1XLv/CMSZVHAsvo8CTReELdf4GNKVeUaW9oWc\nG28imf6tSyP7J98cZG0D3X+ch3nkPugL2Ayuu7G7tirhsZ1lHN5/qfNZ9pUGRTku77ws3D7e1emO\nfvKNMYh8MEiirFylvJftUoOXquX1Rma2XDLIcTRuPpzK/a0K2g5sac4CVtHLfl1eC31cv+8ARRw4\nFYJXMMRxO6B3Bss5hI7zQEPHuzi1DsAx4+BvPNbOxeeSFx0dnF/4wX0R/I9zsjwsT1fF0ljCtixd\nljWPo7eeOwMDA9VIdt3czUvL0HMLkGC1aSRHzr1zXKMxnfFlzHwfJQ6jtljcBczz+bz29vbq1q1b\nS0tfTGgyH98f48qVK0vPQiPArbp7vxmDho4X+e6A66w7MvVlwd09cVbN2+OO6HIiR7qsq9ZxB0TP\nK8dxLNo/7aYLWqMbAho8eM6xXwdEHmff3PHN49BHhj7rLf37SPc7gERe8fyuouNm/bEvcaw6j6es\n5OQuuElcfFuGrtmG7XdYGIiscuf1gLBR/Pl2t0sPXuisneHwUi3f2XG0mc5onuOsyr46VD2il6VI\nAgY7XAdsNo4b+m0MnGO+R3k7p0ReZAz21zkU0pF5hBZf9cTlIQYSztWOn3Q4OyEAIDAx3aPG6kRX\nina2nvEpHwJHzyHHdMZKwB1aOB77pjy6ykgnI4KBEbDpggDp9cMPM/d8p4PKUuXR0dFSIOuCi/lh\nvne21Mnq+Pi45vN57e/v1/7+/nR/icXi9CZh1InoXD7z/jLr63fvjrqxsVFbW1tLcubxppGVl86B\nx9a6K6giE4Mu84A6ZT2lPTIb7nTCvoQ+wud0yQmbdSq2zA3ftlX6XmbnXYLxzeiKAy3/8xI0eUtw\n4sDPvWCMCx2o75p1mPz37/lu/YiuZ8zYtCtBIz/J/2kH6YfV1uhq/ltV2bLPJR/9ms3uLovSzr4D\nXqoPrjGGzoir6gxjI0Qe05Xq838HTgxeqmop4DGjpCNn33Y8HcI3HVTI7nv6cQBxkB8BrpEjJL2k\nK99PTk6me27Y+BmkebyrJOYnae8AQc4zoGMfHN9AqLvRVYKOrzyhHKx3BoLmGelNHwyKrqY58JBv\nBo3ch2XeUE6hlfzh/YisqwRBowDZ7SsKfX7sgOedpQY66IzBKpQdctXdIJM76x4dHU1z9VVT6ZvO\nmnPplsDIc97SnHu1uqoRnXxot835WOoM52e5eWnJgZjnWZ6usHg5leMRmNjOHfTZd+dHWDkIX46O\njpb2cLkKaZ3tAv/I7xlckAfeX+f5kWesvowCuhv75DEdb0j/qB832q7pZ7/defx/FQAjSDP4ig5m\n/A64WCe6JOF+tEsPXsgkghYGxqrlvRl0wuwnjQKhAtPRGYSkn7yPDNnn5DvPYyP9zOxGAbqqlsrx\nNMzuPhw5jg7WgaIDUDRi8yegJQ6KILELerPZ6RIPx+oy9oAh8oLfne2vAnJ29JaHHb4divvheR1A\nOw8gWi862XfzyjF0MuEpxyYfu0y/c+KWs+cfmeXutsfHx7W5uTmNOQKF7otycWUy/Xi5NroWPeuW\njfKZAYiy4TIZ7xBMHsVZczOqNyeTt11wNy8pB9sl3zNP6oRBOHXE+sFAQjoIuL3Jujue49MvGrgs\nFovpdgmRJWUQGz48PJz68c0NVwE762vAL+XabXDtwECn15Sf+ZBzOp3u+vJvnlNHV8dznzuqvPiz\nzyVN4WfGYvVqBF5GIIt+tauUcUM6r8C81+3Sg5eqZQSYWyeH8V2Qi9FQwa3kcWxeIqCAqIQdkOiU\njajZgCDnEkB0ry77pULm/7w72+T6f+jnO+k2eKNyOotjJspd7HRgOSZ9JUMmr9O3nQqfth06KU+W\nWDMOlwrII/bvwG+ZZxxmbR1AMkhKlsEgOXIuGY+86TJpB1/qAa+SYhXIQL2rvHRAzOeQ3g5oMAhF\nBtmoy8qOA8IIJHYBh0A7gS/ghfo6qvCxNB46yXvqfV5ZxuPG2m6/QGh2RYN00GYIAqib1hPafvoZ\nBRcH9o7Hq8BLZM1gZRDkF8FXx9ucH74cHR3V4eHhNHb0pksIraO+vD66QJ9mIG7wSPvPb66aWg//\nH3vvFqpbW9b/X8+ca+7Xepe+am5CUtK0rKwQQjCiaGeKQUjvSZFFEnVgQaKEbY6EMg9McUMJZgYV\nHiQeSBaCUp2GmYWaHpSZlpvX911r7nf/g7fPmJ/xndf9rOXv51r/+QNvmDzPHM8Y933d1/Z7Xfc9\nxjBNXN/Rl3prW4YHI/3O4/l7AuIO6C7rb9nvHb8tU+uLx04wlvxhU7wfRnm/2pUGL1VzpNoBEM7J\n8/k9QUEGrAQ/KGAa+fn5+SXBpMPPMf3djTK1jRMDGwWa7LuqLgEHjvkdHhzzvDx/r/12/PPtb+l8\nEu1bqc/Pz6fXvJ+dXbwPg/NxVDQDFzsA6MIBO5gm0EqAYdnZuQCO4Dv8wkkmeOjWcbsyc6cPKS87\nAgfFLtM2r/IV9Fm18byzQmmgS3Mg7PQhA4SDoPU7aXaFhAw9A65pZd65DOvPDEgEQgcz66HHMC8y\n0Nv+zAPzyCCZc7OiYHpNp8GW6cvv1mcnUJ6/wa710rQmQITG9CuWdQZG+wqfZ702EPMcmC9PRO6W\nGq3bbqkHmaACKC3DLiaMgnQH9qzLGUOW9dFVKJi/Y0rXl/U3QX435ghIdTqd8+TTiVzGl7QJjnef\n1nPsDtDyDfDStDR2G4zPsSOyQxmh1nRy6YA6Q/MxK94IPFVd3qiafbpfZ4n5f5e1GmQl+vedFFld\n6YJVlomr5mv/0OnKSue0PUcbtB8omKANGu2E3EbHTC8yz8qZnb7ntkxmPtbpWn6OQHQGp8Xi8nup\nMrja8SAD95FjmpYRjcnHbr4dsODT8u/anfQ7j3ksZ9skCJaVn7RrHa+6ALK2jax8wGNaAnjT1/HL\nf1mxSaBHcDXA9B2ByVfLnT8HBdOTwaWzNxIM+jWQtE9kLFcLratpWxmMre8jex6B1U4vksfpq3xe\n8jD5kvtFnLxYf7K6hG7Yv+U8R839oav+bTRnV7Lx46N4kn6Bln7AMq66eBSB++wquwnu3Hdnd44N\nfv3HNzbs/m8zU6vmRpsBIx1iItGq/p0m6cTSUbtsacSJoYzAFOMbUNHymlTMVKhlCutj0JSOypUd\nZ68GDB146JQ+1079mUbPsVzmgM8Z4NM5JU/szJKPBjF20D5muq0j3mxq55OZtIMj1xEg8tb80Zgp\nL/M6ZYdDYz7d7f9ZffJYaRMea+Rgkt9ePmFslolsC8v+3NI52iZT3wxcMovn9yxhG8wkcDWf/Ifj\nNZCyXqSOmh7zKnU8A2inzxm8oS/v6snrodX6Zn/EmF6uzUpNAgLzycfhp/nV+dK8m6UDeckb+6fU\nl053klfJG8bN+XUVJYMNrs9XfmSDR7avDtDmPHPOyR+OO8nraDCfsm/rRvKvs0XORV8yQe70PmlY\nBurudbvS4MWOqrst08p5NwL3/87wuL7qYpOixxmBpkSv9O3fu0w/y4Bu6dxNu4Mt/WTwTf6k4uVx\n7//olDP7TQeUiJzrRnsEfK3lkKVl82BZ5pN64PM978xATKsdscGLnSrHHXwIuAYvpiszFMZNPpv/\ngD2al0UyA3IzWM15AUIsjwQ6DgAZVKGjuwXfTo95Mle+e008eT96CrMBiAGil2rojzk4cJoHGYht\n0wlQLD+u8bEMVMl731lmnqbM0ndlMDYNIx23vnX2nfriZaIOwJru9GnIaG1t7RLw8966s7OzSdYj\n8JJzN3iw7Xlsy6LT/4wDyaPO/3Q86kBcguqMB+honrdMplkB6sCIz7NcuviRPjJBcudXPYcuefC5\nnR47frjy9o3Ki1pmkanEo4Dn/32Os7Usx7u6wu9d1pDK4b7zd4577JzDyGl1c2UMskU2TeK8z8/P\np2wS+l3Ocx8OPFle9v6PdCp8d59cm+CqWzOHVn/6nDTudMApc9OSICNbAhYbrrMxX5vgBP4YvPg3\n8zaBd64L20HmfO3YnNVlJSWDkgNnB7K7jYUGAclTxvQyVy6b8IRdgxeP7bnSr19b4LlTMTBoYeMu\nY3oJCNryCbt2qFk54ZjlDy25PJpySf+SsvQ5XVDq5G95W/+6a/L61AO3DjylPmTg6wJ21fxx9uaz\nr0nguQy8ZMXX8rE/MWBK++/AHc06PAJN1oFM9rr+TWcXa5Lnvn6ZX3Lf+f8IQIyuTdBnEN9V0EZ8\nHIGu5IcBvP39vWxXGrxkJm8FrlpepRgphxmfzPeYiW67zCzHv5OTMZ13Q1M6mKSTLMhZrcGES/2+\nFXXk5FLxcxNlBt2uOpWfGaxGMrLz64yXhqPpgqENK2mx4Xclb/r2PgHTlRuOOU6lZARy/XoLB/qk\nfTR3gztnaeafHWk2y84Omr5zPAKR51o1f3mln9uSchrJN2XEJ3xljtBzcnIy27yd4Mbz8/cEW9no\ny/tTLIfsL4GE/RG6lMmVEwKDn2XBZ5n+dzT5Gn/mec6I/deNkVXbLjAnGOb8DJRUXlL33X8ndwNK\n+stNvP4teZagz7ZlHcigbD6nHaUe53V53qhK7XETBDKXvEM26Uoepgysx06WMoZ0Y3dgLMeFxx2Q\ns43fj3blwQvOdOQ0U1B2YKnQ6agSYXZGyfU2QJdf0+Glco8CUidgK47nmAiYzDAdTip5Kj/XjsBS\nBxrynKyidNdl5t85kORvF8ATQOR46aw7Why8O4BleScoynF9TpaNkx7LIUGS59FVmFI3ve/Dch4F\nGwcGj+Pxu3HML9tDN+/OQSc/u/EY09Ut78WCzsPDw0uvv+j67nRgRFdVfyt2VV0C+l31qnPaOe9c\nju7anX7PwLTsPOa0rJ+7aZ3fSx9ife6AYfaX+wfTBxtYdXO23D0f64mrOx6L35I3WWVL/c9qKeOm\nD+t8RvIxP233qS8dyBwlJCP/bVq7FYDOjpL2EajLmJpgBzlkFf1etisPXrpdzSDJzHapLljwGfSS\n6RlgOsF2RkhLh9opQzpBKz6OnPOzApTKxzy8V8V02AA4l0/vGTA/aHYq0OZ9Dl3lJQ0k+1rmgB1w\nu2aDdv+dTPMvDb+7LTRll87JgTyvscPpHJivyeUHxuIzlzO64JHXmH85p6QjKy1ZLaqaO2tkbRn6\nzogEzsjKfMlmGgAs6HFXVeEJzskPy6MDNF31zwG3uxV+WZDpeMv8vEE2fciIvuwrgZHpHF3jvhME\nQJ8DWMcv217Kjf8NKvG76YM7mUOHgSKtAwLWiwTinW9e5lc6v9CBibRvg3Lm6DGsmwkC7qQ3HX3+\n/05gpPNRd+tf/Wkd62j1eTle7o00MMxq7TfAS9M61G2j7QJ5lhGteAiSa2wko2zaLTOQNJJ0Ih0A\nyLYMCGXrDN7B1Me9f2CkpHw6+zCwyg2SKQ+ud+mXpa27AQ/d8fzdMrIjdPP/uVSWzj4dr+Xkio3f\nXmw6T05OLt0eiBzsZHL+6WQdxDNYWy5Z2rUD65yVZeJPVzUc4Du5oOcGYb7TKPdAdLLKAO9EY1TF\nWVl57HlIm5ubtbGxMelRBg/69NuroYXNwgYufp3BKDDAv7yj0Lad807/YRCYPM1x0w9lwpSBrZNR\nBurOl2WwtW1k9doVKM/XNwjkeKlPCWCW2Wr+n7Y/0vkumHdAYORrbG+jNpJfpz/pC2zDPs960vFi\nGT0jGmmWH//7rqaMjR197it9WYJi93+lwctv//Zv1z/8wz/UG9/4xvq+7/u+qqr66Ec/Wm9729vq\ns5/9bD344IP10EMP1cte9rLpmuPj43rrW99aH/7wh+vk5KSe//zn16//+q/Xk570pOE4WVlx65Tc\nn16T7oImn3Z+HcLvFKoTOC2NOpd10sC7PtIxc07OuZsbitk5DCtYjts5ACth0pvZUyq+nR59pZPw\nsTSQDuR1mW22dM4pR4wvHXUXaH0nhe+U8XwzICQNzA0A6WMpG7cOgGTQ7uZu/mfWm0tTHit1odPz\nkZ76riIDGAMJ8866zaZy6LP819fXa2trqw4PD6f3G/lusLxt30/6NXjx0jOBl3exGMhkVcZJQM67\n+8zW8exO56f+jj47HchELu30Tr4tgfFoPlm5rrr88MhufP/v+WT/6YvSDyUv7Ne6ZQv7gREA+VqB\ngvtcVoFepkOWw4jnOeboWDdG8t3x9E7AqQMyI51KYHRlN+x+8IMfrIODg5mAvvCFL9Rv/uZv1q/8\nyq/US17ykvr4xz9er3vd6+rBBx+sF73oRVVV9da3vrU+/vGP1x//8R/X9evX601velO97nWvqz/6\noz8ajmWH4mcxeLkFR4dzqrocCKwo/O/f8tkOvs23C/C+4yUNawQI+N/nJkDpaB4tW1TVdHeHf+tQ\nb5elZAXBhuSgxHH40vXv6owVOpG5v3OewU3yaBSo00ksWwrreJl9JijKu6U6h5e05v8dGDw/nz/J\nOPvztZm9uXUVv6yOVM0fbphBJNsIDCc/MpOjGpJ9LBYXt0F3Tj2BcCf/a9eu1ebmZu3s7NTp6en0\nYsau/A0QWltbm9ExenIvoAbA5UqS6UJ+flpwyjeXbDynBI+jIJN21QWABC/+nj4G+aQejoJ0yt80\nce3a2tr0dvFczksZd/rmc0b0dPz1OckX5pk+KPvs9Htkv67KdrzPfv2944W3Obi/DqhCZ9pDAohO\nZ+wXOnCS+trNL/nX+bRMgAxgFovF7M7Le9m+JvDyxS9+sd71rnfVW97ylnrooYem4x/84Afr6U9/\n+lRpef7zn18vfvGL633ve1+96EUvqqOjo/rgBz9Yv/M7vzNVWn71V3+1Xv7yl9c///M/13d913e1\n4+WSAIIliDoYZaAZlXrdl/tzAEhw5D5oIwUanefvSdsI/Xa/ed6prHxmgEpnMQJxNINBZ9FeKsq/\nbq5nZ489It7jJkjKLC6z85HDTf51QLOTQeqIj3l+7qNzot3voyVK04teZTDNW5dHVS9AfNKSS3q5\n9LBYLIYO3tUG7sLpgqfHtAPrqmpdwOgyVOuy+UZVZG1trTY2NqZloxyPa7xE1Nm250lVJ5eZrG+2\n09Qx5p3vWXM/8BCd6Mr0lrVBmPtYptej/xM8pS9IWXrcrtJ7fv5Y8pKvexjJO2nhu+VN8y3RWRnu\n+NXNdWTrCRBSDw3slwE7+sxHFcAX/r9TvDEoST/hY8vm230fzT1lkVWvlNeyGOLWgZ4EMvejfU3g\n5Q1veEP93M/93KWlns985jP17d/+7bNjz33uc+tv/uZvqqrqP/7jP+ro6Kie85znTL/fvHmznvrU\np9anP/3pIXgxoq6ab8ZzZkFbpnz+rXM26ai4rgtAHZrl+MiZ+M8PDBspYdXFuqUNx+DFmaMNqVvL\ntCHnHNOwmEtWpOwUO3TdzZ2qCFUixmWszugTVCXw6pyEHdCyatWILxlY08hp6fAya+f8vD2RPtDp\nrJ7keUm7lzQSSJquDmR1fY8AYQKdpHEEvBnb1QrLGJ7leAZZHONuurW1tVpfX6+Tk5Pa2tq6dHsz\nY+Kou7sRE+AD0DY2NoYPzkud43pXMphnJjiuVubTU70BNgO4eUUf3kMwCiTZElCOAknK1RVu+rFM\n7JO6hxxaFp39ck4uB5tXyMCV1E7H8nqDvTzH9p1g2mMYNLpvWi6TuwKZfsn8HfmqUTMtWbmz7qEf\n7i+rhwlevIeJ30fV1o7Xjj+Ml363i4H3qt01eHnf+95XVVUveclLpmNMend3t57+9KfPzr9x40bt\n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\nKP7mb/4m9u3bF6tWrYrrr78+1q9ffyKG9JqhP/iDP4ht27bFZz7zmfjJn/zJiIj4j//4j7jrrrti\n165dcfrpp8eGDRviiiuuqO6ZmZmJO++8M77xjW/E7OxsXHDBBfHbv/3bzd6x/yM98cQT8YUvfCF2\n7NgR7XY7zjnnnPjc5z4XERE7d+6MO+64I5566qlYtmxZXH755fH+97+/dn/jw44Off/7348//dM/\njX//93+P2dnZWLVqVfzar/1aXHDBBRHR2MXrmZZc5eWBBx6IrVu3xu233x6bN2+OH//xH48bbrih\nej15Q0eHWq1W3HTTTfHwww/Hpk2botVqxc0331yd73a78bGPfSxOO+20+PKXvxx//ud/Ho899lh8\n/vOfr675xje+EX/xF38RN998c3zlK1+JSy+9NG666aZ48cUXT8SQXhO0devWmJycrD1lt2fPnvjY\nxz4Wl19+eXzlK1+JG264Ie6+++749re/XV1z5513xuOPPx733HNPPPjgg7Fs2bK45ZZbTsQQTnp6\n4okn4qabbopLL700HnrooXj44Yfj+uuvj4jDj3/eeOONsX79+tiyZUvcdttt8dWvfjW+/OUvV/c3\nPuzo0Wc/+9l46aWXYtOmTfHwww/HxRdfHDfffHMcOnSosYvXOS058LJly5bYsGFDnHPOOTE4OBjX\nXnttzM7Oxre+9a0Tzdprin71V381zj333Ojr64vR0dF43/veF//1X/8Vhw4dioiIxx57LHbt2hUf\n/vCHY3h4ON74xjfGtddeG1/96lerF/Jt2bIlLr300jj//POjr68vrrrqqjjrrLNi69atJ3JoJy29\n+OKLcd9998UNN9xQe8HT1q1b4+yzz44rrrgi+vr64oILLohLL700Nm/eHBGHf3to69at8cEPfjDO\nOOOMGB4ejg9/+MPxzDPPxHe/+90TNZyTlu6+++647LLL4p3vfGf1csV169ZFRMQ3v/nN6HQ68YEP\nfCAGBgZi9erVsWHDhmouIhofdjRp9+7d8bM/+7Nx6qmnRqvVip//+Z+PiYmJePbZZxu7eJ3TkgIv\nY2NjsWfPnli7dm11rK+vL9asWRNPP/30CeTstU//8i//Ej/yIz9SPeK2c+fOWLFiRSxfvry6Zt26\ndTE5ORm7du2KiIinn366cuqitWvXNi9Q+z/SbbfdFr/8y7+8oKS9c+fO+LEf+7HasXXr1lVy/p//\n+Z+Ynp6u2c1pp50WK1asaOzmVdLU1FQ8/vjj0Wq14rrrrosrr7wyPvShD8U//uM/RsThuTj33HNr\n769Yt25dPP/88zExMdH4sKNMV199dXz729+OV155JWZnZ2Pz5s1x1llnxY/+6I82dvE6pyW152V8\nfDwiFj4jvnz58hgbGzsRLL0u6N/+7d/i/vvvjz/8wz+sjo2Pj6fzEBHVXIyNjaXX7Nmz5xhz/Noj\nZYuXXXZZdUxLR2NjY3H22WfXrl++fHllL3ojtc/FsmXLGrt5lXTgwIHodrvxta99LT71qU/FmjVr\nYtu2bXHrrbfGxo0bF7ULVcwaH3Z06Cd+4ifi0Ucfjfe+973R19cXy5cvj1tvvTUGBwcbu3id05Kq\nvIyMjEREVEsXooMHD8bo6OiJYOk1T9/5znfiE5/4RNxyyy3x0z/909XxkZGRdB4iopqL0dHR9BrN\nY0NHRrt3746/+qu/it///d+vHVcgXEzOJbs5dOhQYzevkiTLSy65JM4777xot9tx0UUXxYUXXhjb\ntm1b1C4aH3b0qNvtxu/+7u/G6aefHlu2bImtW7fGRz/60bjxxhvj6aefbuzidU5LCryMjo7GmWee\nGTt27KiOzc3Nxc6dO2PNmjUnkLPXJj366KPxyU9+Mj7xiU/EW9/61tq5NWvWxPPPP1/70bknn3wy\nhoaG4qyzzqqu4VxFROzYsSPOPffcY8/8a4i2b98eBw4ciN/4jd+Iq666Kq666qqIiPj4xz8ef/zH\nfxxr1qyJ//zP/6zd8+STT1ZyPvvss2NwcLA2F/v37489e/Y0dvMqaXR0NFauXFk8v2bNmvje975X\n+1G9J598MlasWBHDw8ONDzuKdPDgwXj++efjF37hF2LZsmXRbrfjrW99a6xcuTL+9V//Nd785jc3\ndvE6piUFXiIirrzyyvjSl74UzzzzTExNTcV9990X/f39cdFFF51o1l5T9NBDD8Udd9wRn/zkJ+On\nfuqnFpxfv359rFq1Ku66666YmJiIF154ITZt2hSXXXZZDAwMRMThufq7v/u7+O53vxuzs7Px8MMP\nx3PPPRfvete7jvdwTmp6+9vfHn/9138d99xzT9x7771x7733RkTERz/60fj1X//1eNe73hW7du2K\nLVu2xOzsbGzfvj3+/u//vgI5g4ODcckll8R9990Xe/fujfHx8bjrrrvinHPOifPPP/9EDu2kpHe/\n+92xdevWePrpp6Pb7ca2bdti+/btcfHFF8fFF18cfX19sWnTppieno5nnnkmHnzwwWouIhofdrTo\n1FNPjVWrVsXmzZtjfHw8ut1ufOc734n//u//jrVr18Yll1zS2MXrmJbkDzNu2rQp/vZv/zbGx8dj\n7dq1zTsSjgG9/e1vj/7+/gqI6CfgP/3pT1eGvXfv3vjsZz9bveflHe94R1x33XXR3z+/VWrz5s3x\nwAMPxP79+2PVqlXxm7/5m41jOAr0jne8I26//fbqPS+PPfZY3HnnnbFr1674oR/6oXjf+9634H0W\nf/ZnfxZf//rXq/dZ/M7v/E7zPov/I33xi1+MzZs3x9jYWLzpTW+Ka665Jn7mZ34mIiKeeeaZ2Lhx\nYzz11FMxOjoaV1xxRfzKr/xK7f7Ghx0deu655+Lzn/98PPHEEzE9PR1vfOMb4z3veU+1N6yxi9cv\nLUnw0lBDDTXUUEMNNVSiJbds1FBDDTXUUEMNNdSLGvDSUEMNNdRQQw2dVNSAl4Yaaqihhhpq6KSi\nBrw01FBDDTXUUEMnFTXgpaGGGmqooYYaOqmoAS8NNdRQQw011NBJRQ14aaihhhpqqKGGTipqwEtD\nDTXUUEMNNXRSUQNeGmqooYYaaqihk4r+Fx0NCJyZSn4KAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAF+CAYAAABK7vqLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAIABJREFUeJzsnVuIrVtW38dadd+19z6nW1vbToinpbVNG0gjIiHQeWjQ\ndKRJv6gnJoLH9kFIBAk0ShLwKUS8Ym4PgZjupKGjNiFRoYlKOhGRPISEPOTB2wFb1BwxGjx713VX\n1crD4f/V7/vVmKt2m7O3dWQNKNaqtb5vzjHHHJf/GHPOby3+83/+z6va0IY2tKENbWhDG3qL0PJP\nmoENbWhDG9rQhja0oc+HNuBlQxva0IY2tKENvaVoA142tKENbWhDG9rQW4o24GVDG9rQhja0oQ29\npWgDXja0oQ1taEMb2tBbijbgZUMb2tCGNrShDb2laANeNrShDW1oQxva0FuKtv+kGdjQhja0IdN/\n+2//rf7tv/239bnPfa4ePXpUL774Yn3VV31VvfLKK/WlX/qls2t///d/v/7ZP/tn9d//+3+vqqqv\n/uqvru/6ru+qL/qiL/qTYH1DG9rQc6DF5iF1G9rQhu4affazn61f//Vfrz//5/98vfjii/V7v/d7\n9alPfap+//d/v/7Vv/pXEzA5Ozur7/iO76i9vb36ju/4jqqq+vEf//E6OzurH//xH6+9vb0/yWFs\naEMbeka0qbxsaEMbunP0wQ9+sD74wQ/OPvvKr/zK+rZv+7b6xV/8xfqmb/qmqqr62Z/92Xrttdfq\nk5/8ZH3Jl3xJVVV92Zd9WX3rt35r/ezP/mx94zd+43PnfUMb2tCzp82elw1taEMTfeITn6gPfvCD\n9Tu/8zv19/7e36tv+IZvqL/xN/5G/Zt/82/+pFmrhw8fVlXV9vZ1zvVf/+t/rfe9730TcKmqeuc7\n31l/4S/8hfrlX/7l587jhja0oedDG/CyoQ1taKLFYlFVVd/3fd9XX/3VX13/8B/+w/rABz5Qn/jE\nJ+o//sf/eOv9V1dXdXl5eevf09LV1VVdXFzUb//2b9eP/MiP1Bd8wRfMKjK/+Zu/We9+97tv3PfS\nSy/V5z73uafuZ0Mb2tBbizbLRhva0IZmtFgs6pu/+Zvrr/7Vv1pVb2yA/R//43/UZz/72frQhz60\n9t6/9bf+Vv3e7/3ere1/6lOfqi/+4i++lZe//bf/dv3ar/1aVVX92T/7Z+tHfuRH6oUXXpi+f/To\nUd2/f//GfQ8fPqxHjx7d2v6GNrShtyZtwMuGNrShG/SX/tJfmv3/0ksv1auvvnrrff/oH/2jevLk\nydprFotFfeEXfuFT8fH3//7fr+Pj4/rd3/3d+qmf+qn62Mc+Vv/0n/7TGfBJtYi0Wm3OIWxoQ3+a\naQNeNrShDd2gBw8ezP7f3d2t8/PzW+/70i/90qcCDltbW0/Fx5/7c3+uqt7YrPu1X/u19S3f8i31\nqU99qv7u3/27VVV1//79tsLy6NGjG2PY0IY29KeHNuBlQxva0JtGb/ayEen+/fv1Z/7Mn6nf/d3f\nnT576aWX6jd/8zdvXPu5z33uxvNgNrShDf3poQ142dCGNvSm0dMsG1XVUy8bkf7wD/+wfuu3fqu+\n7uu+bvrsL//lv1z/4l/8i3rttdfqne98Z1VVvfbaa/W//tf/qu/8zu/8vPvY0IY29NagDXjZ0IY2\n9KZRd/Lnj0Pf933fV1/+5V9eX/ZlX1aHh4f1W7/1W/Xv/t2/q52dnfrmb/7m6boPf/jD9dM//dP1\nD/7BP6iPfvSjVVX18Y9/vL74i7+4PvzhD78pvGxoQxu6e7QBLxva0IaeirqNsc+K3ve+99V/+S//\npT796U/XkydP6ou+6Ivq/e9/f/3Nv/k3Z8tN+/v79aM/+qP1z//5P6/v//7vr6o3Tkf9nb/zd2p/\nf/+58buhDW3o+dJz/3mAj3/84/WZz3ymjo6O6iu+4ivqu7/7u9+0bG1DG9rQhja0oQ396afn+pC6\nn/iJn6if+7mfqx/6oR+q//Af/kN91Vd9VX3P93xPnZ6ePk82NrShDW1oQxva0FuYnit4+Zmf+Zl6\n+eWX66WXXqrd3d366Ec/WhcXF/VLv/RLz5ONDW1oQxva0IY29Bam5wZejo6O6rXXXqv3vve902db\nW1v1nve8p37jN37jebGxoQ1taEMb2tCG3uL03DbsHh8fV1XdeJT3gwcP6ujoaPbZ1dVV/cEf/EEd\nHBw8102CG9rQhja0oQ1t6I9Pq9WqTk5O6gu+4AtquXx29ZHnBl7u3btXVVWPHz+eff7o0aN6xzve\nMfvsD/7gD2bHITe0oQ1taEMb2tBbh37qp37qRmx/M+m5gZfDw8N65zvfWb/6q79a73vf+6qq6vLy\nsl599dX6+q//+tm1BwcHVfVGVWa1WtXFxUUtl8taLBazSszW1tbs86urq+m75XI5Q32LxaJWq9Xs\nfj/GfLVaTZ/xury/urqaXcN7lstlbW9vz/rJ9bk3f1tbW7W9vV1XV1e1WCym+8xr7uX7jGm5XNb+\n/v409svLy7q4uKhHjx7V2dlZLZfL2tnZmXjIr/kuFotJZmk3beT9crmc+Nza2qrFYlEnJyf1jne8\no05PT+v8/HxqM/NgmSyXy6n97e3tGzI1cW4znsvLy5ncIuP8ZYw7Ozuztra3t2tnZ2eSbeQdfcl8\npI/t7e3a3d2d5HV2dlZHR0d1fn5e5+fndXFxMZvL1Wo16Vrklu+jd1tbW9M1+ezk5OSGnrCNy8vL\nevLkST158qQuLy+ndnJ/rjk+Pp5sJPfyWuob9WZnZ2eSG/U57YTfi4uLma5RB6lv6ZM6nDnjfWw/\n3+fz6Fh0rqomGWQeqcOWacYRim4746N+5l7qG2VGO+cvYNtulstlvf7661OFOOOIvlNXaFsh8h0+\naDe2f/PLMXm+0zbnjDYWvmyT/Nz+trvW8+L7OHbKJfLkq30r2wpfaS/vee35+Xnt7e3NPqMPo93S\npjwexwDPQ3cN/afllu87nUu7FxcXU7vUv9xHGXUy6/TDc2cfG7l04+/G4HHTXsj/YrGox48fTz7q\nWdFzfc7LRz7ykfrJn/zJev/731/vete76pOf/GRtb2/XBz7wgdl1EVqUKw7Xk0LFJFiIY+kAwQi8\nULlHP/TWOQ9/buXolNzOM0HAvIyMhePLa4L7yFnxfzphOqqOfF/+KCcbsOexk+HTUncPAUICHA2d\n4CY6sru7OwWXy8vLWq1W9eTJk8mp5i8y2dnZqcvLy2kOOVdVdcPBE2DRWSbILxaLuri4mDlxO860\nm4DJcRIMdcHZjn4kyw6w+3v2M7rXOtMB7XXJgdthIMnYrF/2AbmH13ftkZeRbbjfbrwOGBw/bYO2\nHD0xeOn8AudvnRy7oEq+o4f5znYffb3NzzkB7K7tEjrL1GP1eLtA7GvYlsdLfiyvUSAe6cg6n8ix\njsYUPm2LTr75mvnq7K6Tka/xtaPPncz7euu9++Q1trNRDHyW9FzBy8svv1wnJyf1sY99rI6Pj+u9\n731v/cAP/MDwYVI0uM6Qkk1X1RSUEpiI+NNWB0BIVH46iJFC+D4DCH5vg2SWFJ67TIQZlPvKfQye\nds527Hw/MiTyNuqTMqZM7HS7PjqDoZwWi3kGb0AWXWDFJNcEzAQgBOCw8rJcLuvi4mIGCMgbATH7\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n4ao6Hdh73vOeeuyxx+qv//qv69atW/We97yn/uRP/qTe8Y53VFXVP/3TP9Wf/umf1pNPPlmveMUr\n6jOf+Uy9+93vro997GM9EOTihaXzkOx0Ou229hK12vhX9Vf5YwjMGM8vIhgIEA4Hp5Donr4hLIna\nc7oEQ2Dj611K7FjwaZQYRyNiG2A7KH5zPw1Y7AgYX9VsYXJmXxL0pfHyeQop4HnKpUtrbYWnHGz8\n6Sdt+RA0QI0X9XktjA2wHYxpx3+568XgtJWKNl+T7ny2MlOHd4w4I5QGgwJvyMh4Nwh8t0EzqDNo\naTlht5V8sqM3wMo1BRkdJ2iyLFleAQAtR+UFlFxrQJj9BtilTLXWayTIyayB19a4eFzwJYEi9yeY\ndXqePqVtMABwew7K8pq835/9asmV7zV/aRv6wSdoZdvG+AyEMwBhHHbAKY/JG4+jtRalBVbzd9Mx\nAY7lN7NKBtxZR+p/ttcChwk60HvT1r7LO1a51g/bddbV4NR6lruyPJbWfeYt11heku9V1bPN1gNv\nIriT5QWBl1/6pV/qPm9sbNTP//zP19vf/vba3d2tzc3N+tKXvlRf//rX64Mf/GD3OPO3ve1t9d73\nvrfe/va319LSUn3605+u173udfXKV76yqqre+MY31mc/+9n63Oc+V295y1ua7bYMgQU6jUtGjr43\n10AYoFA3bZpJBg6tlHc6ZYyT029uk/9b24xzxbvHjcCxABaDnQ4Sh+6xI7wZuVrBWEvje71+Ip0a\n73Y6VtCq2XQH91uZE0w508Hv5o0fBuh1IozdO3EWFha63RPmqfts5z0vEvc9KYcGfa1oMh2vr2WM\nHGtuGaG/8MzPVXHmKI0+BivPu+F/t8v/KSMeg/nu7BfGNcH3wsLCGf6lniRgSll0n1dWVmo4HDbr\n8Hdkx2c9uWSgwhgTuFl27dSwEwYm9Jext6bj3F+AF+DYU66mQwKmzOzNk8+83nRuBS7p+BkrMkt2\nmN1uDsxa/HNb2YaBi51a9inlrxUEQp/ceZT3tQCb+8I4LE8t0JNjSz6krJlX+Tnf+ewx2neZl7Tl\n8WVgwhjgpe1h2lMvN2jJF3W5zvzs8cM/9+tulP+nNS9f+MIX6tq1a7W5uVlVVU899VTdf//9tbW1\n1V3z8pe/vPb39+vrX/96Pfzww/W1r32tXv/61/fqefzxx+vf//3fb9uWlaWVNqa0hCSRc/5v5cPA\nuG4rQRrflvPCMeQ6BNAo/x0eHnYZnczOeDx2/JTFxcVumgyHzkF+zn605uGNlHFQjM3ZqhZIq5o5\nAtpB+NNAomRMwxi8JL+gkw2LgWUCVssF02PT6bQ7uj4VEgDj6SKDXPfh5KR/SnIaFdPO47Fxc58N\nLC1L9Pno6KhGo1HzZOaq6m03ps+O3p3pa0WkLplxaLXXuh95d2bQ4BramBceL/Vbd1qO2IX2W2sg\nDIITgLTWKDnIMVhoyXjSMNc9OSgxXxzZuq8tAOyI3rbCJUFB69rW+F1vTj1kgJP1IKvIHCebmxbz\nwEDW7aybwUvKq9t3JsHHUXhcOR6+ZwCZdMz70pm3dMY2pxUgzqOjHXgLEKTspxz6cwK5DG4MKt2m\nwYnl13Ls31OOsy0DTM9OJPBLG3eny/8YvHzxi1+sj3/84/Xbv/3b3W+j0agDMhSAzN7eXvfeuubZ\nZ5+d29YXvvCFjrkvfelL65FHHumI4zUUZjbvpOFajsWKClNs5OY5ThvteQfh2cAlCrWiZ2SbhjMV\nhGvSoA0Gs6PKLVSsnzD4SSfh6YrM1mRWAppXzRZTelEoRg+aoDh5mrAzUpSWEXRJENk6fn4wGPTA\nCzxjATRrieiLIxpotLg4e/YQWagWYE0D43GYdymfHs9kMqnRaFT7+/u1tLTU7TxqTZekYbTxMXDx\nlGRupc/I0TLSorvpx7UJ+iy/ZBYMXi1LBsUZwXENv1sXkBPa53dnNdwX6m05N/cjz0+xcc6Mo6d5\n0sZkIGMZbwEv05e6WgCm5ZBb9SVANE+gQzo586flgLiPc7DoY9oyIvx81IbbdabEOm5wSfsGMK0p\nePph/thGJSCiuG5oPZlM5j43r8UD06Wl58mP5F/KfMq/r3N2Ne2/bRXfDeZSFuzv6L/Xkib4TcCV\nOpZ6gs3f3d2tnZ2dM0HqnSz/I/Dyr//6r/Xkk0/Wb/7mb9YP/dAPdb+vr6/X7u5u79pbt25V1ek0\nE++ta9bX1+e29+pXv7rW1tZ6YAHDn1EYBK06u2iS31wwPnzOdK2NOkbcu0cwgFXz19RQtwXMW1u9\nfsBI1/emI3T2hN/oF/eno83t4vQTo+KxMLZ07tQznU67qCwRvGmX5+bwX2Y8rOx2Do66k0epnIwh\nlRGHikN3yhiDZbBjIGig2jL4GY1l5AR/vb7JRsYGf3FxsdbW1mpzc7PW1ta6rfAZWVOHz+NoTVnY\n4GW0nrQz6DFAJpsCPTifyDymjw4kUmbNc4N9/m8BGYp3ZDEWxuN2/CC+lgNK3pm/uZ4Ch8z1Od3s\nyNOOE5qm7KR8u1/OZrjfCarydwMYXm7TINHrG9z/rBua+re8z7Lk9YjQzIAxswPORtte0I8WMOKz\nx+EzaFrgC/1O0E42wtljZD2nd6v6QNV23ePzf8kb+p1Bjm2H5Z8xWtbm2XQHb9RtGrsf5n8CSY/V\ngYltWQYSaTN4DYfD2tjY6HzE7ZIS/1vlBYOXv//7v68PfehD9Vu/9Vv1gz/4g73/Hn300XrmmWfq\n1q1bXcbly1/+cg2Hw3rggQe6a77yla/Ua17zmu6+r3zlK/WqV71qbpvD4bDW1tZOO6pMRxqwlsEy\neGkpaUuwEnXyH4bcaDeNUxqqqrNGmvos2Chapvo8NjsUgBx9QhAz0jJo8+4jK4ydEHPd86ID2qXu\n3I2TBjsdBp95GXDZ4Dgi82+tSMFKZeOAAiEHOGbvGksDkdkBDKiNUSuDkGDITjEd53Q620mEEWZ7\ndtXpLirOFGqBJ3gL8AFAWibdP8ueo7WM2JA9G2LG4kXc1i1AmceJ4zRITKOe+tCSNYy71wMhM57q\npF0Whlu2/bK8ZNo7p1INDu28zQsb9Iy252UQE+DnmLkmZTJ1kHtdh+2RbZ77YNrYyUGX7KPvyawJ\nMuMHJhq8+Hp/T9tH2wmmfF3Ki+1jZldyHLYbma3kfwektlfQ0vW0skct25alJZfcl3JlG9zyT5YD\ng2FnJU9OZudteczouWcZqC/tdysj5TWE/p73tGhwJ8oLAi+f+tSnup1CLLh1eeKJJ+qhhx6qP/7j\nP65f/dVfrZ2dnfroRz9aP/VTP9U5zje84Q31B3/wB/UjP/Ij9X3f9331N3/zN/X000/XT/7kT85t\nl1MTq2aRuBmUzK06G+3x3Wg158ZbwuG6nSFx1sdCWDUTIIxsKhfvGEYj20TILUPizJMBiiM1jC/9\nd1bFjtiKZCWwsju7kLRBAaCHARS0scP3/xbuecbe323MWg7djtOGDpDA2iIAjOnQAjlpRE0X1+2x\nGBzYgWQUs76+XicnJ93JyhzEyA4q+OUpTxu+dLDO5KXcQl/LNwDU9RgAtdaNtIym9Sppl32eBybo\nX8tBu29Vs+xiZsqm02mPp/6P+9JRUnfSjfpa4AWeOuVOnVl/yiv6xHUec4KrlP28zgDGY7U9aunI\n7Zyqx5OyY3BrGwWA5jTpVvYrgUKr/dYrnbjtRstWtOpsAQ73z3aD6w3+c4o0M1hpn03n5L//T966\nfcacQWSLX5Zx22nTy/Jnm56BYupmBkDU5fapx3bKtv5ulBcEXv7oj/6olpaW6t3vfndVzQbyvve9\nr175ylfWYDCoJ598sj7wgQ/Um970plpZWanXvva19fa3v72r49WvfnVdv3693vve99bNmzfroYce\nqve9731zt0m7JHr2nOftEL2FySUdZssQ2UjkOoRW326npHk9ysl7RgUtp2FniSFHyawkKfit7BM0\nyTl7aJzGK5XQ6W7X5/o9Xv/fcrD+z4I/z9Dwgm4tcJVromzI3J7BZ7adv1W1o2Y7CxSY9g0iqYt+\n7+/v12Aw6DlSpii9ZsWZFdPO6wxaxsYg2Dys6p8TZBq6/wQPzrzQP/fJfDZA8ti9zsR8b8kHdWam\nKB1sypzBc0sPTc9cZ5K0hTYpBy0wYKPudnJdUgvE5fjnlcy4ZL8ThM0DO/zGe44rxwD9c5oyn4OU\n00otm2h9M4+9JCBlHj1nrPMcrn/LPiR4ceF3y72PrnA99LvlnOG3aVk1WwPpOpLG5omnklsAplVP\na1wGKdznjFIrQE46ZubP7WOrEiDRn7tRXhB4+cd//Mfves3Vq1frd37nd257zRvf+MZ64xvf+MJ6\nVv097U5V5bkYZoxRYxI+wY6NUCu1DaO9/iIjbreR4MPtcq8FJ1eDc20u/Ks6u9OqqrpdRlaqjLoM\nXmjHztzRTip5K63s04zpq6MVOyqvifDOKk+/tZQxZYA+m7dpSFpACgXOww4TwFBHOj0bdq+pSQOc\nEZqjtoyIvf00H4DnZ7P4QMHJZLbg2Nk3Z5Wy3/S9RT+DZQOX5J0/U8xj7rO8MN6UEcZnOU7jawBE\nRIeTTKeRUSDtcL/57fZawOR2xrpV3Ib1jeJ2GZtPSbY8uD6XBGbuY/bZtivrbb0bZKTeO9uS43EW\nJh+WmA45f0vbRZ9tJ8wfj92ylDTwddTrAp8dMCbYs73I4wDov7PJ3mVp3mUgTb8SpKcdGgwGPfuY\nmacEZKZz8tfXmqYLCwudHUket/iUYLiqv9YGWlpnLOt3o5zrxwN4fg7DhcFPZJkGqGWEbKzTuPnl\n32wM7LzmGaw0Ov6MsuI8vJXYTpG+Zn8o8yKpbKsVKdBGIm8DRSuXD8vzab7QwOeQeBstkXuCMacW\nnXmChnaENgI4TDv1liOwcUrnYqNA3Rgog7a83kAQI2BQkK+UR4ySTwY+PDzsdhtZng1iDLCJ4NL5\nJ+BL48j9uRbCMuQo2P31iZ+Z/YIObqtl8Knf4/M18MIgfDAYdIuWx+Nxx0sfIghNMmq2PGdBpgxY\nrdOuC5m2/gHYaN8R8jxn4iBlHuCx7Lb4afqlvUh7Ny8DRztJ73mgJWWrBU5axQAkbWEL7Nu22t74\naAnrmoPH1LWke9oxr3mz/zAfPM1uuaHdFpBOOprm6QN8rZ28d/59t/G53ZafszzPA3i2cy2Q2wKJ\npouzLtbnk5OT7nl2d7qce/DiLb8tp9ticlU/Wsjv8zIk1GHnaGXMaSP/Z2NAPRnRY2A5QG06nXZG\nOo2SDZnrtQN2JMF/2Tc++3eKr/ecrmlg2jsNzlh8wm6uOfHC2XzZiGIwebezpmTWxWDQyp00cN0+\n6M3rKTAkRGnQn+syA8M9Hpv7maCFF4euTSaTbkoGA51GOrMp/Ob5eBuQBHCpKxmdQ0s7ZOrNDBDZ\nGoxtZs2gVSsrQNsth8W11GnZYOFybsG1DBtU0nd+bxnkNNgp3zb01Jcgw2NMEDjPDsGHedPOrZIg\nnHo81Wub4X66L5YdXpb7BKS2Jy/EgbZ+nxfItcBd9jVtZtUsiM1sye0csPtgHjh4sZ3JbAl9Sf22\n3UoaZVvzeNHyQbneLunjl/Ukr7PMUrcDtQRXWeb50+Qz9LMPoL0Ef3eqnGvwYufcUs7W92Qa9VT1\nI/t07um000BTn+ft7Xxz+sfFSkZfncHwGOz8Es27b4n+ub9FrwQs0+n0jFNw/+0ErLxO504mky69\nStsU6s7TRz0WwEKeBElddtCmkXnYijyT7hRvF3fEk2sfbNSm02lvIaKBiCNprwfJ61pZjOPj4zPg\nwNFw9t8OJus0v9O4ZCSfBpDAwI4go3z66GmPdEy0YyBKX+1oWwaXYrlfXJxtzXa2xobfOpHAOR2p\nnYvp4Ag0r7F8mT7OItpGJI3zewJGy3Re6z7ThneD+Xyq1HPrRII888vThmlfcnGq+2YHSN3exJDB\nA/cmwPD0kXV4ni63aGv+pq74Hst06leLFgQzXusIvW2z3E4Gn+Zd9tcv64v7nOO1frZAagYnyELK\nN7atxa+sp9Wv9DGWbUra1DtVzj14gQkJJKpm4MSESyDCbwYDdoBuy/c72jZapyAEjkj5PQ0hv1Nw\nck67U1rpTNdlYWkZ42w3p0X4nywD42oJedIw56LTmfE/W1eZJvEUGYUj3clC5c4ZjAEZCvcrMxTz\nIpbsM9eyw8eyYoOaIBajBd0ADVkSVLSeAQRg4HEMXEN/st3kuzNe7kcaHUdXLXmkrx6f5SMBfgId\nsgCem6eeVn9cr7eHmwcJUvlvYWGheySEd1nRhxYYsHO0vidwSzvQCgh4NyDzf0nj1FvuY0eZHVAL\nxGWdGaWbLq2gpuWoDSBzoXbaOmcc08ZmNo3+2VZTl8efGUnbD7577UuCjgS+BpQu/M71uUgcu+n+\nGZDwOafAGT+2jEx8a3z+LeXAAat5Zz606Ja22WNvBXdZf4tG/py2w6DQNLZdSj+VfuhOl3MNXlJw\nU4hbhjsNB87LkZmjDe7Pud7MvFj4vA7ET7SGaQm00nmkUnKNU3A5hkTTdrSmiadJqHMwGJzZypiI\n3f20IDvC5D8rbTo004dXLhCFd0dHR91WS473T/ocHx93i1ydPfGiUfc9wZ+NRcoOhmg6nZ6JZj1W\n7m0ZmJQX7uG0XINDp6jNN+7HAdh5QGdOCvbuH9bFIA/WgTQyfHf0b/BiAOr+2CmtrKz0ptvSUHE9\n/c0Fxs5qQU/qx0EAKkajUXctGT7LJZk9xp5OM/nmAMTZgzyjJI2/5Yf+GxS2Pls+rNs+b8lgIwGU\ndTB1i3qtR9avDG5asozDbsmu/7M8W95YPE4QYJ03vTMoso3zWVUG/bZ9BjUtkGqatRwt7SFDprtp\niZ2hz4AT99n+wwt2kTUDxwRuea2nr60zGVgjGy1QnwAjaWIg2pLLzLrBu8wE2bfZjtEO9aS9vxvl\nXIOXFNoECQkw5iFE39cCJFW3BxhOf9uJ4WTct1SeRLW8e0dHKqENcabkLNCtFF86Wa7LdSW+PoEK\n/3nah/9xNFYS3lNJ+G7Q4kwQysUi7HlRuw1N9jlLS6m5x5F6rhcwnVDAlCnLDfW2Xo7YbIxw5jYQ\nrSwL2R2ndzF6KQ8uaYBaffQ4LWcJ3lOOB4NB98gE+GZQyDiTh5khSCDBuAFlgB6e/9WS7wTetglc\nZ50FpLgeOyE7M9MDebF+mnb+Lx2IXxl0+Zos82ySHRtAwUDXeop801/3PdtuybPbzim5dNKAmVxw\nat5a9rwFH0BsHlpWHNi1dL6lh7bfthfwy0CeexmT9Y0x8O72XW/y0fxr3eOSGTADGY+rJTuWT4rH\nj3znWM1H07A1DtO3BVZ8revzE+/vZDnX4MWRQVU7pdvKyrSiGNK2ZiZCaWV3vXYWCU4y1ddSrnSQ\nFiIcQdVsey3/WcjSUd3OaaeBo1+OuBwZWFHdRxa3torpTd9z7BgyZxrcTztkDIodkI0HioLjdzbD\ndZo2loUWOEhgBP0BbAlyfb37zPWOHg2cHJGlo6E449IygrTBWhnTyuNKB2we4Vy8VXkwmD20sgUo\n/AJMGZTZgC0uLna7MOx4kkcGrPDURjFPO11aWqrhcFgnJ6en7XI/YLequmxAyqf56TrtTA4PD7vx\nteTY9SHr1nmf+DuPfwZRub6kFQC0HHQrMLPs+OX6Enjl9LZtQf5uIG6nb75bJ1dWVs4EDqmXVaen\nSLOOyuDF9G6NuZXVaPU7aWl+OXDK+9FV89rXOTtFXzIj4/utf3y33RsMZtlIT1dZTry+Lf3aPJ23\nbLUAZJYEiFlf0jjrSfDzPfDyfwspXS+Yul1EnI7CSNrOkqmCqtne/ow67CjNVDOrZZwT/Rs8YFy8\nQweHZsdJitMZnTQGjsD4Dl0stIeHh126GmOWSJy++rvHwH30y/P+rWwL9LKymcZWakfxzkgQObhf\nBpWUBBkJiEwXrvfYW5FnzpO7HaYwML5edMu4fA5R8iijZIPOLB635T37ngaLa6Dd8vJy97BJeGdj\nOY/3GW3BJx/gZb2CJgYilq0MHNLR5RiOjo66hwOORqPuP84aMpC27iePLcNeb+Y6Uvc9DuuXaWLe\nGbQlzwz0oYFtU4uflt2UTzumBOUtIOff0za1QILlx/KBjmbw40X7Dk4ysBsMToM2P/TUTyO3/Uxa\nG3RznYFqZm3MG94T+Oc4Evgkfav6By62Dtcz3VJvoRUyBS0tk7Rv3+HpNMtP6pHldF7Alrpm/sB7\n1+dxtPxRBl/4s7tRzj142d/f7zlLCGZAkwyqmqXkHCl6rp3rHRlVnT3J0u3asPCfGZ4vM991WZC8\nrsAKikGwcUHpHEH4dyu/hd1bDR0dZGTAb+kovTDUWRwbEn6jDhsjlDCVxIphEMd3z6UOh8PO6Nkx\nZlYsnYevhR44WhbNpqJmtJ1G2UazdSInsmuemCamE31gbJaLNGw2FBQbDf/naQOelM1WbX5negag\naLlkPZKBgQ/wMg28Y8oRrGUGHvmQLAOOXFcBwLIM2yibF6ZDS18Zrx0cfSUjS//sCKtm2z5Jwdsw\nG3y1gK/1KAFHlgRQ/t31Jcj0lLrHhXwn4KEgH87OuN3sUysjxzXWbeuJaQRNh47KyjAAACAASURB\nVMNhz+nbnrSCwQRd7mfaUz6bFvCslQUxTZERy61BWPoM67zlLGUu++ySMkrhPk/Zua6UrbwXvUpQ\nZTpmu6lL2ef8nPXYBn1vzUud7loxwMhiImYxGrRzTwfSKmYe17fWY+SUjhmKAPm/FApH4jgQZ2pc\nMrJMJftubfg308/jTKUzKKAunEoaZhsE94UpKCIsK0kaR6+jIMLmf4xea/dAjiUVLQEX9zKN6KyQ\nQdk8o57RTjoVrqFNxu36cOSrq6u1vr7epdMNXiiefmulgWkLgGMQhiMj82K5gS/QgPoBLcik1yis\nrq720tkZPdtYmkcGpNTrKM51Zuq6ZdwBCu63nZajwgxEzFtnJe2I3cbJyUkvW9syzgZguRYm9TLB\n8neT4bzXMtRqB554l57lxHVllOz6sl7omQDcQZWzWa7DGQtnKbO9lsOk7XkOu0Vf08gAwDY5ae57\nXHeCAPMu5dNtmj/QyrxoyWzKetLH7aSfaumJQeE8WTHdnDFLOXSd+bvrvJ1v/d8s5xq8eA7Q6LhV\nMg3tCM0LohYXF+vg4KCXwUC5+NwSIAuAwZSzOvTP11rh+exV4BjxyWTSLSrM9SZpCFpgAjrRhwQF\ngAgrSRpA09BjsKFxytv9NN2cJeC6VBIbWWjj68yfwWB24irfGWerD6l8Nii042kEO6aMLr0WxADT\nNLYDrqreaZ70w1Gd08Et8EIWysCKKahcmAnfnWXMs3ccLZq3ZH3gGbssjo+Puyc6M3UzHA67bM1g\nMOiyLenQ07g5+ID+02n/ab6WWRwgvyWIoH5ngjKb0TLm/s0OOOUzpx2zz+hRAkiP1adAO8NkG8P4\naNM0tNPODAb/e+u6dZN6cyrzhTqVdKqpF7Zfdp4OABJ4mc6tPtHvzEjxX+5eNH2Q5/zP+paAY15Q\nYt5QRzp81+Pf/V9m72xLsSHw2wFs0jTllPFkYOU+p0zk57w/723V3Xpv8dnycTfKuQYvCUIyevV1\naUTMCIMXG+BE0lZU19Xql//PayxkGC7PZxrMVFXPGNpIuC8Yz0zz2vjTjh0/kTT3U+wkqCuNpyP4\nXJhoh570N3hpGSsrkp2bgWGCRDtZG39fb6OA4U8nCriEb2xBtmFJY+IpoHxWCtkbnNZgMOimOw3e\nDLz4bWVlpYbDYW1ubvaABA+8m05PT2BmnO6b6wXoADagDe82KPDTD35sAW7WldhxHxwc9NpeXV09\nM8eddDefk/cZ5SGv+dvCwsKZBaEGgKlT8MxyS92WW8sEJbNWCZShYy5ctayjowaK3N/KqqZDNa38\nvRXAtYI1+tDKcCRfqM9OC1rN+5520zrWAi7uu+2ywWT2Me05fcgAxp9bv5ne84BLCwCkf8gsSctB\nmya5rCGBWtXMThI0uH3G636YT7b9Lf60im0t3y3vKXumg/mWwWECl++BlzoLUKwENh6tAjOSkKl4\nzgjYCFAs/Bk5+T4+tzIZjpa5307XfSAKtKA6+nck2AIvnobiHpTj6OioeZZMi77OaqQxoU3zwELt\n8ZOWb9GgRT/T0PQxPfxfOkHzEHqlMns8OSXJGRa5RgpQQrvQM6NyZI6t37RvnuPEJpNJra6udnwB\nqPiBjfDbGRbzx/2lHcse/T44OOhNJWBgATGM1+fLGBBNJrNdPmSEOMwrI2rLmOXX/SJTZAPNdwCY\nsy2M39kYgwOPITOQLSdqfc1imXYxMEGmJ5NJB+qqqpfxSJ2x8zBt8hrTqgUM3O8EY/6/BSY8Ptdh\noGf+p11MB2aeZqailcVJHiBjaVMtT+lAW4DML48tx06bLTrkeHxvjjnBTYIA227vqjOv3Q/Tzm20\nxtCSK+73Gr2W/JhGOV2eILLVdspa9nsecLoT5VyDl3lRkY10VXs+0J/NIM9/tpB6ouQ0BHmd289r\nqvqKwnUGTTn14TowKGmADE7cVzsx6sI4sN2VNnMVO8bH7Ru42WkYGM6jRyoytEiaOUpNvlhJWobQ\nRsJ0cTuZdm3JjxXRQMmGwDz0eKrOZoM8LegxJchl2sM7mAAFdhYeu3m3srLSZUhaAME0XFlZ6bIR\nXkDrtQgZfVVVl6V0Fubw8LDrp7dhUwfXzVu7lfJiPnh6pTVlkjLRknOvp8G4tgy/Fxe7bvqBo0xg\nwGem13i45nTa342WgKMl361i+rf+S9tFsczb0Sa9WzqbgDUjaGyLM48U7skMa2YrLMO+19dVzRxi\nK7i07idvuJd6PfaW3nN92gbu93haQbB5Mo8fCfjcDvVbTwy8XT+/teyZZcy8NJ8sN9b51KWU9Rzv\nPN/bou2dLucavFS1U3qtz62o3iWVNw1IKm9L4C00vm4eeMm0Ne3YOCJE1O+V7NznrIVT9DbMKFg6\n0ul0NhXitDav7JOjRqNqDL2NvdcyzKMF9WfEZuOQipqRSyut7Xs8xTYvWm0ZQvM3ARtgMPuf8++m\nHzS2vNE3r1Ew7W1UDHISiCXgAbhk1sMAy/QgE5SPLDDPM6uROmKnBh+5nx1NVafTXny3gTb/W46o\nBf6hr0uOkfqcMfM1ScfWOinaTMA6D2xNp7MdWaPRqMsW5VbgBEjpEPLlMSb90xamzUJeDf4SUPB7\n2khkLkFKi7a2MdxHVtJ9TltEltBOMwOQBDcej+nSAnDQIjMzLSBn+lh3KLatmcFtgd2W3LZAHPd4\nzZ37mLY1+zWv3bR5yLF/Z6zYDG8QSBDZ0lN/b2UJvwdeVEzEqrNp1FTqJHLV2VMOuT7vSUPXqtMl\nF1PZAdFG1dnMgqNSC1jLcDmy4FrS+oPB4MwuD9/bcggAI5yfAZL/x7hnBoNx2wE4pU9fUjnn8ScB\nTBo/Hx5mEOUxpcLRv5bRNl/mOQxnXlJOaD+3FbtOxpTO03zzbi3LjcGD5dDZFn7n/B4DUvjisSGn\n+biBbCfbT1n3vLwNHXX5PztswNI8I2jZsyyYf8ge1yB7dqRe+G4AYmNeNVtgb6NLm0lz2qQftGWa\n8mgLvlv+0U8DdtM2nRrtuD/+LeW3lS0xbZOObtf1OFuYU4dc76xWOirWaLl/8zKGnmY0nZMezprZ\nFqYtxgZYHrNt66T9SdrK1hSz+d0COeaF+5O/8z3p7n75Wts535/15DhMr6STbYWDHsY4T/+tF1X9\nLHxe28r63alyrsFLVXtKqIU2fS3M4LON17xIyoZ83hHnVTNjZmfkKNqClUied4yBna2vM0LPMTul\nypqA1jksdsKspfCTjHPxr8fnxWYGLWlQnaLN1C91eleJDXUCLPPbbTvKbwEz7sk+pNzgVFvGLWWI\n/6zoPsnVRpWxzQMjBsI4BwNaA8Zcf2M65ovrfW9LZpJuLYOTdZsXBlzmmw0e8oFzc3oaAAudDSxc\nX/b3dtkugwJn6PyQT2TZYJG+eN1PGlrz2LpdVd2JvLTBIZrOOjozlUCoNX6X1u/WedMnQaDpab4Z\nOFnXzcekpevls9/pAyUzfy6+1zoNL8x327bUo5Zc00frfQKdpFvW1RpPjsE2p1XsU0zfvD9fXlRt\n+ckAgzZSZrONDHYNvDPrbn13oJZjTRrO40Hy4W6Ucw1e0rhVtbMSVf1FpOlQjBoxZEbqVbPFgXbS\n3GeDk0ylHc/5txSWtvxwQSswxcaS+gFUuRiR9CvX8BtAhe+OjKjDD5R0NsiRbaaKoT/0wHna4Lsu\nnH5OM6SxcYRC+j0NnBXEytcCKZ6fTsM1L02bhsP988JWO0E7K0/zmC820PTbNOIEWa6F16PRqKqq\nOx7f8sCLKQoyADZCpOj5Ds8PDg56wAKeeMzpwAaDQY1Go25aaDqd9rJAjAXetZyUHSM6ZtobvC0v\nL9f6+nqtr693oJEdWejIZDLpsh67u7u1t7dX169fr8PDw9rf3+/qTFtBPz2NldGv+5Z1ML7j4+Ma\nj8e1v79/5kF9CWQs/wbLln2DKDtxAxCKwZGzItl3ZJE6s9jG0Rfb2xaQgT+2yQZwltMco9t0wJdr\nG6uqd2gj78522x65f9ZD63hmerzmw9O46AnrzvjuabTMFtl+O5Mxz+HzPXlgYGL7lsDGfDbfLC+M\nK6fuctyWBdus5HnKiscDrY+Pj+vg4KD29/fPyNqdKOcavJCO9VRGGkQMai4wq+ojXkdCBhBVs8jB\nAuW2nLWB8bkeopXJMLBKwWOraVV1z21xP9nezDhRJp+vwcPrLPzD4bAbO0oJgGCqIQWROpyZMEBg\nqgSl3d/f7xkwhDsXquJAyf7QrqdNbGQwTI7iGMN0OptGgkdO5wKUptPZ1uaDg4Maj8edHEEfAwBH\nKowln2IMIAQIMiYbNRtoGy5AJDKAo6EdAAyAE56zEHRp6fT5Puvr67W5uVlLS0vdqdOeNjw4OOjp\nC8XrqaD14uJiDYfDmk6nvfNc/DRdG/7cTp5ZOoNYOzS3R1+h7fr6erdV/NKlS3Xp0qXuMLytra16\n7LHHamtrq5aWlurw8LCGw2GPdozn6OiodnZ26tvf/nb9x3/8R/3Xf/1X/ed//meNRqMuO0K/vd7H\nvHSUz7godiCMFRB469atunHjRrfGhz4azBo8DgaD3i4yHHQrc2CH7v+sN8ge/DFIatlB65mnV1vR\ndYJY2zT4zW/IMf1BP6AjTjRp7c+2RQDzPCHY/eK77YNtaNISuSML3RqjZcqADLo5kHJQZHuUmcsE\nJ9zjoMs6ZBuXNjLH7D4k2HBQ6fadjUEOrP8GXuYLbThARs/H43HPZ7Zk8E6Ucw1eLIC87CwseLmQ\njN8hcmYufLZKIs3WvHnVLJ0NeOH6/f39zjmhyI4iq6rXhkEMQsl32vf4EcaqqrW1te4aCw3GkLHS\nV8/HW4jdFgLneWufL+Lr/RvnmbDrgkV7CwsLvUxAbulNB5nCbvo5tUn7Nhh2yu4nRnR/f7/29va6\nvg2Hw45WdqiOFu2soIdlylN+3Gc5MUgxTQBWtFd1mlnZ2NjojCtbmquqO+vFPPFZMgDYg4ODDrQ6\ni2PAwXXwhn5BV8CfD8LLKDkdqKM4gCHTN7u7u137PtNmZWWl1tfXa3t7uy5dulT33ntvXbt2rS5d\nutS77uLFi71gw+fpmGeHh4fd4mB4MR6P69lnn+0BTUfw6Orh4WHvPBvz2k4QeXc2AHlnmzT0BjDb\nWRh0+WGYzl5lhFxVPUfrYrtI4buzX3a81rN07FmHAxpsne2E9dOOzdmLtN2ZNbY9mQdk3K8MRCle\nU2V5p26CRPSLE6IBKc5i2TYZHND/Fh8SINg2ZcYiAQa0NE29WcPZtaRH8s50pH3bNMYEXxO4GDQ5\naG0BTWd4kH3oQCb5bpRzDV7MEJ8b0TruPoFAVZ35bENhZaAuz9ETOWa6MO9lASDOhOyIDb0FF4Fh\nTHZ+jmSr+jtyVldXO0OOQU407nYwOvQbJa/qgxvTzIsyJ5PZAWz00QbcKVWE/+DgoFPA8XjctUtb\nTG84zW7Dl0bKCkpdjqqc6aA+KyNt8Vtm7aAbn4kMU+nNK6JoZAZe2hHyGTBIO2QR1tbWOoOFYSX7\ncnJyUsPhsIbDYY3H404ObFiYVnGUT1sAFNq0IwFM7e3tVVX/icyAn9XV1drb26vd3d2eDiwsLHRT\nTpNJ/5EP7CCxDOKw+X04HNb29nZduXKlLl++XFevXq2rV6/W9vZ2Xbx4sZPv1dXVLiPpqNlRPHoB\nAAD0LC4udrRdWlqqmzdvdvRfXl7uHjFRVTUej3sg1MYbGeM3bM/q6mo3btbXULjesmdnS58tO9DX\nzgMdh6/OcGQGwk4CnnvKt+X8MsPhwMAg298JGk37BC2M0/enXTIdnFXwtaanTxz3mg2XzFAZKHJv\nTunb7rWAkjMkvGdQbB44c+asq+u2nc0pJfQD+fL0rLem2763AngHLg72csqMPqDbvCxHno0wKDLP\nLFvwxXbhTpdzD14MWDJ7YSFLJqXgOXrE4fg3C2ciXy9WNDjwllUcZNYH4/nNUQxZFAtMIv506vSH\naaWkA0araubUARDekWEgwL12go46T05OemszbChxbOnsfdKrnSAgz8qSUZiNYBpo+pnRKn3GGXgX\nSGZFHFWnvJgf8BIjSFutBZ/01XJicAHogL5kUQ4ODrq1K4DDtbW12tzcrNFo1OuLMxDm9dHRUa2v\nr/eMqPtg/sBjHCmgiuceIRcHBwe9aQDziPqdZrZOMUYefbC1tVXb29t19erVuv/+++uee+6pS5cu\n1fb2djd9ZCOPLrGeB9Bn3c8gYmVlpba3tzsaTyaTeu6557oxe+rAhn11dbUHNsnmGGAnXZ1F9LSc\nMxOte+0kcLJcg244MvbxBt4BiL5mpG+ZdfvOCqTzN5iyfaUf/EaQRkn5t67wf+oS7bl/maWx3JrX\nGdhBC2SOdpDDDIRse82XVmYC0G9gYrk3QHMGg+tss6GFAaozm9D04OCgNjY2OhDvOmwjEyil7zJI\nSZ/IeMi8tjLIpsO8QNJ62KKvQf2dLOcavDhqwUibWRmFGTDwnvOuOGTQPO3Yefk3K58VDSRv5hk0\nGDg4MsDh2JBldJJC5HYwsgYHXOfII8fL+ExDgxcbXyNzjBc0Ye0K/fN6h8PDw85JMG3k6MGGw0pI\n3QkwHalgwA1q3HfPe0MDjLaj19a5KL4GfjjqSNloFfhAH3DgTC1QLwqOoTo4OOgirqpZ5LK2ttY9\nBTplO4EzWQVoAo/t2FwHjjLnzckwAKbot6dVvO4DAOTMF3LHGO6555665557uumha9eu1YULF7pI\ns+p02hVdB6iQoQLQpTOyQ4aXPCMKGdjY2Kiq0yyLp+94X11d7fSQNUYJiizDXm/DGN2HPIaAgkzk\nwx0NBlr88iJcxuv+WR4MTg0one2wHcnAxUGW77Ft8hor7nOWwxmezMBwfcojdRu4OMvg+9yfquqN\nKwMOF4OL1rhbsuV+ug+2HfTB43CmkOvy0EnuI8iyvXL2zdPZ2FjPBCRgdT9ybLRJW+4TtPXavgRP\nniJOG+6Ag9fdKOcavFDs6KvOonqDHCsiREegDA6IwhyZGgQl01pIs5WVMVOrqhc1YJCq+mk+xpAA\nhjEm+PGWVBsvBNMRBkKIwzF97JT9uxG5ldDo3Yta+c+RC8qW0z58zqgreeqIwMYNOiQ/MgrMtDDG\nwBGcldRAMeluOtmxEL2YB2RQbIA9LcGUwnA47IEa+gpdAS8Glcix+ekpMcawt7fX1e1I3X21DNlo\nwqfV1dVuPVPrwZXT6bTLDHEfurC4uNita7l27VpdvXq1rly50gEZaMTUC4ft2VC3gg7zD3rQLv1Y\nWlqq7e3tevGLX9ytIXr++efr5s2bXbaSdTeOYFmrAuh0ZopgwDbIvHbE7expSy4tQ4wh72tNhSAf\nnj40YMhsT2YO7DQNWKv6x8T7Bf3tCBMIu1hPMlPg3/Ne67Zl0QA1g8UEotY5ZMbyb5pnH12fZcIZ\nEvuD1hQ9hSkg2wFnDdPG852Fr7avgHfbIuyq6Ws6t/rUAhheO5q+MmmdMmrbDAgjSHOwdqfLuQYv\nEDQVsKq/DsAo3UDFjMx5We9goo6qvrHg93xKLNchBGZyGnkAjrMGVl4rg8eE4KdznwfSLKyOnIgC\n7ZwsrAhvVXXraTDinvZIg5JpbJye6Y+zdOSM07QzsGK0DEimuuFLghlobTraIaaxM90YUxpuxpZR\n7eHhYe3t7XWOl4XAXn+BAVtYWOimIpCTk5OT3jbbqurVMxwOa21trds14+cdQdPhcFjHx8e1trbW\nkzscseWYKY40oIzHRop6iaAcYVPfwsJCZ7SgLbTf3Nyszc3Nuueee+rKlSt15cqVunTpUmeMAXJ7\ne3t148aN2tvbO7M1dmtrqzY3N3sgYW1trQOhABZnX9Fprr1w4UJdvny5k2nojZx5sSeACbkHvPBY\nBWdBErCROVtbW6v19fVeZG77RB+ddTHdLWvzMgAp+7Zd/u4+mmeta1uAybx2P5Exg+IEBHae89pz\nsEI/kVPbphxj2jHbigRWrXFQMgPDb9w3j5YGElzrheDoD7LlzBnyYpBAptE08I407IhnCVp9MEAB\noHu9DwEXcu4lDlXVC4osNzkFRhsOyAzyWjy/U+XcgxcMVy4qSiSd0bWdLopgA0GxcU8A4YjKCmpF\nASXbEHKNhQlDyH85ZdXK5DiCsAOtmj38LiMu6swolu9+N3CyMVhaWqq9vb1uCzeOirHZCdqosY7D\na2xwyLSB4we8GPkb4BiIJL9t+F1MQ6/9aRkAR3Pcy5icMcLIZBtsld3f3++m0jY2NmowGHSGgwiM\nKRhnX1iUCTDhf8Dh6upqt2gXmo3H41pbW+vqZ1ytDE1GvC6M8fj4uOs7MmZ5caaOrIWBMwbRvF1Y\nWKjNzc26evVqvfjFL6777ruv7rnnng54QLvDw8N67rnn6umnn67r1693i5Sh37Vr13pAmekgskKj\n0ain0/COa+nLxsZGbWxs1HA4rFu3bvWmW+1g0U1kHV0jcnZfAD6OYpkuYs2C5dN9szN0VjbBtR2y\nQWhL7mnD/1vWbRdaspBA3rpmPbfdxMbYft2ujar+ll3f7zbdp6zbMo1d5nfX4b4y/gx+TTfaSH2x\nv6C9zHiY3gYbBi+0gz1nx6GncZLmDv5oozUDkPTDR2IjvKuSOpkysmxYfw0Ck1ctvwttsPu2l3ey\nnGvwYudKMbFgLO8YATsGmJnI2cphIUGgUmC5njqdGaAPGVFgCBEUL8hDkI3M7Tyr+gvuqK+VdeFa\nC7b7wGcrow0q13le1U8QdvrZCw4N7qqqh/QTuadj5DensT0OTwt4esqpZL4b7GUECe9z3P6fzzaW\nHpu3NjsC3N/fr9Fo1DlVom5PJ7CbiKgfx720tNT95mgmwXjVaSQ2Go1qZ2eni/DX1tbO0NWOENp4\nnHaWdpTWG/9vvYD3GWFBHxYSr6+v13333VcPPPBAXb16tS5cuNABpPF4XMfHx7W3t1fj8bj++7//\nu5566ql67rnnanV1tba2tjrA4UwK9ARMT6fT2tnZ6Rb1pp5wuN10Ou22ol+4cKF2dnbOTIVxj6ds\nvG7G6X3Td2VlpcsYAeDIMKZNsOzxmzOodsipA16v4f/tVNKZGWzYgSITlrGUeQNbwDZ1WPds7wzW\nPN7MRBuE+fe8F1obFKcdsgy6/6ZTBmUu2G/T3+8tAGrwnu2jgw4qoZEXxJ+cnHQA22DFgQ1ZRQJB\nH5Fge2cZS3Bm/SEosAxwTc4QWO4cxNGm5TGB7zwQeKfKuQYvKcwmWKLiTF0ZlUNYGyjq9ny5hZ66\nzTwLm8EO0SSC6QildS9RrZ27F+9ZYXAYVg4rmSNu35eKgHFFSXy/28xpIAQ5EbazUVZSI3DvMvJ6\nF0eFaTRRGBtIK5kNvQ2H6UKWy1kB+DLP+FgW6AMAM+eHoVMLcKTjoC2mC2zIqqrbXs51TptDJ+aS\nuWZ9fb0DBQYk/O9InjH4muwnNDR4qZqd7ku0RgbC9MEQA5iuXbtWDz30UN13333dIXOsKUEemcJh\nnv/mzZsd/zH6gAbqJzOCPHEoH+OF70xHeXEh01AXLlzoHqTIImHayG34uYDbcoZDOTg46L7Tj4xI\nobN1P8G37YT1106EfrjOzB61ZC9tmDOX1iOKswGeQktazANL1OUpPPjpaQYDEgeL2XeAh+1b2gFf\nk1P+9gP2EbmexTRw2x57y25CE2y0gQD3OgvM9Z4K516uZRqJQDA3l8zzFSlHtIWMeoy2udCCM4sM\njg223V9ns8wPeHI3yrkGL+yIqDq78MsgxKjbAMfOrGr+sc68YxxSMazQpIpzu2waBNpwSaPF+OxU\nM3Ng5bZjPzmZpbNzwaLHzxyrT8F0BE3WwOtUWlEN3zMKyGjLgk799MGONQ1RRkcoL/dBL18DzQ12\nPF5nJGjTxoV23G+P36DFsmRZdH0YHtqHj6SS4Y8BKUYLA8juIcujnfVoNKqNjY06PDzsjszPaa3k\ndzoZgySAjTM4ubWe3Thp8CxvVadg5/77768HH3ywLl++XIuLi13WCADGgr6Dg4Pa29urmzdv1je/\n+c0aj8e1u7vbbR/nHBhPp+BM/UgAFjYzFq5zRml1dbW2t7d767g8TYeMAJigj+f2006Yf3YA1mEH\nQ5mxcgbEQYijcDuGzHTYubQyEbTvQA3H58g55R9ZBqzaCVNHTr8a0Fh3AbXO6FpPmHKjPWSQOlrB\nlTNJ87IvBnzWWdM1fUXyax5ATJ5xDXrvoIF7TW+PBfuRmz4yuDP4SbCALPI/i4Mt20wrW1fTX7q0\nQIltMLv3CGqQKYLV72Veqr+l0xFNVX/bXApUC8w4ckbArbC5whrGG0A4+iQzsbS01DHQiwETSGQG\nJ48Jdx9QYAs9Qk7kXjXbgsc8/uLiYneEvO+rqt66AQu4M1oWemgF7RkPKfxE6OaZ2/V1GYXlojHz\nCKeKszfvE7AiD7xw/jasfDdAsQH32Bm306jQoJUBYpw46YODg+78Ep/hggGBB/TNZ994bYllkHqR\nQ+RpfX29BzDtQHl3ZOsoFmNuXkPzyWTSmytnusf9M4hdWFiora2tbp3LcDjs1ul4G7KzCOvr63Xx\n4sXa2NjoTqleXl6ujY2NunTpUm1tbXXPOKqqbifQ8fFxdzQ/O4cAhwsLs/VZTOUtLy/XhQsXeoD+\n+vXrPScN7Tztlobb08QOWKbTae/4Aq/7sr2iGHBkBs9OFrlCduFnRuJ2QOk47IATwNIPgysDNsuH\n7Zt1KuumPtb/eNu4A0DGQcbaOpDA2PqbWXcHAAkKqddZJP6n36ZjOuu0IQmoDJCYCk7waJ5nNsN2\nnTHTtsF4Ag77Qv5DThxw2BZAC2eDnfkyv813B5lkZ3jkSt5nIHM3yrkGL46eqvqpLguUkW7VTKgs\nEI44QcNcm84oEb+ZbEdmwbDC5NoCR/Nck4e1VVXPMKWQMn7/ZyCSip2gjvF6cbFphdDjnIieaNuL\nazmfJKeD7MgoNhA+GwTHBq19TkkLSBpA0W8rYR6LnhGQFdrZLOhmGTHtgh/3jQAAIABJREFU0zHA\ny6WlpW6NC7LoQ84MEhg/6Vto6XEg0wZ4OHgcIwZ4f3+/dnd3u/pYGOwTYDmpNmUe0AL4MCB129AR\ncM3zlcxX+MF4Ll++XPfff38PKLh9L2Cuqrpy5Uo35meffbYuX75cGxsb9cADD3SZGxZE4wgT1N26\ndasmk0mtr693GRg/HO7g4KC2tra6g/8uX77c7abDqXk6w2CdcZo2GbkbALfskfUio9zBYNB7fAcy\nZrmhHvTW0zHZj5zSob5WVO8sk22T++/sJcfqw79cV+UgJqconQXyNAgAPnXLmQYAivtie+nMNXV4\nuhr+GhB6jH4ZjLi0aITsI4/YFNuQBF4U08rjNs/N2wSW9mvO0lfNfB46xto6ywfX2Z+lrzCtuN7g\nMtdEmlbz6Pi/Xc41eKmaCYqVraq6KMBCYUfFdVakrIP6jZLJiqSQVPXRs40yQueUZlX1nLABknc8\nVPUfAGkQ5v61DGXu+vGOJ4MT6vZcKs7MjoqolXF62sVRZc69G7jZ6Hg6yjQjw7C3t9fL1Hi6IxG/\n+UQ9BqlpnHLR3DwnY7AI/20wWlEK2TdSsuYj93HWAfXhgAEbyAcH+uG8LEMLCwvdcfdV1XuWFelb\nQAVgCh6zg8kGD33wdBhrgwyoDHZxWFtbW3VycvroAraIwx+erfTiF7+4Ll26VIPBoMu2MC4cIA+Y\nhNdbW1t16dKl+uY3v9n9d++999b29nbHFwCyd1tsbGzUaDTqQBzZFwCWQRrglu3T165d64Gpvb29\n2tvb62VC0klaX21DMggC4GRW0TpmcGDH5eAM/eEepmuxKZZ52yj3yTbAIJ3/bFcy44BuoEu2ZR6P\n7V2CJnQbsO/dL8gd64YGg0GNx+NeVO+x05aniD0m66izWWR6qM9Tieg+9juDFhePPcGHAzvb+hZt\nW47ddhM6ZdBMO54OSnBoQIYvmEwmvUMaq/rP+XP/vF4zg9AcE3JmOkFD686dLOcavKQxNaFgZlV/\nnjfBBv9zfSqhnb2zDxgFr/bmOmdhrBA4BmdMrGwUp9XSyJKud8RFGp9x0y4CaiNkJ9iindOstOk+\n23hh9JyBwVm5fYM9+jwYDLoTVG3oaIt1CygiBsXGBFpBd4NQT2+0Tna0oc9UKU7CSl81A79+JhF9\ndvSWjpl6WXxL5OTDmhz5eD0KNCQCx9ECkhYWFro5a3hCu2SvaBdwcHx83GVLfAw4/Ddv7XDgn50v\n/9MH1piwTRzgdenSpXrJS17SO/wN8ApYA8CRsVpdXe3ORrnvvvu6sXLODE/P5nlN0HZlZaU2Nzfr\n4OCgvvWtb/XO0AEgsi7o5OT0ieY8a6uq6uLFix0wXFtb66afeICnDTAy4cAI/bHcO4NKRAo9HSB4\nG63tlvXOjgi++xgI65KBp+2d63DJ7ay0a3to54nM0qYf6tma0vKZWM5wMG7OQMkX9+BoPRVOG9CT\ndui/HTtjNL+ohz4iY85A274xngxy87PbTv9jm5ef/XJbDioy++L76QO67Kyc/Q2yNxqNetlX7IFB\nrn2N5c5ghpIZYsuQ7cmdLucevFgwnWlwRGNF53+Ko2KDCVJ+dmg41hQiMxWQU3XWSNiopdClg0il\nNCA6OTnpohRnITLlZ0GxMjhChQY2QLcTMmjk3TumryPpxcXFnjLkQmaiK+qlD9TDNAhnZhgkOUpJ\nw+B319vqix0PjjmjTI89lZW6iBLpNw4TeQNswDODOcsbfHOkTrvIXmtuHgOF44Cu+/v7XeYDcMBr\nbW2t97DIpKd1gzEazBtE8g4QoV3Gdu+999bVq1e7I/kZoyNRZAb+wxemDKuqW7viAyAz60ddgGOc\nHcYYUOJ1VWT5qqoDyd49RN88rpaO+LsXudv5Z3ADHQx8oLNtEnQ2eEh75oDDUyRZkJ0MSm4XGdtZ\neqy2jZZ3xmZZgZd2vp7epD4DB2dArdu0ZbtB3QkMoLeBmReyWwa9BTkDXLdputnnGBQBSK0rpmOC\nhbTzlite3s1pe2l7lWc9eZoc2cFvjkaj3lS2A2FkzkAS22++2t9apsyXBFh3upxr8OIIMDMaJpod\nZTq2qv6efr478jFj7GwTUZLmNWBiLh6nZSfkBZ+0h+Dk4WDT6Wy6KkEA1xg5E7UnoPG1afgwdGwL\npSTYQwHSKFthaQMHkVtp7QTdDnUaEGGsPWWUkYrH46gAg5SOGCOXTip5z3jgv2UAGjn9nO/OmPkE\nXEcv8NsGn3pbvCXzY4fGeDzFWFXd+g4Or8MQkXkho8Nhd5ZvZBlAlmspzGsvgq6qLktRdQoWHnjg\ngbp06VKnI6y3sT7Qb/pCZgWA6MzcjRs3ajo93RZOO4AOA7qlpaXu3Jjd3d3uydEcijcYDLrTkBnT\n0tJSd3qvp0QWFhbq1q1bPZ11ep2xY2e8SDgNOXKep6XantB+glxnHbkW2sA3g1zzah6wz0AqpwyQ\n99QJPrdeBg/cj/560SfBGIu3/QRltwFPDWahG/Sx882gBVviYMXZWfc9bZ1tTgY4CWxccvqGfrWA\noO1fZlFsw7zUIemNrNrnOMhFdrz4lvOonIG1LqPb0AR5duaQAi0tewa22cadLOcavKRyJchwatHE\n5pRLr/72vKEZjQBbYC18FGdsjo9nR4KTwmbdAZkZmIxDt4BgWC0cGDpPg7iPBj4AI0ftdi529M44\n7O3tdfRJxGzlT5pnutaZBOqgT9ASUOftzQaEPD15PB73jJgjUitConrv5CKig+6j0ahblImiM13h\nFHYCV4/Fsmejllk0ZzXMZzsnG12mQDCqgCucN2tVXAfXwzcAycLC6RQXThvwh3O2cWOKhykmT5+y\nnZn2LXe07YXeg8GgNjY2ajqddg9ffNnLXlZra2vdOMgEOdNyeHjYTbkh6/AHujkLBN2Ojo7OOLTl\n5dNnv1y+fLlGo1GNRqM6Ojqq3d3duvfee7upob29vfrOd75TX/3qV7v+PPjgg/Xwww9XVXVTWI7G\nAXs+GbkFaB0E2Lmh9wQk6MtwOOxkxtkB2yOn7dNJWE6dIbDztHO1MzHITpsITdFLO0H00WvXcLKu\n35lt89G8hM7oPg4YW7i4uFhra2udbXEW1P03wKcPnjJyptx2ygcTWs8Zp21OAg/z2DRMAOz+2I5l\ncYYI+remIDNog8bQjWlS89Eg++Rkdhq4z+2x77McJq0920H/PB5nAS2Td6Oca/DiSMXPx3HkTbGh\nMFrPa+ywq2bTArycGvVzgehHK93MdwwUiwatbFXVewfkOC3PsebOZHjthsdA/TYyTCt4N4lp5qkt\nTy3xGYNL3XbmjBeFhW7QiXqguaNWaOfIZTgc1tbWVhdtpTFO4+XoCtpZmXFmtItDxnHSD8aPfGA0\nPe3o+s33PHkVebGDZ8oG2VlbW+uMDTSmTeogOvKJu7TLAmpnVdixhGwSWXkqBdmEfhsbGzUej7sM\nhOXi+Pi4O/2WdshyTKezdRo2eBsbG9025IcffrgefPDBTl6YPlhdXe14yDgwpgAljDU6A92RNUd3\n1uPJZNJtozYA29vb65zb8vLpmTHXr1+v69evd/cPBoO6ePFit4UaoLW8PNtavbOzU8PhsHZ3d2t3\nd7fjE2sy0hHQd/OUflsn0H8cuvUfmcmMo2Xf9hCdQ6fcRmaB7HgNEO30zF/qRL49tYZNaummZQqH\naADIlNze3l4nZ2TLsAWMjRd9tU7YTufUDHJsu2y7Bg8cJHgqLQEi9HShrw5Q0tY6Y+wslAOweRki\ng2IK/AH0YWcc+CKT1nG+O+i17DhIssxgM51Nc9LAQC2D/btRzjV4gZAQFgWvmoEODKKdiZ+oiyBV\n9ddueIsxB2eBqO2IFhYWetEy93hNCr8jON5NwpkG4/G4S90hoOmkc9GVjbajJcZhJUNRoEOmD4mS\niRYZA9e5jpwTd2SFw7cTJtNlMDAYDLotejZMGIPBYFBra2tdvdzn9LCnaLgngZGjBTtvxgGNbNSp\ne2FhtrvK8+jO5FFssN0fg41sg/5iaOC7ZYApDWeK6IPTx5kp9IJLdh5VVY+O8J2IdjgcdhkWT0Ek\nWDPAY+zOyDCe4XBYly9frkceeaTW19drMpl0ETWA1ADFDtNZTD8wEXkBRCwuzp6ebSNsuwAd4Bc7\nkIjiL126VI899liXVdnc3Kzt7e06OTnpnBz9Yb3Mzs5Orays1Gg0queff7571tfh4WH3sMy1tbWO\nTgk4HFVbHq3XjIf/7QBuF8UybmcB7QTRIdqyjQB47e/vd/Q3LR20UDfRvbNT0M3ODr2wQ8O28lgM\ngAw29ejoqPb393vT785oGXhlVgDZtrOmTdstPjtrBP3RJWdHcdIGSPAZmwmIc6bJ/XN/nVExv53R\nxJbQV+sJfbffAfDBM/TLoAqbwzlKjCmzdflKkAUNWeuXWS/LL/2/G+X/C/BSNTtCGQOAsKCoRrsI\njEEL745+uN+Rrp26HXUugqXQnreOYkS8kMrGn3t8THyCLI8JR2CAhNPiM9fa0dEfHBXjAuR5TBZW\nG1BHf2RzPP3haSQE2FkFRz30y99tYBNoZB9slG0kKPDXD/hDYQ1EDHirZmsY6B+7XTx9ZAPv6Q6n\nUr0ls/XK7IGNO6DCD/ajPQycga5l2FEkmRLqAWywq8fb051x8hoK2vI0KPLF+FZWVmpjY6MuXrzY\nARdozj2O1uzYHb3bOHtqlq3PDjCciTWARcbRMcaytrbWLSBmGzZ6yZQmNCNrCigDPJ2cnNTW1laX\ngWEs3lptHhtkWp/QodyJ5KAk5Tn10sB/HrCxnnkaCR6jb+nYkTfXgXMHsEC7VpDFeHg3uMqMjRcZ\n0xdAjW1Ggl74bGCBo05dg245BUMfE/waAGG/DOxMewN4T8Fwv0Eg9HEfEjRAh7RlafcSNLlflo+q\nGdAiEwztCdLdlwRc+BaDEPygwYuLgY/l6E6WFwRePvaxj9Xf/d3f1c2bN2t5ebkee+yx+uVf/uV6\n9NFHu2ueeuqp+tCHPlRf/epXa3Nzs17/+tfXL/zCL/Tq+bM/+7P67Gc/W3t7e/XYY4/Vr/3ar3Vz\nz61idO3I2ApYdXaVfFVbGLi2qnoG2XWb+Dmfa1DkSMOCjdIZaVsRaMuI3wpvY0NfUigpLNr1mBkr\nhsURlBdx2RHQP/qRWyHteD19QVv00QYZx5ynAWc2aXFxsdcvDCz/GyAxJqdkfV2+k4qlfsZjg5HG\nBdpZLpADHKszTo6sOAIfOiBvRHkYQvrP2Gm3BRqRE6YErRu0zbXOAnm9y3Q67bYWs5sG8EX0nU7V\nGT6MHOu8yJoxbQNYMdAx6EV/ErSanuaLHbMdOnU4gq6qXgbBmRmm4izrTM0CROAlgNcvZID1PScn\npw+e3NnZ6TKyOSavfUhd9kJyOzCDejtDy7ffLb+mEd8nk0kvA2M5BOQhp47w3W87WejgdSTuY+pP\nRuPUBdBg2pOgzyADAIreMYWeY0WXLFu24QZnHodpZ/BYNZs6s9M2yHH2yWvMHIRxj3XSoMqFMVpO\nrBO2+87IeqowZdbFgYKXHzhL5L7Qd4PsqjojN9gh5MVTjvMA9Z0oLwi8vPa1r603velNtbm5WZPJ\npD75yU/WO9/5zvrkJz9Zg8Hp4ULvete76nWve129//3vr2984xv1rne9qzY2Nupnf/Znq6rqL/7i\nL+pzn/tc/f7v/3696EUvqo997GP1zne+sz7+8Y930yytYqaY+XYaGcnkfXy3I/KCV5hqhiH4GDij\nVH638zNCz3lADKoNA4JPf+ijDbijG4pTqigUdPH8OvSyUbJjadHIAtyiHf0FGNAHXoAi6ImTBLWb\nP9ThaSwvVLZT4Npc4GYn04oa+VxVnUFIJXUWJvsHaELOMHjQ0JFQghvTDyBHvzNCg/asEyATgIzw\nzhSMnZQjS2TW/fFUEzLJWiDWtTidTx0G4PTbmafV1dW6cOFCb52Ws4rQHB0wgLBMJRBBN/f29rrp\nKsaci4mn02n3gEXLOX3neug7mUx6U1pVswW7nAqc6xcGg0G3rmYwGNTly5e7bBkgxrLgsSQA9nSG\ngTa0Mp3ggfWAcXC/gw7TPYEFwAkHlIci8m5g4iCOqSaucwbH+sD/zkI5CEN/sQX0myklj8WykCDE\nYC8zLQkQ6BN8xYbZBuQaGcC5dd5g1lNHFP6HR7YR0NbBYAI8fkvacQ22BTmwTcr2XSfyQEaRJ7ND\nS0/VmZf2X/DfPKJeioFtiwd3orwg8PLAAw90nzH4N2/erJ2dnbp48WL98z//c52cnNQv/uIv1sLC\nQj388MP15je/uT71qU914OXTn/50vfnNb66XvvSlVVX1tre9rT772c/Wv/zLv9SP//iPtzunBVcY\nc4yFU+VG996+mBGCI1UcfVX10tNEYq3phowQMzMB8wys+N8gqWp2WFRGC+l46DeOA2dT1d+1ZDpk\n2pLfAGeOxjICzGjJQs4CSC9kdmR9cHDQW8Q8nU679Lwf7Ed7njYgEiSatcFAFuwIbMhMVzuwjFTh\nhSMO6IBc0G/6Z8ePsciojuvITDjT4vECFmzooTE7deizz6HICNGg1YYb58gUCEbL50YAnI+Pj7v+\nwDfWnxh8ZwaNPvBcIubV0SOKp5gyhW7AkhkK+DEejzt5gxZkGpEJjOna2tqZjEtm2yaT2dOmFxZO\nt0QvLi52O9BYA7K2ttaNCbn3wWrQ/+DgoJ5//vle5og+Md5c2OqzdExLrvVRBl5f52tp347dR7Ub\ndEAT+GmQAI9y0SZt00/GR5aEhdC5WNV8B4ShG5ZRrvFUkNeC4Vzt0CkGEAZ+aaud/bH+OFigDb4j\nV7kT0QAkA7rMvNOeQQP2w4FsglnrQQIsgxnLksfgNg1ukMXB4PSQyY2Nja5N7IB3BVpmrP/IjXdV\nWmaqqjelaHrcyfKC17x8/vOfr/e+9721t7dXg8Ggfu7nfq4uXrxYVadTRi972ct6TuLlL395PfPM\nMzUej+vk5KSeffbZevzxx7v/FxcX69FHH62vfe1rc8GLFSAXouXcpyN+O2crgaNJlJOto77Gzg/B\nSVTvCMiCTr9RIEcnjkQdfbhY6RLc0M+qmfAhdNDKRjsjMAs59/A7ztXOJbMki4uL3doMaAItjNpp\ng90/XhicxQbJzi4jh4y2THt4baNtkJFZGcaUht58dX3O8CEbBiAJ/LyWyFNQPqSL1D7tAh4MvN03\nrgecs/2Zbcf0h6wAW9AdcXJ8PgbJ/3u7KgDSZ6+4TKezxd/Qx9OOln/roelrejsrSZs3btzogglP\nb7EgeDKZ1K1bt+r69evddJi3J9M2ANDgBrlYWlrqZRRYE0DUnQ4QY7+5uVmbm5s1Go26k4cZi9c9\nGcTi/OGp6YGMA/SdpcgpJgdijog9XWkH5ukhMi/mE7yF/s4mIhes7zAY9vSxMxI+AJCxWreRC0/Z\nQdvDw8OO9vTXemdemI6227bX9MP2J7OdmSWnL2lLDDits9RpW8Q9/Me7AYnbbwH4zM4kAPQ1mdXM\nPiC3BnjQJ9eeMYXsaeScasSXGWyZ1nervOCWfviHf7g+85nP1O7ubv3t3/5tXblypftvNBrV5uZm\n7/qtra2qqt7hUK1r9vb25raJIDlVh9JisFBEKxRKacFz5FA127rJfVXVE3xPwSDYpPW51tG6o2xA\ngKMeG57l5eXuuHIbo0wVWlBtdEnR0xciw+n09EF1RDIGJl5pTv3OMFXNdk3YEeM8cCQtJUKBrHir\nq6u1vb3dW3DHOGiLNlZWVjqjamW2wXFGJR2LjRE0d7aH6zLV3AI/VnobdmgB/ww84AO7WQxkcbxV\n1S1s5X8i+6rqxm8DgBwiP/TZO70Yg586PZ1Ou0W6doSAH6Z6TBfG6Qwf8jiZTDp5HY1GtbKy0k2z\nID8sOmaXHs4YXttQ2+EwXYWRh2fo+O7ubg0Gp+fKnJycdFu0j46O6jvf+U5dv3699vb26vr1690j\nC3zMv/WVE5Ank0mXYeHJ1ePxuFZXV+vixYu1ubnZtUVandfm5mYdH58+DuHb3/52l7lxttELga3P\nmYmieIrQmeO0fwaGdjTWbcuOeWtQ7PZbDpcxwF90aXFxsQOtOHjkG1CDzNMX6gfAsBsQuwggMlB2\nlooMgu0UfURHMxOR1yS9bdcdmNBndvLQHwMJgxzbc9OxNaXjvtiWOzB1cAm4yGCL/2gjQW0CGOrA\nz/GsNMZjvjmD5adwY1u8TtTABf47ULgb5X8MkzY3N+tNb3pT/fRP/3Q9+OCD3TbJb3/7273rbt26\nVVXVGZ2q0y2MeY1BUJZ/+7d/65j64IMP1kte8pKqmu0OWF1d7RTA4AVhseOCEQipt5V565cFDeXE\ngVT1hc/RuaMdZy88fYFgTKfTGo1GHfOJeq0MifxTIaAL0Trj4T7Tgv5hQDL1Rx0IsdOxSRsME2l2\nHJMNJwLO82W4xsbA4IrzNTDwTvV7/O6f6c7Yk+/pPB2pOJqyAXNGJQ0hY4BnFICj73canp0/gDRH\njY5KcYIsBEa24bONP7xBdnhBA69vsFEjA4TzYKzQA2MED+jPaDTq+OtnKBGN4fzZgZFOGoOIY5xO\np70ttNAY+thhAcrgG1Mgzz33XD3//PN18+bNeu6557ozWDizhnQ5gBDe+Pk8t27d6naXLS0t1fb2\ndl24cKEGg0H3iAEyLfAMvnj9APpD/+CRsxzmtR1ROkJABiDBEXJmZKGR28gsgN/t3DKTaKdmB2Tb\nBl35nbZZN+KsKXWxGBoZQzfs+Cwr6dyREdcLHb1LyVO7ppMdvTNLtqU8ldwLrpGzzMC5HttYZ4y8\nVpLCeJxRMehAPpz94Rp4TR25PshZeAcfDo6htXmDn3DwnYDW/HDgxzWLi4v1ne98p/Pvtpt3svw/\n5XgYyDe+8Y165JFH6tFHH61/+Id/6DnzL3/5y3X//fd3ZyHcd9999ZWvfKVe8YpXVNUpI5966qn6\niZ/4ibntPPHEE720JOlshBPjkhFJFkfCMMdC7Ijb11b1nwyNEPgaFMQAxVGLnULV7DksTlcbTHgc\nCCntAIa8ONKO1yDNjtxZC9MhaWQltCNGoRD+zFA4i2Fj4bUS7mcrk0HxWSBE5mR/yCjkGhdHQx6f\nFS1BJTT1VAL8y6jVWRnGy/2M2caMcdgZM+V2eHjYrY0BWABiPLZWJg66Adj29/e7sXK/aeA1LDaE\ny8vL3RobT9k4a5gyzefl5eXa3t6uhYWFXobPztnACXrwm2UWPXDaHr3Y3d3tMiTIHutPANCcomu6\nO2N4cnLSOSlkYHl5uaMJ/Qcs8fvu7m5Np6frUPb29mpzc7MuXrzYA+usxUFHrW+ZRXBK3fR2hoO+\ne30fskhGBz4ig5YHZ3/8Hb7Spq9JMGDgYZ4bWHgdoR2pnbVtmAPBqlnQRXF//L8DRBaUI6/ONi0t\nLfXkCPrarpk2ZB5p0+OCTsig1wcZYFCXfYen57zI3Fkey75ts2XBtsxybZ/kANDjzSDIASWfLbPm\ni22DAy50xvbAARJ1bG5u1oULF7p+PPPMM3WnywsCL5/85CfrNa95TW1vb9eNGzfqIx/5SC0vL9f3\nf//3V1XVq171qvrIRz5SH/3oR+stb3lLPf300/WJT3yiW6xbVfWGN7yh/vIv/7J+4Ad+oF70ohfV\nxz/+8VpaWqof/dEfnduuHUo6TCsBn82IRJH8jlCQqeFVNXNKPgeFujJi8XfXz/04mHSE3nWSIMNG\nNpXQ16HQRH4AJRsr+um6UTA7GTsORwZWImdEeGpwRvOMsaWwVf05X/OIYhr5eistDseA0XIAPe1Q\n4KsdtNumXdoxvZzm9/WZ4bETbAFgGxuny1vRKOP0gxQzUoP/acwZo8+B8JhMI7IrOVYbaNrE6Vad\nZl2YOvEBfxhFeOSAwkYPWQJ8cdou/fRzneAlPCcSprCGiJODLS+0iQPytJx1AGC0uLjYm+s36BiN\nRh2gAUgwNeX+oQspA5ktcf/SxtiW2ck7AuZ+AwN4ZllyloDi6S07JMsKMtcah9vhGkALjtJBG7IK\nOGiBBtfp9SnWPdp2sOrxODtpGnEvi0lZ/8E9XG+Hn8FJZiPME+u0txK3gg7Tc16Gy7bNPER2ASdk\nEm270t66JC0dlLsN14GOeJbDQTTf4Sl890LkO1leEHj54he/WH/+539e4/G4NjY26vHHH6/3v//9\ndc8991TV6cLM3/u936sPfvCD9YlPfKI2NjbqZ37mZ3rg5c1vfnONx+P69V//9RqNRvX444/X7/7u\n7952m3QqK8UMdiRgx4MRtCO2oyDCyW1iMNZtYkQdZTA3aqdT1TcyRsJOaZJBsMKkwfQ0gA0FdMF4\nDgazsytYTIjzc2TuVCP9N3ABSRu0EKWcnJxur2VrKA6oarYg0hkD3jn1lXFllOCt0SgWxmU6nXZp\nSJyhQVQqIvQDoFkBoQH8cfqea0xb6O8MkOWGMVOHF8ya99Rt0AGvqNvrFTxFhJP2eojBYLbehYfc\n8UwfbyP2tBaG1Nu+vQOE+pBzb8XH6UCfyWRSGxsbdenSpbpx40YdHR11zzaqOl37RhYD3kM3R/VE\n0uwK8jQOtPM0z97eXu3s7HR05BRcP6+KfrdAOHq0vr7ercdh/ZHpy/o8O6Bbt27Vc889V/v7+7Wz\ns9P1uWo2DQ6ooT54QP+9ewUeONI12HcgkAEbepO20J8dIDhb6CyK6WI9SFtm2+szTpy5MfhxAINs\n2Q6aR84IeYw4Spyh1w9lsGIf4KCPPjujY5DtLIsBgoGTbTd1W5agBTrMSdnO1tBOZqG4nz45W+ap\nWHiQQMZjsS3LTL8fH2C+ZuBt0EtgxYYA9NYBm7NNjJWZEfT6bpQXBF6efPLJ73rNww8/XH/4h394\n22ve+ta31lvf+tYX1DGKnQrFERyGw2lrDFhVP11tx0lK/ejoqFtvAZMMbhAqjCmOzKk3DCLMz4jL\n86LeFWAE67atNKYDY+A//vfWUEfeLE6080QAHcHSNlNCKGpGxRhOJoWRAAAgAElEQVR/H2PPWDD2\ngBcMI2t7UtgNkjJKox6vifAUAjQFADHGNEa0YwNqA99yDAaY0JLP/J7ZH4Na09tOn37YmdOe5QE6\neNeJnT6glGyAQQ7Aint45IAdDzLDlNxoNOpkNVPM/h1QwrOAuG4ymdTNmze7IAAZh28GxtAa/mbq\nmne2DR8eHnZbvj1FxboWnBxPqWb8zpiZz+jz4eFhd2IuuoM9sKMiyHC/eYfHmQlIMGC5NLiExsg/\ntKA4I2OaWQ7pI/1nms7TGs7qVJ09A8Z2kXbRm5zOQ4ZwiJmdRX7TORroG4SkzSNIQqbTKbuP1i1n\nH72Q3rQzUPAi+nkls5bogekK3UejUd28ebN2d3d7suhpKoNRivlicG9w42wsYNd2jiyiA21sP0EW\nfGdxrnnOu2UYevqsG9sxeO8M08LC6ZQzD9u9G+XcPx6g6uyKeITdQAWBdup6MJg9t6iqfz5LOgwE\nK+dgqbtqtp3RQuZsgI0wSuf0e1V1gMCHe2HkrWA4OtMBZO6V8JyFwXVOuzvCR5G4JiMgG9XBYHCG\nZrSJ88zzaGgfozydTrsFlKyjODk56XYt2NhZcc17O3rW+dgYO0rwGFDyqtkUoB2SM1AZBdK2DWsr\nu+Yzc7g3AbZBjSNx1rsYVBmoGPDauPHOfV6sSWmBIkdktA0AgM9p6LzolHsnk0l3nbNhAE0MKbTA\nkJsG3GOnZefN+NETMoqkreER63ZWV1e78yuon/URGFfLy3g8rp2dnW5n0u7ubu+UV/dxMpmc2bFm\nfQTsG/hZDmxDoKF5Ca0zw2yaWE+grYMR6s+1f3lWDG1bnjNTA11dpwPEzLxgL1vTg2lXGSv/e2qB\nPlmXoZN10sDHOmZglrS0fcssvYvvsc1jnPTBPoUg8NatW3Xjxo3u+VfT6bR7lphp1JJ5B160bWBl\noMq4vR3dQUBm7rjfgNbyaACa44bfDgQSYKV/xq54DeOdLOcavOBwEDYbgYxY/L+VqGVM0pBgJDC+\nVoiq6hkFK4gzGa16qZvfMOI4AtJyXgeDwjiN6QjJxsYCDJ1yASCfWaRm2tmRGADQVx+qtbCw0Nul\n4nlzDCl9tUFjjM6EYQzTkdlY0Q92e5m2FCu2jacNs2WC/tFGpoapJxU05QnQ2QIagDevC/B4aLd1\nWqXBnw0CY4UnXuvC1E6eEGo5seHPcTBWv0MHBwOMkWkadIoxMG1iOnjXlPWYdmjfWQfrIoCDfjtr\nibw5sLDOUC80IjrmxbQbTigzFLy3pvWsh7YNjCOndkxPO04DzwR0mZm0fbGzt5za1nnKM+2Sx0mx\n7iO3TF9yv7MutofoMn20E/0/7J1LiK3ZWb/fXdd9qTrn9LEj3hoFI/GCNEgmQiY6UgOOxIwcBtFB\nEByIBHUkiDgQpDugg0wEp8GRLQgOdC6mkQg6iJpOTDen+1TVvtRt7//g+Kz9fL9a+xjlX4cS+oOi\nqvb+vnV5r7/3Xe9an/mDbDvzk0GHl0tsX6zbPIPOoo/mIzSlXQdJLrDOgIPlGL+w07JK9pOsJgCY\nLKh3Pto+W6aSV4zNdrDHI8uP7bT9kZfVrOduK0Gmf0P7vNf2wnbSINqlA6/i+j8BXiCSjWMPhVf1\nEXrV3WiH3yw/gKhdM7FerwdpOveDY3T0nVEbjt/pXiuDC57cB47KaUPa4XMvaXmrLu1mROSCOUAO\nfdn4cQ+pUUdQViwbRxtevoPmBh7ux88ZTPGcAZyL00wPt+n2uOgrI+dU1F7k5rZtjPxdOjwu08yg\nYDQatSybl7xwQpZ7z9WgAuMOT6uqvUiQJRYAsdejmaudbw889OYDDYgmyaBVbXeHzWaz2t/fb0uK\nnntGeoxlVyTH2Jzl5HP/T/Yo9dLjv719UR/EgXbPnz+v+Xzetthaz8xXnjV4oh+DMMuX58V99GFd\nSrnPTIEBsWlpR5M6ZVk22DFtLPsGD8gI9SZeIufwxLQLpofnkIAAO+MlQsu2wYXn4WyAj44w7bgI\nBGy/PH/LHLygX4MkgiofJsk96CtnD52fn7clLjKYDkQyc+UrgwTLlXmcPqcXvBk0OxCzP0if6bkm\nkHF/BsgGWuhh1TCLgy/Kcd7X9aDBC1ttHYFAZBuIqqGjSiS5C4njGKuGYMTLTkbsXCgBKNztOQqz\n4eMeL7cQMRsUOAKxUOD4GIejLkfCAJ+MDF2LA7BxVOnogucMeNwe83OEa6Bk8FJVbXtw8ikzJtAE\n0MgaPjRz+8zTysj/1EwkHdNhWKaQMTsGaILxgR4Y9AQmGUU6kqJNr81DIwMKR915MVa2MnLg1Gw2\nq9ls1pYxkE0XL3rubm+z2QzkCvnIezabbc0T+kKdCPPZ399vRbsUpNsIG6zwPJ/boPsUWMaA7CEj\n+/vblylyGRxtNsOD7jjQ7uLiYrALkK3X1M/YoRmMWRYsJ8wlgbdlmnEZpDhjYXsFj5P2btv3JBhy\nn1XbA+NMx3RaODJOYHZxN7xA7ry5wUDREXfWMnkuCRQz2HNA6EyD55CZDNutzJwn+IC3Ls41bbMu\nzEHjcrlsGbyzs7MGXrz8nJlz2zfm4gyX5dcBY/LWQNM0TZnNINN6l/SzrFpmbC/Td6auQlvz1XS9\nz+tBgxdnRpxhwSnxv6ONjJ7M0AQSFmDasJPGwXhtEkXrGWLqO3xstJ0FbfLKhPF43IpQPZeqamv4\nHPyFQDmtitBa4TDYODCMDelfA6w0YERJjCer5TmCnfk7XWxjROTPEfQ2dM7csKbKvEajUSv8xOgy\npuvr60HWCGNUtQWeKBjA02vHVmqAjpUUebN8uWAZGvUitjTEyF3KiQ0CSt6LjJiTjQu6wDO8z2e9\nXjdQ4RqHrHnI7AXF6oBs5u/AwL/hl/UB8L7ZbA9d5GWcBB6OsD13yx4y7WVb5MD0c2Sd5/0Awlws\nzBbq58+f10cffdSAC8aWc2M4tRc9wiDTXlW14uas9SEIsKO1c7acQ3sAOfOAr+h12jEvJ0Mz9NjO\n0vbN8uL6h8xy2JYcHh4OQPBms2k6wPcGNh6rwZtll8sgrOcs0ce043xvp+n2HbAaJGbfXmpFj63v\n0NKBlW0FsnR2dlZnZ2etONfL4PCVE897y2kJSAx6rC8G4qaVL/sEB1kGQJYrZ3uQhQy0ejzqAXaD\nVcuRg5L7vh40eLEA5PJQFpqlEHOPmZFXZmq8RIFxc1GUhaWH7mnHCDkRr40cAk87FnYLTaJfDGsq\n3y6D7yUEo/s0etAMYGI6Xl9ft/ca9QwlY/NcXSuRvLFhstGqGr7L6OBgu6U76WlwkFGpd844O5LP\nQnf6cxtevzZfMFI2GgYozIH7M5r35zYIHquj3TSsyCrpbZ+SiV5k0V/WQCSduYf6FYO1qi2YBpwk\n4HGEnk7G9zmCZM6WKfQOuWLJwsu3ZJ4YP3xgO7+XhgAzl5eXA3rCw8lk0g6hwzkzX8slS0/L5XKQ\nseLy7izbK2dzbTfYDeKiX+6xXjnQchbCDhd5ss1w1tTLKMgnfPGYkCm/qI/dW6aZAxTPuaruZE88\nLssnzzEW7vPuPkfwqWcvA0Lug/9xqpZLMoa2u4zHSz5k7y4uLlrGhYyjdQkAYoCHrTbY9Wm4tlfW\nEebmuZp/jNM08WU7i7z4ngRwSeeevzSvdtmxXUDrPq4HD16MCnsRatVwbdcKbeXqOWo7Nd8DYxEo\nGOp+nJWgLRv7HmgyyKiqgYFjXs6sWPB8lojbz89QPEcNjm6d/nYbNmqMxcVgfIejscNH6VheslP0\nEo/XupNG5m2mo12UnErqVDAGwgrtFK37NE/Mf9rIrAnj9P8u6HMfNkLmo+/JuWUK2zJu+vg7QEcP\nLOR8DMAMnJFzniXD5WUtxuAxkuGC3xjpzAQYmBioGszTXkb4VdvCU3+fRpdxU5hL5sWZpaQLAMgv\nWmRX02g0fGMwQOX09LQBeD5z5EoW1A7eoNDb+sn6UKdEn67d6GVQMhpP8JJynUsXlu8E8Xt7ey1z\nbLDOZT1O+5Y22kGN5cAylKDDANsOETlxBtC0cHvMC56b/543Y0GXfIidsxUsjc7n85rP5wPg4lom\n+x7vykqfY772MiXJx7RXefnZDB7z+ww8DY79TD6boNftmab2O6/ievDghYizalgRz28LpqMS7k8Q\n8J0Ihh2pFdwpfiPOquG2Pi9j0J4FNlE+Y/T2QYwEESAnktKehc3PYcR7KcceKEmaObvEOG5vb1uk\n6EjBNTOODozKnXZHsVEa09PzduTmCNS1BYyBZQv67kVnBltJF4NJeOyzVGifOhrud8SWDtqKbvBn\nufXShWWUsScwtgw6xW4Z7QHmBN0YfcafL93MyNjGKh0P7TtSdfaKz4imc0w9o20nsF6vW4bFeo9d\ngB7QimUPwIkL8J1JIbt0eHhYJycnNZvN2hIu4CWj35ubF2+09o4SlomhKefSuM4EYOXTexkrAIa5\neZkqsy4GxCnb5kmC47RXBrqWq2yP77ysSBvIiHm4C1ynrcsrHaTHYflLUJNBm2UKHvmN255T1bYW\nyCDPZQTINFuhfS6QQbH13uM2/72UAv0zE+JAAp6nnllPbGf8HLRxliuf6QVytp3u07bEmebkO7IN\n3V7F9aDBi4XCjs4KUVV3jDnPZhQAELIy+l5HChgkIiyvl2L47GAQGheeZaRRdXfdGeOxt7c3ONTL\nRp/MC5Gtj2K3sFmpekLuOpFM4eIMEgh499V4PG7Gi5oQ08zgwFkd8yj5y9hsWJk/YM/ZlHRyNugG\nCo6q0iglqHTf1ApxUiTzd+ocnmR2gr89FvPXBtbGzgYiaZO8s+PxfRldpYHK9thZAjBzjYeBsWXB\nEbTb43uAhZ/zazg8X/TZy1vwBpki4gYs+jRnnJSziEdHR61mw4Ah1+FxOoAHsi7046gYvjmi9jub\nqDXC0fHWZTsAO1FH/ZyACn/TmTr7m+CAeTv71rM3Kev+3LKILfBS3K7Lemx+WS6RQctlPm/dZxyu\nKcp++MklUQdiDujYCeSzr5gzcmow7CVSnvcBdNiDl43LS0c+Rdd8yQDLDt/Zm57vSD76M/TCPLdP\nhM8GrNhQjyd9aQYoyBoXtgM/6QNQ7/N68ODFDMiIA2W2AvlZL18gTM507AIX7teK4RQrY7DA2LhY\nQB1dGpn3wJZBBd85nYziASJ6golQogi0i/JhaLy+7v4MAujb0TPP8RsQwzzs6JKfpoNpbuMD8POB\nWW4DB4qxMHhNmbFMWNHJePSMCkDVZ6rYafO36y4yy+fLy4Kuo/GcEmja8Ps+5g2PDVZ2RVVOVcPf\nvb1t3QoGxxkNj4s+vdPINLPckR00WEH3MnPG83bC1jv0lroQn4zayxh4yYpxwT9nI9FJ1524FqaX\nzXDxvgta+Ru+0o71kna80zDf+m75TNqbTrmcaYdth+92LAfw331U1R39TVtr3li2fK9tay5h2KYk\ngE+74+DLupP20jpuEOcsCkui7jPrU1yozTLRarWq5XLZtkWzVMQc0tmjHxR/58YNg1Lz1Mv62B3k\nLQMbzzUz5Szdmo4pHwbwPRkwX/MyeOnZY+9w7WXY7uN60OAlFdGXhSGjB57BGDlF62UOC21e/txM\nc1rU4MEClYJl52Hhc3sWVBsx+mVuLqTle2cODNoctaWhsFCbxoAHOwFS3/l6eCLQ9Xo9AAOuScBg\n9wqFk9c9w+yMRabEcYwojwEGczIo7IEp89bLC3zPuNKxsNunZ2CyD4MG75rifhtWAyHzyo7EfOkZ\nIfMQ2bQz5LeP3meOR0dHLTvHMzb2Xn7BEZCV8rjoJwuOM+DA6QCOSedj1L3bzkDBPIMPGH1nblzL\n46wbsmN9SUCZgZL7Qe5pwzJq3mWwlPYAHXZtRsqCddVzsh73gE/OyeOyXOR8LVOZNcgArscHA1AH\nSmmf3ac/zznvAi65vOzvncFIUHd4eNgABgB2NBoNDp2jxoU6F2eOE8Qh+2w1f/LkyeC9QrZ3uUnD\noCWLgHPuzNVBEjQywO4FtVXbjKNtbNJ+128CL2cz6Zd+LDuv4nrQ4MVGsWq4Luc0H8KR1d9V2xfb\nEWGZyAYLGb3giI1svQ4N+PB6qtGyhc6KiuA6uk8nYaVH+JztYGeH0+GOqtJA2oByTzpzj432aMcF\n0NSuoDiML9E7cyLy4bTVnsG0kfJl58HvBLQ4VEceTtV6nMiNAQDpfAM2Z5l6mZl0IHY2npNBGHRH\nps0rO6w0LjZ+mRb2ax5Ml+S39cR9uVaDZ3zgIXRniYNzZTg12Wlkolh241iGTJPUCfrA0LtgFodw\nfHzcdgth5P0GXzspX/TviND1I+ZDGvvMbDqKpvbLmS870CxctH7k1dPFBJrmnb+3HuSVn5unti/Z\nh++H95kpsC1Cpq17GTQl8E6Q6P7MjwywTAf/uA0HeRRgp7wB3J0dvLy8rPl83nYUcaYL9TPct4vW\nbJE+OTmpR48etfqptHe0k2Dx8vKyxuPxoObPdDCNM6jh896ycupd0sm0sX8zv/JZltWRJ3jOioCX\n9e7zetDgxRFaRtVVw8xGOipH/l7ThDFmOH1lZGSmVt11nhhZxmJm0mZGSTgoR/kIBJkhP8vfzgI5\nSvOWaVLzOLl83lmKTKUCvgAcNnIII2ua3haa4zX65zA3R7c28DYGvciKyzLQA4WZtWJsafD5nZmx\nrFHie7dtI8338MHgwH16rP5xpArtGAtOOGUr30JuvsJT643pk5/vcj7WJ4OczWbTDDGyaiPbo5tr\nCRLwowPmA22gp4AY69/t7W1L5WcknHRJAGl+9rJzjMHPQytkGPBtufTuF8CV+0753MW/HGfaueSp\nl2UcZPX0wfKYS76+n5+UBY8pgyTPw/bTbdkxmt6pI+all4JTh81f737CrlRV20mWDjlBGbK/WCzq\no48+au+98nlZ7tu89w/LRpx27ROv0xalH2NODkqRO9sLB7P+nOeSlvRlOaravoLDwUwGR8kzP4v8\n0I59KzR9FdeDBi8uPrWCODVrZJ5IvKfMVXePS7fS4SAS/VsIbASrhmu4VjQEyk6DLAHgg4gOJ2J0\nnqk9OxP69JUI31ESjpFMD5+l4fOZEBZsnLYFFcNhGnsZz1FsOoReFMNzu4x3GjF/78+cMaBN5plp\n7Yx481nmbP7xvQ2Jx5Wg231Z9vjfWcNc7uF59IB+/IPcOvq1nPjZjLo8Vsu770MnDHrpJ52kl0YN\nxCxbZLeIiuGPIzi3WVWNB37LOG05g2DAkYDA86V9y08CveRdjin5aP7Tp4FNgpME4z3eWqYZJ7zK\nTFYCM/PQMs5vz8lX2hz/3QNH1ivPNdv37wTHvgxy0t57+Z7ncznEQNj2ylkJxo/zp8aFHYbeou+5\n2x9kQEJtFW8n32y29TdJR+bpZXYDY4CZ5c+BCv35N+MwSOqN0/dYVtMmZ0mGASq6uNlsl3zp7+Pd\nRtUvIDITLPg2VM6QWAiqqps1SEVJhM/9dhBeJ7ch4TnGirDYWBwcHAwK/DabTdtpZDBBG70xWah7\nqV/TiH5sFLjXRtEKh1FA+VhacYre54OYjgA38ysNfkZ3aeDMD57PtGkCJuicTsRXOltfvWwNhXem\nBzzx1lcrb8qSZY/+vb3doMW8cNTLfDDaBjjcY/ms6h8jkE6F9ryDjfbQFXhunWMZh3EhJwCPXKal\nPRt/wHTKTgK8zWbTspLWB9MAoOfnvBRo2TN4SEfp8aYzMc2Yc+p+1s+40JnAhXYs8+ZPT4cTIGcb\nvc8SqHIlSPNnvQDC4zMdDKYSFHk+nlNvrEkH16HBb/53fZYzhAY0LhXw7jGfyM0YARveWYgdThvP\n2ByYuNaLJc35fD5YYjeArdraGfrwzlV+3K59Hn2u19s6Luu0ddj2M/XC/Ey/ab7C05ubm8HhhaYH\nQLGXUbrP60GDlzS2XClIVTVgmBXPDGcpw04qsxu+6NcpMcaUqXILfipuD/Wy7dnO3Yd8ZVRiR9ED\nV1xZBOix2qjYUVjwDaBoDyfmZQDzJP93hok5MW5HEPmsjVHyIQ1dOoxcsnDEgPKlTLlAkucdtfO5\nz1xgbNQs8e4b6OZzGqAXYzTosVw7c2Anb3Bnh8uzmYo38DC9eiAtnS3zX61WgyUfgM3x8XED2PTn\nbb60Q6qcZSYvL+FI9vf3B+8TQrb4jreXe/6TyaS9gsABCD8sUTrjAk+cJQWwmJ+me17pQAwoEhRB\nUxeJQksu62eCJ9sNO2PGan5Zh1LWLeMGs9bttI8er8fh62XgJZcnLIv+7ectpzmXnm1jzuiPeeeg\ngeJyL3VSH+UtvfzwGbyzXDEe9J0+4COyjH9ZLBa12QwPgfTZVowPmeV7H5BnG5vALuftLGX6ywyA\nev7OtE6+pW0xQAGUQxPmsQuo3sf14MGL0WpmHbz8YIb0UuB2mgiWDV0S3EKQjtPjcx1J79oVGfEM\nKU8+yyjQBoz/bYhTwG1sbeCMuhm752HBtQGjPSscEYujH65MZzpCcAo4aZOgk3HY+PnHc+Z5L1Mw\nZwy6U6AZgdBGpl4xUJlBoV+fgeNx21ka2NjYO4KCNk4fJ9D0ONOA2dB4WTAv08aG0NkkfwbNMNCO\nWBmv6cULODODSd9eUsK5wCfmYKDNuHBGy+VyoNteanKWxDxJZ0N/jMl88mfwxDqWht6A3GeJMCbb\nFcaQgZV5kfbGl+XCQKEH9BO8+oJ3lsOX9Zsy35Ml+s0gAx7xrLPQefVsq/mHre/N3bLjLdCWT951\nxasicgcpttz8gk63t7dtKcjLxjxjsJpvlzZIMZjxOTCMGRCE7iVwsf7hP7zcZP01fbiHdmzP7Et7\ngZt5sdlsWiDD9w4KGcfHBbv/ddkxgoDTkCeK93de1uBKJ5YOj3sMjMx4ftvhpiLnWLMt2sk1WEeA\n/pznnLbcNU6nXE230Wg0yFZl9qG3lMO9+T4OO3iMS1UNAIHPp6kavujRDjhT9+Z30oz77Nwz8vOz\npl8CQyu3DYPpaAW2oUtjneAmDXWCDRc2k7lImTJ/08HZwHC/M2aMPwFE9suVEaHfCo2R9nIijomI\nzIDM2U3a9twxpvTpjEHO2/KVh9KlM7UDSwNsviX481jdjuXH8pHyZDDs7KT5AO8y2MrMXto7/53z\nzTqbHvjwlfSlf57v3Zt65WcZl21oZoS4cnymu2nK1bMJpl3a6V7tCBlgDpvjfVeumYInAIac/2g0\nGgBT5ph6h32wvcPWXl9fDzaOpN5afgAvzmKkLbV99Xx7y1wG0z1AkkGG+ZPy4owwIMY6kfS67+tB\ngxcQsxniyN1OPp2IU/JWMC4j0bx6KUu3yT0IW6+NXqSRET+pyMwwWEnzYCQL1WYzLAgzMEjHi3L5\nf9rI8ZnmfI5T6gEMFIC59bJQBouO/DJKNy0NAnPczCcNCGPD2fBsL4OVPxnd7AJEzJHozevjvbZN\nH0ejtNUzJPDR87b828Hm3Cznft4AlOe93FpVzSA5RQx9Lc8YLz7b29ur5XJ5x8nzLHK6Xq8HKXKP\nz3QEADHn1WrV3uZL24AszyONdcqSl3wS9DuqpS3zkc94Jndt+P+qatlddiQlkOyBzlzm6QE0zy3B\nVV4pR247P+tdeV8CPWjr3YPu04HCLkDdA1W257RjHU8QZKDrrdppV3bZPoP3HIszJlks7uVh+Jh8\nsPzwnG0zS1fOTPbkN0F++qOkOd+juwAQ2yTbEHQZfU5bAp9zxYI2rOev4nrw4KVnjO1YnF7z93Za\nNk69JYMUVi4zNjM0CAQGOCOm/LHT4LJA2pE70uY++s6CYxt8R8rMxwK2aykijQG0o0hzNBoNig2Z\no1PrNip2pi7K9NUzYJm+pi07BRt509bz9D2ZgTLt8kAoj2Vvb3uiq+dlB8dv1yHk8oQjfhzMeDwe\nPFtVg+jbzozncw5pmNNget4GBj6Y0Ty1bHnMtI+B9S45y5kjQAMx+nQ0yZH6djw5J+vLer0enL+B\ncaUg2LKdgN+0YM6Afo/ff1vffAZOAm1oZZlzH+Y/c7K8+e9erYl5YMfgTCN9A5TSdqQc5JXZj7yn\nB4jssJLfKYvJm6R50tO0MT3Mo172wHNxm17yrHpRSI582D6YtgYI1l0yOZlR35U1NT19D/Oz/mfW\nJueRYMS0yPkbKHK/a/G8HGzb5uxOjyfcgx2zbKUOvIrrQYMXM86KYQeZqe+qYVFYT4lt5NJ58fze\n3vZ4ejv6jEAzPWzFyhRxDzRg7BAm7s95cvUcsX/3IgzPy9Gnhc3KwfxNKwtuVQ3AoelrevId80SB\nWGIw3UyXbM/r3XYW8CONWo43lellqfA0XGk0DZISMDoyTOOeEWBmr3Isdlz+n98GeHkWRQ/g+IKm\n0MaRq89XsZEyfyxH3APQs9M2PVyzYaNpGtsBmq/X19d1fn5e5+fnbXum6YdRTnp6zIzTwCR1w0af\n8Xm7KpcDFs837Y4DDPeRvEgg0sv0mIa75NPgqGczenJg4OLP88fy1NND84K5+nd+nzphW+f20u73\n2rCc+TPuNQCyzDp7St2JaWxbhVy4zs1zsqz1ggnLs4GFx2U5Nd+t8+Zt6on5Y3o6q+QskW1X2sse\nsDcfenO03X0V14MHL45Ie4pixTcKTqWr2gqKjUwaHpjjSCijQApQaduGwttLSWdbiEaj0SAy7Bkh\nj8lCZOBiRWfMBwcHg3NxXGMCnXy0s2mCEe2hbjtJjBbj9SF/Hi/35TJAAoeMsAyorLC+PwvXMvvB\nWO2wrFBWeNrESKURTNmxceSVCAZlpncPPFC7kQYhDXLKpuXQ0ZpBecoJRotnvbTFve4XA+6t5yzd\nuuiPjGPOb29vb7AUCj28vGOZyHl7/NB1s3lRHP78+fNaLBaD1zc4WsUge7ee6ZnOILOcqQ/Jc4MH\n1+E4Gu5FvpZp2xU7AGdSzBM7CDu8BHupF/zvNtLx2/EkDxMc98AgbVj/oGdvOR8Q3LteBrjMxx5I\nSJ4lb6uqZRvQV8aCrPqwtZ4ee0zWuZ5/SdCW/ipBjGUsQcHZDiIAACAASURBVEHqRM6ZftIvZjtZ\nY5ZybJ1z5iV1B99lAMe9bvfjzMt/XbucqwUhBdZOzIJRNVynpX0ruJ1mGjf6MXr3heLbUBrFO+pL\noXYEYaFO4SIqzOjX4+xFpXyfy1z5DE7ehnGXQUaYDQo9d4Oe6XTadeTJY8bmrA1j6H3P886E8X8v\nPczzacRTjqrupvl72S0+fxl49t8ovl/M52cYU4I0g27G6mXVNGoeG7Q2iLOcu9+M7LnyzBgDw6oX\n6fjJZFLX19eDF95tNpvBlnFnj5Bb95egj76Wy+XgVRzMia3qPmMmjxtI3bCxta0w7XrgJ8cJWONZ\n+qGuYJdz60XtvUxcOiQHLAle0n6lfKec+LPeWNIh5rgsf8xxl8PPoIDP097uAiT8jZ5kwJl6a3vp\nvmzPfS6Ra1heltnynDx+7kmb5PmnLPVkK4F81fCgTdvepF/6gwz+LPc9e5U0S110Forg3YGVyx8+\nBi813K6G4zXhM4q34Flgq+4qXvaTYCcdAs8kcLHRSICS54O43zQaacQsdAAm/jdQcAEijsLGJ42L\naWnnwdjpw9tP3UYCsIwSuN+0dNSedDN9e0Y7o1krho0TjiSBW88A2/Cl49oVHZlvprX5usu4+jnO\nIwEoeEymg8dlUJhGPelgXuTynL+zXPl039zia8PFbwCQacOSE7/pI4170ttpecuNa7uqqhaLRS2X\ny6ragl4cEIcHEll7a6pp6ZocZzugYQ9EMUbT0GM3/bkYh+2Ct6PnZQdlYGfn4HH3nIN13nVXGVD5\nSkfKb+uuv+Pvnt11ZJ9tWR8ys5O2NumcgDJ/0p5npj6DF8/LYMEyYf/RoxVjM0hEZtPe5Fzdb7Zr\nkJbjXK/Xg4xWBhEZyHhJzP7K9t66bf+WOmDa0Lb543v9Xrj7vh40eNklcI6a0gFaiZ1mRYF9UujL\nLjuGXZE0DsAOAkDgvp3u32w2LfVNuwnE0ti77SwOS8X0fB3x2Jjm2DNq4bfnbGOa0XwqfSoAzoSx\nmrc5b9Pf2RRHSHzvTEICwHRGbj+jksz0sPzgy0DIc0vQaZ5gVLyUiLPNyCydl2lisN6L6DLiS7l0\nO2ksUw9MY2euxuPxgM7066PZLTOmL1eCFI/VGQzuQ09ubm7qgw8+qLOzs9YOzoICzIODg5pMJney\nH6ZJrz4pwRTPQiP+Tj20Qc8I1wWi6MuuZdN0xObDy8BL0tj3Jn97QUaCWdvZHsDisgNlPmQwDAgz\n82MHmoGIbXsuLSWYynsTnHvO1sHkWQ8IZQGrbaULzHu+IIGt+0g99N/QCfuI/fA8Ezi5X3SQ8V5f\nXw+AN5/nsRWmq8GLfYbtjf/vySRjRM5fxfWgwYudJUx1FJTO1Q6HlLJP8bTSOxrbJSAuwK3qF49Z\noHPsVXdRNkplx03k4vuMoJnv9fV1jcfjZiBNBxsLK7QdjAGdjYydoIUxjakPIGOtmIjAgm0aQB8c\nUa+w18rmzx1R9BTCEZ2V3wbW9MxIJoFAL9JiXnYaGbn0QHMCSi4ONcSZ2vnwO8fdi7TNewPlXZeX\nUgwyHDWnjHhLpE/9xEilEcsxuN7JW5qPj4+bIeUNzdZz6AYNLy8v6+zsrD788MPBvTjN6XRaBwcH\n7fAxDvwyuEQmLNs533SS1oHkseXdz0M35IwfALFl3ZfnDZ1dUG0+powhN5nt83e76k24DD57smSg\nknKVtSKpR9Z7jy1luyf72Ya/S5udgB5nzrNp523PobFBgfvrgZW0Y7vu2QVeXCeC3TVwyQApgWna\nduszy7aXl5dtxyfnJGWwZXvguaSt3pVF8knBPdm5r+vBg5eqYZoWw+D0KUpgJjhycbrYwMVCZQPk\nH4TD4MCK6EguBcBzcF/sLrKDtCInWnaKsGck3FYaADtmt4EQG/wxH9M8Hb2NP4VunrcVzAYjK9AN\nSKxAHlOC157xMTDlMwO+jEhxxFbgNDLUVvScje/NKMxRnh2YZQFZ4UrjYePQy8aZrylnGUX5Mu3S\n8Lqo18bR9EHu0CcySG7X884zUCzbuXZvPc//r6+v2wFj8/m80RfgQuaF5TjqiXzKKmB/NBoNQA20\n9BJqTx4NWnOcvWyC5275zEyDn8u+4UU6My/rIX/uOx1lgho7WMu0bYxtUeq1dRGZyAAwM0Pw3DVL\n6ehzV1cPRDogfBl9PZe0fdzvJb8MXEyzXbYp+Ze2P2ng+7kMrOF1Zpezr7ySP7RFVpLXegBebMcZ\ng2UgAyWDZGdibQMBLujkx+ClhksLMDcdvQUZhlARndkPBBAQZMUxeCENbfRtwJB1JrmzqGq4REGb\nTlXny7oSVKHsVj7TwoDNRcFVW+drOjE3+oIu7rcneB4fmSzasnHHYGeKnM96c/W4bIjgvV9WSdRn\n4OE1ZjuUNCRpgOCnaYAM2FBm5AXv4b8NTQIXGz7LKX9b+d1GGm/Th2cZs3eXGaB7vulsEpjbEfbG\nkuDWc+MeZwGJdu0oLEdc6Ivn5DECTJbLZZ2fn7ej3fPMIADO/v5+e8EehpuD9Pb29tqBepPJZDBe\n5ux0NzLmuSfwq6o78sm919fXzX5Y7hKQ+jn4Zxm3renx0LKBDDiTyjMpp7YDnhMyjC64Nst2rlcD\n5D7dBv15l2Mv25L6lvUjGSSkvUgwzI8drcEgIJsx2p5aD23zLRPWSdOC8fvqOfPR6EVGcjwet+XO\nm5ubWiwWgzG7L+sUumvfRbuACesRp/zaB9pGW9ZS75EDZ9uh7f7+9lUfPnjyVVwPGrxU3Y1S8rJC\nO92aW2Ut/GmkLSgWfJxaruX21mXTCKWxS8fqgsJd6NZGk7btxP3SQ8Zmx5HZGRsInJ/7BnjYqEFD\nb0lFkaxc0Mk7S6pqYMiz5iONqhXJNKB9AyE7Wyue74dmPSMH/TGSeUCT+WJAYIOYkZjpC83djwG4\nDcSurB5teLyWBwMaLi9B9kDhLoPr500jO4yMMOE/EVfyhkPkABI8kw6TNgzwuP/s7KydaprBjPmB\nYUXejo+PW+0JjgG6X19f12QyaUGEl0ScXYBGGY1yj4+NN/8MhBPYG9SYZgYsDowIYFKfk5eZMTUw\nSz73sgGmJwcSmubwkKyXl4pt66qqvQDRR0I4q2CAZRvC3w7GenywnTBws14YvDswTRsILQyeAU+0\n5cwS7ZhmOSfTmfuTB4wXoG3/Yt9j35K0ThvJWF0TarvhvjNLYpDizKj9BPJrIIfNJ9vped/39X8C\nvKQB5uqlD6uGWYGqu4AkdyGkkHlpxdGAjUciV18GDPyfgCcdLb/9duqqYSTmVGcibtPLfVihPf50\nHh5jzynj3KF7zwBgBAyoMlrJyMjfcTlr5v5N7zTcjq4yctrFBysg/++iac+Yek6WJ0fJBhbcb/65\nONTzSJp4fv6/B3T8v5/vOeKq4RklBqyeD2nnHmDODEIvSEAuuCezEl42qap2si21Ll4+NU/MM2/h\ndL84BPrlvqOjoxqPx22XlOXKumMamjbYCdub5F8C0jxaANrhEABfjvgNXqxXuSU8x5wBWQ+I+kpb\natkmy4SdYox28vTDSxDtWC1LPQBsWfBLC7P+LkFCAiicNU7XoBZepP3JrKhp64x76pyfM0BK2iXo\nN/9NF/MO2lkvzV+PJYGddQQaehOCa2Kgp+nveRBUOtj2d9DIL6dMubqv60GDlzRqycQeoIHpRoco\nHAwmfWbkasbsivoTaRuhV9Udpho8YYj8eab+cBA+NMmOgWcxJBhiAypnTtII2QFbgZ1FMd38PMVe\nRKs2sD1lpj2i081m02p9eic5cqVR4T6cWfLfzsF8x2l5OSD564v+uGwkvfSSIAa+WWYdXWd7tEl0\niwPLPk1TGzuctaMjG+AemGacpitj9fztQN1WAsIeeMFZUBxoHjFGLzskGCUDBphEF95///369re/\n3eQOetnwJjgwbUxXMjBHR0dtCTQzXb7gi9uz3Ng2pMOgr9TTXOKFDt6B6CxUyrvfakwdDyDYc01Q\nnZfpY3COk7P8GhxiK700XbW1cdfX17Vardryh/XcstSjF39jX3wWS97Ts6/QxQDGoN9/I88el2XR\n9VJ5fwYSGRxnMMzfBpMpM/Y5GdSZf9lm73v7M9PHPgBe98CV2zKPmK/9FzJnuvReB3Mf14MGL1XD\nd344MuTCKFVtizWNCHN5gd8peCZ+7z5HAU4JO5XtbITXnzODY+YzPgyb03L87+j8+vp6AFioA+D5\nk5OTO9syE8iYjsyZbIBpbmfO/dQXYGRYLrIDJeXMd84mURxpQ21FdmRkx+i16oxsPSecqGmXipk8\ndto1ASm892+nYm3Ye84gaWgHxPM2KuYJzxq0IHc2EAlGdoHJjDj9Yzk30KBdR8g55tVqNejftVrw\n1KAS+tiR29mQfrYjnk6ng3dteUeZi/c9DsuNaYaTRd6Tbowva4JShjw308zbq5O35hl89hZW9IP5\n5RIlY007kTLaAy/OQmVk78yTbR3PeUkhna+Ds9vb2wZeevUY0NX64O8MoFhSGY/HgwJsAw7LL7ru\n5eC8H1q70NjAKMdq22ldsB+yHcq/LV+WG9MLP0B7zN3gynw0kLZsmP+AaniGvLv0wFcPwKfMpQyZ\ntj0ZvO/rwYMXEySFwJFgKm0i+jR2EN0C4P6qhkbNymV0bAFzFM3zjpwZK/04E4PxY26M0xHA7e1t\nqxzH6JHK9/1O5fYACBFjgkDGZceOkl9dXQ2OtUdgHXnyN0rJaavONhjte5sstHAknI6W+7xzKelr\nA2gH4ftz3nZi6ahS5hII2gE5supFXcih6y9svAwQLLv8n1mZlLP8zMaZMTq6y/tpx9FuRl+uEZpO\np83ZQttc3jGdeiDB9EoesUW695ZzbxFlTKafL8sO/yPX6FAvw5l6mTv/MjDxeNwOMp+bBNIp2Y7Q\nT/bJfc6wGuQaMNtGWSZoy8ETgD+Bvp/pReymq2WN80Y8Z+ZroMo4fA997u+/OPCQIyIoCrWsMs+q\nbYbI2ZcMJAzCmB/jJeNIrZQPO+RejzHBm2W7p1vQ0DJweXnZ/FdvhyLPZyCSoND2M7NCpq9tTgJU\nViSyf8uEbap9muugyLbf9/WgwUsPHZu4ycSe4KQycmWE0XNSrjGBOV6DTSfIfXaezCOF20sdiV5p\ny/PvzSWjWYwCRiwjdo+TGpaeI07jn4aC5+00mIvnms+mscnow89YBmgvzxpxm46IMirrOTWDG7dh\nJ+PP8n8vKQDsTHePnfYBBAZaLxtjghWP13P0717W0XJFoXfSOsEf/dIeRXl2qJyh5D56IMDOuNdn\njzfL5bIuLi7qww8/bPUTtGO5t1yk3OXFfAwyaS8BlgGMjbzBqnnpLJEdJd/1ovtdtsk6ZflwxiO/\nsy2xbHq+BuYuKrZts80zyGX83lGSNoP7KUAl42qgYJ233nucljHaAaw5QEw9gi8ApwTErnU0fbGF\n9Mc82IJvQJg0zeDIspPybl5Vvcia2zYYFJu+PR3dFUT5PtvKtIv2E9yLrv534MVgld8OeHJJ/r6u\nBw1erBi9qNfRD59VDZdJ0hmbyb37WeawsSG9SjqSzzKa5MdrpUb+djRpaB1B5nKMFXOz2WYsKJ6s\nqrb+baUx0jb48+cZxfSuHrjy0lBGtLSXEWj2YQPi+g/T3r9ZTugBip7Tt5xkRMpzrr9IR8E9piXt\nGYQSQRlEMn/eYQTfbCQ8B8uSASy0zWVHn/dhWedKI8Mz3OcaC8tpAnPXX5HKxsB566WXN9kp5Fqe\n5CUXNTLWD2To6uqq1U4AEL2bbhdgslxY/53hQh7saB14MBbrDVcug+XWZmdV0nEkqPK8LffJS2Qk\nQUQP6FjuvWTrtr28juNxjZ3BhWWHWhvTBF5gj7FLmekzwPMS09HRUa1Wq0Fg5L+dnTHNU5es/zxr\nO4A+sRuKcflFgw5madd2zEDH7RqgJkhlTOkrqqplFR188H3qvOXHPoW20tflMmWOmQA02/Vvt2tZ\n9T3oTJZp3Pf1oMFLGiJnSpwqdKRhRbLwWolQRhsMGzPW8FFiGwI+9/IP7acCofges9ezbaBSCZ32\n3Gy2a/RENlXbwknOC0jQwt92Yi62dLTmNVCE1E6cPngua4tsHDAsFEZmhsNGLB2N+3aE5zZ8D98b\nTPCcMygAq1T2nrzZuJqn/O1dLS4QRabsJG38oAXFugbnXJl9swHrZSItex4PWRbAmWXJdUcGAQbl\n8Bjg53VzyxEZGMbBNmXP21EZOsezpqOd/f7+fi0Wizo/P2/ntyyXywH/ML4uqO/JsHloOo9GowYu\nsReuL8Oh94w1fLQ8ejnZIM2OMWXX7Vu30kk48mWnCJnWjHbhI+31wLzBuXU3QTk2jyWbXiYngW/K\ncS/zwueAoclkMtA7eHp4eFiTyaSdh+KXfqLnLPkwNm/TNkBhPgYvCcBsI2w7ucc7l5Jvvs/lA7SV\nAMD0AMR4zKZz6mnKuz8zeHJf2Z5Bk69d8/LfWR7RC/zu+3rQ4MVrjpn5sDNEqDC0VUPH3ItQqrYG\njFoRjho3w/1+FYyVnzOirao7wu4IueqFwT0+Ph6Mxcz3ZwlgmA/3OIrsReJV2yiEsRIVbzYvdhCt\nVqs2/3SmmfWAHtAZJ8NcURD4dnR0VJeXl+17G+BE+waT8CZTqY6OeTaBWC/t6j650jg5XYoz5ScN\nk42e0830Y9pj6Pb29toJl3bWpgVzhlYubDSASwOVTiENDnxxVsxnoPQifsshc0aWxuPxQKc4BGs0\nGrVtx/SHzmZEat6YtgaWz549q2fPntXFxUVb6qKNBKz+3O1Y96xf6MzV1VWjhYMdyyXPGjDCH9fO\nWG5NVxynx0Q75jdjcFuWD9rzMhaXbSF9OGJ2RimdaWavLDvIE3bQQZvHgowwVy9VZ8YNu4VscOYO\n3xs0HRwc1Hg8bj/YaYO31WrVxojO8cPuTQN8AwTGc3x8PMhApU44cLGv6QGF5FECUeTbYNYF/z2w\nbfnNz2g3wWTy2DbXcuzL3yM/CVoIXBzAAho3m00L/u/7evDgxU6tt96aTshGHkFNg58ABMGlsv38\n/HzwPAzFuNBOFt1ZwG1Yq7ZnW3CfD+0ykMnIxXOtqkGGhPEnEHBWimeJNCzMuxy6I0q3U1WDz71U\nkkrsuWHYvEzl+5ivnXlvbBg4L0f0nG1m6AwEvRzClQqf/PA8DABMa6fdTasEAKahs3o27r5MI4NX\n+jd4fFnUSFbEaWKDNcuOx8FYucf64OjWGTzG6FoKO1MHA/Rp/cEJfvDBB7VYLBpwcfBCv3YGBvOe\ni2nPZV7j5MhWZX2beQ6gPjg4qMVicadNO60EDMytd79ljOd6y2EGaVkkbvpmZqtnp3qONueDDHv8\nBvwO3KCll4ncTuq1Zckg27aJTF6e/u3sHzQmo7lYLGq1WrXgDF03T9NmOoC1LjO2lNFcsswAO3U5\ndc76i3zmcmPyJINL2ynTN4GJ+Wz69bI4lpUEU2nXMhnAPR/XvNQQvFiZHamksiLwGDcbXtqxcaoa\nnujI/RZUjBZpTvom2uSyYtpRG+G7NiWdDWO00XB6fzTaVsKn0PoZRwuZovUP9zhDwL2uHgf8kPkg\nfZyCm22S1cnPM0o2PbzujoPPug/Pm4tIICMlRwYYVuprPG7LgdP2NmBphG2cfTaEFRjD6aUD11R4\nrAYdNrjMw3yCVhnVpVF25GQgzRySL3zvJU87WAN0y7ozbuYtbVLXwjyJrFMecELPnz+v9957r87O\nzprcHR0d3cm88juNttu13YCmBwcHNZ1OB5miXGpA/ilMto66BojPciuvZci6YntgHrhd2ztkwhnP\nXFoweE+nbDAEXVzDkuDFfPczdtJ5P/MBZBhY2uEnbXg+5SWBtO1YgrHLy8u6vLys5XLZtmnnERIs\nPxGoIoM+u8aykzrB/Mw30yLBCPPpAQDb9F52J581/W1vPS7Tzf2ZRynDlhku+zzLFuOwjuZ5TgbV\nr+J60ODFjt0O0CgRxkJgHA+RnSPhdDowx1tlfciWoxLGwfkKViLGY2G2gzCQ2dvbu5NCZh44pKot\nurWA9YyMjRk0sgDzHUV0bAtlHnZGaQy5cJqr1aoZ+95ySwKOq6urGo/HrS+313O4BpYYQAMqnnNm\nyLy0k7bRMz1oy1caD55xdgzn26uVStnKqCSdhunk8SAbli8DOW+bdWregMjGNo2V6WTjj+za2dko\n29Fxz9XV1R0A5YPjLEMZMTLXbDMBzGazaW9RJ0PqNnA4jpi9HJDRNH0ANA2GGKdlg/Q3PPTZOk6f\nYxfSEWWAYTmxo+ZzaJmZF/PbOsTVC3xSHmkTUMYYe3LMfQ7WaNMn31quDBwPDg6aDbWMJUjvAS8H\nGV5Gc7YV+SOIYmcaWTpnW+DzZDKp2WzWzoxZr7cnAbPsZHtYNTzWImlkOnsOmV3239YF9AEZNS35\n24DX7SQ90Tn7DLeXwMntWY4cCPs5/83Yr66u2jKR7WJv+fW+rv8VePmd3/md+vu///v6oz/6o/qp\nn/qpqqr6h3/4h3r77bfr3//93+vp06f1uc99rn7xF3+xPXN9fV1vvfVW/e3f/m3d3NzUm2++Wb/x\nG79Rn/jEJ3b2syudbsEB6Xvng519ruX6s16EnorNd3klYw1aMEKZdWBcq9Wqzc1ZHoMlO0EbCM8P\noU8wlONM8OMoMw2KjYiNhulhowx9ABReW7ai2Ng7WrWiIPzM3WvX3gGWdLESZzTTS3E7WrBCZzRo\n50HfroFImveAow29DaSjPuYMHw3W0vk5u5YGc9fVM0iWE3+fDpV7MViAx6qtY/A7jKBbAheP0Y4V\no4fOGPgdHR3VkydPmpHMrKPliqUFHH3Vtl6C9xzZ6fjkZQchHjfRpflnx2DaG0CaT2QxLV85T+bU\nW9JIXnkcboPLdi3BWK9/z922ttcnOmWAlrJjG5X2NcfC56Yn7aQdMdjBhmJPVqtVXVxctB1L9hvH\nx8c1nU4beEFOkBGWJG3vkMte9i4DNfPCwJkr/Y/ln9/2R1yZXbJ8mlY9WvKZAWbKtp8xbxOg7ZI9\nZ17SZ72q638MXt55551arVYD5frWt75Vv/3bv12/9mu/Vp/97Gfr3XffrS9+8Yv19OnT+sxnPlNV\nVW+99Va9++679Wd/9md1cnJSf/zHf1xf/OIX60//9E939mVhzqjEAgB6TQN5e3t7Z8cAYMdRLn/T\nl3cVoeCufrdCVd19YSKgIvvjudvb21osFs0R2Ag4Eu1Fq4yFtk2fo6Ojms/nVTV8aR5tY8DpM1G9\naUcb3JMvumPezgTs7e21g+w4IyGRfc9pWimN3jPazMjEvw00aI9dBzbINhiM00uTmeWxUbfxMv9z\nTk47M39/dnt72wqZ7bB6EbmdgAE7u2ycNeS35wndkR07L/Mc55sgAnm9vb2t5XI5WE5E5nhzs6Pj\n5BU/dgg5T8vtfD6v9XpdJycng8wXsrHZbFr/e3t7raDTSzn7+/vtM2cL9/a22+6rtllHO0naZ+7o\nDmO1fuZBkq4tMO/Ng8wIWsYsQzyfTn6XY/fzLny1bUF+e1nIdLa0zdi8tGvZQSagBUASp+5CV8+D\n522nN5sXRZ+5vIudyWzscrms+Xw+ACLIZ2aOEpBnEGG+G0RZR9Kx225lYNXL1vR2fFpXHESlDPkn\n78nAye1aJhmjg960i4zd3zMOb1JIkOU53/f1PwIv77//fn35y1+uP/mTP6nPfe5z7fN33nmn3njj\njZZpefPNN+vnf/7n6ytf+Up95jOfqaurq3rnnXfqd3/3d1um5dd//dfrl37pl+qrX/1q/eRP/mS3\nPwtCGtx0Dgls7JgsuJkJMeq0YawaOpx8fw33I4w95XD6l37Z3eB39eRaNgqXqXQLpIEdRsPFjDZ2\nKLEr9N0G7fAZczCgI32fuz5MJ5wpY5nNZgMg0BNq89HAKJfuqra1CtCnJxcZvbh40MqeMmCD7Agq\nQUFGWQbA7j+dhWlMYaHPfUlDmBkmaMEPgIHvkveZrfEcTHvkIyPJdHKWhdFoNCii9HKpgQN9Orr0\nHLlowxfPIUt+R5YzfZZtMkHWdf53hrOn9xkxM4bc8Yh8IKN8j0NKXjJm0xz5ScCSmc2UY9q0rcq3\nP5tvNzc3rRDZ4Njgx5F31fAgRYMoaEAAY5vn+zNDyVgMoB0EVG230qPXCVBMu9Qpy4/tAvdDB5+g\niz3ndHLv7uLtyGkPDBZzHgmIrH/wOYNFgFEuVfXscMqQbZLby2VGZMdyZP1x4GPdN9/cj9tIkOvs\nYk+X7uP6H4GXP/zDP6xf+ZVfubPU86//+q/1Yz/2Y4PPfvRHf7T++q//uqqq/u3f/q2urq7qU5/6\nVPv+8ePH9b3f+731L//yLy8FL1XDYkyEAcX1AVc2ZlZMO5dMdWH4jIp9pH1GqFV3MwB24hZGKzQH\nywGC8nCuqq3DHo1GTYmM/r2eaAPkbICFv2pYzGVDxfe043swAhmxMFZS6S7opX+uHFPPkOc8em14\nWaHXpwtHE9Akf9LBun87D9rw+SF2Gnyf/HAfOGPTHAW34/VWWfe9ywAgSxgr2nehpDMMpuvLaMIc\nPB8D+QQIh4eH7XwXaOjdL7vAi4OPpD/3Q2d01GcM8axfGQDIAVDldleCBuyIM5aW9XQY6CDOzPqQ\nUWYCXtuPzK7xXAZJvaDJzsi6ktkM0x4Z4zyTlE0DDo85Ach/F0GbHvwPULID79nDrGHJNuCFl+Kc\nmSGTBpBHB2iDC52jZs8ZFV426wCTTCLyYx+Sc2IOrqWyTKTf8GfmZb6nzPSw3eV/t5UZMb7Hl1hO\n8Ykel/1bgmfbRdsL643H7WdfxfUdg5evfOUrVVX12c9+tn3GhObzeb3xxhuD+09PT9tWwuVyWVVV\nJycng3tOTk7aMkfvevfdd5uAfN/3fV99//d/f1UNGZFG3goEyLEB4dk8kdaRnx05ipgomP8RWAMM\n32tlWa/Xg3dZuA8rCJd3RNFvFkM54kKBMCopfI6eRGPqFQAAIABJREFUUzidVjcd7ADoz+v8zMMv\n04PWfomkiymtUDaQCRgNVOwgbRBt1O1ozRtHZvSRUTj3+bcjTMuFDb15w9y8VAfd3Sa7Z2z04D+/\nPW4DGkejjoAMwNN5cG8W6zkYMGDjs7zfy6KOrpEJy6tBHDKe2SE7KvhInxSWI8uPHz8eRNe8MsA8\nB7wArixbyBGFxh6jl5DMV0AT4MX6s16vW3+WQzuBXq1G2itn7yyLBi++xzrkHy/J5DOev/XdvHGQ\n5foOaGFZ5Vk+t7P1/CxHti2ZTbF97WXAneFhHgRZPi+pl9UxX+nXtg4A7gxa1kMZaNi2JjjwnPJv\n61jaGdPNoM1jTxDEPOBlHiOSdi6zZNYlj7cHRE3TBJ88+/Wvf72+/vWvD3T4vq/vCLy899579ed/\n/uf19ttvDz5n4LPZrC4uLgbfnZ+f13Q6rapqvy8uLurp06ftnouLi5rNZjv7/dSnPtWyIKPRqJbL\n5UBgLQjOrFRVl9kwIGtmmMtmsxmgYDPPztkR0q5I0sa5argLqqpqPB633Qw2Qp6Pt/5a4Dw+gwui\nVI/L7WEg7cR7Rod52IjhdJNepB9taHjWmSXTxLTqgQA+B/hgsG1UcPhWessB9DKAMd16/LIDcSSR\n6fWMIHdFUPSVNVR7e3s1mUwGtVH0C50dDTJ+j9EREFkHjLJT5MyztxTGZQDM+GzoLYvcY6fBCzjZ\nDYRj6fF2V8RnXjLW2WzWln6pXfHuJssevMb5eEnLupORtgMcOw7GRSY2zxlxbYsBPW3AB5/WbXo4\nos8MidP/1jF+7DAtu4zBu8PsaKwTuTMMeQKcOJp3tiEdl4G1aWh71gNxWYuWbaQ+W68c7EFT8zud\nuGs0LA+5c9A8TzuR2TPLD+NJQMOV2Q4DXNPKz9nOcE8CGweXtvPoXwY8aS93gSK+7105B2Tlx3/8\nx+snfuInam/vRd3ju+++233+/+f1HYGXf/zHf6yzs7P61V/91cGkfu/3fq9+5md+pj75yU/W3/3d\n3w2e+drXvlY/8iM/UlVVb7zxRh0dHdU///M/10//9E9XVdXz58/rW9/6Vn3yk5/c2a+J7ysjqqot\nURFUZwWMfm1A+c5nTvheDLYF28jSipxrgI44aIv+LIRWRv+Q9sWRWOlMG8bNGMhwGG3TH9GjDRHC\nbsNkgOA5s8afoI8xGOg4yrOgcx9XRm6O0ui3F9WmPKSyYdBsCBMgegwGD/4bejnqpn34YefBd7uy\nNekUeNYRJ+146cPySV/mRaaNLe/+P4Ftz+Cms9qVffP6f14Gh7uyXBkN8jk8IVNLNsv1Tl5CyEgP\nWlo3TY9cUjIduM8ZLwNoz8uZC/Oai6UJ7JH5ZdABeDHoM8/tgA0aUw6Zq7OFpi/39erjDF7y3rSj\nyWfXbnCvdzPmj3mcspfBgXnQA8MZ2CXQxI4yPssNNjFtmedl/9OzP9axXf4qecDcM0DKDFXaLtt0\ny0n6QPsqAg98XAZgGfz1aOH/Myts+5ArBfd9fUfg5Wd/9mfr05/+9OCzX/7lX67f/M3frE9/+tM1\nn8/rL/7iL+ov//Iv6xd+4Rfqn/7pn+qv/uqv6rd+67eq6sWSws/93M/Vl7/85frhH/7hOjk5qbff\nfrt+6Id+aGe9S9WwhsNCmwSvGkY2yYAULreTkRBGicsRpw2KFYu2s2+jZebgMWQ06LFYsV3wZqe3\nWCwGRtZRTtLCRsBH1udYnWVw9Eeb3kFkmu0ylk4zM77evb3MBnSBxl7TNvCzU06jbl5bQc2nvDd5\ny5VGmHvdpg2q2+eCJlXDbIhBjNtNp5ryS+0Xz5iXNmDOEnks/m2eIB8p3/wPT+EJrwzwfAB9WRdk\neplm7uvw8LBms1mNRqNBBs/FnKZlBgIJSjC2pofBZ9oSO6leoOD27UwYm7f4AzTJGqWc9TICubSF\nPhhUul7KPDd4SVmyk7E+GgBYDpJPmQmx/KSs55JuL/NnXqadpU3bGAdBvtcZJcsCMursZ9XwPXi2\nP/RpgJ42wr/9XGZoU86TXsi0wYbBqmUll/8Yp2XS8sQ4XKzsNtxnTybz85Qzz9GZql4geV/XdwRe\njo6O6vXXXx98NhqN6tGjR3VyclInJyf1B3/wB/XWW2/Vl770pXrttdfq85//fNsmXfVid9GXvvSl\n+vznP9/Oefn93//9l/bbY0oPLTplDMP4PlO6iRz9HhL3Z0WzwSKzYCb1AEMCJRyxARDt+zA07vV9\nroa30SRSZ64eg42fI3a/ht1C5ntoiyJjZwJ4gRrv6TFfmA/P397e1mQyueOIe0YQemWNkgGQT/Z1\n1isNhceRlyMGG5sEm563janBZPab69TwjPa85GFHl6CK7+i/l7kAhHJvDyA4LY5cWf59r6Mo/jed\nDbJdsIvseot1b6ymC2P2uEx75nN0dNSWF3atz3uOFNfuAmXpRNLZ+n94Y8eaRttjyXnzrLNkHosB\nYq9/AyPP3/wxmId+mS1xWwlesh+edVTv3VYJLDxuaObMS2/XUMp6bp9+WZaH77nHzp8xOsjjngSe\n0MmgsXfulbMofG69fxn/zaue3OWzntvLnL/Bjedmu5K+ybVS6FdvPJk16c0POpnmPfv1Kq7/9Qm7\nf/M3fzP4/80333zpmS2Hh4f1hS98ob7whS98x31gnBCCTBWngUxkn86JFK3vccYjmW8hSMdoZA9T\n07DmMokFG8cD8OJ7r+Omg7GDYq5OI/O8Db3n7ytrEvb39wfGJjMxNmxORdK2083OIjiiAP2zrdTp\n3XQ0BifQxPfR5mg0zDZl1sTRUQIFAzvTJe/Je22sGUv22bvYlmmgBhCyM7GMZ6aFK8eRaXqcuR2f\n34Zrw19199UWnlvSErm1/NgJ2TjSN3066wQg8pwSKNCGHXXKA3Lmw+hy6TR10AGIv+8FF1XbN7hj\n5G2D7OR6WTfXkaST8nhc2G1ZsBM0TWy7uHJ5zTTib2deDBpdW2R+MXY7ZObnuVuOnLVIW2IaOZOb\nsu+gk+8td0mbtJeW7cxKZhu2meaxaZSXfU/aH/fby1Z5fP4/wVvqUfq7lwGd9FfZXmZxMiDLtnr2\nvGq7OpFZrvu+HvzrASzYZhSEduGXv6saprHS2NF2Gk+e42+fV0CfBwcHrUqd7IT78P2OFCwgjkR6\n6VSPA9DiZ/y5x4ZRxoiZFrsiCxtQ1ujt7Nheenx8PKjhyRczYuABQvSDY6MoEePgjFdGMwaGGMGc\nJ/Pq7ShLXvZSwAZAjNvj8RjhXQKgTBP3DC3ZOme+1ut1O6MDecr+ac9j7RlMOxt/ntFVymQ6Su7z\nln2DIYw8IAEZg3ZpLO3U8rKjSLA+Go1asevV1VWTrYxKsz9klL6hLXP1W4d3Zb2sez4MD35WDbNM\n2BhnBC1nXtYy75IOlid+zKeU6QQvjN/bxN2+Mz3wzXJFEEUhedZUmDceu4v4fT/9mE49m+WsC20a\n4EM7z9GybHoaQBoIZubSIMz9cHkJz7u80nYw9qy56vmp5LXnk3rmufF9L6DMvnb5SNuy5JOv/D/p\nkv4JX8B9yNjH4OW/LkdQABUT30x0NsaCkcLvHy4bMkendgi9tCQFsr4shKnsjMUFeGQgbEwyArRR\ny22ldq7ZjoU91zwNCqqqva/CWR2yVaPRqG3zxvEaHPYMM/PHINkppmJkRIYzSiAJ/X1omX/3DAW0\ncrrVRjXlJOnSmxO/06n0okN+cKb0k4DM29yZL/14ySfTv9lOOk7PDweXGSqyIE73p64ZCCQNWE6C\n1162TP1I/iQdaWM+n7ct077HsozcsCvRQCqdgwswLbumcS+AsRz7svNyRtc7gzDwzkRyOUOZBcHw\nxPQ1T/hJJ2eQ2XPYPUBi/rpuxDzOZQfTwDpk/kJP09VjSZtlO0UtV87T43abuzKU/p62bR/Tf5hG\n9NebN8/47wRTti85rtTZBNPQPbMhBnv+3DYlgVDv/l4A4/sTqGYbzn7ynW3qq7geNHjZhRaNGmGa\nHa6ftdBZYDKVm2lC+rQTyKK6qu1ZLD6tMJnOZcHyIUKp3MwnHbENWW6Z5PNcvqEtRzEJylLwAFlZ\nw4ExoRbBqXccs+fI+B2dp5IbaDqdPZlMmkPKFLiN3mazPUPGEaUdhRWNsfacfs8pGOi97PMExEkD\nQMPt7W3bds8hYwYWmXmxbCYQgEd5xkMaPfOQZwAiyB7gxTJj2aiqdrbK4eFhkwXLLtmYBEbIn3e7\nmW7mqwMFsnX7+/sNQNsR+H70iKU56MRWa/rkO8aTNEq5NW8Av71I3jbD9sZ6l6CK+813y06vH660\ng27HGTzutf7Y7vVAf4/3BmiW7axXYTymUw/spFM2MHW2g/Fbn9PJps00LywbBge5+4a/3Y7pnPbY\nV/I0eZKXbV6OIYFZ+i7zr+cPM1A1eExeJ/1SJnNu6S97WaVc6r7P60GDFxfh2rGl8+NKZ9QzLIko\ne6DIa7V+ppdqg7EWSDsSHHxGLvl3zzglsECJcv3TZ1vkCyoNjvi/F725qMt05rdBAW9t9dx7aU0b\nOcZog9QzolXDY7rhnaNmxmrA6QI889gRXtXQKfOd38diuqSR6fE8o5wEjgZaABjAC87WtGDMBpF2\nSr2oKrMygBPP1XQkik/DtSs4cLbLuxb4Hv4yP+ZtvUt9MyhjfAnYMvrvOQ3zd71et6DAxxxQYAyd\nvPPEEeiurAb6cXV1NTg8z/QHzDkoyEifOZm+8BWeuF/oaECR2VPbiR54Nn/ThiVQqaqm20lraMt8\nbedsQ7h6B++NRsMCXcaQ/LbdsBwBOHnOyzk5Ly8z9mjigC6dte1+2s7Uyf8OiKTsW76t5wawaVvy\nsj3IYDTvs/3xfFPG3G/SshdYWV8s66/yetDgBQZhkJ2KTgdp52FHa0AxGm2332LgnSrlt4/WzrVT\nfjuKspDRtoGLmc1YcWD+PJmfRX60m8jWBpjL6XGDCked9J+RiSMgZ5sMALIOwO07ZT6fz5sjzWU9\njxv6WVlS+Q1cPCcbDv63rJjGTr8zFmTBmabkN7zJWp1dBtBRiAsoPR9nyhKQZ01U9sVlA24nYb2A\nHpkRwOEY6DmjyG/G7p0/1OlwlDptJsBKx5rytEv2AK/miceKbrng07USBii0j0670NyHT3qcyROy\nZL2Mp/XQRxmYZwQWtmOj0fZlqdaJdHh2EHlfRr8ptwYH3GM748wZMuLaNOtC2tsMcjyGjMBtQ5FZ\n6z0yxJJm2pUMAv47UGKfYF3sgRfriPv03w44zXvLSw887Po/x+bve3S3LFhvbWvMz9T9BIW25a5D\n2nUlIDOP3G9v3vd1PWjwsut19E4hmlEGFWYUoARHjeEEsBwcvDhFczwet6LU1WpV8/l8oBhen860\newpxCjLjq9q+/IzCQd/DXFxw62jLhbApzAZwVcNUL6CM6NFGF7pcXl629tfrF+fIkMmpqsHLANNo\n5bZI+r64uBgUNeehUPDD4+BZnvEuHehgBeE+12rQXi+K6IFAK3FP+cjM+Pj00WjUnJqdMPe7zgZ+\nGHTRF0AB0MwzKVM2nP4sjQZtegnRMuECZ0da+/v7rRAdmUNWl8vlQJYyI+SDwLw8Y8dog587Xmx0\nN5tNzWaz5kTJapiGni99Qo+cI/rk8RpAMcdelEvbzm6Z3lkjwg4v5JrsobNrHjdO2y/p9D2WXeue\nM612RswDR+tsTvadcpNZI+4zIEgH63bS7qVDdwDG9w42cqk6wXXSLz/z2Bx0JripunvKdgZJ5n/O\np2ffk06eL8+mPhuYeBw84+Db/frZnn2gP3iObOwCGM7SmvYZGJo2vUyL6fkqrgcNXhxBVQ3fTupl\nAhPZDsKGyi9XqxpG+FVbQTPQwZHYOSI4ZCVyDTxrI5gHzxgNc1YKh3DZMPnFjER8o9Go+6K1vb29\ntnMFB+Ro2EZ1sVi0d01ZyDabTXtx2dHRUTvYiMh2Npu1s34YCweTZVSDs4Ae9GeeQRePYzR6URTM\n3OibF6gxD2eBXBRpJ5E8QDYYh407Y+F7AywbfY7At5z47bTL5XIwFwwAdDHQcfaLZ/wuqAQvjMsy\n2zMSOW/rAXNJEAdwZ15uG15dXV0NappsgL2chBwamBsoWM6Zi4EqdHn8+HEdHx/X6elpXVxc1OXl\nZS2Xy0HmBIBAX/AE+eN7g06PjbEYPGWmLiN06IGueWsyOkHf1PhklpA++cmAoJepgz4GXr1lKNo2\nnxydZzCY4PJlztk6a6DM93aACSZMV4/VGT7zA3vpoyA8l57MG9TTrx126owBn3lovls2Emjl3DMD\nSts5Pp6z/Uu6WVczu5oAKfuyvlmWDN5MO/fZ+47LutAbA9+9quWjBw1eUkGq7hpsI9uMwCwwRCm9\nFDPOgsxEHitvpdilDD3lSiPlyBTBNKpOxfT4XNOQhhaQl+jeQI852cF4XTgzApvNpu0+or8nT560\n7/yMFTt5A235PyMnt1dVbau2FZDPUJLxeDyINhKIZvumpWXGyupsT57S2ZMvnreRhV4GCy4M9y6x\nrAmwnDAez9Fy4jllts1tWc5sRKu2QAgny3c9QG/esUV+NNq+2d3z4e3Pdrxut2fweN4g8fXXX2/B\nwbNnz+rDDz+s+Xxe8/l8kAUiU8TztAuIOTo6qslkUrPZrLVnAGTgzeV2PH4vR6M/2BWAwWQyaSAJ\nYGXnZtBtR2A9JSPMZZ3sBVs98ELWwvKTuuHv7ORyGSMBAf2nXDpDzHNpj5wJcjs9echsl7M/znS6\nD2duPGbbiQR2lm/uN8+4AC0+BJA5meap15Yl098APu1pLzAxgPTfu+xeBjkJLt1uZoASTGHnemPM\nOX28VbqGBbuJ5BPpWomNjs04GyqMSqLh6+vrGo/HgyjYBr7q7rYwK6T/t3F0/96uWzVMDY9Go8G8\n0jiwRRj62HkyN6JMxsS4cTxec7biQKeqrTNn7OPxuAEggBLGmKjbgs68bPAzxcv4oMPt7YtzUGjf\nb/Nl/nYM0CxpaJ57ycbGn+ya+WOepULSHi/aOzg4aPNeLpd1eXlZi8XiztZ3yyXO0/P1FlsbrORL\n8tKXjQjPILvQyQWslmP/GISmkT46OhpsXfU5IewIAgz5WWiey0SM25E1z7PECUhFtp25Wy6X7TOe\n4zufQUMGE5ADH627aagdFECLyWRSJycnzR7hXOmfv53h6dktaICDdhTP3PNVArtAa2azrAc+msCX\ngbvbNZi13aQt0y3HhT2xozYgMa9dsNsDFLvucxuMxeDC9tKymT8ZGBm8ZIBgXUOPDSzpz+P3bja+\ny52tL+OrAVoP9DHWtGfIuy/sH7JF1j5l3IDLtiDBaQa4jMlBF/r6Kq4HD15QAC81ILC9Q9oy4rVx\ncnTgaA8HWVUNHNzc3NRqtRogToMZZ3BsgBFgC0XV1jDm+QXMyYqcUbOXolAUokr6YA4+m8WKULVd\nlnD7mSo0ndOA2IExDsAGCkt9i5WXZSiOkze4JJp3qphlNBt2eMgcbQxY9sApOM3ryMnGwM/b6NoQ\n24HhpPnezjZ34aSxhJ7IGu27HwyjDYYzG5bfdFQ2HIDLlHtky84zjRGRY9UW3CE/dvSWCfQIZwvw\nzKW3XUCZ+aSuuzh4Op02Obu8vBy8fBRwkkum6H+CLJb4HEg4Y8Cc0NXb29u2VDidTmsymbTvyEAx\nd+sTZyJZjrFp9MGy7OXlZU0mkwZedu2UMa+hk5d7UgZwcpYZZ9ZoN0FbAkwDkQRDtM+Pl7UYD8/1\nHGWCqB6gxHnbgbq9BP0pc+4j5572vAdgDL6hN88w3wwq7I8ysHZ2yTY6eej+DXzStmSgZZ+V4zWd\n+TxtHj9eurQtMe0SFL7K60GDFwueBRBGpMBVbWslEDQbJ5iagu+UPm2wBGA07WJZG/UsgOR/OzQX\nrdKWHb0NnUEQAobwTyaTZowc4WLAl8vlQHF96qiXgSzMGDmecb1CKsnBwUEDClXbmhO3xdgBFrQP\nbQ0yq7ZAkvFdXl62XRimRwKRqmrRNe9Qoh1HnjYu0NFpX0ejBpcGcshYpoSTF+kkDJbNE0dF3vXm\n9D1ZMi4ybciDAYFpwli8gyqNDbzrGTpHenbk1klHlMfHxzWdTmuxWAwMJP3a+UFPg3zLhUG8wa9r\njdjpdHBw0PgO4DUIMhimJomzanqG1vLI+KhLG4/HjUbmEbTmec8L/jKHzWYz2OXHb85NArzYUWX2\nAtqZBwYIyCjgxbpsuXe2MYMY20YDexeAw+Nc5rUzz8DIwD2dnnXUztNzzwxA0hGZtvxkwAfvoQl1\naNDHdonLY4O+tvu9E4kdHO4Ccg4ms54Nuidg8/8GsvaHBoc+A8r3+5lcOoX2BmemSU9/XjVwqXrg\n4CUvo0SfJ1E1LMb0/akEdmI+38Po2A6WPqzIuUTB/c7gOMLw8gl9kYW4vr6u+Xw+UPhMB1shvEUZ\n4SJNjrOm+NIAAlBiY+n5ovAYaWeTUMTDw8OaTqftdF1HPY4koC+gih1c3gED/3bVgdhAmm+O3qG/\ni4PTGRpc2DiQweFydEc/aagNGpABvy/ISxg8Rz/wwjvcnHWgoNq1WY6CnelB1r0bzfJsEMS8EpAy\nR+i/WCwGvDGwZrkQ2SDT5XcnzWazAQ8Yk2XBoGlvb69lLhi3I+ODg4MGQpFzdBV5n0wmdXx8XKPR\naLBTzvxaLpc1n8/r7OysZW/QGcaWdsSOgp15h4eHbeecAUjaHX7TjutiHJ3Cm+Pj4wEQtq1ibAbO\nKaNennOml+eRs5Rb7k8wz2Wbh11JmYKPq9WqyanlfldGA13pgRSDV2Sil/FLmfK44H0GHNgYj8Xg\nxYA0gzvmb51MkOTvDHiSZ6ara3uYcwIo26ZeEMKV4CR5abvqn1yCSmCZ9rhnK+2vXhWQedDgJSO4\nqrsV0I4kbLR6KN4MsOPDuSdg8Y4P1wxgRHHAjsZ8cqOR9+npaWMu2ZCDg4O6vLxsB19lJGSBYF4I\n9tHRUZ2dnQ2i5M1mU5PJpMbjcReZMzYMGvRBUXFSGGucK0Z8Pp/X48ePW9v+sTG0s2U+dtrQzArp\nSNNKnFEZPMdxUGOCE+YHB2VnYedPRE57CUhthP2/gYaXc3wRScFrg1ycrbNmnpuNCMCGzwymmCM0\n9TkiCXxxwDbe/AAQKDRer9cNFKxWqwYSLi8vazweN14668T8GYtBUs+A28E4wwLABUQvFos2V3Ye\noTtV1WjJWFhWcj+r1aoBGBtk86rqbl2HaY3+L5fLRhNo7CVOL7WlzeK3HQByyb20xb12zgat1m3f\nZ6Ds4MP8dlbHtDd4TPqwlO6luNvb7bvKqmqwvJmBjWXR+mUb56V26OL6osyC8j3tMxfLmUFCLi9Z\nJw08HRA4+5SgxHTKIDCXYSwLmZlKHlte/LdBHO2kXbCPs92rGmZ+LT+2wb7cX7bb68NB98fgpbYR\nGpcdmw2HjYOja6eS7eCrhu8vSjRtgbVSYFTZDuldGji06+vrmkwmjbk4lUePHt1Jae/vvyg8vLi4\naOPF8VUN3xBLCpslFRxW1dBJOCq0MaCGBwfswl+nkL1Mk2d3LJfLOj4+boWpOBwDGL85mvYcOaei\nwp+qavUL/G1DjiP3HG2cfHZNRgtWTAw7xtZztjE3b51xw3mORqNarVZ3QBj95pINMoihpm3Tn/FB\nb4NP+GngRr/In7eup+54OY254Jiurq6abFxfX9d0Oq3ZbDZok0J21xc5QtxsNoN3G5meCbr48Vgs\nG1Xb4m1ogbwjLxhVUu9XV1c1n8/bPLIgu5fqzsyhHTljJhhg2QpemH7wxfILX9Bh7jfgs7NERnyl\nTTKgziVUPt+1RZ2r52BsIw3CoB9zNFCGP8fHx4OaLwPJXK7pZU4c9HG67+3tbTsVGVrSB3NMAGAg\nYZ0yoDW9fX/yan9/v2XprGO5/GM9NyjIYukEOz0QSz+MexcIcBv+m4ykdY3vellmPwuNEzTZF2YW\nNf2y6ZNA6L6uBw1eDFScFnQ0ZEPSS7lZYTCEfO4oBKVz8R1RJ0ZkvV7X6elpnZycNEPqqIs2chmB\nmgz6ur6+rg8//LD29vba1uxMZzI//sZIAxoODw/bQV5EzdCBdWjATlW1M1xsEFE6pw3397cHlV1f\nX9dyuWxCPZ/Pq6raTo/JZDJYAgFkQWcyQAYW3o6MsWe5zfTBQSYgwQh6i25VDQCk+cz30M10dMSS\nTsWGlcsRtwGbld40dgbp4OCglsvlnTV5AwiD8qrt7hSuBDzw2QcJYujJ5iFbOAXkARohI8gHIGe1\nWrUdNtSVZJRqA0pGwgY9nXHOwwDRhbXWnV5NEfPBqEIDA0n45ewUzxLUOF1/eHjYQArbnQEUAJjZ\nbFaPHj1qS74fffTRHTnEyTMng7sMlnxl9s+Rv8GsQWsPEEJ/eAXoyijZNtLBG3TvyXNmRZkjy8LO\nwGJL6QsZM38YT9YoVlWjMWNZrVa1Wq2avHqemZWATrZr2Ic8aNNzZTzQC0DnZVoDRYMV252UT/TA\nY0ywnODOAMQBon2W/VICOY8Fe8AcsoC4apsoSODDZTr2MjG2TZat+7weNHhBgKu2hqi3pm4GOqJD\nILLQtqoGNRhuk76Oj49rPB7Xo0ePajqdNuE/PT2t2WxWVcPXF+B003ikklA4+NFHH7XxAHxoi7l4\n5xNzoGB2NpvVdDpt517QFwWJ/OAwF4tFM8goNQCC4mEMPaDD9ALVe6ePI86qF4pPdL9cLhsQzLdJ\nbzabZkQc0RK5A2oMKtMwOivEXOiPPqEdvzGOyA7RnQthbSDsfJjf7e1tLRaLxkeAGcoL8IUOh4eH\nzfkjq45euZ/2MYZc0IzvHQ1ZZgGwZNWQCfTBSzmO0vnxHB3d0z4ZGPiWoMA1HoBa5uJMgY0mTg9+\nct3evjjhOk+nNUDx+UOPHj2qJ0+e1NOnT+vi4qLR3dtaGeNisahnz561XUer1ardi27PZrNB/RrZ\n1ul0WicnJzWbzZp9IBNJdA/gZJzIJHNPx5TeJQcBAAAgAElEQVTLP/DINElHYQBhmSAziHyRKc4M\nWDou5MngyoFT9gHPzb+ew6Pvvb0Xh2NeXFw0vSVb5nGjX7YLzuA6iM0AADrmcpVtsY+QYKyuGfLh\nhXbQ1tO9ve3mDvSK72yfEqTZFnm8BpOZAeYZ2stsjMErgNxgjucc9OaymzN4jC3BoOeeS1fmAWPq\nZYzu43rQ4AWDxd8Qyo4rmWnBIN1pJbUB8S4GmMKyAMYKw8h7XE5OTlqRHcYb4eEkWUcMBgD+jUND\nuTCALjysGh5ghVKzZbNqW+2PoLqY1o7h6uqqTk5Oqmr4XhhoSuSJ88E4ECGg+MfHx82p3NzctEjV\nYIgxkMHBmScg8o6YnjK7YNPpSkcB8J0sAvzHmcNzR0ooLjyFfwBd2iA745Q5jhXHd3Nz0+aA8XL2\nznUclgEbJOjJPHoZHfjFZxilBDLO0nle1hE7QmTQWRDTBwd9enranDjjYRyW1VxG9Jx5Dl1mmzA0\ntsFGRzxGBzPj8XgAXtfrdT19+rTt0HIf1CltNptaLpf17NmzBkA5OXh/f79OTk4G0bllD/2YTqf1\n+PHjms1mjXfL5bLpL7Ji3Seo8ZKNAUPaiXQApqUdnR15T7YBL24PvU5HZwcFDxyN82yCH8uhAT/g\nxhkadNo2CR1Le2fQ4qDHTtQyaL3ykpVpms7Xmblcrs0MR/LLcm998sV40X0H0wZfDgAMXPLIA/eV\n+kw2uge6zDPz3vSzLWVuvQyf6ZOZRZ5/VdeDBi8mnjMridoRHBvOqm3Ni5Xca5SPHz+uk5OT5jxx\nzhhsMi3f9V3f1YyaMwV2Wk7H077X2e2w9/b26unTp21Mr732Wjs9lHX729vbQUYGY8KyFQfp0bbB\nStXwHTb+cSaqartd1ssbjhxxVgYxJycng11SKILTuN5BQpaBfuEnS2bMLw0CzmW9XrcsifmYNU0c\nH888syAWGXKBK2AL8EMWihojaEq9BxGXt51DG+boSNdLYzaIgArmle9/yqjN0bQzHZY3DCw0Nm/Q\nByI57udZO3v+Z3cZyyYU8qbzANQhe96BBS+dNXB/zIMxAb7gswuJnYnJmi9+A2q4vCS0v//irJbD\nw8MGPA1MWXa0Y3YGyqAWcIWjpB/+N58NnBOs9IIbOwADE3hr5+PMIPTzjiwv3SVI9IVeuGAV3bND\nNX3gC1mnBC/+m/EjK+hZZlAN0izPfOYCeMbtZ12onPYX3jkYMl2c7bIOZ0YsM032QX7G/djxJxg1\nyLZ+E2Q6wPR4HLQ4s5o+D7qnLUx/aR5zj3XT2S3mZ9/7KrMuVQ8cvNgQ9FKENoh8DvFQEBd5Eikh\nJK+99lo9fvy4OYXJZFKnp6cNnCAwrIHzmQ0R/+PMqrZGyIbNzmy9XtejR48GKXCc3Gw2axGPFZFI\nH/BEO17mwcAjfCxruJ7EdMI54ywodmSN1OukeT4MkSpRA/O1Y14uly1jY4NuoOlD8zIbAC1zWctz\nhf84iTTy7tufVW1PHGY93rU5OFbGgOFkiYxlsYyOelEN92bhpqNy+rERRv7gt9PwlnVHbjbAjAGj\nhdExmOBvgzn6qKpBzQu8OT4+vlM0iW4AwpxtSENtoFxVdzJsnGKMzJNJWK/Xg0yKwaydOPRDDrwE\nQfYU4GP6mAc5l/l8fifL6T4d2Toida1NRuh2crYtBp29CN//O4DjM+uTAbPtVmZtLBcGPwDcXv+e\nB+0a3Hiu6A/t3N7eNjlCd71LCronP61rbrtnkz1vdDHBOzT2EhD35jwMYukT2jhbYRuUfM1gzYEk\nfol+0SFo6oJcLgMYy6Fpk5mpBC3pT22jzfektwvzM3P6Kq7/M+Cll8qyMMBAonwMIoaSlDPH3O/v\n79fjx4/ryZMn7bOTk5N68uRJAz6uM6FvBDezGgijFQYlwciCnHH+zNGgzLttLCwACrIMVdWc+mw2\nGwgvCgp4YSz5agDW/XtGgvfH0F+eTOpUPI4YmgCYoD9Oww7FEUA6gSyUrarmwH0uhvmDIemt43LZ\nMDmKdobH8sJcyZDwjhzGQ58JnDPq8Zq5s184NZwJfMOYO4KFNozNuxkMzujPmS7Gkwdy2TnisHzm\nkTNOyNvNzc2dpSMvne4KMBI4md9pbNFdlnbQH2pNCCgmk8kgW0Ig4GWzzWYziPCRZ4Mxxgf9kVvG\nT7vz+bwBZTIv5i18cmqey7vbzDeDaYMA+G45Z9zpGC3fzNO2MAEzbdM+cpzfOehCljNDksGlx+T5\nuu4p+W7+mz6M1/pqUNLTbeuBnTafmc4EL9ilzAA5Y8F4nD020DCIYJ4Jngxg0K/MrHn5ih1PyLDn\nCN2wP+igwZZ5536yzwS6ppf9iu2b2zSATnB1n9eDBi9cKUSuliZCQLCm02lVVYuiScm5yA7FJCXO\nEhFbRBeLResXZpvpTtMhhCgnkWvV8GVxNlR8XrWt5QGsbDbbuhujYAx6RvuAF7Yanp+f1/Pnz9sc\nMF49o2cwAeCDvgYDfI4we83WSmgjgxLnMkFmgKAFwAEn4Hoi8wrH6bG7FsT0Yfx51ornzthw3F42\nNF3IfMxmszYHO+uq4XuWHJ3YgNqY2dAyJ5ZEXbdhubMjcr2ADamXY7ws6HHYsUI3F3syPjIyBl+9\nTJn7Nk0sb/w4s2Mnz/fI8sXFRZOR6+vrOj8/b+OZTqd1enpak8lkUJgLyE/w4myKAx/mw5Za9NjO\n+Orqqi4uLurs7Kz29/cHQQDy74DHdVCp/9Yj88FO0AGB9ellgJB7yZaad/Deyx3WL+THy4r5nW1h\nT47sSJFz/027fh7aAKI8PsboeSeI8RgSOKXM+Tsv/fjIiHzWWUL0kmVp+AvQtV44mLFOGAwmTwxw\nkCH35/lkVo8rwUvqloMt+jTAyeUwy7jbtD90xs126lVcDxq8uJjTKWcvF7Czgev09LQ53PPz86p6\nwQiKbh1RPHr0qO0s8MFjXk5AUDHWTtFXDU+WJbuCYGZEiZDAaO+wyOUQC5mjI+a+Xq+b8X769Gkz\n+P/xH/9Rz58/H2QRiDwZB0KLshnYWKi9E8e7FhxRmR44HiI+5nB5edl2bNmx0Tc8gr7M32Dl0aNH\nLdKuqoFSu7gPR4QBBpCY/oyJYlHAZmYfql4AiuVy2fiW0SIAKetUmKfTyikPyQsbeDt5aGSZwbhV\nVaMVTtoZnjT2AH9nS2x4nVW04zU4gt/cYzDtTBJjsz543nbQyKB1sKpacGK+OqMEOKEf2nBWEHlh\n5x2ZQC4yK87aAAABr8+fP6+zs7OWQfR8oB2gBr1wTVxG/XZ0jqIZDzYIQOHzZCx/dp43Nzd1cXEx\nGAN6i75Zz/jcIAJ5Rtczg5SOy3y2DbMcO0K3s/XGBi+HQqfMephmdrQ+nBE7mTLH2A3EcqnKdsgA\nC2C7WCyaLfCZQ5ZRO/LMfDjDZgBj8JnyyDwz65OgN7MdOQ8/5ywNMmFZ9P3IQu7UyiU+xu2s631f\nDxq8UCSIgfJ5EwAFdv+g/I8fP25gw4r85MmTgcJuNpuaTqfNqVrB+VmtVs1Z4IyranCuRlW1iM2O\nKKMBFApj6pNWGQ/ZlTw51EAER81nCCTK9c1vfrMV/nrrX9W2gLlqG+Xj5O1Qcn2eiBXwl/NiLAAv\n+OODqxg740BxM8OSDpM+ptNpy5o5CnB0BLDzNmWidGeJ2BmGIWL+LJHYEFLnkEsJdgL8wFuMgI2E\nDZOdAs+4Povvffw+z1r+DYRYEuV5dr5xGSTa0dhoZyTobKAdNed1ILe8Twuj2+NRGlgb1jT4OOvx\neFwnJydtzD5k0Zktt58BhkGr0+OOEr1U10vbeynAIIlzj5BxH9ZGDZv5bBsDSIImZIihI6f55tKu\nnRV6adDOdmSy1Zz3Y/CQACWBsvnm+wxMcnkNGbQjNFhJMF9VLVDALrJRoaoGuuPsB2DSmVP6Nwhz\n1shZDgMk5AyZs2wi28yZzAv2gCV166xpaVlHfzIIsE6lD8oseQIRByf2Azl+//bf5jny4jln3/md\nAXhV3SmefxXXgwYvpPBBut6eyG+2cBJlU4BbVQPjQ4Fs1TZ6cAGmhdrOC2VxZJkp3tyxQxuudXEd\nAd9ZaM10R/XeRsuBY4wfkGPneXt7W8+fP2/AzUsjGBun/pwh4TPPp6paX+zUgHYYHYSf+gTmzVzI\ncGSWBTp4WcJRkulgpaNdDKtpTVTNWA4ODhp4sZGkjevr60GxtA+6s2HgNFHkhXFXbTOEPsnT0aqX\nbdg9423klrmki40/v4mokdeDgxfb26fTaTMqjNPZrTQ89JvRH/zxQWF8jj54jgZkyBEAwoa6F2Ey\nJ3hDH4vFoh4/ftzus6OAJ46YvVRj4Guj7yAjM1M4RC/nGPxTazWdThvvXPAOXS4uLhoQ9s5EwLRt\niuuWXCwNcKJmDQBjXUDWzV8yBIyHe+0UoRHfp05a97CptgPQxIWv0CiDQ9o1SHQ/6B1y7gyn9dmg\nCn6ZdtyXDp5xZPYnwQR0sVymTsADZMjBZG8c1v1e9oN7MtvRW45hrAauCWIzqPHYrWfWP9seA5PM\nFGUg3mvL8zBAvc/rQYMXlgowxhyxj5KPx+M6PT0dLAdR87K/v992KNze3tbJycnAiBP9Y1RteDEy\nRLIIKAbUOxUs5ClsVlaYTAQ1mUwGqWD6scPMVCjnYlTdfc9RVbXzJp4/f94ctFOsGZVYuB2NUDdi\nuoxGo3bOB2Mg+mIeGOjpdNravrq6Guz24DlnKhwVe6uiI0iUhUxZKrJpyGcAAEAv8zMYvL6+bsWf\nnPPhpUOKopEHZAMAYRrhDO0QALfpHBgL9GY88MKOwBkFZMv1DIAXlgczArVRt7HJ+3yPMwbwgSJm\nAHwCNafOMwK1gTYNuBwsrNfrOj8/bzIAjZ3FAgDQL44Qehgs2dgzRjJE0MMZJy9XMHYCJNfY8ePx\n+ERqnuU+AJDBiwEosuDMjJelrafwDB3KDETy27YgHaSdrwMagiVnsgxekGvblwRDyD9gxzYYnsE3\n+IlMug7LbaTDNA2cEbBDdTYts2A5XssY42fJiKVHgzvGbLudTp6+LFfWuR4IyQxN+hdoYDvuTFPq\nnLNmVXdBBs/4x0DfcmaQb5DpbMx9Xw8avHzP93xPTafTZjw4mhvFZdujCTcejwdGAIWzQYLRMN1M\nq6rmRAAFOF3XRKShx5B7rRvmUwPCWOzQEGhH3U5zWriJOBgTy2VkZxaLRa1Wq/buIWjiKKmq7vxP\nnywl5em2Nzc39fjx4/rEJz5Re3t7bUkK0GIjjGGwUccJ2lgaQLlmiDYyOvJ4mL8dFQbWjng0GrVC\nbIwMy3LOMlGoDcBlCY6MA0BoOp3eOWuEdjg3JHf4OPMFH+GtzwDh/t7yk7NLBqFeh0YGoSUyawOe\nGUMAk7MDyCnBgY0wY2SO8JAxM0aPJyNPLhvXjDxZ7sBRmH6ej1PWnMHkDKcDDi/FegkGIM29uUTi\nKNVn3FjGkE+cGUt4k8lkMH7oyRzRH+QFkG/dpD3LFfQ1vclEEXj47JUEYumUvAPNuoiMwncDKRfM\nW55ohx/u7R24lkvXuXRjgEDGdLFYNPCXSxac8eN6EYMp2vCydWYhrCMGqGRd/H4wZxnhs2mR2R5k\nz7RxG166MwhNEJIZRcuidc6+w7xOm5Cyzue9jLd1PksIEmDf9/Wgwctrr71Wjx49ao6DtD5G2gYB\n5bKyQsie8job4vSZn8U5OIXpKMSMxUDaoVhwfZ4JfWCUsi3adxobp7leb8+6MFDYbF4sSXzwwQft\nbAyvxxoQeVuwD0dy9MQ4eXY6ndYP/uAP1mw2q+fPn9cHH3xQH374YXtbr9df7ZipXWCpAdrgMBxF\nOGLEsTq6sQLRhs8+edlyH9/h6AAmt7e3LTvD8hL0Ny/W63XbsbbZbNopu/Qzn8/b4X0JxLhsEInQ\nHWFyOJ6jY+gCr5yJoP31et0ON3Q9gMGdDaAByt7eXtMh+EVggO4ZhDEmZ3143sYsAat5B31oz86x\nqlqmzDVJBh421HYYtGV9w/mTLXR0zHhSNmiLJRj4Q6Bk+SI4MfBhuY0gCH55WcgOFnpSV+bvPReD\nQtsKZxEABNSPWJYsNwbQHqOdr+1PAjq3mUAUWTB48didBWPcttHOsnAfWZPFYjHIiuzt7Q3qVqAd\nQQHLd16m9YGi1G/RHjYqwbd56AwftZi8cd1y5WyeM0bWAz5jfD2bnfKa2TPLA+NnTvaH7jP5hVxy\n5QqD7QbPOdvkNl/V9aDBy+uvv16PHz9u9RYUEEJEp9arhsAkI3WfyJvCmqgScHRwcFCz2ewOePFO\nABtmhM1pdf6n2BBhYw4YZ3ZNoawU7M3n8yasRIzcs1gs6vDwsL3f6P3336/33ntvUHuSRoeMSaYm\nLezQwAZnPB7XD/zAD9R3f/d31/n5eX3jG9+o//zP/xwcww99T05O2nLL2dlZjUbbdy7hhJkHzzoz\nZlq7kp/veI7zPlx/ghEbjUa1WCwGQBO6eUkxo06chR0GjoXt2pvN9uj6qu0LLOGpMxjmO+PabDYN\nbGAQmS9Rs40d4z08PBwcJIhBZ7wJMvjfdMuojeyUl5xub18ssz569GgAHvg9Go0Gb06vqgHA4B47\nKcuha1Uy60jmD34wPoxr7vRxP64bQc4Znw9rRHacMcHgA3jIpi2XyyZn2KCqaqDXgZAzZPSR2Qhk\nmbHaQXNsw3q9bpG+s0jwq2q4/OfPoBEZ6Cxu5Qf6OIts55PAHV57Ps5eOMPhjJCDANtJZxZsC6w3\nBqAALW9tznGiBz5TZ39/vy0JYxvQt6qqjz76qGVz4KH5ZdsGsPXcXXTs55yRt311tsmZVeTXumOd\nNUB1lhuZpY209wYpCWTNUweUqZcef17cZ5l0du0+rwcNXgxaQKY4/v39bTErlwntNFlVDaIoLz3g\nFLIwDGPiWhmE1lvW3LejMhetOtIkUq2qdhAcztdr9a4RAQzRv5eg5vN5PXv2rM7OzuprX/taffvb\n327GGCPhbcUeGwqeCkb0QlROv6+99lo9efKkptNpA3aM1VkXFPu1116rs7OzOj8/r2fPnjXA6aUe\nnJR5i+HHKCS4NPi0sgEU+SHCor6harvEQF0OUSrOCnqRtcF4UjxOtozxI4fOUBgkkmHBaUNLCjEp\nFMaJnJ+f18XFRXtzN/PG4Dr7At0Bx7nkaNrSLzSHtjjmk5OTur19sUPv+fPnLRPlQlgMNzu/vHSA\n0wXQG/wm/+BhLqUh66YrgNGZRp4FSGDceWkixcze+gxPLWvYCx+T4APuWLrCYS4Wi7Y0BbBGBg00\ns14De+PskJdq/Vne58Mqe9Gtlxitx4BgljORB2wC8+Qyv6xLdlp8Zh2tquaM3Qb64G3njM322TqT\n2QDTAv11hsa2lwsAgM3lhGiyb854Qg+DKdOZz1yo7+wK8sjflinmbzADT6xLyAl+yBlI5MngxXwz\nOEpd45nMuqI/vtKG8plBEZdBKhc2CDmwXN3n9aDBi98x5OURjAtGJxXC21thFOuVR0dHzRiB6H3h\nsJ3GdQqQe2yAnAp1hOMoH+GqqsEJqXzmTIzfmWNj62zSzc1NnZ2d1Te+8Y365je/Wefn5/XVr361\nFotFAxUYB4MGgyyWfOwwnIYk8js+Pm5AgKJcdnU5AvQBYBjms7Ozuri4qA8//LAVEWOMMOwu+KUf\nRzeMB2eLIfQyB/fgPHEu3j1UtVVqljockXuJyTzihXwAOSIYGyIKkxknbVCz5cwWdTbL5XJw2BpL\nU+fn563eA9kw6AO0spXYW25NF2cvnPamzdFoVKenp/Xo0aM6PT1thpHxuebLUSG0RU4JAnDEgEfr\nBHzvRfGM2/pHjRu6b+fh4IVnj4+PazabtQwJdEJXcOLe+sw4bF+gzWazabUr8JS2kE1O2PVSFadg\n/z/23iRE1vO8+76qqk8PNfRwjiTLspNIRBN2CDYhiwScrBwiImIIBkEIeCBZhEC8MVIW2YWQwVo4\nysYEB0fRxsELgxcCJ4TEGO8tiIgk68g6Okc6g3qsqceqehf9/u76PVc/rU/f+37npD/wA013Vz3D\nfV/j/xru+wFstlqtIt92MshIjsAB0ZTFAUDQDxogp/C3rm/s8PCwOG3rhbNk6K4dNvbB4AV74qwG\n4+I1Dg7qHP2b79Dcc0EPHeljWzwmlzE8LnwFQMV2qNvtRrvdLsAcm8cKSGySA8ccJCEjAH7OY3yZ\n9ui+r3FGF99lP4MsHB4elq0uuKefCS2QF2Q5AxRnMw0aM2+czeQwQETOuC8yk30JemDe3u3jQoMX\n1+tNZKf4MNAWCphMNGvDaIfLfX1vMwSjRxTniNu9DTkjYiFzhMU4aNZzehmDT98CAsAeGggUYzg+\nPo633347fvKTn8SdO3fi8PAwfvrTn5ZnG527SYwarXcRtsDZeGLAaTxkXK1WqywZtcOioZEDBV1d\nXY0rV66UbMJ0Ol/6CggAsVMWMW8BNRgR6vknJycxGo2KnHgJPYY1GxLG50wUYIpM3sLC6fJq6OZm\nUGjkpZNEVfleBq6z2azM3wbZtXNn7ZwlMBiAZqy0c4nJBonPDJhszLgfr8RYXl4u6fPJZHJmjxkb\nS+jnqNA66fR0jqo50GvmzD3hMSCE+9dl+cxj9uhxVs/8Yhk54MyrRuBtdkaAyclkUnmbOkEB1zib\nhbNyJO1l0fAX25SbVDkvR+aWW2c4nb0ks4yzcnbB/Tn8EPihS5ZLdANZB6BjMx0M1PVHOIgBZNp2\nY4M9LwAb1xkwW3YZG9eRBV5fX4/19fXyfjrb8n6/X3g/mUxKP1XOanos0AV5MyiArgaBHBmcG5Ch\n6+12u7xjC/9A6RmZzTRC1p1lMYhy5ovrTF8DR4NR20Fni9zX5mcxDmTAm+ndy+NCgxeYbcZgqAAO\n7kFxtgPDAkMweq5Pcl/Siq4notg2Lkb7IHan6S1wdWUNDgzPyspKuS+O2xEMY869HygZy/cAENPp\ntLwl2xtbkS2xwUMZneJ0Fgqlx+lDC2iFEWMzNAxlfq0BK32I7HHEOHdoiaEADLjkBUggym805hvR\nMW+Mj6NVRwkGf66d21nYwRIVkdLFKPAs5s/1mfecZwPHnDwPGwFnAXKGicgZp8cLPA1UoC3yyA8y\nZmOGA84gAbowPw4b7xx1OfvJ907B+8hAxjqCniA32WFYl9Bp+I5MGmQ7asUh40icJeD+AB7X/uGd\n9Rc74DdYmx526GT/kFdKmMwBWkILAIxBuOlpesMzy5gdEBkx7gs4MKA38IZX2BfLlmll24Ytpdnc\nZSZ4xjjQF2TVY7WsGhg4G4w+OHNF1q3X68X6+npcvnw5er1eBeQAvrCdADHAGLS2HYQu0IbMB98B\n7s07/zbt3KtoefSP5whtcnYKW2EgZ4BkmY2IM3Lj7BdjxEZhm3megfh54MU2j2c6c3+3jwsNXuwI\nzTRHXzARg4XhMNOc9oYRZjbPwQBkxG3DgIK5Vu17Iag8l89yHRBHHzEvzyA0jlSoGTvSpL9gMBgU\nxaN3gijMUSfCT7bH0bCVx2l+nge9yHKsrq5Gs9k8AyYi5g6R/w8ODioGzFE5c7RCMdeI+WoWlJ9M\nBzRyUy1Gnt4RZ9roKfLcuJ8dtEt2XtHiqDWi6sx4Fvc2bR3BOJIG1LBKiuiHpdnOyDA2Gw/k2o4J\np2CZrXNKBi8G8q1Wq5QWDg4OilMziObI5RbkFAfhHYqhg3lsI++xQTfuvbq6GsPhsDgJZy7qzvd9\nzXPLZy6Lcj4r4biv5cf9PvDfDoPvXCaDxuiX9zFxlGx+IieUqsjQMK5MO2cqTF9n9gDBlmXbC77j\nHrZpfpbl0r2HOcjAYdeVxAHayKlXOZHZNk+gCTpqmwWNsOuUXtkXDHtFMDQej8t7svLu5fA8Z5PI\nhHiH4+Pj41I6dmbCYzbf89wzGHMgxDhHo1HJgNqG2G+hswbo/O/si8tNGYhGRGXjQ2/bYPCC/EdU\nt9iwD0WOSCTcq+NCgxcikIhq5IhS8h1MipgbFBsgfw9zbIT4HEEjSvJznJY3mMnOMSuEMzgGAq5j\nW2Ac1btfISLKmFCkra2tSrTFihEciY0p3ftEtLyxF5qSnWm1WpVSDHM5OjqKW7duRcSp4/TL73Lt\nm2eOx+NKYyeKZPpkpade7RIAdIe2o9GosskX4yZdDF3ZUM8p7VwftnK65yPTmrEiS81ms2xSZ2Dp\nyB+6IS/w1lkF+OJeCWcVbFAdAWYgwrnwg2cj1waV3I97eRfX2WxWIlee41JMvgfzRA/MX2cHcLaW\nZ3iBfmBYZ7PTlR2bm5tlqb111s91qS5HmdgGDmTLjpRnc18HOpQ8XLLKMowN4DMHLJSXI6Js9c8r\nBWzHclCFHYCetinwzSDMEX4GvJZNZ8wyPQ00FxYWKmUEAio7TmTdegXPASIO7FyyQd7d4Ekp3cvH\nGa+zXpR02fNraWmp8nLdRqNRekbYVM6vWbCtNpCwrfQzbffhF72QBuoZnDtQ8mtmALH7+/sxHA4L\nLbGdtA0Q3CKvBiTWAfsx21IDR5eQbXNNZ4MhnmXbaNDibAvnQPvZbHbm1SR367jQ4GUwGFQADFGS\nGQmx6OFgjxMzw+fakdjIOV0Hk71dfER1iZ9r5IwNI4rSOZWdS0H9fr84LAsnY0VYqJ0T8VBCGY/H\nsbu7W/ZQ4brxeFwZhyMhavsoio0hBsQ11Yi58h4fH8fNmzej3+/H2tpaKUExJ2cuTJfcfOgsi6P4\nHB0yfpfloB1gxGWiZrNZdle2Y4uYO62IucGlEdPgiMxBRNX4WOnZI8YOx8bVfLehYU6M2z1W0+m0\nYswxXNA3ZwAMjkzPHMmTmeH/nO2A7u4ZW15ejrW1tcoma1nucUI21Bhy6I9c5AgtBwFcDx08tkaj\nUUqK0NRy4s0UPU/02TLqrAR8ddmR+RnMRFSzpgZelpm6jAgg1kAL3WWcjt5dQuBe3AdaM06DD+jB\nPZG/vOrGsoQsWAZdokOfHRDa5pqmjMu/MFYAACAASURBVM0ZTzfbcmTeA5ihL8vGsU3Ish00Gcte\nr1d2w6avzuVtzmevInjK/cl0AhRY9YltIMO0srISrVarBJs0hHsfH4MHz4/D48EmOaiAri6bmQ/m\nlcGgZRY5deMttsL2K+uW5Qb7wj0NTNCnRqNR+GUQbD+ALbgXx4UGLzdu3ChpQAwFBHVGBHTL/xYq\nAwIroMsqbojEmBiUmEHZ8Dp1jSB5o6vpdFp2hmy1WuXlkvRd0L9jB4BRZhytVrXxM+LUCbOFumuV\n0IjeFMCEy0rOzDBH5kDGww3JZCA2Nzdjd3e3GBv3Ebg/wkuAR6NRZSdgImx42mq1SnbG0a154Fo4\nz8PQu3cGUGNnZiNjR2fHjlEB1AIWoavBi5v6MJ6NxnzVEvPhc+5Nn89sdtqvQmqYcTnyAljn1UsA\nZo8XWubaPHSyHDnDkVP6yEO3243Lly8XQ020ivxbb+A78kX5iTEb1FnOuCaDO76jfIgzctBikOXe\nK2ek7DT93AxCeDZ8NuiF5jgbzoVn0CUHUpQqct+E54gs8wyDMewDvHHZguwock9glTMT7v8yvS2/\nLKNmrlzjkqX1z8AsAwrrYURUbIeBF/wBvHj5uuWY5em2K4Ay5NPNri5/OsuDjhI02VcAXlgJubOz\nU3YmRwYdEMAbVjPhuFn51+/3K4DeK5OwB5b5zHuPDzsCTQmSAE7ONFnu4CcghbHxnrscJDsAx+YB\nzCxL0NRgj7kYdLtf714cFxq89Pv90hiLMIO0XXuMmO/fwTkGFBZwR/cRUTHqCExEdetxly+c/qxL\nN3IvDjsbjFer1SrZCxjt1SQIjJ04zhBDaKdDNAxtvDlXRBTQZCUxyHPEhkBTbkFADw4OYm9vL46P\nj2MwGMTGxkYxcj5wON75mHFRbrIjAjAaCME7aOyIxKl/g02Uybxzw6MzMRH1Hfwczp45rWsggCNw\nlOGID+BBxO3xmZ/wgVQrPKUMw7hdFnG6m2cgDxHVsokBPyAMurm0BI0w0AaEBrOTyaSS4cIxeGzQ\n17xkrKaVAT6fWUe4N6+jADRwbwCM9++wbgNG4alLBi6NYPwtO464s+Nl7IByg2Pm7siaci52w1Gz\n6WeZtpMnM+BmX/etWH+QIcuwx5Z3guVcL+2GRpPJpLKXDT/O/NB/0ul0ily6jObr4MNkMt+ELvda\nIJNZlqF7u92OtbW1Al6gF+cC+JAXN+IagOKIB4NBrK6uRrvdLlsUODPN812iWl1dLdlJXtjaaDRK\nQIJeGKBkfwStHYgjA8gtoCcvHqhrpAVkZ7+0v79fNsS0/ePZDiD9LD5Hlr2ghEDNQSXyBni/F8eF\nBi8PPfRQiZC9bBVHaGGIiLLxmOv/EWffOgpDbHTr0n18b6ADw1Fg997kjIKdj50dP1ZwL23OCh8x\nN6ZECu+++265lmsALiBtp3FRDIQcA+gyA2UnhI/xsyU3DozVKTmK5x69Xq9kWVhR5exZxPwFiZlP\njuyYH4czQ7k8hZEycLTjwhG4f8DgEGPg6DsbHEcpOYNnR+x0rA9kc39/vxgGOzMaNaEB/HLEbuDi\nFTPOBOYeI2cB7Hz4LmcDPHfflygdGrhh1E3OnJ8PdClH5HZOPOfmzZuxu7sbjUYjhsNh4aN1hqZr\nnIY3nCRC5H/ApIMTVra52R9bQmbChtzyAKDHYNP0y7MMjHA8PI/nmwYR85Vv2LfpdFqaRl2W5bfL\nF0S9BsgGjuYxurKyslJ61HKm2nbNPAX4of/opDOxtm2WIeQXAGww53NdQvH4AbU4Wnhi0AUYc0Mw\noJAfdOPSpdNVkM3macnZTpmeFEr0BBOAp/vvvz96vV5MJpNYXV0tr03xpoa2Ycg4AZgzJ/6fg7It\ngIn7WMdt46Etz0XuAZZuXTCQ5zoDKGdUob+XkxO82O6ju17ccLePCw1eHnjggdIs57Snsx0YEpQe\noecaR2IGLAh1BiwIfURUkGdeTeCUHvfmHgY9dnZE2yiXQU8GUhgorzYaj8extbUVr7/+ety8ebOk\nCqfT03fbWGgpIwBQoAtC76yLjQeGkndJNRqNsnvrwcFB7OzsxOXLlyvGxfRG0G20vW8Mv/nMPMKw\nWWkMKqGPAa2dCQDPxtgOJ2fH+Nvy4WdnY07aHqfhDJEjOxywjQByBC8MbPgcB4sTc9bP8muaIE92\nBjb0yK2XlnteyBvyTmSOoeIZObo1yMqlFhtKG1f3AvFsaOHSwcLCQtlQDLrT5AwvkGt0ljFSZkZ3\n7BDJ1pAJIZuRQTMNpWQzI6I4EIMhQJNlkzEwr4ODg1IKonTsLA9zsP47G+oSsnXMPLQTsUxZFrJN\ng7/uk2AM1kf+NsBkTET0vMIk9z25tOBMnO1nlpEMqg0oPQ9sGTbF2cV8DnLgbJNp02g0SsYR2gB+\nDw8PY29vL4bDYcxms7Iv0vr6eqytrcXCwkKsra1Fu92OnZ2dsqM4wRXP4JmU9HkfEgADoALdKVPx\n2fHxcQFRNCJ7Yz/oEzEHJy7fuD/FVQrbRdtGSmc+PB9XM1yWo3fpXhwfCry8+OKL8c///M9ldUWj\n0Yhf+7Vfiz//8z+PiIirV6/GCy+8EG+88UZ0u914+umn4wtf+ELlHt/61rfi5ZdfjtFoFI8//nh8\n5StfiUceeeQDn7u+vh6dTqeSFsdhR8SZpkaE1ojevSJOwTs9CfNc11tcXCwvpkOZIubRnyMKBIAo\nlHNJ4x0cHJSxur8GowlAYZdVO9SIuVG5dOlS2XJ/OBzG+vp6MaL0z4C0+/1+EaalpaUSERhtR1T7\nQ5aXlwsYomeF2jAO5e23347HH3+8ZHkyzW1g3QRsWptejgptdLwSxAbPkZbT01wDKHGpyE44Z7ZQ\nWBtQHKE3L/P8yDjkJllH59wPB4VsGKRQBnD2xxkBlw8c1TgL41IanyN3ztIwDoyzM5YGum5IRvYY\nS6vVKhkJ5opeUnpgzlzr+9jRk9GA3s7MMXZnFFyqQhbgTbfbjaWlpdjY2Ijl5eXCl6Ojo/IqCxou\n2c0YnSMN7gZ2nK77eXBQV65cKa8suHHjRpycnBS9c72fcoLfiYSeGrTwPA43oSJjdlIGGpY1g3Xz\nmEyrbYmBJnTlcEYZGmMbrYvYyu3t7djd3S0ROS+vZF4ufzCHLF+WaetgBtl8ji7a3jjzAj3R1VwS\ntH/IwRFlMADF8fFx2Sl7Oj0tq7KQw30ii4uL0ev1SmYcQBdRzZRcujR/CSz9M7z+IgNNADaAZTgc\nxng8jn6/X3k3mmUIsIjtYHzYMmyPaWs99uooyw2y5LdyM37rGGO4F8eHzrz80i/9Uvzd3/3dmc/3\n9/fjueeei6eeeiqef/75uHHjRjz33HPR6XTi85//fEREfPvb347vf//78bWvfS0eeuihePHFF+PZ\nZ5+Nl156qaz6qDvsbGyI81IyiA+ooebJ+W50dOqQzyOqBhVDvr6+XqIo7/xKWcX3z8Y3Yr4yiPQ2\nRiCnkXk2qztQNht4AwwEmvcuIWTMCWfGcxh/o9EowkvUZUfhH17NAJCLOFWmd955J4bDYQF1dryc\nA+/gFc1qEVXjyLwMZjBCgMhcP4ePjgCgNbTD8biJ1XLkSNVRHs6EOWFQnBVgjhhR+O8sBrJgsLy4\nuFjZG8c85ufk5KTsqAyv3JuBcXCJ0ePEiAMsvCdHq9Uqu4oii63WaSM4y3eRA4yf6Q5IAgQTVABs\nADdkOExn66jlmTFDR67l/m46dbkWI4wTbTabBZgsLi5W6vu9Xq9cs76+HhsbG9HtdotswiPkZTqd\nFtmDl1euXCm2AIAEvwBI2LHZbL6TMj1e0ABjT1Blh51BPc7RuoveZIdlAJCbMp1F4jkR816XDIoM\nGgyKIqqlLnobDg4Oot/vF+eGTDnLgU5m8GUbyuGAIn+GLHBPAxDG7FVD3N9ZYpw01zIf96E4e+ts\nJDxFRvEJAD2AG76JZzBeaE4zPKAOWcBvsbybudBrQiDpN8hjw7AtjBmb4PcDIlPejdq+C1nh3vgV\nbDQ8R+fa7XbJ0APGLl26VAE9d/P4vy4b/eAHP4jpdBpf+tKXotlsxiOPPBLPPPNMfPe73y3g5Xvf\n+14888wz8fDDD0dExJe//OV4+eWX44c//GF89rOfPffeGGI3vkXU71CLwUKAUbSMyDEeGAKY5/Qw\niLrX65XVQCsrK5WVFCiC094IEoKfmzztJEkDOhK3Y0YZbQRw5Ciw3xxLhMWGTbwbAwOIwcQZWkkR\naDtwKx2KO5lM4urVq/Haa6+V7Atjj5g34/HOH+bkMeOEc8RkR4ySkZnAWVOLdhoWXrpUY8PrTJCz\nKygkPMF5cQ5ZHqed4QdGJfMK/vA5NMSg8TyAD3Lghk+XQWyYHa26pMBnNhjQlOg9IkrJhOuRfaI5\nSiSO2gz2uQ+9TDwHh+9GWvSW65F90x6eGjzYcV2+fDkODw9LFMx3RHnQjJVvbuI/ODiIy5cvx/Hx\ncWk+xglZZp1yj5hn7rxaptFolNUtZBEIetbW1kpZyKlz9yIAcgBczMOLChxAWZewSQQxXIc8cR30\nI7LnPgY1AF+DNPQNu2WH5kxJltdMI5e2uNaNwdgdZ3CwBdAgB4C5J87BDbJnPXNWBfufARk8Mc9t\nd+pKtMi89xri3pRu8riQOc8F/iC7Ltthu8nMsXM6IAKQxI8zYjzHS88JmgmG+v1+AWbY3NygjfzD\nY/cdwSMDP4Ir93Fmf3C3jw8NXn7yk5/E7/3e78XS0lJ88pOfjD/8wz+MBx98MK5evRqPPfZYRfGe\nfPLJuHnzZolAbt26FU888UT5vtVqxaOPPhpvvvnmB4IXIg6W9mI0UBgMvp2Plw8iJI6uEfZc63Pk\njPOMOPu2UBhrQXfvScR8ky0bBzuaiChC5ueQiXGmxoqBkTFYOjg4iMFgUOrpvDARYXOpgr4Bxpiz\nLtAQw+jX0kO7zc3NuHbtWnzsYx87UzPnPnbqdrg4LaefUaCIanMeyom8oOCgf3hFNGQHy3c81+UJ\nGwHLLJG4aX5e9sZZH4yesymWJztIgDOywjO4hvHzmctgTp87WrXxMqhArtxEyf3pkUFOyObZcPuw\nLPn9VdzbaXk/22DQNOF+/p9xw/u1tbVYWlqK9fX1WFxcjNFoVByDja4zX24kZbyca3lijsgMtKcX\nBt2A5p1Op7JhmKNowBRjj4jKe40AsHyOPvp85NifWdedfcs/pq2BgAFipjO0sVNn/tg+lzE4x/rA\n71arVXrjOp1OKakQ7XNf5ATH6uW27oUymK2zI9AEmhmsmBbW+fOAP7QngPN5BkYegwMl23z4xDXo\nh/kB7/k8g3r0ycCSxmzoZB21/QK8sGx7NBpVMlRkEvEx8KbOrtjeW25y1gwAZ9rbL97t40OBl9/8\nzd+Mp556Kh544IHY2tqKb3zjG/HVr341vvnNb8Z4PI5ut1s5v9frRUSUN3hGRO05pKvPO0CcCDpE\nQchtxElNumaPoCF8NnREwdTvMuKPiFJnxJBRH4+IihGNqKbBnSomInPkw/8bGxtFkIncp9NpWfYJ\nmkXROIemRByueyEc8RqpEzEa/DgbY8dmx42SkQnZ39+P27dvl/FdunSp4uDJVAE0MPiOhuyQUVD4\nAiiDLgAkgz0bfRwDoBWjbQdsp+VshsfgjBM0hK82+kQf2SEyZ2eWDKzzrqM2VIwBkOml1ciloyDm\n4P95tsGS6Qzt/b3l3zTl+egPRhagQ2kGeamLZJ0VqPvOBhJZYpxkKdbW1srrKIhmifTIjjL2OsPL\n/858EggxNjs389LZNnZ05hqcFwGSo1cOZ4oajUZptoSXvt5ZPctsBny2dQZ8GdzauRucGDRBFztF\nZ1ycoZnNZiUbwMpDZzu8esmlKAeQLvFQAoHXZNbcp2O77UwTcsXzc+Ylg2XrKc+z7nEdfHBWCVlF\n57mf5dhZJOjJOciGj5zdyfpqm85YGJ8DBweN/E82n54bPrcOA7hc2rNsGdA662q6YmPZJ4cl5uPx\nuGyncS+ODwVeHv7f5Z6IiCtXrsSzzz4bTz/9dLz66qvRbrdjc3Ozcv5gMIiIKHXxiCjLHX3O/fff\n/4HPfeGFF0pE++lPfzp+5Vd+peKYvU8ITUlsxIbgY6yInDgARV7Ng2NFQFgjb6FyxGylt8Hmb347\n0uczXuGOQNlIocAosR3/zs5OKROxQy8Oz5GLswI82/fzsk0ySpSPeB6Ngo5KG41G7O3tlSZeShEo\ncbvdLs9iXvyPMrvR1UYVHmTnh/HFEZg2BhPw3TVr6OnoIV/nqCwrq5d9OpPFsxino30MrtP5gEJq\n4zbQODTuRYTORnnZIOcSTHbYjMUgy0uZp9PT92Lx25lNG/yI6so3nEw2uhnc2Wk6k8D/WcadhWFO\n9JwR9NhZ0yfgcgRRvVPe0JXnZodu/mWw4H4zaIfe4xBweDkzkIMq9MuOnzkiK6a9QZTP95gNSEzn\nnJWz/nNvgwBkE9BqgG7HzAoXb/3u6Jxne75ZRuENY+cagKEDSfOc7zw389OZEQdxBmcGL9lWG0T7\nb2ckPBcDI+sdBz4hZ4/JwJOZ9BJ9AjWDSgM0stqMyUuSzf9utxudTqdULRwcwW+elTPVnGvgwjyz\nP8M/8D6mH//4x3H16tVKr8zdPv6Pe14g2KOPPhr//u//XsmMvPbaa/HRj3609KQ8+OCD8frrr8cn\nPvGJiDgl4NWrV+O3fuu3PvAZf/InfxLtdrvU/XguEXpElegWNgy8u/ut7BHVt5dmpG6lxxERRUTM\nSxmOUB1J2Glb4AEB2ehaqTwm7kt67vr16+VVCIA3jDlZHyL4iFOkTwaLsXOtnY5LOWRTSFnSTY/R\n7vf7cfv27fj4xz9eybRMJpPiUEDmNiDeVCxnX6xMbuadTuevcqDswisQoCuyYAW10lk27WTqItm6\niNc/zvZgCOBzjrg4D8MLyHTPBWMEUDrLmOv2jhoxxgYl/hw5gp7eyRRZoixFmdIbYJlGNrDcn/Hb\neQBMT05OPrCx1Nf6vnZyx8fHsbu7G+PxuJIRcCYOcAbANHBxJgZeefMy6Im9wOExF5c/Xc5zv5Pp\nwd9eko7uknlDN31f7EoG2aZDzgRgf7wvSM7IGVBxX3hkXeZZtjUGaO518f2xb4zb/LYdtp2GTi4j\nAXLc6M8B3QHjfO/MhTOKHNZBlzGdgWOOHMhFvl/ObNkOWBc9NvyEy0P4FcCLwZztk3XJh/2Tgwvz\nmXGxZ42Brm0/88KuWjftIw1gbJNywHZ0dBSPPfZYfO5zn4vRaBTb29vxR3/0R3G3jw8FXv7zP/8z\nPv3pT8fa2lpsb2/HN77xjbh8+XJ88pOfjIiIb37zm/FP//RP8Qd/8Afx7rvvxne+853SrBsR8bnP\nfS7+5V/+JT71qU/FQw89FC+99FIsLCzEZz7zmQ98LkJAfdlGJysSKTUTN6dyLdQGFAgr57uGvbS0\nVATbKU7XEekQJzp1zTunfXFqKCtNWVZKR7g4Z9Jy165di+3t7QKAWGrnlU0ACIwoRhMQZsNFtMMc\nXAsGQTtrwCZ4165di1/8xV8sDhmlZ14oDoq6vLxc+gOazWaJ4Jxm5bmADxtTlAdjlBUPeeGeOZLK\n5Qt+833OXmA8uJcjOXhocAGPnZXBQNg4AdyQD5wTvICWjUajlB+danbEZ/ABkHXmBWAEv52t8tiz\n03SkWReBGpDDBxyxr2Gcmc7wLAMjZw9OTk5K1hPA64xisznfdt0y6/mY/8622SDzfGd/cmbNWRzG\nYefuPricicjgzhlen2Owyn39WoBMNwAPx3ngxfTF4WJLGasdm51txDyjii5kp2kHZycN/fKcDL6c\nNTKwhR5Zh/09c4ZvyBvzcQ+L78Wc7CcMVgCuduB8b5CQAyt/l3tJTC+DDcu6eQLAM49sTwyYLe8G\nGeZpnY5h0/MzrO/WBXhmmUbfuZ5s+wetIP7/8vhQ4OXf/u3f4oUXXoj9/f3o9Xrxy7/8y/H888+X\nzMrf/u3fxte//vX4zne+E51OJ373d3+3Al6eeeaZ2N/fj69+9asxHo/jiSeeiL/5m7/5f5xkRrBG\n0hDSaUZHRj7PBoUyixnlVTwwE6Wz4jlS5p4YLjrPeYYFBmHGSbVarUp3uWvHZFIALTi74XAY29vb\n8dOf/jRu3rxZjCX7DpCZsiFtNOYv0jK4s0FklRZG2NvDk+Vg3pTeDg8P4/r167G9vR1ra2sV5+kM\nGU1hZGRYseG0KQ7QKVg7YqewoW02TBgiIkqcczbe5jkRCWONqO5FAn1sEMlC5fKWgY8zHxFn354N\n4GVpIeCS7CLjx2g428LqMmeYco2eZ/r5dtyA7pxN4VxHfDlbxfX55YJ2UKaL6crBeXZ2nGeASRYD\nubUsuJE/ywLyYYdFgOE+gewUobnlMfPO2Qf0iM8tn+g7ckBZm2fMZrOK7NuRZHm0gzVfnJ3Nc+J8\n7mOecp31LQd53Itgx+V53zcDNcsU39vBcb63TvASc4NmAyIDnwzEGX/u23OpyI302Z54bM5qZPlk\nLh6j/ZIzJwaSmW/YJWw7iyIA4YCn3E9JJiUHY8w/623e6sD0t+zbBhgcmraWozo+uSJBgHovjg/1\nlL/8y7/8wO8feeSR2j1gfHzxi1+ML37xix96YBFn9xwg+ofJJrrr566P5ug990a4ZGIDYiHhnhhU\nOyg/g9R/3mkSZwkAsvBaQKyUpPeHw2Hs7+/He++9Fzdv3ox33nkn9vb2YmHhdKWDjTtGOmcncoRt\n5G/gZlTebDZLwzWKCVg9Pj6OnZ2d2N7ejo985COVZZMGDuxbA5BxSYL6f8Q80oImEdUUb47ana0x\nL+1ELEPMHR5zPs9wGYBr4FemSU6pZsPqKIVnck+AA01zOS1LtM1Yck2ae3lpdTZC5qMNLrLBZ9Yt\nz811ev/O44FujA2e4Jjs9A0iTNMMJpljnTNwFMx5zmDaPhhgGvhk3lmP3SfFnHi++Wo5Mi08f4MX\nAgk7JOuUaW4wbDCQo3gcbB6DaZT5l8dqnTKtOce0Mv/5YazcB0CQdcNj86oi5s5vy0bOAGTAaFsP\nXw1YndHJgMN6YLoCIl2i9FzsC7JNhSbc3z7I8/d4yLISXGYAZtuAvlqnXJqEtvyd+W07kX98vmU/\nBxIGrT4sS8j9hQIv/1OHFTii2unMYccPM+1MYLj7FAANNlwYXZdbIqqoFaa6uQ4BzV3kFgCe4ag5\n75MAUqZX5PDwMPr9fuzt7UW/34933nkn3nvvvdje3i6rbvzuFu5vAXdmAlBlRG2kbYPOj8tFnA9A\nGwwGsbW1VfZdyZkuDAqKN51OS4Mx9yBLQ3SKMmdjhAzAM8aBorAKiiyP52JAmiNMz9/LLQ1quA5a\n8B19Qb4HcmajbzBQJ9PQjW21oR9y5r15suPJkS8/Xi1k4+17MC9o7b4LZ0ZyVDabzXun7Ly4n3tS\nspE0D+ycrIsZzNPf5T1rDCwMTOxITV9nZiKiwtecGeC5lh8HFS5h2mif5wiguzOBfJ8DJcaGfjio\n4sDu2EEb2GbnZQeXMyJZhrKeMR73S1kmzE9n7cxP6JmzYxkY2U7kTJ7nZx32WAxs0V1fWweeDU6c\nybLdcFbDZZNcIvV4DDwMkuynMjhwhmM2m2fmuMbNzvZnGej5Plm26mTDep39F9dYRjKY9t/M7UKt\nNvqfOkx0EzkLj8tJWZDz/RAER1tmTkRUAIDLEBYap18jojgg1y4dQeVtwbmHsyQoPHu3bG5uxu7u\nbuzs7MT7778fu7u7ZR4YOGrwjqAoY6EA3JPshmmXDShpeZyUoyj357Rapzu2ukTnF6ZxDhEB5SkA\nBqUm0wmnS3nKBtJOFAPv/hM2i0IJne6FR44syKRRwsM4Z8ODo+C3HSdjs3xRkslpY347MnekAnh1\npsQyZeBsoMJcMi1t+O10bGiRQeQPOruZ2zrGsxlrBgGea77eTiEbTQMX05JnZIdj3mbnnvUXmbPT\nhB6Zzx5jzsJiLxx0OHjhWXyPPtcFCHlcNvYuazgbaKfkcXl8/jzrNfPNZZfMEztYZzn8XP7OAY/l\nwc/MumzemB6WlSzjnksGwAbdzK2u/GkgksdvB4y8+b51fsLz8Njrsg+2X1zn4ITFDOhDBsnMzfM0\nr/m/LvAw38xHj8f8t0xkfnqO2X/gW7wi7W4eFxq8cJjYmYARcxCQSwkoIMjeaDIizhigbEi5jmdw\nDdehSNPp/IVUpB2J1B0B5AjCxoPt4zECo9Eo9vb2YmtrK27duhW3b9+O7e3tIhiNRqNSdiJVztbR\njhwMWjy3TC/OZ85eCso59GlERFnf751bTR9+Ay68T4sbVaGvownz1QDBkZVBokshnMdhxbMj4n+X\nDjk/G9+I6qosG3loacDAvW2McZL0/Fius3OdzWYVoJPnxHhYmkgWy8aOeSCXdmrIh3uIHHk5Cjf4\nweH4fEekOEc706y31qvsEDg/88B04u86p2rdN/1zxA4YcwYin2tHYj4zZ9PG9oVtB6z38NLX+VrP\nwwC2jnY+7OCzM+d7A7/MJzt55mjAeF6ggwzYDroHhGttE86ThYioyH6WdQMeZ8Q4kGWAo0s2Hmed\nXFlX/NtHBjzQwPJ0XibCQBHeOkNOsOPsYV0rg0GwAdB5Rwa7loEcwDCuDHh9jqsI+C7z1vfKwcTd\nOi40eMmCYoHPUVquAVrIMbScY9RIJsAAxhuKtVqtysus/D6lDHayA8BIsFrIUUwWEBSXc0ajUezs\n7MSdO3fivffei1u3bsX29nYMBoOyHTkrMRjTZDKJnZ2dCohqNuepfDsxlDobDZZ5z2az0k/D9UQI\nlHd2dnZiZ2cnNjY2zrz9u9mcv8mYg/nlTIpBg/lm52iDb/q64dHNkjmqsKzw28ptnhjk5rF6DDlC\n44cInO9cisxZCj53qQcwAG9ytoVzAS7u9WH+nov5jl7lyMkOkPG6HGKAW0e/DM5tzDJ90VeeWwce\nWq1WeWeOQb71y3pjmchZHJ+XAx6E6AAAIABJREFUI2nLpA+DSA4HJPDENqDOKfj5mTces0GH6ePr\n89ign5/vcWTAlp2ZSxfcK9s2ziEzR5BkfeOZBjrmKfM8L3vkANE20HoSEZXz8o9tLQ3dEfNMJ6V5\n0xmfgB4ZcHvMtkMumWYQxvnM3RvNuVmexnx0OCJKA78BVV2GyUfWNctVDkT4zPbNc7PN9FFn97Lv\nyvfwEv67eVxo8GKDbWM8nU7LSgMbZQQ/Yo7kbeQ+CIn6OUTl/O/Xh2fDA0rmXKN+BJhUmhE2G65Z\nIXB6+/v7sbu7G9vb27G9vV12TByPx6VhuW7dPmPkWRgblntDF6J/l2dyCaDVakW32y335T0zvF11\nb28vdnd34/bt2xERpWTEGDAijjhY3m1nbpCHwTLYpFmS85jHeDyORqNx5o2sBi/Ig/mFnPB/joy8\nGorIlKjSANjXO8XqcfjHzsglSORzNptVuvb5P4MHeqLcF2AQngG155yNlo2Xdc7z4H4uXTnTkgEm\nf2f95WA+Obq1DPv+3NersDKotP4iZ9DWwNZZAeTcDtqZSIKBvJLLOoteIB+WPTuUOhuWZYj7oouc\nc54Ny/bQtM30gRe2aR6PdcQ88G/3vxmIQfssQ+7zyeAeOlof6hxnXdDhcduGm8YGg5kWdeNxSdT6\nwb0zoKkLiAz+Z7P5CkIyzA5SXKImwOQt1hFnN+Rzo7dpUQcWLQcGKuZtliXPgfsYLGW7mYOMiPle\nWTlTfjeP/1+Al6z0GPCIs01SMA6hiJi/TC43tNoY5vRxq9UqNd/l5eViVLwkkoNrM7hxRITgELlQ\narFBpRGWjMudO3diZ2cn+v1+WVJH4yKCxQsYuR+CztucO51OeYsuhhZjxG9oHTFv0HP0b9p7yd5o\nNCrghRIT27mzV41Tvt6UKQMIRyd8zjV2NKRZAS+Hh4exsrJS+m9w+tkRnhdRZfkBvPA8emlQTker\n3tMGXtrpwg/uN5vNytb6zeb8BaIAOo8bOcT4AYDdk+Qj7+uQI0PkkTKqDZSdLudlsG7HkLMA8L/O\neFq26o4ciTMOByeMyQ7FPLTT5nv/jTP1mAz2zEOAdKPRKI3zpgdj7Ha7JQtpgAt9cOoEL14U4Lnb\nGTIP26nc8I3+eD6egx0HwMQye17GwHw1YEY+6rLKBv6MOYM2Bx4ZSJk/LsdhLzNQyFkN5kuw4cCV\nYIO3N3Mt4NtBhumQAwvGBD1sn3K2wnRz5tuyRvY6IkqrQaPRKCtHaRlwD1sGr3W6nXXN/HHAYL7C\nNwc88Cy/6wn+QDM3+dcFRvfiuNDgBSOfFRYnZmWwENqYNBrzTYeInE1oKw1GBuYOh8M4OTkprxzI\ngsQ9jOA9ToMWQAX3YrUKmZbj4+O4c+dO3Lx5M+7cuRPXr1+PO3fulJcuuuGVzMVkMonhcFhBxCsr\nK5VdOTG0jUYjBoNBJUq0Qjp6RaApSzEn9qaxkeXVENBvMpmUCIL3KUVUI24Uvy6acLTgeTE+nsu5\nZHNytAeIsXPjntmYZl4ZJHuZLLKHjNGjZPkC7MEnmm4dReUoEkPgJbMYV6/2YPddbw2ODGKs65yZ\n6Wyglp2XMyZ+wanPsZO2cXVJxVE+h3np/61/zIX7EuUDAFwiNE+yvHifD+hRlwlgjo6YHfESrOSG\nYVa4sV8UNOZedo7c13sr2ZEaqFqv3FBuAMkcaVjPACaDEGya/7edxGbZHmIn+YzDthNauL/F88Fm\nG3iZX3b0PMeZPMsK39sOGJRZtvIGod5rKo8PXtpG5aylbUcGU5Ybvrc852Xz6AnX+RUUXlVI0GRb\nmME9tLcOe0ycnxu/Gaf1JlcPbEusL/YZ0JjA0y/L/dlqo5i/D8mRC4zCoRvdQlTKJPnFbTnyNGMs\nyBiP0WgUh4eHsbGxUQwVQo+RAoXCWEc5Fnw38RoQsCX8YDCIt956K27evBmbm5tlpRHzJALMkT9K\ngvDyfieyJhFR3iZNxGIHy/xxol7yjYIsLCyUpZukQtvtdkwmkxgMBuU8siFra2sxm80qEUZElGZf\n7y5rY8oyaubEgVIzdjZ1gu82EkRhEVVjzJxcWoEGNkic4/kb7NjJOzL1PhHUse24MArMB161Wq3S\nW4Tx8MvxGCt0R27yAQDNTiGXc2zwOHJqOTvXHN1ZvjF6rtfnLInHkX9MQwM2aIDMeXmto3Nn8Orm\niYy5nAu/DNqhg89xFA1dre/mA/JrW2NnZmDEc3DW5pdtkunkMqHlOPOzjsbQBfthPTGY5vnw1GCF\n+zAfDkBidpLQwODEupizWfDdNjNH8JYl63kGnjkzwbyxLZ6P+wWzHFmW+C7zyp9DH9sH5umeTPMy\nZ+3du+ZMSZYTj89ZUx/YKjKJDgy41npogJ51HlDH87xil+CKe1z4dxvdiwPlhmGu/RGJGumSqiNN\nyGvZc8OjkThRrxWTbfC3trai3+/H6upqrK6unkmreTWOUXqOVo1m+Z89WiIitra24saNG/Hf//3f\ncefOnQKaxuPxmZq6y19kHXBspgHlidFoFO12O9bW1qLZbMbt27dLBL+2thYLCwulN4WmNugBnfls\nOj3dGZbXCDSbp025vOTv9u3b0el0SpnkypUrFaPX6XRKIyiOHpo5nQuNnEGLqJZleN9SrsXjsGzA\nAGUom0GA0/LOOrnsY+fhTRINAp2Bi5gvsfeS9eXl5UqpkjHAZ+RkdXW17MjKZlZkWxi/lzZHRMVA\nOzJyOYn/bYiyc4yYOyTmg3HDQLlcxvjgaZ3M82xofHR0VDHCdmiADWeiML78beeQnat5OZ1OywtI\nzVfmQuYMO+L9jAAqgOg6cA8dkDVkEUfIuO0gGad11pkk75UELaC/5wm/7TBte7Iz4xp4CGD2fPme\nfg3T0RnHnNGyTUZP7STJPtqxZyDHGB0U2lm75Iy9N8DLmQjrmMvRyB9vte71etFutyt08vX8Ru8M\nXpFBxuB5GIDlPavymOAv8nXp0qUSgBLc8DxnVGxLoZlLPQQ9Xlnp8p55AV3gZ37lhvkN/dFXxoKP\ncDB0N48LDV5WV1ej2+0Wg+lGVRwwzspNUWRXTk5Oylb3MMtGk71GOAfDhIC6b8YRGOfAQEpAZDu8\ngscRCcJzcnIS4/E4lpeXY2dnJ65duxbXr1+PW7duxe7u7pm0m9PTvJo+N7LyTiOnHff29krvwOrq\nagFLo9EoGo1GdLvdM2UhhK/RaBQAZdAUMU/PuvzEtQcHBxVjEDF/Qy8Gs9GovjrAkQ59AVaszN+F\nhYVKoy50d+Tv1DI/OAyDQhs5G2pnSWyMMI4+35m8iKg4FsqCGUTwHOrbo9GoADzknYwc8uAdSnEY\ndhQGtBhMG3TLoGkGb10+sLMDtPGdd7U1CLWsu3TDUZeCxrByb+upnX1dtoL55x9ogYNsNpsl6+fy\nDobYzeyUPBmjnZ434HNZxVEz8pp3SnYkbXm204VGjqbhs4Eq87ajZ7yMicN0Q6Y4h5fEon/YK4KZ\nOkBgGYZmAOKctXAmHFvBcwyA8jUGOciIg446XhuwOYuAzhvgHB0dxd7eXln1Y2DqORu4sKcW/LC9\n4fBcDK78HeOk3wX58j4vzhaiS85qQUNXASw7zkKbN9zXwaNtmTMv1jkHsuifG7ctB8z1XhwXGrzA\nABjirMDa2lpZwoyy4SAxXLlx01kYIvKIuRF22ms2m0W3242Tk5PK8kCDmVxP5vnuXaAM5agC4LG7\nuxvXr18v7wmiNIMxzegchULoeQmkN4dzZMSRUbpBmQEJtUscW8S88z3iVGH29/ej2+1W0DtzQ9Fp\ncMaROlPkezvaM4jJIJPPvB8JypMdidOj9AnxHaU3R/fuccpRe35vDk7P88GxkJExnxj3bDZPT6P8\nyBnnAuxarVYB1bxuHlpZppAD64rBs0EZh7MidvB8htzYSPOZnaMdKqDeQC4HCjaMyA1/852BmXXF\nvwGc0N2ZU4MDR4d2+BhfG3uDTuho52kao5u5FwpggFzgFJ35sl3JGQSAHjQ1T+wsmWMuVznjZ+DM\n2NB/MrHQtNPp1PZg8b9pYZBmHTVIzs484uzO45ZF0902xPOA7thQgwGDoWwzoAFZS+iU6UEQiQ7b\nCRvEo+/ZhkEX+GQAmQMLrjPtsAceGwGqg1j3XRGcAkTMH2ek+cwgzCWkPM4MZBykOOCwbYuIStYb\n+3EvjgsNXiAkROJoNpuxtrYWly9fjogoe6jgoMfjcdkoCqNIlzdMdDR26dKlWFlZKczDSK6urkar\n1SoZCoTTqTuEMisOz3R0gBECdd+4caM05hqAITisqsIR28AhLIwdIOYt9ldWVsqzMJx2rjbE+bkL\nCwslg8L8AIYonVclAYgofywvL5dsGY3CvB4AR+19Sqw4VqyIs0iec230Oc8GNC9bd6TLO3D8Yjhn\naUgRw8vsxIieyELxdm/kxyuJVlZWKmUggA50tkNztgae2ZE6AreOmE/IuAGGgQ9zgMaU+YjU8v48\nZNa8ugY62ZA7CwNNPbYMpExTZNM89zyYG7SwU3B2gPEiBzlD42jf4A7QgX4yR2/Tzr3Ra+YKzywv\nDriYv3Wc86yPzMmAHHDAsw1A7Xjs6A0+cnbDc8n3wIEiD6alM1bYHWcnOMfZO77LNIHezN2yZL7y\nY30zeDJg4r4ATHYDh5a2OxFR9N/NvRk4IR/cx1k4AwkHsZYJ5uaeRQCt5Yk5cx7bYrg866weWSD3\n8Bi8EMwyPwJqzqMU5fnzDPs02whsrcFozrpkAHq3jwsNXnZ2dopzIKvBCpZ2ux29Xi8mk9M3Fh8d\nHcVoNKqkGK2wVkYU1WUg/wBeqIf2er1iSCOqfRAcTqFlAwUgyBHpjRs34urVq/H+++8XJbEDRtDq\nlrdyDoKKYUFpW61WKa24nACoYP4otgECCs9zI+bd8yjF0tJSUUhKCo1Go7zOgOfy+XQ6jcFgUKnn\nklr3YWNs0GdH6BqwwSS0t2OxE+d8QCSgj+dZdpzlypE5tHTfgDMGTr/nCNybZWFEoM/JyekySXZJ\nZlyOrDOtnGUzULA8cq7Los5A2pByng1ns9ksPQLQP2IO0nHyeXmlDRn3drYi883PizjNqHpZODSH\n1vAjyxD38dzhvbN81mH0FACTwYr77aANWTLfq9VqlW0C0IHRaFTJiNjZMtbMC+ZmoOGMSv6OsRq0\nIXc5K0ew4Qyo72mHlrMqBid21Bkk2b44SOLe6L7HDt19L+ZMcMC9rRM8Azkcj8exu7sbw+Gw8Krb\n7Uav1yvPwA7lXayRa+7HPb2JZM5GA/ad8bOs7O/vF7ABj53tNCihATY3/Vt2OKdO1v1KEfyCS0Ru\niSCoQqewf9hMZypzVidiXuqynjnAuNvHhQYv165di36/XzImS0tLsbKyEu12Oz7ykY/E6upqUTyE\n5ODgoCwfZpWN08QYV5TITsuCYgfPNRgnp2g538DEEYTBhvsAjo+P4+rVq/HOO++UNL2XP6LMRH6O\n4DAqbGxEGWc6nVYUFoPDyitH1ginDSLPXV5eLqlLSisYPwwzCku2CxA0nU7j/fffj16vVxTFACoi\niqODPtwzIs4oT14yiAPLBsCGHFmxczHocFRkkIKRdTqWZ0ZEZcdiO1tnjkjpOloDIC0sLES32y0N\nq377OLwYDofR7/dL+S0DYvjqz6bTaQXE5sjIcm/nYiNjwO2SBjxiXp1Op9DazazOLObat4ELf2dH\n7YyCmwrJWJlPNtbIHvR3ahuQxv3rwHKmp+v6me44JAcxzgwYOAP2iZKtw9DBWR3kCv452MkgxTyN\niIpjM485D73kf4MnZ3t9rcvtGZg7S+IxmH5cd3R0FLu7u8VO4PxwvmTHvXrQ/WE8g+yBxwsfcPZ1\ntgxeLC8vl/IQ8/IqP+/nA2BhLtZlZ1kMJI6Ojiov03RAct7755ibsy/WBejAtQY+yBGfO4PIuK3L\nPBf7yYIOJwSwvRlEIYsshmFc7XY72u12rK6unmlhuBfHhQYvP/7xjwthEDh2eX344Yfj4x//eEyn\np30Y+/v7sbW1VQzfwsJCrK2tlXshqG4wwxgiqICLiKgY4xz9IDQIp1GwkSj3cJ2RyPudd96Ja9eu\nxdbWVgE9jMH9K07Rg+ydIRqPx2WeOF1KYBjs2ey058JlIPopaHzGcLhe6tck4HDtZChJcQ7zv3Hj\nRmxsbMTHPvax8p3nzjMAFZRbHHXbWTFm+Og9BpxdsUGwsSP7QdYIY8VPRJzZnt+ZPQwa3+Womef7\nRZgYmny+DRCGJOI0y9Dv92M4HBaeuXfFoI7rs0Nyf1jOHBkoOMrNsszfXGPghWw6C4hcwhNo5XH5\nb4/ZYMYRLaU15A25BmDCY5q7ubdBtoMMDLJLoqYTY87OJmcd3B9lB44+oucOhPiecSETLt9lx4VN\nMW0MFpxps43gPrYTueekzlkaTHrOzq44WMEWwHfbOpdXWq1WDIfD2N7eLtmedrtdsr8AFztE21r4\nQbAHmHZwyDnuRSEY8o7fZFkzEHB5CdrlV24wP0pA7HVlXhlAIiPwyZ/b1lt2DNDNH9uXnH2F9ugI\ndOdvB2Mc2Bx0GXp5pZDLUgRiBi/NZrNkKFdWVuLKlSuxvr4e6+vrsbq6embByd06LjR4effdd2Nz\nc7OC/CH6tWvX4oEHHojJZFLScnt7e9Fsnm7Ktri4GOvr63H//fcXBtmJAlQQvtnstEG30+nE0dFR\n6cqn7wXmokiuiyKMjqi5tyNzFHFhYSFeeeWVuH37dhE8L53EWbjnxVE8QGw4HMbm5mZJ/0VEZaky\n8yJF2G63y0sbURqDKw5ShNPptIAFaMx+Hgi06/zsu3Pr1q1YX1+PX/iFXygKx7h5Dk4qYr5yzBED\nRhZeoYA4SQxWRBSn4ggS4xhRBZ0R1f1X+J9741iIJDgPp8ZzoC9/M2an3J35wLhROoNmrFQbj8ex\nt7cXJycnFePC+B0p53Kls4IGGhl0OyIH7PAdjikiKtc6i4PRmk6nJaPGvQza0FV/VlfmMKizo2w2\nm9HpdCqrsJy9M0DxeBmjswFu0uZcruU3YyTwGY1GZXdqv8uM4AL5G4/HZezQgOf62cienRhlRWcD\nARPD4TD29/eL/MMnAADzdPYxO/WcRWF80CoHQwZyOUNmQGuQ6qyQwbBtycnJSWXXbXaSJbOdN7Lk\nx3rlBm0cPXPlb2dFuJ/tjTMJBwcHpaeMfbbG43Gl/IM+YCddBiI4NmiEvshezn452OBg3AboznRl\n8O/fnId+mkZZDx1MAE7wA/gH93mxWs79kLbbk8np/l7YkMFgEFeuXCkBse3T3TwuNHhhSTCMQphY\nQvr2229XapJHR0exsrJSyknLy8vR6/UiIkpZBsNrZYUxvV6v7OfCy73a7Xbcd999xWmTwQAQEN1T\naz0+Pi77dNiZRkRxUv1+P/7jP/4jxuNxOY8sCEK3srJSovF2u10pn3jV1GAwiK2trbjvvvsqTg/D\nD+AAbLDpnZeaTyaTci39RJ1Op5TfWq1W9Hq9GI1GxWnBi06nExHzdCWg6s0334xf//VfrygzvUl0\n0qNwABmXs6AvTcdWQpf5IqLM+dKlS8W5uqSF8adkh4KzS6qXctro+HmeH2PJJS6Dh5x1gwaTySTW\n1tZiNBqVyGU4HMb7778fu7u7MZ1Oo9frleX7OfWbnY4dn8uA9AdwPlklOyTPxyUROwADZuYMmPLY\n0EMAF0CI53opqsfPeaajM3yUGF0ywknaafv+BrLO2OVMDAbcQQhZhn6/X8nUGaBBx8FgUGyBHa+j\n+IjqBnbmFQ4AkMxYadpk3Dh4zvE+I8gVcutMi50OQMhglPHZRlk/LLMGL85smTYGvIwHAMgzHUDk\nvjo/yz0kEdXMKJkO5NGO23zkns4gjMfjGAwGZRsJZ1CYo8u59hEGKTyPc3yfzA+Xhv0d8sS4Ga/t\nskGpaQxQMoDMoNOAimc6C+c+Iewn4+E7P5trvKXGbDaLvb29ojPs5XUvjgsNXhAunAvGmqwGkQvC\ngaLz/Xg8rggHDpsDxcEwUAvEaEZEaewiTb26uhobGxvR6/XKJm8Rc+e9srJSAAclEgSI8tf29na8\n++67xQgZ4SPQZF0Yo1f4UOrASdLYSEQzHo/j5OQkdnd3Sz8NGZzBYFBJdRKBWilwNisrKyV67PV6\npRGY8zAmKBxKcnh4GJubm3Hz5s34+Z//+UoUDt/saDBEOVXq1UkofQYejhbZBM61Z6fooVeOVu1c\nXaIDCBGtEXFxrpU6l9xQfoCADbEN9Gg0iu3t7QJc8mZePuy4eT5OiM+yYbUBM8358b1dEsmRuDNt\nXMvrOxgLdHZWD1rZiEdU34ZsgAt4QEa5N+8y4z4ukTmCtTxyTw7PhznhtDz+2WxWwCXBD3JiB5mz\nS5xnm8CzrLvOfDjTl5ecTiaT0qvhjIef5d+MC95ZLkw7aIKdceaC+QO6/Tl8cnbFmTUDE49pYWEh\n9vf3SzBkW7CyslLsawYRzvhgN1iYwV5NDl5t232fnNGh9ONFHcypLutkIOUsjPXHgYyBBmDToMXf\nO4vmjBX3N9iAnraX5rvLzL6H+c25lhvrC+fzbDenZz/hg1JTv9//WdkoIkpK1YbOKVgTEuX20lmv\nmEChbewc5REFOm1GRIWSLCwslBpuq9Uq7wyy0Pd6vej1erG8vBydTqfUWgEvly5dirfeeivG43Fc\nunQphsNhGQNNpjZi1IUXFhaK0pGaW1xcLE6+3+8X2qCwNkAAN8op9LF4cyRnQGzQua8bVbkP9d9M\n64iIV155Je67776yuy8K4P4j5mngiKOIOPvadpxbRPUldTgVIiyMP8bZToxxcj9S2L4nz+Nvy493\nnzSdiWxtiDifDAIAC9A6HA5jb2+vABf6iKCrD+jiUlp2yD7qwAl/W/5tkLnOmQrAg7fst3NAbwxo\n0TMD8jwurjGQZAysblpfX4+I0ywsMmjj61KRHWouheaI1TrCWDLYYOdd92NgC9BrZyHtAP0/pUE3\n0uNoWq3T/VYMXlz28uo+aJ/7MfJhkGteAKyy40FP6DWyzbFTNi8dTNQ5WNP06Oh0F+7hcFg5nwCB\nEj1BAnLFPJ1lIeve7/crZZ6cjbQd4bMPyvxFVB205+etA3LGI4OcOp21z3L2CZqZbhmQ5OxOLuvA\na3hmPthu8tuyz33rwHAGkOeN10GJ9fleHBcavERU17hHzBE1wgBDYaIFKAuqU7d2AhZuM81pZpgI\n6o+YL+XmnmRpeJMpKWUbqaWlpXjttdfKNXYKgAUbcf4HqHhZNPvbDAaDkrZbW1uLdrtdiVBRBJeB\nHGHjXMlYuM8AZSZzY+cEsOOe9Gtw/zfeeCN+9Vd/NXq9XgEdTj/nEgO0JLuBE3W07zJBRHW3ToyE\nDQvghEyIo2anSCOi8nIxR0RWTgCeo8ycOciOGPnBEbHjLn1a7OHjfgobLcZUlxZ3tMXznelwtMfB\n2Ay0HAyYJxw4j1arVaIsyhn7+/tF/j0Onuu0uIG+n2UH6X4nOwjT1lEjJTZnVGw/HIk6cMkRMOMz\nSCfbaIdMFgDAQTCBXDnDhM1hnjzT/LHj4x7QiPOwSV5ZY2DCMwiy7ESQJ2eFLFfINHJtHXaAYdnz\nj4Gg7TTgY39/P/r9fsl25HJIRFQCM+QsZxcANGRg6mTbPLfzRc9zJgY6GGx6bC6ZZdBnp84Y0cec\n8bNs872DL2TBwDODQZdqbX8MHj32nMW1jPAc+Oz7OdCx3nEdZTh0Je+2Xpc1vhvHhQYvKFFmWMS8\nCc3peAh7cnJSQaEolpEsKNjZDhop3ciJMbGzhIkYEJD/wsLpEsCdnZ1K4xXX0zfzyiuvlOZPj98G\nk+fwP46i1+sVxM2c/C4SO32nuo+Pj2N3d7fM202jRFg8DydO829ElB4gO03GMZud7jeDg444NQbv\nvvtu7OzsxIMPPhgR8/eTWLEMohwx8z9RTzYujnLJJJEpQwbcq5INCADJzhQHwqsWoJOXmLtXiHE6\ng2PjmI2dsxTwFcdnxw+NvHLNgAseeNWWoy1kOQOfuojIUSv0d6YTIEQPDfc4Pj6uvG3dgYIj3hyJ\n1elwnQOp2xDLjohn8Gw7cT/vvP+dUcPY5igzN23aplAONDgjGHE5jJV0Ttm7FAoY4Tk2/NCFcZBl\nRdcdcFkuoCk8J7CwrcnZqrwk1qClrsfGz/Q+Lgb4/NBnAkChHG75owyEflESNt3hESVMZ5EsFw5o\n8lhzY3F23l5VZQfvBvUMjKA7tsDlR/PSz3KW3ODcMmqdrcv2WOdz5tXZGNs2MtG+j2XNY+W5jIVA\nFTuI3SYLyRh+1vMS1bR8RLURrG4LZL63czMA8XcRZ1dhYLxxsjYm2QhzrdPNdk4WcMbOfek7cVYo\nR6PZ6HIvgyY/Axrx3qKsuDQo5k2FPDeUAwfmJloDDAyja5s8n2diMEn329hgFDIIsBHh/hlwZOOD\nsTCv+cwpZfonMAIGlnaY8CNHLJYRaMYcMFaZpnyO8bPcHR8fx3A4LGlywKllOBuruqWefqYjO2cm\n3Mhr+vEcy7IzVL6vATsHpTDGRmSco0wf1mfTEtrzXEdyOHaud1YgG0vGmbNKBibZaXCYFi6N2Xnx\nXJ5tp99qtUpUCmAms5r55SXGBmN1ACSPi3mgk+ZnXebRtLJtsMwyNpdgz3Oo2Ab0iq0qnEnAduTV\nPN592sGIwQ+fOZuW5YXfzDvP17akjhZuOrZ8GATl7ETOKJie9kG2LaYfemsAkc+3ftuucA/oYP3m\nfPjH2CzTXpnJ987MmmbWcQNnxsb/lBk5H3r+rOcloqSmYFQWLDPd9UzQs42gm6nc42GjDiM4l74C\nMzmiWrNGybzle478fR2GDeFC4BmHa5kGBCg1G1/5nhbAvCFWxDxtTGMgdCKrhTKxPwzNkt7lkVQu\nUThCjBFyqhdFWFxcjK2trYoxsgFwD4BT4E45TyaTivG3wWFs50UpjsxZLZMNHYbHUYzH5KWRnMsz\n7DB8ZCeRo9xWqxU7Ozs9167DAAAgAElEQVRx+/btsuLFURxy62yMjbTLR34e/LHRRMZZxp/pbINt\n3YJfyAf8dYaA9H3EPJiwjnJkBwjfOJz5iJiXPtAxmnWhh0t66GuOPHmWaQutMr3zdd4KgYiz2Zy/\npT4iYmVlpcgnrw+Bbzs7O8UGuQzCyrm8l5Jl0mDa8+DHK2FcXuVwxi1nHUwz982YP8fHx6XXp9Fo\nFHvEb28bQPmMpd0+vALUm7RxZH3O2R2DiwxWmHPutXBAYydclwHMMmhf4ICIsXjJOrbdDt9g2LbR\n43bQhtzzrKx7zIuDOVm3c5DqYMPXAw5NAwNjZ6oYC+fl/hqDl9lsVrYg8UKGn5WNYt4k6ZUddoQw\nC+MQEWcYj7BZcH2OowkLP+fnFFgWHAtlxNw42jDw3XQ6LWlRO1pHhziDjNpRFiNmlB8j7X07oJGV\nkj0W/D2HjQL9NZzn9CM0seH0RmYcAKIbN27EaDQq96WfwFkPlkUzB2r6KJYbGfmxg3HzaLPZLADN\nIBNHjCwYyOR6s42/AZR5iaIyB0dw8I9x4YgBa8fHx7G1tRWDwaBSGnGk76wPzsbGx6lpg54MwpBR\neMV1Oc3u65xBsY4gTxgrA9oMyjGY3DMDOWdlcDQGm/CcezvStBPIGUF/jp4yRtPKNsG2IdPP97Mj\nxcgTEFAGYsVfozFf3cjYKRehT6aLx5qdTAblBiPoIWN3KcvOJmdq6Vvi3jTL0vfCc9lpGxDGKy8A\nXc40QTf46ewpc7Fc2mYamDrrAn2yvpo2/uEzdMmgzRkUz7EO3NreWYYdXBkoOcC1g4dv/LY9xh6x\nOtaZKw6DC8/DZSQHjM4AGWBlufI4bZfc74UdcDUi94pZpmwv78VxocELTDDyRjldi4N5XBNx1vnX\npdrtyBBoG4dsCG3Y8l4xOY3nOTjSt8HIhisLAgeRM0IIuEAxGTcO0vcysGGOgANWQXBtzqwQcdrB\n4pSciQAYMA/OXVpait3d3Tg6OirvESE7ZR6ZfgYkGHtenuj721ABInzMZrMKzUxvO22XA6yYBsg2\nTsiaDabHhTHxeG1YJ5NJ9Pv92NnZiclkEu12u7JfkKNFxpnf9J2NN8aQHztGywI0t+M2ULLccU+X\nnHwdO20avDJGQEjmienkyNlOCV3kje6z2ayyZD8iKmMyPeoAnOXXGT0vAT1PXy0T1lmyE41GI1ZW\nVmJ9fT2WlpZKRoKVYtCGbMnGxka02+0CsPltXQcUAf7hI44wg207SgNA75CKHhO4AEacWaURlqwu\ncsX+U16BiI5mfUOGrGv5MKiynAPosm3M2YHsiDMAzcANOctBn2XbgML6njMzjB865IDHwAG6Msds\nYxw0uMxiPeU7g19k3XLKvM0fnuVVoJ4rNpZsGp+7wRxZ8vlkcN0HyHzdx3QvjgsNXiwQTrXBeKNb\nRyJO21nJXUO30bJz5hlWBj/fBsNGl/vCYKdlYfZ0Oi17sLD00VGho0hAh6MFpwa92ysI20pB1Oe0\nstPgBnTuGGe+ACRHyQg7gCGiuhEWgANDCVijNmoAYMXgM+blZZu8tylniTB6OGvG4no6IM31fs4x\nUHAmwQepfjIB0NlyYPDsiNORozMwrVYrNjc3o9/vl+9zZsLRKfLJ9QZBNrI5rZzBaza+piO6Zr3h\nGS6hQhM+xxkyVvifA4k8xgxckFnLuo0xm5x5cyzfz/vuYAMy+AcQeMUb8zb/4IVlDplhc0V6lTqd\nTgHlKysrRecoKRFMdLvdaDabsba2VnnVie2ZHSeygP456OE6OyayPKYPfSiMNSJKzxRNswYEGTBB\nHzItprkBggMf85PDZYicUfJv6yU8w+bYzmaZwcE7++DmUR8G1Hb0yKrLOMhitvsZMGeeIWsGODzP\n+mkfRsaDDC1y42wGz6zLtkAD+yzo6TFQynTJz3bQMp/v5bmx+3SzWe1v8bzuxXGhwYvLQRFVQman\ngHDkUgLXGSVz2LhGREV5+B6BMUiyk3SkiwFwmttKamdFtIMByJHNycl8WTTK5F18j46OotvtFiEz\nLfjf43P9kzGYrjyHbACRIXV66vfcI797xc6DOUETNy2iLI5AOOww3XNjGkNP6EymyZ/hEByRZoBq\nUAvf66KUHE050+RMgEECf9vg2vDR68KrJwwkTQM3ItugApTNy9zM7OiJ8dTpQHYqjgQN3BkD76Vx\n2Y5nQkPLhPlm+iMLBiPWE8C/6U7pzs6eeZke6LSNKTTlOwcD5jfzdl8Derq5uRknJ6d787BykF2n\nuT/0MIDyWPIybgN4R7AADK71vj+AGVY2MQ6c02w2K+CFRlnLgN/FYweIvfWeIc5wZXAHvcxj29os\n934esoxcZ1nI2VVow/y8MZ1XX7FK0GVJzyEfzmD4Oo/BQIl55/NsNyyL1jfK3aYHBxl1l7mRDdMQ\nnXOmO9su5DwDKPchAcYNRE1vZ7wYH4dLsM7yIP85CLxbx4UGLzY8/O+INgulP0OgbBgzGjcTbERQ\ndPdo+HqcJudSerGjyt3sruk600JUj9O1UDIP39d7grA/C9cRdXA92R0rIQbDKyeswKSyFxYWyi7B\ny8vLBa2jKAcHB8WA41h4Lo6Hjcbu3LkTTz75ZCUF77IQ47Fxi5hHXzmrNJ1OKy8MQ2H4yegfow6P\n7PB9T2TAIBj5IgJ1n4dBirMt0AF+OKuxu7sbN2/eLOU5eGTjQTTGcwwOHeUCrpBlOwKDCgAtczJN\nnWI3oOS+AAaewXPdz+LyIjpKucTvZ8q/TXfkkbnhmMwv5D4HCE6HZ9Bnx8Sz7XBygJNtCeOZTCax\nt7dXxobujUajOD4+jn6/X3kGMsou0YB4P9MAG92EtsPhsKwcJJMymUwK8ABAMh9Aip0JpTZojU3L\n8wV4MgZkxPbSGQOuR0YNMpETO926gNE6YvmzHpn2EfMXxB4eHsZgMKj0DyJzzlIaTHFf3zs/3yAF\nB+zWAj/LNrMO/GRAQNk+l/+4rzNQGexBA2SF3iRnrc07BzWmfc76GIAYNBocQXd6tVqtVnl9jMGW\nA6CfZV6i2v8QUW1CRIj4gYgQHSduFGpEaGPraB8m4gS8ageB971RYvpAMGA4E56NkFEj9L4sy8vL\nlaWGjtLcBItQtNvtinAZrXNvekUMnOxsPTYU306UVyEsLCxEt9stYI2NpOjZgA5+CZrTuIeHh3Hn\nzp1CX/hKVFvXeIrS5pUZbhQkEl1ZWSmRGA6OMWDEzB++946lOVqE147AHZVYfqA7hty887mz2eke\nIG+99VZsbW3FlStXCo3gG/eEjjZibtjNxtI0dGRmA21D7ojRzgpngdwgF3aERG7QxnvlGLAwj5xC\nN5h2BJ6jZUA0z3Im08DLqXTokOlhupLVYdNFDtsUxoNT5hnwgHdP4UhwpmRgCEZ4Szh6YB5AG8pB\nOCLuORgMYjweF3p4jw3bAmdlnRXgntAS+tTtUGwb5fOtl87UoPO5dJXlinEYLDorapvM35zrchR0\nR64iouLAAWXsROyVS9YJg3r3AGabZJmw7Gaga5vh4M+ZeA77LoKDTGMHXTmoArCzNN27C5NJMR0Z\nl20LfxOI5fI59szXRsx9FDReXl4ue7sgxxmk3YvjQoMXl41s4BC0ujQ0Qsq1MMZNjzZydjY5YieD\n4IjW0ayjXkeNlCkQApiLAEZEZSxG1Y6esvJgWP0yR9OFZyHIOG4yI4zdu/Ty/icrFUaB9DEvSJxO\npzEcDotTyZkPR6oRUZouMe6mrY0KypUdFAYAYIISo/TLy8ul9HJyclJWfUwmp02xvNjThsdG1AaF\n71z+ymDZ4M4Ky/OdnncJCXk4PDyMW7dulVchMFcDSejhPWdsUDnPRt60s7zZ0RuEWZaghcGZI08b\nN+/C7Bc/UgN3Js7zt9E3j52dZDzIH87L5U9kOWJeqvC8ebZT/tgFeJNBqq+1vlpOzWeCgYODg9jd\n3T1DP2SV/U3YEt879aL7ZFItg+gLmZScZbZsQmN+W3egr6PhrD/OcpounnNdVtL3d+Bnnvre/La9\nNr2hoeng8fi6iChZYa5Bbx3EOpNlW4NsOBPrDIjHx2+usQ0xiDNfbFd8vrMrnG9w5kx1Lr8gv5QJ\nnVEjo+cA377QrRDoTF4B5g05PX77NWfq87zd32mAebePCw1eIqKirFZklN6ggt+OGiOqm2xZgABA\nZpAdFPsXeJkppQ7KSVZkK5OVBkEZjUal/wMjCBJ2HwEloewccYAYE4AE8+F6xkD6OBt1xuq6Jo6p\n3W6X7etpVp1MTt86feXKlWIQWdLsvQ/G43FZ9x8R5Q3cpNzJziwuLpaeGoSdCB8FslFxtOmUMG8N\nn81Oa/ydTifW19cL7euWcNL8SUOxZcBg0nIBnbIRtVFGxpzJsvFcXFyMg4OD2NraitXV1ej1emXu\nGDBHhUTxBlHw2cDF4NGgD4eaI0MDYmTBesb4GQv0xzEDmHmZXrN5uv/J6urqGTDB87yEvy5SzWAP\nekWc7qeCvqPzXE8vlvvRfH90maDBTtnPz+AKw2ye2llMJpPY3t6O9957r4ASxo4hzxkFA0b+jogC\nUBiPdRGeWv4M8vid+e3MnJ0yjs+RP/bDsurnMPdcWsBeugTBM2yvfY1BuP/nN7pnYJ0dpHv7bLOh\nK9dkefCRgYxtrYF7pm9EFWShd9bdnN3iPg4GmR8BZURUXjbpbKP9HbzDxjvotZ3J+pZ1Eh2nZE+b\ngG0v8mMQajCNfAKQAGOW7bt9XGjwUle3jJhHJzAF4mU0jQH0lvVO0fkzQENENSWLgBiYgHydzqTB\nNvdu2GG4NOVIixVINlBW4Lx1PEYco4iy5eWVRFoIKxF9brhiLgAkUL4NHe9Lot8np5kZh+vg/X4/\nVldXyzt8cHgR1SWfpr3pjvF1BAFNMcRsr+8VXsw1y44Vn/sBwDCC2eg4qrUMmreARINHDJh7N/b2\n9uLw8LCAwoiolNI8Z0e6dX1JdZkhOy1fk8H0eQ118BP5cDbS93LGhlS9HTz3MCg0L6CfdY3x2bj6\n7eOeu++Ry2ymTXaWLmEZLNhxma92IIwTg03PBSs23GvFtfDBAJG5ZuBr5+hInnkiG5YDyyFHXfbA\nc8lNxTlbWidfyJRtCH9bngxsOMc667GY5tZR9MiBljNGDmAMBqxD6KDvaRk2n5gj8zEIg565T4Vr\neBY0dcBj0GSfY9/Db5cYs51DDwE1zkQ6Q+Nxu8Sc9ZbxU/6hFIQNtG5aBmwDoav3fuHZlu27fVxo\n8GKhr0PqToU6rQqzEAQLg6M0Rye+DkG3Mc6RE4JLhGwnzH3ZRwUnEFHd54DIqi7acf3VYITn5PM5\nLNRWEkcrNlg5m5BTloAlAKAd1sHBQTFmzJXx0FcQcfoCy5s3b5adSClD8e6kRqNRylKM6/j4uDhF\n+gA8H6IUImp6GCjJIBN2JoAVgxnPwZkXlw5s0C1j0MdOMBsmy5V5miNanmMw6utzBJuzHHYaTt1z\nDw6PK3+Xx4sxI5LjMxwfLyD1vkPuA2JO2XgyDvMhHwQIdtoG3rlXyYba82SstgcOIBirx0y5ysAG\nh8Qz8hYEjNdAIAdJlg3GSeYPOeIzfrIMcy+DOjtr2zrLpGW2DkxwGChmcJHtr+/hzzKA9E9eDu37\nYzcMTt1fmIMRO2Oea1oYNGSQVDdm75Ls4I4sA/KNLPC96ewyteXatpr5Ub5nddloNKrIi4M7ZMF/\n19kQywD2Kq9abTQaFfDC94zPts9BYLZf9k/Q1Eun7/ZxocFLBhoRVSQMKseo2PDaMJoB2YBYoGyM\nXAaKOPviKgy7dwIFxTr658dAiGewSiOnVzNSj5gv7+z1emVO3W63ZEoQUtD5wcFBtNvtMhb6BXL0\n7qgQcEf0wzj29/fLPi30lqyursZoNIrFxcVSf2405ruKAh4olVy9erX0pNCt3u12y8667Xa74mhY\nfcUW9LzJmywQDZLtdrvIymw2f7N33msHw4Xik0E67z1TAESXALhPlimuM6i1I8IYslLMm9Ihi9wD\n2XBWwWUVg1vG4wjJWTCODKxs8E2bDHadBUSXptP5jscAegxwBvg5gjPgNvgw0OC3gZAdgjNfdoIA\n3xzV50yA6Zcdt3lse5GDoogoKXdAjkt35iXfWVZ8T2cZ6kCpaZmjZ483/zZg8HhM+3yObZxpk0ED\nK6gAggQpdo7OiLj8kIM55pUBZH6+s0j8hu858jc4NdBhfh6P6Yh+2XnXBZoZuDgzzHhzUGLAwxjo\nE3NzO/YGWmBL/eOM+3klPescejmdzndLx/bb5vieWeazv7JuOHNvGbrbx4UGL065Li4uVpC5mUT/\nSZ3QeYUJBhFGowhOl2E8QKM5/ZzROgwzQ53GwwlwXxyshdm7Wvo6R0zMd3FxsfSkLC8vV2qeEfMS\nk98p4kjDZTWMDOc0m81KI+7e3l7pYWGXXGr8LPNlflYQlIlrh8NhXLt2rThkwAt9H61W68yOrZTS\ntre3y/tT4NXq6mopKayurhaFvHLlSgyHw3jggQdiNpuVpkmuY97skQGwWlpaio2NjYiYr3KxMiIv\nTmGjsNCK5a0nJyfRbrej2+0WMEdW6s6dOyVlizwjAy71wCvkn1U82Una4TnT4vJVlivOcVrcURTn\neaOv7MC9r4edvB2MwUTOfuWsAHRn7vRTcQ/rtoMO5uzvHJE7UsZYY2yhk9P06E7WceukgRU7/yIr\nBn3mC3PPWU6fWwck3HDr8eWI3DzIDhN+1IFKO6ts/+Cxe7dcgmHObiR1v4dLwbY3zjzYHkGHur18\nDFicbchZrmynPWeDAeuF/3b2wDLinbpdAnWWmIAxB6keS85Imb4OHL25JmPjfJdJc/DBuADEBowA\n+KOjo2KX8ZsG4A74ciaTQJgxmBf4GvPrbh8XGrzkrYctYBYAlr1asY24UQiInx06QCVint51ChLG\nkRIjI2CjRNYDR4XjyWlNMjSMwwqHkFkBHM3kFGGz2ay8HG86nUan04mI+Uotb8efGxEjqtEWCk7p\npN/vl2VyzJXnsfutN4Xj3mQbOp1OBeD4RW3j8TjG43ExADTQws/9/f04PDyMzc3NsloJ2nQ6nVJG\nAgC12+3Y2NiIra2t+Lmf+7nodDoxmZz2Jkwmk5ItWl5eLstQx+NxARSsujo4OIhut1vGaaeLYWAD\nsMFgUDbu8/Lb5eXluHz5ckREeXan04lbt24VfkB3nI8dkkGujb1BjaPbbNwxRhlcwGPGhczY8PE3\nzdXuRXITrbe9h78YRWdt7JC5v8fJYeMOOLAh91hszAlQIualJsbqsWcHkEujPhgL4InrbeSn02nZ\nJNKr+6CxM5vorjOsHDkDYHCRMwV2Ji5tcl+XybFJ5i3P8JyyDeB/Z914bgaR3BPaAF7cTMu8ncl2\nAJkzzZZZy4zlO5fJfGB3c9DK/TOg5nm28d4AkGeR5ba+2WdkIOKqAECHH79olnHlMrWBJjbR4J8A\n1RkZg0oDVssjvGOe7o+xXOVMETIFbWezWcny5wx35sndOi40eCGlb+Wy4Bg82PhxAEpgvJfc2phj\nlGEAv713ApF6RvQ4GYw5CBrlZWVN7opfWVkp+zjk3hWEmfNJI2YBAwx4VYKNHDTJDtgg0CjZtU8U\nwo6EkhBpY5yrhRladzqdaLfb0W63K7SHtqR3Ga9Tn2RM9vf3o9/vFyBB2Qp+0LgNwAKUHBwcxMbG\nRrRap02yx8fHZWXS4uJiqS8fHBzE5uZmTKfT2N3djZ2dnVhZWYler1dKXkRhRCX02fhtujZEGI3V\n1dXCw16vF91uN7a3t+P+++8vzXfw243iOfUMPZg3BhCau9/LkRaynUEBusT/zea85GNnafBvPYPv\nZI/gKc8ienR2xHKfZc4OgIPmdxtl5BA6AWShlZ9HJs+OxvJO1Gk62zEi086McC73ZO6rq6sV2hmU\ncW83w+eMGLxxacM2Btpybzv8DHRMQ9PddGH+duZ10TIOzgDRmSTLGHOCrrmJGroaQDmrhqxxD8uu\n9aIONDD3rDu2pwZcuR0AflmvDw4OSvCEfceOk6k6Pj6u9DsCXuzg3Z9ieuBXsFURUenpc7mY/73h\nqDM+3jUXsO+2CsuDKwzYNI/Nv5EvZ/bRdWSAHXrNe+59L44LDV5AhRboiPmr4CGiAYkNsCMGG828\nh4YNWMRcoF07dTTJYQPP+TgD7/ZoNJ7RNgaIMRmxO+uCMjgDZeAQcSp0NKCSHeJ5CKS39Y+oKjYZ\nFcbA87gnJRCE2o4Bpwm/KAMZNJmHAJAMsrgPiJ5IBfpA47zMD2c2HA7j1q1bZXOwwWAQx8fHxfiw\nRwcZJHZIff/99+P69euxtLQUnU6n8BTnab4wZ0ccOAfouLu7W+hChGTA5zS7yzDQiHnD61w24bOc\nEbRTzqlqZMZRp+/niNv6xDOYg4MEjLPLO9zLABwdte5YJ5gb1yPX6LgzMM5WGIxzP/hs4OceF56H\nMbdDsi7lTAe84fOFhYV44IEHzjwHejnDyxhzo3HObvA/9MgNkDgQZ1jMa38ObZ1F4R4uOfGZ6Zh7\nOFz6cZnZtHRJwfzM/DFYqcuyGIjVRfI5k+B588wMaHgW55uvBEoGA15eHxExHo8rdthzyNk0bAA6\ngx9hnARG6A3lHOQBWjqTA39z4Jyfzfz820DEupfLz+aH52gARoMv9yP4z6tY78VxocGLhZ7DhLag\nOoqJqC598x4BoFgbbO5jsOIlxlZeshBZEOy4QeFGu45aTk5OKptQOWLNNU3ut7i4WMaIgDAXR5hk\nC+iNgTZuhEVpsuGgIctOkDIJrwggAvAuqyj5cDgs+6g4okIBWZVio5yNEH/j0L0XAmPk75OTk3Ke\nld574dDBD5hrtVqFt3bYzubYKaDEOGf3wQAGcHzw0SUC6L60tBTdbrdkpjxf6GOn5swU87Xx43yD\na4MRQBFHdgjWJYP8uqiVCJw+Dz534yCAz3rHec6a5KxLnjs0BtjyXNM7l6NMS/fJMXbGmo1qpp8z\nAzbCzNHAie+73W4ByAaUyI6zsBFRcd7ZCRrgwX9sRM4yeM4OqiwL2AXLUD6Q1ZwRM5DkWS4FTSaT\nM2WSuoDRz+G+0K9O7v35eXphm5X5j+4i+8gM57rHJyJKCRsw4SDVgHw0GhX7yOFslGkGMKAsA/Dm\nHD4jGABss3qPfkLv1wKfeL4zVTzPmRYHKPzP4c+sS+Y5Ms//nOsGc/yEXwOSAePdPC40eGHHTgjM\nAbMs1D4c8XOYKQiBMy0YTQtJXnYKwkQoGUvEfL8ODK0jVCs1CuZ6f46IrVxcYzCEccQQouAIUxZK\ngxRHZqaDnU2mOZkkG1MEnXs6DUlkhwG1MbNS2QHBl+yQnElwVIxyQVs7rYjqkm9HgBgk7gNY5DyM\njuWIv72PTJ3RhRYclA3zltrQ3xkF750BnSyL50VGdmQG8T4y7bLjt2NABvxdRFTAIZ9bjnydAZHH\n6uwav3N2BqDjfrcMfiybec4ZkJjX+ci88zmmr419pmXeeMw/1nPv1WQ+WF6hszMjzhpb5nwPg+oP\ncvpZHjKo8We2C/DGYNMy6TG5tOdx5nkYLJv2mS6Zp3UABnsLWMv8BMTW3Q8gkTNzzJGAEQDvbOZ0\nOq3wPmcCDbjzuH0NZW/vt+KNKp1Rsq6RKbT/y7rH+c7CuYXBNsc2EN7k/iSXBgEuZMFzNvpuH/+v\nwMurr74a//iP/xivv/56NJvNePjhh+Pv//7vIyLi6tWr8cILL8Qbb7wR3W43nn766fjCF75Quf5b\n3/pWvPzyyzEajeLxxx+Pr3zlK/HII4+cPzhlLXzUCbI/w6lbiDGsGAUEk8OpWDusOoCEANjhWnlt\nYC0gzuL4/oAN5mbhyc7fq6CI9LkX4zKwsnAieLnZ0gae/93DYyXAULhcwXUZrKHYrptaEeoAgI2S\nf+z47EAdJaGU8Nld94w9G2DPPTtZO8CcVYHWBpHNZnX1GRkX+kOgtw2dwYcBWF3mKjsQxl2XwckA\nOQN8OxDLgcGtx8FnBjg8k+yXMzdcawfiuWaQlZ2+dbFurnY0dsy2Beh3HTjxMzNI9b2s2+aXAway\nn/lZpqtLYeeBKsbsQMvfZ0ef7SL3cGk7z8M66O89x0xHBzrmA47NttdZQcscztF0dikqlzjreJbt\nct08HISS5fDGmnnOABiPmwCGjTq9Is3lMfQ6g2tsn/lnPQLIQkOCGugBCOMal6/RuQyKsn5lO8t3\n+AD7J9ObDE6WB/svfAOZIuygy9f34vjQ4OXVV1+NP/uzP4s//dM/jb/+67+OhYWFeOONNyIiYn9/\nP5577rl46qmn4vnnn48bN27Ec889F51OJz7/+c9HRMS3v/3t+P73vx9f+9rX4qGHHooXX3wxnn32\n2XjppZfKFtX5IJvhSMvMMoNzxBERZ4Q14pQJRHVGsr6/FRPh4X6snjEwwUjxDAsWgoxCeWzZUKL8\nKLmXq/p5zIux2SjQ+2FDZ9Rt1JwBWY7EmMvJyUl0u92ImK+OwTD4b2de7OT43vTNNOfguuwIMxD0\n+LJDQD5ssExf7pcNtaNf7mMZ8vjgO/Tx8mkbIQAVNDcP7XzzZwZrHqOvqaOJQVcGMxzZifOZ510n\nm4wfeUGmvezbKzwMMOr002DFQMPRovnnaxhn1iuPGd7wv6/LgYrpkgG7ywl8B4/okdrf34/RaFQy\nc/DTAMZzcPNktmd1882O3Z8hjw52OHI2zKDCMvNBR7aneYGA+W0QkOXPDvY80OJrMm88X8uMacR4\nsItuzs/gybbRoMHlPC8FZ9wu5ZM1sW67zGkQmm2xm98dqJsWlmXK/TmotjzkYMHBQLal/ttgOoMn\nf87BPPEnzhBlm3m3jg8NXv7hH/4hfud3fic++9nPls+efPLJiIj4wQ9+ENPpNL70pS9Fs9mMRx55\nJJ555pn47ne/W8DL9773vXjmmWfi4YcfjoiIL3/5y/Hyyy/HD3/4w8o9ffDmYBytDXNW8hwZuK/D\nymwEiVDYWGcUHYlMry0AACAASURBVBEV44jDqrtHVm7fIyNxX+8Uoj+3wvo6KwaOk/OtHPz2vO1E\nM7rO5S1o2WjM943hHjZUjrw4+DxnpnyYp/nzDDwxGr5/Pj/T3byvcww2hBg7RyEeWwZY5jvN2rPZ\nrDQ9c3/LFQbLz+QcR+h14M7jN2ix8a2jW91cMnjJ2ajMM0eMBln8uHxnYxlRbXS1XBqA1Rk75oTD\nybSokxM+45psfDPwyeOsk50sK6YZc1leXq68FLSurGu5Oe+ePjfzKJcrMq/4XVdi93zqMj45A2ZZ\nMhhDhl1Gh3aO+vnsPFCU5QDaGMBmIO/zs6Ous5scLr/wHPMv94lkkJVpZb3nf+YLzw1+DCJ8vuWA\nbIhpg15zX9txZy7r7m06ZZkgu5vBErqWS2/ZbkDfrF+M2Tb4bh8fCrwcHh7Gf/3Xf8UnPvGJ+OM/\n/uN477334qMf/Wj8/u//fvzGb/xGXL16NR577LGKEjz55JNx8+bNsrz21q1b8cQTT5TvW61WPPro\no/Hmm2+eC14gRHaKjiL8WUb6ZroPRxIGIBnp+hkRc8W0othBnwcaEA6AGM/1/OyM2CuGMeY+Cztx\nR6fOFuU58j0KkZXLAMH1YxsXLwFljn5D9XQ6Lc1b9HlERKV8w9js1A2A8nk+p84B2Xj44J4ABPjk\ne5rHVsY6w5WjPtfQoSPf5WwQDtXPIyo3KPMutQbeOWpi/L5/BoKZhr4mO1BnAfxsrnG6GANleiLL\nNqzmq2Um64znYd5yTZ1emr95vpYL09nyZvDvc7Me+/A8GK8bNikLRsztlmWGZ+cfZykz2EW2Mk1s\nWzynTC/TgiOvIspHzji7Hwu7AD1p3s89ejmQ8POcPagLSOoCGctTtvMZ6GdZ8jLjvK0A93e2myCG\npdM5s2f7YNmlJ8ZZSMsgsmUwH1F9I7ltje9tkJ155mfkHjnrcfZHprnlCv4xZ8/XQZvvZZ+Udfhu\nHh8KvPT7/ZjNZvGv//qv8Vd/9Vfx6KOPxo9+9KP4i7/4i/j6178e4/G4lBU4er1eRJy+LRPG153D\nJl91B6uC+F1HRDsEE85/Z8G3YHBuRLXpkf9zb4fTekahHP7eBi4blFyDzZGNnUaOMPL+K/7OxjDT\ngHN4noWQZ+bUKgf38ltwMWDmjbvPMRoR814gDIv7JGwMmIOjG0fSNlZksxhP7nlBCS0TWckMDJz1\nyM6sTn7gs8spjcb8rdmklf2mV5qfc5+JV05Z1uoAOuPLmRob7pw5yw6Qe/h3npvPNwDIDt47ddpg\nZnBpfclOKjvl6fT0tRTQxePOgINrsAmej/sLTG/Tz+ebDhzWD9uerP98DlgnEHHJIUf1GeyZH7lE\nyj0tm+dll/ydx2ngXXd/H4yNxnPbNcolWVd5jpf/Z0CVQWgG8QZOjPM8h8j8OJ/VlszV/S/Qwfpi\nEJuBC82nOXvIc01fshnoH4Finf4xb2wkr1cxgDKA9BvVeY4XJGRA7GDUcsV8s57aJyBb9oUOCiy7\njA/aQDvaPe728aHAC++P+e3f/u14/PHHIyLiM5/5THzqU5+KH/3oR9Fut2Nzc7NyzWAwiIiITqdT\nJswW7z7n/vvvP/e5EGYymZQNzyLmSN6vCsiOxbXH/9XeucdoVp91/HlnhtnZmdmFolSWwhbs0sVL\noVH/MQ2YttFCqECtCSXxgq2Xtph4qVIKMW1sUpUai1WwFpRNamwrTVjWVl2batViTdTobkuElpXo\nyrWFWth5Z2eYi3+snzOf893zQtG9zMJ5ksnMvO85v/P7Pdfv8/wuJzOdRMMOsBaoy75uP7P8hpkK\nnhkcDVj8tuZ0MAnSIEqLdkpTU1PNvKyVzEZqJ8dBSIzN25WdLeH0WYiI8/F5BD7xMTMTHPjy8nKd\ncsoprZIi17hUagOkP1wHePRYMhtEbiwe4x4DRMbggwvhAX1mbhs549yz1Mp3fja7hlZX115Lj0Pm\n76pqTb3Bp5QT7ViXPC3Dj8v5yC8DqrezJljhb9uCp4UMzry2ytUMxubt5/TL9ss4DO67gAw8YMdX\nJiCubtierYvYnKdjPS+fYMXtQFl9M0BzNurAbWCRFUwChtvlOV3yxg4SoPD8DPaZ4Fi+XXwk4BrU\nuapiH0IV1TpE4B0MBq3qRFbx6DOBjd/mGeDINpN6kYDTiYmBB+c3pV7TRldl2YmcQYF1yWtb0tdW\nra2F2bBhQ7MANyt57gdtemMEQMoVIs7Z6prWhM9d4Mp+wgktOss1tnX7GQCqwRDPNl/p4xNPPFFf\n/epXm/4fC/qGwMvMzEydccYZI7/ftm1bfeYzn2llbPfee29t2bKlORfi9NNPr/vuu6++/du/vaoO\nMXDfvn31Az/wAyPb5QCodHZV1ThHvve0yuLiYktBeZ6NwQDEZzBABjTO7hB4ZhpVa0pJxcWOApBh\nR4GTcCaQQdcVCwgjn5ycbM4uYUwOchiqx+wjxAmcGIDBDE4SQFBVzZw+6zpcNqYPPvra0wu8B8YO\nASeQ2Sj988Ffzl4wLPpguaIX3uFk/tlJ45C9ULerImfnk+tZDCjRQVePunaYoAfO3n1ORmZQWY3h\nx9dnYKY//HYQ8/WuTkB2jsiVd01Z1rY789d67f74+c7auNaAnmd7DYmDdQYQZ5W2365AY59hOTvB\ncb9sx+ihM2CC7+bNm5uzQLwTrapaWbxt25VO+yrzl+utF/6Ma0dVJ6y/9MljoU3bl2XNdmL8BAHL\n4IE+u9JM24AKHz6JnBYWFmowGDTJBD8eZ+pXtgEf7N8sV4Mhj9OgH92hXdvnxMTa+9jyVTIGnmNj\nY80uHF+XvIVvjlm2CdbQAWYyqTPZVlPHfdqxp4HgFeT+ZBuMa5SOwcNTTz21Nm3aVAsLCzU3N1eP\nP/54py4eSfqGF+y+4Q1vqI9+9KP16le/ul72spfV3//939fevXvrLW95S23durVuu+222rFjR/3I\nj/xIPfjgg3XHHXc0i3Wrqi6//PL6+Mc/Xq985SvrjDPOqI985CM1MTFRF1544chn5hoBKLM3O5aq\ndtDpMlCEYiDkCkjVmsKBpt1OggArB9egvDYcVxhwegRPj9HIG0fos0cADRgvz3LVILPKLL3biebU\nG8rKzhkqPFXVnFDr6gd/V1XzlmhXBwj68ILx+SRLByz6kqVjxpOBj/t9Cq8rUh6r3/ydTotFyYw7\nM0vLCnlZhl6sZ97Td5zy/Px8q6LlilGCGPTS00NZtcgsFTLg4z7bluVtvTCo5bOnnnqqWcPk6QOm\nEXHy7o+f735k39NO/ZmdveWf/OnyDdg1Y80pBPSKZ2UG64pNF7DBHqhSzszM1HA4bNb5eUrCJ606\n0NtGPF6AHAmIg0hVe4FrVuSsMwZEXfKA1wa4llHuZMTnEeDR1S7ddOKAH+EwNuw3/a6rKtiotyrT\nHj6EfrkfTioMrpnOY1zsJKIi7eozoHN5ebl5dxqVaGzU+kgfWGPjhflOeA2w4ZcTRNpM+Xp9lWWU\nVTb4yJQlZ6WZrwZGjNHXOEZ2JU7WP8aFP/Ayi6NN3zB4eeMb31iLi4t1ww031NzcXL3kJS+pd7/7\n3c0i3BtvvLFuuummuuOOO2pmZqYuu+yyFni58sora35+vn7pl36phsNhbd++vX7jN35j5Dbpqmre\nnoyRE4BgVDpvO9WxsbHWQlGDgS6BW2gYJkqcgKCqbWQACQMsKxHKV7UWnDEYzgnA2XhRbFW1QBKZ\nPBmRqyeutthYjKKdMdPvLieWFQAAB3xyVcHTJzwHhzc9Pd3wxQCAcbJ90YctOXjDr6q13VqeinC5\nmAWjDgCeEzY4mpycrLm5uRaYsgNbWTn0RmzmohcWFmp6errl+HECUGZh8NN94ETNqrX3dvlt0fQN\nZ+ZgYlBheSUQd7ZpR5PgNKsODnjwknFlNtsFyuF76pPJNuzreH6CF150mcEk5eC+8rl/uM+6kJmm\ns1Ha9BSBgbT9BLaH3nKKtOVt/2EAYsCQviwrVa60Ocgw7gS0CQrM6y6Q4t+WMXZkkIpfdQIGD+gX\ndm+50le/FwtKsIccAMgOiPZtbtc+m9ec8AwnHfRvcXGx2UrdBQRdPaN9g2nLJQGo311mPuQC4Kz2\n8pmPHLDd2b7xl1xnkD0+Pt6cw5LgZTBYO5MFPtqvdsWMqvYshMFPVbUWKqfdHy16TofUXXXVVXXV\nVVd1fnfOOefUb//2bz/j/VdffXVdffXV3/DznC0kAMlpIGcqvjcN1kDCQkrwgrC9EMvI007QCBTB\n2VEafNHvLIkaCPnHlBliV7ZtBJyLeQFKVmZ4Z8O2A/R0EtUNgxayKWff3jXjzJMxZN8dfO2EkaOv\ncUnXY82M3cHb/OM3mTCysrOBHAR8VD9j5LUIqVMOJjZyvxvI7ZMJwS9n3CZXDdAdB7XkrwEd8nDA\nywwPXliPaTOnA9Ixe+wG0NYnrnemn5UB+p0VvbGxsdZJp1kB6SI7UnhFFYDvMoOEDPysB12JDO0P\nBocf2GfAn2Ap9RNykpH86wKrlrkD2DPxZFSAMYDiulHAymusPFYAjhOGUeAoAatBgcePX4YvlhdV\nBvs57/5ydcAytD1hH9gyuoH/dxBPP+HY5IpvXmebMx9G6Zp/Um/Ms7R98yRtEf4kOLUfsK1a11N3\nHKdYLtDld48WrevXA9i5G7B4UdGoIFjV3tboqk1XJccB01UUB0cQNp87IGQmZ6PMSokVvWvO29kc\nyukFtBxnbYRetYaMUUiXnw38EqDAK/MLBaXPVCCqqimLUpZMhwnYY4GvA7GdHLxzkM5pIzszqj1e\nGLm6unYwWgYH+pAB286G+5wp0qZfLpmVhiyZwiuDbQOIqmrWJ9nQmZoyr8kEc7rSdoFM6K+dfQJc\neM3/1q1MEFJ/GTfPsuO3nTlwZruWiX8MJrr0MitA1lODETt9O+kEEOkHsr20WfrkbNk2k3rP2O0n\nPHZnrdbXLnLgyz5mcMgKqp9p8JZAZNTnDuxOsJJn+Vz7mrQN94k2qtYW7MIP6/nKyqF1b7xXzb7S\nwAN9Tl2xXphP6A1r+OwHEmS6Cmc79PgdsFNHzJfkgftDfwER1jlX/LrAjsFGlx7br1tH3QfHASe2\nCXLhd04X+hn2DUeT1jV4yVKtFcKL3cxgK08qelU1C9AyE7CRk2UbIOHAXc53YEiEmujZgMIgIsve\noGH6kg6OYMp9fgY8ygyF67OEnc7E2ZB5Qn8IJs5EDDas+DYog0p405Ux2Di9SDdBlqc8MkjbYO0I\nrRvwhjYYj43ODosMDN7Sf1cFCFgGZVStLCNfQx/YyYLTMpBKmWT1w7I3CEhAge4RLKwbbtvVMgcx\nT1lxrx27Aa/l5ew6ZZDA2c9L8NoVPCHblUGCA2c6+q4g4x/GRz/cVwcJZ7Y5hQpvvT7Ln8PzDOjw\nzZRj7gIrBm3+Lu3ZcjePutpMW019tz9MX5ABznx2QpE6Tl9yGiRfR2K/bjm76mw/xzh8cnkXr91W\nlz4liDGfDF5zPLSJf2J6i00tJIeWmWWZQIHPPd1p3+hnZZWpK05aH1OHaH8UiIbvrBs8FrSuwUtm\ntSiI0SR/o4w4G08lWLkyoBn9oiCZqWZ2588zYNBX/rZBux2mcEYpOAYLMHLWmIbgN2B3gR0blu83\n2REnGq9aA5J2GGm0dgbucwawLgPg++Rll+wsf+/isJMCqLlt2rOsnSk6I049oy1nf+6rMw/rSgKm\nlFdOBTlQW/48w+NylcFO2v2FHEit5w66jD0zKJySF2MzDjtvn7iaum1bzD5Zz2zn1iG3n0C1qwLi\n39bxbDencX1tV5+5LnfG2F5dreI7+sl4nb06gHCf+8vfzt5HjdM+Av7m95lApYxSb1xhMZ+yUuK+\nJNDs0gePx3bjz9h96Spygr4EJwafyR8DC1dBbTvuC7LL57piw1iohCeAyYoo7QFepqamOmOB7cB9\nME+79N784zovcDZ/0gaQaRcwhFz57tKfUfcdaVrX4KXq8DKoP0/DsUNzoKyqTkaPclCZgVihu5Qr\n7zHoglxK7QI3fk6iYyuwF/AmmFpdXW2VT33dYNB9MJz54/HzPL6DF0tLSzU/P99sUWbdCMbIWHHC\n8MKvRyCIJ+/NG48vA0tXmZx+G8hm6Z5nJCBgfF4TkgArgZnJvCL7yX7YKeCIXN3h3hyHZZtjMTD2\n+LL//A/fUr/S4WS52hkVa54MWu3kIYP6rAblD/3mf6/VSaA5yu6t5/xYnvA9dSZ51QXM085GBf+c\nPsjnGZR0ARH+HlV5TduwPiRQN1+7+O4xJg/ymi4gnACXewDkVM1ou2usHkfyCv55QT625SSV/mf1\n2n3180gAIKqnjMf+0QnV1NRUK0kgCbAudFVb0Fv7rOQjbS0uLrZ2PLIWznzKSlaSr7W+eKrb9u3/\nkV9VtSpXlgsAjM9sn/iJdXVI3fGiRJRWdDsHOx4bnoM419kYDSL8DO5DuF3TU11b29wX+uNSG/2l\nny7h8zwrf5dTttE66AIe/IbbXMiKY7HzMV/43P00XwFP7DJYXV07KI+gNja2tjsFgJOLuMyf3DLp\nIIEMDeCSx+kw+D5L1rlGYxQ4SWDgz7gXyuoeP8iiq+rkqkTVoXUw9AFe+AwRy91js4P22hAHxqxq\n2dEbfJisA/SH4OF1B14fYFBEG5lVm9eWhfXQeslOrARyyb90vpZT9iOvceXDfKAfrpzQR3hBEEyA\n5X75AET4ntMq1nuPy38bMHeN0yDK40mQxvWjAEqCIIOnruCcAdl9sN/oAs3J6+wT3xnAuPriSjAV\nD/rqBbz2mXkoZ/IDcv+pSrp9+MT3PNMbGcyHBPJdVSnro6tHPM88Sdnb76Rssnprf5vxr0sf/Kwu\nmfn61JmjTesavBAM7UwS2VZVS4mMxo1AjcgzGMB8BE5g9q4ZX+M1FTzLz3Bpn++q2gv12A5rB+mg\nY1TuOfPBYNAcOX7w4MHW/K3XU9jQCG44A1bD+9lWVIMXf7a0tNRkIOy2mZ+fb/rK4XV29C6XMzb4\nnGs87JwsP09reD0P33UZNADCcrI++PoEMfxwD4tj+dsy8o+f5XF7S63XKsFXbz2FN2wlt96ad+4n\nfHH2ZB3ocig5L/9MINfZH7uyfECgbQm5jQL07odBLPcZCLgflqFBPWTbMaAxz3h+tgUgTz1yAPZz\nrHsJ3Bx8lpeXW6dpW6+6CN1wxQj7db8spwwqub4mQaWnA9xWJkz+Mf+cbDkwZgCzHqS+WScNULjH\nsgE0Y4NsXPBYTjrppJqenm6dZeV1XbTvs1dYw5WVT/rrIx743wAhwZxfA9JlV5aRQaL1Psmxxolt\n+gTbaALI9G1eX+eEyeDZOp39Qh+Y7iJZ9mnpc3NztW/fvg4NP7K0rsGLj01O0IKTRgAI0xmTGc9h\nUqMye6PWRNiAAgSbJUMUxyVN9zMdvA8yciaXQdaO2v3hbJzl5eXmjbYea47NFRE7GYKD7/OZKQkM\neA8HQcwlQjtlnATzrMPhsJW5ICcCNJWadBDwyz/mpR1TBlADupzrTae6vLx8WLbk9nO+2IGIzA/5\ne27abeA4FhcXG1442HCv5+BdeRmVIUEEWuuKK5PwAsdqR2dHlc+C0B14je52yd26lCArbSKzz0wO\n+Cyrjba/BBN5jZMbr+mxHjpRAfi6SuLFoj7/gwqb9YldLJaxNxgkeLC8siKaNsC16Qu7bAOZ+LMM\nUF2VS4M/U8oqK2b4asbsNkjUDPgMTrFjA2WSBcAL1d3UH3YGso7QU7h+T5E/Z9s94/FULrwAeDId\nkrphmwK4ZIWma0yWH2PEpw6Hw1afrcf4A8c79Dkrgl1rVhwjctbCdpsJucEPNjI1NVWbN2+u6enp\n1iJ1KqbHgtY1eLGijgIvZqyZbcJQ/F2i3wyYPD+3lNr529nngqosDWZGiGN3hp5Ah/vtjO1oGYf7\nbONNJ2lnYmXkPgfadGqcDYBheNx2Wkwt2Jk5COBgvBCPn3TCmeWks3S2YV6bBw4K5pUBXAY97uPe\nzOJxUlXtQ9OchbqfkPtPxgcP8kRQy8qfuyqXPHOm7GkvB7jUdfctx2G98toDHCg88QGCGQRpw+Mx\niMygbMfJrj/L3gmC7a0L0BkIeEou+wYAsU0nmELW7kdO301MTNTGjRvrRS96UZORUqU0j62vXGNg\nxrUGGgmIoQQ2yYNMVhK0up1s02TZJGjs6keXv+6qOKWed8nT1Td46Qoyrx2h6uvkkjUkeSSFzwzi\n2QAQV/Hgt9fcWCZUHVxxsfzog6tJtG2dq1qzMdt1l1ztR7p8oSu4VXUYwE5g3wVSq9onF1NZor3p\n6enatGlT651XToSPBa1r8ELgq2o7ESuIlT0dWtXo1e++L0ts3OeMMQ02s0Ict7MKgwA74JWVQy9J\nZEuZA4/BGm0B4shUhsNhcx1ngjiwVq0dkV/Vft+IFd5TbPSLDIfv7KSRwerqanNktqfIMEgcA1Ua\nO387FsaYb1M28T8ggiDkLNUAMcugNtIMBF1gM8FyV7ZoQOuA1vX2Y/hiB+63gmfp36Vq+mP9cVaH\nM7U+ZraUY05naNBhXmdpGp3iOciUe5GFnXuOgev87LRP5OY+MSbzBrtwEPCz0tG7L6lbyBQdsX4a\nkDqwTE5OtpIOg8WTTz65eYUH1TZvIWWMKSeDqNTDLgDvcaQf5DkGRVkFsxxox9UFnm9ga+DJMyzz\n9H3wxj4ofY51zbpkHbANLSwsNP5zZWWlqVYAGLmeoG57sX4Z0KSdDwZrb63P5MEHdTrZsG3bz3qT\nBYQvN4hOwJoyTvCRoMPjBJg5uUqZe2rY9mB9SvDCmP1eO+wCkMYbsI82rWvwkuexGIGjXM7q/V1V\ne+1IkgWUmaiVH0POQJ+BIeepqw4/jMpAhAqKA4adVlaCQPgue/seHEyWxX0vjsTZow0478NAUVym\npxxI3Vc+Zww80227auPSfNf0lR0Obdjg7NwcaDMrTHl7LUzqDmSZ2XHwOeskMFz006Vk+pPTkB5v\nBr+FhYXDHL3XBA0Gg+akXvQBHeyqRLkd24XJoCgDqx09b8T2tKKnc7yOwDK3nbkf5onlv7y83Oxo\n8+tD4HkGyQRLptTJdObmFbxJXXRw9w+BKZMfKgAbNmxo3nOEnkDW+0wmDNKshxmYDUaso13jM695\n/mDQfhWK+ZrjzGqu/aqrB07WoDxVmv7TD/M25eQpErcB73PKHn9lYNrFa/sS+zrsygCFRMP8zeSP\ndklouM58MkgdFTPoJwAkEw7zCt4aYLmPXX41Y0ry1ZRgLtsxEHaszP4eLVrX4CXLZ4kUEX4GBa9D\ncPZhQGDjsvEvLy83qDIzHitIBgJnGol++czl4XRSXcG2q0pA32kXY/OY4I8DHOt9HNwBZTn1MxgM\nWu8fGQwGNTMz08wrj42N1XA4bPGawE0Jl/YwHsYMqEnl9zUAFy9C5dp0BDgDr2nC4SUgGQVq+M7V\nIPiYc/e+xzpk3eR7V4nGxtZeqGln60wFw/dakczAE/jQdzt0PnMfzb8E/NYZV9sASnamVdXKrJjy\nYjoR+VreBvPLy8sth9uVdJBd+4h3b9Vm7AQRyxfyszOBSUDqPnYBIoMErmPdGteSdU5MTNTmzZub\nEvuTTz7ZWm+RCZNt3CACfrl/Hl8Gvy6gaB3JZ9tXuBKYPsc67gBNH1ytMsC2PBK8Wc8dGD3ODKQG\nq+iHZWt9ghdMTfMCRnyTK6b4RvwhrzuxzXdNr9AfV2G9vTljFtePj6+dLePk2jzsSmBdjXVygy0l\nAEUW8Mm+0vx2stEF0ukjCSxtbN68uU477bSamppq1i4ydddvla7DV2Y7ePl7vqs6/N0sBEG3YSdk\nJXE2nwv2clrIaH4wGLQWYbpfBiueJvApnEb4Oe4EbTZ2AgHlaMBIVXthsKsXdsheYIlx4WC8roPA\nS9+9cA6lZn0CPOEanBa7klw9c2kesizSKdkRpxy5NtvPzGdUJoHuDAaDJvDgADzP7p1byAa9saEP\nBoMaDofNM9mdY2DgfhioVR2+VRs94R4cZ9oL/bSO0h7O2o7OIIN2DUaYKrJs/bZu+OVF2nbqCZDs\nIJ00JJhyNQn7wzmmvOm3+ZkyRk4JluGbHXsGAeu81864qmPgCL8JgnNzcw1fslpi+bpPVLIc1Oh/\nTss46LmN5L+BTgJKxunE0HpuntmHefxcm+PDPpjmIQFKMIa83abfOWYAMzU11ezGsz+kOueFvv7b\n4MsxIZMY83VlZaW1q5M2rcceg9vER1hmOTXX5btom8+td66IexMK38PH+fn5hh/0aXW1XX23Pll3\nrD8JSPFVk5OTNTs721QZq6pmZ2dbQOto0roGL0awMM9TFUagGchczuOzBBZZKkexXbK1AKsOz3jS\nYK1IUCJ2L3rllEVn2Yn0DcAIEunYq9am2ahEwB/K/hlU6C8giCAL0DK6h99kDt6dwcmrACnup6/m\nKfdktoAczFs+8zX+jN8GZ1Q50qkYJFruKfvcdZSy4xm0B3UFI+sRVSkynaWlpRZATP00QAQYVa0t\nOMWRuyLIs92W12WkI0WmXriYMnNp3EALXeNZU1NTTZAiUCdIz+qHf6edeO0WOmxfwHPR6wQd2a6r\nsK58pXwNotzHdO5e65AAg//RteXltWMN0oYzYclnWN/xe9ga03aeGkg+cH8+L/2U+Zb32z6rDl+8\n763m/kkZJNBydcPAwFPZLLbNKRFXTOgbQGdlZaVZFwNgyQPfEjzwZnnkhp7DXyrRBtLWJcbIOPxq\nESdgCT4ToNh3ZbWOcRu4IAPrTNfUnXnveJb8h6duMxecI/OFhYWGr/Zn9tVHk9Y1eHF2YOeB0DAi\nf5dZJe3YUBIQpQMzaOL5Dgg5rVTVnsLCYHBUdq4u26HgXhvSBXTsDDZu3HhYhuqMMoEG7bs/GNUz\nTYl4TFlRchWK52HcOICqtYDsQMfnEP1PEOE+OfCZ51l+9SJKL8A00DGPE8TxnRehuh8pS7INOzLA\nAe1Yl/ifGBXwuQAAIABJREFUrbMel52pnTMgif44O7Me+T7rknUl/86+W2aWC32nH7wwkusGg0FT\nKkbePAMdtwy6AmfqPrywkx01pUO/DegT5HCtfQr8p828N3Uw+5P+J4HPYDCo2dnZ2rRpU2t9hqfP\nEvAmPxIUm3e0ZfvpAkMGYR5T1VqFCD3KwJOgxvc5kfR0uoOkQTP672plgiVXNaqqeQltVXsa1lNx\nliefz8/P1/z8/GE8Z0zWG0ADiZdBIxXlrCyROHjhr8fSxTvzj5jmRC555Cq6qzYGPF2g2aDKyQNk\nv2/7sD7jSyybBPzz8/ONjFirxxqvY0HrGrw4C7di4OhNDswuc6GwLvEmkMkKTFcQyKqMszeuoW0b\nVlZq7GS8ADaBhMEB109MTNTMzEyDtilj8x3Aqmot0DJ2eEFwdSC0Mafj9qJQeOJdUoyJ/uIAFxcX\n68CBA43zcHnTToeAQ3+Qn/mUlTT+d2Uod6eks/C9DgrpkKqq1ZZlZ8POzLQrUGT1wdmVwQH/57QC\n93XJj367QmY95HrL1W2bHxD9caXH44Nffis2Y8R52e4MDgzyswLTlVQk8HC1wf31talXDiLYRQLk\nBCS+1zrv+9xH6w3HAKA/4+PjtXnz5vrmb/7mWlpaaoIpcsvA4vFa/5xEOHAZ8HcBLQP2LllaJ/jO\n9m9QlG27z9zr34wB3jCFZhnQjn2zAb+vY7qSSiA7uAyOGA9TVCSRXQE9dcl9dz+dJDAmHw2QIAL+\nuu8pO9p2VdM7qIgf9kPoCvZp8MfzeLYrw13vTXJF1Z+n7mUVGv/Os6i8DIfDZlkACeSxoHUNXhK9\n85lRqKdCqtZQubOpqvZWOWcao4zVRujA6c8c+Gz4kA0dI62q1ja2qva5Gq4eWakSuAEqXDbOdRMQ\npXwvzHPpk3a6Spn0z5mtHUWX4vP3cDhsKmSAGh/5Tl8cFBxQXULOqTooA3JXBmpdcgZhR55Ozn2F\nkjdeHJvjJwu0U7EeWuYGiPDXekCfDNgctPOANeusM0H6YufSBV4tA39uuyJjd+boPrpKkiApP/f/\nVYe/AoCqj0FHyjn5RP8yeHdVYPkbe8jMNvloHeIa/s/FudiqQY5BicfQlZC5Kph84m8HTN/rv9Ne\nuwCkfZpllvdmH2kvQQ60srJy2PZm+JS+luQQH20A4oMSCZwJluk7000G+FXVTHv7AFSAURcwXV1d\nbU71nZ6ersFgbZqeKUFklGBnlB8yn11VNaX/HZV8JK8TVKf+IotMsLne/UnZWk4HDx5s+Mv0nJOq\nY0HrGrzkVjE7RBTSh+dUVSvYJQq2gtMGwvUiI6+h8P9djpbrVlZWDlsAy2+Uw7thcHTOTqz0nppB\ncTA2xmel9vi7gh9o24er5eJmg0KXQh3oV1dXG6fBMzACDMLvdEEOnu9PZ+y+Mn7ux6HA3wxYXgVP\nH53RuF1fY3JVLXXFwSHlY+eRQcR8oP9k/7n+yIEip6zs7NwH24X5acfmAOw206YM7HMdTyYOOG94\nYL0lIzY4zKojuuf1Ou43fefZOf4E6JaJpwY8vWfZok85BZWJQlJXIDL4QDe9foigB3jHDrk3kxaD\nLYMBVx49ZgfNJH+eABoZ2Df6WgPB5I+Do6stBjq2n6pDfmFubq45jwXwkmvCuNcA3Ykj7bKrhzVk\n8B2/x//4u6xoOtmkrSQqM1xrHeQcK1eMzUNALbadOurqEnGsS8boB/2gTwZj5k1WJwFX6adcvUFX\nvIvPcs17nZxZNvTXMfVo07oGL10VCASSC/UgDNUKWrWWWVmZ0kGmgWfZdZRQEGY6WyucjR4BOytz\n23nKY1fGV7UW6LwS3oEodx7Bv+QpvOTaqvYcsqc/0tgcuLl/w4YN9fTTTzenLxooQZ5CgdeuIHG9\ng62NxE6W690vO13L0Nm5eZjPsVOnXziI1AeDRIOCLJV7vF3TXF6jlNmV+e0+oA8eV/4gg7QLPnfA\n9KJB5ImsAF8eg+XgPvM8j4tn+HfyzbLoOuciQYt1JDNEy9jXARwcAByEeKbl0+XEqQrYj/h6ZM8a\nPdYDZNXIiUkXePF1lnVWhty/bN8BLsfi+/l7VHD0/89UxXJ77Hqsqua3gX2uMUHHbYMeH2PKDRs5\njWLeOgl0AprTM+kDAEtey2d/lrLOZMT2R+wyyCYOdAEgJ70bNmxoHTHBvfTXU/uZ4FsmTsRdefFm\nBsdH2wdtWs+9TCJ969GmdQ1enJnm/KQdQBqhM6LMcKvaDshO1NdUra0ZAJm61Ek7bs9InODl3SFG\nqi5pci/G5czGxs3nDthpdDzP8+lUJnL9SmbsafhpiPDT21VtHPSf3TRVh4Krp6xsOGSprnq5D9mn\n5eXl1nQZ3+UJlnYCCdQss3SMds5dQcEOOfvmNvibLeRdFSM7Tut3bjEmoOVaAJwIgDL1y+MwqPVY\nDJBznHaeTDsCxvjeoO7pp59uLeR1ILYsIVdxCIwpK9sfjjXbHVWVwMb8uUFLOmZfZ7vgt/0CbS8s\nLBwGrFPXTjrppJqdna3p6el66qmnWmMzGM3A5eehV56qMniwvDIbtj50JWgpfz+/qxKQAMVBzdVu\n92FlZaU2btzYmgJyVZWgStWOSogDou/JqTnrKs929cHrixyo016sFwYBBtJVa+dnma/PBiRtF658\nuA14SRXEuzt5Ia55gv+0D3ZiT/zx+5ZcMXZCw3W89NLVGOuVlz6w7ujgwYOthNF2dzRpXYOXLhQ4\nysFZiW1IpgQnmW3wgxF4q7EdlJU6FdXG7dJwKq+DSpawvSbB63L4f3l5uVEY2vR6jMy63feq9jkg\n8NnZjx2AF416jhkwh0M0Gq9aW2fDVlxvD7bxZt+QdQZlZ3+ea6Zv8NI/bt/yMYAzHzC6UZl0go8M\nCvk31zIe+upKg6tn3t5ugEe7DvjWQ/SvSze7AFeXs0+dJSDRRgYu84r+sTZlVKXFOpo24yTDpeeu\ndUX+O3nggOn+urrh7/y97dQ6B3ksyUPrmsfpNRZZUjfgd19zLP5/VMXDvgu+WGfMq7STLr3I57i/\nfi5t5DEEvsYVPVdVu2SZIMy6wasWRvGuqr1QnP5Ypw1mAJcO4rTt6ZccQ4LABC1dejXqh3Z9PWPi\nOfYL6J/jiOMAwA4bperlLdDw2rHHVXW+T3vkM8cb+uhdV94tdjRpXYOXBAOpLC6f8ds/VYefceAM\nCWHaCOyoHeyr2mjeiunsgL7a6diBgJYJYg5Ofq776fZQdi8wA2l3BSNXb1A0Zy3wxobbhZydvdvA\nvCZldXW12RHguWmXWdlmnuPrkrn71ZUlwTODBb53oHAAykCRQcO6Ztn6euuMA5xBqANN6lI63tQX\n+ux1M1kl8/kw/Oa7riBC2zg9rqNt64l3GRhcZADFqVr+GdQNFvievrg9Z8b0f3Jysg4cONAqt/ue\nrG6aT+kr4JEDp/vaVWVxEHX71rHUFQK5bcyA2ZXY5Jcrf6NADP1znz2WrsqL5euA6bFZvtb7rgQI\n3cCn2L8lEElbpp2cekmdSF9K9QAQQ+IEP/E1BFHGTVC2fnU9w3zOOJHVuvQL7n/KxbZhsmzMU2zb\n/E6bgu+uTHqK1cmv9dlThpYJiRM/XfpNP9js4TFUVava3oOXqlZQRgEQTiJIlMRzmDiDLoXqAh4O\n4FZkk7OULkeAo7Vhu0rAZ4AIX4PiZJmU50IOiFZIeJALt7jffbIDhwzObIjZjp2ks5B0SH77tY0Q\n6nKUfJ8Llh2MMruyzDIwdQUcO1HrjwOYZZhBBpn7efAt5ezSPkHZzi6rXuaz20lQyu8uoJxtmD9d\nPELG9DGrYuxOsNwcEN0+fYZnfpadHc/tWiSNXZj/aSurq2snGaPrjM+LIq175p19RE5Ju7/WO4NY\n8yJl437wLMvXbRFgnTRgx5a9wW7qgHnuaklXgM22rUdcl3ZjX2NgW9Xejs/Yup5tG6LagR3le8LM\nL/s67zjjfmRVtea37Pvpc4JpfBOLb5/J33ltYpct2gelPaYPMxCkf1n98E4o890+oStJQpcMXAEk\nLBp33wHa/unSX3yBgaKnu3mlAn3lKI2jTesavDg4Va0ZhgFKVduQUUyX521sVW0wkwul/NuVEAwl\n3wORGTIKkk7PwbsLiXuM6UzscLzFucvpwDPzLeeWvX7C36djoh0MwgCN8q2dlIEL1aHMGmg7T2j1\nj0GbjTHXpGTG5mkWy85G3pXdAZINlh3Q0Rk7UIKN++J2ccZeAGtghh4lD3lWAh/rkx1WknXVQdb6\nRb8Zi0E+aw/MW7ZF2nm534w9gSH3dwVQflt/rUe8JdiANjNeV2PoP5/7sDOXxA0UHOxTx8xrAx/7\nE/sbj4V7HaATdDNm+xED6qw00aav6SKvzejyMZa1E4ts3/y0PeSUoMGGAVb6VHjmCjFyYO0EMrPu\neZ0Wrzphm7R9ndt0lcU/KQ/LOAG914r4HVtQ6gLjdvC3vprfBiGuJjG9w0aHXNSM7a6srDRrTeAh\ngCF3s+UOWNpCPl1+EhkwZgAq44H3jN27PX1q+NGmdQ1euqYE0pgxCK9PITh7eiezfqPVzBhtzFRS\nDA4MQlLwKJiDoacKDLq8WJf+PlOVqKoOA0o8mzEvLy83ZWvACkFqbGztHIquoOhne+2F53qZ9vL7\nfgyMMrsku0EWLnU6y7Hzp19uMyskdrweRwaQDDZej2BdMhCwzlS135flbN46l+Clqx++zrJGBxJs\neLzWbbabIltnmRlok1fpyG0PPM/z5gYvaYM+r8jBLXlg4Jb2674ZlDBe64izbvPNFQsHTsvK22YN\nQg18HYDQUeQOOQPmPu+QITBkkuGAakBsH2Zw5yTHgZ/nPhPZL/la22omKZkIdsmNcTnpAUjYB1vn\naMfrJ6yHmUxkhcjjhR8GsNY1AzvrPvd0gWYnZw6+rrYYbOCnTX5ejsm+h+f5HgNr/BOyTgC0vHxo\nreNwOKzhcFgHDhxo5ABo9ZZn/Lztx37IMrZPTN/gPjgRTDk7aT0WtK7BS557UNWuvlg5/C6YDCQW\n6KiAyDPsbLItBxg7XhyT13+QqWZAh1jE9/TTT9dwOGzu6VIqG7L7jaLDC2eAabhUS7zo1ouu7Jg8\nZvriFfpe7Y9RwVc7hqWlpeZdSQSiUQ6UYMLzbDyWHX/z2xkqvwnyzjzsfHMu107RcrTj6nJIBgte\nJwTvvfbB2XQClySXZD1uVzpc/Ri1K8+f2cGnTdEPgytnvAcPHqz5+fnauHFjqx0vwsRWndViS5kd\n026uC7Gc0FN2tiXoto4RQC2vBG4OupZdgm07+gRa1gPbAb9Zg8N3roIkkPAYEhCZV/TH77HJnSqM\nyf3zM6zbBoQGvbYH3+f7XRG13SRIzbU7WbVBJwxksOVci0M7fA6/LR+DlqyWc4/t1ADHC403bNjQ\n/J9rqeAp32Ui63H6eldeaMuJ4Kgpz6p2QmX+s77Hi9kBLtgLtmPAnrrCNe4/NpC+wv7QC/ntL+jv\n3NxcHQta1+Al12gkwrYhJXUFOoTiMq4BQtXaPGDO/aNgCUYQKEHalQVXd3AaOLepqamWolVV6/0w\nGAnfM9bscyJfvxwLo/HWPjsXPusqZ1sZqw6dlvvSl760daiT7zUQoc+MlwAzMTHRZKnOhOzcbOzm\nH2NnwRgy5DX3rmgYuHhBKQGGY9zhh8dup4Yz8CGIvg7ARebp6RjaSHDlsbnEaxCaARq+8v1jjz1W\nW7Zsaem7sztXiXD8DorWOYMkVzNoB1A8Pz/fvMU3x+6trdxLxbELgPvZmflZ/8bGxmpmZqapbtiG\naYMXxMFXn5Fj0GaQbR31OLmO/jjT9DPh68GDB2vPnj21ffv2lj4nGOZANScHrrbYV1gfHHRcCbAu\npczT7+U4Ia8D6QKb1inkyg/Xocd+rvWRZ1t/u3TPazLsQwxWnLTmVCH8m5+fr1NOOaVVWfR75gxy\nDHQnJg4doz89Pd0CVNh0+l7OqgEwMxbbjsfpZAW/sLKy0gJLrCMZFe+QFzpsEIXvJKbAG693MUgy\n8HWBwPZof+Lx2f9xjfudceBo0roGL15XkSjeAkhGI3AbEIqcc75GnXxe1V4bAHp1P/zbmY4zAiNj\nEK0dlhXRYAqyQTiI8zuzFwx5YWHhsAzXSgcPvCPHQZNn+ByBJ554ol760pdW1Vplwq8bMN95lsuv\ngAxXDDB0L5gz/9w3DMN89HWWH1kITsNjslMy8IMnZCLenpiBHeDB/zgeH+hngG09wKEYqODMDLSs\nKw4OKysr9eijj9bpp5/e8DwBQlawkKsXAzp4OSs2uLJO4mBZh8LnjA+nOSpzc/DJ4GXZOSBbHzP7\nzcpiku2Y51IhcVLA/c/mcO2sXQXau3dvbdu2rZU1O+AtLS01x+JbPxMM+TmWTT7fn7s6Zl9nvqEz\nBogOYF3VC/PPfTbYx295usuAIBNNnpl9ccDLTQbcT8JHn81D2/eBAwfqlFNOadrtSqzot59lAODE\ngx/7Xe7vmkZ1Upug0jbmZIvrs4rlhML3Tk1Ntabr7Ou8KBegbH7Rn0wiMnYiU8clH41gPaFNf9+v\nean2Aj8EYGfXheR9rzNHO3A7v3T6RvacqmiH5/7wTD/L2aeNGUMh6M3NzdX09HSjdOk8MouibaP7\ndB5UNqjyGFSRgXg9Az9dAcWGyN+8RRRFpeLgDJXPydJ5ru8hY19dXW2CXgbormwpHQG8y75iuLRn\nwMb/Bj12dgSZ4XDY0o2canIW7SBi8Abv0TfAAzw0gDGQTbBEO4zNY3TwtU7aydB/Bx07Kcjfk1UC\nuHibuZ25+Zag2fzP//OZ/p4x0Tf0xWPHsXYBDvoIJeC3bWYlqqt/9gt+l5ODpxdxZyZu25yamjos\nGNoPVVXLH2R1hX57/YztxLrngOjgZR+ZvsS6amCVVQDLrCtxSN5bTuYb/7vCZF9iEJj/27YNwPx5\njot2PE5ALfazvLzcmm6hHXxn+nsnjWkPBvkGno4zubbGSUTaBrK3nAFcTrh4pnUw9dKg0v9bbqOS\nSOuPP3el91jQugQvZoqZaiM3yLCQjexdcbDhMa1Q1TYWo1KUlUBlI3U5HKHl9r7MQKwQGCAnkiYS\nph1+A8BcPq1ae2Ed9zGl0oXkPV9aVZ2GkM+0wROcxsbWTlxlGsYOcmVlpVkj4QXLBFv45F0FztYt\n/3RsDvLuL99Zhhi7KyeZbaYxerzeSQSfcWb5IkU7TRxIVzDLzDyDUlU14IZnc8CfHR9B3VUR8wp5\nuKxsJ2W+ZP+5nqxudXW1AaPp0A28eGPyyspKwwPv8DHQtg1YD+Gn5eMKlwMEY7DdORiljrm6QX+8\nrs0AwDrov63jXLu0tNSsWfO0NFNFZMj8bftMkLu6ulbFXF1dbd7Ua72ifa/7MHiwP0zKhMVB1Lpj\nwOTpF99r2XSBA8skK7OuvGTfkEvauXUikwXrY67b8/dZTTL4AxzbX/E93zET4CMtnDSkTZi/1iva\ny/VHBh/mq59D3zi+wImc1xUmb5GPk+sEt9yTANHjSp/l2Iw+uNJ8NGldgpfM8J+NvFVsPdFwOHzG\n7x966KH/V/tf+9rX/l/3P1d69NFHj+nzehpN+/fvP95d6Ol/6a/+6q+Odxd6+l96/PHHj3cXevpf\nmp+fr9nZ2aPW/uCv//qvjy48+j/QyspKPf74402puqeeeuqpp556Wv9E1fCbvumbnnUt2f+H1mXl\nZWxsrE477bTj3Y2eeuqpp5566uk50tGsuEDHZk9TTz311FNPPfXU0xGiHrz01FNPPfXUU08nFPXg\npaeeeuqpp556OqFoXa55uf322+vP/uzPam5url7+8pfXz/3cz9U555xzvLv1vKJbb721/uEf/qEe\nffTR2rhxY51//vn11re+tbXW6LHHHqubbrqp9uzZU5OTk/XqV7+6rrnmmtaZKXfeeWf9yZ/8Sf33\nf/93bd26ta655po6//zzj8eQnjf0K7/yK3X33XfXb/7mb9Z3fdd3VVXVv/7rv9Ytt9xS+/fvr1NP\nPbWuvPLKuuyyy5p7nn766br55pvrs5/9bC0tLdUFF1xQP//zP9+vHfs/0j333FN/8Ad/UPfdd1+N\njY3V2WefXb/zO79TVVX79u2rD37wg/WlL32pZmdn6/Wvf339+I//eOv+3ocdGfra175Wv/u7v1v/\n8i//UktLS7V169b6qZ/6qbrggguqqreLFzKtu8rLxz72sdq9e3e9//3vr507d9Z3fMd31LXXXlsH\nDx483l17XtFgMKjrrruu7rrrrtqxY0cNBoO6/vrrm+9XV1frXe96V5188sn1iU98on7/93+/9uzZ\nUx/60Ieaaz772c/WH/7hH9b1119fn/zkJ+uSSy6p6667rr7yla8cjyE9L2j37t3N22KhRx55pN71\nrnfV61//+vrkJz9Z1157bX34wx+uz33uc801N998c33xi1+sW2+9te64446anZ2tG2644XgM4YSn\ne+65p6677rq65JJL6s4776y77rqrrrnmmqo6tP3zne98Z51//vm1a9euuvHGG+tTn/pUfeITn2ju\n733YkaMPfOAD9dWvfrV27NhRd911V1100UV1/fXX14EDB3q7eIHTugMvu3btqiuvvLLOPvvsmpyc\nrDe/+c21tLRUf/d3f3e8u/a8op/8yZ+sc889t8bHx2tmZqbe9KY31b//+783byrds2dP7d+/v97+\n9rfXxo0b68UvfnG9+c1vrk996lPN+Tu7du2qSy65pF7xilfU+Ph4XXHFFXXmmWfW7t27j+fQTlj6\nyle+Urfffntde+21rQOedu/eXWeddVZddtllNT4+XhdccEFdcskltXPnzqo6dGrx7t276y1veUud\ndtpptXHjxnr7299eDzzwQH3hC184XsM5YenDH/5wXXrppfX93//9zesizjvvvKqq+pu/+ZtaWVmp\nn/iJn6iTTjqpzjnnnLryyisbWVT1PuxI0kMPPVTf933fV5s3b67BYFA/+IM/WPPz8/Vf//VfvV28\nwGldgZe5ubl65JFHavv27c1n4+PjtW3btrr//vuPY8+e//SP//iP9S3f8i3NFrd9+/bVli1batOm\nTc015513Xh08eLA5IO3+++9vnDq0ffv2+vKXv3zsOv48ohtvvLF+9Ed/9LCS9r59++rbvu3bWp+d\nd955DZ//8z//sxYXF1t2c/LJJ9eWLVt6u3mOtLCwUF/84hdrMBjU2972trr88svrrW99a/3t3/5t\nVR2Sxbnnnts6v+K8886rhx9+uObn53sfdoTpqquuqs997nP1xBNP1NLSUu3cubPOPPPM+tZv/dbe\nLl7gtK7WvHAibe4R37Rp0zF7zfYLkf75n/+5PvKRj9Sv/uqvNp8Nh8NOOVStvfJ8bm6u85pHHnnk\nKPf4+Udki5deemnzGVNHc3NzddZZZ7Wu37RpU2MvnEidspidne3t5jnSk08+Waurq/WXf/mX9Wu/\n9mu1bdu2uvvuu+u9731v3XTTTc9qF1TMeh92ZOg7v/M769Of/nT98A//cI2Pj9emTZvqve99b01O\nTvZ28QKndVV5mZ6erqpqpi6gp556qmZmZo5Hl5739PnPf77e85731A033FDf8z3f03w+PT3dKYeq\namQxMzPTeQ1y7Okbo4ceeqj+6I/+qH75l3+59TmB8Nn4PMpuDhw40NvNcyR4efHFF9fLX/7yGhsb\nqwsvvLBe+cpX1t133/2sdtH7sCNHq6ur9Yu/+It16qmn1q5du2r37t31jne8o975znfW/fff39vF\nC5zWFXiZmZmp008/ve67777ms+Xl5dq3b19t27btOPbs+Umf/vSn633ve1+95z3vqVe96lWt77Zt\n21YPP/xw45irqu69996ampqqM888s7nGsqqquu++++rcc889+p1/HtHevXvrySefrJ/5mZ+pK664\noq644oqqqnr3u99dv/Vbv1Xbtm2rf/u3f2vdc++99zZ8Puuss2pycrIli69//ev1yCOP9HbzHGlm\nZqbOOOOMkd9v27atvvzlL7deqnjvvffWli1bauPGjb0PO4L01FNP1cMPP1w/9EM/VLOzszU2Nlav\netWr6owzzqh/+qd/qpe97GW9XbyAaV2Bl6qqyy+/vD7+8Y/XAw88UAsLC3X77bfXxMREXXjhhce7\na88ruvPOO+uDH/xgve9976vv/u7vPuz7888/v7Zu3Vq33HJLzc/P16OPPlo7duyoSy+9tE466aSq\nOiSrP//zP68vfOELtbS0VHfddVc9+OCD9brXve5YD+eEpte85jX1x3/8x3XrrbfWbbfdVrfddltV\nVb3jHe+on/7pn67Xve51tX///tq1a1ctLS3V3r176y/+4i8akDM5OVkXX3xx3X777fXYY4/VcDis\nW265pc4+++x6xStecTyHdkLSG97whtq9e3fdf//9tbq6WnfffXft3bu3LrroorroootqfHy8duzY\nUYuLi/XAAw/UHXfc0ciiqvdhR4o2b95cW7durZ07d9ZwOKzV1dX6/Oc/X//xH/9R27dvr4svvri3\nixcwrcsXM+7YsaP+9E//tIbDYW3fvr0/I+Eo0Gte85qamJhogAivO//1X//1xrAfe+yx+sAHPtCc\n8/La17623va2tzWvuK86tFbjYx/7WH3961+vrVu31s/+7M/2juEI0Gtf+9p6//vf35zzsmfPnrr5\n5ptr//799aIXvaje9KY3HXaexe/93u/VZz7zmeY8i1/4hV/oz7P4P9JHP/rR2rlzZ83NzdVLXvKS\nuvrqq+t7v/d7q6rqgQceqJtuuqm+9KUv1czMTF122WX1Yz/2Y637ex92ZOjBBx+sD33oQ3XPPffU\n4uJivfjFL643vvGNzdqw3i5euLQuwUtPPfXUU0899dTTKFp300Y99dRTTz311FNPz0Q9eOmpp556\n6qmnnk4o6sFLTz311FNPPfV0QlEPXnrqqaeeeuqppxOKevDSU0899dRTTz2dUNSDl5566qmnnnrq\n6YTiEn4wAAAAL0lEQVSiHrz01FNPPfXUU08nFPXgpaeeeuqpp556OqGoBy899dRTTz311NMJRf8D\nArn7SxDrFVkAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for i in [5, 10, 15, 20, 30, 50]:\n", + " reconstimg = np.matrix(U[:, :i]) * np.diag(D[:i]) * np.matrix(V[:i, :])\n", + " plt.imshow(reconstimg, cmap='gray')\n", + " title = \"n = %s\" % i\n", + " plt.title(title)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Whaou! Even with 50 components, the quality of the image is not bad!\n", + "\n", + "# Conclusion\n", + "\n", + "I like this chapter on the SVD because it uses what we have learned so far in a concrete application. The next chapter on the pseudo-inverse is quite cool as well so keep on reading! We will see how to find a near-solution of a system of equation that minimizes the error and at the end we will see an example that uses the pseudo-inverse to find the best fit line of a set of data points." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "hideCode": false, + "hidePrompt": false + }, + "source": [ + "# References\n", + "\n", + "## Drawing a circle with Matplotlib\n", + "\n", + "- https://stackoverflow.com/questions/32092899/plot-equation-showing-a-circle\n", + "\n", + "## Rotation matrix\n", + "\n", + "- https://en.wikipedia.org/wiki/Rotation_matrix)\n", + "\n", + "## Basis vectors\n", + "\n", + "- https://en.wikipedia.org/wiki/Basis_(linear_algebra)\n", + "\n", + "## Linear transformation\n", + "\n", + "- [Aran Glancy - Linear transformation and matrices](https://www.youtube.com/watch?v=kJIUbtSowRg)\n", + "\n", + "## SVD\n", + "\n", + "- [Singular Value Decomposition - Wikipedia](https://en.wikipedia.org/wiki/Singular-value_decomposition)\n", + "\n", + "- [Professor-svd](https://fr.mathworks.com/company/newsletters/articles/professor-svd.html)\n", + "\n", + "- [Intoli - PCA and SVD](https://intoli.com/blog/pca-and-svd/)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy SVD doc](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.svd.html)\n", + "\n", + "## Image processing\n", + "\n", + "- [Frank Cleary - SVD of an image](https://www.frankcleary.com/svdimage/)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 10)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAECCAYAAAD3k8IpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEopJREFUeJzt3X1wXNV9xvHvSrKEDcIOWEAor3bhwLRDPUOnDhjbkMI4\nEEpKCk0ISROYhkJhMtDGjA0BalIoDW9OLAiMBwe7DSSGlAyhE5g0QDBOSIahZcDYP2PCWyaTIOwa\nbKwXJG//WG2ta1va3bt77zln9/n8JWm0u78x8sPR/T17XSgWi4iIlLX5HkBEwqJQEJEEhYKIJCgU\nRCRBoSAiCQoFEUnoqOabnHOzgVvM7DTn3EzgfmAn8LKZXZ7hfCKSs4onBefcQmA50DX6pTuAa8xs\nPtDmnPtUhvOJSM6q+fVhE3DumM9PNLM1ox//GDi94VOJiDcVQ8HMHgGGx3ypMObjbcDURg8lIv6k\nudC4c8zH3cDWBs0iIgGo6kLjbl5wzs0zs2eAM4EnKz1gZGSk2N7enuKlRKQBCpW/ZZc0ofBVYLlz\nbhKwHni40gPa29vp69uW4qX86enp1swZi21eiHfmWlQVCmb2JnDy6MevAqfWOpiIxEHlJRFJUCiI\nSIJCQUQSFAoikqBQEJEEhYKIJCgURCRBoSAiCQoFEUlQKIhIgkJBRBIUCiKSoFAQkQSFgogkKBRE\nJEGhICIJCgURSVAoiEiCQkFEEhQKIpKgUBCRBIWCiCQoFEQkQaEgIgkKBRFJUCiISIJCQUQSFAoi\nkqBQEJEEhYKIJCgURCRBoSAiCQoFEUlQKIhIgkJBRBIUCiKSoFAQkYSONA9yznUAK4GjgGHgy2a2\nsYFziYgnaU8KZwHtZjYH+Dpwc+NGEhGf0obCRqDDOVcApgJDjRtJRHxK9esDsB04GtgAHAic3bCJ\nRMSrQrFYrPlBzrnbgQEzu9Y59wfAU8Afm9l4J4baX0SCUCwW2Ta4nf336fY9iqRXqOWb054UtgAf\njn68dfR52id6QF/ftpQv5UdPT3fLzbxt6H3Wb17Phi2vsH7LOtb3bWDjY+fwwM0fY9YhJzRw0pJW\n/DP2oaentkBPGwpLgRXOuWeAScBiM+tP+Vzi2WOvPcr1axfzm+1v7/ricCeTH/s+sw+ez6xD0v6Y\nSIxS/dc2sw+AzzR4FvHkz488g1WvrNgVCv3T2Ofhx+l/bTZn3zbArkOhtAL9L6CF9Q/3s2rdCpb9\n91Le2fH70he3HkHng08y8PuZAMyfP+xxQvFBodCCdg+Dg6YczD/PuYU1z2/jpyuuZOj96QDMmLGT\nI4/UNeJWo1BoIeOFwRf+6CK29k1h1ertdA4fQPlscOqpOiW0IoVCC5goDCZ3TAZg8keLPPrgvsyZ\nAyMjRQYHCwqFFqVQaGLVhMFYN97YxebNbfT29vODH0zilFNGPEwtvikUmlCtYQDw85+388ADncyd\nO8z55w+zYMEw++2X8+ASBIVCE+n/sJ97X7yrpjAAGByEhQu76OoqcuutAxQKMHVqjoNLUBQKTaB8\nMrjrxW/yu+2/qzoMynp7O3n11XYWLRpkxgxtG1qdQiFiu/+acMh+h9QUBgCvvVZg6dJOjj12hMsv\n15tdRaEQpfGuGfzD/K+wfWv1G4NiEa6+eh8GBwvceusgXV0ZDi3RUChEpNIFxMmTJrOd6t+s89BD\nHaxZ08GFFw5x0knaNEiJQiECabYJlWzZAjfc0MX06Tu5/vrBBk8sMVMoBCyLMCgrdxLuuqufj3yk\nQQNLU1AoBCjLMIBkJ+G889RalCSFQkCyDgPYeydBZCyFQgDyCIMydRKkEoWCR3mGAaiTINVRKHiQ\ndxiAOglSPYVCjnyEQZk6CVIthUIOfIYBqJMgtVEoZMh3GJSpkyC1UChkIJQwAHUSpHYKhQYKKQxA\nnQRJR6HQAKGFQZk6CZKGQqEOoYYBqJMg6SkUUgg5DECdBKmPQqEGoYdBmToJUg+FQhViCQNQJ0Hq\np1CYQExhUKZOgtRLobAX/cP9LH3uPv5lzS3RhAHAz36GOglSN4XCGDGeDMoGB+HSS1EnQeqmUGDv\nYbB0wVLOPfKC4MOgrLe3kw0bYNGiIXUSpC4tHQoTnQyO+OhB9PVVf2dkn8qdhOOPR50EqVtLhkLM\nvybsbmwn4Z57UCdB6tZSodBMYVA2tpMwb14nfX2+J5LYtUQoNGMYwN46CZ2+R5ImkDoUnHOLgHOA\nScDdZvadhk3VIM0aBmXqJEgWUoWCc24+cJKZneyc2xf4x8aOVZ9mDwPQfRIkO2lPCguAl51zPwS6\ngYWNGym9VggD0H0SJFtpQ2E6cARwNjADeBQ4rlFD1apVwqBM90mQLKUNhc3AejMbBjY65wacc9PN\n7N0GzlaVf3vlfv71Vze1RBiA7pMg2UsbCs8CXwHudM4dCkyhFBTj6unpTvlSE3jvPd4vbqatrcDS\nBUu55MRLmDypcWGQycx1KBbhs58t/fqwfHk7hx2253yhzVxJbPNCnDPXolAspjt+OuduAT4OFIDF\nZvZfE3x7MYt24L7XLOSdJf9EW6Gt4SeDnp7u4BqNq1d3cMUVk7nwwiHuvHPPt0WHOPNEYpsXop25\npqtOqUOhRg0PhbZfv8YBJ5/IZnuD4tRpDX1uCO8//pYtMGfOvhQKsHbtB3tdQYY2cyWxzQvRzlxT\nKLRlNUjWpnzzdgo7d9L+1pu+R8lFuZOwZMmgOgmSqShDoe3NN9hn9YOlj996y/M02VMnQfIUZShM\n+dadFEZK9x5s9pOCOgmSt+hCoe03b7PP9/591+dvN3colDsJV12l+yRIPqILhSnL7kx83swnBXUS\nxIe4QqFYZOCvPsO2O5YBsOOSy0rL+yakf7tBfInrrdOFAsN/NpvOnz4BwMAFX2Dk6Bmeh8qG/u0G\n8SWuUBjVsWEDxbY2Rv7wmKa81ZD+7QbxKcpQaLf1pRNCEwYC6D4J4ldc1xQABgZof+N1RtzxvifJ\nhDoJ4lt0odC+6VUKO3cyfJy3d2pnRp0ECUF0odBh6wEYObb5QkGdBAlBdKHQvnEDAMNN9uuDOgkS\niuhCIbF5aBLqJEhIoguFZtw8qJMgIYkrFJpw86BOgoQmqp5CM24e1EmQ0ER1Umi2zYM6CRKiqEKh\nmTYP6iRIqKIKhWbaPKiTIKGKKhSaZfOgToKELJ5QaJLNgzoJErpoQqFZNg/qJEjoogmFZtg8qJMg\nMYimp9AMmwd1EiQG8ZwUIt88qJMgsYgmFGLePKiTIDGJIxQi3zyokyAxiSIUYt48qJMgsYkiFGLd\nPKiTIDGKIhRi3TyokyAxiiIUYtw8qJMgsYqipxDj5kGdBIlV+CeFCDcP6iRIzIIPhdg2D+okSOyC\nD4XYNg/qJEjsgg+FmDYP6iRIM6jrQqNz7iDgeeB0M9vYmJGSYtk8qJMgzSL1ScE51wHcA+xo3Dh7\nimXzoE6CNIt6fn24Dfg28NsGzbKnSDYP6iRIM0kVCs65LwHvmNlPgMyur8eyeSh3EpYsGVQnQaKX\n9qRwEXCGc+4pYBawavT6QkPFsHlQJ0GaTaFYrG9tNhoMf1fhQmO6F/na1+Cmm+DFF+GEE1I9RZYG\nB2HWLHj9dXjpJTgm7Guh0rpqOs03ouZc1V/4vr5tNT/x/i+8SGdbG+8ecCikeHw9enq6K858++2d\nbNjQxaJFg0ybNkRfX07DjaOamUMS27wQ78y1qDsUzOzj9T7HeELePKiTIM0q3PJSwJuHYhEWLlQn\nQZpTsKEQ8uZh9eoOnn22g899Tp0EaT7BhkKom4fNmwvccEMXBx6oToI0p2DvpxDqex5uvLGLLVva\n6O3t54ADfE8j0njhnhQCfM/D2rXtPPjgJObOHeb889VJkOYUbCiEtnkYe5+Eb3xD90mQ5hVmKAS4\neVi2rJNNm9q58sohZs7UfRKkeQUZCqFtHsqdhGOOGeGKK9RJkOYWZCiEtHkodxKGhgrcdps6CdL8\nggyFkDYP6iRIqwkyFELZPKiTIK0oyJ5CKJsHdRKkFYV3Ughk8/D006iTIC0puFAIYfMwOAiXXoo6\nCdKSgguFEDYPy5Z1YoY6CdKSggsF35uHcifhuONQJ0FaUnCh4HPzMLaTcO+93q9zingRXCj43DyM\n7STMm5f7y4sEIaxQ8Lh5UCdBpCSonoLPzYM6CSIlQZ0UfG0edJ8EkV2CCgUfmwfdJ0EkKahQ8LF5\n0H0SRJKCCoW8Nw+6T4LInsIJhZw3D7pPgsjeBRMKeW8edJ8Ekb0LJhTy3DyokyAyvmB6CnluHtRJ\nEBlfOCeFnDYP6iSITCyYUMhj86BOgkhlYYRCTpsHdRJEKgsiFPLYPKiTIFKdIEIh682DOgki1Qsi\nFLLePKiTIFK9IEIhy82DOgkitQmip5Dl5kGdBJHa+D8pZLh5UCdBpHapTgrOuQ5gBXAU0AncZGY/\nSvNcWW0e1EkQSSftSeHzwLtmNg84C+hNO0BWmwd1EkTSSXtNYTXw0OjHBeDDtANksXlQJ0EkvVSh\nYGY7AJxz3ZTC4drUAzR486BOgkh9CsViuqO1c+5w4D+AXjNbWeHbx3+RY4+FQgHMUs2xu1Wr4Itf\nhIsvhvvua8hTisSupitqqULBOXcw8BRwuZk9VcVDin192/b86sAA0486hKFPfJL37/9uzXPsbvPm\nAnPmTKFQgLVrP6hrBdnT081eZw5YbDPHNi9EO3NNoZD2msJiYBpwnXPuekongTPNrKZ2UKM3D+ok\niNQv7TWFK4Er637xBm4e1EkQaQyv5aVGbR7USRBpHK+h0KjNgzoJIo3j96TQgPc8qJMg0lj+QqEB\n73lQJ0Gk8byFQiM2D7pPgkjjeQuFejcPuk+CSDa83U+h3s2DOgki2fB3Uqhj86BOgkh2/F1TSLl5\nUCdBJFt+QqGOzYM6CSLZ8hIKaTcP6iSIZM9LKKTZPKiTIJIPPyeFFJsHdRJE8uHnpFDj5kGdBJH8\neOkp1Lp5UCdBJD/5nxRq3DyokyCSr9xDoZbNgzoJIvnLPRRq2TyokyCSv/xPClVuHtRJEPEj/5NC\nFZsHdRJE/Mn/pFDF5kGdBBF/8g2FKjYP6iSI+JVrT6GazYM6CSJ+5XpSqLR5UCdBxL9cQ2GizYM6\nCSJhyPekMMHmQZ0EkTDke1IYZ/OgToJIOPILhXE2D+okiIQlt1AYb/OgToJIWHILhb1tHtRJEAlP\nbj2FvW0e1EkQCU9+J4XdNg/qJIiEKb9rCmM2D+okiIQrn1DYbfOgToJIuPIJBbP/3zyokyAStnxC\nYd06AIaPOU6dBJHApdo+OOcKwN3AnwADwN+a2a/HfcArrwDw3TfnqpMgEri0J4W/BLrM7GRgMXDH\nhN+9bh19hR6uu3emOgkigUsbCqcAjwOY2S+BP53wu9etY+F+d7Plf9tYsmRQnQSRgKUNhf2B98Z8\nPuycG/e5nt50GCu3nadOgkgE0jYa3we6x3zeZmY7x/vmS4t309k2xAUXPMtzz32Q8iXzdc45f8Ev\nfvG07zFqEtvMsc0L8c5ci0KxWHtPwDn3aeBsM7vYOfcx4Doz++R43//XhYeefpMj1v+yOPuyml9M\nRHKVNhTK24cTRr90kZltbORgIuJHqlAQkebl5Z+iF5FwKRREJEGhICIJCgURScj0zks1v0fCM+dc\nB7ACOAroBG4ysx95HapKzrmDgOeB02PYBDnnFgHnAJOAu83sO55HGtfoz8VKSj8Xw8CXQ/4zds7N\nBm4xs9OcczOB+4GdwMtmdnmlx2d9UqjtPRL+fR5418zmAWcBvZ7nqcroD+09wA7fs1TDOTcfOGn0\n5+JU4HC/E1V0FtBuZnOArwM3e55nXM65hcByoPwe5DuAa8xsPtDmnPtUpefIOhRqe4+Ef6uB60Y/\nLgAfepylFrcB3wZ+63uQKi0AXnbO/RB4FHjM8zyVbAQ6Rk++U4GQbwSyCTh3zOcnmtma0Y9/DJxe\n6QmyDoWa3iPhm5ntMLMPnHPdwEPAtb5nqsQ59yXgHTP7CaUgi8F04ETgPOAy4AG/41S0HTga2ADc\nC3zL7zjjM7NHKP2KUzb2Z2IbpVCbUNZ/QWt6j0QInHOHA08CK83s+77nqcJFwBnOuaeAWcCq0esL\nIdsMPGFmw6O/mw8456b7HmoCVwGPm5mjdH1slXOu0/NM1Rr7960b2FrpAVmHwlpKv48x+h6JlzJ+\nvbo45w4GngCuNrOVvuephpnNN7PTzOw04H+AvzGzd3zPVcGzwCcAnHOHAlMoBUWotrDrxLuV0gX6\ndn/j1OQF59y80Y/PBNZM9M2Q/b/78Ail/4utHf38ooxfr16LgWnAdc6564EicKaZxXJXmCg662b2\nn865uc65X1E63v69mYU8+1JghXPuGUrbksVm1u95pmp9FVjunJsErAcervQAvfdBRBKCvegnIn4o\nFEQkQaEgIgkKBRFJUCiISIJCQUQSFAoikqBQEJGE/wN6LII7LCtIFAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = [0,0,1,6]\n", + "v = [0,0,4,2]\n", + "u_bis = [u[2], u[3], v[2],v[3]]\n", + "w = [u[0]+v[0], u[1]+v[1], u[2]+v[2], u[3]+v[3]]\n", + "\n", + "plotVectors([u, u_bis, w], ['red', 'green', 'blue'])\n", + "plt.xlim(0, 10)\n", + "plt.ylim(0, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "hide_code_all_hidden": false, + "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.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.08 Singular Value Decomposition/images/SVD_image_dim.png b/Chapters/2.08 Singular Value Decomposition/images/SVD_image_dim.png new file mode 100644 index 0000000..3221350 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/SVD_image_dim.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/dimensions-reconstruction-image-singular-value-decomposition.png b/Chapters/2.08 Singular Value Decomposition/images/dimensions-reconstruction-image-singular-value-decomposition.png new file mode 100644 index 0000000..2d1ce6d Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/dimensions-reconstruction-image-singular-value-decomposition.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/non-square-matrix-change-dimensions.png b/Chapters/2.08 Singular Value Decomposition/images/non-square-matrix-change-dimensions.png new file mode 100644 index 0000000..077beaa Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/non-square-matrix-change-dimensions.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/output_35_7.png b/Chapters/2.08 Singular Value Decomposition/images/output_35_7.png new file mode 100644 index 0000000..f3912bf Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/output_35_7.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/rescaled-circle-rotated.png b/Chapters/2.08 Singular Value Decomposition/images/rescaled-circle-rotated.png new file mode 100644 index 0000000..33370c7 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/rescaled-circle-rotated.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/singular-value-decomposition-understanding-dimensions.png b/Chapters/2.08 Singular Value Decomposition/images/singular-value-decomposition-understanding-dimensions.png new file mode 100644 index 0000000..cb57401 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/singular-value-decomposition-understanding-dimensions.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/singular-value-decomposition.png b/Chapters/2.08 Singular Value Decomposition/images/singular-value-decomposition.png new file mode 100644 index 0000000..e79650f Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/singular-value-decomposition.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/transformation-vector-by-matrix.png b/Chapters/2.08 Singular Value Decomposition/images/transformation-vector-by-matrix.png new file mode 100644 index 0000000..aece7f8 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/transformation-vector-by-matrix.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/unit-circle-transformation.png b/Chapters/2.08 Singular Value Decomposition/images/unit-circle-transformation.png new file mode 100644 index 0000000..80b10c8 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/unit-circle-transformation.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/unit-circle-transformation1.png b/Chapters/2.08 Singular Value Decomposition/images/unit-circle-transformation1.png new file mode 100644 index 0000000..7893786 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/unit-circle-transformation1.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/unit-circle.png b/Chapters/2.08 Singular Value Decomposition/images/unit-circle.png new file mode 100644 index 0000000..e602b3d Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/unit-circle.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/images/unit-vectors-rotation.png b/Chapters/2.08 Singular Value Decomposition/images/unit-vectors-rotation.png new file mode 100644 index 0000000..a1d4823 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/images/unit-vectors-rotation.png differ diff --git a/Chapters/2.08 Singular Value Decomposition/test_svd.jpg b/Chapters/2.08 Singular Value Decomposition/test_svd.jpg new file mode 100755 index 0000000..3e70660 Binary files /dev/null and b/Chapters/2.08 Singular Value Decomposition/test_svd.jpg differ diff --git a/Chapters/2.09 The Moore-Penrose Pseudoinverse/.ipynb_checkpoints/2.9 The Moore-Penrose Pseudoinverse-checkpoint.ipynb b/Chapters/2.09 The Moore-Penrose Pseudoinverse/.ipynb_checkpoints/2.9 The Moore-Penrose Pseudoinverse-checkpoint.ipynb new file mode 100644 index 0000000..35d7780 --- /dev/null +++ b/Chapters/2.09 The Moore-Penrose Pseudoinverse/.ipynb_checkpoints/2.9 The Moore-Penrose Pseudoinverse-checkpoint.ipynb @@ -0,0 +1,1002 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We saw that not all matrices have an inverse. It is unfortunate because the inverse is used to solve system of equations. In some cases, a system of equation has no solution, and thus the inverse doesn't exist. However it can be useful to find a value that is almost a solution (in term of minimizing the error). We will see for instance how we can find the best-fit line of a set of data points with the pseudoinverse." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.9 The Moore-Penrose Pseudoinverse" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Moore-Penrose pseudoinverse is a direct application of the SVD (see [2.8](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.8-Singular-Value-Decomposition/)). But before all, we have to remind that systems of equations can be expressed under the matrix form.\n", + "\n", + "As we have seen in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/), the inverse of a matrix $\\bs{A}$ can be used to solve the equation $\\bs{Ax}=\\bs{b}$:\n", + "\n", + "$$\n", + "\\bs{A}^{-1}\\bs{Ax}=\\bs{A}^{-1}\\bs{b}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{I}_n\\bs{x}=\\bs{A}^{-1}\\bs{b}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}=\\bs{A}^{-1}\\bs{b}\n", + "$$\n", + "\n", + "But in the case where the set of equations have 0 or many solutions the inverse cannot be found and the equation cannot be solved. The pseudoinverse is $\\bs{A}^+$ such as:\n", + "\n", + "$$\n", + "\\bs{A}\\bs{A}^+\\approx\\bs{I_n}\n", + "$$\n", + "\n", + "minimizing\n", + "\n", + "$$\n", + "\\norm{\\bs{A}\\bs{A}^+-\\bs{I_n}}_2\n", + "$$\n", + "\n", + "The following formula can be used to find the pseudoinverse:\n", + "\n", + "$$\n", + "\\bs{A}^+= \\bs{VD}^+\\bs{U}^T\n", + "$$\n", + "\n", + "with $\\bs{U}$, $\\bs{D}$ and $\\bs{V}$ respectively the left singular vectors, the singular values and the right singular vectors of $\\bs{A}$ (see the SVD in [2.8](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.8-Singular-Value-Decomposition/)). $\\bs{A}^+$ is the pseudoinverse of $\\bs{A}$ and $\\bs{D}^+$ the pseudoinverse of $\\bs{D}$. We saw that $\\bs{D}$ is a diagonal matrix and thus $\\bs{D}^+$ can be calculated by taking the reciprocal of the non zero values of $\\bs{D}$.\n", + "\n", + "This is a bit crude but we will see some examples to clarify all of this.\n", + "\n", + "### Example 1.\n", + "\n", + "Let's see how to implement that. We will create a non square matrix $\\bs{A}$, calculate its singular value decomposition and its pseudoinverse.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 7 & 2\\\\\\\\\n", + " 3 & 4\\\\\\\\\n", + " 5 & 3\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.16666667, -0.10606061, 0.03030303],\n", + " [-0.16666667, 0.28787879, 0.06060606]])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[7, 2], [3, 4], [5, 3]])\n", + "U, D, V = np.linalg.svd(A)\n", + "\n", + "D_plus = np.zeros((A.shape[0], A.shape[1])).T\n", + "D_plus[:D.shape[0], :D.shape[0]] = np.linalg.inv(np.diag(D))\n", + "\n", + "A_plus = V.T.dot(D_plus).dot(U.T)\n", + "A_plus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now check with the `pinv()` function from Numpy that the pseudoinverse is correct:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.16666667, -0.10606061, 0.03030303],\n", + " [-0.16666667, 0.28787879, 0.06060606]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.pinv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It looks good! We can now check that it is really the near inverse of $\\bs{A}$. Since we know that\n", + "\n", + "$$\\bs{A}^{-1}\\bs{A}=\\bs{I_n}$$\n", + "\n", + "with\n", + "\n", + "$$\\bs{I_2}=\\begin{bmatrix}\n", + " 1 & 0 \\\\\\\\\n", + " 0 & 1\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.00000000e+00, 2.70616862e-16],\n", + " [2.28983499e-16, 1.00000000e+00]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus.dot(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is not bad! This is almost the identity matrix!\n", + "\n", + "A difference with the real inverse is that $\\bs{A}^+\\bs{A}\\approx\\bs{I}$ but $\\bs{A}\\bs{A}^+\\neq\\bs{I}$.\n", + "\n", + "Another way of computing the pseudoinverse is to use this formula:\n", + "\n", + "$$\n", + "(\\bs{A}^T\\bs{A})^{-1}\\bs{A}^T\n", + "$$\n", + "\n", + "The result is less acurate than the SVD method and Numpy `pinv()` uses the SVD ([cf Numpy doc](https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.pinv.html)). Here is an example from the same matrix $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.16666667, -0.10606061, 0.03030303],\n", + " [-0.16666667, 0.28787879, 0.06060606]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus_1 = np.linalg.inv(A.T.dot(A)).dot(A.T)\n", + "A_plus_1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case the result is the same as with the SVD way." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using the pseudoinverse to solve a overdetermined system of linear equations\n", + "\n", + "In general there is no solution to overdetermined systems (see [2.4](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.4-Linear-Dependence-and-Span/) ; [Overdetermined systems](https://en.wikipedia.org/wiki/Overdetermined_system)). In the following picture, there is no point at the intersection of the three lines corresponding to three equations:\n", + "\n", + "\n", + "There is more equations (3) than unknowns (2) so this is an overdetermined system of equations\n", + "\n", + "The pseudoinverse solve the system in the least square error perspective: it finds the solution that minimize the error. We will see this more explicitly with an example.\n", + "\n", + "\n", + " The pseudoinverse solve the system in the least square error perspective\n", + "\n", + "\n", + "### Example 2.\n", + "\n", + "For this example we will consider this set of three equations with two unknowns:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "-2x_1 + 2 = x_2 \\\\\\\\\n", + "4x_1 + 8 = x_2 \\\\\\\\\n", + "-1x_1 + 2 = x_2\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "-2x_1 - x_2 = -2 \\\\\\\\\n", + "4x_1 - x_2 = -8 \\\\\\\\\n", + "-1x_1 - x_2 = -2\n", + "\\end{cases}\n", + "$$\n", + "\n", + "Let's see their graphical representation:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x1 = np.linspace(-5, 5, 1000)\n", + "x2_1 = -2*x1 + 2\n", + "x2_2 = 4*x1 + 8\n", + "x2_3 = -1*x1 + 2\n", + "\n", + "plt.plot(x1, x2_1)\n", + "plt.plot(x1, x2_2)\n", + "plt.plot(x1, x2_3)\n", + "plt.xlim(-2., 1)\n", + "plt.ylim(1, 5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We actually see that there is no solution.\n", + "\n", + "Putting this into the matrix form we have:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " -2 & -1 \\\\\\\\\n", + " 4 & -1 \\\\\\\\\n", + " -1 & -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " -2 \\\\\\\\\n", + " -8 \\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have:\n", + "\n", + "$$\n", + "\\bs{Ax} = \\bs{b}\n", + "\\Leftrightarrow\n", + "\\begin{bmatrix}\n", + " -2 & -1 \\\\\\\\\n", + " 4 & -1 \\\\\\\\\n", + " -1 & -1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -2 \\\\\\\\\n", + " -8 \\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We will now calculate the pseudoinverse of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.11290323, 0.17741935, -0.06451613],\n", + " [-0.37096774, -0.27419355, -0.35483871]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[-2, -1], [4, -1], [-1, -1]])\n", + "A_plus = np.linalg.pinv(A)\n", + "A_plus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have calculated the pseudoinverse of $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}^+=\n", + "\\begin{bmatrix}\n", + " -0.11290323 & 0.17741935 & -0.06451613 \\\\\\\\\n", + " -0.37096774 & -0.27419355 & -0.35483871\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "we can use it to find $\\bs{x}$ knowing that:\n", + "\n", + "$$\n", + "\\bs{x}=\\bs{A}^+\\bs{b}\n", + "$$\n", + "\n", + "with:\n", + "\n", + "$$\n", + "\\bs{x}\n", + "=\n", + "\\begin{bmatrix}\n", + " x1 \\\\\\\\\n", + " x2\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-1.06451613],\n", + " [ 3.64516129]])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = np.array([[-2], [-8], [-2]])\n", + "res = A_plus.dot(b)\n", + "res" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So we have\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{A}^+\\bs{b}&=\n", + "\\begin{bmatrix}\n", + " -0.11290323 & 0.17741935 & -0.06451613 \\\\\\\\\n", + " -0.37096774 & -0.27419355 & -0.35483871\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " -2 \\\\\\\\\n", + " -8 \\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " -1.06451613 \\\\\\\\\n", + " 3.64516129\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "In our two dimensions, the coordinates of $\\bs{x}$ are\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -1.06451613 \\\\\\\\\n", + " 3.64516129\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's plot this point along with the equations lines:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x1, x2_1)\n", + "plt.plot(x1, x2_2)\n", + "plt.plot(x1, x2_3)\n", + "plt.xlim(-2., 1)\n", + "plt.ylim(1, 5)\n", + "\n", + "plt.scatter(res[0], res[1])\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Maybe you would have expected the point being at the barycenter of the triangle (cf. [Least square solution in the triangle center](https://math.stackexchange.com/questions/471812/is-the-least-squares-solution-to-an-overdetermined-system-a-triangle-center)). This is not the case becase the equations are not scaled the same way. Actually the point is at the intersection of the three [symmedians](https://en.wikipedia.org/wiki/Symmedian) of the triangle." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "This method can also be used to fit a line to a set of points. Let's take the following data points:\n", + "\n", + "\n", + "We want to fit a line to this set of data points\n", + "\n", + "We have this set of $\\bs{x}$ and $\\bs{y}$ and we are looking for the line $y=mx+b$ that minimizes the error. The error can be evaluated as the sum of the differences between the fit and the actual data points. We can represent the data points with a matrix equations:\n", + "\n", + "$$\n", + "\\bs{Ax} = \\bs{b}\n", + "\\Leftrightarrow\n", + "\\begin{bmatrix}\n", + " 0 & 1 \\\\\\\\\n", + " 1 & 1 \\\\\\\\\n", + " 2 & 1 \\\\\\\\\n", + " 3 & 1 \\\\\\\\\n", + " 3 & 1 \\\\\\\\\n", + " 4 & 1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " m \\\\\\\\\n", + " b\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 4 \\\\\\\\\n", + " 0 \\\\\\\\\n", + " 2 \\\\\\\\\n", + " 5 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Note that here the matrix $\\bs{A}$ represents the values of the coefficients. The column of 1 correspond to the intercepts (without it the fit would have the constraint to cross the origin). It gives the following set of equations:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + " 0m + 1b = 2 \\\\\\\\\n", + " 1m + 1b = 4 \\\\\\\\\n", + " 2m + 1b = 0 \\\\\\\\\n", + " 3m + 1b = 2 \\\\\\\\\n", + " 3m + 1b = 5 \\\\\\\\\n", + " 4m + 1b = 3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We have the set of equations $mx+b=y$. The ones are used to give back the intercept parameter. For instance, in the first equation corresponding to the first point we have well $x=0$ and $y=2$. This can be confusing because here the vector $\\bs{x}$ corresponds to the coefficients. This is because the problem is different from the other examples: we are looking for the coefficients of a line and not for $x$ and $y$ unknowns. We kept this notation to indicate the similarity with the last examples.\n", + "\n", + "So we will construct these matrices and try to use the pseudoinverse to find the equation of the line minimizing the error (difference between the line and the actual data points).\n", + "\n", + "Let's start with the creation of the matrix of $\\bs{A}$ and $\\bs{b}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1],\n", + " [1, 1],\n", + " [2, 1],\n", + " [3, 1],\n", + " [3, 1],\n", + " [4, 1]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[0, 1], [1, 1], [2, 1], [3, 1], [3, 1], [4, 1]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [4],\n", + " [0],\n", + " [2],\n", + " [5],\n", + " [3]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = np.array([[2], [4], [0], [2], [5], [3]])\n", + "b" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now calculate the pseudoinverse of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-2.00000000e-01, -1.07692308e-01, -1.53846154e-02,\n", + " 7.69230769e-02, 7.69230769e-02, 1.69230769e-01],\n", + " [ 6.00000000e-01, 4.00000000e-01, 2.00000000e-01,\n", + " 4.00160154e-17, 4.00160154e-17, -2.00000000e-01]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus = np.linalg.pinv(A)\n", + "A_plus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and apply it to the result to find the coefficients with the formula:\n", + "\n", + "$$\n", + "\\bs{x}=\\bs{A}^+\\bs{b}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.21538462],\n", + " [2.2 ]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coefs = A_plus.dot(b)\n", + "coefs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These are the parameters of the fit. The slope is $m=0.21538462$ and the intercept is $b=2.2$. We will plot the data points and the regression line: " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(-1, 5, 1000)\n", + "y = coefs[0]*x + coefs[1]\n", + "\n", + "plt.plot(A[:, 0], b, '*')\n", + "plt.plot(x, y)\n", + "plt.xlim(-1., 6)\n", + "plt.ylim(-0.5, 5.5)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you are not sure about the result. Just check it with another method. For instance, I double-checked with R:\n", + "\n", + "```r\n", + "a <- data.frame(x=c(0, 1, 2, 3, 3, 4),\n", + " y=c(2, 4, 0, 2, 5, 3))\n", + "\n", + "ggplot(data=a, aes(x=x, y=y)) +\n", + " geom_point() +\n", + " stat_smooth(method = \"lm\", col = \"red\") +\n", + " xlim(-1, 5) +\n", + " ylim(-1, 6)\n", + "```\n", + "\n", + "outputs:\n", + "\n", + "\n", + "Just checking with another method\n", + "\n", + "You can also do the fit with the Numpy `polyfit()` to check the parameters:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.21538462],\n", + " [2.2 ]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.polyfit(A[:, 0], b, 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That's good! We have seen how to use the pseudoinverse in order to solve a simple regression problem. Let's see with a more realistic case." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "To see the process with more data points we can generate data (see [this nice blog post](https://mec560sbu.github.io/2016/08/29/Least_SQ_Fitting/) for other methods of fitting).\n", + "\n", + "We will generate a column vector (see `reshape()` bellow) containing 100 points with random $x$ values and pseudo-random $y$ values. The function `seed()` from the [Numpy.random package](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.seed.html) is used to freeze the randomisation and be able to reproduce the results:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(123)\n", + "x = 5*np.random.rand(100)\n", + "y = 2*x + 1 + np.random.randn(100)\n", + "\n", + "x = x.reshape(100, 1)\n", + "y = y.reshape(100, 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "We will create the matrix $\\bs{A}$ from $\\bs{x}$ by adding a column of ones exactly like we did in the example 3." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[3.48234593, 1. ],\n", + " [1.43069667, 1. ],\n", + " [1.13425727, 1. ],\n", + " [2.75657385, 1. ],\n", + " [3.59734485, 1. ],\n", + " [2.1155323 , 1. ],\n", + " [4.90382099, 1. ],\n", + " [3.42414869, 1. ],\n", + " [2.40465951, 1. ],\n", + " [1.96058759, 1. ]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.hstack((x, np.ones(np.shape(x))))\n", + "A[:10]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now find the pseudoinverse of $\\bs{A}$ and calculate the coefficients of the regression line:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.9461907 ],\n", + " [1.16994745]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus = np.linalg.pinv(A)\n", + "coefs = A_plus.dot(y)\n", + "coefs" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "We can finally draw the point and the regression line:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x_line = np.linspace(0, 5, 1000)\n", + "y_line = coefs[0]*x_line + coefs[1]\n", + "\n", + "plt.plot(x, y, '*')\n", + "plt.plot(x_line, y_line)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks good!\n", + "\n", + "# Conclusion\n", + "\n", + "You can see that the pseudoinverse can be very useful for this kind of problems! The series is not completely finished since we still have 3 chapters to cover. However, we have done the hardest part! We will now see two very light chapters before going to a nice example using all the linear algebra we have learn: the PCA." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "## Intuition\n", + "\n", + "- [Sean Owen - Pseudoinverse intuition](https://www.quora.com/What-is-the-intuition-behind-pseudo-inverse-of-a-matrix)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy - linalg.pinv](https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.pinv.html)\n", + "\n", + "- [Numpy random seed](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.seed.html)\n", + "\n", + "## Systems of equations\n", + "\n", + "- [Using the Moore-Penrose Pseudoinverse to Solve Linear Equations](https://www.youtube.com/watch?v=5bxsxM2UTb4)\n", + "\n", + "- [Overdetermined systems](https://en.wikipedia.org/wiki/Overdetermined_system)\n", + "\n", + "- [Least square solution in the triangle center](https://math.stackexchange.com/questions/471812/is-the-least-squares-solution-to-an-overdetermined-system-a-triangle-center)\n", + "\n", + "- [Symmedian](https://en.wikipedia.org/wiki/Symmedian)\n", + "\n", + "## Least square fit\n", + "\n", + "- [Least square fitting](https://mec560sbu.github.io/2016/08/29/Least_SQ_Fitting/)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.09 The Moore-Penrose Pseudoinverse/2.9 The Moore-Penrose Pseudoinverse.ipynb b/Chapters/2.09 The Moore-Penrose Pseudoinverse/2.9 The Moore-Penrose Pseudoinverse.ipynb new file mode 100644 index 0000000..35d7780 --- /dev/null +++ b/Chapters/2.09 The Moore-Penrose Pseudoinverse/2.9 The Moore-Penrose Pseudoinverse.ipynb @@ -0,0 +1,1002 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "We saw that not all matrices have an inverse. It is unfortunate because the inverse is used to solve system of equations. In some cases, a system of equation has no solution, and thus the inverse doesn't exist. However it can be useful to find a value that is almost a solution (in term of minimizing the error). We will see for instance how we can find the best-fit line of a set of data points with the pseudoinverse." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.9 The Moore-Penrose Pseudoinverse" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Moore-Penrose pseudoinverse is a direct application of the SVD (see [2.8](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.8-Singular-Value-Decomposition/)). But before all, we have to remind that systems of equations can be expressed under the matrix form.\n", + "\n", + "As we have seen in [2.3](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.3-Identity-and-Inverse-Matrices/), the inverse of a matrix $\\bs{A}$ can be used to solve the equation $\\bs{Ax}=\\bs{b}$:\n", + "\n", + "$$\n", + "\\bs{A}^{-1}\\bs{Ax}=\\bs{A}^{-1}\\bs{b}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{I}_n\\bs{x}=\\bs{A}^{-1}\\bs{b}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}=\\bs{A}^{-1}\\bs{b}\n", + "$$\n", + "\n", + "But in the case where the set of equations have 0 or many solutions the inverse cannot be found and the equation cannot be solved. The pseudoinverse is $\\bs{A}^+$ such as:\n", + "\n", + "$$\n", + "\\bs{A}\\bs{A}^+\\approx\\bs{I_n}\n", + "$$\n", + "\n", + "minimizing\n", + "\n", + "$$\n", + "\\norm{\\bs{A}\\bs{A}^+-\\bs{I_n}}_2\n", + "$$\n", + "\n", + "The following formula can be used to find the pseudoinverse:\n", + "\n", + "$$\n", + "\\bs{A}^+= \\bs{VD}^+\\bs{U}^T\n", + "$$\n", + "\n", + "with $\\bs{U}$, $\\bs{D}$ and $\\bs{V}$ respectively the left singular vectors, the singular values and the right singular vectors of $\\bs{A}$ (see the SVD in [2.8](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.8-Singular-Value-Decomposition/)). $\\bs{A}^+$ is the pseudoinverse of $\\bs{A}$ and $\\bs{D}^+$ the pseudoinverse of $\\bs{D}$. We saw that $\\bs{D}$ is a diagonal matrix and thus $\\bs{D}^+$ can be calculated by taking the reciprocal of the non zero values of $\\bs{D}$.\n", + "\n", + "This is a bit crude but we will see some examples to clarify all of this.\n", + "\n", + "### Example 1.\n", + "\n", + "Let's see how to implement that. We will create a non square matrix $\\bs{A}$, calculate its singular value decomposition and its pseudoinverse.\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 7 & 2\\\\\\\\\n", + " 3 & 4\\\\\\\\\n", + " 5 & 3\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.16666667, -0.10606061, 0.03030303],\n", + " [-0.16666667, 0.28787879, 0.06060606]])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[7, 2], [3, 4], [5, 3]])\n", + "U, D, V = np.linalg.svd(A)\n", + "\n", + "D_plus = np.zeros((A.shape[0], A.shape[1])).T\n", + "D_plus[:D.shape[0], :D.shape[0]] = np.linalg.inv(np.diag(D))\n", + "\n", + "A_plus = V.T.dot(D_plus).dot(U.T)\n", + "A_plus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now check with the `pinv()` function from Numpy that the pseudoinverse is correct:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.16666667, -0.10606061, 0.03030303],\n", + " [-0.16666667, 0.28787879, 0.06060606]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.pinv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It looks good! We can now check that it is really the near inverse of $\\bs{A}$. Since we know that\n", + "\n", + "$$\\bs{A}^{-1}\\bs{A}=\\bs{I_n}$$\n", + "\n", + "with\n", + "\n", + "$$\\bs{I_2}=\\begin{bmatrix}\n", + " 1 & 0 \\\\\\\\\n", + " 0 & 1\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.00000000e+00, 2.70616862e-16],\n", + " [2.28983499e-16, 1.00000000e+00]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus.dot(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is not bad! This is almost the identity matrix!\n", + "\n", + "A difference with the real inverse is that $\\bs{A}^+\\bs{A}\\approx\\bs{I}$ but $\\bs{A}\\bs{A}^+\\neq\\bs{I}$.\n", + "\n", + "Another way of computing the pseudoinverse is to use this formula:\n", + "\n", + "$$\n", + "(\\bs{A}^T\\bs{A})^{-1}\\bs{A}^T\n", + "$$\n", + "\n", + "The result is less acurate than the SVD method and Numpy `pinv()` uses the SVD ([cf Numpy doc](https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.pinv.html)). Here is an example from the same matrix $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.16666667, -0.10606061, 0.03030303],\n", + " [-0.16666667, 0.28787879, 0.06060606]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus_1 = np.linalg.inv(A.T.dot(A)).dot(A.T)\n", + "A_plus_1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case the result is the same as with the SVD way." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using the pseudoinverse to solve a overdetermined system of linear equations\n", + "\n", + "In general there is no solution to overdetermined systems (see [2.4](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.4-Linear-Dependence-and-Span/) ; [Overdetermined systems](https://en.wikipedia.org/wiki/Overdetermined_system)). In the following picture, there is no point at the intersection of the three lines corresponding to three equations:\n", + "\n", + "\n", + "There is more equations (3) than unknowns (2) so this is an overdetermined system of equations\n", + "\n", + "The pseudoinverse solve the system in the least square error perspective: it finds the solution that minimize the error. We will see this more explicitly with an example.\n", + "\n", + "\n", + " The pseudoinverse solve the system in the least square error perspective\n", + "\n", + "\n", + "### Example 2.\n", + "\n", + "For this example we will consider this set of three equations with two unknowns:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + "-2x_1 + 2 = x_2 \\\\\\\\\n", + "4x_1 + 8 = x_2 \\\\\\\\\n", + "-1x_1 + 2 = x_2\n", + "\\end{cases}\n", + "\\Leftrightarrow\n", + "\\begin{cases}\n", + "-2x_1 - x_2 = -2 \\\\\\\\\n", + "4x_1 - x_2 = -8 \\\\\\\\\n", + "-1x_1 - x_2 = -2\n", + "\\end{cases}\n", + "$$\n", + "\n", + "Let's see their graphical representation:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x1 = np.linspace(-5, 5, 1000)\n", + "x2_1 = -2*x1 + 2\n", + "x2_2 = 4*x1 + 8\n", + "x2_3 = -1*x1 + 2\n", + "\n", + "plt.plot(x1, x2_1)\n", + "plt.plot(x1, x2_2)\n", + "plt.plot(x1, x2_3)\n", + "plt.xlim(-2., 1)\n", + "plt.ylim(1, 5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We actually see that there is no solution.\n", + "\n", + "Putting this into the matrix form we have:\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " -2 & -1 \\\\\\\\\n", + " 4 & -1 \\\\\\\\\n", + " -1 & -1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{b}=\n", + "\\begin{bmatrix}\n", + " -2 \\\\\\\\\n", + " -8 \\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "So we have:\n", + "\n", + "$$\n", + "\\bs{Ax} = \\bs{b}\n", + "\\Leftrightarrow\n", + "\\begin{bmatrix}\n", + " -2 & -1 \\\\\\\\\n", + " 4 & -1 \\\\\\\\\n", + " -1 & -1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " x_1 \\\\\\\\\n", + " x_2\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " -2 \\\\\\\\\n", + " -8 \\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We will now calculate the pseudoinverse of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.11290323, 0.17741935, -0.06451613],\n", + " [-0.37096774, -0.27419355, -0.35483871]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[-2, -1], [4, -1], [-1, -1]])\n", + "A_plus = np.linalg.pinv(A)\n", + "A_plus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have calculated the pseudoinverse of $\\bs{A}$:\n", + "\n", + "$$\n", + "\\bs{A}^+=\n", + "\\begin{bmatrix}\n", + " -0.11290323 & 0.17741935 & -0.06451613 \\\\\\\\\n", + " -0.37096774 & -0.27419355 & -0.35483871\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "we can use it to find $\\bs{x}$ knowing that:\n", + "\n", + "$$\n", + "\\bs{x}=\\bs{A}^+\\bs{b}\n", + "$$\n", + "\n", + "with:\n", + "\n", + "$$\n", + "\\bs{x}\n", + "=\n", + "\\begin{bmatrix}\n", + " x1 \\\\\\\\\n", + " x2\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-1.06451613],\n", + " [ 3.64516129]])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = np.array([[-2], [-8], [-2]])\n", + "res = A_plus.dot(b)\n", + "res" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So we have\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{A}^+\\bs{b}&=\n", + "\\begin{bmatrix}\n", + " -0.11290323 & 0.17741935 & -0.06451613 \\\\\\\\\n", + " -0.37096774 & -0.27419355 & -0.35483871\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " -2 \\\\\\\\\n", + " -8 \\\\\\\\\n", + " -2\n", + "\\end{bmatrix}\\\\\\\\\n", + "&=\n", + "\\begin{bmatrix}\n", + " -1.06451613 \\\\\\\\\n", + " 3.64516129\n", + "\\end{bmatrix}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "In our two dimensions, the coordinates of $\\bs{x}$ are\n", + "\n", + "$$\n", + "\\begin{bmatrix}\n", + " -1.06451613 \\\\\\\\\n", + " 3.64516129\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Let's plot this point along with the equations lines:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAREAAAEBCAYAAABfQpEVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl8VPX59//XmZkkZCMJISvZFz6EfUsUFXdQNmu1FtcqilVbF/zWr9bed+/27v2r2tZ+Rat1wwUXrGIrWkRcQcVKQgggEPgAk4QQdsIOWWb7/TETDJhlljNzJsnn+Xjk4WRy5szlgVycc+ac96W5XC4URVH8ZTK6AEVRejbVRBRFCYhqIoqiBEQ1EUVRAqKaiKIoAVFNRFGUgKgmoihKQFQTURQlIBZvFhJC1AHNni+Ah6SUH5+xTAzwCjAOsAMPSCkX61apoihhyasm4vETKeWGLn7+AHBUSlkkhCgGvhZCFEkpjwdWoqIo4UzPw5mZwPMAUsqtQCUwRcf1K4oShnzZE3lTCKEBK4DfSCkPn/HzHGB7u+/rgWwv1x0FlAK7AYcPNSmKEhgzkAGsAlr8WYG3TWSilHKHECIKmAs8Ddzozxt2ohT4Wsf1KYrim4m4dxB85lUTkVLu8Py3RQjxd+CDDharB3KB/Z7vc4BlXtaxG+DQoRM4neFzV/GX6/fw4Yoabr58CMPyBxhdDgDJyXE0NgZ2msmxezPNy+fRb+IszFnDwqYuvamaumcyaSQlxYLnd9Af3TYRIUQsYJFSHvEczlwLrO1g0YXAHUCl58RqKXCdl3U4AJxOV1g1kRnnFfB5+Xaef38Df5h9Fv1jIo0uCSDgbdS86SvsTcchrVjX7R1Of3ZtVE1e8/s0gjcnVtOA5UKI74ANwGDgFwBCiLVCiEzPcn8BEoUQ24DFwM+llMf8LSwcRFhMzJ4+lJMtdl5fKukN2Ssuhw17bRWWvHFo5gijy1F6gW73RKSUNcCYTn42ut3jE8A1+pUWHrJS47hyYgHvLreycuNeJgxPN7qkgNh3rAdbExGFZUaXovQS6opVL1xelkPRoATe+HQLB482d/+CMGa3VqBFxWEeNNToUpReQjURL5hMGrdNL8HhdPLKkk099rDGZWvBvr0KS8F4NJMvn+4rSudUE/FSWlIMMy8qYmPdIZat2Wl0OX6x168DeyuWwrOMLkXpRVQT8cGFYwYxLH8A7yzbxt5DJ40ux2d2azladALmdGF0KUovopqIDzRNY9aUIZhNJl5avClcP6rrkKu1CfuOdVgKStFM6o9d0Y/62+SjAf37cePkwWzbeYSlFfVGl+M1+/Y14LAToQ5lFJ2pJuKHs4emMU6k8N5XNezYFz5XH3bFZi1Hi0vGlFZodClKL6OaiB80TeOmywSx/SzMW1yN3eE0uqQuuZqP49ixwX0oo6k/ckVf6m+Un/rHRHLzlCHs2Hec91fUGl1Ol2x1q8HlIKLwbKNLUXoh1UQCMKY4hXNHpLNk5XasO48YXU6n7NYKtP6pmAbmGl2K0gupJhKg6y4ZzID4KOZ9uIkWW/hFoTibjuLYVU1E4VlommZ0OUovpJpIgGL6Wbh12lD2HjzJu8utRpfzA/aaVeByqQvMlKBRTUQHJblJXDoui89XN1Bdd9Dock5jt5ZjSsrEPCDL6FKUXko1EZ1cfWEhaQNieHnJJk42240uBwDn8YM49mxVeyFKUKkmopOoCDOzp5dw6FgLb322xehyAM+hDC4iClQTUYJHNREdFWYmMG1CLt9s2MOaLfu7f0GQ2WrKMSXnYkrs2RkoSnhTTURnV5ybT05qHK8u3czRE62G1eE8uh/nvhp1KKMEnWoiOrOYTcyeMZSmFjuvfWxcpKKtphyAiMJSQ95f6Tt8SqYRQvwO+D0w4sxpeEKIV4FLgQOepxZKKf+oQ409TlZKHD+eWMDC5Va+3biHc4ZnhLwGu7UCU2ohpviUkL+30rd43USEEGOBszl9QNWZHpNSPh1wVb3AZWU5rNl2gDc/3cqQnCQG9O8Xsvd2Ht6Ns7GeqAnehu0riv+8OpzxDK16BrgruOX0HiaTxm3TjIlUtFkrAA1LgQpjVoLP23MifwDekFLWdbPcfwkh1gshFgkhSgIrredLS4ph5sXFIY1UdLlc2K0rMWcMxhSbFJL3VPo2b4ZXTQDGA7/uZtH/BeyWUjqFED8DlgohCqSUXt9Qkpwc5+2iIZOSEh/Q66+ZJNhYd4iFy61MHJtNZkrg/49d1dSyt47jh3cz8Ozp9A+wdl8Fuq2CQdUUfFp3u9lCiF8D9wJtn1dmAXuBWVLKT7p4XSMwVkrZ1TmUNnlAbWPj8bCKHExJiWf//sDnbx061sJv55WTMTCGh28Yh8nk/41w3dXUUvEureuWEHvjXEzR/f1+H73rMoKqqXsmk9b2j3c+UOfXOrpbQEr5mJQyU0qZJ6XMAxqAy85sIEKIQe0eX4Z7LF/PjEXXWVJ8FDdMHox151E+Kvemp/rH5XJhs5ZjziwJaQNR+raAho8IIdYCU6WUu4D5Qog0wAkcBa6QUobHTSRh4OyhaVRt2c+ir2sZWTiQ7FT9D92cB+pwHdtPxJgZuq9bUTrjcxPx7I20PW4/RvNSnWrqldoiFbc2HGHe4mp+e/N4LGZ9r/WzWcvBZMaSP07X9SpKV9QVqyHUPyaSWy4PTqSiy+XEbq3AnDUcLSpW13UrSldUEwmx0cUDOW9EBktWbmebjpGKjr1WXCcOqpEQSsipJmKA6y4tZkB8FC8trqalVZ9IRbt1JZgjsOSO0WV9iuIt1UQMEB3liVQ81KRLpKLL6cReswpLzii0yGgdKlQU76kmYpBTkYpVgUcqOnZvxtV0FEuhusxdCT3VRAx09YWFpA+I4aUPN3Gy2eb3euzWCrBEYckZpWN1iuId1UQM5I5UHMqR460s+GyrX+twOe3YaldhyRuDZonSuUJF6Z5qIgYryOzP1Am5/GfDHqr8iFR0NFRDywmVo6oYRjWRMHDFuXnkpMUx349IRVtNOURGY84eHqTqFKVrqomEAYvZxOzpvkcquuyt2GursOSNQzNHBLlKRemYaiJhIisljh+fX0DVlv18u3GPV6+xN2wAW5O6wEwxlGoiYeSy0hyKsxJ489OtHDza3O3ydms5Wr94zIP6fP6TYiDVRMJIW6Si0+ni5SWbcHZxWOOytWDfvgZL/jg0U0A3YytKQFQTCTOpSTH89OIiqusOsayq8zgWe/06sLequTKK4VQTCUMXjs5keP4AFi7bxt6DJztcxm4tR4tOwJwuQlydopxONZEwpGkas6aWYDGbmPdh9Q8iI12tTdh3rMNSWIZmUn+EirHU38AwlRQfxY2dRCra66rAYVefyihhQTWRMHbW0DTGixQWfV1L/d7vw31t1nK0uGRMqYUGVqcobqqJhLG2SMXY6AjmLd6Eze7E0XQMR8NGLAVlaJr/qfGKohefmogQ4ndCCJcQ4gfXWAshYoQQbwshtgkhNgshputXZt8V74lUbNh/nA++qeXE5nJwOdShjBI2vG4iXszifQA4KqUsAmYA84QQ4TeNqgcaXTyQ80a6IxX3VS1H65+GaWCu0WUpCqDvLN6ZwPMAUsqtQCUwxZdiQjmvtqe57pJisuOdsGczWl6pOpRRwoa3lzqemsUrRKfXJeRw+l5KPZDtSzGLti/muhE/IjYyxpeXBVU4jTy8u8yOqcrFimPZ3BhGdbUJp23VRtUUfHrO4g3Yut3VVDasZ9aw6ylIMH53PdxGHsbsquJIVApvrz5BVvF2huUNMLqkU8JtW4GqyRvtxmj6vw4vlrkAKAFqhRB1uGfxfiyEmHzGcvVA+9/8HGCHL8XcNvwmNDSeqHqWpXVf4HQ5fXl5r+Y8fhDHni1klF5E+oAYXg4wUlFR9KLbLF5gIXAHgBCiGCgFlvpSTHZ8Jg+X3ceYlBH8u2Ypf1s7j8Mt+s1m6cnsNasASBg+MeBIRUXRU0DXiQgh1gohMj3f/gVIFEJsAxYDP5dS+rzfFm2JZtaw67lhyDXUHdnOoxVz2XBgUyBl9go2azmmgblEJmdSkNmfaQFEKiqKnvScxXsCuEaPojRN45zMUgoScnh54wKe/e4VLs6eyBWFU4jog7e9O4/uw7m/hsiyn556bsa5eayzHmD+0s0UDUqgf2ykgRUqfVlYX7GaHpvGf4+7mwuyzuGLHV/z19XPsO9k3/uX11ZTAUBEYemp59pHKs5full9PK4YJqybCECEOYKfDr6Sn4+4mYNNh3hs1ZNU7KkyuqyQslvLMaUWYopPOe35tkjFNVsP8J8N3kUqKorewr6JtBmVMoyHy+aQHT+I+dX/4LXqt2m2dx8h2NM5Du/C2bij08vc2yIVF3y2xatIRUXRW49pIgBJ/RK5b8wdTM2fRMWeKv606inqjzUYXVZQ2a0VgIaloLTDn38fqUi3kYqKEgw9qokAmDQT0/Incd+YO2h12ni88hm+2PF1rzwn4HK5sFvLMWcMxhSb1OlyqUkxzPQiUlFRgqHHNZE2xUkFPFw2h2HJQ/jn1n/z7HevcKz1uNFl6cp5sAHn4d1e5aheMDqT4QVdRyoqSjD02CYCEBcRy89H/IyfDr4SeWgbj1Y8wZZD24wuSzd2azloJiz547tdVtM0Zk3xRCoursbhVFf7KqHRo5sIuH95Lsg6h/8edzf9LNE8teZF/m1disPpMLq0gLhcLmzWcsyDhmKK7u/Va05FKu46ytLy+iBXqChuPb6JtMmKz+Sh0nuZkDGepdu/YO6a52hsOmR0WX5z7q/FdWy/z+FDZw1NY/yQ1B9EKipKsPSaJgIQZY7khpJrmDXsenYd38Ojq+ayZt96o8vyi81aDiYzlryxPr1O0zRumjz4tEhFRQmmXtVE2oxPG83DZXNIjRnIvA2v89bmf9Lq6Dl3vLpcTuw1qzBnjUCLivX59fExkdwy5ftIRUUJpl7ZRAAGRifzq7G/YFLOhazYVc6fK59i1/GecVWnY+82XCcOsrA2iVsf+4L//vs3Xg/5bjO66PtIxW0N6k5oJXh6bRMBMJvMXFk0lbtHzeZ46wn+XPkUX+9cGfbXlDSsWobNZWblkXQAGo+2MP+jzT43kusuKWZAfD/mfVhNS2vPPtGshK9e3UTalCQP5jdn3U9RYgH/kP9i3oY3OGkLz2spXE4nUbvWstE2iBYiTj3fanfyry+tPq0rOsrCrdNK2HeoiYXLe89H30p46RNNBKB/ZDy/GHUrVxZO5bsDG3mkYi41R+qMLusHHLs3E6c1UdWS/4OfNR5t8Xl9JblJTBqfzRdVO9lYd1CPEhXlNH2miYD7kvlJuRfyq3G/wKyZeKLqOZbWfR5WMYx2azktrgiqbYN+8LPk/lF+rfPqCwrISFaRikpw9Kkm0iavfw6/LpvD2NSR/LvmY/625sWwiGF0Oe3YaitpShmGZjk9ZCjSYuKqC/wbmxkZYT4VqfjmpypSUdFXn2wiANGWftwy9DpuHHINdUfrwyKG0dFQDS0nyBh3ATdPGXJqzyO5fxQ3TxnChGHpfq87P8Mdqfjtxj2sln0v2EkJHq+yBoUQi4B8wAkcB+6RUq49Y5nfA78Adnme+kZK+Uv9StWfpmlMyCwlPyGXlze+aXgMo81aDpHRmLOGM8EcEVDT6EhbpOJrH2+mOEtFKir68HZP5GYp5Sgp5RjgceDlTpZ7TUo52vMV1g2kvfTYVE8M47mGxTC67K3Y66qw5I1HM0d0/wI/WMwmbp8+lKYWh4pUVHTjVRORUrY/YZCAe4+kV3HHMP7otBjGr+rKQ/b+9ob1YGsioii4g7oHpcRxlYpUVHTk9T67EGIeMBnQgMs7Wexaz1CrPcDvpJTf+lJMoJO49HBpytmMyRM8tfIVni5/lYm5Zcwedx3REf2C+r57V1RhiulP+qgyNJO5y2UDHcN4/dShbNx+iLc+38q5Y7JJSYoOaH161RUMqqbg03zdpRVC3ARcJ6Wcesbz6UCjlNImhJgEvAmUSCkbvVhtHlDb2HgcpzM8drGdLidf71/Bwg0fMjB6ALcOu4Gc/llBeS+XrYXjr99DRPG59Jt4c5fL6jWGcd/hJn73UgUFmf351bWjMQU4IDzcxkOCqskb7cZo5gN1fq3D1xdIKV8HLhJCJJ/x/B4ppc3z+FPcIzSH+1NUODBpJn4ybBpzxt6JzWnn8dXP8EX9V0E5j2CvXwv2ViyFZbqvuzOpidHMvLiITdtVpKISmG6biBAiTgiR3e77GcBBz1f75Qa1ezwa996F1K1SgxQl5vObsvsZnjyEf25bHJQYRru1Ai0mEXO60HW93WkfqbhHRSoqfvJmTyQWWCiEWC+EWAvcD8yQUrqEEEuEEG3ZfY8IITYIIdYBLwI3SSl7xZm72IgYbj8jhlEe1OdeFFfrSew71mEpKEUzhfaynbZIxQiLiZdUpKLip25PrEop9wJnd/Kzqe0ed30w38O1xTAWJuTx8sYF/G3ti0zOvYhp+ZMwd3MitCv2ujXgsPucYKaXpPgobpg8mBc+qGZpeT3TJuQZUofSc/XZK1b91T6G8ePtX/BE1XM0Nvl/Y5vNWo4Wl4wp1b9L2vVwVomKVFT8p5qIH9piGG8ddj27T+zl0VVzqdr3nc/rcTUfx9GwEUtBGVqAn44E4vRIxWoVqaj4RDWRAIxLG83DZfeRFpPKSxveYMHmf9LqaPX69ba61eByBP0CM298H6l4gvdXqEhFxXuqiQRoYHQy/zX2LiblXMg3u8r5c+XfvI5htFvL0RLSMCXnBrlK74wuGsjEkRl8VK4iFRXvqSaig1MxjKNnc9zWFsP4bZfXlDhPHsGxaxMRBh/KnOlaFamo+Eg1ER2VDBjMb8raYhjf6zKG0V67ClwuLIUdfvBlmOgoC7epSEXFB6qJ6KwthvHHRdNOxTBaD9f9YDm7tQJT0iDMA36YYGa0Ie0jFWtVpKLSNdVEgsCkmbg05wIeGPdLzJqJuWtOj2F0Hj+IY88WrwZ1G+VUpOISFamodE01kSDK7Z/dYQyjvaYCgIgQ3ivjKxWpqHhLNZEgOxXDWPJT6o7W80jFE6zb/g2mgbmYEvRNLtNbfkZ/pp+jIhWVrqkmEgKapjEhYzwPld5HoiWWV2NbWJw+AJvTbnRp3Zp+Th65afG89vFmjp7w/hoYpe9QTSSE0mNTuTdKcM7hk3zVvJO/Vj7N3hDHMPrKYjYxe3qJilRUOqWaSIhptau40pzOnSNv4WDLYR5b9STlu1cbXVaXVKSi0hXVRELIcWgXzsYdRBSexYiBQ/lN2f3kxmfx2qa3eXXjP2i2NxtdYqcml2YzOCuBBZ9tofFI+NaphJ5qIiFkt5YDGpZ8dwRLYlQC9475OdPyJ1G5dw2PrXqS+qMNxhbZCZNJ49bpQ3E64eUlm3CqwxrFQzWREHG5XNhrKjBnCEyxSaeeN2kmpuZPYs7YO7E7HTy++hk+r/8qrEZ7tklNjGbmJSpSUTmdaiIh4jy4A+fh3Z3mqBYl5vNw2RyGJw/hX0GKYdTDBaMyGVGQrCIVlVNUEwkRu7UCNNOpQ5mOtMUwzhx8JVsOWXmk4gk2HwyvC700TeOWKUOIsJiYpyIVFfQdo2kGnsI9k8YFPCalnKdvuT2Ty+XCZi3HPGgopuj+XS6raRrnZ51DYWI+L294k6fXzmNS7oVMz58cUAyjnpLio7hxsuD5Dzby0cp6pp+TZ3RJioH0HKN5A1AEFAMTgN8LIfJ0qbKHc+6vxXVsv085qoPiMniw9F4mZJTyyfZlPFH1bEAxjHo7a2gapUNSeX+FilTs6/QcozkTeFFK6ZRS7gcWAdcEXmLPZ7OWg8mMJW+sT69zxzD+xBPDuI9HV83l2x3hc03JTZcJ4k5FKqrskb7K63MiQoh5Qoh64I9AR8nuOcD2dt/XA9kdLNenuFxO96cyWSPQomL9Woc7hnEOaTGpPPGfeSzY/K5PMYzBEhcdcSpSccHHPX7EkOInr2fxSilnw6kxmn8Bpnb9Ct+FwyzeMwU6N7V5xyaOnzhE8qU3ExfAulKI55GsB3lnw795f9MnbD++gzkTbiMn0dg8kktT4qmuP8y/lm2lbGg6JfkDDK3nTOE49zYcawqE102kjZTydSHEC0KI5DPm7NYDucAqz/dn7pl0K5xm8YI+c1ObK5eBOYKTSYImHWawXj/ySrKisnmt+m0e/vQxri6ewXmZZxsasXjluXms27qfx9+o5P/eWkZUZHicAA63ubcQfjW1m8Xr/zq6W8DbMZrAQuB2IYRJCJECXAm8G1B1PZzL6cBeuwpLzii0yGjd1tsWw1icWOiJYXy90xjGUIiOsjDnurHsP9zEOypSsc/Rc4zm60ANsBVYCfxBStmnZw84dktcTUeDkmAWHxnHXaNmeWIYq3mkYi7bDhu3uUcUDmRSaTbLVKRin6OFya3deUBtbzucaf7qZWzWCuJuegrNEhm0mrYf3cHLGxfQ2HSQafmTuSzvIkxaaK8jTEmJZ+euw/zfV1fR3OrgD7eVEdsvIqQ1dFRTOB06QPjV1O5wJh+o82sdehakfM/lsGOrXY0ld4xuDaQzuf2z+XXpfYxLG8Xi2o95as0LHG4J/dyY9pGKCz7dEvL3V4yhmkiQOHZuhJYTIctRbYthvKnkp2w/1sAjFU+w/kB1SN67ve8jFfeyWu4L+fsroaeaSJDYrBUQGYM5a3jI3lPTNM7OGM+vx99LUlQiz333Ku9u+SDkMYxtkYrzl0qOqEjFXk81kSBw2Vux160mIn8cmjn05wXSYlN5YPzdXJh1LssaVoQ8htFiNjF7xlCaWx28piIVez3VRILAvmM92JoNnSsTYbJwzeAfnRbDuHJ3Zch+oQcNjFWRin2EaiJBYLeWo/WLx5xZYnQpp8Uwvr7pHeZXhy6GUUUq9g2qiejMZWvBXr8WS/54tDC5db8thnF6/mQq967l0VVPsv3ojqC/r4pU7BtUE9GZvX4t2FvDbkSmSTMxJf9S5oy9E4fTwV9X/53P6r8MegxjamI013oiFb9YHZ75sUpgVBPRmd1ajhaTiDl9sNGldOhUDOPAEt7b9iHPrgt+DOP5nkjFd5dbVaRiL6SaiI5crSex13+HpaAUzRS+mzY2Iobbh9/EzME/Zsvh4McwqkjF3i18/6b3QPa6NeC0+5RgZhR3DOMEHhx/DzGWaJ5eO4/3rR/hcAYnXKgtUrFm11E+WlkflPdQjKGaiI5s1nK0uGRMqYVGl+K1QXEZPFR6L+dkBj+GUUUq9k6qiejE1XwcR8NGIgrPMjTbwx+R5kiuH/ITbh12A3tOumMYq/Z9F5T3aotUfHFxNTa7OqzpDVQT0YmtthJcjrD7VMYX49JG8XDpHNJjUnlpwxtBiWFsi1Tcuf8Ei1bU6LpuxRiqiejEbi1HS0jDlJxjdCkBSY4ewP1j72Jy7kX8Z9cq/rTqKXYe363re4wqGsj5ozJYWl7PtobQ322s6Es1ER04Tx7GsXtzjzyU6YjZZOZHhVO4e/RsTtqb+HPl3/iq4VtdL5mfeXExyf37MW9xNS2tKim+J1NNRAf2mkpwubAU9NxDmY4MGVDMb8ruZ3BSIW9veY8XN7zOCZ1iGKOjLNw2rURFKvYCqonowF5TgSkpC/MAY5PXgyE+Mo67Rs7iqqLpbDiwiUd1jGEUOUmnIhU31DZ2/wIlLHWb9i6ESMadn1oItOLOUL3DM6Cq/XKvApcCBzxPLZRS/lHXasOQ83gjjj1biBx/ldGlBI1JM3FJzvkUJebz8sYFzK16jmn5k7gs7+KAYxivOr+A9TWNvLJkc1hEKiq+8+ZvgAv4s5RSSClHAFbgsU6WfUxKOdrz1esbCLj3QoAecYFZoNpiGMenjWZx7Se6xDCqSMWer9smIqU8KKVc3u6plbjnyyi4E8xMA/MwJaQZXUpIRFv6cfPQa3WNYVSRij2bT/uiQggTcBfwQSeL/JdntMQiIYTxYRpB5jy6D+f+2pDlqIaLUzGMpfcxwBPD+ErVOwHFME4/J4/cdBWp2BP5NDJCCPEMMAi4SkrpPONng4DdUkqnEOJnwP8DCqSU3nx+lwf0uBk1h775F4eWv0n23c8SkZBqdDmGsDlsvLnuPZZsXUZeYhZzJtxGZv90v9ZVv+coc574krEilf81q6xXfFzeg/g9MsLrJiKEeBwYiXtwVYsXyzcCY6WU3ozSzKMHzp058e5vISKK2B/977CpySj1tjqeXvkqNqednw6+krPTx/nVBD6uqOftL7Zx69QSzhuZEVBN4bitwq2mkM2dEUI8AowDruysgXj2RNoeXwY4gJ3+FNUTOA7twnlwR584oeqNcZkjTsUwvrHpHV6tfosmP2IYJ5VmMzg7kbc+V5GKPYU3s3iHAQ8DmcB/hBBrhRDveX62VgiR6Vl0vud8yDrgfwNXSClDO6sghOzWckDDUlBqdClh4/sYxsuo2vcdj/kRw2jSNG6bVoLTpSIVe4purxORUm4EOtwvlVKObvf4Uh3rCmsulwu7tRxzhsAUk2h0OWHFHcN4CYOTCnll4wIeX/0MPyqcwsXZE72+piQlMZprLy5i/lLJF6sbuHR8dvcvUgyjrlj1g/PgDpxH9vToO3aDrTAxj9+UzWHkwKF+xTC2j1Tc3XgiiJUqgVJNxA92azloJiwF440uJazFRMQwe/hNXCt+zFYfYxg1TWPW1LZIxU0qUjGMqSbiI5fLhc1ajnnQUEz94o0uJ+xpmsbEQRN4cPy9xETE+BTDmBgXxU2XCWp3H2WJilQMW6qJ+Mi5vxbXsQPqUxkfZcal89D4ezgns4xPti/jf6qe5YAXMYxlJWmUlaTygYpUDFuqifjIZi0HkwVL3lijS+lx3DGMV3Pb8BvZe3Ifj1bMZfXetd2+7sbJKlIxnKkm4gOXy4m9pgJL9gi0qFijy+mxxqaO5OHSOWTEpvHyxgW8uanrGMa46AhmTVWRiuFKNREfOPZsxXXiEJY+dq9MMLhjGO/kstyL+XZ39zGMIws9kYor69nacDiElSrdUU3EB3ZrBZgjseSOMbqUXsFsMnNF4eVnxDD+p9MYxpkXF5Oc0I+XFm+iubXXXsfY46jfzmkBAAATiklEQVQm4iWX04G9dhWW3FFoEf2MLqdXOT2GcVGnMYztIxUXLrMaUKnSEdVEvOTYtRlX01EsBepQJhi8jWE8Fam4RkUqhgvVRLxkrymHiH5YckYZXUqv1RbD+MC4X2IxmZlb9RxLaj/F6Tr9E5mrLyggIzmGV5Zs5kSzzaBqlTaqiXjB5bBjq12NJXcMmiXS6HJ6vZz+WZ4YxjF8WPspT615gUPN359MjbB8H6n4popUNJxqIl5w7NwILSfUBWYh1M/Sj1uGXcvPSmay/VgDj1bM5bv9G0/9PD+jPzPOzWPlxr1UblaRikZSTcQLNms5RMZgzhpudCl9zlkZ49wxjP0SeX79fN7Z8j42h/sQZtqEXHLT43ntYxWpaCTVRLrhsrdir6siIn8cmrnb5AQlCNJiUvjV+Lu5KPs8vmz4hsdXP8PeE/uwmE3Mnj6U5lYH8z/arOuEPsV7qol0w75jPdia1W3/BoswWfhJ8RXcNXIWh1uO8NiqJ/l21yoyk2O4+oIC1m47wDfr9xhdZp+kmkg37NZytH7xmDN7fXh9jzB8YAkPl80hr38Ob2xeyKvVb3HemJRTkYoHjjQZXWKfo5pIF5ytzdjr12IpKEUzmY0uR/FIjErgnjG3M6PAHcP451VPcvmF/d2Rih+qSMVQ03OMZgzwCu5AZzvwgJRyse4Vh9DJrZVgb1WHMmHIpJm4PM8dw/jyhgW8tGUeY845l5XL7Xy+uoFJKlIxZPQco/kAcFRKWQTMAOYJIeL0KzX0jlevQItJxJxebHQpSicKEtpiGIex7uTXJI/+jndXVKtIxRDSc4zmTOB5z2u2ApXAFB1qNISr9SQnrWuwFJShBTi0WgkudwzjjVwrrqI1aj+WkhU88+kyHA6VPRIKeo7RzAHaD6qqB3rsPqW9rgoc9j43IrOncscwns1DpfeSEB3HodSv+N3iV7yKYVQC4+uFD38DjgNPB6GWtklcYWH356uxJKSQNmx02I1zTEkJz2zXcKgrJSWep7P/D//1zrNsaa7kL5V7eeiCn5MaN9Do0k4Jh+2kJ6+biGeMZjHuMZod7SfW4z7MaTvhmgMs86WYcBmj6Ww+RlPNdyScPYMDB7wfcxAK4TaGsU241fXAeTfx23cX0ZC+lgeW/n9cP+RqxqWN7v6FQRZu26ndGE3/1+HNQt6M0QQWAnd4li8GSoGlAVVnEHvtanA5iBt6rtGlKH6Ki45gzpRpNK2fQKQj0RPDuJCWLmIYFf/oOUbzL0CiEGIbsBj4uZQyfFquD+zWcrSEdCLT8o0uRQnA+JI0JpYUsW/VKEoHnMO3uyu7jWFUfKfnGM0TwDX6lWYM58nDOHZvJnLMjLA7F6L4bubFRVTXHWTzyljuuOpW3tryDn+u/BtXFU3n/EET1J+xDtRnl2ew11SCy6UuMOsl2kcqrl0DD5fdj0gq4p0ti3hx/WsdxjAqvlFN5Ax2azmmAVmYkwYZXYqiE5GTxOQyd6Ti9oYW7hx5C1cXTWdD42YeqXiiwxhGxXuqibTjPN6IY+9WlaPaC111fgGZA2N5eckmmlocXOyJYYwwWZhb9RwfdhDDqHhHNZF27DUVACrBrBdyRyqWcOyk7VSkYlsMY2n6GJbUfsqTa54/LYZR8Y5qIu3YrBWYBuZhSkgzuhQlCPLS+zP9nNMjFftZ+nHzUHcMY/2xnT+IYVS6p5qIh/PoPpz7a9VeSC93WqTi8e8veTorYxwPl97HgOikH8QwKl1TTcTDZi0HUCMyezmL2cTtbZGKS+VpkYqpMSn8atwvuTh7Il82fMNfVj/NnhMqBLo7qol42K3lmNKKMMUlG12KEmSZA2P5iSdSccX60y88izBZuLp4BneNnMWRlqP8yRPDqPJbO6eaCOA4tBPnwQZ1KNOHXFqajchO5K3PtnYYqdhRDGOTXUUvdkQ1ETyDutGwFJQaXYoSIiZN49ZpJbjoPFLx+xjGy6na9x2PVjxJ3dH60Bcb5vp8E3G5XNit5Zgzh2CKSTS6HCWEUhKjue6SYjbXH+bz1Q0dLuOOYbyY+8feidPl5K+r/86n25era0ra6fNNxNlYj/PIHnWZex81cWQGIwuTeXe5tctIxfYxjIusS/j7upc52toj7y/VXZ9vInZrOWgmLPnjjC5FMYCmadwyZQiRFhPzFm/C4ex8D6MthvE6cRXbDtfwSMUTbGpUs4D7dBNxuVzYaiowZw3D1K93pU0p3kuMi+KmywS1u4+y5NvtXS6raRrnDTqbB8ffS1xELE+vm8eibUv6dAxjn24izv01uI4dIELdK9PnlZWkUVaSygff1LF9T/eHKZlx6Tw4/h7OyzyLT+uX89eqv3OgqTEElYafPt1EbNYKMFmw5I01uhQlDNw4WRAXE8G8D6ux2bs/cRppjuS6IVcze/hN7Dt5gEcrnqRy79oQVBpe+mwTcbmc2GsqsGSPQIuKNbocJQzERUcwa8oQdu4/waKva7x+3ZjUETxcOofMuDRe2biAN/pYDGOfbSKOPVtxnTikPpVRTjOycCAXjM5kaXk9W3Z4f0dvcnQSc8bcyeW5F7PSE8PYcGxXECsNH94GNT8uhKgVQriEEMM7Web3Qoh9ntzVtUKIZ/QtVV92azmYI7HkGp8AroSXn15URHJCP176sJrmVrvXrzObzMwovJx7Rt9Os72Jv6x+muUN3/T6S+a93RNZBJzP6cOpOvKalHK05+uXgZUWPC6nA3vNKiy5o9Ai+hldjhJmoqMszJ4+lAOHm3lnmdXn14sBRTxcdj9DkopYuOV9Xlj/GsdtvXesp1dNREq5Qkq5I9jFhIpj12ZczcfUoYzSqcHZiUwuy2b5mp1sqPH9U5f4yDjuHDmLq4tnsLFxM49WzGXrIe/Ps/Qkep8TuVYI8Z0Q4hMhxASd160bu7UcIvphyR5pdClKGGsfqXii2fdsEU3TuDh7Ig+M/yWRpgieXPM872xY3OuuKdF8OV4TQtQB06WUGzr4WTrQKKW0CSEmAW8CJVJKb9p4HhCStFyXw8b2ubOJKRpL6o/uC8VbKj3Yth2HeeCprzhv1CAeuNH/q5qbbM28VPUPvqorpySliHvOnsXAmAE6VhqwfKDOnxf6Oou3U1LKPe0efyqE2AEMB770dh2hGKNpr1+Ls/k4jqyx3Y4zDLeRhxCeNUF41qVHTQn9zMw4J49FK2oZlpvI+CGpfq9rZsHVjEwr4cXKBfz3R3/khpJrGJUyLKD6AhWyMZreEEIMavd4NO69C6nX+vVi21YOUbGYB3X4IZOi/MDUCbnkdRCp6I/z887i154YxhfWz+edLYt6fAyjtx/xPiWEaACygM+EEBs9zy8RQoz3LPaIEGKDEGId8CJwU/u9k3Dgsrdi376GiLxxaGbddsKUXs5iNjG7k0hFf5wew/gfTwzjXp2qDT2fzokEUR5QG+zDGVttJc2fPk301AewZHW/J9Jbd9GDIRzr0rumTyrq+ccX25g1dQgTR2Z2/wIvatpwYBOvb3qHVkcr1wy+kgkZ40M62rPd4Yzf50T61BWrdmsFWr94zJklRpei9EDdRSr641QMY0Iub25eyCsbF/S4GMY+00Rctmbs29diKShFM5mNLkfpgUyaxm3T3P8AdRap6I/EqATuGT2bKwouZ83+9T0uhrHPNBH79rXgaFUXmCkBGZgYzbVtkYqVHUcq+sOkmbjME8PowtWjYhj7ThOxlqPFJGJOLza6FKWHOxWp+GXXkYr+KEjI4+HSOYzyxDA+s/YljrSE17mmM/WJJuJqOYF9x3osBWVoWp/4X1aCyJdIRX/ERERzmyeG0XqklkfDPIaxT/xG2bevAaediCJ1KKPow5dIRX+cFsMY6Y5hfG/bh9id3t9VHCp9oonYrOVo8QMxpRQYXYrSi5SVpHHW0DSvIxX94Y5hvJfzBp3NZ/Vf8j+rnw27GMZe30SczcdwNGwkoqAspJ+/K33DDZMGuyMVF1djswfnxrpIcwTXiavcMYxNB3i0Yi6Ve9YE5b380eubiL12Nbic6lMZJSjckYol7Dxwgve+Du49pN/HMGbwSvVbvL7pnbCIYez9TcRajpaQjik5x+hSlF5qZGEyF4zO5GMfIxX94Y5hvIPL8y6hfPdq/rTqSXYYHMPYq5uI8+RhHLs2E1F4ljqUUYLK30hFf5hNZmYUXMa9Y26n2d7C45V/Y/kO42IYe3UTsdesAlxYCtVcGSW4Ao1U9MfgpCJ+U3Y/QwYMZuHW93l+/XxDYhh7dROxWcsxDcjCnDSo+4UVJUCDsxO5rCyH5Wt2st6PSEV/xEXGcufIW/hJ8RVsapSeGMbQNLE2vbaJOI834ty7TZ1QVULqx+fnM2hgLK/4GanoD03TuCj7PH51KobxBT6s+SRkMYy9tonYrRUARKgmooRQhMXM7OlDOXbSxpufhPYq05z4LB4qvZey9LEsqfuMJ9e8wKHm4J7ohV7cRGw1FZhS8jH19z/OTlH8kZsez4xz8lhZvZfKzftC+t79LP342dCZ3Dz0WhqO7+SRiidYt39jUN+zVzYR55G9OPfXEqFOqCoGmTohl/wMfSIV/VGWPpZfl85hYPQAXlg/n7dl8GIYe2UTsVnLAbAUqCaiGKMtUrHF5uDVjzYb8vFrasxAfjXul1ySfT5f7QxeDGOvbCL2mgrMacWY4pKNLkXpwzKSY7n6gkLWWRtZ8d1uQ2qwmCxcVTydX4y6lSMtR/nTqqf4z64KXZtat03Eyzm8ZiHEM0IIqxBimxBitm4V+shxaCfOgw3q2hAlLFw6PoshOYm89flWDhw2LvZwWPIQflN2P/kJuby5+V1dYxi92RPxZg7vDUARUAxMAH4vhMgLuDo/2K0VoGlYCkqNeHtFOY1J07h1qidSccmmoM9V6kpCVH/uPiOGUY9L5rudmyClXAEghOhqsZnAi1JKJ7BfCLEIuAb4i5d1mMGdPB0Il8uFa99WIovPxhKXFNC62gRaUzCEY00QnnWFQ02pA2K4bVoJC5db+XxVPWOLjDvMNmFmSsElDEsZwrtb3uc9678Znfcr8PwO+kOv4Ss5nL6nUg9k+/D6DICkpNjAK7n5/wW+jnYCnQ4WDOFYE4RnXeFS0+XnxXH5eYVGl3FKcrJgTN6D7Z/KAPy61DVcJjitAiYCu4HeNe1YUcKbGXcDWeXvCvRqIvVAbrtCztwz6U4LsEKnWhRF8U1AN9vo1UQWArcLIf4FJANX4t6zUBSll/PmI15v5vC+DtQAW4GVwB+klMGNeVIUJSyEyyxeRVF6qF55xaqiKKGjmoiiKAFRTURRlICoJqIoSkAMu9hMCPEMcAnua0SOA/dJKSs7Wfa3wC2eb1+VUup7Wer373Mj8CAwFJgjpXy6k+UuBJYAbdFVLVLKoESoeVuTZ9nbgYcADfgIuNdzK0Iw6ooBXgHGAXbgASnl4g6Wu5AgbishxGBgPu5LCxqBn0kpt56xjBl4CrgccAGPSSnn6VWDnzX9HvgF0HbzyjdSyl8GsabHgauBPGCElHJDB8v4tZ2M3BP5CPf/zCjgUeDtjhYSQpyP+z6c4Z6vazzPBcNa4FpggRfLVkspR3u+gpnB6FVNQoh84He4b4As9nzdGMS6HgCOSimLgBnAPCFEZ9eYB3NbPQc8I6UcDDwDPN/BMqG+QdSbmgBea7ddgtZAPIJ2I61hTURKuVhK2Ra19C2QJYToqJ6ZuDd2k5SyCXjN81wwatogpawGgvKvtz98qOknwCIp5X7P3seLBGk7eczE88vh+Ve2EpgSxPf7ASFEKjAWeMvz1FvAWCFEyhmLnrpBVEq5H/cv1DUG1xRSUsoVUsod3Szm13YKl3MidwMfdrLrHejNfcEyWAhRJYQoF0LcbHQxhH47+fJ+wdpW2cBOKaUDwPPfXR3UEcpt421NANcKIb4TQnwihJgQpHp84dd2Cto5ESFElaeojqS1bWQhxLXA9bh3tYLK25q8UAVkSymPeA4jPhNC7JRSfmZgTbrqri4fVqXbtuplngP+KKW0CSEmAe8LIUqklKEZWKOjoDURKeXY7pYRQvwY+CNwiZSys/DHtpv72uQA3e2W+V2Tl+s52u5xrSc/5VzA518MvWpCx+0E3dclhGh7v/3t3m9ZB+vRbVt1YAcwSAhhllI6PCcGM/nh/3egN4jqXpOUck+7x58KIXbgPuf3ZZDq8oZf28mwwxkhxHTgf4DLpJR1XSy6EPiZECJaCBEN/Ax4JwQldkoIkSGE0DyPBwCTcZ8ANdI/gSuFECmec0u3E9zttBC4A0AIUQyUAkvPXCiY20pKuc+zrus8T10HrPEcz59Z6+1CCJPn3MSVwLt61OBvTUKIQe0ej8b9qYkMRk0+8Gs7GXbvjBBiP9DK9/+SgXuPpFEIMQ/4QEr5gWfZ3+NuHuA+yfr7INV0He40tiRPbSeAyVLKaiHEH4BdUsrnhBB3A3cBNtx7c/OllN6muAWlJs+yd+D+OBjgE+DuYB0OCSFigVeBMbgzYB6UUr7v+VnItpUQYgjuj1OTgEO4P06VQoglwP+RUlZ69gaext3AAP4kpXxBrxr8rGk+7o/HHbj/XH8npVwSxJqeAq4C0oEDQKOUcpge20ndgKcoSkDC5dMZRVF6KNVEFEUJiGoiiqIERDURRVECopqIoigBUU1EUZSAqCaiKEpAVBNRFCUg/z+Ph/BQh/YmHQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x1, x2_1)\n", + "plt.plot(x1, x2_2)\n", + "plt.plot(x1, x2_3)\n", + "plt.xlim(-2., 1)\n", + "plt.ylim(1, 5)\n", + "\n", + "plt.scatter(res[0], res[1])\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Maybe you would have expected the point being at the barycenter of the triangle (cf. [Least square solution in the triangle center](https://math.stackexchange.com/questions/471812/is-the-least-squares-solution-to-an-overdetermined-system-a-triangle-center)). This is not the case becase the equations are not scaled the same way. Actually the point is at the intersection of the three [symmedians](https://en.wikipedia.org/wiki/Symmedian) of the triangle." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 3.\n", + "\n", + "This method can also be used to fit a line to a set of points. Let's take the following data points:\n", + "\n", + "\n", + "We want to fit a line to this set of data points\n", + "\n", + "We have this set of $\\bs{x}$ and $\\bs{y}$ and we are looking for the line $y=mx+b$ that minimizes the error. The error can be evaluated as the sum of the differences between the fit and the actual data points. We can represent the data points with a matrix equations:\n", + "\n", + "$$\n", + "\\bs{Ax} = \\bs{b}\n", + "\\Leftrightarrow\n", + "\\begin{bmatrix}\n", + " 0 & 1 \\\\\\\\\n", + " 1 & 1 \\\\\\\\\n", + " 2 & 1 \\\\\\\\\n", + " 3 & 1 \\\\\\\\\n", + " 3 & 1 \\\\\\\\\n", + " 4 & 1\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " m \\\\\\\\\n", + " b\n", + "\\end{bmatrix}\n", + "=\n", + "\\begin{bmatrix}\n", + " 2 \\\\\\\\\n", + " 4 \\\\\\\\\n", + " 0 \\\\\\\\\n", + " 2 \\\\\\\\\n", + " 5 \\\\\\\\\n", + " 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Note that here the matrix $\\bs{A}$ represents the values of the coefficients. The column of 1 correspond to the intercepts (without it the fit would have the constraint to cross the origin). It gives the following set of equations:\n", + "\n", + "$$\n", + "\\begin{cases}\n", + " 0m + 1b = 2 \\\\\\\\\n", + " 1m + 1b = 4 \\\\\\\\\n", + " 2m + 1b = 0 \\\\\\\\\n", + " 3m + 1b = 2 \\\\\\\\\n", + " 3m + 1b = 5 \\\\\\\\\n", + " 4m + 1b = 3\n", + "\\end{cases}\n", + "$$\n", + "\n", + "We have the set of equations $mx+b=y$. The ones are used to give back the intercept parameter. For instance, in the first equation corresponding to the first point we have well $x=0$ and $y=2$. This can be confusing because here the vector $\\bs{x}$ corresponds to the coefficients. This is because the problem is different from the other examples: we are looking for the coefficients of a line and not for $x$ and $y$ unknowns. We kept this notation to indicate the similarity with the last examples.\n", + "\n", + "So we will construct these matrices and try to use the pseudoinverse to find the equation of the line minimizing the error (difference between the line and the actual data points).\n", + "\n", + "Let's start with the creation of the matrix of $\\bs{A}$ and $\\bs{b}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1],\n", + " [1, 1],\n", + " [2, 1],\n", + " [3, 1],\n", + " [3, 1],\n", + " [4, 1]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[0, 1], [1, 1], [2, 1], [3, 1], [3, 1], [4, 1]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2],\n", + " [4],\n", + " [0],\n", + " [2],\n", + " [5],\n", + " [3]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = np.array([[2], [4], [0], [2], [5], [3]])\n", + "b" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now calculate the pseudoinverse of $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-2.00000000e-01, -1.07692308e-01, -1.53846154e-02,\n", + " 7.69230769e-02, 7.69230769e-02, 1.69230769e-01],\n", + " [ 6.00000000e-01, 4.00000000e-01, 2.00000000e-01,\n", + " 4.00160154e-17, 4.00160154e-17, -2.00000000e-01]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus = np.linalg.pinv(A)\n", + "A_plus" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and apply it to the result to find the coefficients with the formula:\n", + "\n", + "$$\n", + "\\bs{x}=\\bs{A}^+\\bs{b}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.21538462],\n", + " [2.2 ]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coefs = A_plus.dot(b)\n", + "coefs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These are the parameters of the fit. The slope is $m=0.21538462$ and the intercept is $b=2.2$. We will plot the data points and the regression line: " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(-1, 5, 1000)\n", + "y = coefs[0]*x + coefs[1]\n", + "\n", + "plt.plot(A[:, 0], b, '*')\n", + "plt.plot(x, y)\n", + "plt.xlim(-1., 6)\n", + "plt.ylim(-0.5, 5.5)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you are not sure about the result. Just check it with another method. For instance, I double-checked with R:\n", + "\n", + "```r\n", + "a <- data.frame(x=c(0, 1, 2, 3, 3, 4),\n", + " y=c(2, 4, 0, 2, 5, 3))\n", + "\n", + "ggplot(data=a, aes(x=x, y=y)) +\n", + " geom_point() +\n", + " stat_smooth(method = \"lm\", col = \"red\") +\n", + " xlim(-1, 5) +\n", + " ylim(-1, 6)\n", + "```\n", + "\n", + "outputs:\n", + "\n", + "\n", + "Just checking with another method\n", + "\n", + "You can also do the fit with the Numpy `polyfit()` to check the parameters:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.21538462],\n", + " [2.2 ]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.polyfit(A[:, 0], b, 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That's good! We have seen how to use the pseudoinverse in order to solve a simple regression problem. Let's see with a more realistic case." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 4.\n", + "\n", + "To see the process with more data points we can generate data (see [this nice blog post](https://mec560sbu.github.io/2016/08/29/Least_SQ_Fitting/) for other methods of fitting).\n", + "\n", + "We will generate a column vector (see `reshape()` bellow) containing 100 points with random $x$ values and pseudo-random $y$ values. The function `seed()` from the [Numpy.random package](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.seed.html) is used to freeze the randomisation and be able to reproduce the results:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(123)\n", + "x = 5*np.random.rand(100)\n", + "y = 2*x + 1 + np.random.randn(100)\n", + "\n", + "x = x.reshape(100, 1)\n", + "y = y.reshape(100, 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "We will create the matrix $\\bs{A}$ from $\\bs{x}$ by adding a column of ones exactly like we did in the example 3." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[3.48234593, 1. ],\n", + " [1.43069667, 1. ],\n", + " [1.13425727, 1. ],\n", + " [2.75657385, 1. ],\n", + " [3.59734485, 1. ],\n", + " [2.1155323 , 1. ],\n", + " [4.90382099, 1. ],\n", + " [3.42414869, 1. ],\n", + " [2.40465951, 1. ],\n", + " [1.96058759, 1. ]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.hstack((x, np.ones(np.shape(x))))\n", + "A[:10]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now find the pseudoinverse of $\\bs{A}$ and calculate the coefficients of the regression line:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.9461907 ],\n", + " [1.16994745]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_plus = np.linalg.pinv(A)\n", + "coefs = A_plus.dot(y)\n", + "coefs" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "We can finally draw the point and the regression line:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x_line = np.linspace(0, 5, 1000)\n", + "y_line = coefs[0]*x_line + coefs[1]\n", + "\n", + "plt.plot(x, y, '*')\n", + "plt.plot(x_line, y_line)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks good!\n", + "\n", + "# Conclusion\n", + "\n", + "You can see that the pseudoinverse can be very useful for this kind of problems! The series is not completely finished since we still have 3 chapters to cover. However, we have done the hardest part! We will now see two very light chapters before going to a nice example using all the linear algebra we have learn: the PCA." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# References\n", + "\n", + "## Intuition\n", + "\n", + "- [Sean Owen - Pseudoinverse intuition](https://www.quora.com/What-is-the-intuition-behind-pseudo-inverse-of-a-matrix)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy - linalg.pinv](https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.pinv.html)\n", + "\n", + "- [Numpy random seed](https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.seed.html)\n", + "\n", + "## Systems of equations\n", + "\n", + "- [Using the Moore-Penrose Pseudoinverse to Solve Linear Equations](https://www.youtube.com/watch?v=5bxsxM2UTb4)\n", + "\n", + "- [Overdetermined systems](https://en.wikipedia.org/wiki/Overdetermined_system)\n", + "\n", + "- [Least square solution in the triangle center](https://math.stackexchange.com/questions/471812/is-the-least-squares-solution-to-an-overdetermined-system-a-triangle-center)\n", + "\n", + "- [Symmedian](https://en.wikipedia.org/wiki/Symmedian)\n", + "\n", + "## Least square fit\n", + "\n", + "- [Least square fitting](https://mec560sbu.github.io/2016/08/29/Least_SQ_Fitting/)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/dataset-representation.png b/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/dataset-representation.png new file mode 100644 index 0000000..9622d44 Binary files /dev/null and b/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/dataset-representation.png differ diff --git a/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/linear-regression-r.png b/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/linear-regression-r.png new file mode 100644 index 0000000..b59aeac Binary files /dev/null and b/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/linear-regression-r.png differ diff --git a/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/overdetermined-system-equations-python.png b/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/overdetermined-system-equations-python.png new file mode 100644 index 0000000..2c6e472 Binary files /dev/null and b/Chapters/2.09 The Moore-Penrose Pseudoinverse/images/overdetermined-system-equations-python.png differ diff --git a/Chapters/2.10 The Trace Operator/.ipynb_checkpoints/2.10 The Trace Operator-checkpoint.ipynb b/Chapters/2.10 The Trace Operator/.ipynb_checkpoints/2.10 The Trace Operator-checkpoint.ipynb new file mode 100644 index 0000000..9e676e9 --- /dev/null +++ b/Chapters/2.10 The Trace Operator/.ipynb_checkpoints/2.10 The Trace Operator-checkpoint.ipynb @@ -0,0 +1,383 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": true, + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert} \n", + "\\DeclareMathOperator{\\Tr}{Tr}\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is very light! I can assure you that you will read it in 1 minute! It is nice after the last two chapters that were quite big! We will see what is the Trace of a matrix. It will be needed for the last chapter on the Principal Component Analysis (PCA)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.10 The Trace Operator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "The trace of matrix\n", + "\n", + "\n", + "The trace is the sum of all values in the diagonal of a square matrix.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & 9 & 8 \\\\\\\\\n", + " 4 & 7 & 1 \\\\\\\\\n", + " 8 & 2 & 5\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\mathrm{Tr}(\\bs{A}) = 2 + 7 + 5 = 14\n", + "$$\n", + "\n", + "Numpy provides the function `trace()` to calculate it:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 9, 8],\n", + " [4, 7, 1],\n", + " [8, 2, 5]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 9, 8], [4, 7, 1], [8, 2, 5]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "14" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_tr = np.trace(A)\n", + "A_tr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "GoodFellow et al. explain that the trace can be used to specify the Frobenius norm of a matrix (see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)). The Frobenius norm is the equivalent of the $L^2$ norm for matrices. It is defined by:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\sum_{i,j}A^2_{i,j}}\n", + "$$\n", + "\n", + "Take the square of all elements and sum them. Take the square root of the result. This norm can also be calculated with:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\Tr({\\bs{AA}^T})}\n", + "$$\n", + "\n", + "We can check this. The first way to compute the norm can be done with the simple command `np.linalg.norm()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "17.549928774784245" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Frobenius norm of $\\bs{A}$ is 17.549928774784245.\n", + "\n", + "With the trace the result is identical:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "17.549928774784245" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sqrt(np.trace(A.dot(A.T)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the transposition of a matrix doesn't change the diagonal, the trace of the matrix is equal to the trace of its transpose:\n", + "\n", + "$$\n", + "\\Tr(\\bs{A})=\\Tr(\\bs{A}^T)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Trace of a product\n", + "\n", + "$$\n", + "\\Tr(\\bs{ABC}) = \\Tr(\\bs{CAB}) = \\Tr(\\bs{BCA})\n", + "$$\n", + "\n", + "\n", + "### Example 1.\n", + "\n", + "Let's see an example of this property.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 4 & 12 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{B}=\n", + "\\begin{bmatrix}\n", + " 1 & -3 \\\\\\\\\n", + " 4 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{C}=\n", + "\\begin{bmatrix}\n", + " 6 & 6 \\\\\\\\\n", + " 2 & 5\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "531" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[4, 12], [7, 6]])\n", + "B = np.array([[1, -3], [4, 3]])\n", + "C = np.array([[6, 6], [2, 5]])\n", + "\n", + "np.trace(A.dot(B).dot(C))" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "531" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.trace(C.dot(A).dot(B))" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "531" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.trace(B.dot(C).dot(A))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\bs{ABC}=\n", + "\\begin{bmatrix}\n", + " 360 & 432 \\\\\\\\\n", + " 180 & 171\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{CAB}=\n", + "\\begin{bmatrix}\n", + " 498 & 126 \\\\\\\\\n", + " 259 & 33\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{BCA}=\n", + "\\begin{bmatrix}\n", + " -63 & -54 \\\\\\\\\n", + " 393 & 594\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\Tr(\\bs{ABC}) = \\Tr(\\bs{CAB}) = \\Tr(\\bs{BCA}) = 531\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "[Trace (linear algebra) - Wikipedia](https://en.wikipedia.org/wiki/Trace_(linear_algebra))\n", + "\n", + "[Numpy Trace operator](https://docs.scipy.org/doc/numpy/reference/generated/numpy.trace.html)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.10 The Trace Operator/2.10 The Trace Operator.ipynb b/Chapters/2.10 The Trace Operator/2.10 The Trace Operator.ipynb new file mode 100644 index 0000000..9e676e9 --- /dev/null +++ b/Chapters/2.10 The Trace Operator/2.10 The Trace Operator.ipynb @@ -0,0 +1,383 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": true, + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert} \n", + "\\DeclareMathOperator{\\Tr}{Tr}\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is very light! I can assure you that you will read it in 1 minute! It is nice after the last two chapters that were quite big! We will see what is the Trace of a matrix. It will be needed for the last chapter on the Principal Component Analysis (PCA)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.10 The Trace Operator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "The trace of matrix\n", + "\n", + "\n", + "The trace is the sum of all values in the diagonal of a square matrix.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 2 & 9 & 8 \\\\\\\\\n", + " 4 & 7 & 1 \\\\\\\\\n", + " 8 & 2 & 5\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\mathrm{Tr}(\\bs{A}) = 2 + 7 + 5 = 14\n", + "$$\n", + "\n", + "Numpy provides the function `trace()` to calculate it:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 9, 8],\n", + " [4, 7, 1],\n", + " [8, 2, 5]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 9, 8], [4, 7, 1], [8, 2, 5]])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "14" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A_tr = np.trace(A)\n", + "A_tr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "GoodFellow et al. explain that the trace can be used to specify the Frobenius norm of a matrix (see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)). The Frobenius norm is the equivalent of the $L^2$ norm for matrices. It is defined by:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\sum_{i,j}A^2_{i,j}}\n", + "$$\n", + "\n", + "Take the square of all elements and sum them. Take the square root of the result. This norm can also be calculated with:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\Tr({\\bs{AA}^T})}\n", + "$$\n", + "\n", + "We can check this. The first way to compute the norm can be done with the simple command `np.linalg.norm()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "17.549928774784245" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.norm(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Frobenius norm of $\\bs{A}$ is 17.549928774784245.\n", + "\n", + "With the trace the result is identical:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "17.549928774784245" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sqrt(np.trace(A.dot(A.T)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the transposition of a matrix doesn't change the diagonal, the trace of the matrix is equal to the trace of its transpose:\n", + "\n", + "$$\n", + "\\Tr(\\bs{A})=\\Tr(\\bs{A}^T)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Trace of a product\n", + "\n", + "$$\n", + "\\Tr(\\bs{ABC}) = \\Tr(\\bs{CAB}) = \\Tr(\\bs{BCA})\n", + "$$\n", + "\n", + "\n", + "### Example 1.\n", + "\n", + "Let's see an example of this property.\n", + "\n", + "$$\n", + "\\bs{A}=\n", + "\\begin{bmatrix}\n", + " 4 & 12 \\\\\\\\\n", + " 7 & 6\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{B}=\n", + "\\begin{bmatrix}\n", + " 1 & -3 \\\\\\\\\n", + " 4 & 3\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{C}=\n", + "\\begin{bmatrix}\n", + " 6 & 6 \\\\\\\\\n", + " 2 & 5\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "531" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[4, 12], [7, 6]])\n", + "B = np.array([[1, -3], [4, 3]])\n", + "C = np.array([[6, 6], [2, 5]])\n", + "\n", + "np.trace(A.dot(B).dot(C))" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "531" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.trace(C.dot(A).dot(B))" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "531" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.trace(B.dot(C).dot(A))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\bs{ABC}=\n", + "\\begin{bmatrix}\n", + " 360 & 432 \\\\\\\\\n", + " 180 & 171\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{CAB}=\n", + "\\begin{bmatrix}\n", + " 498 & 126 \\\\\\\\\n", + " 259 & 33\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{BCA}=\n", + "\\begin{bmatrix}\n", + " -63 & -54 \\\\\\\\\n", + " 393 & 594\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$$\n", + "\\Tr(\\bs{ABC}) = \\Tr(\\bs{CAB}) = \\Tr(\\bs{BCA}) = 531\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "[Trace (linear algebra) - Wikipedia](https://en.wikipedia.org/wiki/Trace_(linear_algebra))\n", + "\n", + "[Numpy Trace operator](https://docs.scipy.org/doc/numpy/reference/generated/numpy.trace.html)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.10 The Trace Operator/images/trace-matrix.png b/Chapters/2.10 The Trace Operator/images/trace-matrix.png new file mode 100644 index 0000000..0ead3f4 Binary files /dev/null and b/Chapters/2.10 The Trace Operator/images/trace-matrix.png differ diff --git a/Chapters/2.11 The Determinant/.ipynb_checkpoints/2.11 The Determinant-checkpoint.ipynb b/Chapters/2.11 The Determinant/.ipynb_checkpoints/2.11 The Determinant-checkpoint.ipynb new file mode 100644 index 0000000..99a827b --- /dev/null +++ b/Chapters/2.11 The Determinant/.ipynb_checkpoints/2.11 The Determinant-checkpoint.ipynb @@ -0,0 +1,475 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true, + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert} \n", + "\\DeclareMathOperator{\\Tr}{Tr}\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is also very light! We will see what is the meaning of the determinant of a matrix. This special number can tell us a lot of things about our matrix!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.11 The Determinant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We saw in [2.8](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.8-Singular-Value-Decomposition/) that a matrix can be seen as a linear transformation of the space. The determinant of a matrix $\\bs{A}$ is a number corresponding to the *multiplicative change* you get when you transform your space with this matrix (see a comment by Pete L. Clark in [this SE question](https://math.stackexchange.com/questions/668/whats-an-intuitive-way-to-think-about-the-determinant)). A negative determinant means that there is a change in orientation (and not just a rescaling and/or a rotation). As outlined by Nykamp DQ on [Math Insight](https://mathinsight.org/determinant_linear_transformation), a change in orientation means for instance in 2D that we take a plane out of these 2 dimensions, do some transformations and get back to the initial 2D space. Here is an example distinguishing between positive and negative determinant:\n", + "\n", + "\n", + "The determinant of a matrix can tell you a lot of things about the transformation associated with this matrix\n", + "\n", + "You can see that the second transformation can't be obtained through rotation and rescaling. Thus the sign can tell you the nature of the transformation associated with the matrix!\n", + "\n", + "In addition, the determinant also gives you the *amount* of transformation. If you take the *n*-dimensional unit cube and apply the matrix $\\bs{A}$ on it, the absolute value of the determinant corresponds to the area of the transformed figure. You might believe me more easily after the following example.\n", + "\n", + "### Example 1.\n", + "\n", + "To calculate the area of the shapes, we will use simple squares in 2 dimensions. The unit square area can be calculated with the Pythagorean theorem taking the two unit vectors.\n", + "\n", + "\n", + "The unit square area\n", + "\n", + "The lengths of $i$ and $j$ are $1$ thus the area of the unit square is $1$.\n", + "\n", + "Let's start by creating both vectors in Python:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + " \n", + "i = [0, 1]\n", + "j = [1, 0]\n", + "\n", + "plotVectors([i, j], [[blue], [orange]])\n", + "plt.xlim(-0.5, 3)\n", + "plt.ylim(-0.5, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will apply\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "to $i$ and $j$. You can notice that this matrix is special: it is diagonal. So it will only rescale our space. No rotation here. More precisely, it will rescale each dimension the same way because the diagonal values are identical. Let's create the matrix $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 0],\n", + " [0, 2]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 0], [0, 2]])\n", + "A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we will apply $\\bs{A}$ on our two unit vectors $i$ and $j$ and plot the resulting new vectors:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nUsn/AcPgudf36t92AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "new_i = A.dot(i)\n", + "new_j = A.dot(j)\n", + "plotVectors([new_i, new_j], [['#1190FF'], ['#FF9A13']])\n", + "plt.xlim(-0.5, 3)\n", + "plt.ylim(-0.5, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, we can see that the square corresponding to $i$ and $j$ didn't rotate but the lengths of $i$ and $j$ have doubled. We will now calculate the determinant of $\\bs{A}$ (you can go to the [Wikipedia article](https://en.wikipedia.org/wiki/Determinant) for more details about the calculation of the determinant):\n", + "\n", + "\n", + "The unit square transformed by the matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.det(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And yes, the transformation have multiplied the area of the unit square by 4. The lengths of $new_i$ and $new_j$ are $2$ (thus $2\\cdot2=4$)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Example 2.\n", + "\n", + "Let's see now an example of negative determinant.\n", + "\n", + "We will transform the unit square with the matrix:\n", + "\n", + "$$\n", + "\\bs{B}=\\begin{bmatrix}\n", + " -2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Its determinant is $-4$:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-4.0" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[-2, 0], [0, 2]])\n", + "np.linalg.det(B)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "new_i_1 = B.dot(i)\n", + "new_j_1 = B.dot(j)\n", + "plotVectors([new_i_1, new_j_1], [['#1190FF'], ['#FF9A13']])\n", + "plt.xlim(-3, 0.5)\n", + "plt.ylim(-0.5, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the matrices with determinant $2$ and $-2$ modified the area of the unit square the same way.\n", + "\n", + "\n", + "The unit square transformed by the matrix with a negative determinant\n", + "\n", + "The absolute value of the determinant shows that, as in the first example, the area of the new square is 4 times the area of the unit square. But this time, it was not just a rescaling but also a transformation. It is not obvious with only the unit vectors so let's transform some random points. We will use the matrix\n", + "\n", + "$$\n", + "\\bs{C}=\\begin{bmatrix}\n", + " -1 & 0\\\\\\\\\n", + " 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "that has a determinant equal to $-1$ for simplicity:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Some random points\n", + "points = np.array([[1, 3], [2, 2], [3, 1], [4, 7], [5, 4]])" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1.0" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = np.array([[-1, 0], [0, 1]])\n", + "np.linalg.det(C)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the determinant is $-1$, the area of the space will not be changed. However, since it is negative we will observe a transformation that we can't obtain through rotation:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nfx9yyjvKTvtQd/cg03elzP19yCnvKDvtQ93dg0zflbL290r5E5SV9iHv7kGm70kZ+3ul/AnKSvuQ\nd/cg0/ek6P29Uv5kykj7kJt76GN6Y8yYMebTxpj/MMb80BjzirKE+UDR+3ul/MmUkfYhN/fQP+mv\nAQ5Yay8FXgZ8oHhJ/lDk/v7+gzuU8l0oOu2V9L35InBD++MRYKFYOX5R5P7+S/d8C1DKd6LotA95\ndw99TG+tnbfWPmGMaQBfAt5Zjiw/KGp/v+PwTu7ac7dSvgfxtH/0cL6nVyHv7iFBkWeM2Qb8O/Ap\na+0/Fy/JH4ra3+tcvj/xtP/Kd+7P9b5D3t0DjPX6j8aYjcBtwJuttd9JeqfNZiOrrtxJo2nrsSb8\nHI5PLOT2Nblz+Wc2z+Xic5/rnel9+tm96sXnceudO7n1Bzv47Redw6kzq3O534Xj0Z9nbF1H8/Sp\n1Pfj0/dqEHqaHrgeWAfcYIx5F9ACXmqt7dmuzM7O5SQvH5rNRipNi09GB0L7Hn0kt6/ppp/eDMDv\nPvvlHDhQ/XX146T9PhXJyy7czqdvs3z2lnt5zUvOzeU+9z8SHbkdO7KQ+uv18XuV9Emop+mttW8D\n3paHoDriDu/zWuXFX5d/9obzvDO9j1xy/mZuuXMn371rFy+9cDtrpycz32fIu3vQOKcnee/vdS4/\nOGOrRnn15efl2uSHvLsHmb4n46vGWb1qMpek1/ouPZf/5vbcXrcPfXcPMn1fpsenckl6pXx6xsdG\nuSqn1+1D392DTN+XPPb3SvnsXHJ+Piu90Nd4INP3pTGRfX+vlM/O2Kp80j703T3I9H2ZHs+2v1fK\n50ceaa+kl+n7knV/r5TPjzzSPvTdPcj0fVm6Vl6K/b1SPn+ypn3ou3uQ6fuS5bV6pXz+ZE370Hf3\nINP3Je3175XyxZEl7XVOL9P3pTGR7vr3SvniyJL2au9l+r6k2d8r5YsnbdqHvrsHmb4vac7plfLF\nkzbtQ9/dg0zfl0H390r58hg07bW7j5DpEzDI/l4pXx6Dpr129xEyfQKS7u+V8uUzSNqruY+Q6ROQ\ndH+vlC+fQdJezX2ETJ+AJPt7pXx1JE17JX2ETJ+AJPt7pXx1JE177e4jZPoE9NvfK+WrJ0naa3cf\nIdMnoN9r9Ur56kmS9trdR8j0Cei1v1fK+0O/tNc5fYRMn4Be+3ulvD/0S3u19xEyfQK67e+V8v7R\nK+21u4+Q6RPQ7ZxeKe8fvdJeu/sImT4Bnfb3Snl/6ZT22t2fQKZPyMr9vVLeXzqlvXb3J5DpExLf\n3yvl/Wdl2qu5P4FMn5D4/l4p7z8r017N/QkSmd4Yc6ExJvH70w8jbn9/z8FfKOVrQjztd81Gp2ZK\n+gSmN8b8OfAxIPt7BNcY1+B//Ve3AEr5OhBP+5vveBDQ7h6SJf39wKuKFuI7bn9/6KnHlPI1wqX9\no3NRi6/D+wSmt9Z+DThWghavcUkPSvk64dLeofZeRV5iXNIr5euHS3uAGR3eM5LkLZiNMWcAX7DW\nXlS8JCFEkQyS9OnfoF0I4Q2Jkl4IMTzonF6IwJDphQgMmV6IwJDphQiMsbzv0BgzCrwX+A2i6e5f\nWGtvyftx0mCMeQbwQ2CDtfZoxVpmgM8CM8A48GfW2h9WpGUE+BBwAXAE+ENr7QNVaIlpGgP+CTgT\nmAD+2lr7L1VqchhjNgA/Bi631t5XtR4AY8zbgauJfpc+ZK39RLfbFpH0rwXGrLUvAF4JnFPAYwyM\nMaYB3Ej0S+0Dfwrcbq19IXAd8MEKtbwSmLTWXgxcT/SkXTXXAAestZcCLwM+ULEeYOnJ6CPAfNVa\nHMaYy4CL2j+/FwLbet2+CNNfCewyxnwT+CjgxbMzkZbr8eeH9V7gH9ofjwNPVqjlEuBfAay1dwLP\nq1CL44vADe2PR4CFCrXEuRH4MLC7aiExrgTuNsZ8HfgG8M1eN850eG+MeR3wJywf7swCT1prrzLG\nXAp8Ergsy+PkoGkn8Hlr7c/ah7KlskLTSPvP66y1/22M2QR8BnhL2bpizACPxT4/ZowZtdYer0qQ\ntXYelo7QvgS8syotDmPMtcB+a+23jTHvqFpPjPXAduAq4OlExn9GtxvnPs4xxnwe+GL7H+pgjNlj\nrd2c64MMruk+4GEiwz0fuLN9WF0pxpjnAJ8jOp//twp1/B3wA2vtl9uf77TWbq9Kj8MYsw34KvAB\na+2nPNDzPcA9ET4XsMDV1tr91akCY8zfED0Zva/9+U+I+oYDnW6fe5EH3EF0DvY1Y8wFwP8V8BgD\nYa09z31sjHkQuKJCOU7Hs4gOYV9trf1ZxXK+T5QSXzbGPB+oWg/GmI3AbcCbrbVeXMDFWrt0xNq+\nqMzrqzZ8mzuIjhTfZ4zZAqwBDna7cRGm/xjwYWPMD9qfv6GAx8iCO8SumncTvbrx/vYpxyFrbVXX\nLfgacIUx5vvtz6+rSEec64F1wA3GmHcR/dxeaq3t/Sb05eHNft1a+y1jzAuMMT8i+t1+k7W2qz5t\n74UIDI1zhAgMmV6IwJDphQgMmV6IwJDphQgMmV6IwJDphQgMmV6IwPh/iKfapT8YOGwAAAAASUVO\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "newPoints = points.dot(C)\n", + "\n", + "plt.figure()\n", + "plt.plot(points[:, 0], points[:, 1])\n", + "plt.plot(newPoints[:, 0], newPoints[:, 1])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can see that the transformation mirrored the initial shape.\n", + "\n", + "# Conclusion\n", + "\n", + "We have seen that the determinant of a matrix is a special value telling us a lot of things on the transformation corresponding to this matrix. Now hang on and go to the *last chapter* on the Principal Component Analysis (PCA)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "## Linear transformations\n", + "\n", + "- [Nykamp DQ, “Determinants and linear transformations.” From Math Insight](https://mathinsight.org/determinant_linear_transformation)\n", + "\n", + "- [Determinant intuition - SE](https://math.stackexchange.com/questions/668/whats-an-intuitive-way-to-think-about-the-determinant)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy determinant](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.det.html)\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.11 The Determinant/2.11 The Determinant.ipynb b/Chapters/2.11 The Determinant/2.11 The Determinant.ipynb new file mode 100644 index 0000000..99a827b --- /dev/null +++ b/Chapters/2.11 The Determinant/2.11 The Determinant.ipynb @@ -0,0 +1,475 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true, + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert} \n", + "\\DeclareMathOperator{\\Tr}{Tr}\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is also very light! We will see what is the meaning of the determinant of a matrix. This special number can tell us a lot of things about our matrix!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.11 The Determinant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We saw in [2.8](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.8-Singular-Value-Decomposition/) that a matrix can be seen as a linear transformation of the space. The determinant of a matrix $\\bs{A}$ is a number corresponding to the *multiplicative change* you get when you transform your space with this matrix (see a comment by Pete L. Clark in [this SE question](https://math.stackexchange.com/questions/668/whats-an-intuitive-way-to-think-about-the-determinant)). A negative determinant means that there is a change in orientation (and not just a rescaling and/or a rotation). As outlined by Nykamp DQ on [Math Insight](https://mathinsight.org/determinant_linear_transformation), a change in orientation means for instance in 2D that we take a plane out of these 2 dimensions, do some transformations and get back to the initial 2D space. Here is an example distinguishing between positive and negative determinant:\n", + "\n", + "\n", + "The determinant of a matrix can tell you a lot of things about the transformation associated with this matrix\n", + "\n", + "You can see that the second transformation can't be obtained through rotation and rescaling. Thus the sign can tell you the nature of the transformation associated with the matrix!\n", + "\n", + "In addition, the determinant also gives you the *amount* of transformation. If you take the *n*-dimensional unit cube and apply the matrix $\\bs{A}$ on it, the absolute value of the determinant corresponds to the area of the transformed figure. You might believe me more easily after the following example.\n", + "\n", + "### Example 1.\n", + "\n", + "To calculate the area of the shapes, we will use simple squares in 2 dimensions. The unit square area can be calculated with the Pythagorean theorem taking the two unit vectors.\n", + "\n", + "\n", + "The unit square area\n", + "\n", + "The lengths of $i$ and $j$ are $1$ thus the area of the unit square is $1$.\n", + "\n", + "Let's start by creating both vectors in Python:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + " \n", + "i = [0, 1]\n", + "j = [1, 0]\n", + "\n", + "plotVectors([i, j], [[blue], [orange]])\n", + "plt.xlim(-0.5, 3)\n", + "plt.ylim(-0.5, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will apply\n", + "\n", + "$$\n", + "\\bs{A}=\\begin{bmatrix}\n", + " 2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "to $i$ and $j$. You can notice that this matrix is special: it is diagonal. So it will only rescale our space. No rotation here. More precisely, it will rescale each dimension the same way because the diagonal values are identical. Let's create the matrix $\\bs{A}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 0],\n", + " [0, 2]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([[2, 0], [0, 2]])\n", + "A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we will apply $\\bs{A}$ on our two unit vectors $i$ and $j$ and plot the resulting new vectors:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nUsn/AcPgudf36t92AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "new_i = A.dot(i)\n", + "new_j = A.dot(j)\n", + "plotVectors([new_i, new_j], [['#1190FF'], ['#FF9A13']])\n", + "plt.xlim(-0.5, 3)\n", + "plt.ylim(-0.5, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, we can see that the square corresponding to $i$ and $j$ didn't rotate but the lengths of $i$ and $j$ have doubled. We will now calculate the determinant of $\\bs{A}$ (you can go to the [Wikipedia article](https://en.wikipedia.org/wiki/Determinant) for more details about the calculation of the determinant):\n", + "\n", + "\n", + "The unit square transformed by the matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linalg.det(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And yes, the transformation have multiplied the area of the unit square by 4. The lengths of $new_i$ and $new_j$ are $2$ (thus $2\\cdot2=4$)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Example 2.\n", + "\n", + "Let's see now an example of negative determinant.\n", + "\n", + "We will transform the unit square with the matrix:\n", + "\n", + "$$\n", + "\\bs{B}=\\begin{bmatrix}\n", + " -2 & 0\\\\\\\\\n", + " 0 & 2\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "Its determinant is $-4$:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-4.0" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([[-2, 0], [0, 2]])\n", + "np.linalg.det(B)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "new_i_1 = B.dot(i)\n", + "new_j_1 = B.dot(j)\n", + "plotVectors([new_i_1, new_j_1], [['#1190FF'], ['#FF9A13']])\n", + "plt.xlim(-3, 0.5)\n", + "plt.ylim(-0.5, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the matrices with determinant $2$ and $-2$ modified the area of the unit square the same way.\n", + "\n", + "\n", + "The unit square transformed by the matrix with a negative determinant\n", + "\n", + "The absolute value of the determinant shows that, as in the first example, the area of the new square is 4 times the area of the unit square. But this time, it was not just a rescaling but also a transformation. It is not obvious with only the unit vectors so let's transform some random points. We will use the matrix\n", + "\n", + "$$\n", + "\\bs{C}=\\begin{bmatrix}\n", + " -1 & 0\\\\\\\\\n", + " 0 & 1\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "that has a determinant equal to $-1$ for simplicity:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Some random points\n", + "points = np.array([[1, 3], [2, 2], [3, 1], [4, 7], [5, 4]])" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1.0" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = np.array([[-1, 0], [0, 1]])\n", + "np.linalg.det(C)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the determinant is $-1$, the area of the space will not be changed. However, since it is negative we will observe a transformation that we can't obtain through rotation:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nfx9yyjvKTvtQd/cg03elzP19yCnvKDvtQ93dg0zflbL290r5E5SV9iHv7kGm70kZ+3ul/AnKSvuQ\nd/cg0/ek6P29Uv5kykj7kJt76GN6Y8yYMebTxpj/MMb80BjzirKE+UDR+3ul/MmUkfYhN/fQP+mv\nAQ5Yay8FXgZ8oHhJ/lDk/v7+gzuU8l0oOu2V9L35InBD++MRYKFYOX5R5P7+S/d8C1DKd6LotA95\ndw99TG+tnbfWPmGMaQBfAt5Zjiw/KGp/v+PwTu7ac7dSvgfxtH/0cL6nVyHv7iFBkWeM2Qb8O/Ap\na+0/Fy/JH4ra3+tcvj/xtP/Kd+7P9b5D3t0DjPX6j8aYjcBtwJuttd9JeqfNZiOrrtxJo2nrsSb8\nHI5PLOT2Nblz+Wc2z+Xic5/rnel9+tm96sXnceudO7n1Bzv47Redw6kzq3O534Xj0Z9nbF1H8/Sp\n1Pfj0/dqEHqaHrgeWAfcYIx5F9ACXmqt7dmuzM7O5SQvH5rNRipNi09GB0L7Hn0kt6/ppp/eDMDv\nPvvlHDhQ/XX146T9PhXJyy7czqdvs3z2lnt5zUvOzeU+9z8SHbkdO7KQ+uv18XuV9Emop+mttW8D\n3paHoDriDu/zWuXFX5d/9obzvDO9j1xy/mZuuXMn371rFy+9cDtrpycz32fIu3vQOKcnee/vdS4/\nOGOrRnn15efl2uSHvLsHmb4n46vGWb1qMpek1/ouPZf/5vbcXrcPfXcPMn1fpsenckl6pXx6xsdG\nuSqn1+1D392DTN+XPPb3SvnsXHJ+Piu90Nd4INP3pTGRfX+vlM/O2Kp80j703T3I9H2ZHs+2v1fK\n50ceaa+kl+n7knV/r5TPjzzSPvTdPcj0fVm6Vl6K/b1SPn+ypn3ou3uQ6fuS5bV6pXz+ZE370Hf3\nINP3Je3175XyxZEl7XVOL9P3pTGR7vr3SvniyJL2au9l+r6k2d8r5YsnbdqHvrsHmb4vac7plfLF\nkzbtQ9/dg0zfl0H390r58hg07bW7j5DpEzDI/l4pXx6Dpr129xEyfQKS7u+V8uUzSNqruY+Q6ROQ\ndH+vlC+fQdJezX2ETJ+AJPt7pXx1JE17JX2ETJ+AJPt7pXx1JE177e4jZPoE9NvfK+WrJ0naa3cf\nIdMnoN9r9Ur56kmS9trdR8j0Cei1v1fK+0O/tNc5fYRMn4Be+3ulvD/0S3u19xEyfQK67e+V8v7R\nK+21u4+Q6RPQ7ZxeKe8fvdJeu/sImT4Bnfb3Snl/6ZT22t2fQKZPyMr9vVLeXzqlvXb3J5DpExLf\n3yvl/Wdl2qu5P4FMn5D4/l4p7z8r017N/QkSmd4Yc6ExJvH70w8jbn9/z8FfKOVrQjztd81Gp2ZK\n+gSmN8b8OfAxIPt7BNcY1+B//Ve3AEr5OhBP+5vveBDQ7h6SJf39wKuKFuI7bn9/6KnHlPI1wqX9\no3NRi6/D+wSmt9Z+DThWghavcUkPSvk64dLeofZeRV5iXNIr5euHS3uAGR3eM5LkLZiNMWcAX7DW\nXlS8JCFEkQyS9OnfoF0I4Q2Jkl4IMTzonF6IwJDphQgMmV6IwJDphQiMsbzv0BgzCrwX+A2i6e5f\nWGtvyftx0mCMeQbwQ2CDtfZoxVpmgM8CM8A48GfW2h9WpGUE+BBwAXAE+ENr7QNVaIlpGgP+CTgT\nmAD+2lr7L1VqchhjNgA/Bi631t5XtR4AY8zbgauJfpc+ZK39RLfbFpH0rwXGrLUvAF4JnFPAYwyM\nMaYB3Ej0S+0Dfwrcbq19IXAd8MEKtbwSmLTWXgxcT/SkXTXXAAestZcCLwM+ULEeYOnJ6CPAfNVa\nHMaYy4CL2j+/FwLbet2+CNNfCewyxnwT+CjgxbMzkZbr8eeH9V7gH9ofjwNPVqjlEuBfAay1dwLP\nq1CL44vADe2PR4CFCrXEuRH4MLC7aiExrgTuNsZ8HfgG8M1eN850eG+MeR3wJywf7swCT1prrzLG\nXAp8Ergsy+PkoGkn8Hlr7c/ah7KlskLTSPvP66y1/22M2QR8BnhL2bpizACPxT4/ZowZtdYer0qQ\ntXYelo7QvgS8syotDmPMtcB+a+23jTHvqFpPjPXAduAq4OlExn9GtxvnPs4xxnwe+GL7H+pgjNlj\nrd2c64MMruk+4GEiwz0fuLN9WF0pxpjnAJ8jOp//twp1/B3wA2vtl9uf77TWbq9Kj8MYsw34KvAB\na+2nPNDzPcA9ET4XsMDV1tr91akCY8zfED0Zva/9+U+I+oYDnW6fe5EH3EF0DvY1Y8wFwP8V8BgD\nYa09z31sjHkQuKJCOU7Hs4gOYV9trf1ZxXK+T5QSXzbGPB+oWg/GmI3AbcCbrbVeXMDFWrt0xNq+\nqMzrqzZ8mzuIjhTfZ4zZAqwBDna7cRGm/xjwYWPMD9qfv6GAx8iCO8SumncTvbrx/vYpxyFrbVXX\nLfgacIUx5vvtz6+rSEec64F1wA3GmHcR/dxeaq3t/Sb05eHNft1a+y1jzAuMMT8i+t1+k7W2qz5t\n74UIDI1zhAgMmV6IwJDphQgMmV6IwJDphQgMmV6IwJDphQgMmV6IwPh/iKfapT8YOGwAAAAASUVO\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "newPoints = points.dot(C)\n", + "\n", + "plt.figure()\n", + "plt.plot(points[:, 0], points[:, 1])\n", + "plt.plot(newPoints[:, 0], newPoints[:, 1])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can see that the transformation mirrored the initial shape.\n", + "\n", + "# Conclusion\n", + "\n", + "We have seen that the determinant of a matrix is a special value telling us a lot of things on the transformation corresponding to this matrix. Now hang on and go to the *last chapter* on the Principal Component Analysis (PCA)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "## Linear transformations\n", + "\n", + "- [Nykamp DQ, “Determinants and linear transformations.” From Math Insight](https://mathinsight.org/determinant_linear_transformation)\n", + "\n", + "- [Determinant intuition - SE](https://math.stackexchange.com/questions/668/whats-an-intuitive-way-to-think-about-the-determinant)\n", + "\n", + "## Numpy\n", + "\n", + "- [Numpy determinant](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.det.html)\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.11 The Determinant/images/positive-negative-determinant.png b/Chapters/2.11 The Determinant/images/positive-negative-determinant.png new file mode 100644 index 0000000..16e3195 Binary files /dev/null and b/Chapters/2.11 The Determinant/images/positive-negative-determinant.png differ diff --git a/Chapters/2.11 The Determinant/images/unit-square-area-transformed-1.png b/Chapters/2.11 The Determinant/images/unit-square-area-transformed-1.png new file mode 100644 index 0000000..df31bf8 Binary files /dev/null and b/Chapters/2.11 The Determinant/images/unit-square-area-transformed-1.png differ diff --git a/Chapters/2.11 The Determinant/images/unit-square-area-transformed.png b/Chapters/2.11 The Determinant/images/unit-square-area-transformed.png new file mode 100644 index 0000000..162dcba Binary files /dev/null and b/Chapters/2.11 The Determinant/images/unit-square-area-transformed.png differ diff --git a/Chapters/2.11 The Determinant/images/unit-square-area.png b/Chapters/2.11 The Determinant/images/unit-square-area.png new file mode 100644 index 0000000..c867ff7 Binary files /dev/null and b/Chapters/2.11 The Determinant/images/unit-square-area.png differ diff --git a/Chapters/2.11 The Determinant/test_svd.jpg b/Chapters/2.11 The Determinant/test_svd.jpg new file mode 100755 index 0000000..3e70660 Binary files /dev/null and b/Chapters/2.11 The Determinant/test_svd.jpg differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/.ipynb_checkpoints/2.12 Example - Principal Components Analysis-checkpoint.ipynb b/Chapters/2.12 Example - Principal Components Analysis/.ipynb_checkpoints/2.12 Example - Principal Components Analysis-checkpoint.ipynb new file mode 100644 index 0000000..70e98fe --- /dev/null +++ b/Chapters/2.12 Example - Principal Components Analysis/.ipynb_checkpoints/2.12 Example - Principal Components Analysis-checkpoint.ipynb @@ -0,0 +1,1097 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert} \n", + "\\DeclareMathOperator{\\Tr}{Tr}\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\argmin[1]{\\underset{\\bs{#1}}{\\arg\\min}}\n", + "\\newcommand\\argmax[1]{\\underset{\\bs{#1}}{\\arg\\max}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is the last chapter of this series on linear algebra! It is about Principal Components Analysis. We will use some knowledge that we acquired along the preceding chapters of the series to understand this important data analysis tool! Feel free to check out the preceding chapters!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.12 Example - Principal Components Analysis\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "Dimensions are a crucial topic in data science. The dimensions are all the features of the dataset. For instance, if you are looking at a dataset containing pieces of music, dimensions could be the genre, the length of the piece, the number of instruments, the presence of a singer etc. You can imagine all these dimensions as different columns. When there is only two dimensions, it is very convenient to plot: you can use the $x$- and $y$-axis. Add color and you can represent a third dimension. It is similar if you have tens or hundereds of dimensions, it will just be harder to visualize it.\n", + "\n", + "When you have that many dimensions it happens that some of them are correlated. For instance, we can reasonably think that the genre dimension will correlate with the instruments dimensions in our previous example. One way to reduce dimensionality is simply to keep only some of them. The problem is that you loose good information. It would be nice to have a way to reduce these dimensions while keeping all the information present in the data set.\n", + "\n", + "The aim of principal components analysis (PCA) is generaly to reduce the number of dimensions of a dataset where dimensions are not completly decorelated. PCA provides us with a new set of dimensions, the principal components (PC). They are ordered: the first PC is the dimension having the largest variance. In addition, each PC is orthogonal to the preceding one. Remember that orthogonal vectors means that their dot product is equal to $0$ (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)). This means that each PC is decorelated to the preceding one. It is way better than feature selection where you loose a lot of information.\n", + "\n", + "### Example 1.\n", + "\n", + "Unit vectors are an example of orthogonal vectors:\n", + "\n", + "\n", + "Orthogonal vectors\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Describing the problem\n", + "\n", + "The problem can be expressed as finding a function that converts a set of data points from $\\mathbb{R}^n$ to $\\mathbb{R}^l$. This means that we change the number of dimensions of our dataset. We also need a function that can decode back from the transformed dataset to the initial one:\n", + "\n", + "\n", + "Principal components analysis as a change of coordinate system\n", + "\n", + "The first step is to understand the shape of the data. $x^{(i)}$ is one data point containing $n$ dimensions. Let's have $m$ data points organized as column vectors (one column per point):\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x^{(1)} & x^{(2)} & \\cdots & x^{(m)}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "If we deploy the $n$ dimensions of our data points we will have:\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1^{(1)} & x_1^{(2)} & \\cdots & x_1^{(m)}\\\\\\\\\n", + " x_2^{(1)} & x_2^{(2)} & \\cdots & x_2^{(m)}\\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots\\\\\\\\\n", + " x_n^{(1)} & x_n^{(2)} & \\cdots & x_n^{(m)}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can also write:\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\\\\\\\\\n", + " \\cdots\\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$c$ will have the shape:\n", + "\n", + "$$\n", + "\\bs{c}=\n", + "\\begin{bmatrix}\n", + " c_1\\\\\\\\\n", + " c_2\\\\\\\\\n", + " \\cdots\\\\\\\\\n", + " c_l\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Adding some constraints: the decoding function\n", + "\n", + "The encoding function $f(\\bs{x})$ transforms $\\bs{x}$ into $\\bs{c}$ and the decoding function transforms back $\\bs{c}$ into an approximation of $\\bs{x}$. To keep things simple, PCA will respect some constraints:\n", + "\n", + "### Constraint 1.\n", + "\n", + "The decoding function has to be a simple matrix multiplication:\n", + "\n", + "$$\n", + "g(\\bs{c})=\\bs{Dc}\n", + "$$\n", + "\n", + "By applying the matrix $\\bs{D}$ to the dataset from the new coordinates system we should get back to the initial coordinate system.\n", + "\n", + "### Constraint 2.\n", + "\n", + "The columns of $\\bs{D}$ must be orthogonal (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)).\n", + "\n", + "### Constraint 3.\n", + "\n", + "The columns of $\\bs{D}$ must have unit norm (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/))." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding the encoding function\n", + "\n", + "Important: For now we will consider only **one data point**. Thus we will have the following dimensions for these matrices (note that $\\bs{x}$ and $\\bs{c}$ are column vectors):\n", + "\n", + "\n", + "The decoding function\n", + "\n", + "We want a decoding function which is a simple matrix multiplication. For that reason, we have $g(\\bs{c})=\\bs{Dc}$. We will then find the encoding function from the decoding function. We want to minimize the error between the decoded data point and the actual data point. With our previous notation, this means reducing the distance between $\\bs{x}$ and $g(\\bs{c})$. As an indicator of this distance, we will use the squared $L^2$ norm (see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)):\n", + "\n", + "$$\n", + "\\norm{\\bs{x} - g(\\bs{c})}_2^2\n", + "$$\n", + "\n", + "This is what we want to minimize. Let's call $\\bs{c}^*$ the optimal $\\bs{c}$. Mathematically it can be written:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} \\norm{\\bs{x} - g(\\bs{c})}_2^2\n", + "$$\n", + "\n", + "This means that we want to find the values of the vector $\\bs{c}$ such that $\\norm{\\bs{x} - g(\\bs{c})}_2^2$ is as small as possible.\n", + "\n", + "If you have a look back to [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/) you can see that the squared $L^2$ norm can be expressed as:\n", + "\n", + "$$\n", + "\\norm{\\bs{y}}_2^2 = \\bs{y}^\\text{T}\\bs{y}\n", + "$$\n", + "\n", + "We have named the variable $\\bs{y}$ to avoid confusion with our $\\bs{x}$. Here $\\bs{y}=\\bs{x} - g(\\bs{c})$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Thus the equation that we want to minimize becomes:\n", + "\n", + "$$\n", + "(\\bs{x} - g(\\bs{c}))^\\text{T}(\\bs{x} - g(\\bs{c}))\n", + "$$\n", + "\n", + "Since the transpose respects addition we have:\n", + "\n", + "$$\n", + "(\\bs{x}^\\text{T} - g(\\bs{c})^\\text{T})(\\bs{x} - g(\\bs{c}))\n", + "$$\n", + "\n", + "By the distributive property (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)) we can develop:\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}x} - \\bs{x}^\\text{T}g(\\bs{c}) - g(\\bs{c})^\\text{T}\\bs{x} + g(\\bs{c})^\\text{T}g(\\bs{c})\n", + "$$\n", + "\n", + "The commutative property (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)) tells us that $\n", + "\\bs{x^\\text{T}y} = \\bs{y^\\text{T}x}\n", + "$. We can use that in the previous equation: we have $\n", + "\\bs{x}^\\text{T}g(\\bs{c}) = g(\\bs{c})^\\text{T}\\bs{x}\n", + "$. So the equation becomes:\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}x} -2\\bs{x}^\\text{T}g(\\bs{c}) + g(\\bs{c})^\\text{T}g(\\bs{c})\n", + "$$\n", + "\n", + "The first term $\\bs{x^\\text{T}x}$ does not depends on $\\bs{c}$ and since we want to minimize the function according to $\\bs{c}$ we can just get off this term. We simplify to:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}g(\\bs{c}) + g(\\bs{c})^\\text{T}g(\\bs{c})\n", + "$$\n", + "\n", + "Since $g(\\bs{c})=\\bs{Dc}$:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + (\\bs{Dc})^\\text{T}\\bs{Dc}\n", + "$$\n", + "\n", + "With $(\\bs{Dc})^\\text{T}=\\bs{c}^\\text{T}\\bs{D}^\\text{T}$ (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)), we have:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{D}^\\text{T}\\bs{Dc}\n", + "$$\n", + "\n", + "As we saw in [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/), $\\bs{D}^\\text{T}\\bs{D}=\\bs{I}_l$ because $\\bs{D}$ is orthogonal (actually, it is [semi-orthogonal](https://en.wikipedia.org/wiki/Semi-orthogonal_matrix) if $n \\neq l$) and their columns have unit norm. We can replace in the equation:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{I}_l\\bs{c}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Minimizing the function\n", + "\n", + "So far so good! Now the goal is to find the minimum of the function $- 2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c}$. One widely used way of doing that is to use the **gradient descent** algorithm. It is not the focus of this chapter but we will say a word about it (see [4.3](http://www.deeplearningbook.org/contents/numerical.html) of the Deep Learning Book for more details). The main idea is that the sign of the derivative of the function at a specific value of $x$ tells you if you need to increase or decrease $x$ to reach the minimum. When the slope is near $0$, the minimum should have been reached.\n", + "\n", + "\n", + "Gradient descent\n", + "\n", + "However, functions with local minima can trouble the descent:\n", + "\n", + "\n", + "Gradient descent can get stuck in local minima\n", + "\n", + "These examples are in 2 dimensions but the principle stands for higher dimensional functions. The gradient is a vector containing the partial derivatives of all dimensions. Its mathematical notation is $\\nabla_xf(\\bs{x})$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculating the gradient of the function\n", + "\n", + "Here we want to minimize through each dimension of $\\bs{c}$. We are looking for a slope of $0$. The equation is:\n", + "\n", + "$$\n", + "\\nabla_c(-2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c})=0\n", + "$$\n", + "\n", + "Let's take these terms separately to calculate the derivative according to $\\bs{c}$. \n", + "\n", + "$$\n", + "\\frac{d(-2\\bs{x}^\\text{T}\\bs{Dc})}{d\\bs{c}} = -2\\bs{x}^\\text{T}\\bs{D}\n", + "$$\n", + "\n", + "The second term is $\\bs{c}^\\text{T}\\bs{c}$. We can develop the vector $\\bs{c}$ and calculate the derivative for each element:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\frac{d(\\bs{c}\\text{T}\\bs{c})}{d\\bs{c}} &=\n", + "\\left(\\frac{d(\\bs{c}_1^2 + \\bs{c}_2^2 + \\cdots + \\bs{c}_l^2)}{d\\bs{c}_1},\n", + "\\frac{d(\\bs{c}_1^2 + \\bs{c}_2^2 + \\cdots + \\bs{c}_l^2)}{d\\bs{c}_2},\n", + "\\cdots,\n", + "\\frac{d(\\bs{c}_1^2 + \\bs{c}_2^2 + \\cdots + \\bs{c}_l^2)}{d\\bs{c}_l}\\right) \\\\\\\\\n", + "&=(2\\bs{c}_1, 2\\bs{c}_2, \\cdots, 2\\bs{c}_l)\\\\\\\\\n", + "&=2(\\bs{c}_1, \\bs{c}_2, \\cdots, \\bs{c}_l)\\\\\\\\\n", + "&=2\\bs{c}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So we can progress in our derivatives:\n", + "\n", + "$$\n", + "\\nabla_c(-2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c})=0\\\\\\\\\n", + "-2\\bs{x}^\\text{T}\\bs{D} + 2\\bs{c}=0\\\\\\\\\n", + "-2\\bs{D}^\\text{T}\\bs{x} + 2\\bs{c}=0\\\\\\\\\n", + "\\bs{c}=\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "Great! We found the encoding function! Here are its dimensions:\n", + "\n", + "\n", + "The encoding function\n", + "\n", + "To go back from $\\bs{c}$ to $\\bs{x}$ we use $g(\\bs{c})=\\bs{Dc}$:\n", + "\n", + "$$\n", + "r(\\bs{x}) = g(f(\\bs{x})=\\bs{D}\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "\n", + "The reconstruction function" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding $\\bs{D}$\n", + "\n", + "The next step is to find the matrix $\\bs{D}$. Recall that the purpose of the PCA is to change the coordinate system in order to maximize the variance along the first dimensions of the projected space. This is equivalent to minimizing the error between data points and their reconstruction ([cf here](https://stats.stackexchange.com/questions/32174/pca-objective-function-what-is-the-connection-between-maximizing-variance-and-m)). See bellow the covariance matrix to have more details.\n", + "\n", + "\n", + " Maximizing the variance corresponds to minimizing the error of the reconstruction.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The Frobenius norm\n", + "\n", + "Since we have to take all points into account (the same matrix $\\bs{D}$ will be used for all points) we will use the Frobenius norm of the errors (see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)) which is the equivalent of the $L^2$ norm for matrices. Here the formula of the Frobenius norm:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\sum_{i,j}A^2_{i,j}}\n", + "$$\n", + "\n", + "It is like if you unroll the matrix to end up with a one dimensional vector and that you take the $L^2$ norm of this vector.\n", + "\n", + "We will call $\\bs{D}^*$ the optimal $\\bs{D}$ (in the sense that the error is as small as possible). We have:\n", + "\n", + "$$\n", + "\\bs{D}^* = \\underset{\\bs{D}}{\\arg\\min} \\sqrt{\\sum_{i,j}(x_j^{(i)}-r(\\bs{x}^{(i)})_j})^2\n", + "$$\n", + "\n", + "With the constraint that $\\bs{D}^\\text{T}\\bs{D}=\\bs{I}_l$ because we have chosen the constraint of having the columns of $\\bs{D}$ orthogonal." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The first principal component\n", + "\n", + "We will start to find only the first principal component (PC). For that reason, we will have $l=1$. So the matrix $\\bs{D}$ will have the shape $(n \\times 1)$: it is a simple column vector. Since it is a vector we will call it $\\bs{d}$:\n", + "\n", + "\n", + "The first principal component\n", + "\n", + "We can therefore remove the sum over $j$ and the square root since we will take the squared $L^2$ norm:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{(\\bs{x}^{(i)}-r(\\bs{x}^{(i)}))}_2^2\n", + "$$\n", + "\n", + "\n", + "We have also seen that:\n", + "\n", + "$$\n", + "r(\\bs{x})=\\bs{D}\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "Since we are looking only for the first PC:\n", + "\n", + "$$\n", + "r(\\bs{x})=\\bs{d}\\bs{d}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "We can plug $r(\\bs{x})$ into the equation:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{\\bs{x}^{(i)}-\\bs{dd}^\\text{T}\\bs{x}^{(i)}}_2^2\n", + "$$\n", + "\n", + "Because of the constraint 3. (the columns of $\\bs{D}$ have unit norms) we have $\\norm{\\bs{d}}_2 = 1$. $\\bs{d}$ is one of the columns of $\\bs{D}$ and thus has a unit norm.\n", + "\n", + "\n", + "Instead of using the sum along the $m$ data points $\\bs{x}$ we can have the matrix $\\bs{X}$ which gather all the observations:\n", + "\n", + "$$\n", + "\\bs{X} = \\begin{bmatrix}\n", + " \\bs{x}^{(1)\\text{T}}\\\\\\\\\n", + " \\bs{x}^{(2)\\text{T}}\\\\\\\\\n", + " \\cdots\\\\\\\\\n", + " \\bs{x}^{(m)\\text{T}}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " \\bs{x}_1^{(1)} & \\bs{x}_2^{(1)} & \\cdots & \\bs{x}_n^{(1)}\\\\\\\\\n", + " \\bs{x}_1^{(2)} & \\bs{x}_2^{(2)} & \\cdots & \\bs{x}_n^{(2)}\\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots\\\\\\\\\n", + " \\bs{x}_0^{(m)} & \\bs{x}_1^{(m)} & \\cdots & \\bs{x}_n^{(m)}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We want $\\bs{x}^{(i)\\text{T}}$ instead of $\\bs{x}^{(i)}$ in our expression of $\\bs{d}^*$. We can transpose the content of the norm:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{(\\bs{x}^{(i)}-\\bs{dd}^\\text{T}\\bs{x}^{(i)})^\\text{T}}_2^2\\\\\\\\\n", + "&=\\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{\\bs{x}^{(i)\\text{T}}-\\bs{x}^{(i)\\text{T}}\\bs{dd}^\\text{T}}_2^2\\\\\\\\\n", + "\\end{align*}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\norm{\\bs{X}-\\bs{X}\\bs{dd}^\\text{T}}_\\text{F}^2\n", + "$$\n", + "\n", + "with the constraint that $\\bs{dd}^\\text{T}=1$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Using the Trace operator\n", + "\n", + "We will now use the Trace operator (see [2.10](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.10-The-Trace-Operator/)) to simplify the equation to minimize. Recall that:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\Tr({\\bs{AA}^T})}\n", + "$$\n", + "\n", + "So here $\\bs{A}=\\bs{X}-\\bs{X}\\bs{dd}^\\text{T}$. So we have:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\Tr{((\\bs{X}-\\bs{Xdd}^\\text{T})}(\\bs{X}-\\bs{Xdd}^\\text{T})^\\text{T})\n", + "$$\n", + "\n", + "Since we can cycle the order of the matrices in a Trace (see [2.10](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.10-The-Trace-Operator/)) we can write:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\argmin{d} \\Tr{((\\bs{X}-\\bs{Xdd}^\\text{T})^\\text{T}}(\\bs{X}-\\bs{Xdd}^\\text{T}))\\\\\\\\\n", + "&=\\argmin{d} \\Tr{((\\bs{X}^\\text{T}-(\\bs{Xdd}^\\text{T})^\\text{T})}(\\bs{X}-\\bs{Xdd}^\\text{T}))\n", + "\\end{align*}\n", + "$$\n", + "\n", + "And $(\\bs{Xdd}^\\text{T})^\\text{T}=(\\bs{d}^\\text{T})^\\text{T}\\bs{d}^\\text{T}\\bs{X}^\\text{T}=\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}$. Let's plug that into our equation:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\argmin{d} \\Tr{(\\bs{X}^\\text{T}-\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T})}(\\bs{X}-\\bs{Xdd}^\\text{T}))\\\\\\\\\n", + "&= \\argmin{d} \\Tr{(\\bs{X}^\\text{T}\\bs{X}-\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T} -\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X} +\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T}})\\\\\\\\\n", + "&= \\argmin{d} \\Tr{(\\bs{X}^\\text{T}\\bs{X})} - \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "- \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X})} + \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "We can remove the first term that not depends on $d$:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmin{d} - \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "- \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X})} + \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "$$\n", + "\n", + "Still because of the cycling property of a trace, we have\n", + "\n", + "$$\n", + "\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})} = \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X})}\n", + "$$\n", + "\n", + "We can simplify to:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmin{d} -2\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + " + \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "$$\n", + "\n", + "and then\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmin{d} -2\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + " + \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T}\\bs{d}\\bs{d}^\\text{T})}\n", + "$$\n", + "\n", + "Because of the constraint $\\bs{dd}^\\text{T}=1$:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\argmin{d} -2\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + " + \\Tr{(\\bs{X}^\\text{T}\\bs{Xd}\\bs{d}^\\text{T})}\\textrm{ subject to }\\bs{dd}^\\text{T}=1\\\\\\\\\n", + "&= \\argmin{d} -\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\\textrm{ subject to }\\bs{dd}^\\text{T}=1\\\\\\\\\n", + "&=\\argmax{d} \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\\textrm{ subject to }\\bs{dd}^\\text{T}=1\n", + "\\end{align*}\n", + "$$\n", + "\n", + "and with the cycling property:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmax{d} \\Tr{(\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xd})} \\textrm{ subject to }\\bs{dd}^\\text{T}=1\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Eigendecomposition\n", + "\n", + "We will see that we can find the maximum of the function by calculating the eigenvectors of $\\bs{X^\\text{T}X}$.\n", + "\n", + "\n", + "### Covariance matrix\n", + "\n", + "As we wrote above, the optimization problem of maximizing the variance of the components and minimizing the error between the reconstructed and the actual data are equivalent. Actually, if you look at the formula of $\\bs{d}$ you can see that there is the term $\\bs{X^\\text{T}X}$ in the middle.\n", + "\n", + "If we have centered our data around 0 (see bellow for more details about centering), $\\bs{X^\\text{T}X}$ is the covariance matrix (see [this Quora question](https://www.quora.com/Why-do-we-need-to-center-the-data-for-Principle-Components-Analysis)).\n", + "\n", + "The covariance matrix is a $n$ by $n$ matrix ($n$ being the number of dimensions). Its diagonal is the variance of the corresponding dimensions and the other cells are the covariance between the two corresponding dimensions (the amount of redundancy).\n", + "\n", + "This means that the largest covariance we have between two dimensions the more redundancy exists between these dimensions. This also means that the best-fit line is associated with small errors if the covariance is hight. To maximize the variance and minimize the covariance (in order to decorrelate the dimensions) means that the ideal covariance matrix is a diagonal matrix (non-zero values in the diagonal only). Therefore the diagonalization of the covariance matrix will give us the optimal solution." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Example 2.\n", + "\n", + "As an example we will create again a 2D data set (like in [2.9](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.9-The-Moore-Penrose-Pseudoinverse/)). To see the effect of the PCA we will introduce some correlations between the two dimensions. Let's create 100 data points with 2 dimensions:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(100, 2)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.random.seed(123)\n", + "x = 5*np.random.rand(100)\n", + "y = 2*x + 1 + np.random.randn(100)\n", + "\n", + "x = x.reshape(100, 1)\n", + "y = y.reshape(100, 1)\n", + "\n", + "X = np.hstack([x, y])\n", + "X.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's plot the data:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(X[:,0], X[:,1], '*')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Highly correlated data means that the dimensions are redundant. It is possible to predict one from the other without losing much information.\n", + "\n", + "The first processing we will do is to center the data around 0. PCA is a regression model without intercept (see [here](https://stats.stackexchange.com/questions/22329/how-does-centering-the-data-get-rid-of-the-intercept-in-regression-and-pca)) and the first component is thus necessarly crossing the origin.\n", + "\n", + "Here is a simple function that substract the mean of each column to each data point of this column. It can be used to center the data points around 0." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def centerData(X):\n", + " X = X.copy()\n", + " X -= np.mean(X, axis = 0)\n", + " return X" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So let's center our data $\\bs{X}$ around 0 for both dimensions:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAEBCAYAAABi0PBzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAG1lJREFUeJzt3X2QXFWZx/Fv97zlPSSTIRAEBxQO5gVMIm4CvgRZFl2NSJRSLKE06oawWG6Jq5a4q26VmhBKazVRrPKd3aUst7Ib0I1obQhCAguYIIzAIUKC0UnCZJJMMjNkXnv/6Omxp+d2973dp/ve2/37/JNMT/e9z0zST5+X55yTSKVSiIj4lQw7ABGJFyUNEQlESUNEAlHSEJFAlDREJBAlDREJRElDRAJR0hCRQJQ0RCQQJQ0RCURJQ0QCaQw7AKAFuAw4BIyEHItIPWkAzgYeBwb8vigKSeMy4KGwgxCpY28GHvb75CgkjUMAx4/3MTpanRW3ra0z6O7urcq9ShWHGCEeccYhRqh+nMlkgjlzpsPYe9CvKCSNEYDR0VTVkkbmflEXhxghHnHGIUYILc5AwwIaCBWRQJQ0RCQQJQ0RCURJQ0QCUdIQiYETvQNs+Pff0tPru5yiYpQ0RGLgvl372Xewh3t37c/7nGollihMuYpIHus27WRoZHT86wf2dvLA3k6aGpJ89x9XTXhuJrH8bOcfONpzmvXXLmb2jBbnMSlpiETYxvUr+emOP7D3+S4Gh0dpbkyy7KI23v+2144/Jzex7O44AsCnNu/i+597m/OY1D2RuhalsQIvZ8xoYWpzA0PDozQ1JBkaHmVqS8OEFsTG9Sv5q4XzJ702BazdsIN1m3Y6jUktDalr2WMFN15zcdjheDrZP8iqpefw1tcv4MEnO+npm5jgMokFIEE6WQCerRIXlDSkLgUZKwjbrWsuGf/7jdcYz+ec7B/kyqXncLJ/kN/aLhIJPFslLihpSF3yM1YQJ5nEsnnrU1xZoFXigpKG1CU/YwVx5KdVUi4lDalbxcYKxJuShtStanwq1yJNuYpIIEoaIhKIkoZIDahmkZqShkgN8LOgzRUNhIrEWBhFamppiMRYZt1Jc2P6rdzcmGTFwvncsX5lxe6ppCFSRa7HHsIoUlPSEKmiSow9ZIrUbr9pOauWnkNP36Cza3vRmIZIFVRy7KHaRWrOWxrGmC8aY1LGmMWury0SRKYrcPzk6ZJe53L6Moyxh0pxmjSMMcuAFcBLLq8rUopMV+CeX9uSXueyC1FLC+ScdU+MMS3AFuAGYKer64oEldsV2L77ANt3HyjaFaj09GWtLJBLpFJuzo40xmwE/mit3WKMOQC8y1rb4eOl7UDlK1Kkbhw7eZof3NvBox2HGRgaoaWpgRVLzuajqxcxZ9YU56+rAecDB/w+2UlLwxizEngD8LlSr9Hd3Vu1w2/b2mbS1XWqKvcqVRxihOjGmUilGBwaoakhyeDwCMnUKMMDQ3R1Dfl/3ZD/17lQ7d9lMpmgtXVG4Ne56p68FXgdsN8YA/Aq4H5jzEestb9ydA8R37K7Ao/ZLg4f7Q38ujh3ISrJWfckWyndE7U0JopDjBCPOKMY44neAe7a1jHhbJIQWxqBuicq7hIJwV8ONnoh0kcoeKlIcZe1tr0S1xWJu8kHGx0G4LYtu9h257VhhRWIWhoiVZTvYKPRFKy+bdv4wUZRPsRJSUPEsUJv+EyRVwJIJP7yeHNjkrcue9V4hWg198cISmtPRBwrdmpbZobmVP8gT9guEqQPNpo2pZHPfOeRyB/iVJHZk4Da0ezJJHGIEeIRZ7VizB2vyMj3ht+89SlmT28Zn949PTzK9W+9IO8hTq5LzkudPVFLQ8SRoKe25a5OzSS3qK9RUdIQccTVorSoF5gpaYg45OINH/VDnJQ0RByK+hveBU25ikggShoiEoiShkRSlCsi652ShkRSORWRYSScYvespSSopCGRsm7TTtZu2MEDeztJka6IXLthx/iaDD/CKMEuds8ol4UHpYrQiIpDjOA+zhO9AyVXROatyGxM8t1Pr3IWo697jlWBBqkS1X4aIiUop0Aq3zEB37/96orFW+xoglo6uiBDdRoSOaUWSOVLOHNmTanYHp/FklwtHV2QoaQhkVNOgVQYJdjF7hn1svCgNKYRUXGIEeIRZxxiBI1piEiNUtIQkUCUNCQSsoufKlkIVUtFVmFR0pBIyC5+qmQhVC0VWYVFsycSKq9Dl7P/7mp/zEof7lxP1NKQUOUWPyUTf9ml22UhVC0WWYVFSUNClVv8NJqCVArnhVC1WGQVFlenxrcCdwOvAQaBfcA6a22Xi+tLbcsuftq89Skgwa1rljgvhMrcZ9lF8/jez5/laM9pZ9euJ67GNFLAHdbanQDGmE3ABuCjjq4vNSy7AvSO9VeM/z1oNajXocpe97n7/uc42TfIvNlTSoy4vDjizknSsNYeA3ZmPfQosN7FtUX8KnZIUbUGQ4vFEXfOy8iNMUngV8C91tpv+nhJO6D5LynZms/ex9Cw95L4rRtXj3997ORpfnBvB492HGZgaIREAlYsPpv1ay5hzqzyWx1+44ig0A9L+hbQC2wO8iKtPZkoDjFCNOLceHP+Q4q6uk5NiDGRSjE4NAKkB1xf6uxheGDIySrY3DiSifTBzpdd3ObrdxTi2pNgr3MZhDHmTuBC4P3W2skpV6REfg5V9jMz8uCT6R3BMjq7+wPvDJZPJo7BsdZG5jNwd8cRZ/eIAmctDWPMV4HlwDuttarRFScyg4rzZk/xdahyoeXn6zbtxKstm0jgrF7jZP8gVyw+i57+QZ7Zf4zRFEWPZ4wbJ2MaxphFQAfwPPDK2MP7rbXX+Xh5O1oaP0kcYoR0nPv2Hy17tiDfjMNHN+zwfKMXG7zMvt7c1hl85QeP8sG/vojt//dHHn/2CNn/1S5fPJ+PvWtRSXHn85NfPseDT3bS2JBkeGSUVUsXFB0UjcvSeFezJ78HEi6uJfHjYrYg9xr59tYEWLFwft5P7UyyaJs9dfx6U6Y2s+9gDw8++WemNjcwmkpXnqZScHbrdE4Pjnheo5wkWGsb72TTJjwRFYcYg2yaG/QajQ0Jlpsz2WNfZmgk/f8iQbog6MoCn9of27iDYv+Nkgn45w9fNv5mzq4TgXQdx869nb5aBy7VVUtD6tPG9SvZtusAjzx9aNKsRZBr5Jv52Pbw/vGEAbDctDFzWvOkT+0TvQPctnmXZzcGGJ/FaG5MsviCVk70nmb29OZJxWNa1OaP1p5Iyc6Y0cLUKU1lrefIN/Pxme88ws4nOyc89wnbxcNPHZrUMrhvbJn7mXOmet4j0/IYGh7lcHcf+ztPeS6N16I2f9TSkLL09A6U3Xf36v8XaoFk5LYMXj7+itflmdLcwNDQCCOp9BQreLcitKjNHyUNKcvnP/zG8X540LUiGfl2H8+8gRuTiXSxVJIJb+DcxJJIQNsZUzlr7jSeeqE7vcQ+BVe+4VyuXnZO0SQEtT2A6YqShlRFKTMSmTfwqf5BnrBdPH/wxITv57YMhkdGWdQ+h56+Qa7MeuOfODXguxVRzvEJ9UJJQ6qilGnZp184NqH7cbRngLUbdkzoUni1DHLf+JlZCbUi3NCUa0TFIUYoHmc507LlnOsaJMaoiMuUq2ZPpKLKmZHQwGQ0KWlIRRV74xc7UuBk/yCXLz6LBfOmcfnis+jpG6xm+OJBSUMqLjOWcPtNy1m19JwJb/xiRwrcuuYSmpuS/PFIL81NyUk1GlJ9GtOIqGrE6GKNRalx+hnrKLdMPfPzfWHtCoYHKnNqvEsa05DIC/PgID9jHeVWaGZ+vnt+bd3/AHVMU651KAprLPwMcpY6EJr7823ffYDtuw9oDYkjShp1yE+JdjX4qZsopbYi9+draWpg6YXzamYTnLApadShqExl+qm+LKVCM/fnGxwe0VStQxrTqFOFZjTyKeXE9bBOac/++d6xsl1TtQ5p9iSiohhj7uY0J3oH+P7/PMfH/vbivJ/iYW1oky2Kv0svcZk9UfdEiso3cJpMpHfSyl1P4rUpjja0qR3qntSpIN2G3KnPjMxhzQ/s7ZywRf99u/aTIr0pjja0qT1KGnUqSI1G7sBiAu+EkEqlWLthBw/sTe+49fLxV8bPANG6kdqh7kmdKbVGI3fq8+kXu9NJpPEvsy933HL5pE1xzjxjKjdeY/it7dJS9BqhpFFnSq3RyJ363Lz1KZZc0Mp1b7uQ/9qxj56+yRvdDI+MsrB9Dgvb57Kwfa6v+Gr9xPVaoKRRZ1zVaGSSSFvbzAn1E36KsQolhlo/cb0WKGnUoUruYOWnGMsrMUShtF38cXmW60XAj4FWoBu4yVq7z9X1xZ2w9sEslBiiUtouxbmcPbkL2GKtvQjYAnzX4bWlwqpRuVlo1WpUStulOCdJwxhzJrAMuGfsoXuAZcaYNhfXl8qrxjL5YomhlNJ2qT5Xp8YvB35irV2U9dgzwIestXuKvLwdqP6GDgLAms/ex9Cwx0Y3jUm2blzt/H5f/dFjzJnZwttXtvPLRw5w/NQAn//wG53fRwKJZxm51p5MVK0YN96cfyzBz/2Dxvnxd75u/O/ve8sFABX/OePw7w2hrj0J9jpH9z8InGOMaQAY+3PB2OMSYRpLkKCcJA1r7cvAk8ANYw/dAOy11na5uL5MFmTgMve5uV9rLEGCcDl7cjPwCWPM88Anxr6WCskduCyURHKfm/v1rWsu4cZrDOfNTxdqlbLjd1j7Zkj1aT+NiMoXY74dupOJ9IrT7H0r8j03VzkFVJk4o7BvRj5x+PeG+OynoaQRUflizD2qMB+vgqmmhgSzpjdzsn+IoTKOOcy27s6d3rMvEarkjMO/N8QnaWhpfMz4XabuVTA1PJKipamBYYeDnt+7/Wpfxwyo+1I7lDRiKHfgcnQ05btgqm9guOxBz+wEMHfWFF+zL2GesSJuRaZOQ/zLt0zdawFa7nOz15qsvqKdu7Z10NM7EKi1kZ0APnX+vIIL4LQQrfZoTCOiqhFj0MHLUo5JzB2DcTGOElQc/r0hPmMaamnUoVI//b1Woq68ZAHvufzVeV9zxowWGpIJBodHaWxIqHisBihp1KFSl6F7VY9Om9JYNAE8f/AEAEtfO48Z05q17V/MKWnUoXJKx3PHL06cyp8Acls0j48VCDc1aPw9zpQ06lTmzb/MtPG9+57haM9pX6/LHVgt1A/Xxjq1SSm/BpRSA5EpHd9jX+Zk3yDzZk9xHpcWw9UmtTRqQCmb8VZrKrSS+5FKODTlGlFtbTPZt/9owe38S5kCzXA1FRqX32XUY4T4TLmqexJhhaooT/QOcO786Sy7aF7eEu5C3RZ1HaRU6p5EkJ+uw3279rO/8xRnt47kfeMX67ao6yClUPckgk70DrBt1wEeefrQeNdh8QWtnOg9zR8P9zLs8XtqTCZ486UL6Okb4OkXjpXcbSkUk1dXKeq/S4hHjBCf7olaGhF0xowWpk5pmtCCONzdx6HuflYuPouR0dSEsYjF58+lp2+Qd1/RzuwZLQXHK0qlk88kQ0kjonp6B1i19Bwe+l0nKaCzux+A3R2Hx58znlCO9XOou3/8De1yvEILziSXuicRlYnRq9UwfWojr3v1XB579gjDI5N/Z00NSZa8Zi6zp7dMGK8odRu/QrMscfpdRp26J+KEV6vh9a+dx43XXMz7Vr3G17RpOUcvltJq0cnvtU1TrhXicqeqfLuFV2vaNOhu5dpwp7ape1Ih5W60e2pwlM9teYjPfXAZ586fmfd5m7c+VbQbUslP/uzfZTnFZpWk7ok3bSwcQCX/cVy9cb74w8c4eKSXBa3T+PQNS8t601dyp/Ds32UUNtwpFmOUxSVpaEzDsXJXdq7dsGPC153d/Xxq8y6AwNOd1Z75UJVpfdCYhmPlvnG+9JHLaJ3l/dwH9naydsMO1m3a6etaG9ev9LVTuEs6ra32ld3SMMZsAa4CBoBe4JPW2ifKvW6clVOefd78mTQ3NXh+L2irJYxP/tz9NqT2uGhpbAeWWGsvBb4G/NTBNUNXzuxHuccc9g8Mc978Gdx87SKmtaQTSKlveq9Pfp1BIuUou6Vhrf151pePAK8yxiSttcXPA4ywapdNZ89wfOPWN40Pij327JFJsyNBeH3y333/cyoJl5K5Hgi9FfhFnBNGWGXT+ZKUy+a+SsLFhaJTrsaYPcB5eb4931o7Mva8DwBfBt5irT0SIIZ2oOJVQMdOnuaOu5/gsze+gTmz8m9td+zkaX5wbwePdhxmYGiElqYGViw5m4+uXlTwdaVa89n7vM9CbUyydeNqp/eq9s8mseF2ytVau6zYc4wx1wFfAa4KmDDGVbpO4+77n+OZF7v54b1P86kPXVZwPjyRSjE4NEJTQ5LBoRGSqVGGB4bo6hoqKwavIquNN3tP0d5y/esrMmfv+meLQw1EHGKEUOs0AnExe/Iu4OvA1dbaA+VezzXvJvm2gk3ySm1O49UFyTfDMWfWlLKTlBdtvCPlKrsi1BjTBQwCXVkPX2Wt7fZ5iXYqWBHqVaWYORUss/dEpRdXFasS9SoF//K6K/Tp6EgcYoQ6qgi11raVe41KKnYqWDVmSYpViaq2QeKkLsrIvU4Fq/RMQnYLBuC5l44zGEJ5tZapi2t1kTS8TgXbt/9oRU//yl0e3tM3yILW6fzduxdWdSxB2/SJa3WRNLy4KLH2+hT3asFkdHb38aUfPu6kNVOsBaGaDKmUul6wVu7iKq/NZnIXiSUSkEykv+dywVixjW7CWKwm9aGuWhqZT+cvrF0BlD4AWexTfEILZmSUFKWvHQl67wwtU5dKqauWRubT+Z5f27KuU+xTPLsFM2/2FObNbnG2VDxIC8JvS0oL2CSIumhp5H46b999gO27D5Tcvy/2KZ7dgrlj/eXjf3cxnRqkBeG3JaXBUgmiLpJGbp1ES1MDSy+cV9ZMSbUqK70GPF3dW4OlUoq6SBq5n86DwyNl9++rVZDl1Qpwde9ytyaU+lQXSQMmfjo/Zrs4fLQ37JAKyl39WolWgAZLpRR1kzSyP52XL14Q+bUI37v9ar79sycr3grQAjYJqm6SRtzMnTWlKq0ArXuRoGI/5RqH6cJSY9TO3hJFsU8aYRwBGDQJlBpjuRsUi1RCbLsnYUwXZqY/582e4quuQVOaUotimzTCmC68bfMuUsDzB3uA4klAU5pSi2KbNKo5XZhv5y2AFQvn500CmtKUWhTrMY1qDRTmrvcAGFu4WjQJBI0xM15y/ORpF6GLOBfblgZUb7owu8WQSEAqBctNGzOnNRetawgaY/aiuuvfckHZsYu4FuukUU1eRVAuE5XrRXUilaKk4VOlWzWVWFSXoX1CxaVYj2nUkkosqssIo5ZFapdaGhHielGd6kSkEpQ0IsT1ojrViUglqHtSw1QnIpXgrKVhjFkF/C/wSWvtZlfXlfJo6bu45iRpGGNmAhuB7S6uJ+5o6bu45qp78nVgE3DU0fVEJKLKThrGmHcAs621/+kgnsiIwz4dImEo2j0xxuwBzsv3bWADcHW5gYwdeV81bW0zC37/Z795kX1/6uFXe/7MLe+9tEpRTVQsxqiIQ5xxiBHiEWcilUqV/GJjzJuArUD/2EPzgAHgX621/+LzMu3A/u7uXkZHS48liLa2mXmnM/OtaK12bUOhGKMkDnHGIUaofpzJZCLzYX0+cMDv68oaCLXWPgycmfnaGPMj4Ik4z56otkGkMNVp5PCqbXj2peNhhyUSGU6ThrX2w3FuZWRk74Fxdus0evoGtW5DZExdtzTyzZDcuuYSHn7qEF/64eN0dqeHax7Y28naDTtYt2lnCJGKREddJ41Cqz+DnM4uUk/qcsGanyMPtW5DxFtdJg2/Rx5q3YbIZHWZNPweeah1GyKTxWZMw3VZt448FClNbFoa2YOWhU4180utCJHSRD5paMs6kWiJfPdEU58i0RL5pKGpT5FoiXz3BDT1KRIlsUgaGrQUiY7Id09EJFqUNEQkECUNEQlESUNEAlHSEJFAlDREJBAlDREJRElDRAJR0hCRQJQ0RCQQJQ0RCURJQ0QCUdIQkUCcrHI1xnwC+HtgCBix1r7exXVFJHrKbmkYY9YA1wOXWWuXANeUHZWIRJaLlsZtwD9Za08BWGuPOLimiESUizGNhcAKY8xuY8wTxpiPO7imM66PPhCpd0VbGsaYPcB5eb49H2gAzgXeBMwDdhljrLX2N0ECaW2dEeTpvv3sNy+y7089/GrPn7nlvZeOP97WNrMi93MpDjFCPOKMQ4wQjzgTqVSqrAsYYzqAWzJJwhjzbeBFa+2dPi/RDuzv7u5ldLS8WLLlHn2Q0dSQZOsdq+nqOuXsXpXQ1jYz8jFCPOKMQ4xQ/TiTyUTmw/p84IDv1zm4938AbwcwxkwH3gz8zsF1y6KjD0Qqw0XS+AZwrjHm98BjwL9Za3/t4Lpl0dEHIpVR9uyJtfYV4EYHsZTtRO8Ad23rYP21i5k9o0VHH4hUQCyOMPAr97xXHX0g4l5NJA2d9ypSPTWx9kSDniLVUxNJQ4OeItVTE90T0HmvItVSM0lDg54i1VET3RMRqR4lDREJRElDRAJR0hCRQJQ0RCSQKMyeNEB6mW41Vft+pYhDjBCPOOMQI1Q3zqx7NQR5Xdn7aTjwJuChsIMQqWNvBh72++QoJI0W4DLgEDASciwi9aQBOBt4HPBdDRmFpCEiMaKBUBEJRElDRAJR0hCRQJQ0RCQQJQ0RCURJQ0QCUdIQkUCiUEYeCmPMFuAq0kUtvcAnrbVPhBvVRMaYDwGfIX1e7j9YazeHHNI4Y8xFwI+BVqAbuMlauy/cqCYyxtwJvJf0KX5LrLUd4UY0mTGmFbgbeA0wCOwD1llru0INrIB6bmlsJ/0f6VLga8BPQ47Hy5PAB0ifYhc1dwFbrLUXAVuA74Ycj5f/Bt4CvBR2IAWkgDustcZauwR4AdgQckwF1W3SsNb+3Fo7NPblI8CrjDGR+n1Yazustc8Akw+lDZEx5kxgGXDP2EP3AMuMMW3hRTWZtfZha+3BsOMoxFp7zFq7M+uhR4FXhxSOL5F6k4ToVuAX1tpIvTkj7Fzgz9baEYCxPzvHHpcSjX1orQfuDTuWQmp2TMMYswc4L8+352f+wxtjPgB8kHQztqr8xih141ukx9ciM3blpWaThrV2WbHnGGOuA74CXGWtPVL5qCbyE2NEHQTOMcY0WGtHjDENwIKxx6UEY4O2FwKro97irdvuiTHmXcDXgWustQdCDidWrLUvkx6kvWHsoRuAvVEe8Y8yY8xXgeXAe6y1kT+wp26XxhtjukhPcWX/R7/KWtsdUkiTGGNuADYBc0jH2gf8zdjgaKiMMReTnnKdAxwnPeVqw41qImPMN4E1wFnAUaDbWrso3KgmMsYsAjqA54FXxh7eb629LryoCqvbpCEipanb7omIlEZJQ0QCUdIQkUCUNEQkECUNEQlESUNEAlHSEJFAlDREJJD/B281lD6bMuk8AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_centered = centerData(X)\n", + "plt.plot(X_centered[:,0], X_centered[:,1], '*')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That's better!\n", + "\n", + "We can now look for PCs. We saw that they correspond to values taken by $\\bs{d}$ that maximize the following function:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmax{d} \\Tr{(\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xd})} \\textrm{ subject to }\\bs{dd}^\\text{T}=1\n", + "$$\n", + "\n", + "To find $\\bs{d}$ we can calculate the eigenvectors of $\\bs{X^\\text{T}X}$ (see [2.7](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.7-Eigendecomposition/) for more details about eigendecomposition). So let's do that:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.91116273, -0.41204669],\n", + " [ 0.41204669, -0.91116273]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals, eigVecs = np.linalg.eig(X_centered.T.dot(X_centered)/100)\n", + "eigVecs" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(array([ 18.04730409, 798.35242844]), array([[-0.91116273, -0.41204669],\n", + " [ 0.41204669, -0.91116273]]))\n", + "(array([0.18047304, 7.98352428]), array([[-0.91116273, -0.41204669],\n", + " [ 0.41204669, -0.91116273]]))\n" + ] + } + ], + "source": [ + "print(np.linalg.eig(X_centered.T.dot(X_centered)))\n", + "print(np.linalg.eig(X_centered.T.dot(X_centered)/100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These are the vectors maximizing our function. Each column vector is associated with an eigenvalue. The vector associated with the larger eigenvalue tells us the direction associated with the larger variance in our data. To check that, we will plot these vectors along with the data. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAEBCAYAAABi0PBzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAHWRJREFUeJzt3X2UVNWZ7/FvVfUr3TQ00BLeIUa3A4KCSRQ1yARtM45ExXijEzEzal7IMpqZm2jmete9k5lJIsbMWjNXE70hmMRRY8xMFCbXRBONURBfYpPYohvExqBEbBvopoHueum6f1Q3Ft31dqpOVZ1T9fus5VpSXef07obz1N7P3s/egXg8johIroLlboCI+IuChog4oqAhIo4oaIiIIwoaIuKIgoaIOKKgISKOKGiIiCM1bt3IGPMQMA8YAvqBL1prt7p1fxHxBteCBvBpa20vgDHmImA9sMTF+4uIB7g2PBkJGMMmkOhxiEiFcbOngTFmHdAOBICP5XhZPfAh4E9AzM32iEhGIWAa8DwwmOtFgWIUrBljVgNXWGsvyOHtZwNPud4IEcnVR4Cnc31zUYIGgDHmCDDTWtuT5a3HA6/t33+IoSHvVNxOntxMT09/uZtxDC+26eWXt7Js2dmutavvcJh7H9vOleedyPhxdXnfx4u/K6+1KRgM0NraBPABYGeu17kyPDHGNAOt1trdw39eCewb/i+bGMDQUNxTQQPwXHvAe20aGBgA3GvXz57cyXMv72VcXYjV559U0L2K8bs60D/InQ93suaik5nQXJ/z14rZJhc4Sgu4ldNoAh40xjQNN2AfsNJa68nfkHjP5771GyKx93LnT3Ts4YmOPdSGgtz1leVZr8/lgXXDxk1d7Njdy4ZNXWOCWqavVRJXgoa1di9whhv3kuq0ds1SHnj8NTq2dxOODlFXE2TJiW188qMfyOn6Yj+wmYIaUFDA8xtXZ09E8jWxuZ7GuhCR6BC1oSCR6BCN9aGsvYa0D3NNkLu+vNy19mUKanEoKOD5jYKGeEbf4TDLF8/gnFOn8+TWPfQeyj4LmO5h/sJlpxIdjLjWtmxBLZ+A51cKGuIZ161adPT/V59vcrom3cPc2tJAd7d7QQMyB7V8Ap5fKWiI75Xqgc0U1PIJeH6loCG+V00PrBeoNF5EHFHQEBFHFDRExBEFDRFxREFDRBxR0BARRxQ0RMQRBQ0RcURBQ0QcUdAQEUcUNETEEQUNqWgH+ge55d7f0dtfuVWnpaagIZ7i9kOevKOXuENVrlJ2yft7urVt36qbNhKJVs8WfKWkoCFlt3FTF9t39/K3t286+lqhD/m6m8/jOw9urZot+EpJQUPKZvT+nskKfcgntTRU1RZ8paSchpTN2jVLOX3+VOpqEv8Mg4HE6zXBgCsP+ciOXjdfdRrLF8+g91DYjWZXPfU0pGzG7O8ZG2L65CY++/H5rmzbpx29ikNBQ8oq1f6es6eO10PuYQoaUlbqDfiPchoi4oiChog44tap8ZOBe4DjgTCwA/ictbbbjfuLiHe41dOIA7daa421diGwE7jFpXuLFET1J+5yJWhYa/dZa3+T9NIWYI4b9xbJJJeAUKz6k2oNRq7PnhhjgsAaYIPb9xYZLVOtStoT5V2qP3GrTsZvAvF43NUbGmPuAGYAq6y1qdcIH2suoBJEcWR0QdqI2pog/7l2JQD7+gZYv6GTLZ1vMxiJUV8b4oyF07hm5QJaWxqK+r19Zh6wK9c3u9rTMMbcBpwArMwxYBzV09PP0JC7AawQbW3j6e4+WO5mHMOLberoeJb29nNL3q61n1/KA4+/lrIgrbv7IG1t44kNRgjE44QjMWpDQcKRGMH4ENHBSEEnymf73ul47e8vGAwweXKz8+vcaoAx5hvAacDF1trqGuRJyY1Zgp6mVmVkxen1ly2ipamOd3sHSva9K5VbU64LgL8HtgObjTEAXdbaS9y4v0gqqZagjzay4vSeX75K36EwUybkPyxJ9b2XmDbWbdzmSjDyC1eChrX2ZSDgxr1EcpXLEvRiJUOLFYz8QLUnUtHWrkmffyhEsWdmvEzLyKWiTWyuJxiAcHTItX06YOxeIHU1Qc6YP5Vb1yx1o9mepqAhnubGAqodbx4A4NQTpri2GU81J0M1PBFPK2QB1eghxAvDpVC1IXc+K3NJxFYiBQ3xpM/e+gTRpHU7+eQMipXPGFGte4FoeCKe9OH5U4H39g3NJ2dQzUOIYlJPQzxl9JBipLMRdvDAH+gf5Ns/+T3XXnBS1Q4hiklBQwq2r2+AW+79HWsuOjmvT/Hkw5JGDymCAVgwbxLjx9VlTWCO3KdtQiPbunrYsKmraocQxaSgIQX78WO2oGrP0cnO5CFFNDbElAkNGe87Eix2vNlLPA7bd/cCueVBkgOWhi25UdCQvL03lDgEOE9WplsgFQjgaEjx5Ts2ka7W8Yz5UzMmPqu1vL0QrpfG52Eu0KUq1+y81qYD/YPc+dMtvNEDg5HYMbMTueYe0s1u5HJ9phPaggGIx2H54ukpg0G6a4u5otNrf39JVa6OSuM1eyJ5m9hcT11NgHA0ltfsRKGzG6NXZSZbumh6xoVc1byis1AKGlKQw+E4f7F0bt5HH2Y6OjHbatCRoBNOsSHOpt/v4ek//InrVi1KeR9Nx+ZPOQ0pyF8ubqC9/RS6uw/mNTuRaXYjl3xD3+EwZ578PvoOh9nWtY+heKLXsHTRdC4+c07G+2g6Nj8KGuI5uVaQHugfpP9IhNXthoef7iIe52ivYVxDDTd+95mM99F0bH40PBHPyTXfkNyDGD3MOXBwUHmLIlFPQzwnW74hVU8EEr2M1ecbVp9vjs5UKG/hPgUN8aRM+QYnhWjKW7hPQUM8KVO+wcnMh/IW7lPQEF9SD6J8FDTEszLVhagHUT6aPRHPKtYZrFIY9TSkJJxUk1bzTt9+oJ6GlISTXoPWV3ibehpSVPn0GlQX4m0KGlJU+W7uq9kR71LQkKLKt9eg2RHvUtCQolOvobK4FjSMMbcBl5LYiWuhtbbTrXuLv6nXUFncnD15CFgGvOHiPUXEY1wLGtbap621u926n1Q+N85pldLzTE5jeINTT2lrG1/uJozhtTa1t58L5NeuB3/7Ojve7OXRF9/iC5eekvI9+/oGuPWeF7hp9QdpbWlwdH+v/a7Am21yyjNBQ7uRZ+fFNnV0PEt7+7mO2jV67cYjm3fxyOZdKddu3PPLV9n2eg93b3jJ0REDXvxdea1NSbuRO+KZoCHVI5e1G1pK7l1aRi4ll8vaDS0l9y7XgoYx5t+MMW8CM4FfGWNeduveUnylTkpmOroA8l8UNvJz7O8bKGbzq5prwxNr7fXA9W7dT0qr1McT5rJ2I59FYSM/x/2PWS5b9n7X2ivv0bGMaXgtaQXFaVOhxxPmkwgthnIcs+iU1/5N6VhGyUul5A5G/xz1tSFf/hx+oKBR5SqlDH30zxGOxnz5c/iBplylYgrKkn+O52w3b7/bX+4mVSQFDamYgrLkn+O0k6d7Kn9QSTQ8ERFHFDRExBEFDRFxREFDHHG6clTl75VHQUMccXqAkQ48qjyaPZGcpKs6DQWhvT3393tphabkRz0NyUm6laOXnd7AV+94+pjhx4H+QWZNbWLJiVN8v9JUxlLQkJykWzna+WaUbV09xww/Nm7qomvPQd7uOez7laYyloYnkrPkFZdfu/t5nujYc/RrI8OPZHt6DgMQj8eHy9+VDK0EChqSs+QVl9++7iweePw1fvfqXqJDieHHye+fTJw4L7++b8yOXOphVA4NTySvadGR4Up0CGprEsOPCU21TBhXpyFJhVPQ8LFApI+6Pb+g5sBLBML7Ic+9UfKdFu07HGbhrBq+fcOyo7tvZduRS/xPwxMfi9e2EIhHmfjbTxAYChMPjSM2biaxcTMZGjeDWNNsjsz9FNQ0pry+0GnR61YtoqPjWeZNn5Cy0M3PxW+SnnoaPjc440IOnP1jhuomE4gdpubgdur3Pk7DrvuINc1OGzCgcjbgkdJS0KgA0UmL2X/Oz4iOP+Hoa4F4jObOb9C4824CkdT7SlTKBjxSWgoaFWKoaRYHPvJTwm1nAzAw82IC4V6aX/pHJv3yTJpe+meCh94cc51yEOKUchoVJF7XQu/S9TT/4X8zMPsyDp76DRp2/4zGnesZt/P7NO68m/D08zl8/DVEJy2BQKBiNuCR0lFPo9IEa+k/5etEJ8yHmkYG5v0V+1c8Su/Su4kcdxb1ex6h9alPMPG3l1D/5gYYipS8iammeFUN6x8KGpUoEIBQUl4iECQ8dTm9Z/6IfR/9JUfmfJKa3ldoeeEGJj12Do3b7yQQ7i1Z81JN8aoa1j907kkaXjujAtxtU2Cwh8Zd99Hw+j2EBruJhxoZmH0pR47/G2LNuR8y5OTck3Rnk6RSaDVspf/9uUHnnogj8frJHDZfZF/7U/QtuY1o8zwau/6dSb9aQcsz11DbvSnvxWLppJriXXJiG4tVDesrSoRWu1A9g7MvZXDWKmp7nqXxtfXUvf0r6vc+TrTlJA4ffzWDMz9+7HAnT6mmeCc01RKPo2lfH3EtaBhjTgR+CEwGeoCrrLU73Lq/FFkgQGTKGUSmnEGwfxeNr/+AxjcepKXjRoa2reXI3Cs5Mu9TxBvaCvo26c5YqYRzV6qFmz2NO4E7rLX/boy5ErgL+KiL95cSONA/yJ0P97Dmor9n4kl/R8MbD9D4+g9osv/KuB3fZXDmxzl8/NXEJvxZXvfPNsWraV/vcyWnYYw5DlgC3D/80v3AEmNMYR9LUnLJsxjxuhaOnPAZ9p33JL0fuoPoxIU0/PGnTHriAiY8/Snq3v41xHNLbErlcKunMQt4y1obA7DWxowxe4Zf787lBi+/vJWBgQGXmlO49vZz6eh4ttzNOEYx2/Sdxw6RPLGRvAfoF85rAibD+K/QUvcac/r+H1Pf3cKEdzezNHgc7PgHOromFaVd+aq2v798NDQ0sGzZ2Y6vc2XK1RhzGvAja+2CpNe2AVdaa1/McvlcQJPzZbavb4D1GzrZ0vk2g5FY4tT1hdO4ZuUCWlsaxl7Q/xZs+z73be3njSkXcd2FZzG+rvTtFlc4mnJ1q6exG5hhjAkN9zJCwPTh13OidRrZFbtNgXiccCSWOHU9EiMYHyI6GKG7O9Wq0RYic/6Wrz0fYqi7gU/1HGTAQ3Nx1fj351TSOg1n17nxza217wBbgSuGX7oC6LDW5jQ0EW9wWrz2iz/W0B0dx2dODdLooYAhxeXmX/XngR8aY/4XsB+4ysV7Swk4KV6Lx2HdtjrqAzGuXRQilrr6XiqQa0HDWvsqcLpb9xNve+pPIV49EOIvWv/IpMbZdCtoVA0tI5e8fG9bHaFAnAsm/7HcTZESU9AQx/7wbpDn3qnhL+dEaav1zjS5lIaChjj2vVcSc6vXztcuX9VIQaPKOd38pqsvwGO7azhnehQzUatBq5GCRoXId+crp5vfrH+ljjgBPqNeRtXS7HqFSH74V59/Utr3JQrSOnl9Tx/R2HuL6XI58+SdIwF+1lXLqZNjfLAt5vaPID6hoOFzTg88GgkuS0+eSmwIOrZ3jzl3NZ0f2VoiQwGunR8mEBj79ZGAtOaik7UfRgVT0PC5tWuW8sDjr415+D92+mxuufd3Rx/g0cFlc+feo/+fy+Y3B8Nw/4465rXEWDEzmvI9ufZ2xN8UNHwu3YFHT25965gHOFVwaWqsZf6cVs770Kysm9/8+LU6+iMBvrokQnBUL2PVTRuJRPM/3lH8RUGjAiTvhvW1u5/niY49R7+W/ACftfB9xwSXUz8w+WiPINOy8XAMfmhrOa5xiIvmji1eW3fzeXznwa2OhjriXwoaFSC5ZuTb152VcrjyyY9+gHsetXltq/fwrlq6jwT5yqkD1IXGfn1SS4OOd6wiChoVJtP5rPmcpjYUh++/Usv42jiXn5D+YKV0e39K5VHQqEBuPsC/frOGrr4Qn50/SHNt+vdlCkiaVaksChoVyK3zWePxRGFabTDOapP/8Y2aVaksChqS1vPvhPh9T4j/dnyY4xqd76rmdA2J+IOWkUta616pI0Ccq/8svyXjqU5U0+lp/qegISnrVuyBIE/uqaF9VpR5LWN7GSPXHBpMX7SWKSkr/qWgISmL1tZty1z+PnLNczsz5zqc7jsq3qdT49Pw2s7R4H6b0p3iXhMK8vTMC/ngcTF+tOJITtd4LU9RDX9/hdKp8eJYupzD9DOXE4sHuDZFLmP0NTVBOGfJTOUpqoiCRhUbnXMIR4eIBmt46M1mTpoY4yPTxpa/j74mOgTjGmqUp6giChpVLjnncGTyHH7dFeNILFH+nm6wmHzNwlk1HDiYefFYvhsEiTdpnUaVG1kINhSHbS3TGGhKlLB+9ZkGdvaG+dIpY4coyYvHls+vp739wxnH6lrcVVkUNARI7Mo1EHuv5n3l3Cg3LCpspkOLuyqThicCwK6D7/1TOHtalH86fSDl7lxOaHFXZVLQEADeGA4aC1pj/OvZR6h14V+GFndVJg1PBEgEjRlNQ9y1/EjGalanVDJfeQoOGsaYK4EbgfnAl6y1txfcKim5vjCs+/PDtOVRmJaJWxW34h1uDE+2ApcD97lwLymTT7//ID/Z+IKmRSWrgoOGtbbTWrsN0HFbPrblxdcdHZok1Us5jQrkZKcsTYuKU1kL1owxLwKz03x5qrU2Nvy+HwAv5JHTmAvo481F3/mP3/OLZ3bxsaVz+cKlp2R8776+AdZv6GRL59sMRmLU14Y4Y+E0rlm5gNaWhtI0WMrNUcFa1p6GtXZJIa3Jlapcs8vWptG9hkc27+KRzbuy9hoC8TjhSCxRfxKJEYwPER2M0N2dfYu/jo5naW8/13e/q3LwWpuSqlwd0fCkgqQ7bS3b+SOaFhUn3JhyvQL4FtAKXGSM+SrQPpwcFZdlylfku5hK06LiRMFBw1p7P3C/C22RHGQr/lKvQYpNwxOfyDbLkaoHovNHpBhUe+ITa9cs5ZzFM9IWf6Xa53O0XN4jko16Gj4xsbmexobaMfmKG7/7TNZ1FlqLIW5ST8NHevsHj+6YdebJ7+P5V9/h5qtOy1p+rhJ1cZN6Gj7yP/76vR2y6mqDHDoS5cmtb2WdMXGzRF15EVHQ8JlUQw2AYABuvuq0tDMmbs2qaOs+0bknaXht9R4k2rSj6920C7gmNNcXrSeQ7ryTUBAe+tZFnvxdqU2Z6dyTKpFtqFGsGZJ0eZFPL2t09fuI92l44kOphhrFniFJF6ya6vW5U20UNHwo1bLvA/2DedWdOKHVpgIKGhWjFJv4pgpWHR3PunZ/8QcFjQqinoCUgoJGBVG1qpSCsljiOp3dWtkUNMR1KoyrbBqelFglL8NWYVx1UE+jxAr5FN7XN1Bwt7+YQwcVxlUH9TRKxI1P4R/8/GW27+7lwd+8xrUXLsirHcWsHdHZrdVBQaNE8t30F8YGnM2de9ncuddRwCnV0EHTvpVPQaNECvkUjpO6kC/d66kUErSc0LRv5VNOo4RGPoVvvuo0li+eQe+hcE7X3brmTI6beGxh2JQJDcye2pxzbkJDB3GLehollO+n8MTmeobiiaFFTShANBbn4JEwPb0DjnITGjqIGxQ0fGL21PF8eME0Ht3yBgCD4UQQcZKb0NBB3KCg4RPXrVpEW9t4zl0yoyS5CZF0lNPwGeUmpNzU0/Ah5SaknBQ0fEi5CSknNw6AvgNYAQwC/cAN1toXCr2viHiTGzmNR4CF1tpTgG8CD7hwT1/wewm439sv5VFw0LDW/pe1NjL8x2eAmcaYqkiwlqIEvJgPtkrYJR9u5zSuA35urR17QEYFKWUJePKD/XfzprhyT5WwSyGyHpZkjHkRmJ3my1OttbHh910OfA1YZq3d66ANcwFffdTt6xtg/YZOtnS+zWAkRn1tiDMWTuOalQtobWlw5XusumkjkejY2FtbE+Q/164s6N6laL/4iqPDkrL2NKy1S7K9xxhzCfB1YIXDgHGU305YC8TjhCMxakNBwpEYwfgQ0cEI3d2RtNc4sfbzYwvMli6azsVnznHllC632t/R8Szt7ed66uQw8N5pZuC9NiWdsOaIG7MnFwL/Apxnrd1V6P38othrJVIt4hrXUOPaIi6t9ZB8uZHTuBsIAz815uiagRXW2h4X7l1SyVvxtbWNz/jeUqyVGP1gHzjo3oOttR6Sr4KDhrW2zY2GeEExko6FGP1ge617K9VJK0JJN5vwcMlmEyp5s2GpPFWxniKbVBvinrNkZsk2xNV6CfET9TQoftIxHa2XED9S0BhWzKRjOqXat1PETQoawzIlHYuVc9DeGOJHymnkoJg5h3w3GxYpF/U0MihFzkHrJcRv1NPIQMcMioyloJFBKXIO2tNC/EZBI4ti5xy0RkP8RjmNLIqRczjQP8h/v33TMYcqlmKNhlaeihvU0yiDjZu6iAPHtTaWNF+iXo24QT2NIkn1qT56Nuad/UeO/n8x12ho5am4ST2NIkn1qT56NiYQgKmtjXz58lOLukZDs0DiJvU0XJbtUz15NiYaG2L+3Fbmz53E/LmTCvq+mfIVWnkqblJPw2XZPtWLNRuTLV+hlafiFvU0XJbtU93t2Zhc8xVaeSpuUdAoglLuv6lKWSk1BY1RRnID//PqM/K+Ryk/1ZWvkFJTTmOUkdzA/Y/ZcjclZ27lK7SkXXKhnsaw0bmBRzbv4pHNu3yxlsGtnk1yMnX1+Se50TSpQAoaw0bnBuprQyw+YUpV5Aa0+Euc0PBk2OjcQDgaq5rcgBZ/iRPqaSRJnvV4znbz9rv95W5SSSiZKk4oaCRJzg2cdvJ0zx5MVIxqVR3TKLlS0PChYiQstfhLcqWg4SOrbtpIJKqEpZSXEqE+su7m85SwlLIruKdhjLkZ+CQQAwLAN621DxR6XxlrUkuDEpZSdm4MT2631n4dwBgzHXjVGPOotXa/C/eWUZSwlHIrOGhYa3uT/tgMxHE27AkBBIOBQpviOi+26fpPnHL0/+dOayljSxIaGhoAb/6u1KbMktoScnJdIB6PZ39XFsaYzwNfAmYBVzscnpwNPFVwI0QkXx8Bns71zVmDhjHmRWB2mi9PtdbGkt67ELgX+HNrbU+ObagHPgT8iUReRERKIwRMA54Hch7nutLTSGaM+QXwPWvtf7h6YxHxhIKnXI0x85P+fx6wGNhW6H1FxJvcmD35B2PMAiBCYnhxvbX2FRfuKyIe5PrwREQqm1aEiogjChoi4oiChog4oqAhIo54pjTei4Vvxpg7gBUkFr70AzdYa18oc5uuBG4E5gNfstbeXsa2nAj8EJgM9ABXWWt3lLE9twGXAnOBhdbaznK1ZYQxZjJwD3A8EAZ2AJ+z1naXtWGAMeYhYB4wROLf9xettVuzXeelnsbt1tpF1trFwAXA94wxrWVu0yMk/vGdAnwT8EL17lbgcuC+cjcEuBO4w1p7InAHcFeZ2/MQsAx4o8ztSBYHbrXWGmvtQmAncEuZ2zTi09baU4afuduA9blc5Jmg4ULhm+ustf9lrY0M//EZYKYxptxt6rTWbiPx6VA2xpjjgCXA/cMv3Q8sMca0latN1tqnrbW7y/X9U7HW7rPW/ibppS3AnDI15xijnrkJ5PhvyjPDE0hZ+JZr/UopXAf83Fpb1ofVQ2YBb43UHllrY8aYPcOvl73r7UXDHzhrgA3lbssIY8w6oJ1ESuBjuVxTsqCRS+GbtfZO4M6RwjdjzK+KGThyLcYzxlwO/BWJrm9ROSkQFN/5PyRyB2XLQ41mrb0WwBizGvgWidRARiULGtbaJQ7e+9Lwp9ZyoGiFb7m0yRhzCfB1YIW1dm+x2uKkTR6xG5hhjAkN9zJCwPTh12WU4STtCcBKL/ZWrbX3GGP+rzFmcrYPas/kNLxY+GaMuRD4F+B8a+2ucrbFa6y175BIyl4x/NIVQIcXZgW8xhjzDeA04GJrrSe2WjPGNBtjZiX9eSWwb/i/jDxTe2KM+QmQXPh2qwemXLtJTJMlPwgryplrMcZcQaIb2UqibYeA9uHkaKnbchKJKddWYD+JKdeynZxtjPk3YBXwPuBdoMdau6Bc7Rlu0wKgE9gOHBl+uctae0n5WgXGmKnAw0ATiedtH/Bla+2L2a71TNAQEX/wzPBERPxBQUNEHFHQEBFHFDRExBEFDRFxREFDRBxR0BARRxQ0RMSR/w/XbIxypZc9XQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + "plotVectors(eigVecs.T, [orange, blue])\n", + "plt.plot(X_centered[:,0], X_centered[:,1], '*')\n", + "plt.xlim(-3, 3)\n", + "plt.ylim(-3, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the blue vector direction corresponds to the oblique shape of our data. The idea is that if you project the data points on the line corresponding to the blue vector direction you will end up with the largest variance. This vector has the direction that maximizes variance of projected data. Have a look at the following figure:\n", + "\n", + "\n", + "Projection of the data point: this line direction is the one with the largest variance\n", + "\n", + "When you project data points on the pink line there is more variance. This line has the direction that maximizes the variance of the data points. It is the same for the figure above: our blue vector has the direction of the line where data point projection has the higher variance. Then the second eigenvector is orthogonal to the first.\n", + "\n", + "In our figure above, the blue vector is the second eigenvector so let's check that it is the one associated with the bigger eigenvalue:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.18047304, 7.98352428])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So yes, the second vector corresponds to the biggest eigenvalue.\n", + "\n", + "Now that we have found the matrix $\\bs{d}$ we will use the encoding function to rotate the data. The goal of the rotation is to end up with a new coordinate system where data is uncorrelated and thus where the basis axes gather all the variance. It is then possible to keep only few axes: this is the purpose of dimensionality reduction.\n", + "\n", + "Recall that the encoding function is:\n", + "\n", + "$$\n", + "\\bs{c}=\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "$\\bs{D}$ is the matrix containing the eigenvectors that we have calculated before. In addition, this formula corresponds to only one data point where dimensions are the rows of $\\bs{x}$. In our case, we will apply it to all data points and since $\\bs{X}$ has dimensions on the columns we need to transpose it." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_new = eigVecs.T.dot(X_centered.T)\n", + "\n", + "plt.plot(eigVecs.T.dot(X_centered.T)[0, :], eigVecs.T.dot(X_centered.T)[1, :], '*')\n", + "plt.xlim(-5, 5)\n", + "plt.ylim(-5, 5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It worked! The rotation transformed our dataset that have now the more variance on one of the basis axis. You could keep only this dimension and have a fairly good representation of the data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### About the unit norm constraint\n", + "\n", + "We saw that the maximization is subject to $\\bs{dd}^\\text{T}=1$. This means that the solution vector has to be a unit vector. Without this constraint, you could scale $\\bs{d}$ up to the infinity to increase the function to maximize (see [here](https://stats.stackexchange.com/questions/117695/why-is-the-eigenvector-in-pca-taken-to-be-unit-norm)). For instance, let's see some vectors $\\bs{x}$ that could maximize the function:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[4165298.04389264]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d = np.array([[12], [26]])\n", + "d.T.dot(X.T).dot(X).dot(d)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "However this $\\bs{d}$ has not a unit norm (since $\\bs{d}$ is a column vector we use the transpose of $\\bs{dd}^\\text{T}$ (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)):" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[820]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.T.dot(d)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The eigenvectors have unit norm and thus respect the constraint:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0000000000000002" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVecs[:,0].dot(eigVecs[:,0].T)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0000000000000002" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVecs[:,1].dot(eigVecs[:,1].T)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And... This is the end! We have gone through a lot of things during this series on linear algebra! I hope that it was a useful introduction to this topic which is of large importance in the data science/machine learning/deep learning fields." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "## PCA\n", + "\n", + "- A lot of intuitive explanations on PCA: https://arxiv.org/pdf/1404.1100.pdf\n", + "\n", + "- https://brilliant.org/wiki/principal-component-analysis/#from-approximate-equality-to-minimizing-function\n", + "\n", + "- http://www4.ncsu.edu/~slrace/LinearAlgebra2017/Slides/PCAPrint.pdf\n", + "\n", + "- https://towardsdatascience.com/a-one-stop-shop-for-principal-component-analysis-5582fb7e0a9c\n", + "\n", + "- https://www.cs.bgu.ac.il/~inabd171/wiki.files/lecture14_handouts.pdf\n", + "\n", + "## Semi-orthogonal matrix\n", + "\n", + "- https://en.wikipedia.org/wiki/Semi-orthogonal_matrix\n", + "\n", + "## Intuition about PCA\n", + "\n", + "- https://georgemdallas.wordpress.com/2013/10/30/principal-component-analysis-4-dummies-eigenvectors-eigenvalues-and-dimension-reduction/\n", + "\n", + "## Derivatives\n", + "\n", + "- https://math.stackexchange.com/questions/1377764/derivative-of-vector-and-vector-transpose-product\n", + "\n", + "## Link between variance maximized and error minimized:\n", + "\n", + "- https://stats.stackexchange.com/questions/130721/what-norm-of-the-reconstruction-error-is-minimized-by-the-low-rank-approximation\n", + "\n", + "- https://stats.stackexchange.com/questions/32174/pca-objective-function-what-is-the-connection-between-maximizing-variance-and-m\n", + "\n", + "- https://stats.stackexchange.com/questions/318625/why-do-the-leading-eigenvectors-of-a-maximize-texttrdtad\n", + "\n", + "## Centering data\n", + "\n", + "- https://www.quora.com/Why-do-we-need-to-center-the-data-for-Principle-Components-Analysis\n", + "- https://stats.stackexchange.com/questions/22329/how-does-centering-the-data-get-rid-of-the-intercept-in-regression-and-pca\n", + "\n", + "## Unit norm constraint\n", + "\n", + "- https://stats.stackexchange.com/questions/117695/why-is-the-eigenvector-in-pca-taken-to-be-unit-norm" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.12 Example - Principal Components Analysis/2.12 Example - Principal Components Analysis.ipynb b/Chapters/2.12 Example - Principal Components Analysis/2.12 Example - Principal Components Analysis.ipynb new file mode 100644 index 0000000..70e98fe --- /dev/null +++ b/Chapters/2.12 Example - Principal Components Analysis/2.12 Example - Principal Components Analysis.ipynb @@ -0,0 +1,1097 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "# Plot style\n", + "sns.set()\n", + "%pylab inline\n", + "pylab.rcParams['figure.figsize'] = (4, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def plotVectors(vecs, cols, alpha=1):\n", + " \"\"\"\n", + " Plot set of vectors.\n", + "\n", + " Parameters\n", + " ----------\n", + " vecs : array-like\n", + " Coordinates of the vectors to plot. Each vectors is in an array. For\n", + " instance: [[1, 3], [2, 2]] can be used to plot 2 vectors.\n", + " cols : array-like\n", + " Colors of the vectors. For instance: ['red', 'blue'] will display the\n", + " first vector in red and the second in blue.\n", + " alpha : float\n", + " Opacity of vectors\n", + "\n", + " Returns:\n", + "\n", + " fig : instance of matplotlib.figure.Figure\n", + " The figure of the vectors\n", + " \"\"\"\n", + " plt.axvline(x=0, color='#A9A9A9', zorder=0)\n", + " plt.axhline(y=0, color='#A9A9A9', zorder=0)\n", + "\n", + " for i in range(len(vecs)):\n", + " if (isinstance(alpha, list)):\n", + " alpha_i = alpha[i]\n", + " else:\n", + " alpha_i = alpha\n", + " x = np.concatenate([[0,0],vecs[i]])\n", + " plt.quiver([x[0]],\n", + " [x[1]],\n", + " [x[2]],\n", + " [x[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=cols[i],\n", + " alpha=alpha_i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "\\newcommand\\norm[1]{\\left\\lVert#1\\right\\rVert} \n", + "\\DeclareMathOperator{\\Tr}{Tr}\n", + "\\newcommand\\bs[1]{\\boldsymbol{#1}}\n", + "\\newcommand\\argmin[1]{\\underset{\\bs{#1}}{\\arg\\min}}\n", + "\\newcommand\\argmax[1]{\\underset{\\bs{#1}}{\\arg\\max}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This chapter is the last chapter of this series on linear algebra! It is about Principal Components Analysis. We will use some knowledge that we acquired along the preceding chapters of the series to understand this important data analysis tool! Feel free to check out the preceding chapters!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.12 Example - Principal Components Analysis\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "Dimensions are a crucial topic in data science. The dimensions are all the features of the dataset. For instance, if you are looking at a dataset containing pieces of music, dimensions could be the genre, the length of the piece, the number of instruments, the presence of a singer etc. You can imagine all these dimensions as different columns. When there is only two dimensions, it is very convenient to plot: you can use the $x$- and $y$-axis. Add color and you can represent a third dimension. It is similar if you have tens or hundereds of dimensions, it will just be harder to visualize it.\n", + "\n", + "When you have that many dimensions it happens that some of them are correlated. For instance, we can reasonably think that the genre dimension will correlate with the instruments dimensions in our previous example. One way to reduce dimensionality is simply to keep only some of them. The problem is that you loose good information. It would be nice to have a way to reduce these dimensions while keeping all the information present in the data set.\n", + "\n", + "The aim of principal components analysis (PCA) is generaly to reduce the number of dimensions of a dataset where dimensions are not completly decorelated. PCA provides us with a new set of dimensions, the principal components (PC). They are ordered: the first PC is the dimension having the largest variance. In addition, each PC is orthogonal to the preceding one. Remember that orthogonal vectors means that their dot product is equal to $0$ (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)). This means that each PC is decorelated to the preceding one. It is way better than feature selection where you loose a lot of information.\n", + "\n", + "### Example 1.\n", + "\n", + "Unit vectors are an example of orthogonal vectors:\n", + "\n", + "\n", + "Orthogonal vectors\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Describing the problem\n", + "\n", + "The problem can be expressed as finding a function that converts a set of data points from $\\mathbb{R}^n$ to $\\mathbb{R}^l$. This means that we change the number of dimensions of our dataset. We also need a function that can decode back from the transformed dataset to the initial one:\n", + "\n", + "\n", + "Principal components analysis as a change of coordinate system\n", + "\n", + "The first step is to understand the shape of the data. $x^{(i)}$ is one data point containing $n$ dimensions. Let's have $m$ data points organized as column vectors (one column per point):\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x^{(1)} & x^{(2)} & \\cdots & x^{(m)}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "If we deploy the $n$ dimensions of our data points we will have:\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1^{(1)} & x_1^{(2)} & \\cdots & x_1^{(m)}\\\\\\\\\n", + " x_2^{(1)} & x_2^{(2)} & \\cdots & x_2^{(m)}\\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots\\\\\\\\\n", + " x_n^{(1)} & x_n^{(2)} & \\cdots & x_n^{(m)}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We can also write:\n", + "\n", + "$$\n", + "\\bs{x}=\n", + "\\begin{bmatrix}\n", + " x_1\\\\\\\\\n", + " x_2\\\\\\\\\n", + " \\cdots\\\\\\\\\n", + " x_n\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "$c$ will have the shape:\n", + "\n", + "$$\n", + "\\bs{c}=\n", + "\\begin{bmatrix}\n", + " c_1\\\\\\\\\n", + " c_2\\\\\\\\\n", + " \\cdots\\\\\\\\\n", + " c_l\n", + "\\end{bmatrix}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Adding some constraints: the decoding function\n", + "\n", + "The encoding function $f(\\bs{x})$ transforms $\\bs{x}$ into $\\bs{c}$ and the decoding function transforms back $\\bs{c}$ into an approximation of $\\bs{x}$. To keep things simple, PCA will respect some constraints:\n", + "\n", + "### Constraint 1.\n", + "\n", + "The decoding function has to be a simple matrix multiplication:\n", + "\n", + "$$\n", + "g(\\bs{c})=\\bs{Dc}\n", + "$$\n", + "\n", + "By applying the matrix $\\bs{D}$ to the dataset from the new coordinates system we should get back to the initial coordinate system.\n", + "\n", + "### Constraint 2.\n", + "\n", + "The columns of $\\bs{D}$ must be orthogonal (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/)).\n", + "\n", + "### Constraint 3.\n", + "\n", + "The columns of $\\bs{D}$ must have unit norm (see [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/))." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding the encoding function\n", + "\n", + "Important: For now we will consider only **one data point**. Thus we will have the following dimensions for these matrices (note that $\\bs{x}$ and $\\bs{c}$ are column vectors):\n", + "\n", + "\n", + "The decoding function\n", + "\n", + "We want a decoding function which is a simple matrix multiplication. For that reason, we have $g(\\bs{c})=\\bs{Dc}$. We will then find the encoding function from the decoding function. We want to minimize the error between the decoded data point and the actual data point. With our previous notation, this means reducing the distance between $\\bs{x}$ and $g(\\bs{c})$. As an indicator of this distance, we will use the squared $L^2$ norm (see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)):\n", + "\n", + "$$\n", + "\\norm{\\bs{x} - g(\\bs{c})}_2^2\n", + "$$\n", + "\n", + "This is what we want to minimize. Let's call $\\bs{c}^*$ the optimal $\\bs{c}$. Mathematically it can be written:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} \\norm{\\bs{x} - g(\\bs{c})}_2^2\n", + "$$\n", + "\n", + "This means that we want to find the values of the vector $\\bs{c}$ such that $\\norm{\\bs{x} - g(\\bs{c})}_2^2$ is as small as possible.\n", + "\n", + "If you have a look back to [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/) you can see that the squared $L^2$ norm can be expressed as:\n", + "\n", + "$$\n", + "\\norm{\\bs{y}}_2^2 = \\bs{y}^\\text{T}\\bs{y}\n", + "$$\n", + "\n", + "We have named the variable $\\bs{y}$ to avoid confusion with our $\\bs{x}$. Here $\\bs{y}=\\bs{x} - g(\\bs{c})$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Thus the equation that we want to minimize becomes:\n", + "\n", + "$$\n", + "(\\bs{x} - g(\\bs{c}))^\\text{T}(\\bs{x} - g(\\bs{c}))\n", + "$$\n", + "\n", + "Since the transpose respects addition we have:\n", + "\n", + "$$\n", + "(\\bs{x}^\\text{T} - g(\\bs{c})^\\text{T})(\\bs{x} - g(\\bs{c}))\n", + "$$\n", + "\n", + "By the distributive property (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)) we can develop:\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}x} - \\bs{x}^\\text{T}g(\\bs{c}) - g(\\bs{c})^\\text{T}\\bs{x} + g(\\bs{c})^\\text{T}g(\\bs{c})\n", + "$$\n", + "\n", + "The commutative property (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)) tells us that $\n", + "\\bs{x^\\text{T}y} = \\bs{y^\\text{T}x}\n", + "$. We can use that in the previous equation: we have $\n", + "\\bs{x}^\\text{T}g(\\bs{c}) = g(\\bs{c})^\\text{T}\\bs{x}\n", + "$. So the equation becomes:\n", + "\n", + "$$\n", + "\\bs{x^\\text{T}x} -2\\bs{x}^\\text{T}g(\\bs{c}) + g(\\bs{c})^\\text{T}g(\\bs{c})\n", + "$$\n", + "\n", + "The first term $\\bs{x^\\text{T}x}$ does not depends on $\\bs{c}$ and since we want to minimize the function according to $\\bs{c}$ we can just get off this term. We simplify to:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}g(\\bs{c}) + g(\\bs{c})^\\text{T}g(\\bs{c})\n", + "$$\n", + "\n", + "Since $g(\\bs{c})=\\bs{Dc}$:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + (\\bs{Dc})^\\text{T}\\bs{Dc}\n", + "$$\n", + "\n", + "With $(\\bs{Dc})^\\text{T}=\\bs{c}^\\text{T}\\bs{D}^\\text{T}$ (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)), we have:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{D}^\\text{T}\\bs{Dc}\n", + "$$\n", + "\n", + "As we saw in [2.6](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.6-Special-Kinds-of-Matrices-and-Vectors/), $\\bs{D}^\\text{T}\\bs{D}=\\bs{I}_l$ because $\\bs{D}$ is orthogonal (actually, it is [semi-orthogonal](https://en.wikipedia.org/wiki/Semi-orthogonal_matrix) if $n \\neq l$) and their columns have unit norm. We can replace in the equation:\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{I}_l\\bs{c}\n", + "$$\n", + "\n", + "$$\n", + "\\bs{c}^* = \\underset{c}{\\arg\\min} -2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Minimizing the function\n", + "\n", + "So far so good! Now the goal is to find the minimum of the function $- 2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c}$. One widely used way of doing that is to use the **gradient descent** algorithm. It is not the focus of this chapter but we will say a word about it (see [4.3](http://www.deeplearningbook.org/contents/numerical.html) of the Deep Learning Book for more details). The main idea is that the sign of the derivative of the function at a specific value of $x$ tells you if you need to increase or decrease $x$ to reach the minimum. When the slope is near $0$, the minimum should have been reached.\n", + "\n", + "\n", + "Gradient descent\n", + "\n", + "However, functions with local minima can trouble the descent:\n", + "\n", + "\n", + "Gradient descent can get stuck in local minima\n", + "\n", + "These examples are in 2 dimensions but the principle stands for higher dimensional functions. The gradient is a vector containing the partial derivatives of all dimensions. Its mathematical notation is $\\nabla_xf(\\bs{x})$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculating the gradient of the function\n", + "\n", + "Here we want to minimize through each dimension of $\\bs{c}$. We are looking for a slope of $0$. The equation is:\n", + "\n", + "$$\n", + "\\nabla_c(-2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c})=0\n", + "$$\n", + "\n", + "Let's take these terms separately to calculate the derivative according to $\\bs{c}$. \n", + "\n", + "$$\n", + "\\frac{d(-2\\bs{x}^\\text{T}\\bs{Dc})}{d\\bs{c}} = -2\\bs{x}^\\text{T}\\bs{D}\n", + "$$\n", + "\n", + "The second term is $\\bs{c}^\\text{T}\\bs{c}$. We can develop the vector $\\bs{c}$ and calculate the derivative for each element:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\frac{d(\\bs{c}\\text{T}\\bs{c})}{d\\bs{c}} &=\n", + "\\left(\\frac{d(\\bs{c}_1^2 + \\bs{c}_2^2 + \\cdots + \\bs{c}_l^2)}{d\\bs{c}_1},\n", + "\\frac{d(\\bs{c}_1^2 + \\bs{c}_2^2 + \\cdots + \\bs{c}_l^2)}{d\\bs{c}_2},\n", + "\\cdots,\n", + "\\frac{d(\\bs{c}_1^2 + \\bs{c}_2^2 + \\cdots + \\bs{c}_l^2)}{d\\bs{c}_l}\\right) \\\\\\\\\n", + "&=(2\\bs{c}_1, 2\\bs{c}_2, \\cdots, 2\\bs{c}_l)\\\\\\\\\n", + "&=2(\\bs{c}_1, \\bs{c}_2, \\cdots, \\bs{c}_l)\\\\\\\\\n", + "&=2\\bs{c}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "So we can progress in our derivatives:\n", + "\n", + "$$\n", + "\\nabla_c(-2\\bs{x}^\\text{T}\\bs{Dc} + \\bs{c}^\\text{T}\\bs{c})=0\\\\\\\\\n", + "-2\\bs{x}^\\text{T}\\bs{D} + 2\\bs{c}=0\\\\\\\\\n", + "-2\\bs{D}^\\text{T}\\bs{x} + 2\\bs{c}=0\\\\\\\\\n", + "\\bs{c}=\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "Great! We found the encoding function! Here are its dimensions:\n", + "\n", + "\n", + "The encoding function\n", + "\n", + "To go back from $\\bs{c}$ to $\\bs{x}$ we use $g(\\bs{c})=\\bs{Dc}$:\n", + "\n", + "$$\n", + "r(\\bs{x}) = g(f(\\bs{x})=\\bs{D}\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "\n", + "The reconstruction function" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding $\\bs{D}$\n", + "\n", + "The next step is to find the matrix $\\bs{D}$. Recall that the purpose of the PCA is to change the coordinate system in order to maximize the variance along the first dimensions of the projected space. This is equivalent to minimizing the error between data points and their reconstruction ([cf here](https://stats.stackexchange.com/questions/32174/pca-objective-function-what-is-the-connection-between-maximizing-variance-and-m)). See bellow the covariance matrix to have more details.\n", + "\n", + "\n", + " Maximizing the variance corresponds to minimizing the error of the reconstruction.\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The Frobenius norm\n", + "\n", + "Since we have to take all points into account (the same matrix $\\bs{D}$ will be used for all points) we will use the Frobenius norm of the errors (see [2.5](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/)) which is the equivalent of the $L^2$ norm for matrices. Here the formula of the Frobenius norm:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\sum_{i,j}A^2_{i,j}}\n", + "$$\n", + "\n", + "It is like if you unroll the matrix to end up with a one dimensional vector and that you take the $L^2$ norm of this vector.\n", + "\n", + "We will call $\\bs{D}^*$ the optimal $\\bs{D}$ (in the sense that the error is as small as possible). We have:\n", + "\n", + "$$\n", + "\\bs{D}^* = \\underset{\\bs{D}}{\\arg\\min} \\sqrt{\\sum_{i,j}(x_j^{(i)}-r(\\bs{x}^{(i)})_j})^2\n", + "$$\n", + "\n", + "With the constraint that $\\bs{D}^\\text{T}\\bs{D}=\\bs{I}_l$ because we have chosen the constraint of having the columns of $\\bs{D}$ orthogonal." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The first principal component\n", + "\n", + "We will start to find only the first principal component (PC). For that reason, we will have $l=1$. So the matrix $\\bs{D}$ will have the shape $(n \\times 1)$: it is a simple column vector. Since it is a vector we will call it $\\bs{d}$:\n", + "\n", + "\n", + "The first principal component\n", + "\n", + "We can therefore remove the sum over $j$ and the square root since we will take the squared $L^2$ norm:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{(\\bs{x}^{(i)}-r(\\bs{x}^{(i)}))}_2^2\n", + "$$\n", + "\n", + "\n", + "We have also seen that:\n", + "\n", + "$$\n", + "r(\\bs{x})=\\bs{D}\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "Since we are looking only for the first PC:\n", + "\n", + "$$\n", + "r(\\bs{x})=\\bs{d}\\bs{d}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "We can plug $r(\\bs{x})$ into the equation:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{\\bs{x}^{(i)}-\\bs{dd}^\\text{T}\\bs{x}^{(i)}}_2^2\n", + "$$\n", + "\n", + "Because of the constraint 3. (the columns of $\\bs{D}$ have unit norms) we have $\\norm{\\bs{d}}_2 = 1$. $\\bs{d}$ is one of the columns of $\\bs{D}$ and thus has a unit norm.\n", + "\n", + "\n", + "Instead of using the sum along the $m$ data points $\\bs{x}$ we can have the matrix $\\bs{X}$ which gather all the observations:\n", + "\n", + "$$\n", + "\\bs{X} = \\begin{bmatrix}\n", + " \\bs{x}^{(1)\\text{T}}\\\\\\\\\n", + " \\bs{x}^{(2)\\text{T}}\\\\\\\\\n", + " \\cdots\\\\\\\\\n", + " \\bs{x}^{(m)\\text{T}}\n", + "\\end{bmatrix}=\n", + "\\begin{bmatrix}\n", + " \\bs{x}_1^{(1)} & \\bs{x}_2^{(1)} & \\cdots & \\bs{x}_n^{(1)}\\\\\\\\\n", + " \\bs{x}_1^{(2)} & \\bs{x}_2^{(2)} & \\cdots & \\bs{x}_n^{(2)}\\\\\\\\\n", + " \\cdots & \\cdots & \\cdots & \\cdots\\\\\\\\\n", + " \\bs{x}_0^{(m)} & \\bs{x}_1^{(m)} & \\cdots & \\bs{x}_n^{(m)}\n", + "\\end{bmatrix}\n", + "$$\n", + "\n", + "We want $\\bs{x}^{(i)\\text{T}}$ instead of $\\bs{x}^{(i)}$ in our expression of $\\bs{d}^*$. We can transpose the content of the norm:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{(\\bs{x}^{(i)}-\\bs{dd}^\\text{T}\\bs{x}^{(i)})^\\text{T}}_2^2\\\\\\\\\n", + "&=\\underset{\\bs{d}}{\\arg\\min} \\sum_{i}\\norm{\\bs{x}^{(i)\\text{T}}-\\bs{x}^{(i)\\text{T}}\\bs{dd}^\\text{T}}_2^2\\\\\\\\\n", + "\\end{align*}\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\norm{\\bs{X}-\\bs{X}\\bs{dd}^\\text{T}}_\\text{F}^2\n", + "$$\n", + "\n", + "with the constraint that $\\bs{dd}^\\text{T}=1$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Using the Trace operator\n", + "\n", + "We will now use the Trace operator (see [2.10](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.10-The-Trace-Operator/)) to simplify the equation to minimize. Recall that:\n", + "\n", + "$$\n", + "\\norm{\\bs{A}}_F=\\sqrt{\\Tr({\\bs{AA}^T})}\n", + "$$\n", + "\n", + "So here $\\bs{A}=\\bs{X}-\\bs{X}\\bs{dd}^\\text{T}$. So we have:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\underset{\\bs{d}}{\\arg\\min} \\Tr{((\\bs{X}-\\bs{Xdd}^\\text{T})}(\\bs{X}-\\bs{Xdd}^\\text{T})^\\text{T})\n", + "$$\n", + "\n", + "Since we can cycle the order of the matrices in a Trace (see [2.10](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.10-The-Trace-Operator/)) we can write:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\argmin{d} \\Tr{((\\bs{X}-\\bs{Xdd}^\\text{T})^\\text{T}}(\\bs{X}-\\bs{Xdd}^\\text{T}))\\\\\\\\\n", + "&=\\argmin{d} \\Tr{((\\bs{X}^\\text{T}-(\\bs{Xdd}^\\text{T})^\\text{T})}(\\bs{X}-\\bs{Xdd}^\\text{T}))\n", + "\\end{align*}\n", + "$$\n", + "\n", + "And $(\\bs{Xdd}^\\text{T})^\\text{T}=(\\bs{d}^\\text{T})^\\text{T}\\bs{d}^\\text{T}\\bs{X}^\\text{T}=\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}$. Let's plug that into our equation:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\argmin{d} \\Tr{(\\bs{X}^\\text{T}-\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T})}(\\bs{X}-\\bs{Xdd}^\\text{T}))\\\\\\\\\n", + "&= \\argmin{d} \\Tr{(\\bs{X}^\\text{T}\\bs{X}-\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T} -\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X} +\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T}})\\\\\\\\\n", + "&= \\argmin{d} \\Tr{(\\bs{X}^\\text{T}\\bs{X})} - \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "- \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X})} + \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "We can remove the first term that not depends on $d$:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmin{d} - \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "- \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X})} + \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "$$\n", + "\n", + "Still because of the cycling property of a trace, we have\n", + "\n", + "$$\n", + "\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})} = \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{X})}\n", + "$$\n", + "\n", + "We can simplify to:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmin{d} -2\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + " + \\Tr{(\\bs{d}\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + "$$\n", + "\n", + "and then\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmin{d} -2\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + " + \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T}\\bs{d}\\bs{d}^\\text{T})}\n", + "$$\n", + "\n", + "Because of the constraint $\\bs{dd}^\\text{T}=1$:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "\\bs{d}^* &= \\argmin{d} -2\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\n", + " + \\Tr{(\\bs{X}^\\text{T}\\bs{Xd}\\bs{d}^\\text{T})}\\textrm{ subject to }\\bs{dd}^\\text{T}=1\\\\\\\\\n", + "&= \\argmin{d} -\\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\\textrm{ subject to }\\bs{dd}^\\text{T}=1\\\\\\\\\n", + "&=\\argmax{d} \\Tr{(\\bs{X}^\\text{T}\\bs{Xdd}^\\text{T})}\\textrm{ subject to }\\bs{dd}^\\text{T}=1\n", + "\\end{align*}\n", + "$$\n", + "\n", + "and with the cycling property:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmax{d} \\Tr{(\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xd})} \\textrm{ subject to }\\bs{dd}^\\text{T}=1\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Eigendecomposition\n", + "\n", + "We will see that we can find the maximum of the function by calculating the eigenvectors of $\\bs{X^\\text{T}X}$.\n", + "\n", + "\n", + "### Covariance matrix\n", + "\n", + "As we wrote above, the optimization problem of maximizing the variance of the components and minimizing the error between the reconstructed and the actual data are equivalent. Actually, if you look at the formula of $\\bs{d}$ you can see that there is the term $\\bs{X^\\text{T}X}$ in the middle.\n", + "\n", + "If we have centered our data around 0 (see bellow for more details about centering), $\\bs{X^\\text{T}X}$ is the covariance matrix (see [this Quora question](https://www.quora.com/Why-do-we-need-to-center-the-data-for-Principle-Components-Analysis)).\n", + "\n", + "The covariance matrix is a $n$ by $n$ matrix ($n$ being the number of dimensions). Its diagonal is the variance of the corresponding dimensions and the other cells are the covariance between the two corresponding dimensions (the amount of redundancy).\n", + "\n", + "This means that the largest covariance we have between two dimensions the more redundancy exists between these dimensions. This also means that the best-fit line is associated with small errors if the covariance is hight. To maximize the variance and minimize the covariance (in order to decorrelate the dimensions) means that the ideal covariance matrix is a diagonal matrix (non-zero values in the diagonal only). Therefore the diagonalization of the covariance matrix will give us the optimal solution." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Example 2.\n", + "\n", + "As an example we will create again a 2D data set (like in [2.9](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.9-The-Moore-Penrose-Pseudoinverse/)). To see the effect of the PCA we will introduce some correlations between the two dimensions. Let's create 100 data points with 2 dimensions:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(100, 2)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.random.seed(123)\n", + "x = 5*np.random.rand(100)\n", + "y = 2*x + 1 + np.random.randn(100)\n", + "\n", + "x = x.reshape(100, 1)\n", + "y = y.reshape(100, 1)\n", + "\n", + "X = np.hstack([x, y])\n", + "X.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's plot the data:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(X[:,0], X[:,1], '*')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Highly correlated data means that the dimensions are redundant. It is possible to predict one from the other without losing much information.\n", + "\n", + "The first processing we will do is to center the data around 0. PCA is a regression model without intercept (see [here](https://stats.stackexchange.com/questions/22329/how-does-centering-the-data-get-rid-of-the-intercept-in-regression-and-pca)) and the first component is thus necessarly crossing the origin.\n", + "\n", + "Here is a simple function that substract the mean of each column to each data point of this column. It can be used to center the data points around 0." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def centerData(X):\n", + " X = X.copy()\n", + " X -= np.mean(X, axis = 0)\n", + " return X" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So let's center our data $\\bs{X}$ around 0 for both dimensions:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_centered = centerData(X)\n", + "plt.plot(X_centered[:,0], X_centered[:,1], '*')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That's better!\n", + "\n", + "We can now look for PCs. We saw that they correspond to values taken by $\\bs{d}$ that maximize the following function:\n", + "\n", + "$$\n", + "\\bs{d}^* = \\argmax{d} \\Tr{(\\bs{d}^\\text{T}\\bs{X}^\\text{T}\\bs{Xd})} \\textrm{ subject to }\\bs{dd}^\\text{T}=1\n", + "$$\n", + "\n", + "To find $\\bs{d}$ we can calculate the eigenvectors of $\\bs{X^\\text{T}X}$ (see [2.7](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.7-Eigendecomposition/) for more details about eigendecomposition). So let's do that:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.91116273, -0.41204669],\n", + " [ 0.41204669, -0.91116273]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals, eigVecs = np.linalg.eig(X_centered.T.dot(X_centered)/100)\n", + "eigVecs" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(array([ 18.04730409, 798.35242844]), array([[-0.91116273, -0.41204669],\n", + " [ 0.41204669, -0.91116273]]))\n", + "(array([0.18047304, 7.98352428]), array([[-0.91116273, -0.41204669],\n", + " [ 0.41204669, -0.91116273]]))\n" + ] + } + ], + "source": [ + "print(np.linalg.eig(X_centered.T.dot(X_centered)))\n", + "print(np.linalg.eig(X_centered.T.dot(X_centered)/100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These are the vectors maximizing our function. Each column vector is associated with an eigenvalue. The vector associated with the larger eigenvalue tells us the direction associated with the larger variance in our data. To check that, we will plot these vectors along with the data. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "orange = '#FF9A13'\n", + "blue = '#1190FF'\n", + "plotVectors(eigVecs.T, [orange, blue])\n", + "plt.plot(X_centered[:,0], X_centered[:,1], '*')\n", + "plt.xlim(-3, 3)\n", + "plt.ylim(-3, 3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the blue vector direction corresponds to the oblique shape of our data. The idea is that if you project the data points on the line corresponding to the blue vector direction you will end up with the largest variance. This vector has the direction that maximizes variance of projected data. Have a look at the following figure:\n", + "\n", + "\n", + "Projection of the data point: this line direction is the one with the largest variance\n", + "\n", + "When you project data points on the pink line there is more variance. This line has the direction that maximizes the variance of the data points. It is the same for the figure above: our blue vector has the direction of the line where data point projection has the higher variance. Then the second eigenvector is orthogonal to the first.\n", + "\n", + "In our figure above, the blue vector is the second eigenvector so let's check that it is the one associated with the bigger eigenvalue:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.18047304, 7.98352428])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVals" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So yes, the second vector corresponds to the biggest eigenvalue.\n", + "\n", + "Now that we have found the matrix $\\bs{d}$ we will use the encoding function to rotate the data. The goal of the rotation is to end up with a new coordinate system where data is uncorrelated and thus where the basis axes gather all the variance. It is then possible to keep only few axes: this is the purpose of dimensionality reduction.\n", + "\n", + "Recall that the encoding function is:\n", + "\n", + "$$\n", + "\\bs{c}=\\bs{D}^\\text{T}\\bs{x}\n", + "$$\n", + "\n", + "$\\bs{D}$ is the matrix containing the eigenvectors that we have calculated before. In addition, this formula corresponds to only one data point where dimensions are the rows of $\\bs{x}$. In our case, we will apply it to all data points and since $\\bs{X}$ has dimensions on the columns we need to transpose it." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "X_new = eigVecs.T.dot(X_centered.T)\n", + "\n", + "plt.plot(eigVecs.T.dot(X_centered.T)[0, :], eigVecs.T.dot(X_centered.T)[1, :], '*')\n", + "plt.xlim(-5, 5)\n", + "plt.ylim(-5, 5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It worked! The rotation transformed our dataset that have now the more variance on one of the basis axis. You could keep only this dimension and have a fairly good representation of the data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### About the unit norm constraint\n", + "\n", + "We saw that the maximization is subject to $\\bs{dd}^\\text{T}=1$. This means that the solution vector has to be a unit vector. Without this constraint, you could scale $\\bs{d}$ up to the infinity to increase the function to maximize (see [here](https://stats.stackexchange.com/questions/117695/why-is-the-eigenvector-in-pca-taken-to-be-unit-norm)). For instance, let's see some vectors $\\bs{x}$ that could maximize the function:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[4165298.04389264]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d = np.array([[12], [26]])\n", + "d.T.dot(X.T).dot(X).dot(d)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "However this $\\bs{d}$ has not a unit norm (since $\\bs{d}$ is a column vector we use the transpose of $\\bs{dd}^\\text{T}$ (see [2.2](https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/)):" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[820]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.T.dot(d)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The eigenvectors have unit norm and thus respect the constraint:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0000000000000002" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVecs[:,0].dot(eigVecs[:,0].T)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0000000000000002" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eigVecs[:,1].dot(eigVecs[:,1].T)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And... This is the end! We have gone through a lot of things during this series on linear algebra! I hope that it was a useful introduction to this topic which is of large importance in the data science/machine learning/deep learning fields." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "## PCA\n", + "\n", + "- A lot of intuitive explanations on PCA: https://arxiv.org/pdf/1404.1100.pdf\n", + "\n", + "- https://brilliant.org/wiki/principal-component-analysis/#from-approximate-equality-to-minimizing-function\n", + "\n", + "- http://www4.ncsu.edu/~slrace/LinearAlgebra2017/Slides/PCAPrint.pdf\n", + "\n", + "- https://towardsdatascience.com/a-one-stop-shop-for-principal-component-analysis-5582fb7e0a9c\n", + "\n", + "- https://www.cs.bgu.ac.il/~inabd171/wiki.files/lecture14_handouts.pdf\n", + "\n", + "## Semi-orthogonal matrix\n", + "\n", + "- https://en.wikipedia.org/wiki/Semi-orthogonal_matrix\n", + "\n", + "## Intuition about PCA\n", + "\n", + "- https://georgemdallas.wordpress.com/2013/10/30/principal-component-analysis-4-dummies-eigenvectors-eigenvalues-and-dimension-reduction/\n", + "\n", + "## Derivatives\n", + "\n", + "- https://math.stackexchange.com/questions/1377764/derivative-of-vector-and-vector-transpose-product\n", + "\n", + "## Link between variance maximized and error minimized:\n", + "\n", + "- https://stats.stackexchange.com/questions/130721/what-norm-of-the-reconstruction-error-is-minimized-by-the-low-rank-approximation\n", + "\n", + "- https://stats.stackexchange.com/questions/32174/pca-objective-function-what-is-the-connection-between-maximizing-variance-and-m\n", + "\n", + "- https://stats.stackexchange.com/questions/318625/why-do-the-leading-eigenvectors-of-a-maximize-texttrdtad\n", + "\n", + "## Centering data\n", + "\n", + "- https://www.quora.com/Why-do-we-need-to-center-the-data-for-Principle-Components-Analysis\n", + "- https://stats.stackexchange.com/questions/22329/how-does-centering-the-data-get-rid-of-the-intercept-in-regression-and-pca\n", + "\n", + "## Unit norm constraint\n", + "\n", + "- https://stats.stackexchange.com/questions/117695/why-is-the-eigenvector-in-pca-taken-to-be-unit-norm" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/first-principal-component.png b/Chapters/2.12 Example - Principal Components Analysis/images/first-principal-component.png new file mode 100644 index 0000000..af5f236 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/first-principal-component.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/gradient-descent-local-minima.png b/Chapters/2.12 Example - Principal Components Analysis/images/gradient-descent-local-minima.png new file mode 100644 index 0000000..36b3bd5 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/gradient-descent-local-minima.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/gradient-descent.png b/Chapters/2.12 Example - Principal Components Analysis/images/gradient-descent.png new file mode 100644 index 0000000..3f92202 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/gradient-descent.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/orthogonal-vectors.png b/Chapters/2.12 Example - Principal Components Analysis/images/orthogonal-vectors.png new file mode 100644 index 0000000..121b374 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/orthogonal-vectors.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/principal-component-analysis-variance-explained.png b/Chapters/2.12 Example - Principal Components Analysis/images/principal-component-analysis-variance-explained.png new file mode 100644 index 0000000..af0c487 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/principal-component-analysis-variance-explained.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-change-coordinates.png b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-change-coordinates.png new file mode 100644 index 0000000..d97daa0 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-change-coordinates.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-decoding-function.png b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-decoding-function.png new file mode 100644 index 0000000..df70827 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-decoding-function.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-encoding-function.png b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-encoding-function.png new file mode 100644 index 0000000..b0a4a2e Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-encoding-function.png differ diff --git a/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-reconstruction-function.png b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-reconstruction-function.png new file mode 100644 index 0000000..07d4b47 Binary files /dev/null and b/Chapters/2.12 Example - Principal Components Analysis/images/principal-components-analysis-PCA-reconstruction-function.png differ diff --git a/Chapters/Extra: Projection/.ipynb_checkpoints/Projection-checkpoint.ipynb b/Chapters/Extra: Projection/.ipynb_checkpoints/Projection-checkpoint.ipynb new file mode 100644 index 0000000..2d32848 --- /dev/null +++ b/Chapters/Extra: Projection/.ipynb_checkpoints/Projection-checkpoint.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Projection with dot product\n", + "\n", + "$\n", + "{p} = {x} \\frac{\\langle {x}, {y} \\rangle}{||{x}||^{2}}\n", + "$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0.],\n", + " [2., 4.]])" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We are trying to solve for the p-vector\n", + "u = np.array([[0,0],[2,4]])\n", + "v = np.array([[0,0],[5,5]])\n", + "\n", + "def project(a,b):\n", + " return a*(np.dot(a.T,b))/(np.dot(a.T,a))\n", + "\n", + "p = project(v,u)\n", + "p" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.02173913, 0.04347826, 0.08695652, 0.10869565],\n", + " [0.04347826, 0.08695652, 0.17391304, 0.2173913 ],\n", + " [0.08695652, 0.17391304, 0.34782609, 0.43478261],\n", + " [0.10869565, 0.2173913 , 0.43478261, 0.54347826]])" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Projection Matrix\n", + "P = np.outer(a,a.T)/np.dot(a.T, a)\n", + "P" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "u = u.flatten()\n", + "v = v.flatten()\n", + "p = [2,4,1,-1] # This is our projection\n", + "plt.quiver([u[0], v[0], p[0]], \n", + " [u[1], v[1], p[1]], \n", + " [u[2], v[2], p[2]], \n", + " [u[3], v[3], p[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=sns.color_palette())\n", + "# plt.rc('text', usetex=True)\n", + "plt.xlim(-2, 6)\n", + "plt.ylim(-2, 8)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.text(0, 3, r'$||\\vec{u}||$', color=sns.color_palette()[0], size=20)\n", + "plt.text(3, 1.5, r'$||\\vec{v}||$', color=sns.color_palette()[1], size=20)\n", + "plt.text(2, 5, r'$||\\vec{p}||$', color=sns.color_palette()[2], size=20)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Chapters/Extra: Projection/Projection.ipynb b/Chapters/Extra: Projection/Projection.ipynb new file mode 100644 index 0000000..2d32848 --- /dev/null +++ b/Chapters/Extra: Projection/Projection.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Projection with dot product\n", + "\n", + "$\n", + "{p} = {x} \\frac{\\langle {x}, {y} \\rangle}{||{x}||^{2}}\n", + "$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0.],\n", + " [2., 4.]])" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We are trying to solve for the p-vector\n", + "u = np.array([[0,0],[2,4]])\n", + "v = np.array([[0,0],[5,5]])\n", + "\n", + "def project(a,b):\n", + " return a*(np.dot(a.T,b))/(np.dot(a.T,a))\n", + "\n", + "p = project(v,u)\n", + "p" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.02173913, 0.04347826, 0.08695652, 0.10869565],\n", + " [0.04347826, 0.08695652, 0.17391304, 0.2173913 ],\n", + " [0.08695652, 0.17391304, 0.34782609, 0.43478261],\n", + " [0.10869565, 0.2173913 , 0.43478261, 0.54347826]])" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Projection Matrix\n", + "P = np.outer(a,a.T)/np.dot(a.T, a)\n", + "P" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "u = u.flatten()\n", + "v = v.flatten()\n", + "p = [2,4,1,-1] # This is our projection\n", + "plt.quiver([u[0], v[0], p[0]], \n", + " [u[1], v[1], p[1]], \n", + " [u[2], v[2], p[2]], \n", + " [u[3], v[3], p[3]],\n", + " angles='xy', scale_units='xy', scale=1, color=sns.color_palette())\n", + "# plt.rc('text', usetex=True)\n", + "plt.xlim(-2, 6)\n", + "plt.ylim(-2, 8)\n", + "plt.axvline(x=0, color='grey')\n", + "plt.axhline(y=0, color='grey')\n", + "\n", + "plt.text(0, 3, r'$||\\vec{u}||$', color=sns.color_palette()[0], size=20)\n", + "plt.text(3, 1.5, r'$||\\vec{v}||$', color=sns.color_palette()[1], size=20)\n", + "plt.text(2, 5, r'$||\\vec{p}||$', color=sns.color_palette()[2], size=20)\n", + "\n", + "plt.show()\n", + "plt.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Linear_Algebra_Review.pdf b/Linear_Algebra_Review.pdf new file mode 100644 index 0000000..0fd8fea Binary files /dev/null and b/Linear_Algebra_Review.pdf differ diff --git a/deep-learning-book-goodfellow-cover.jpg b/deep-learning-book-goodfellow-cover.jpg new file mode 100644 index 0000000..71ed250 Binary files /dev/null and b/deep-learning-book-goodfellow-cover.jpg differ