{ "cells": [ { "cell_type": "markdown", "id": "38fbfaab", "metadata": {}, "source": [ "---\n", "format:\n", " html:\n", " other-links:\n", " - text: This notebook\n", " href: A7.ipynb\n", "---\n", "\n", "# A7: Legendre Polynomials\n", "\n", "- Complete the following and submit to Canvas before Nov 14 11:59PM,\n", "- Late work will recieve 0%,\n", "- Each assignment is worth the same, \n", "- Please get in contact with the instructor in plenty of time if you need help,\n", "- Before submitting your work, make sure to check everything runs as expected. Click **Kernel > Restart Kernel and Run All Cells**.\n", "- Feel free to add more cells to experiment or test your answers,\n", "- I encourage you to discuss the course material and assignment questions with your classmates. However, unless otherwise explicitly stated on the assignment, you must complete and write up your solutions on your own,\n", "- The use of GenAI is prohibited as outlined in the course syllabus. If I suspect you of cheating, you may be asked to complete a written or oral exam on the content of this assignment. " ] }, { "cell_type": "code", "execution_count": 2, "id": "abcd4e70", "metadata": {}, "outputs": [], "source": [ "# | code-fold: true\n", "using Plots\n", "using LaTeXStrings\n", "using Polynomials\n", "using LinearAlgebra" ] }, { "cell_type": "markdown", "id": "4909df0c", "metadata": {}, "source": [ "::: {.callout-note}\n", "\n", "Recall that $P_n$ is the monic (leading coefficient $= 1$) polynomials of degree $n$ for which \n", "\n", "\\begin{align}\n", " \\int_{-1}^{+1} P_n(x) q(x) \\mathrm{d}x = 0 \n", "\\end{align}\n", "\n", "for all polynomials $q$ of degree less than or equal to $n-1$ (that is, $q \\in \\mathcal P_{n-1}$). We are interested in computing (the roots of) $P_n$ in order to define Gauss quadrature rules.\n", "\n", ":::\n", "\n", "1. Show that $P_n$ can be equivalently defined as the monic polynomial of degree $n$ for which \n", "\n", "\\begin{align}\n", " \\int_{-1}^1 P_n(x) P_m(x) \\mathrm{d}x = 0\n", " %\n", " \\qquad \\text{for all } n \\not= m. \n", "\\end{align}\n", "\n", "
Answer. \n", "\n", "If $\\int_{-1}^1 P_n(x) q(x) \\mathrm{d}x = 0$ for all $q\\in \\mathcal P_{n-1}$, then $\\int_{-1}^1 P_n(x) P_m(x) \\mathrm{d}x = 0$ for all $m < n$. \n", "\n", "On the other hand, suppose that $\\int_{-1}^1 P_n(x) P_m(x) \\mathrm{d}x = 0$ for all $m < n$. We are trying to prove that $\\int_{-1}^1 P_n(x) q(x) \\mathrm{d}x = 0$ for all $q\\in \\mathcal P_{n-1}$. Therefore, if there exist $(a_j)$ such that $q(x) = a_{n-1} P_{n-1}(x) + \\dots + a_1 P_1(x) + a_0 P_0(x)$, then we have\n", "\n", "\\begin{align}\n", " \\int_{-1}^1 P_n(x) q(x) \\mathrm{d}x\n", " %\n", " &= \\int_{-1}^1 P_n(x) \\left[ a_{n-1} P_{n-1}(x) + \\dots + a_1 P_1(x) + a_0 P_0(x) \\right] \\mathrm{d}x \\nonumber\\\\\n", " %\n", " &= \\sum_{j=0}^{n-1} a_j \\int_{-1}^1 P_n(x) P_j(x) \\mathrm{d}x\n", " %\n", " = 0.\n", "\\end{align}\n", "\n", "Therefore, all is left to prove is that there exist $(a_j)$ such that $q(x) = a_{n-1} P_{n-1}(x) + \\dots + a_1 P_1(x) + a_0 P_0(x)$. Notice that if $n=0$, then $q(x) = a_0 = a_0 P_0(x)$ for some constant $a_0$. Now we assume (induction hypothesis) that all $r\\in \\mathcal P_{n-2}$ can be written as a linear combination of Legendre polynomials of degree $\\leq n-2$. Therefore, for $q\\in \\mathcal P_{n-1}$, there exist $r, s \\in \\mathcal P_{n-2}$ and $a_{n-1}$ such that \n", "\n", "\\begin{align}\n", " q(x) &= a_{n-1} x^{n-1} + s(x) \\\\\n", " %\n", " &= a_{n-1} P_{n-1}(x) + r(x)\n", "\\end{align}\n", "\n", "(here, we have used the fact that $P_{n-1}$ is a monic polynomial). By the inductive hypothesis, we can write $r(x) = \\sum_{j=0}^{n-2} a_j P_{j}(x)$ which concludes the proof.\n", "\n", "
\n", "\n", "::: {.callout-note}\n", "\n", "In lectures, we showed that $P_0(x) = 1$, $P_1(x) = x$, and \n", "\n", "\\begin{align}\n", " P_{n+1}(x) = (x - a_n) P_{n}(x) - b_n P_{n-1}(x).\n", "\\end{align}\n", "\n", "for all $n\\geq 1$, where\n", "\n", "\\begin{align}\n", " a_n &:= \\frac{ \\int_{-1}^1 x P_{n}(x)^2 \\mathrm{d}x }{\\|P_{n}\\|_{L^2}^2} \\qquad \\text{and} \\qquad \n", " b_{n} := \\frac{ \\int_{-1}^1 x P_{n}(x) P_{n-1}(x) \\mathrm{d}x }{\\|P_{n-1}\\|_{L^2}^2}.\n", "\\end{align}\n", "\n", "and $\\| f \\|_{L^2}^2 := \\int_{-1}^1 f(x)^2 \\mathrm{d}x$. \n", "\n", "::: \n", "\n", "2. Show that $b_n = \\frac{\\|P_n\\|_{L^2}^2}{\\|P_{n-1}\\|_{L^2}^2}$.\n", "\n", "
Answer. \n", "\n", "Notice that, since $P_1(x) = x P_0(x)$, we have\n", "\n", "\\begin{align}\n", " \\int_{-1}^1 P_1(x)^2 \\mathrm{d}x &= \\int_{-1}^{+1} x P_1(x) P_0(x) \\mathrm{d}x.\n", "\\end{align}\n", "\n", "Moreover, for $n \\geq 2$, we have $P_{n}(x) = (x-a_{n-1}) P_{n-1}(x) - b_{n-1} P_{n-2}(x)$, and so \n", "\n", "\\begin{align}\n", " \\int_{-1}^1 P_{n}(x)^2 \\mathrm{d}x \n", " %\n", " &= \\int_{-1}^1 P_{n}(x) \\left[ (x-a_{n-1}) P_{n-1}(x) - b_{n-1} P_{n-2}(x) \\right] \\mathrm{d}x \\\\\n", " %\n", " &= \\int_{-1}^1 x P_{n}(x) P_{n-1}(x) \\mathrm{d}x - a_{n-1} \\int_{-1}^1 P_n P_{n-1} - b_{n-1} \\int_{-1}^1 P_n P_{n-2} \\nonumber\\\\\n", " %\n", " &= \\int_{-1}^1 x P_{n}(x) P_{n-1}(x) \\mathrm{d}x.\n", "\\end{align}\n", "\n", "
\n", "\n", "::: {.callout-note}\n", "\n", "This lets us construct the polynomials $\\{P_n\\}$ which is demonstrated in the following code:\n", "\n", ":::" ] }, { "cell_type": "code", "execution_count": 3, "id": "eed50b6f", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = 10;\n", "x = Polynomial([0,1])\n", "\n", "# P[0] = 1;\n", "P = [ Polynomial([0,1]), Polynomial([-1/3,0,1]) ]\n", "\n", "for n ∈ 2:(N-1)\n", " a = integrate( x * P[n]^2, -1, 1 ) / integrate( P[n]^2, -1, 1 )\n", " b = integrate( P[n]^2, -1, 1 ) / integrate( P[n-1]^2, -1, 1 )\n", " push!( P, (x - a) * P[end] - b * P[end-1] ) \n", "end\n", "\n", "plot( P[1], -1,1, ylims = (-.3,.3), label=L\"P_1\" )\n", "plot!(P[2], -1,1, label=L\"P_2\" )\n", "plot!(P[3], -1,1, label=L\"P_3\" )\n", "plot!(P[4], -1,1, label=L\"P_4\" )\n", "plot!(P[5], -1,1, label=L\"P_5\" )\n", "plot!(P[6], -1,1, label=L\"P_6\" )\n", "plot!(P[7], -1,1, label=L\"P_7\" )\n", "plot!(P[8], -1,1, label=L\"P_8\" )\n", "plot!(P[9], -1,1, label=L\"P_9\" )\n", "\n", "scatter!( roots(P[9]), zeros(8), markersize=5, label=\"roots of P_9\", color=\"red\" )" ] }, { "cell_type": "markdown", "id": "eb35e0e6", "metadata": {}, "source": [ "::: {.callout-note}\n", "\n", "It turns out that the constants $a_n$, $b_n$ can be computed exactly. In the next few questions, you will find a closed form expression for $(a_n)$. \n", "\n", ":::\n", "\n", "3. Define $h_n(x) := P_n(x) + (-1)^{n+1} P_n(-x)$. Show that $h_n$ is a polynomial of degree $n-1$ and satisfies $h_n(-x) = (-1)^{n+1} h_n(x)$.\n", "\n", "
Answer. \n", "\n", "Since $P_{n}$ is monic, there exists $r\\in\\mathcal P_{n-1}$ such that $P_n(x) = x^n + r(x)$ and thus $P_n(x) = (-1)^n x^n + r(-x)$. As a result, we have \n", "\n", "\\begin{align}\n", " h_n(x) \n", " %\n", " &= P_n(x) + (-1)^{n+1} P_n(-x) \\nonumber\\\\\n", " &= x^n + (-1)^{n+1} (-1)^n x^n + r(x) + (-1)^{n+1} r(-x) \\nonumber\\\\\n", " %\n", " &= r(x) + (-1)^{n+1} r(-x),\n", "\\end{align} \n", "\n", "a polynomial of degree $n-1$. \n", "\n", "Finally, we have \n", "\n", "\\begin{align}\n", " h_n(-x) \n", " &= P_n(-x) + (-1)^{n+1} P_n(x) \\nonumber\\\\\n", " &= (-1)^{n+1} \\big( (-1)^{n+1} P_n(-x) + P_n(x) \\big) \\nonumber\\\\\n", " &= (-1)^{n+1} h_n(x).\n", "\\end{align}\n", "\n", "
\n", "\n", "4. Show that $\\int_{-1}^{1} P_n(x) h_n(x) \\mathrm{d}x = (-1)^{n+1}\\int_{-1}^{1} P_n(-x) h_n(x) \\mathrm{d}x = 0$. \n", "\n", "
Answer. \n", "\n", "Since $h_n$ is a polynomial of degree $n-1$, we have that $P_n$ is orthogonal to it:\n", "\n", "\\begin{align}\n", "\\int_{-1}^1 P_n(x) h_n(x) \\mathrm{d}x &= 0.\n", "\\end{align}\n", "\n", "By the change of variables $t = -x$, we have \n", "\n", "\\begin{align}\n", " 0 &= \\int_{-1}^1 P_n(x) h_n(x) \\mathrm{d}x \\nonumber\\\\\n", " %\n", " &= \\int_{+1}^{-1} P_n(-t) h_n(-t) \\big( - \\mathrm{d}t \\big) \\nonumber\\\\\n", " %\n", " &= \\int_{-1}^1 P_n(-t) \\big[ (-1)^{n+1} h_n(t) \\big] \\mathrm{d}t .\n", "\\end{align}\n", "\n", "
\n", "\n", "5. Hence show that $\\int_{-1}^1 h(x)^2 \\mathrm{d}x = 0$ and thus $P_{n}(x) = (-1)^n P_n(-x)$. \n", "\n", "
Answer. \n", "\n", "Notice that $h_n(x) = P_n(x) + (-1)^{n+1} P_n(-x)$ and so \n", "\n", "\\begin{align}\n", " \\int_{-1}^{1} h_n(x)^2 \\mathrm{d}x \n", " %\n", " &= \\int_{-1}^{1} \\left[ P_n(x) + (-1)^{n+1} P_n(-x) \\right] h_n(x) \\mathrm{d}x \\nonumber\\\\\n", " %\n", " &= \\int_{-1}^{1} P_n(x)h_n(x) \\mathrm{d}x + (-1)^{n+1} \\int_{-1}^1 P_n(-x) h_n(x) \\mathrm{d}x = 0\n", "\\end{align}\n", "\n", "Notice that $\\int_{-1}^1 h(x)^2 \\mathrm{d}x \\geq 0$. When $h$ is a polynomial, either $h = 0$, or $\\int_{-1}^1 h(x)^2 \\mathrm{d}x > 0$. (This follows from the fact that if $h \\not= 0$ and continuous, there exist $c > 0$ and an interval $I$ for which $| h(x) | \\geq c$ for all $x \\in I$. As a result, we have $\\int_{-1}^1 h^2 \\geq \\int_I c > 0$.)\n", "\n", "Therefore, we have $h_n(x) = P_n(x) + (-1)^{n+1} P_n(-x) = 0$ and thus $P_n(x) = (-1)^n P_n(-x)$.\n", "\n", "
\n", "\n", "6. Hence show that $x P_n(x)^2$ is odd and thus\n", "\n", "\\begin{align}\n", " a_n = \\frac{ \\int_{-1}^1 x P_{n}(x)^2 \\mathrm{d}x }{\\|P_{n}\\|_{L^2}^2} = 0, \\qquad \\text{for all } n.\n", "\\end{align}\n", "\n", "
Answer. \n", "\n", "We have $(-x) P_n(-x)^2 = - x \\left[ (-1)^n P_n(x) \\right]^2 = - x P_n(x)^2$ and so $x \\mapsto x P_n(x)^2$ is odd. As a result, we have $\\int_{-1}^1 x P_n(x)^2 = 0$. \n", "\n", "***Remark:*** In general, if $f$ is odd (i.e. $f(-t) = -f(t)$), we have \n", "\n", "\\begin{align}\n", " \\int_{-1}^{+1} f &= \\int_{0}^1 f + \\int_{-1}^0 f \\nonumber\\\\\n", " %\n", " &= \\int_{0}^1 f - \\int_{+1}^0 f(-t) \\mathrm{d}t \\nonumber\\\\\n", " %\n", " &= \\int_0^1 \\left( f(t) + f(-t) \\right) \\mathrm{d}t = 0\n", "\\end{align}\n", "\n", "
\n", "\n", "::: {.callout-note}\n", "\n", "You have therefore shown that $P_{n+1}(x) = x P_n(x) - b_n P_{n-1}(x)$. It turns out that \n", "\n", "\\begin{align}\n", " b_n &= \\frac{n^2}{4 n^2 - 1}\n", "\\end{align}\n", "\n", "The proof of this is more easily obtained by using Rodrigues' formula (which you can learn about for your presentation if you would like!)\n", "\n", "As a result, we may replace\n", "\n", "```\n", " a = integrate( x * P[n]^2, -1, 1 ) / integrate( P[n]^2, -1, 1 )\n", " b = integrate( P[n]^2, -1, 1 ) / integrate( P[n-1]^2, -1, 1 )\n", " push!( P, (x - a) * P[end] - b * P[end-1] ) \n", "```\n", "\n", "with \n", "\n", "```\n", " b = n^2 / ( 4*n^2 - 1 )\n", " push!( P, x * P[end] - b * P[end-1] ) \n", "```\n", "\n", "in the code above. \n", "\n", "In order to apply Gauss quadrature rules, we need to compute $X = \\{ \\text{roots of } P_{n+1} \\}$ (we let $p$ be the degree $\\leq n$ polynomial interpolation of $f$ on $X$ and approximate $\\int_{-1}^1 f$ with $\\int_{-1}^1 p$). That is, we need an efficient way of computing the roots of $P_{n+1}$.\n", "\n", "Notice that using the ```roots``` function to compute $X$ for $n = 100$ is unstable! (we have proved that $X \\subset [-1,1]$)\n", "\n", ":::\n" ] }, { "cell_type": "code", "execution_count": 50, "id": "24811f99", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1001-element Vector{ComplexF64}:\n", " -5.041507211128993 + 0.0im\n", " -4.816717107009498 - 0.9608654552331346im\n", " -4.816717107009498 + 0.9608654552331346im\n", " -4.236765167842112 - 1.6648384343100275im\n", " -4.236765167842112 + 1.6648384343100275im\n", " -3.546409644778377 - 1.9956955706825699im\n", " -3.546409644778377 + 1.9956955706825699im\n", " -2.9581250825059895 - 2.0454485087588616im\n", " -2.9581250825059895 + 2.0454485087588616im\n", " -2.593783293651605 + 0.0im\n", " ⋮\n", " 2.9581250825059957 + 2.045448508758854im\n", " 3.5464096447783744 - 1.995695570682571im\n", " 3.5464096447783744 + 1.995695570682571im\n", " 4.23676516784211 - 1.6648384343100315im\n", " 4.23676516784211 + 1.6648384343100315im\n", " 4.816717107009495 - 0.9608654552331236im\n", " 4.816717107009495 + 0.9608654552331236im\n", " 5.041507211128997 + 0.0im\n", " 0.0 + 0.0im" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = 1000;\n", "x = Polynomial([0,1])\n", "\n", "# P[0] = 1;\n", "P = [ Polynomial([0,1]), Polynomial([-1/3,0,1]) ]\n", "b = zeros(N);\n", "\n", "b[1] = 1/3\n", "for n ∈ 2:N\n", " b[n] = n^2 / ( 4*n^2 - 1 )\n", " push!( P, x * P[end] - b[n] * P[end-1] ) \n", "end\n", "roots( P[N+1] )" ] }, { "cell_type": "markdown", "id": "58002d7d", "metadata": {}, "source": [ "7. Look up the ``roots`` function. What algorithm does it use?\n", "\n", "\n", "
Answer. \n", "\n", "The ```roots``` function writes the polynomial as $P_{N+1}(x) = x^{N+1} + a_N x^N + \\dots + a_0$ and constructs the so-called *(Frobenius) Companion matrix* $C$, given by\n", "\n", "\\begin{align}\n", " C = \\begin{pmatrix}\n", " 0 & 0 & \\cdots & 0 & -a_0 \\\\\n", " 1 & & & & -a_1 \\\\ \n", " & 1 & & & -a_2 \\\\\n", " & & \\ddots & & \\vdots \\\\\n", " & & & 1 & -a_N \n", " \\end{pmatrix}\n", "\\end{align}\n", "\n", "(the blank entries are zeros). It turns out that roots of $P_{N+1}$ are given as the eigenvalues of this matrix. The ```roots``` function computes the eigenvalues of $C$. \n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 49, "id": "f5c8bfe6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.0023098667384573966∙x - 0.0692960021537219∙x3 + 0.5890160183066362∙x5 - 2.1316770186335403∙x7 + 3.7304347826086954∙x9 - 3.119999999999999∙x11 + 1.0∙x13" ], "text/latex": [ "$0.0023098667384573966\\cdot x - 0.0692960021537219\\cdot x^{3} + 0.5890160183066362\\cdot x^{5} - 2.1316770186335403\\cdot x^{7} + 3.7304347826086954\\cdot x^{9} - 3.119999999999999\\cdot x^{11} + 1.0\\cdot x^{13}$" ], "text/plain": [ "Polynomial(0.0023098667384573966*x - 0.0692960021537219*x^3 + 0.5890160183066362*x^5 - 2.1316770186335403*x^7 + 3.7304347826086954*x^9 - 3.119999999999999*x^11 + 1.0*x^13)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "13×13 Matrix{Float64}:\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0\n", " 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.00230987\n", " 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0\n", " 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.069296\n", " 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0\n", " 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.589016\n", " 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 2.13168\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 -0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 -3.73043\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 -0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 3.12\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -0.0" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "13-element Vector{Float64}:\n", " -0.9841830547185864\n", " -0.9175983992229769\n", " -0.8015780907333231\n", " -0.6423493394403176\n", " -0.4484927510364591\n", " -0.2304583159551317\n", " 0.0\n", " 0.23045831595513175\n", " 0.44849275103645914\n", " 0.6423493394403206\n", " 0.8015780907333235\n", " 0.917598399222981\n", " 0.9841830547185861" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "13-element Vector{Float64}:\n", " -0.9841830547185906\n", " -0.9175983992229547\n", " -0.8015780907333493\n", " -0.6423493394403188\n", " -0.448492751036453\n", " -0.23045831595513397\n", " 0.2304583159551341\n", " 0.4484927510364528\n", " 0.6423493394403217\n", " 0.8015780907333296\n", " 0.9175983992229823\n", " 0.9841830547185806\n", " 0.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 12; \n", "C = diagm( -1 => ones(n) )\n", "C[:,n+1] = -coeffs( P[n+1] )[1:end-1]\n", "display( P[n+1] )\n", "display( C )\n", "display( eigvals( C ) )\n", "roots( P[n+1] )" ] }, { "cell_type": "markdown", "id": "9064b284", "metadata": {}, "source": [ "::: {.callout-note}\n", "\n", "In the following, we will find a stable way of computing the roots of $P_{n+1}$.\n", "\n", ":::\n", "\n", "8. Show that the recursion $P_{n+1}(x) = x P_{n}(x) - b_n P_{n-1}(x)$ can be reformulated as the following matrix equation\n", "\n", "\\begin{align}\n", " x \\begin{pmatrix}\n", " P_0(x) \\\\ P_1(x) \\\\ P_2(x) \\\\ \\vdots \\\\ P_{n-1}(x) \\\\ P_n(x)\n", " \\end{pmatrix}\n", " %\n", " &= \n", " T\n", " \\begin{pmatrix}\n", " P_0(x) \\\\ P_1(x) \\\\ P_2(x) \\\\ \\vdots \\\\ P_{n-1}(x) \\\\ P_n(x)\n", " \\end{pmatrix}\n", " %\n", " + \\begin{pmatrix}\n", " 0 \\\\ 0 \\\\ \\vdots \\\\ 0 \\\\ 0 \\\\ P_{n+1}(x)\n", " \\end{pmatrix}\n", "\\end{align}\n", "\n", "where $T$ is the tridiagonal matrix \n", "\n", "\\begin{align}\n", " T = \\begin{pmatrix}\n", " 0 & 1 & \\\\\n", " b_1 & 0 & 1 \\\\\n", " & b_2 & 0 & 1 \\\\\n", " & & \\ddots & \\ddots & \\ddots \\\\\n", " & & & \\ddots & \\ddots & 1 \\\\ \n", " & & & & b_n & 0 \n", " \\end{pmatrix}\n", "\\end{align}\n", "\n", "(the blank entries in this matrix are zeros).\n", "\n", "
Answer. \n", "\n", "The first row of this matrix equation is $x P_0(x) = P_1(x)$. Since $P_0(x) = 1$, this gives $P_1(x) = x$ as required.\n", "\n", "The row giving $x P_j(x)$ for $j =1,\\dots,n$ reads $x P_j(x) = b_j P_{j-1}(x) + P_{j+1}(x)$ which is equivalent to $P_{j+1}(x) = x P_{j}(x) - P_{j-1}(x)$.\n", "\n", "
\n", "\n", "9. Hence show that $X$ is the set of eigenvalues of $T$.\n", "\n", "
Answer.\n", "\n", "Suppose that $x$ is such that $P_{N+1}(x) = 0$. Let us define $\\bm P(x) := ( P_0(x), \\dots, P_n(x) )^\\intercal$ and notice that $\\bm P(x) \\not= \\bm 0$ since $P_0(x)= 1 \\not= 0$ and\n", "\n", "\\begin{align} \n", " x \\bm P(x) = T \\bm P(x)\n", " %\n", " + \\begin{pmatrix}\n", " 0 \\\\ 0 \\\\ \\vdots \\\\ 0 \\\\ 0 \\\\ P_{n+1}(x)\n", " \\end{pmatrix}\n", " %\n", " = T\\bm P(x).\n", " %\n", "\\end{align}\n", "\n", "That is, $x$ is an eigenvalue of $T$ with eigenvector $\\bm P(x)$. \n", "\n", "
\n", "\n", "::: {.callout-note}\n", "\n", "It turns out that $T$ has the same eigenvalues as \n", "\n", "\\begin{align}\n", " T'= \\begin{pmatrix}\n", " 0 & \\sqrt{b_1} & \\\\\n", " \\sqrt{b_1} & 0 & \\sqrt{b_2} \\\\\n", " & \\sqrt{b_2} & 0 & \\sqrt{b_2} \\\\\n", " & & \\ddots & \\ddots & \\ddots \\\\\n", " & & & \\ddots & \\ddots & \\sqrt{b_n} \\\\ \n", " & & & & \\sqrt{b_n} & 0 \n", " \\end{pmatrix}\n", "\\end{align}\n", "\n", "and so we may compute the eigenvalues of $T$ by computing the eigenvalues of $T'$ (which turns out to be more numerically stable because $T'$ is symmetric).\n", "\n", "The following code builds the matrix $T'$ and computes its eigenvalues:\n", "\n", ":::" ] }, { "cell_type": "code", "execution_count": 51, "id": "d65c7c4b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1001-element Vector{Float64}:\n", " -0.9999971170639426\n", " -0.999984810012804\n", " -0.9999626688102491\n", " -0.9999306887563374\n", " -0.9998888695633755\n", " -0.9998372114990123\n", " -0.9997757150236348\n", " -0.99970438072279\n", " -0.9996232092892197\n", " -0.9995322015168804\n", " ⋮\n", " 0.9996232092892191\n", " 0.9997043807227899\n", " 0.9997757150236346\n", " 0.999837211499012\n", " 0.9998888695633752\n", " 0.9999306887563378\n", " 0.9999626688102491\n", " 0.9999848100128047\n", " 0.999997117063943" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "T′ = Tridiagonal( sqrt.(b), zeros(N+1), sqrt.(b) )\n", "eigvals( T′ )" ] }, { "cell_type": "markdown", "id": "b855062f", "metadata": {}, "source": [ "10. ***Bonus points:*** Prove that $T' = D^{-1} T D$ where $D = \\mathrm{diag}( 1, d_1, \\dots, d_n)$ is the diagonal matrix with $D_{11} = 1$ and $D_{i+1, i+1} = d_{i} := \\sqrt{b_1 b_2\\cdots b_{i}}$ for $i \\geq 1$. Hence show that $T$ and $T'$ have the same eigenvalues.\n", "\n", "::: {.callout-note}\n", "\n", "Notice that computing the roots of $P_{n+1}$ using the tridaiagonal matrix $T'$ is much more stable than using the function ```roots```. In Chapter 5, we will investigate this phenomena further.\n", "\n", ":::\n", "\n", "
Answer. \n", "\n", "Since the diagonal entries of $D$ are positive, we have $D^{-1} = \\mathrm{diag}( 1, d_1^{-1}, \\dots, d_n^{-1} )$ and so \n", "\n", "\\begin{align}\n", " T'_{ij} &= D^{-1}_{ii} T_{ij} D_{jj} \\nonumber\\\\\n", " %\n", " &= \\begin{cases}\n", " d_{j}^{-1} b_j d_{j-1} & \\text{if } j=i-1 \\\\\n", " %\n", " d_{i-1}^{-1} d_{j-1} d_{i} & \\text{if } j=i+1 \\\\\n", " %\n", " 0 &\\text{otherwise}.\n", " \\end{cases}\n", "\\end{align}\n", "\n", "Thereofore, since \n", "\n", "\\begin{align}\n", " d_j^{-1} d_{j-1} &= \\frac{\\sqrt{b_1 b_2\\cdots b_{j-1}}}{\\sqrt{b_1 b_2\\cdots b_{j}}} = \\frac{1}{\\sqrt{b_j}} \\nonumber\\\\\n", " d_{i-1}^{-1} d_{i} &= \\frac{\\sqrt{b_1 b_2\\cdots b_{i}}}{\\sqrt{b_1 b_2\\cdots b_{i-1}}} = \\sqrt{b_i},\n", "\\end{align}\n", "\n", "we have $T' = D^{-1} T D$.\n", "\n", "We conclude by noting that $T v = \\lambda v$ if and only if $T' v' = \\lambda v'$ where $v' := D^{-1} v$. Indeed, \n", "\n", "\\begin{align}\n", " T' v' &= (D^{-1}TD) ( D^{-1}v )\n", " = D^{-1} Tv \n", "\\end{align}\n", "\n", "
" ] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.11.6", "language": "julia", "name": "julia-1.11" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }