{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", " \n", " \"QuantEcon\"\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Classical Control with Linear Algebra" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contents\n", "\n", "- [Classical Control with Linear Algebra](#Classical-Control-with-Linear-Algebra) \n", " - [Overview](#Overview) \n", " - [A Control Problem](#A-Control-Problem) \n", " - [Finite Horizon Theory](#Finite-Horizon-Theory) \n", " - [The Infinite Horizon Limit](#The-Infinite-Horizon-Limit) \n", " - [Undiscounted Problems](#Undiscounted-Problems) \n", " - [Implementation](#Implementation) \n", " - [Exercises](#Exercises) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview\n", "\n", "In an earlier lecture [Linear Quadratic Dynamic Programming Problems](../dynamic_programming/lqcontrol.html) we have studied how to solve a special\n", "class of dynamic optimization and prediction problems by applying the method of dynamic programming. In this class of problems\n", "\n", "> - the objective function is **quadratic** in **states** and **controls** \n", "- the one-step transition function is **linear** \n", "- shocks are i.i.d. Gaussian or martingale differences \n", "\n", "\n", "\n", "In this lecture and a companion lecture [Classical Filtering with Linear Algebra](classical_filtering.html), we study the classical theory of linear-quadratic (LQ) optimal control problems.\n", "\n", "The classical approach does not use the two closely related methods – dynamic programming and Kalman filtering – that we describe in other lectures, namely, [Linear Quadratic Dynamic Programming Problems](../dynamic_programming/lqcontrol.html) and [A First Look at the Kalman Filter](../tools_and_techniques/kalman.html).\n", "\n", "Instead they use either.\n", "\n", "> - $ z $-transform and lag operator methods, or. \n", "- matrix decompositions applied to linear systems of first-order conditions for optimum problems. \n", "\n", "\n", "\n", "In this lecture and the sequel [Classical Filtering with Linear Algebra](classical_filtering.html), we mostly rely on elementary linear algebra.\n", "\n", "The main tool from linear algebra we’ll put to work here is [LU decomposition](https://en.wikipedia.org/wiki/LU_decomposition).\n", "\n", "We’ll begin with discrete horizon problems.\n", "\n", "Then we’ll view infinite horizon problems as appropriate limits of these finite horizon problems.\n", "\n", "Later, we will examine the close connection between LQ control and least squares prediction and filtering problems.\n", "\n", "These classes of problems are connected in the sense that to solve each, essentially the same mathematics is used." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### References\n", "\n", "Useful references include [[Whi63]](../zreferences.html#whittle1963), [[HS80]](../zreferences.html#hansar1980), [[Orf88]](../zreferences.html#orfanidisoptimum1988), [[AP91]](../zreferences.html#athanasios1991), and [[Mut60]](../zreferences.html#muth1960)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hide-output": true }, "outputs": [], "source": [ "using InstantiateFromURL\n", "# optionally add arguments to force installation: instantiate = true, precompile = true\n", "github_project(\"QuantEcon/quantecon-notebooks-julia\", version = \"0.8.0\")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hide-output": false }, "outputs": [], "source": [ "using Polynomials, Plots, Random, Parameters\n", "using LinearAlgebra, Statistics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A Control Problem\n", "\n", "Let $ L $ be the **lag operator**, so that, for sequence $ \\{x_t\\} $ we have $ L x_t = x_{t-1} $.\n", "\n", "More generally, let $ L^k x_t = x_{t-k} $ with $ L^0 x_t = x_t $ and\n", "\n", "$$\n", "d(L) = d_0 + d_1 L+ \\ldots + d_m L^m\n", "$$\n", "\n", "where $ d_0, d_1, \\ldots, d_m $ is a given scalar sequence.\n", "\n", "Consider the discrete time control problem\n", "\n", "\n", "\n", "$$\n", "\\max_{\\{y_t\\}}\n", "\\lim_{N \\to \\infty} \\sum^N_{t=0} \\beta^t\\,\n", "\\left\\{\n", " a_t y_t - {1 \\over 2}\\, hy^2_t - {1 \\over 2} \\,\n", " \\left[ d(L)y_t \\right]^2\n", "\\right\\}, \\tag{1}\n", "$$\n", "\n", "where\n", "\n", "- $ h $ is a positive parameter and $ \\beta \\in (0,1) $ is a discount factor \n", "- $ \\{a_t\\}_{t \\geq 0} $ is a sequence of exponential order less than $ \\beta^{-1/2} $, by which we mean $ \\lim_{t \\rightarrow \\infty} \\beta^{\\frac{t}{2}} a_t = 0 $ \n", "\n", "\n", "Maximization in [(1)](#equation-oneone) is subject to initial conditions for $ y_{-1}, y_{-2} \\ldots, y_{-m} $.\n", "\n", "Maximization is over infinite sequences $ \\{y_t\\}_{t \\geq 0} $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example\n", "\n", "The formulation of the LQ problem given above is broad enough to encompass\n", "many useful models.\n", "\n", "As a simple illustration, recall that in [lqcontrol](../dynamic_programming/lqcontrol.html) we consider a monopolist facing stochastic demand\n", "shocks and adjustment costs.\n", "\n", "Let’s consider a deterministic version of this problem, where the monopolist\n", "maximizes the discounted sum\n", "\n", "$$\n", "\\sum_{t=0}^{\\infty} \\beta^t \\pi_t\n", "$$\n", "\n", "and\n", "\n", "$$\n", "\\pi_t = p_t q_t - c q_t - \\gamma (q_{t+1} - q_t)^2\n", "\\quad \\text{with} \\quad\n", "p_t = \\alpha_0 - \\alpha_1 q_t + d_t\n", "$$\n", "\n", "In this expression, $ q_t $ is output, $ c $ is average cost of production, and $ d_t $ is a demand shock.\n", "\n", "The term $ \\gamma (q_{t+1} - q_t)^2 $ represents adjustment costs.\n", "\n", "You will be able to confirm that the objective function can be rewritten as [(1)](#equation-oneone) when\n", "\n", "- $ a_t := \\alpha_0 + d_t - c $ \n", "- $ h := 2 \\alpha_1 $ \n", "- $ d(L) := \\sqrt{2 \\gamma}(I - L) $ \n", "\n", "\n", "Further examples of this problem for factor demand, economic growth, and government policy problems are given in ch. IX of [[Sar87]](../zreferences.html#sargent1987)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Finite Horizon Theory\n", "\n", "We first study a finite $ N $ version of the problem.\n", "\n", "Later we will study an infinite horizon problem solution as a limiting version of a finite horizon problem.\n", "\n", "(This will require being careful because the limits as $ N \\to \\infty $ of the necessary and sufficient conditions for maximizing finite $ N $ versions of [(1)](#equation-oneone)\n", "are not sufficient for maximizing [(1)](#equation-oneone))\n", "\n", "We begin by\n", "\n", "1. fixing $ N > m $, \n", "1. differentiating the finite version of [(1)](#equation-oneone) with respect to $ y_0, y_1, \\ldots, y_N $, and \n", "1. setting these derivatives to zero \n", "\n", "\n", "For $ t=0, \\ldots, N-m $ these first-order necessary conditions are the\n", "*Euler equations*.\n", "\n", "For $ t = N-m + 1, \\ldots, N $, the first-order conditions are a set of\n", "*terminal conditions*.\n", "\n", "Consider the term\n", "\n", "$$\n", "\\begin{aligned}\n", "J\n", "& = \\sum^N_{t=0} \\beta^t [d(L) y_t] [d(L) y_t]\n", "\\\\\n", "& = \\sum^N_{t=0}\n", " \\beta^t \\, (d_0 \\, y_t + d_1 \\, y_{t-1} + \\cdots + d_m \\, y_{t-m}) \\,\n", " (d_0 \\, y_t + d_1 \\, y_{t-1} + \\cdots + d_m\\, y_{t-m})\n", "\\end{aligned}\n", "$$\n", "\n", "Differentiating $ J $ with respect to $ y_t $ for\n", "$ t=0,\\ 1,\\ \\ldots,\\ N-m $ gives\n", "\n", "$$\n", "\\begin{aligned}\n", "{\\partial {J} \\over \\partial y_t}\n", " & = 2 \\beta^t \\, d_0 \\, d(L)y_t +\n", " 2 \\beta^{t+1} \\, d_1\\, d(L)y_{t+1} + \\cdots +\n", " 2 \\beta^{t+m}\\, d_m\\, d(L) y_{t+m} \\\\\n", " & = 2\\beta^t\\, \\bigl(d_0 + d_1 \\, \\beta L^{-1} + d_2 \\, \\beta^2\\, L^{-2} +\n", " \\cdots + d_m \\, \\beta^m \\, L^{-m}\\bigr)\\, d (L) y_t\\\n", "\\end{aligned}\n", "$$\n", "\n", "We can write this more succinctly as\n", "\n", "\n", "\n", "$$\n", "{\\partial {J} \\over \\partial y_t}\n", " = 2 \\beta^t \\, d(\\beta L^{-1}) \\, d (L) y_t \\tag{2}\n", "$$\n", "\n", "Differentiating $ J $ with respect to $ y_t $ for $ t = N-m + 1, \\ldots, N $ gives\n", "\n", "\n", "\n", "$$\n", "\\begin{aligned}\n", " {\\partial J \\over \\partial y_N}\n", " &= 2 \\beta^N\\, d_0 \\, d(L) y_N \\cr\n", " {\\partial J \\over \\partial y_{N-1}}\n", " &= 2\\beta^{N-1} \\,\\bigl[d_0 + \\beta \\,\n", " d_1\\, L^{-1}\\bigr] \\, d(L)y_{N-1} \\cr\n", " \\vdots\n", " & \\quad \\quad \\vdots \\cr\n", " {\\partial {J} \\over \\partial y_{N-m+1}}\n", " &= 2 \\beta^{N-m+1}\\,\\bigl[d_0 + \\beta\n", " L^{-1} \\,d_1 + \\cdots + \\beta^{m-1}\\, L^{-m+1}\\, d_{m-1}\\bigr] d(L)y_{N-m+1}\n", "\\end{aligned} \\tag{3}\n", "$$\n", "\n", "With these preliminaries under our belts, we are ready to differentiate [(1)](#equation-oneone).\n", "\n", "Differentiating [(1)](#equation-oneone) with respect to $ y_t $ for $ t=0, \\ldots, N-m $ gives the Euler equations\n", "\n", "\n", "\n", "$$\n", "\\bigl[h+d\\,(\\beta L^{-1})\\,d(L)\\bigr] y_t = a_t,\n", "\\quad t=0,\\, 1,\\, \\ldots, N-m \\tag{4}\n", "$$\n", "\n", "The system of equations [(4)](#equation-onefour) form a $ 2 \\times m $ order linear *difference\n", "equation* that must hold for the values of $ t $ indicated.\n", "\n", "Differentiating [(1)](#equation-oneone) with respect to $ y_t $ for $ t = N-m + 1, \\ldots, N $ gives the terminal conditions\n", "\n", "\n", "\n", "$$\n", "\\begin{aligned}\n", "\\beta^N (a_N - hy_N - d_0\\,d(L)y_N)\n", "&= 0 \\cr\n", " \\beta^{N-1} \\left(a_{N-1}-hy_{N-1}-\\Bigl(d_0 + \\beta \\, d_1\\,\n", "L^{-1}\\Bigr)\\, d(L)\\, y_{N-1}\\right)\n", "& = 0 \\cr\n", " \\vdots & \\vdots\\cr\n", "\\beta^{N-m+1} \\biggl(a_{N-m+1} - h y_{N-m+1} -(d_0+\\beta L^{-1}\n", "d_1+\\cdots\\ +\\beta^{m-1} L^{-m+1} d_{m-1}) d(L) y_{N-m+1}\\biggr)\n", "& = 0\n", "\\end{aligned} \\tag{5}\n", "$$\n", "\n", "In the finite $ N $ problem, we want simultaneously to solve [(4)](#equation-onefour) subject to the $ m $ initial conditions\n", "$ y_{-1}, \\ldots, y_{-m} $ and the $ m $ terminal conditions\n", "[(5)](#equation-onefive).\n", "\n", "These conditions uniquely pin down the solution of the finite $ N $ problem.\n", "\n", "That is, for the finite $ N $ problem,\n", "conditions [(4)](#equation-onefour) and [(5)](#equation-onefive) are necessary and sufficient for a maximum,\n", "by concavity of the objective function.\n", "\n", "Next we describe how to obtain the solution using matrix methods.\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrix Methods\n", "\n", "Let’s look at how linear algebra can be used to tackle and shed light on the finite horizon LQ control problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### A Single Lag Term\n", "\n", "Let’s begin with the special case in which $ m=1 $.\n", "\n", "We want to solve the system of $ N+1 $ linear equations\n", "\n", "\n", "\n", "$$\n", "\\begin{aligned}\n", "\\bigl[h & + d\\, (\\beta L^{-1})\\, d\\, (L) ] y_t = a_t, \\quad\n", "t = 0,\\ 1,\\ \\ldots,\\, N-1\\cr\n", "\\beta^N & \\bigl[a_N-h\\, y_N-d_0\\, d\\, (L) y_N\\bigr] = 0\n", "\\end{aligned} \\tag{6}\n", "$$\n", "\n", "where $ d(L) = d_0 + d_1 L $.\n", "\n", "These equations are to be solved for\n", "$ y_0, y_1, \\ldots, y_N $ as functions of\n", "$ a_0, a_1, \\ldots, a_N $ and $ y_{-1} $.\n", "\n", "Let\n", "\n", "$$\n", "\\phi (L)\n", "= \\phi_0 + \\phi_1 L + \\beta \\phi_1 L^{-1}\n", "= h + d (\\beta L^{-1}) d(L)\n", "= (h + d_0^2 + d_1^2) + d_1 d_0 L+ d_1 d_0 \\beta L^{-1}\n", "$$\n", "\n", "Then we can represent [(6)](#equation-oneff) as the matrix equation\n", "\n", "\n", "\n", "$$\n", "\\left[\n", " \\begin{matrix}\n", " (\\phi_0-d_1^2) & \\phi_1 & 0 & 0 & \\ldots & \\ldots & 0 \\cr\n", " \\beta \\phi_1 & \\phi_0 & \\phi_1 & 0 & \\ldots & \\dots & 0 \\cr\n", " 0 & \\beta \\phi_1 & \\phi_0 & \\phi_1 & \\ldots & \\ldots & 0 \\cr\n", " \\vdots &\\vdots & \\vdots & \\ddots & \\vdots & \\vdots & \\vdots \\cr\n", " 0 & \\ldots & \\ldots & \\ldots & \\beta \\phi_1 & \\phi_0 &\\phi_1 \\cr\n", " 0 & \\ldots & \\ldots & \\ldots & 0 & \\beta \\phi_1 & \\phi_0\n", " \\end{matrix}\n", "\\right]\n", "\\left [\n", " \\begin{matrix}\n", " y_N \\cr y_{N-1} \\cr y_{N-2} \\cr \\vdots \\cr\n", " y_1 \\cr y_0\n", " \\end{matrix}\n", "\\right ] =\n", "\\left[\n", "\\begin{matrix}\n", " a_N \\cr a_{N-1} \\cr a_{N-2} \\cr \\vdots \\cr a_1 \\cr\n", " a_0 - \\phi_1 y_{-1}\n", "\\end{matrix}\n", "\\right] \\tag{7}\n", "$$\n", "\n", "or\n", "\n", "\n", "\n", "$$\n", "W\\bar y = \\bar a \\tag{8}\n", "$$\n", "\n", "Notice how we have chosen to arrange the $ y_t $’s in reverse\n", "time order.\n", "\n", "The matrix $ W $ on the left side of [(7)](#equation-onefourfive) is “almost” a\n", "[Toeplitz matrix](https://en.wikipedia.org/wiki/Toeplitz_matrix) (where each\n", "descending diagonal is constant).\n", "\n", "There are two sources of deviation from the form of a Toeplitz matrix.\n", "\n", "1. The first element differs from the remaining diagonal elements, reflecting the terminal condition. \n", "1. The subdiagonal elements equal $ \\beta $ time the superdiagonal elements. \n", "\n", "\n", "The solution of [(8)](#equation-onefoursix) can be expressed in the form\n", "\n", "\n", "\n", "$$\n", "\\bar y = W^{-1} \\bar a \\tag{9}\n", "$$\n", "\n", "which represents each element $ y_t $ of $ \\bar y $ as a function of the entire vector $ \\bar a $.\n", "\n", "That is, $ y_t $ is a function of past, present, and future values of $ a $’s, as well as of the initial condition $ y_{-1} $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### An Alternative Representation\n", "\n", "An alternative way to express the solution to [(7)](#equation-onefourfive) or\n", "[(8)](#equation-onefoursix) is in so called **feedback-feedforward** form.\n", "\n", "The idea here is to find a solution expressing $ y_t $ as a function of *past* $ y $’s and *current* and *future* $ a $’s.\n", "\n", "To achieve this solution, one can use an [LU decomposition](https://en.wikipedia.org/wiki/LU_decomposition) of $ W $.\n", "\n", "There always exists a decomposition of $ W $ of the form $ W= LU $\n", "where\n", "\n", "- $ L $ is an $ (N+1) \\times (N+1) $ lower trangular matrix \n", "- $ U $ is an $ (N+1) \\times (N+1) $ upper trangular matrix. \n", "\n", "\n", "The factorization can be normalized so that the diagonal elements of $ U $ are unity.\n", "\n", "Using the LU representation in [(9)](#equation-onefourseven), we obtain\n", "\n", "\n", "\n", "$$\n", "U \\bar y = L^{-1} \\bar a \\tag{10}\n", "$$\n", "\n", "Since $ L^{-1} $ is lower trangular, this representation expresses\n", "$ y_t $ as a function of\n", "\n", "- lagged $ y $’s (via the term $ U \\bar y $), and \n", "- current and future $ a $’s (via the term $ L^{-1} \\bar a $) \n", "\n", "\n", "Because there are zeros everywhere in the matrix\n", "on the left of [(7)](#equation-onefourfive) except on the diagonal, superdiagonal, and\n", "subdiagonal, the $ LU $ decomposition takes\n", "\n", "- $ L $ to be zero except in the diagional and the leading subdiagonal \n", "- $ U $ to be zero except on the diagonal and the superdiagional \n", "\n", "\n", "Thus, [(10)](#equation-onefournine) has the form\n", "\n", "$$\n", "\\left[\n", "\\begin{matrix}\n", " 1& U_{12} & 0 & 0 & \\ldots & 0 & 0 \\cr\n", " 0 & 1 & U_{23} & 0 & \\ldots & 0 & 0 \\cr\n", " 0 & 0 & 1 & U_{34} & \\ldots & 0 & 0 \\cr\n", " 0 & 0 & 0 & 1 & \\ldots & 0 & 0\\cr\n", " \\vdots & \\vdots & \\vdots & \\vdots & \\ddots & \\vdots & \\vdots\\cr\n", " 0 & 0 & 0 & 0 & \\ldots & 1 & U_{N,N+1} \\cr\n", " 0 & 0 & 0 & 0 & \\ldots & 0 & 1\n", "\\end{matrix}\n", "\\right] \\ \\ \\\n", "\\left[\n", "\\begin{matrix}\n", " y_N \\cr y_{N-1} \\cr y_{N-2} \\cr y_{N-3} \\cr \\vdots \\cr y_1 \\cr y_0\n", "\\end{matrix}\n", "\\right] =\n", "$$\n", "\n", "$$\n", "\\quad\n", "\\left[\n", "\\begin{matrix}\n", " L^{-1}_{11} & 0 & 0 & \\ldots & 0 \\cr\n", " L^{-1}_{21} & L^{-1}_{22} & 0 & \\ldots & 0 \\cr\n", " L^{-1}_{31} & L^{-1}_{32} & L^{-1}_{33}& \\ldots & 0 \\cr\n", " \\vdots & \\vdots & \\vdots & \\ddots & \\vdots\\cr\n", " L^{-1}_{N,1} & L^{-1}_{N,2} & L^{-1}_{N,3} & \\ldots & 0 \\cr\n", " L^{-1}_{N+1,1} & L^{-1}_{N+1,2} & L^{-1}_{N+1,3} & \\ldots &\n", " L^{-1}_{N+1\\, N+1}\n", "\\end{matrix}\n", "\\right]\n", "\\left[\n", "\\begin{matrix}\n", " a_N \\cr a_{N-1} \\cr a_{N-2} \\cr \\vdots \\cr a_1 \\cr a_0 -\n", " \\phi_1 y_{-1}\n", "\\end{matrix}\n", "\\right ]\n", "$$\n", "\n", "where $ L^{-1}_{ij} $ is the $ (i,j) $ element of $ L^{-1} $ and $ U_{ij} $ is the $ (i,j) $ element of $ U $.\n", "\n", "Note how the left side for a given $ t $ involves $ y_t $ and one lagged value $ y_{t-1} $ while the right side involves all future values of the forcing process $ a_t, a_{t+1}, \\ldots, a_N $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Additional Lag Terms\n", "\n", "We briefly indicate how this approach extends to the problem with\n", "$ m > 1 $.\n", "\n", "Assume that $ \\beta = 1 $ and let $ D_{m+1} $ be the\n", "$ (m+1) \\times (m+1) $ symmetric matrix whose elements are\n", "determined from the following formula:\n", "\n", "$$\n", "D_{jk} = d_0 d_{k-j} + d_1 d_{k-j+1} + \\ldots + d_{j-1} d_{k-1}, \\qquad k\n", "\\geq j\n", "$$\n", "\n", "Let $ I_{m+1} $ be the $ (m+1) \\times (m+1) $ identity matrix.\n", "\n", "Let $ \\phi_j $ be the coefficients in the expansion $ \\phi (L) = h + d (L^{-1}) d (L) $.\n", "\n", "Then the first order conditions [(4)](#equation-onefour) and [(5)](#equation-onefive) can be expressed as:\n", "\n", "$$\n", "(D_{m+1} + hI_{m+1})\\ \\\n", "\\left[\n", "\\begin{matrix}\n", " y_N \\cr y_{N-1} \\cr \\vdots \\cr y_{N-m}\n", "\\end{matrix}\n", "\\right]\\\n", "= \\ \\left[\n", "\\begin{matrix}\n", " a_N \\cr a_{N-1} \\cr \\vdots \\cr a_{N-m}\n", " \\end{matrix}\n", "\\right] + M\\\n", "\\left[\n", " \\begin{matrix}\n", " y_{N-m+1}\\cr y_{N-m-2}\\cr \\vdots\\cr y_{N-2m}\n", " \\end{matrix}\n", "\\right]\n", "$$\n", "\n", "where $ M $ is $ (m+1)\\times m $ and\n", "\n", "$$\n", "M_{ij} = \\begin{cases}\n", "D_{i-j,\\,m+1} \\textrm{ for } i>j \\\\\n", " 0 \\textrm{ for } i\\leq j\\end{cases}\n", "$$\n", "\n", "$$\n", "\\begin{aligned}\n", "\\phi_m y_{N-1} &+ \\phi_{m-1} y_{N-2} + \\ldots + \\phi_0 y_{N-m-1} +\n", "\\phi_1 y_{N-m-2} +\\cr\n", "&\\hskip.75in \\ldots + \\phi_m y_{N-2m-1} = a_{N-m-1} \\cr\n", "\\phi_m y_{N-2} &+ \\phi_{m-1} y_{N-3} + \\ldots + \\phi_0 y_{N-m-2} + \\phi_1\n", "y_{N-m-3} +\\cr\n", "&\\hskip.75in \\ldots + \\phi_m y_{N-2m-2} = a_{N-m-2} \\cr\n", "&\\qquad \\vdots \\cr\n", "\\phi_m y_{m+1} &+ \\phi_{m-1} y_m + + \\ldots + \\phi_0 y_1 + \\phi_1 y_0 +\n", "\\phi_m y_{-m+1} = a_1 \\cr\n", "\\phi_m y_m + \\phi_{m-1}& y_{m-1} + \\phi_{m-2} + \\ldots + \\phi_0 y_0 + \\phi_1\n", "y_{-1} + \\ldots + \\phi_m y_{-m} = a_0\n", "\\end{aligned}\n", "$$\n", "\n", "As before, we can express this equation as $ W \\bar y = \\bar a $.\n", "\n", "The matrix on the left of this equation is “almost” Toeplitz, the\n", "exception being the leading $ m \\times m $ sub matrix in the upper\n", "left hand corner.\n", "\n", "We can represent the solution in feedback-feedforward form by obtaining a decomposition $ LU = W $, and obtain\n", "\n", "\n", "\n", "$$\n", "U \\bar y = L^{-1} \\bar a \\tag{11}\n", "$$\n", "\n", "$$\n", "\\begin{aligned} \\sum^t_{j=0}\\, U_{-t+N+1,\\,-t+N+j+1}\\,y_{t-j} &= \\sum^{N-t}_{j=0}\\,\n", "L_{-t+N+1,\\, -t+N+1-j}\\, \\bar a_{t+j}\\ ,\\cr\n", "&\\qquad t=0,1,\\ldots, N\n", "\\end{aligned}\n", "$$\n", "\n", "where $ L^{-1}_{t,s} $ is the element in the $ (t,s) $ position\n", "of $ L $, and similarly for $ U $.\n", "\n", "The left side of equation [(11)](#equation-onefivetwo) is the “feedback” part of the optimal\n", "control law for $ y_t $, while the right-hand side is the “feedforward” part.\n", "\n", "We note that there is a different control law for each $ t $.\n", "\n", "Thus, in the finite horizon case, the optimal control law is time dependent.\n", "\n", "It is natural to suspect that as $ N \\rightarrow\\infty $, [(11)](#equation-onefivetwo)\n", "becomes equivalent to the solution of our infinite horizon problem,\n", "which below we shall show can be expressed as\n", "\n", "$$\n", "c(L) y_t = c (\\beta L^{-1})^{-1} a_t\\ ,\n", "$$\n", "\n", "so that as $ N \\rightarrow \\infty $ we expect that for each fixed\n", "$ t, U^{-1}_{t, t-j}\n", "\\rightarrow c_j $ and $ L_{t,t+j} $ approaches the coefficient on\n", "$ L^{-j} $ in the expansion of $ c(\\beta L^{-1})^{-1} $.\n", "\n", "This suspicion is true under general conditions that we shall study later.\n", "\n", "For now, we note that by creating the matrix $ W $ for large\n", "$ N $ and factoring it into the $ LU $ form, good approximations\n", "to $ c(L) $ and $ c(\\beta L^{-1})^{-1} $ can be obtained." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Infinite Horizon Limit\n", "\n", "For the infinite horizon problem, we propose to discover first-order\n", "necessary conditions by taking the limits of [(4)](#equation-onefour) and [(5)](#equation-onefive) as\n", "$ N \\to \\infty $.\n", "\n", "This approach is valid, and the limits of [(4)](#equation-onefour) and [(5)](#equation-onefive) as $ N $ approaches infinity are first-order necessary conditions for a maximum.\n", "\n", "However, for the infinite horizon problem with $ \\beta < 1 $, the limits of [(4)](#equation-onefour) and [(5)](#equation-onefive) are, in general, not sufficient for a maximum.\n", "\n", "That is, the limits of [(5)](#equation-onefive) do not provide enough information uniquely to determine the solution of the Euler equation [(4)](#equation-onefour) that maximizes [(1)](#equation-oneone).\n", "\n", "As we shall see below, a side condition on the path of $ y_t $ that together with [(4)](#equation-onefour) is sufficient for an optimum is\n", "\n", "\n", "\n", "$$\n", "\\sum^\\infty_{t=0}\\ \\beta^t\\, hy^2_t < \\infty \\tag{12}\n", "$$\n", "\n", "All paths that satisfy the Euler equations, except the one that we shall\n", "select below, violate this condition and, therefore, evidently lead to\n", "(much) lower values of [(1)](#equation-oneone) than does the\n", "optimal path selected by the solution procedure below.\n", "\n", "Consider the *characteristic equation* associated with the Euler equation\n", "\n", "\n", "\n", "$$\n", "h+d \\, (\\beta z^{-1})\\, d \\, (z) = 0 \\tag{13}\n", "$$\n", "\n", "Notice that if $ \\tilde z $ is a root of equation [(13)](#equation-oneseven), then so is $ \\beta \\tilde z^{-1} $.\n", "\n", "Thus, the roots of [(13)](#equation-oneseven) come in “$ \\beta $-reciprocal” pairs.\n", "\n", "Assume that the roots of [(13)](#equation-oneseven) are distinct.\n", "\n", "Let the roots be, in descending order according to their moduli, $ z_1, z_2, \\ldots, z_{2m} $.\n", "\n", "From the reciprocal pairs property and the assumption of distinct\n", "roots, it follows that $ \\vert z_j \\vert > \\sqrt \\beta\\ \\hbox{ for } j\\leq m \\hbox\n", "{ and } \\vert z_j \\vert < \\sqrt\\beta\\ \\hbox { for } j > m $.\n", "\n", "It also follows that $ z_{2m-j} = \\beta z^{-1}_{j+1}, j=0, 1, \\ldots, m-1 $.\n", "\n", "Therefore, the characteristic polynomial on the left side of [(13)](#equation-oneseven) can be expressed as\n", "\n", "\n", "\n", "$$\n", "\\begin{aligned}\n", "h+d(\\beta z^{-1})d(z)\n", "&= z^{-m} z_0(z-z_1)\\cdots\n", "(z-z_m)(z-z_{m+1}) \\cdots (z-z_{2m}) \\cr\n", "&= z^{-m} z_0 (z-z_1)(z-z_2)\\cdots (z-z_m)(z-\\beta z_m^{-1})\n", "\\cdots (z-\\beta z^{-1}_2)(z-\\beta z_1^{-1})\n", "\\end{aligned} \\tag{14}\n", "$$\n", "\n", "where $ z_0 $ is a constant.\n", "\n", "In [(14)](#equation-oneeight), we substitute $ (z-z_j) = -z_j (1- {1 \\over z_j}z) $ and\n", "$ (z-\\beta z_j^{-1}) = z(1 - {\\beta \\over z_j} z^{-1}) $ for $ j = 1, \\ldots, m $ to get\n", "\n", "$$\n", "h+d(\\beta z^{-1})d(z)\n", "= (-1)^m(z_0z_1\\cdots z_m)\n", "(1- {1\\over z_1} z) \\cdots (1-{1\\over z_m} z)(1- {1\\over z_1} \\beta z^{-1})\n", "\\cdots(1-{1\\over z_m} \\beta z^{-1})\n", "$$\n", "\n", "Now define $ c(z) = \\sum^m_{j=0} c_j \\, z^j $ as\n", "\n", "\n", "\n", "$$\n", "c\\,(z)=\\Bigl[(-1)^m z_0\\, z_1 \\cdots z_m\\Bigr]^{1/2} (1-{z\\over z_1}) \\,\n", "(1-{z\\over z_2}) \\cdots (1- {z\\over z_m}) \\tag{15}\n", "$$\n", "\n", "Notice that [(14)](#equation-oneeight) can be written\n", "\n", "\n", "\n", "$$\n", "h + d \\ (\\beta z^{-1})\\ d\\ (z) = c\\,(\\beta z^{-1})\\,c\\,(z) \\tag{16}\n", "$$\n", "\n", "It is useful to write [(15)](#equation-onenine) as\n", "\n", "\n", "\n", "$$\n", "c(z) = c_0(1-\\lambda_1\\, z) \\ldots (1-\\lambda_m z) \\tag{17}\n", "$$\n", "\n", "where\n", "\n", "$$\n", "c_0\n", "= \\left[(-1)^m\\, z_0\\, z_1 \\cdots z_m\\right]^{1/2};\n", "\\quad \\lambda_j={1 \\over z_j},\\,\\ j=1, \\ldots, m\n", "$$\n", "\n", "Since $ \\vert z_j \\vert > \\sqrt \\beta \\hbox { for } j = 1, \\ldots, m $ it\n", "follows that $ \\vert \\lambda_j \\vert < 1/\\sqrt \\beta $ for $ j = 1,\n", "\\ldots, m $.\n", "\n", "Using [(17)](#equation-oneeleven), we can express the factorization [(16)](#equation-oneten) as\n", "\n", "$$\n", "h+d (\\beta z^{-1})d(z) = c^2_0 (1-\\lambda_1 z) \\cdots\n", "(1 - \\lambda_m z) (1-\\lambda_1 \\beta z^{-1})\n", "\\cdots (1 - \\lambda_m \\beta z^{-1})\n", "$$\n", "\n", "In sum, we have constructed a factorization [(16)](#equation-oneten) of the characteristic\n", "polynomial for the Euler equation in which the zeros of $ c(z) $\n", "exceed $ \\beta^{1/2} $ in modulus, and the zeros of\n", "$ c\\,(\\beta z^{-1}) $ are less than $ \\beta^{1/2} $ in modulus.\n", "\n", "Using [(16)](#equation-oneten), we now write the Euler equation as\n", "\n", "$$\n", "c(\\beta L^{-1})\\,c\\,(L)\\, y_t = a_t\n", "$$\n", "\n", "The unique solution of the Euler equation that satisfies condition [(12)](#equation-onesix)\n", "is\n", "\n", "\n", "\n", "$$\n", "c(L)\\,y_t = c\\,(\\beta L^{-1})^{-1}a_t \\tag{18}\n", "$$\n", "\n", "This can be established by using an argument paralleling that in\n", "chapter IX of [[Sar87]](../zreferences.html#sargent1987).\n", "\n", "To exhibit the solution in a form\n", "paralleling that of [[Sar87]](../zreferences.html#sargent1987), we use [(17)](#equation-oneeleven) to write\n", "[(18)](#equation-onethirteen) as\n", "\n", "\n", "\n", "$$\n", "(1-\\lambda_1 L) \\cdots (1 - \\lambda_mL)y_t = {c^{-2}_0 a_t \\over (1-\\beta \\lambda_1 L^{-1}) \\cdots (1 - \\beta \\lambda_m L^{-1})} \\tag{19}\n", "$$\n", "\n", "Using [partial fractions](https://en.wikipedia.org/wiki/Partial_fraction_decomposition), we can write the characteristic polynomial on\n", "the right side of [(19)](#equation-junk) as\n", "\n", "$$\n", "\\sum^m_{j=1} {A_j \\over 1 - \\lambda_j \\, \\beta L^{-1}}\n", " \\quad \\text{where} \\quad\n", "A_j := {c^{-2}_0 \\over \\prod_{i \\not= j}(1-{\\lambda_i \\over \\lambda_j})}\n", "$$\n", "\n", "Then [(19)](#equation-junk) can be written\n", "\n", "$$\n", "(1-\\lambda_1 L) \\cdots (1-\\lambda_m L) y_t = \\sum^m_{j=1} \\, {A_j \\over 1 -\n", "\\lambda_j \\, \\beta L^{-1}} a_t\n", "$$\n", "\n", "or\n", "\n", "\n", "\n", "$$\n", "(1 - \\lambda_1 L) \\cdots (1 - \\lambda_m L) y_t = \\sum^m_{j=1}\\, A_j\n", "\\sum^\\infty_{k=0}\\, (\\lambda_j\\beta)^k\\, a_{t+k} \\tag{20}\n", "$$\n", "\n", "Equation [(20)](#equation-onefifteen) expresses the optimum sequence for $ y_t $ in terms\n", "of $ m $ lagged $ y $’s, and $ m $ weighted infinite\n", "geometric sums of future $ a_t $’s.\n", "\n", "Furthermore, [(20)](#equation-onefifteen) is the unique solution of the Euler equation that satisfies the initial conditions and condition [(12)](#equation-onesix).\n", "\n", "In effect, condition [(12)](#equation-onesix) compels us to\n", "solve the “unstable” roots of $ h+d (\\beta z^{-1})d(z) $ forward\n", "(see [[Sar87]](../zreferences.html#sargent1987)).\n", "\n", "The step of factoring the polynomial $ h+d (\\beta z^{-1})\\, d(z) $ into\n", "$ c\\, (\\beta z^{-1})c\\,(z) $, where the zeros of $ c\\,(z) $ all\n", "have modulus exceeding $ \\sqrt\\beta $, is central to solving the problem.\n", "\n", "We note two features of the solution [(20)](#equation-onefifteen)\n", "\n", "- Since $ \\vert \\lambda_j \\vert < 1/\\sqrt \\beta $ for all $ j $, it follows that $ (\\lambda_j \\ \\beta) < \\sqrt \\beta $. \n", "- The assumption that $ \\{ a_t \\} $ is of exponential order less than $ 1 /\\sqrt \\beta $ is sufficient to guarantee that the geometric sums of future $ a_t $’s on the right side of [(20)](#equation-onefifteen) converge. \n", "\n", "\n", "We immediately see that those sums will\n", "converge under the weaker condition that $ \\{ a_t\\} $ is of\n", "exponential order less than $ \\phi^{-1} $ where\n", "$ \\phi = \\max \\, \\{\\beta \\lambda_i, i=1,\\ldots,m\\} $.\n", "\n", "Note that with $ a_t $ identically zero, [(20)](#equation-onefifteen) implies that\n", "in general $ \\vert y_t \\vert $ eventually grows exponentially at a\n", "rate given by $ \\max_i \\vert \\lambda_i \\vert $.\n", "\n", "The condition\n", "$ \\max_i \\vert \\lambda_i \\vert <1 /\\sqrt \\beta $ guarantees that\n", "condition [(12)](#equation-onesix) is satisfied.\n", "\n", "In fact, $ \\max_i \\vert \\lambda_i\n", "\\vert < 1 /\\sqrt \\beta $ is a necessary condition for [(12)](#equation-onesix) to hold.\n", "\n", "Were [(12)](#equation-onesix) not satisfied, the objective function would diverge to $ - \\infty $, implying that the $ y_t $ path could not be optimal.\n", "\n", "For example, with $ a_t = 0 $, for all $ t $, it is easy to describe a naive (nonoptimal) policy for $ \\{y_t, t\\geq 0\\} $ that gives a finite value of [(17)](#equation-oneeleven).\n", "\n", "We can simply let $ y_t = 0 \\hbox { for } t\\geq 0 $.\n", "\n", "This policy involves at most $ m $ nonzero values of\n", "$ hy^2_t $ and $ [d(L)y_t]^2 $, and so yields a finite value of\n", "[(1)](#equation-oneone).\n", "\n", "Therefore it is easy to dominate a path that violates [(12)](#equation-onesix)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Undiscounted Problems\n", "\n", "It is worthwhile focusing on a special case of the LQ problems above:\n", "the undiscounted problem that emerges when $ \\beta = 1 $.\n", "\n", "In this case, the Euler equation is\n", "\n", "$$\n", "\\Bigl( h + d(L^{-1})d(L) \\Bigr)\\, y_t = a_t\n", "$$\n", "\n", "The factorization of the characteristic polynomial [(16)](#equation-oneten) becomes\n", "\n", "$$\n", "\\Bigl(h+d \\, (z^{-1})d(z)\\Bigr) = c\\,(z^{-1})\\, c\\,(z)\n", "$$\n", "\n", "where\n", "\n", "$$\n", "\\begin{aligned}\n", "c\\,(z) &= c_0 (1 - \\lambda_1 z) \\ldots (1 - \\lambda_m z) \\cr\n", "c_0 &= \\Bigl[(-1)^m z_0 z_1 \\ldots z_m\\Bigr ] \\cr\n", "\\vert \\lambda_j \\vert &< 1 \\, \\hbox { for } \\, j = 1, \\ldots, m\\cr\n", "\\lambda_j &= \\frac{1}{z_j} \\hbox{ for } j=1,\\ldots, m\\cr\n", "z_0 &= \\hbox{ constant}\n", "\\end{aligned}\n", "$$\n", "\n", "The solution of the problem becomes\n", "\n", "$$\n", "(1 - \\lambda_1 L) \\cdots (1 - \\lambda_m L) y_t = \\sum^m_{j=1} A_j\n", "\\sum^\\infty_{k=0} \\lambda^k_j a_{t+k}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transforming discounted to undiscounted problem\n", "\n", "Discounted problems can always be converted into undiscounted problems via a simple transformation.\n", "\n", "Consider problem [(1)](#equation-oneone) with $ 0 < \\beta < 1 $.\n", "\n", "Define the transformed variables\n", "\n", "\n", "\n", "$$\n", "\\tilde a_t = \\beta^{t/2} a_t,\\ \\tilde y_t = \\beta^{t/2} y_t \\tag{21}\n", "$$\n", "\n", "Then notice that $ \\beta^t\\,[d\\, (L) y_t ]^2=[\\tilde d\\,(L)\\tilde y_t]^2 $ with\n", "$ \\tilde d \\,(L)=\\sum^m_{j=0} \\tilde d_j\\, L^j $ and $ \\tilde d_j = \\beta^{j/2}\n", "d_j $.\n", "\n", "Then the original criterion function [(1)](#equation-oneone) is equivalent to\n", "\n", "\n", "\n", "$$\n", "\\lim_{N \\rightarrow \\infty}\n", "\\sum^N_{t=0}\n", "\\{\\tilde a_t\\, \\tilde y_t - {1 \\over 2} h\\,\\tilde y^2_t - {1\\over 2}\n", "[ \\tilde d\\,(L)\\, \\tilde y_t]^2 \\} \\tag{22}\n", "$$\n", "\n", "which is to be maximized over sequences $ \\{\\tilde y_t,\\ t=0, \\ldots\\} $ subject to\n", "$ \\tilde y_{-1}, \\cdots, \\tilde y_{-m} $ given and $ \\{\\tilde a_t,\\ t=1, \\ldots\\} $ a known bounded sequence.\n", "\n", "The Euler equation for this problem is $ [h+\\tilde d \\,(L^{-1}) \\, \\tilde d\\, (L) ]\\, \\tilde y_t = \\tilde a_t $.\n", "\n", "The solution is\n", "\n", "$$\n", "(1 - \\tilde \\lambda_1 L) \\cdots (1 - \\tilde \\lambda_m L)\\,\\tilde y_t =\n", "\\sum^m_{j=1} \\tilde A_j \\sum^\\infty_{k=0} \\tilde \\lambda^k_j \\, \\tilde a_{t+k}\n", "$$\n", "\n", "or\n", "\n", "\n", "\n", "$$\n", "\\tilde y_t = \\tilde f_1 \\, \\tilde y_{t-1} + \\cdots + \\tilde f_m\\,\n", "\\tilde y_{t-m} + \\sum^m_{j=1} \\tilde A_j \\sum^\\infty_{k=0} \\tilde \\lambda^k_j\n", "\\, \\tilde a_{t+k}, \\tag{23}\n", "$$\n", "\n", "where $ \\tilde c \\,(z^{-1}) \\tilde c\\,(z) = h + \\tilde d\\,(z^{-1}) \\tilde d \\,(z) $, and where\n", "\n", "$$\n", "\\bigl[(-1)^m\\, \\tilde z_0 \\tilde z_1 \\ldots \\tilde z_m \\bigr]^{1/2}\n", "(1 - \\tilde \\lambda_1\\, z) \\ldots (1 - \\tilde \\lambda_m\\, z) = \\tilde c\\,(z),\n", "\\hbox { where } \\ \\vert \\tilde \\lambda_j \\vert < 1\n", "$$\n", "\n", "We leave it to the reader to show that [(23)](#equation-onetwentyone) implies the equivalent form of the solution\n", "\n", "$$\n", "y_t = f_1\\, y_{t-1} + \\cdots + f_m\\, y_{t-m} + \\sum^m_{j=1} A_j\n", "\\sum^\\infty_{k=0} \\, (\\lambda_j\\, \\beta)^k \\, a_{t+k}\n", "$$\n", "\n", "where\n", "\n", "\n", "\n", "$$\n", "f_j = \\tilde f_j\\, \\beta^{-j/2},\\ A_j = \\tilde A_j,\\ \\lambda_j = \\tilde\n", "\\lambda_j \\, \\beta^{-1/2} \\tag{24}\n", "$$\n", "\n", "The transformations [(21)](#equation-onetwenty) and the inverse formulas\n", "[(24)](#equation-onetwentythree) allow us to solve a discounted problem by first\n", "solving a related undiscounted problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementation\n", "\n", "Code that computes solutions to the LQ problem using the methods described\n", "above can be found in file [control_and_filter.jl](https://github.com/QuantEcon/QuantEcon.lectures.code/blob/master/lu_tricks/control_and_filter.jl).\n", "\n", "Here’s how it looks" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "hide-output": false, "html-class": "collapse" }, "outputs": [ { "data": { "text/plain": [ "optimal_y (generic function with 2 methods)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function LQFilter(d, h, y_m;\n", " r = nothing,\n", " β = nothing,\n", " h_eps = nothing)\n", "\n", " m = length(d) - 1\n", " m == length(y_m) || throw(ArgumentError(\"y_m and d must be of same length = $m\"))\n", "\n", " # define the coefficients of ϕ up front\n", " ϕ = zeros(2m + 1)\n", " for i in -m:m\n", " ϕ[m-i+1] = sum(diag(d*d', -i))\n", " end\n", " ϕ[m+1] = ϕ[m+1] + h\n", "\n", " # if r is given calculate the vector ϕ_r\n", " if isnothing(r)\n", " k = nothing\n", " ϕ_r = nothing\n", " else\n", " k = size(r, 1) - 1\n", " ϕ_r = zeros(2k + 1)\n", "\n", " for i = -k:k\n", " ϕ_r[k-i+1] = sum(diag(r*r', -i))\n", " end\n", "\n", " if h_eps != nothing\n", " ϕ_r[k+1] = ϕ_r[k+1] + h_eps\n", " end\n", " end\n", "\n", " # if β is given, define the transformed variables\n", " if isnothing(β)\n", " β = 1.0\n", " else\n", " d = β.^(collect(0:m)/2) * d\n", " y_m = y_m * β.^(- collect(1:m)/2)\n", " end\n", "\n", " return (d = d, h = h, y_m = y_m, m = m, ϕ = ϕ, β = β, ϕ_r = ϕ_r, k = k)\n", "end\n", "\n", "function construct_W_and_Wm(lqf, N)\n", "\n", " @unpack d, m = lqf\n", " W = zeros(N + 1, N + 1)\n", " W_m = zeros(N + 1, m)\n", "\n", " # terminal conditions\n", " D_m1 = zeros(m + 1, m + 1)\n", " M = zeros(m + 1, m)\n", "\n", " # (1) Constuct the D_{m+1} matrix using the formula\n", "\n", " for j in 1:(m+1)\n", " for k in j:(m+1)\n", " D_m1[j, k] = dot(d[1:j, 1], d[k-j+1:k, 1])\n", " end\n", " end\n", "\n", " # Make the matrix symmetric\n", " D_m1 = D_m1 + D_m1' - Diagonal(diag(D_m1))\n", "\n", " # (2) Construct the M matrix using the entries of D_m1\n", "\n", " for j in 1:m\n", " for i in (j + 1):(m + 1)\n", " M[i, j] = D_m1[i-j, m+1]\n", " end\n", " end\n", " M\n", "\n", " # Euler equations for t = 0, 1, ..., N-(m+1)\n", " @unpack ϕ, h = lqf\n", "\n", " W[1:(m + 1), 1:(m + 1)] = D_m1 + h * I\n", " W[1:(m + 1), (m + 2):(2m + 1)] = M\n", "\n", " for (i, row) in enumerate((m + 2):(N + 1 - m))\n", " W[row, (i + 1):(2m + 1 + i)] = ϕ'\n", " end\n", "\n", " for i in 1:m\n", " W[N - m + i + 1 , end-(2m + 1 - i)+1:end] = ϕ[1:end-i]\n", " end\n", "\n", " for i in 1:m\n", " W_m[N - i + 2, 1:(m - i)+1] = ϕ[(m + 1 + i):end]\n", " end\n", "\n", " return W, W_m\n", "end\n", "\n", "function roots_of_characteristic(lqf)\n", " @unpack m, ϕ = lqf\n", "\n", " # Calculate the roots of the 2m-polynomial\n", " ϕ_poly=Polynomial(ϕ[end:-1:1])\n", " proots = roots(ϕ_poly)\n", "\n", " # sort the roots according to their length (in descending order)\n", " roots_sorted = sort(proots, by=abs)[end:-1:1]\n", " z_0 = sum(ϕ) / (fromroots(proots))(1.0)\n", " z_1_to_m = roots_sorted[1:m] # we need only those outside the unit circle\n", " λ = 1 ./ z_1_to_m\n", " return z_1_to_m, z_0, λ\n", "end\n", "\n", "function coeffs_of_c(lqf)\n", " m = lqf.m\n", " z_1_to_m, z_0, λ = roots_of_characteristic(lqf)\n", " c_0 = (z_0 * prod(z_1_to_m) * (-1.0)^m)^(0.5)\n", " c_coeffs = coeffs(Polynomial(z_1_to_m)) * z_0 / c_0\n", " return c_coeffs\n", "end\n", "\n", "function solution(lqf)\n", " z_1_to_m, z_0, λ = roots_of_characteristic(lqf)\n", " c_0 = coeffs_of_c(lqf)[end]\n", " A = zeros(lqf.m)\n", " for j in 1:m\n", " denom = 1 - λ/λ[j]\n", " A[j] = c_0^(-2) / prod(denom[1:m .!= j])\n", " end\n", " return λ, A\n", "end\n", "\n", "function construct_V(lqf; N=nothing)\n", " @unpack ϕ_r, k = lqf\n", " V = zeros(N, N)\n", " for i in 1:N\n", " for j in 1:N\n", " if abs(i-j) <= k\n", " V[i, j] = ϕ_r[k + abs(i-j)+1]\n", " end\n", " end\n", " end\n", " return V\n", "end\n", "\n", "function simulate_a(lqf, N)\n", " V = construct_V(lqf, N + 1)\n", " d = MVNSampler(zeros(N + 1), V)\n", " return rand(d)\n", "end\n", "\n", "function predict(lqf, a_hist, t)\n", " N = length(a_hist) - 1\n", " V = construct_V(lqf, N + 1)\n", "\n", " aux_matrix = zeros(N + 1, N + 1)\n", " aux_matrix[1:t+1 , 1:t+1 ] .= I + zeros(t+1, t+1)\n", " L = chol(V)'\n", " Ea_hist = inv(L) * aux_matrix * L * a_hist\n", "\n", " return Ea_hist\n", "end\n", "\n", "function optimal_y(lqf, a_hist, t = nothing)\n", " @unpack β, y_m, m = lqf\n", "\n", " N = length(a_hist) - 1\n", " W, W_m = construct_W_and_Wm(lqf, N)\n", "\n", " F = lu(W)\n", "\n", " L, U = F.L, F.U\n", " D = Diagonal(1.0./diag(U))\n", " U = D * U\n", " L = L * Diagonal(1.0./diag(D))\n", "\n", " J = reverse(I + zeros(N+1, N + 1), dims = 2)\n", "\n", " if isnothing(t) # if the problem is deterministic\n", " a_hist = J * a_hist\n", "\n", " # transform the a sequence if β is given\n", " if β != 1\n", " a_hist = reshape(a_hist * (β^(collect(N:0)/ 2)), N + 1, 1)\n", " end\n", "\n", " ā = a_hist - W_m * y_m # ā from the lecutre\n", " Uy = \\(L, ā) # U @ ȳ = L^{-1}ā from the lecture\n", " ȳ = \\(U, Uy) # ȳ = U^{-1}L^{-1}ā\n", " # Reverse the order of ȳ with the matrix J\n", " J = reverse(I + zeros(N+m+1, N + m + 1), dims = 2)\n", " y_hist = J * vcat(ȳ, y_m) # y_hist : concatenated y_m and ȳ\n", " # transform the optimal sequence back if β is given\n", " if β != 1\n", " y_hist = y_hist .* β.^(- collect(-m:N)/2)\n", " end\n", "\n", " else # if the problem is stochastic and we look at it\n", " Ea_hist = reshape(predict(lqf, a_hist, t), N + 1, 1)\n", " Ea_hist = J * Ea_hist\n", "\n", " ā = Ea_hist - W_m * y_m # ā from the lecutre\n", " Uy = \\(L, ā) # U @ ȳ = L^{-1}ā from the lecture\n", " ȳ = \\(U, Uy) # ȳ = U^{-1}L^{-1}ā\n", "\n", " # Reverse the order of ȳ with the matrix J\n", " J = reverse(I + zeros(N + m + 1, N + m + 1), dims = 2)\n", " y_hist = J * vcat(ȳ, y_m) # y_hist : concatenated y_m and ȳ\n", " end\n", " return y_hist, L, U, ȳ\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example\n", "\n", "In this application we’ll have one lag, with\n", "\n", "$$\n", "d(L) y_t = \\gamma(I - L) y_t = \\gamma (y_t - y_{t-1})\n", "$$\n", "\n", "Suppose for the moment that $ \\gamma = 0 $.\n", "\n", "Then the intertemporal component of the LQ problem disappears, and the agent\n", "simply wants to maximize $ a_t y_t - hy^2_t / 2 $ in each period.\n", "\n", "This means that the agent chooses $ y_t = a_t / h $.\n", "\n", "In the following we’ll set $ h = 1 $, so that the agent just wants to\n", "track the $ \\{a_t\\} $ process.\n", "\n", "However, as we increase $ \\gamma $, the agent gives greater weight to a smooth time path.\n", "\n", "Hence $ \\{y_t\\} $ evolves as a smoothed version of $ \\{a_t\\} $.\n", "\n", "The $ \\{a_t\\} $ sequence we’ll choose as a stationary cyclic process plus some white noise.\n", "\n", "Here’s some code that generates a plot when $ \\gamma = 0.8 $" ] }, { "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": [ "gr(fmt=:png);\n", "\n", "# set seed and generate a_t sequence\n", "Random.seed!(123)\n", "n = 100\n", "a_seq = sin.(range(0, 5 * pi, length = n)) .+ 2 + 0.1 * randn(n)\n", "\n", "function plot_simulation(;γ=0.8, m=1, h=1., y_m=2.)\n", " d = γ * [1, -1]\n", " y_m = [y_m]\n", "\n", " testlq = LQFilter(d, h, y_m)\n", " y_hist, L, U, y = optimal_y(testlq, a_seq)\n", " y = y[end:-1:1] # reverse y\n", "\n", " # plot simulation results\n", " time = 1:length(y)\n", " plt = plot(time, a_seq / h, lw=2, color=:black, alpha=0.8, marker = :circle,\n", " markersize = 2, label=\"a_t\")\n", " plot!(plt, time, y, lw=2, color=:blue, marker = :circle, markersize = 2, alpha=0.8,\n", " label=\"y_t\")\n", " plot!(plt, xlabel=\"Time\", grid=true, xlim=(0,maximum(time)), legend=:bottomleft)\n", "end\n", "\n", "plot_simulation()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here’s what happens when we change $ \\gamma $ to 5.0" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_simulation(γ=5.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here’s $ \\gamma = 10 $" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "hide-output": false }, "outputs": [ { "data": { "image/png": "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kyZNOnfunEgk2r59u5eXl7EjRQbDRGidNC1Csidql44e3fz992OHDt2ang7z54N+CZRJNA3ffFO+f7+4oeEFLvfI7t3g56fvc7FFaE729vYikYiiqIqKiu5dgcWCpCT46SdQKo81NW3Yv//26tXKkhLjhtmFrCyYNw8+/xzc3J6Li8v55JNxY8f6d+M6J06cmDFjRnp6elNT0/bt2/30/9QiU8JEaJ3c3Ny8vLzkcrmeXVL29vbPPBO3d69D374gFsOiRT1oSKa9+npYswZ27/ZxdnYPDNz57bePGzTCguuXzYx83euzlFCHsDD4+efZ4eEf+/o+dv48NykJPv0UOikpaEx//HFm/PjP584tz8kBPz/Yvt0rNXXNsmUzDb2OWCx+9dVXN2zY0NjYOHXq1BMnTuAnsOfARGi19B8m1PDygp074YknoKGhftasV2NilhYVmffGWw+ZmTBnDpw/Dy4u7AMH3srJ2RUX10//p9M0TbpGsdy22ejYg8IgCQlxmZlfX736wrRpoFbD/v1Uv37vDxy4/PZtkxQMlErh888b58374dKlGIlk54IFcOAADB9u8HXUavXevXufffbZ1NRUgUCwfv36ffv2xcbGmiBk1E2YCK0WGSbMNbCoKJcLmzbBtGlZCkVIXt74F1+80nNmkmZn544a9eaMGQfKyyE2Fvbt02vL0zYqKioUCoWHh4dAIDBBjKgD+heX0YeXF2zYAPv2QUxMcXW1LDt77rRpJz74APLyjHJ5oChKIoGPPoIpU2DfPr69vaNA8Oubb/ZPTgYHh+5ccMaMGS+99FJNTc3jjz/+22+/zZw5k6X/thTILOyYDgCZSjdahBpvvhl3797py5dvVFevnTMH3noLRo82dnwGunkTZs/+qbT0GRbry5dffvL1153suvXhxQFC8yNdo4/eItQWEQG7dwc2NTleu7ZHIFj122/w22/Qr1+dUHh09uy+8fEDur5EOw0NsGPHhc8//1ahcAsJ+YzDsRs7lv3DDztCQ+WPsksJh8Ph8/krV65cvHhxty+CTAoTodV6lETI4/EOHHhLKoV33oHLl2H1akhKgtdeA0aK41dUwNatcPo0AIx1cPhs5Mig1av53b6lxgFC8+veUsIucTiclJSNAFBYCAcOwLFjcPz4VzJZxDfffPT0098NGODYty8EBUlVKnFMTIymEaZSqey0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" }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_simulation(γ=10.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 1\n", "\n", "Consider solving a discounted version $ (\\beta < 1) $ of problem\n", "[(1)](#equation-oneone), as follows.\n", "\n", "Convert [(1)](#equation-oneone) to the undiscounted problem [(22)](#equation-oneoneprime).\n", "\n", "Let the solution of [(22)](#equation-oneoneprime) in feedback form be\n", "\n", "$$\n", "(1 - \\tilde \\lambda_1 L)\\, \\cdots\\, (1 - \\tilde \\lambda_m L) \\tilde y_t =\n", "\\sum^m_{j=1} \\tilde A_j \\sum^\\infty_{k=0} \\tilde \\lambda^k_j \\tilde a_{t+k}\n", "$$\n", "\n", "or\n", "\n", "\n", "\n", "$$\n", "\\tilde y_t = \\tilde f_1 \\tilde y_{t-1} + \\cdots + \\tilde f_m \\tilde y_{t-m} +\n", "\\sum^m_{j=1} \\tilde A_j \\sum^\\infty_{k=0} \\tilde \\lambda^k_j \\tilde a_{t+k} \\tag{25}\n", "$$\n", "\n", "Here\n", "\n", "- $ h + \\tilde d (z^{-1}) \\tilde d (z) = \\tilde c (z^{-1}) \\tilde c (z) $ \n", "- $ \\tilde c (z) = [(-1)^m \\tilde z_0 \\tilde z_1 \\cdots \\tilde z_m ]^{1/2} (1 - \\tilde \\lambda_1 z) \\cdots (1 - \\tilde \\lambda_m z) $ \n", "\n", "\n", "where the $ \\tilde z_j $ are the zeros of $ h +\\tilde d (z^{-1})\\, \\tilde d(z) $.\n", "\n", "Prove that [(25)](#equation-estar) implies that the solution for $ y_t $ in feedback form is\n", "\n", "$$\n", "y_t = f_1 y_{t-1} + \\ldots + f_m y_{t-m} + \\sum^m_{j=1} A_j\n", "\\sum^\\infty_{k=0} \\beta^k \\lambda^k_j a_{t+k}\n", "$$\n", "\n", "where $ f_j = \\tilde f_j \\beta^{-j/2}, A_j = \\tilde A_j $, and $ \\lambda_j = \\tilde \\lambda_j \\beta^{-1/2} $." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 2\n", "\n", "Solve the optimal control problem, maximize\n", "\n", "$$\n", "\\sum^2_{t=0}\\ \\Bigl\\{a_t y_t - {1 \\over 2} [(1 - 2 L) y_t]^2\\Bigr\\}\n", "$$\n", "\n", "subject to $ y_{-1} $ given, and $ \\{ a_t\\} $ a known bounded sequence.\n", "\n", "Express the solution in the “feedback form” [(20)](#equation-onefifteen), giving numerical values for the coefficients.\n", "\n", "Make sure that the boundary conditions [(5)](#equation-onefive) are satisfied.\n", "\n", "(Note: this problem differs from the problem in the text in one important way: instead of $ h > 0 $ in [(1)](#equation-oneone), $ h = 0 $. This has an important influence on the solution.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 3\n", "\n", "Solve the infinite time optimal control problem to maximize\n", "\n", "$$\n", "\\lim_{N \\rightarrow \\infty}\n", "\\sum^N_{t=0}\\, -\\, {1 \\over 2} [(1 -2 L) y_t]^2,\n", "$$\n", "\n", "subject to $ y_{-1} $ given. Prove that the solution is\n", "\n", "$$\n", "y_t = 2y_{t-1} = 2^{t+1} y_{-1} \\qquad t > 0\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 4\n", "\n", "Solve the infinite time problem, to maximize\n", "\n", "$$\n", "\\lim_{N \\rightarrow \\infty}\\ \\sum^N_{t=0}\\ (.0000001)\\, y^2_t - {1 \\over 2}\n", "[(1 - 2 L) y_t]^2\n", "$$\n", "\n", "subject to $ y_{-1} $ given. Prove that the solution $ y_t = 2y_{t-1} $ violates condition [(12)](#equation-onesix), and so\n", "is not optimal.\n", "\n", "Prove that the optimal solution is approximately $ y_t = .5 y_{t-1} $." ] } ], "metadata": { "date": 1591310627.1221635, "download_nb": 1, "download_nb_path": "https://julia.quantecon.org/", "filename": "lu_tricks.rst", "filename_with_path": "time_series_models/lu_tricks", "kernelspec": { "display_name": "Julia 1.4.2", "language": "julia", "name": "julia-1.4" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.4.2" }, "title": "Classical Control with Linear Algebra" }, "nbformat": 4, "nbformat_minor": 2 }