{ "cells": [ { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "# remember to include these two lines of code at the start of your document!\n", "from IPython.core.interactiveshell import InteractiveShell\n", "InteractiveShell.ast_node_interactivity = \"all\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# MATH1110 Lab 7: Summations" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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cwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiO2w2w4AAACbSURBVIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbE5hb2IiIjNKexFRERsTmEvIiJicwp7ERERm1PYi4iI2JzCXkRExOYU9iIiIjansBcREbG5/w9hPhFyhoHAHAAAAABJRU5ErkJggg==\n", "text/plain": [ "Graphics object consisting of 9 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = var('x')\n", "g1 = plot( -sqrt(3^2-x^2), -3, 3, color = 'limegreen', thickness = 8, fill = True, fillcolor = 'red')\n", "a=140\n", "z = var(\"z\")\n", "s1 = implicit_plot( a*(x-1.3)^2-(1-(z+1)*6)^3*(1+(z+1)*6)==0, (x, 0, 2.6), (z, -2, 0), color = 'black', fill = True, fillcolor = 'black')\n", "s2 = implicit_plot( a*(x+1.8)^2-(1-(z+1.5)*6)^3*(1+(z+1.5)*6)==0, (x,-2.4, 0.2), (z, -2, 0), color = 'black', fill = True, fillcolor = 'black')\n", "s3 = implicit_plot( a*(x+0.4)^2-(1-(z+0.3)*6)^3*(1+(z+0.3)*6)==0, (x, -2, 0), (z, -2, 0), color = 'black', fill = True, fillcolor = 'black')\n", "seeds = s1+s2+s3\n", "tt = text('reminder to stay hydrated!', (2.5, -3), color = 'brown')\n", "\n", "show((g1+seeds+tt), ymin = -4, ymax = 1, axes = False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Objectives for today:**\n", "\n", "1. How does $\\Sigma$ work?\n", "2. Computing summations\n", "3. Riemann sums" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Translating summations into Sage" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is how we translate summation notation to syntax:\n", "$$\\large{ \\sum_{i=1}^n{f(i)} }$$\n", "In Sage, the $f(i)$ is what goes in the first argument. That is the function being summed. The second argument is the *index*, which is given as the variable beneath the capital sigma letter. The third and fourth entries are where the index will start, and where it will stop. Note that in the general notation above, I started $i$ at 1 (often it's 1 or 0) and used a variable $n$ for the last value." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "sum(f(i), i, 1, n)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# this is the generic form for some function f:\n", "n,i = var('n, i')\n", "f = function('f')(i)\n", "show( sum(f, i, 1, n))\n", "# same thing as above!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How could the calculation $3+3+3+3$ be rewritten as a sum?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Computing summations\n", "\n", "The number at the top of our $\\Sigma$ symbol could be any number of things; a whole number, a variable, or even infinity.\n", "\n", "Try finding $\\sum_{k=1}^{50} k$ and then $\\sum_{k=1}^{\\infty} k$. What response do you get from Sage?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the ending point of our function is a *variable*, then the output will likely be some function of that variable.\n", "\n", "Simplify the following:\n", "$$\\sum_{k=1}^{n} \\frac{4}{k^2+2k}$$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What about the limit of this summation as $n \\rightarrow \\infty$? Remember that Sage accepts the value the variable approaches as '$n=\\_$' in the second argument of the *limit* command." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise questions\n", "\n", "Compute the following summations. Reminder that *N(\\_)* gives a decimal approximation if your answer is hard to read.\n", "\n", "$$1.\\qquad \\sum_{x=0}^{42}\\sin{\\left(\\frac{\\pi}{2}x\\right)} $$\n", "\n", "$$2. \\qquad \\sum_{i=2}^{70}\\frac{1}{\\ln{(i)}} $$\n", "\n", "Be warned that if you try to sum to a sufficiently large number, Sage will start taking a long time. This is signified by the * symbol in the brackets to the left. If it doesn't go away after a minute, you'll probably want to stop/refresh your kernel and lower the number." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Riemann Sums\n", "\n", "One method of finding the area beneath a curve without any calculus is to approximate the area by slicing it into rectangles. This is the idea behind Reimann Sums. We'll proceed with a variation of sorts called the Right-Hand Rule:\n", "$$ \\int_a^b f(x) dx = \\lim_{n\\to \\infty} \\sum_{i=1}^{n} \\Delta x \\Delta y = \\lim_{n\\to \\infty} \\sum_{i=1}^{n}(\\frac{b-a}{n})f(a+i(\\frac{b-a}{n}))$$\n", "Here $\\Delta x = \\frac{b-a}{n}$ is the change in $x$ (or the width of each rectangle) and $\\Delta y$ is the height of the rectangle at an indicated spot. $n$ is the number of rectangles we're dividing the area under the curve into.\n", "> Question: Suppose we started with an estimation of area beneath a curve by dividing it into $n=10$ sections. Will our estimation of area get better or worse as $n$ increases towards infinity?\n", "\n", "Let's practice with the sum of $y=2x$ from 0 to 4. Start by plotting the curve and shade the region between it and x-axis using the argument '*fill = True*'.\n", "$$\\lim_{n\\to \\infty} \\sum_{i=1}^{n}(\\frac{4-0}{n})f(0+i(\\frac{4-0}{n}))$$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "1/2*i" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clear_vars()\n", "x=var('x')\n", "func = 2*x\n", "# first make the plot\n", "\n", "\n", "\n", "i = var('i')\n", "a=0\n", "b=4\n", "n=8\n", "show( (b-a)/n*func(0+i*(b-a)/n) )\n", "# the sum ...\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given that the region is a triangle, what is the true area? Now take the accurate Riemann Sum as $n\\rightarrow \\infty$." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the function $\\arctan{(x)}\\cdot e^{-x}$ for $x\\geq0$. Do you think the area is finite or infinite and why?\n", "\n", "Then approximate the area beneath the curve using the right hand rule Riemann sum." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise questions\n", "For both questions, plot the function and shade the region between the curve and x-axis. The compute the appropriate summation.\n", "\n", "3. Plot $g(x) = (x-3)(x^2-1)$ and use the Right-Hand Rule to approximate the enclosed area beneath the curve (and above the x-axis) with $n=13$ rectangles.\n", "\n", "\n", "4. Find the exact area within $f(x) = \\frac{1}{5}e^x$, $x=-2$, $x=2$ and $y=0$ using the Riemann Sum approach." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 9.0", "language": "sage", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 2 }