{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", " \n", " \"QuantEcon\"\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Linear Algebra\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contents\n", "\n", "- [Linear Algebra](#Linear-Algebra) \n", " - [Overview](#Overview) \n", " - [Vectors](#Vectors) \n", " - [Matrices](#Matrices) \n", " - [Solving Systems of Equations](#Solving-Systems-of-Equations) \n", " - [Eigenvalues and Eigenvectors](#Eigenvalues-and-Eigenvectors) \n", " - [Further Topics](#Further-Topics) \n", " - [Exercises](#Exercises) \n", " - [Solutions](#Solutions) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview\n", "\n", "Linear algebra is one of the most useful branches of applied mathematics for economists to invest in.\n", "\n", "For example, many applied problems in economics and finance require the solution of a linear system of equations, such as\n", "\n", "$$\n", "\\begin{array}{c}\n", " y_1 = a x_1 + b x_2 \\\\\n", " y_2 = c x_1 + d x_2\n", "\\end{array}\n", "$$\n", "\n", "or, more generally,\n", "\n", "\n", "\n", "$$\n", "\\begin{array}{c}\n", " y_1 = a_{11} x_1 + a_{12} x_2 + \\cdots + a_{1k} x_k \\\\\n", " \\vdots \\\\\n", " y_n = a_{n1} x_1 + a_{n2} x_2 + \\cdots + a_{nk} x_k\n", "\\end{array} \\tag{1}\n", "$$\n", "\n", "The objective here is to solve for the “unknowns” $ x_1, \\ldots, x_k $ given $ a_{11}, \\ldots, a_{nk} $ and $ y_1, \\ldots, y_n $.\n", "\n", "When considering such problems, it is essential that we first consider at least some of the following questions\n", "\n", "- Does a solution actually exist? \n", "- Are there in fact many solutions, and if so how should we interpret them? \n", "- If no solution exists, is there a best “approximate” solution? \n", "- If a solution exists, how should we compute it? \n", "\n", "\n", "These are the kinds of topics addressed by linear algebra.\n", "\n", "In this lecture we will cover the basics of linear and matrix algebra, treating both theory and computation.\n", "\n", "We admit some overlap with [this lecture](../getting_started_julia/fundamental_types.html), where operations on Julia arrays were first explained.\n", "\n", "Note that this lecture is more theoretical than most, and contains background\n", "material that will be used in applications as we go along." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Vectors\n", "\n", "\n", "\n", "A *vector* is an element of a vector space.\n", "\n", "Vectors can be added together and scaled (multiplied) by scalars.\n", "\n", "Vectors can be written as $ x = [x_1, \\ldots, x_n] $.\n", "\n", "The set of all $ n $-vectors is denoted by $ \\mathbb R^n $.\n", "\n", "For example, $ \\mathbb R ^2 $ is the plane, and a vector in $ \\mathbb R^2 $ is just a point in the plane.\n", "\n", "Traditionally, vectors are represented visually as arrows from the origin to\n", "the point.\n", "\n", "The following figure represents three vectors in this manner." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hide-output": true }, "outputs": [], "source": [ "using InstantiateFromURL\n", "github_project(\"QuantEcon/quantecon-notebooks-julia\", version = \"0.6.0\")\n", "# uncomment to force package installation and precompilation\n", "# github_project(\"QuantEcon/quantecon-notebooks-julia\", version=\"0.6.0\", instantiate=true, precompile = true)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hide-output": false }, "outputs": [], "source": [ "using LinearAlgebra, Statistics, Plots\n", "gr(fmt=:png);" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3deVhUZcMG8Jtl2EEYQRTBDRX3JH1x3801pTQ1NdTccdfXBBfUyjI3TCtXzJTk0yzTTFxwzdwVMcodFRFZFFBWWWbm+2OMlwwZtuE5M3P/rq6umcPhnJszMjdnmecYqVQqEBERGSpj0QGIiIhEYhESEZFBYxESEZFBYxESEZFBYxESEZFBYxESEZFBMxUdgMhw3b17NygoKP/p8OHDmzZtKjAPkWHiHiGRMNHR0cHBwQ5/MzMzE52IyBBxj5BIJGdnZz8/P9EpiAwai5BIpCdPnsyZM8fe3r5///5NmjQRHYfIEGm3CJVKpUKh0OoqyoVCoTAxMRGdQgP1YHhGRkaig2igExsT0shpbW3dr1+/qlWr3r17t02bNn379s3MzCw4Q3Z2tpGR0SuHTDt27Dh9+vSKTaqBFDZmcehETqVSaWRkxN/08mJiYmJsrOEkoHaLMC8vz9RUB3Y6MzMzbW1tRafQIDc3V6lUmpubiw6igU5sTEgjp5eXl5eXl/pxvXr11q9fv2zZsoIzbN++3dbW9t133y040dXVVWpvQFLYmMWhEzlzcnJkMpnUXuJ/04mNqd4ZE1yEADQmkAJjY2Pp51Qn1Imc0g8J6eX09PR89uzZK513/vx5uVz+ykQJktrGfB2dyGn8N9FBNNCJkACKc1RSB34MIn319OlT9QOlUrljx44WLVqIzUNkmHTguCWRvvLz8ztz5kzt2rWjoqJMTEz27dsnOhGRIWIREgmzadOmv/76KzEx0cnJqXHjxjpxQp1I//AXj0gYExOTZs2aiU5BZOh4jpCIiAwai5CIiAwai5CIiAwai5CIiAwai5CIiAwai5CIiAwai5CIiAwaP0dIRPrg+fPnXbt2zX+6bds29W2tsrOzw8PD7927l5GR4eDg0KNHj0qVKpV6LVlZWXFxcQCcnJzyh5z+/vvvV69erX5cu3btH3/8sfQ/BonAIiQifZCXlxceHi6Xy3v27AnAwsIiKSlp2rRpv/76a2pqav5sVlZWH3300cKFC0s3YPSECROCg4MBbN26ddSoUeqJDg4OHh4eSqVy165dr9xIi3QCi5CI9Ie7u3tISIj68Y0bN0JCQmrUqOHr6/vGG28YGxsfP35869atH3/8cV5e3pIlS0q68NDQ0ODgYBsbm/T09ILT+/bt27dv3xcvXuzatat8fgyqWCxCItJPDg4OO3fuHDhwYP4grn369OnVq9eAAQNWrlw5Z84cOzu74i8tNTV14sSJrVq1cnNz48FPPcOLZYhIP1WtWnXIkCGvDGX+7rvvuri4ZGdnX79+vURLmz17dkJCwpYtW6R/y1wqKRYhERkWc3Pz/P8X04kTJ4KCgubNm9e4cWOt5SJhWIREZEDOnTt3//59R0dH9TWlxZGZmTlu3DgPDw9/f3+tZiNReI6QiAxFenr6iBEjACxcuFAmkxXzu/z8/O7fv//bb7+VaCeSdAj3CInIICgUCl9f37t37/bt23fKlCnF/K5z586tW7du0qRJ7dq102o8EohFSET6T6VSTZw4cd++fW3atNm5c6eRkVFxvis7O3vMmDFVq1YtxWctSIfw0CgR6TmVSuXr6xsUFNSiRYtDhw7Z2NgU8xs3btx448aNcePGHTlyJH9iTEwMgEuXLllbWzdo0KBp06ZaCU0ViEVIRHrOz89v48aNb7zxxp49e0r02cHnz58D2Lx58+bNm1/50rp169atW+fv77906dLyzEoisAiJSJ/5+/uvWLGiadOmR48eLenVLn379nV2dn5l4ubNmy9fvjxq1Kg2bdo0b968/JKSMCxCItJb8+fPX7ZsmYeHx5EjRxwdHdPS0l6ZISoqavny5XZ2ditWrPj3t7/55ptvvvnmKxOPHz9++fLlTp065Y81SrqORUhE+un333///PPPAVhYWPj4+ABQKBT548LMnz+/c+fO8fHxmzZtqlq1aqFFSAaCRUhE+kmpVDo4OAB4+PDhw4cPAahUqvzrRVNSUgDEx8cD8PT0LP5ira2tHRwc+JlCfcIiJCL91LFjx+Tk5IJT0tLS8m8iqHbixAkAixcvLv5it2zZsmXLlvIISFLBzxESkf64efNmp06dOnXqVMwxtY8fP+7t7e3l5VWWle7atatTp049evQoy0JIIO4REgmmUqmWLl1apUqVsWPHis6iw8zMzPr165f/9JWbThRKqVTOnDmzW7duZVy1ubm5+q73/fr1c3NzK+PSqOKxCIkE27Bhw5dffvnGG2+wCMvC1tb2l19+KdG3GBsbjxs3ruyrfuedd955552yL4dE4aFRIpGio6O/+eabGTNmiA5C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" }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_vals = [0 0 0 ; 2 -3 -4]\n", "y_vals = [0 0 0 ; 4 3 -3.5]\n", "\n", "plot(x_vals, y_vals, arrow = true, color = :blue,\n", " legend = :none, xlims = (-5, 5), ylims = (-5, 5),\n", " annotations = [(2.2, 4.4, \"[2, 4]\"),\n", " (-3.3, 3.3, \"[-3, 3]\"),\n", " (-4.4, -3.85, \"[-4, -3.5]\")],\n", " xticks = -5:1:5, yticks = -5:1:5,\n", " framestyle = :origin)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vector Operations\n", "\n", "\n", "\n", "The two most common operators for vectors are addition and scalar multiplication, which we now describe.\n", "\n", "As a matter of definition, when we add two vectors, we add them element by element\n", "\n", "$$\n", "x + y\n", "=\n", "\\left[\n", "\\begin{array}{c}\n", " x_1 \\\\\n", " x_2 \\\\\n", " \\vdots \\\\\n", " x_n\n", "\\end{array}\n", "\\right]\n", "+\n", "\\left[\n", "\\begin{array}{c}\n", " y_1 \\\\\n", " y_2 \\\\\n", " \\vdots \\\\\n", " y_n\n", "\\end{array}\n", "\\right]\n", ":=\n", "\\left[\n", "\\begin{array}{c}\n", " x_1 + y_1 \\\\\n", " x_2 + y_2 \\\\\n", " \\vdots \\\\\n", " x_n + y_n\n", "\\end{array}\n", "\\right]\n", "$$\n", "\n", "Scalar multiplication is an operation that takes a number $ \\gamma $ and a\n", "vector $ x $ and produces\n", "\n", "$$\n", "\\gamma x\n", ":=\n", "\\left[\n", "\\begin{array}{c}\n", " \\gamma x_1 \\\\\n", " \\gamma x_2 \\\\\n", " \\vdots \\\\\n", " \\gamma x_n\n", "\\end{array}\n", "\\right]\n", "$$\n", "\n", "Scalar multiplication is illustrated in the next figure" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# illustrate scalar multiplication\n", "\n", "x = [2]\n", "scalars = [-2 1 2]\n", "vals = [0 0 0; x * scalars]\n", "labels = [(-3.6, -4.2, \"-2x\"), (2.4, 1.8, \"x\"), (4.4, 3.8, \"2x\")]\n", "\n", "plot(vals, vals, arrow = true, color = [:red :red :blue],\n", " legend = :none, xlims = (-5, 5), ylims = (-5, 5),\n", " annotations = labels, xticks = -5:1:5, yticks = -5:1:5,\n", " framestyle = :origin)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In Julia, a vector can be represented as a one dimensional Array.\n", "\n", "Julia Arrays allow us to express scalar multiplication and addition with a very natural syntax" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "3-element Array{Float64,1}:\n", " 1.0\n", " 1.0\n", " 1.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = ones(3)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "3-element Array{Int64,1}:\n", " 2\n", " 4\n", " 6" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = [2, 4, 6]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "3-element Array{Float64,1}:\n", " 3.0\n", " 5.0\n", " 7.0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x + y" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "3-element Array{Float64,1}:\n", " 4.0\n", " 4.0\n", " 4.0" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "4x # equivalent to 4 * x and 4 .* x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inner Product and Norm\n", "\n", "\n", "\n", "The *inner product* of vectors $ x,y \\in \\mathbb R ^n $ is defined as\n", "\n", "$$\n", "x' y := \\sum_{i=1}^n x_i y_i\n", "$$\n", "\n", "Two vectors are called *orthogonal* if their inner product is zero.\n", "\n", "The *norm* of a vector $ x $ represents its “length” (i.e., its distance from the zero vector) and is defined as\n", "\n", "$$\n", "\\| x \\| := \\sqrt{x' x} := \\left( \\sum_{i=1}^n x_i^2 \\right)^{1/2}\n", "$$\n", "\n", "The expression $ \\| x - y\\| $ is thought of as the distance between $ x $ and $ y $.\n", "\n", "Continuing on from the previous example, the inner product and norm can be computed as\n", "follows" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "hide-output": false }, "outputs": [], "source": [ "using LinearAlgebra" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "12.0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dot(x, y) # Inner product of x and y" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "12.0" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(prod, zip(x, y)) # Gives the same result" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "1.7320508075688772" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "norm(x) # Norm of x" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "1.7320508075688772" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sqrt(sum(abs2, x)) # Gives the same result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Span\n", "\n", "\n", "\n", "Given a set of vectors $ A := \\{a_1, \\ldots, a_k\\} $ in $ \\mathbb R ^n $, it’s natural to think about the new vectors we can create by performing linear operations.\n", "\n", "New vectors created in this manner are called *linear combinations* of $ A $.\n", "\n", "In particular, $ y \\in \\mathbb R ^n $ is a linear combination of $ A := \\{a_1, \\ldots, a_k\\} $ if\n", "\n", "$$\n", "y = \\beta_1 a_1 + \\cdots + \\beta_k a_k\n", "\\text{ for some scalars } \\beta_1, \\ldots, \\beta_k\n", "$$\n", "\n", "In this context, the values $ \\beta_1, \\ldots, \\beta_k $ are called the *coefficients* of the linear combination.\n", "\n", "The set of linear combinations of $ A $ is called the *span* of $ A $.\n", "\n", "The next figure shows the span of $ A = \\{a_1, a_2\\} $ in $ \\mathbb R ^3 $.\n", "\n", "The span is a 2 dimensional plane passing through these two points and the origin.\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "hide-output": false, "html-class": "collapse" }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# fixed linear function, to generate a plane\n", "f(x, y) = 0.2x + 0.1y\n", "\n", "# lines to vectors\n", "x_vec = [0 0; 3 3]\n", "y_vec = [0 0; 4 -4]\n", "z_vec = [0 0; f(3, 4) f(3, -4)]\n", "\n", "# draw the plane\n", "n = 20\n", "grid = range(-5, 5, length = n)\n", "z2 = [ f(grid[row], grid[col]) for row in 1:n, col in 1:n ]\n", "wireframe(grid, grid, z2, fill = :blues, gridalpha =1 )\n", "plot!(x_vec, y_vec, z_vec, color = [:blue :green], linewidth = 3, labels = \"\",\n", " colorbar = false)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Examples\n", "\n", "If $ A $ contains only one vector $ a_1 \\in \\mathbb R ^2 $, then its\n", "span is just the scalar multiples of $ a_1 $, which is the unique line passing through both $ a_1 $ and the origin.\n", "\n", "If $ A = \\{e_1, e_2, e_3\\} $ consists of the *canonical basis vectors* of $ \\mathbb R ^3 $, that is\n", "\n", "$$\n", "e_1\n", ":=\n", "\\left[\n", "\\begin{array}{c}\n", " 1 \\\\\n", " 0 \\\\\n", " 0\n", "\\end{array}\n", "\\right]\n", ", \\quad\n", "e_2\n", ":=\n", "\\left[\n", "\\begin{array}{c}\n", " 0 \\\\\n", " 1 \\\\\n", " 0\n", "\\end{array}\n", "\\right]\n", ", \\quad\n", "e_3\n", ":=\n", "\\left[\n", "\\begin{array}{c}\n", " 0 \\\\\n", " 0 \\\\\n", " 1\n", "\\end{array}\n", "\\right]\n", "$$\n", "\n", "then the span of $ A $ is all of $ \\mathbb R ^3 $, because, for any\n", "$ x = (x_1, x_2, x_3) \\in \\mathbb R ^3 $, we can write\n", "\n", "$$\n", "x = x_1 e_1 + x_2 e_2 + x_3 e_3\n", "$$\n", "\n", "Now consider $ A_0 = \\{e_1, e_2, e_1 + e_2\\} $.\n", "\n", "If $ y = (y_1, y_2, y_3) $ is any linear combination of these vectors, then $ y_3 = 0 $ (check it).\n", "\n", "Hence $ A_0 $ fails to span all of $ \\mathbb R ^3 $.\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear Independence\n", "\n", "\n", "\n", "As we’ll see, it’s often desirable to find families of vectors with relatively large span, so that many vectors can be described by linear operators on a few vectors.\n", "\n", "The condition we need for a set of vectors to have a large span is what’s called linear independence.\n", "\n", "In particular, a collection of vectors $ A := \\{a_1, \\ldots, a_k\\} $ in $ \\mathbb R ^n $ is said to be\n", "\n", "- *linearly dependent* if some strict subset of $ A $ has the same span as $ A $ \n", "- *linearly independent* if it is not linearly dependent \n", "\n", "\n", "Put differently, a set of vectors is linearly independent if no vector is redundant to the span, and linearly dependent otherwise.\n", "\n", "To illustrate the idea, recall [the figure](#la-3dvec) that showed the span of vectors $ \\{a_1, a_2\\} $ in $ \\mathbb R ^3 $ as a plane through the origin.\n", "\n", "If we take a third vector $ a_3 $ and form the set $ \\{a_1, a_2, a_3\\} $, this set will be\n", "\n", "- linearly dependent if $ a_3 $ lies in the plane \n", "- linearly independent otherwise \n", "\n", "\n", "As another illustration of the concept, since $ \\mathbb R ^n $ can be spanned by $ n $ vectors\n", "(see the discussion of canonical basis vectors above), any collection of\n", "$ m > n $ vectors in $ \\mathbb R ^n $ must be linearly dependent.\n", "\n", "The following statements are equivalent to linear independence of $ A := \\{a_1, \\ldots, a_k\\} \\subset \\mathbb R ^n $.\n", "\n", "1. No vector in $ A $ can be formed as a linear combination of the other elements. \n", "1. If $ \\beta_1 a_1 + \\cdots \\beta_k a_k = 0 $ for scalars $ \\beta_1, \\ldots, \\beta_k $, then $ \\beta_1 = \\cdots = \\beta_k = 0 $. \n", "\n", "\n", "(The zero in the first expression is the origin of $ \\mathbb R ^n $)\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Unique Representations\n", "\n", "Another nice thing about sets of linearly independent vectors is that each element in the span has a unique representation as a linear combination of these vectors.\n", "\n", "In other words, if $ A := \\{a_1, \\ldots, a_k\\} \\subset \\mathbb R ^n $ is\n", "linearly independent and\n", "\n", "$$\n", "y = \\beta_1 a_1 + \\cdots \\beta_k a_k\n", "$$\n", "\n", "then no other coefficient sequence $ \\gamma_1, \\ldots, \\gamma_k $ will produce\n", "the same vector $ y $.\n", "\n", "Indeed, if we also have $ y = \\gamma_1 a_1 + \\cdots \\gamma_k a_k $,\n", "then\n", "\n", "$$\n", "(\\beta_1 - \\gamma_1) a_1 + \\cdots + (\\beta_k - \\gamma_k) a_k = 0\n", "$$\n", "\n", "Linear independence now implies $ \\gamma_i = \\beta_i $ for all $ i $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Matrices\n", "\n", "\n", "\n", "Matrices are a neat way of organizing data for use in linear operations.\n", "\n", "An $ n \\times k $ matrix is a rectangular array $ A $ of numbers with $ n $ rows and $ k $ columns:\n", "\n", "$$\n", "A =\n", "\\left[\n", "\\begin{array}{cccc}\n", " a_{11} & a_{12} & \\cdots & a_{1k} \\\\\n", " a_{21} & a_{22} & \\cdots & a_{2k} \\\\\n", " \\vdots & \\vdots & & \\vdots \\\\\n", " a_{n1} & a_{n2} & \\cdots & a_{nk}\n", "\\end{array}\n", "\\right]\n", "$$\n", "\n", "Often, the numbers in the matrix represent coefficients in a system of linear equations, as discussed at the start of this lecture.\n", "\n", "For obvious reasons, the matrix $ A $ is also called a vector if either $ n = 1 $ or $ k = 1 $.\n", "\n", "In the former case, $ A $ is called a *row vector*, while in the latter it is called a *column vector*.\n", "\n", "If $ n = k $, then $ A $ is called *square*.\n", "\n", "The matrix formed by replacing $ a_{ij} $ by $ a_{ji} $ for every $ i $ and $ j $ is called the *transpose* of $ A $, and denoted $ A' $ or $ A^{\\top} $.\n", "\n", "If $ A = A' $, then $ A $ is called *symmetric*.\n", "\n", "For a square matrix $ A $, the $ i $ elements of the form $ a_{ii} $ for $ i=1,\\ldots,n $ are called the *principal diagonal*.\n", "\n", "$ A $ is called *diagonal* if the only nonzero entries are on the principal diagonal.\n", "\n", "If, in addition to being diagonal, each element along the principal diagonal is equal to 1, then $ A $ is called the *identity matrix*, and denoted by $ I $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrix Operations\n", "\n", "\n", "\n", "Just as was the case for vectors, a number of algebraic operations are defined for matrices.\n", "\n", "Scalar multiplication and addition are immediate generalizations of the vector case:\n", "\n", "$$\n", "\\gamma A\n", "=\n", "\\gamma\n", "\\left[\n", "\\begin{array}{ccc}\n", " a_{11} & \\cdots & a_{1k} \\\\\n", " \\vdots & \\vdots & \\vdots \\\\\n", " a_{n1} & \\cdots & a_{nk} \\\\\n", "\\end{array}\n", "\\right]\n", ":=\n", "\\left[\n", "\\begin{array}{ccc}\n", " \\gamma a_{11} & \\cdots & \\gamma a_{1k} \\\\\n", " \\vdots & \\vdots & \\vdots \\\\\n", " \\gamma a_{n1} & \\cdots & \\gamma a_{nk} \\\\\n", "\\end{array}\n", "\\right]\n", "$$\n", "\n", "and\n", "\n", "$$\n", "A + B =\n", "\\left[\n", "\\begin{array}{ccc}\n", " a_{11} & \\cdots & a_{1k} \\\\\n", " \\vdots & \\vdots & \\vdots \\\\\n", " a_{n1} & \\cdots & a_{nk} \\\\\n", "\\end{array}\n", "\\right]\n", "+\n", "\\left[\n", "\\begin{array}{ccc}\n", " b_{11} & \\cdots & b_{1k} \\\\\n", " \\vdots & \\vdots & \\vdots \\\\\n", " b_{n1} & \\cdots & b_{nk} \\\\\n", "\\end{array}\n", "\\right]\n", ":=\n", "\\left[\n", "\\begin{array}{ccc}\n", " a_{11} + b_{11} & \\cdots & a_{1k} + b_{1k} \\\\\n", " \\vdots & \\vdots & \\vdots \\\\\n", " a_{n1} + b_{n1} & \\cdots & a_{nk} + b_{nk} \\\\\n", "\\end{array}\n", "\\right]\n", "$$\n", "\n", "In the latter case, the matrices must have the same shape in order for the definition to make sense.\n", "\n", "We also have a convention for *multiplying* two matrices.\n", "\n", "The rule for matrix multiplication generalizes the idea of inner products discussed above,\n", "and is designed to make multiplication play well with basic linear operations.\n", "\n", "If $ A $ and $ B $ are two matrices, then their product $ A B $ is formed by taking as its\n", "$ i,j $-th element the inner product of the $ i $-th row of $ A $ and the\n", "$ j $-th column of $ B $.\n", "\n", "There are many tutorials to help you visualize this operation, such as [this one](http://www.mathsisfun.com/algebra/matrix-multiplying.html), or the discussion on the [Wikipedia page](https://en.wikipedia.org/wiki/Matrix_multiplication).\n", "\n", "If $ A $ is $ n \\times k $ and $ B $ is $ j \\times m $, then\n", "to multiply $ A $ and $ B $ we require $ k = j $, and the\n", "resulting matrix $ A B $ is $ n \\times m $.\n", "\n", "As perhaps the most important special case, consider multiplying $ n \\times k $ matrix $ A $ and $ k \\times 1 $ column vector $ x $.\n", "\n", "According to the preceding rule, this gives us an $ n \\times 1 $ column vector\n", "\n", "\n", "\n", "$$\n", "A x =\n", "\\left[\n", "\\begin{array}{ccc}\n", " a_{11} & \\cdots & a_{1k} \\\\\n", " \\vdots & \\vdots & \\vdots \\\\\n", " a_{n1} & \\cdots & a_{nk}\n", "\\end{array}\n", "\\right]\n", "\\left[\n", "\\begin{array}{c}\n", " x_{1} \\\\\n", " \\vdots \\\\\n", " x_{k}\n", "\\end{array}\n", "\\right] :=\n", "\\left[\n", "\\begin{array}{c}\n", " a_{11} x_1 + \\cdots + a_{1k} x_k \\\\\n", " \\vdots \\\\\n", " a_{n1} x_1 + \\cdots + a_{nk} x_k\n", "\\end{array}\n", "\\right] \\tag{2}\n", "$$\n", "\n", ">**Note**\n", ">\n", ">$ A B $ and $ B A $ are not generally the same thing.\n", "\n", "Another important special case is the identity matrix.\n", "\n", "You should check that if $ A $ is $ n \\times k $ and $ I $ is the $ k \\times k $ identity matrix, then $ AI = A $.\n", "\n", "If $ I $ is the $ n \\times n $ identity matrix, then $ IA = A $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrices in Julia\n", "\n", "Julia arrays are also used as matrices, and have fast, efficient functions and methods for all the standard matrix operations.\n", "\n", "You can create them as follows" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "2×2 Array{Int64,2}:\n", " 1 2\n", " 3 4" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = [1 2\n", " 3 4]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "Array{Int64,2}" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "typeof(A)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "(2, 2)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "size(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `size` function returns a tuple giving the number of rows and columns.\n", "\n", "To get the transpose of `A`, use `transpose(A)` or, more simply, `A'`.\n", "\n", "There are many convenient functions for creating common matrices (matrices of zeros, ones, etc.) — see [here](../getting_started_julia/fundamental_types.html#creating-arrays).\n", "\n", "Since operations are performed elementwise by default, scalar multiplication and addition have very natural syntax" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "3×3 Array{Float64,2}:\n", " 1.0 1.0 1.0\n", " 1.0 1.0 1.0\n", " 1.0 1.0 1.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = ones(3, 3)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "UniformScaling{Int64}\n", "2*I" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2I" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "3×3 Array{Float64,2}:\n", " 2.0 1.0 1.0\n", " 1.0 2.0 1.0\n", " 1.0 1.0 2.0" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A + I" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To multiply matrices we use the `*` operator.\n", "\n", "In particular, `A * B` is matrix multiplication, whereas `A .* B` is element by element multiplication.\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrices as Maps\n", "\n", "\n", "\n", "Each $ n \\times k $ matrix $ A $ can be identified with a function $ f(x) = Ax $ that maps $ x \\in \\mathbb R ^k $ into $ y = Ax \\in \\mathbb R ^n $.\n", "\n", "These kinds of functions have a special property: they are *linear*.\n", "\n", "A function $ f \\colon \\mathbb R ^k \\to \\mathbb R ^n $ is called *linear* if, for all $ x, y \\in \\mathbb R ^k $ and all scalars $ \\alpha, \\beta $, we have\n", "\n", "$$\n", "f(\\alpha x + \\beta y) = \\alpha f(x) + \\beta f(y)\n", "$$\n", "\n", "You can check that this holds for the function $ f(x) = A x + b $ when $ b $ is the zero vector, and fails when $ b $ is nonzero.\n", "\n", "In fact, it’s [known](https://en.wikipedia.org/wiki/Linear_map#Matrices) that $ f $ is linear if and *only if* there exists a matrix $ A $ such that $ f(x) = Ax $ for all $ x $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solving Systems of Equations\n", "\n", "\n", "\n", "Recall again the system of equations [(1)](#equation-la-se).\n", "\n", "If we compare [(1)](#equation-la-se) and [(2)](#equation-la-atx), we see that [(1)](#equation-la-se) can now be\n", "written more conveniently as\n", "\n", "\n", "\n", "$$\n", "y = Ax \\tag{3}\n", "$$\n", "\n", "The problem we face is to determine a vector $ x \\in \\mathbb R ^k $ that solves [(3)](#equation-la-se2), taking $ y $ and $ A $ as given.\n", "\n", "This is a special case of a more general problem: Find an $ x $ such that $ y = f(x) $.\n", "\n", "Given an arbitrary function $ f $ and a $ y $, is there always an $ x $ such that $ y = f(x) $?\n", "\n", "If so, is it always unique?\n", "\n", "The answer to both these questions is negative, as the next figure shows" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "hide-output": false, "html-class": "collapse" }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = 0.6cos(4x) + 1.3\n", "grid = range(-2, 2, length = 100)\n", "y_min, y_max = extrema( f(x) for x in grid )\n", "plt1 = plot(f, xlim = (-2, 2), label = \"f\")\n", "hline!(plt1, [f(0.5)], linestyle = :dot, linewidth = 2, label = \"\")\n", "vline!(plt1, [-1.07, -0.5, 0.5, 1.07], linestyle = :dot, linewidth = 2, label = \"\")\n", "plot!(plt1, fill(0, 2), [y_min y_min; y_max y_max], lw = 3, color = :blue,\n", " label = [\"range of f\" \"\"])\n", "plt2 = plot(f, xlim = (-2, 2), label = \"f\")\n", "hline!(plt2, [2], linestyle = :dot, linewidth = 2, label = \"\")\n", "plot!(plt2, fill(0, 2), [y_min y_min; y_max y_max], lw = 3, color = :blue,\n", " label = [\"range of f\" \"\"])\n", "plot(plt1, plt2, layout = (2, 1), ylim = (0, 3.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the first plot there are multiple solutions, as the function is not one-to-one, while\n", "in the second there are no solutions, since $ y $ lies outside the range of $ f $.\n", "\n", "Can we impose conditions on $ A $ in [(3)](#equation-la-se2) that rule out these problems?\n", "\n", "In this context, the most important thing to recognize about the expression\n", "$ Ax $ is that it corresponds to a linear combination of the columns of $ A $.\n", "\n", "In particular, if $ a_1, \\ldots, a_k $ are the columns of $ A $, then\n", "\n", "$$\n", "Ax = x_1 a_1 + \\cdots + x_k a_k\n", "$$\n", "\n", "Hence the range of $ f(x) = Ax $ is exactly the span of the columns of $ A $.\n", "\n", "We want the range to be large, so that it contains arbitrary $ y $.\n", "\n", "As you might recall, the condition that we want for the span to be large is [linear independence](#la-li).\n", "\n", "A happy fact is that linear independence of the columns of $ A $ also gives us uniqueness.\n", "\n", "Indeed, it follows from our [earlier discussion](#la-unique-reps) that if $ \\{a_1, \\ldots, a_k\\} $ are linearly independent and $ y = Ax = x_1 a_1 + \\cdots + x_k a_k $, then no $ z \\not= x $ satisfies $ y = Az $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The $ n \\times n $ Case\n", "\n", "Let’s discuss some more details, starting with the case where $ A $ is $ n \\times n $.\n", "\n", "This is the familiar case where the number of unknowns equals the number of equations.\n", "\n", "For arbitrary $ y \\in \\mathbb R ^n $, we hope to find a unique $ x \\in \\mathbb R ^n $ such that $ y = Ax $.\n", "\n", "In view of the observations immediately above, if the columns of $ A $ are\n", "linearly independent, then their span, and hence the range of $ f(x) =\n", "Ax $, is all of $ \\mathbb R ^n $.\n", "\n", "Hence there always exists an $ x $ such that $ y = Ax $.\n", "\n", "Moreover, the solution is unique.\n", "\n", "In particular, the following are equivalent\n", "\n", "1. The columns of $ A $ are linearly independent \n", "1. For any $ y \\in \\mathbb R ^n $, the equation $ y = Ax $ has a unique solution \n", "\n", "\n", "The property of having linearly independent columns is sometimes expressed as having *full column rank*." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Inverse Matrices\n", "\n", "\n", "\n", "Can we give some sort of expression for the solution?\n", "\n", "If $ y $ and $ A $ are scalar with $ A \\not= 0 $, then the\n", "solution is $ x = A^{-1} y $.\n", "\n", "A similar expression is available in the matrix case.\n", "\n", "In particular, if square matrix $ A $ has full column rank, then it possesses a multiplicative\n", "*inverse matrix* $ A^{-1} $, with the property that $ A A^{-1} = A^{-1} A = I $.\n", "\n", "As a consequence, if we pre-multiply both sides of $ y = Ax $ by $ A^{-1} $, we get $ x = A^{-1} y $.\n", "\n", "This is the solution that we’re looking for." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Determinants\n", "\n", "\n", "\n", "Another quick comment about square matrices is that to every such matrix we\n", "assign a unique number called the *determinant* of the matrix — you can find\n", "the expression for it [here](https://en.wikipedia.org/wiki/Determinant).\n", "\n", "If the determinant of $ A $ is not zero, then we say that $ A $ is\n", "*nonsingular*.\n", "\n", "Perhaps the most important fact about determinants is that $ A $ is nonsingular if and only if $ A $ is of full column rank.\n", "\n", "This gives us a useful one-number summary of whether or not a square matrix can be\n", "inverted." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### More Rows than Columns\n", "\n", "This is the $ n \\times k $ case with $ n > k $.\n", "\n", "This case is very important in many settings, not least in the setting of linear regression (where $ n $ is the number of observations, and $ k $ is the number of explanatory variables).\n", "\n", "Given arbitrary $ y \\in \\mathbb R ^n $, we seek an $ x \\in \\mathbb R ^k $ such that $ y = Ax $.\n", "\n", "In this setting, existence of a solution is highly unlikely.\n", "\n", "Without much loss of generality, let’s go over the intuition focusing on the case where the columns of\n", "$ A $ are linearly independent.\n", "\n", "It follows that the span of the columns of $ A $ is a $ k $-dimensional subspace of $ \\mathbb R ^n $.\n", "\n", "This span is very “unlikely” to contain arbitrary $ y \\in \\mathbb R ^n $.\n", "\n", "To see why, recall the [figure above](#la-3dvec), where $ k=2 $ and $ n=3 $.\n", "\n", "Imagine an arbitrarily chosen $ y \\in \\mathbb R ^3 $, located somewhere in that three dimensional space.\n", "\n", "What’s the likelihood that $ y $ lies in the span of $ \\{a_1, a_2\\} $ (i.e., the two dimensional plane through these points)?\n", "\n", "In a sense it must be very small, since this plane has zero “thickness”.\n", "\n", "As a result, in the $ n > k $ case we usually give up on existence.\n", "\n", "However, we can still seek a best approximation, for example an\n", "$ x $ that makes the distance $ \\| y - Ax\\| $ as small as possible.\n", "\n", "To solve this problem, one can use either calculus or the theory of orthogonal\n", "projections.\n", "\n", "The solution is known to be $ \\hat x = (A'A)^{-1}A'y $ — see for example\n", "chapter 3 of these notes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### More Columns than Rows\n", "\n", "This is the $ n \\times k $ case with $ n < k $, so there are fewer\n", "equations than unknowns.\n", "\n", "In this case there are either no solutions or infinitely many — in other words, uniqueness never holds.\n", "\n", "For example, consider the case where $ k=3 $ and $ n=2 $.\n", "\n", "Thus, the columns of $ A $ consists of 3 vectors in $ \\mathbb R ^2 $.\n", "\n", "This set can never be linearly independent, since it is possible to find two vectors that span\n", "$ \\mathbb R ^2 $.\n", "\n", "(For example, use the canonical basis vectors)\n", "\n", "It follows that one column is a linear combination of the other two.\n", "\n", "For example, let’s say that $ a_1 = \\alpha a_2 + \\beta a_3 $.\n", "\n", "Then if $ y = Ax = x_1 a_1 + x_2 a_2 + x_3 a_3 $, we can also write\n", "\n", "$$\n", "y\n", "= x_1 (\\alpha a_2 + \\beta a_3) + x_2 a_2 + x_3 a_3\n", "= (x_1 \\alpha + x_2) a_2 + (x_1 \\beta + x_3) a_3\n", "$$\n", "\n", "In other words, uniqueness fails." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear Equations with Julia\n", "\n", "Here’s an illustration of how to solve linear equations with Julia’s built-in linear algebra facilities" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "hide-output": false }, "outputs": [], "source": [ "A = [1.0 2.0; 3.0 4.0];" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "hide-output": false }, "outputs": [], "source": [ "y = ones(2, 1); # A column vector" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "-2.0" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det(A)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "2×2 Array{Float64,2}:\n", " -2.0 1.0\n", " 1.5 -0.5" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_inv = inv(A)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "2×1 Array{Float64,2}:\n", " -0.9999999999999998\n", " 0.9999999999999999" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = A_inv * y # solution" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "2×1 Array{Float64,2}:\n", " 1.0\n", " 1.0000000000000004" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A * x # should equal y (a vector of ones)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "2×1 Array{Float64,2}:\n", " -1.0\n", " 1.0" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A \\ y # produces the same solution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe how we can solve for $ x = A^{-1} y $ by either via `inv(A) * y`, or using `A \\ y`.\n", "\n", "The latter method is preferred because it automatically selects the best algorithm for the problem based on the types of `A` and `y`.\n", "\n", "If `A` is not square then `A \\ y` returns the least squares solution $ \\hat x = (A'A)^{-1}A'y $.\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Eigenvalues and Eigenvectors\n", "\n", "\n", "\n", "Let $ A $ be an $ n \\times n $ square matrix.\n", "\n", "If $ \\lambda $ is scalar and $ v $ is a non-zero vector in $ \\mathbb R ^n $ such that\n", "\n", "$$\n", "A v = \\lambda v\n", "$$\n", "\n", "then we say that $ \\lambda $ is an *eigenvalue* of $ A $, and\n", "$ v $ is an *eigenvector*.\n", "\n", "Thus, an eigenvector of $ A $ is a vector such that when the map $ f(x) = Ax $ is applied, $ v $ is merely scaled.\n", "\n", "The next figure shows two eigenvectors (blue arrows) and their images under $ A $ (red arrows).\n", "\n", "As expected, the image $ Av $ of each $ v $ is just a scaled version of the original" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "hide-output": false, "html-class": "collapse" }, "outputs": [ { "data": { "image/png": "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W/F9H7nZjWweyth02we7JhI4L43oyrAQEonxxz+iuRk6HQIC8N//fXm/O3qyN1tZlvPajUvsqnoHbJav56mhRFeOhZBImKAgNDXh//0/PP44/Pxw6NAl/dYHy95197Pfq7121283bRrNtnW2N3JMIgtnxEI4Pj7+0EMPGW/5ZqqxsfGFF14QnUJytm7dutFIJ1NK3uOP41eBrO0AACAASURBVORJ+PkhMhJ3332hV57eezTWdv8tW++4wan4tN598dOrTJVRWtatW9fT0yM6hbT09fX97ne/E51Ccmpra//xj39c9GVGLIRarfa9994z3vLNVHt7+5YtW0SnkJy6urovvvhCdAphvLywdy9efhnr18PLC+d9J56Lecc3NrBtcnbDP8ret+55af/6178Gze5WyEY2PDz84Ycfik4hOceOHdNoNBd9GXeNEknFffehtxcLFyIx8aypbC2f7QuTN/9y/x0/9/vwpN438r50oTGJLA0LIZGEODpi2zZ8/DE2bcKsWejoiNl5X0/w9QsBtBY1/E/7raIDElkgmV6vN9Kih4aGPDw8Fi5caKTlm6n+/v729vbIyEjRQaTlxIkTExMTc+bMER1EKnQ628OH/zrQFy+H/sdOj1ZFlYpOJCG1tbVRUVFKpVJ0EAnRarX19fUxMTGig0hLT0/P3Llzt23bduGXGbcQent7l5aWGmn5Zqqmpua111579dVXRQeRlnfeeaevr49nV80YGrKpr3fa/cpjP27q0kMx+/e5vZlLRIeSihUrVrz55pu+vr6ig0hIV1fX7bffXlhYKDqItJSWlu7YsWPz5s0XfpmtUUPIZLKEhASjrsLsDA0Nubi48G05R3FxsaOjI9+WKXV10Gpx//0oKUHHEz9TF5RX/LY0OqZibul7cHUVnU48pVIZExPD/QdnOnHihEKh4F/QOdra2srLyy/6Mh4jJJKQ7m4UFMDXFykpkE/9dcrlrm8/n1f7zED7QInn9yf+ymtviAyMhZBIEvR67NmDAweQl4fz7PNTqaJPbkv8ZerORzYdCc/BiRMCIhJZKJsnnnjCSIuemJjQ6XSvv/76P//5z8bGxgULFjg4OBhpXWbE3t6+v7//H//4x7///e/+/n6VSiWX8+sIIiIiJiYmNmzYUF5enp5udZcHtLejvBwqFSIiIJN9+/hHH320YMGCqKioqX8qspeE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" }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = [1 2\n", " 2 1]\n", "evals, evecs = eigen(A)\n", "\n", "a1, a2 = evals\n", "eig_1 = [0 0; evecs[:,1]']\n", "eig_2 = [0 0; evecs[:,2]']\n", "x = range(-5, 5, length = 10)\n", "y = -x\n", "\n", "plot(eig_1[:, 2], a1 * eig_2[:, 2], arrow = true, color = :red,\n", " legend = :none, xlims = (-3, 3), ylims = (-3, 3), xticks = -3:3, yticks = -3:3,\n", " framestyle = :origin)\n", "plot!(a2 * eig_1[:, 2], a2 * eig_2, arrow = true, color = :red)\n", "plot!(eig_1, eig_2, arrow = true, color = :blue)\n", "plot!(x, y, color = :blue, lw = 0.4, alpha = 0.6)\n", "plot!(x, x, color = :blue, lw = 0.4, alpha = 0.6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The eigenvalue equation is equivalent to $ (A - \\lambda I) v = 0 $, and\n", "this has a nonzero solution $ v $ only when the columns of $ A -\n", "\\lambda I $ are linearly dependent.\n", "\n", "This in turn is equivalent to stating that the determinant is zero.\n", "\n", "Hence to find all eigenvalues, we can look for $ \\lambda $ such that the\n", "determinant of $ A - \\lambda I $ is zero.\n", "\n", "This problem can be expressed as one of solving for the roots of a polynomial\n", "in $ \\lambda $ of degree $ n $.\n", "\n", "This in turn implies the existence of $ n $ solutions in the complex\n", "plane, although some might be repeated.\n", "\n", "Some nice facts about the eigenvalues of a square matrix $ A $ are as follows\n", "\n", "1. The determinant of $ A $ equals the product of the eigenvalues. \n", "1. The trace of $ A $ (the sum of the elements on the principal diagonal) equals the sum of the eigenvalues. \n", "1. If $ A $ is symmetric, then all of its eigenvalues are real. \n", "1. If $ A $ is invertible and $ \\lambda_1, \\ldots, \\lambda_n $ are its eigenvalues, then the eigenvalues of $ A^{-1} $ are $ 1/\\lambda_1, \\ldots, 1/\\lambda_n $. \n", "\n", "\n", "A corollary of the first statement is that a matrix is invertible if and only if all its eigenvalues are nonzero.\n", "\n", "Using Julia, we can solve for the eigenvalues and eigenvectors of a matrix as\n", "follows" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "hide-output": false }, "outputs": [], "source": [ "A = [1.0 2.0; 2.0 1.0];" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "hide-output": false }, "outputs": [], "source": [ "evals, evecs = eigen(A);" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "2-element Array{Float64,1}:\n", " -1.0\n", " 3.0" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evals" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "hide-output": false }, "outputs": [ { "data": { "text/plain": [ "2×2 Array{Float64,2}:\n", " -0.707107 0.707107\n", " 0.707107 0.707107" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evecs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the *columns* of `evecs` are the eigenvectors.\n", "\n", "Since any scalar multiple of an eigenvector is an eigenvector with the same\n", "eigenvalue (check it), the eig routine normalizes the length of each eigenvector\n", "to one." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generalized Eigenvalues\n", "\n", "It is sometimes useful to consider the *generalized eigenvalue problem*, which, for given\n", "matrices $ A $ and $ B $, seeks generalized eigenvalues\n", "$ \\lambda $ and eigenvectors $ v $ such that\n", "\n", "$$\n", "A v = \\lambda B v\n", "$$\n", "\n", "This can be solved in Julia via `eigen(A, B)`.\n", "\n", "Of course, if $ B $ is square and invertible, then we can treat the\n", "generalized eigenvalue problem as an ordinary eigenvalue problem $ B^{-1}\n", "A v = \\lambda v $, but this is not always the case." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Further Topics\n", "\n", "We round out our discussion by briefly mentioning several other important\n", "topics." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Series Expansions\n", "\n", "\n", "\n", "Recall the usual summation formula for a geometric progression, which states\n", "that if $ |a| < 1 $, then $ \\sum_{k=0}^{\\infty} a^k = (1 - a)^{-1} $.\n", "\n", "A generalization of this idea exists in the matrix setting.\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Matrix Norms\n", "\n", "\n", "\n", "Let $ A $ be a square matrix, and let\n", "\n", "$$\n", "\\| A \\| := \\max_{\\| x \\| = 1} \\| A x \\|\n", "$$\n", "\n", "The norms on the right-hand side are ordinary vector norms, while the norm on\n", "the left-hand side is a *matrix norm* — in this case, the so-called\n", "*spectral norm*.\n", "\n", "For example, for a square matrix $ S $, the condition $ \\| S \\| < 1 $ means that $ S $ is *contractive*, in the sense that it pulls all vectors towards the origin [1].\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Neumann’s Theorem\n", "\n", "\n", "\n", "Let $ A $ be a square matrix and let $ A^k := A A^{k-1} $ with $ A^1 := A $.\n", "\n", "In other words, $ A^k $ is the $ k $-th power of $ A $.\n", "\n", "Neumann’s theorem states the following: If $ \\| A^k \\| < 1 $ for some\n", "$ k \\in \\mathbb{N} $, then $ I - A $ is invertible, and\n", "\n", "\n", "\n", "$$\n", "(I - A)^{-1} = \\sum_{k=0}^{\\infty} A^k \\tag{4}\n", "$$\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Spectral Radius\n", "\n", "\n", "\n", "A result known as Gelfand’s formula tells us that, for any square matrix $ A $,\n", "\n", "$$\n", "\\rho(A) = \\lim_{k \\to \\infty} \\| A^k \\|^{1/k}\n", "$$\n", "\n", "Here $ \\rho(A) $ is the *spectral radius*, defined as $ \\max_i |\\lambda_i| $, where $ \\{\\lambda_i\\}_i $ is the set of eigenvalues of $ A $.\n", "\n", "As a consequence of Gelfand’s formula, if all eigenvalues are strictly less than one in modulus,\n", "there exists a $ k $ with $ \\| A^k \\| < 1 $.\n", "\n", "In which case [(4)](#equation-la-neumann) is valid." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Positive Definite Matrices\n", "\n", "\n", "\n", "Let $ A $ be a symmetric $ n \\times n $ matrix.\n", "\n", "We say that $ A $ is\n", "\n", "1. *positive definite* if $ x' A x > 0 $ for every $ x \\in \\mathbb R ^n \\setminus \\{0\\} $ \n", "1. *positive semi-definite* or *nonnegative definite* if $ x' A x \\geq 0 $ for every $ x \\in \\mathbb R ^n $ \n", "\n", "\n", "Analogous definitions exist for negative definite and negative semi-definite matrices.\n", "\n", "It is notable that if $ A $ is positive definite, then all of its eigenvalues\n", "are strictly positive, and hence $ A $ is invertible (with positive\n", "definite inverse).\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Differentiating Linear and Quadratic forms\n", "\n", "\n", "\n", "The following formulas are useful in many economic contexts. Let\n", "\n", "- $ z, x $ and $ a $ all be $ n \\times 1 $ vectors \n", "- $ A $ be an $ n \\times n $ matrix \n", "- $ B $ be an $ m \\times n $ matrix and $ y $ be an $ m \\times 1 $ vector \n", "\n", "\n", "Then\n", "\n", "1. $ \\frac{\\partial a' x}{\\partial x} = a $ \n", "1. $ \\frac{\\partial A x}{\\partial x} = A' $ \n", "1. $ \\frac{\\partial x'A x}{\\partial x} = (A + A') x $ \n", "1. $ \\frac{\\partial y'B z}{\\partial y} = B z $ \n", "1. $ \\frac{\\partial y'B z}{\\partial B} = y z' $ \n", "\n", "\n", "Exercise 1 below asks you to apply these formulas." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Further Reading\n", "\n", "The documentation of the linear algebra features built into Julia can be found [here](https://docs.julialang.org/en/stable/manual/linear-algebra/).\n", "\n", "Chapters 2 and 3 of the [Econometric Theory](http://www.johnstachurski.net/emet.html) contains\n", "a discussion of linear algebra along the same lines as above, with solved exercises.\n", "\n", "If you don’t mind a slightly abstract approach, a nice intermediate-level text on linear algebra\n", "is [[Janich94]](../zreferences.html#janich1994)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 1\n", "\n", "Let $ x $ be a given $ n \\times 1 $ vector and consider the problem\n", "\n", "$$\n", "v(x) = \\max_{y,u} \\left\\{ - y'P y - u' Q u \\right\\}\n", "$$\n", "\n", "subject to the linear constraint\n", "\n", "$$\n", "y = A x + B u\n", "$$\n", "\n", "Here\n", "\n", "- $ P $ is an $ n \\times n $ matrix and $ Q $ is an $ m \\times m $ matrix \n", "- $ A $ is an $ n \\times n $ matrix and $ B $ is an $ n \\times m $ matrix \n", "- both $ P $ and $ Q $ are symmetric and positive semidefinite \n", "\n", "\n", "(What must the dimensions of $ y $ and $ u $ be to make this a well-posed problem?)\n", "\n", "One way to solve the problem is to form the Lagrangian\n", "\n", "$$\n", "\\mathcal L = - y' P y - u' Q u + \\lambda' \\left[A x + B u - y\\right]\n", "$$\n", "\n", "where $ \\lambda $ is an $ n \\times 1 $ vector of Lagrange multipliers.\n", "\n", "Try applying the formulas given above for differentiating quadratic and linear forms to obtain the first-order conditions for maximizing $ \\mathcal L $ with respect to $ y, u $ and minimizing it with respect to $ \\lambda $.\n", "\n", "Show that these conditions imply that\n", "\n", "1. $ \\lambda = - 2 P y $ \n", "1. The optimizing choice of $ u $ satisfies $ u = - (Q + B' P B)^{-1} B' P A x $ \n", "1. The function $ v $ satisfies $ v(x) = - x' \\tilde P x $ where $ \\tilde P = A' P A - A'P B (Q + B'P B)^{-1} B' P A $ \n", "\n", "\n", "As we will see, in economic contexts Lagrange multipliers often are shadow prices\n", "\n", ">**Note**\n", ">\n", ">If we don’t care about the Lagrange multipliers, we can substitute the constraint into the objective function, and then just maximize $ -(Ax + Bu)'P (Ax + Bu) - u' Q u $ with respect to $ u $. You can verify that this leads to the same maximizer." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solutions\n", "\n", "Thanks to [Willem Hekman](https://qutech.nl/person/willem-hekman/) and Guanlong Ren\n", "for providing this solution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 1\n", "\n", "We have an optimization problem:\n", "\n", "$$\n", "v(x) = \\max_{y,u} \\{ -y'Py - u'Qu \\}\n", "$$\n", "\n", "s.t.\n", "\n", "$$\n", "y = Ax + Bu\n", "$$\n", "\n", "with primitives\n", "\n", "- $ P $ be a symmetric and positive semidefinite $ n \\times n $\n", " matrix. \n", "- $ Q $ be a symmetric and positive semidefinite $ m \\times m $\n", " matrix. \n", "- $ A $ an $ n \\times n $ matrix. \n", "- $ B $ an $ n \\times m $ matrix. \n", "\n", "\n", "The associated Lagrangian is :\n", "\n", "$$\n", "L = -y'Py - u'Qu + \\lambda' \\lbrack Ax + Bu - y \\rbrack\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1.\n", "\n", "Differentiating Lagrangian equation w.r.t y and setting its derivative\n", "equal to zero yields\n", "\n", "$$\n", "\\frac{ \\partial L}{\\partial y} = - (P + P') y - \\lambda = - 2 P y - \\lambda = 0 \\:,\n", "$$\n", "\n", "since P is symmetric.\n", "\n", "Accordingly, the first-order condition for maximizing L w.r.t. y implies\n", "\n", "$$\n", "\\lambda = -2 Py \\:.\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.\n", "\n", "Differentiating Lagrangian equation w.r.t. u and setting its derivative\n", "equal to zero yields\n", "\n", "$$\n", "\\frac{ \\partial L}{\\partial u} = - (Q + Q') u - B'\\lambda = - 2Qu + B'\\lambda = 0 \\:.\n", "$$\n", "\n", "Substituting $ \\lambda = -2 P y $ gives\n", "\n", "$$\n", "Qu + B'Py = 0 \\:.\n", "$$\n", "\n", "Substituting the linear constraint $ y = Ax + Bu $ into above\n", "equation gives\n", "\n", "$$\n", "Qu + B'P(Ax + Bu) = 0\n", "$$\n", "\n", "$$\n", "(Q + B'PB)u + B'PAx = 0\n", "$$\n", "\n", "which is the first-order condition for maximizing L w.r.t. u.\n", "\n", "Thus, the optimal choice of u must satisfy\n", "\n", "$$\n", "u = -(Q + B'PB)^{-1}B'PAx \\:,\n", "$$\n", "\n", "which follows from the definition of the first-oder conditions for\n", "Lagrangian equation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3.\n", "\n", "Rewriting our problem by substituting the constraint into the objective\n", "function, we get\n", "\n", "$$\n", "v(x) = \\max_{u} \\{ -(Ax+ Bu)'P(Ax+Bu) - u'Qu \\} \\:.\n", "$$\n", "\n", "Since we know the optimal choice of u satisfies $ u = -(Q +\n", "B'PB)^{-1}B'PAx $, then\n", "\n", "$$\n", "v(x) = -(Ax+ B u)'P(Ax+B u) - u'Q u \\,\\,\\,\\, with \\,\\,\\,\\, u = -(Q + B'PB)^{-1}B'PAx\n", "$$\n", "\n", "To evaluate the function\n", "\n", "$$\n", "\\begin{aligned}\n", "v(x) &= -(Ax+ B u)'P(Ax+Bu) - u'Q u \\\\\n", "&= -(x'A' + u'B')P(Ax+Bu) - u'Q u \\\\\n", "&= - x'A'PAx - u'B'PAx - x'A'PBu - u'B'PBu - u'Qu \\\\\n", "&= - x'A'PAx - 2u'B'PAx - u'(Q + B'PB) u\n", "\\end{aligned}\n", "$$\n", "\n", "For simplicity, denote by $ S := (Q + B'PB)^{-1} B'PA $, then $ u = -Sx $.\n", "\n", "Regarding the second term $ - 2u'B'PAx $,\n", "\n", "$$\n", "\\begin{aligned}\n", "- 2u'B'PAx &= -2 x'S'B'PAx \\\\\n", "& = 2 x'A'PB( Q + B'PB)^{-1} B'PAx\n", "\\end{aligned}\n", "$$\n", "\n", "Notice that the term $ (Q + B'PB)^{-1} $ is symmetric as both P and Q\n", "are symmetric.\n", "\n", "Regarding the third term $ - u'(Q + B'PB) u $,\n", "\n", "$$\n", "\\begin{aligned}\n", "- u'(Q + B'PB) u &= - x'S' (Q + B'PB)Sx \\\\\n", "&= -x'A'PB(Q + B'PB)^{-1}B'PAx\n", "\\end{aligned}\n", "$$\n", "\n", "Hence, the summation of second and third terms is\n", "$ x'A'PB(Q + B'PB)^{-1}B'PAx $.\n", "\n", "This implies that\n", "\n", "$$\n", "\\begin{aligned}\n", " v(x) &= - x'A'PAx - 2u'B'PAx - u'(Q + B'PB) u\\\\\n", " &= - x'A'PAx + x'A'PB(Q + B'PB)^{-1}B'PAx \\\\\n", " &= -x'[A'PA - A'PB(Q + B'PB)^{-1}B'PA] x\n", "\\end{aligned}\n", "$$\n", "\n", "Therefore, the solution to the optimization problem\n", "$ v(x) = -x' \\tilde{P}x $ follows the above result by denoting\n", "$ \\tilde{P} := A'PA - A'PB(Q + B'PB)^{-1}B'PA $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Footnotes**\n", "\n", "

[1] Suppose that $ \\|S \\| < 1 $. Take any nonzero vector $ x $, and let $ r := \\|x\\| $. We have $ \\| Sx \\| = r \\| S (x/r) \\| \\leq r \\| S \\| < r = \\| x\\| $. Hence every point is pulled towards the origin." ] } ], "metadata": { "date": 1589496370.3502007, "download_nb": 1, "download_nb_path": "https://julia.quantecon.org/", "filename": "linear_algebra.rst", "filename_with_path": "tools_and_techniques/linear_algebra", "kernelspec": { "display_name": "Julia 1.4.1", "language": "julia", "name": "julia-1.4" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.4.1" }, "title": "Linear Algebra" }, "nbformat": 4, "nbformat_minor": 2 }