Files
CalculusWithJuliaNotes.jl/quarto/_freeze/limits/limits_extensions/execute-results/html.json
2022-07-24 16:38:24 -04:00

15 lines
146 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"hash": "6f158f6270a0622df9b3bbf516649f07",
"result": {
"markdown": "# Limits, issues, extensions of the concept\n\n\n\nThis section uses the following add-on packages:\n\n``` {.julia .cell-code}\nusing CalculusWithJulia\nusing Plots\nusing SymPy\n```\n\n\n\n\n---\n\n\nThe limit of a function at $c$ need not exist for one of many different reasons. Some of these reasons can be handled with extensions to the concept of the limit, others are just problematic in terms of limits. This section covers examples of each.\n\n\nLet's begin with a function that is just problematic. Consider\n\n\n\n$$\nf(x) = \\sin(1/x)\n$$\n\n\nAs this is a composition of nice functions it will have a limit everywhere except possibly when $x=0$, as then $1/x$ may not have a limit. So rather than talk about where it is nice, let's consider the question of whether a limit exists at $c=0$.\n\n\nA graph shows the issue:\n\n::: {.cell hold='true' execution_count=4}\n\n::: {.cell-output .cell-output-display execution_count=5}\n![](limits_extensions_files/figure-html/cell-5-output-1.svg){}\n:::\n:::\n\n\nThe graph oscillates between $-1$ and $1$ infinitely many times on this interval - so many times, that no matter how close one zooms in, the graph on the screen will fail to capture them all. Graphically, there is no single value of $L$ that the function gets close to, as it varies between all the values in $[-1,1]$ as $x$ gets close to $0$. A simple proof that there is no limit, is to take any $\\epsilon$ less than $1$, then with any $\\delta > 0$, there are infinitely many $x$ values where $f(x)=1$ and infinitely many where $f(x) = -1$. That is, there is no $L$ with $|f(x) - L| < \\epsilon$ when $\\epsilon$ is less than $1$ for all $x$ near $0$.\n\n\nThis function basically has too many values it gets close to. Another favorite example of such a function is the function that is $0$ if $x$ is rational and $1$ if not. This function will have no limit anywhere, not just at $0$, and for basically the same reason as above.\n\n\nThe issue isn't oscillation though. Take, for example, the function $f(x) = x \\cdot \\sin(1/x)$. This function again has a limit everywhere save possibly $0$. But in this case, there is a limit at $0$ of $0$. This is because, the following is true:\n\n\n\n$$\n-|x| \\leq x \\sin(1/x) \\leq |x|.\n$$\n\n\nThe following figure illustrates:\n\n::: {.cell hold='true' execution_count=5}\n``` {.julia .cell-code}\nf(x) = x * sin(1/x)\nplot(f, -1, 1)\nplot!(abs)\nplot!(x -> -abs(x))\n```\n\n::: {.cell-output .cell-output-display execution_count=6}\n![](limits_extensions_files/figure-html/cell-6-output-1.svg){}\n:::\n:::\n\n\nThe [squeeze](http://en.wikipedia.org/wiki/Squeeze_theorem) theorem of calculus is the formal reason $f$ has a limit at $0$, as as both the upper function, $|x|$, and the lower function, $-|x|$, have a limit of $0$ at $0$.\n\n\n## Right and left limits\n\n\nAnother example where $f(x)$ has no limit is the function $f(x) = x /|x|, x \\neq 0$. This function is $-1$ for negative $x$ and $1$ for positive $x$. Again, this function will have a limit everywhere except possibly at $x=0$, where division by $0$ is possible.\n\n\nIt's graph is\n\n::: {.cell hold='true' execution_count=6}\n``` {.julia .cell-code}\nf(x) = abs(x)/x\nplot(f, -2, 2)\n```\n\n::: {.cell-output .cell-output-display execution_count=7}\n![](limits_extensions_files/figure-html/cell-7-output-1.svg){}\n:::\n:::\n\n\nThe sharp jump at $0$ is misleading - again, the plotting algorithm just connects the points, it doesn't handle what is a fundamental discontinuity well - the function is not defined at $0$ and jumps from $-1$ to $1$ there. Similarly to our example of $\\sin(1/x)$, near $0$ the function get's close to both $1$ and $-1$, so will have no limit. (Again, just take $\\epsilon$ smaller than $1$.)\n\n\nBut unlike the previous example, this function *would* have a limit if the definition didn't consider values of $x$ on both sides of $c$. The limit on the right side would be $1$, the limit on the left side would be $-1$. This distinction is useful, so there is an extension of the idea of a limit to *one-sided limits*.\n\n\nLet's loosen up the language in the definition of a limit to read:\n\n\n> The limit of $f(x)$ as $x$ approaches $c$ is $L$ if for every neighborhood, $V$, of $L$ there is a neighborhood, $U$, of $c$ for which $f(x)$ is in $V$ for every $x$ in $U$, except possibly $x=c$.\n\n\n\nThe $\\epsilon-\\delta$ definition has $V = (L-\\epsilon, L + \\epsilon)$ and $U=(c-\\delta, c+\\delta)$. This is a rewriting of $L-\\epsilon < f(x) < L + \\epsilon$ as $|f(x) - L| < \\epsilon$.\n\n\nNow for the defintion:\n\n\n> A function $f(x)$ has a limit on the right of $c$, written $\\lim_{x \\rightarrow c+}f(x) = L$ if for every $\\epsilon > 0$, there exists a $\\delta > 0$ such that whenever $0 < x - c < \\delta$ it holds that $|f(x) - L| < \\epsilon$. That is, $U$ is $(c, c+\\delta)$\n\n\n\nSimilarly, a limit on the left is defined where $U=(c-\\delta, c)$.\n\n\nThe `SymPy` function `limit` has a keyword argument `dir=\"+\"` or `dir=\"-\"` to request that a one-sided limit be formed. The default is `dir=\"+\"`. Passing `dir=\"+-\"` will compute both one side limits, and throw an error if the two are not equal, in agreement with no limit existing.\n\n::: {.cell execution_count=7}\n``` {.julia .cell-code}\n@syms x\n```\n\n::: {.cell-output .cell-output-display execution_count=8}\n```\n(x,)\n```\n:::\n:::\n\n\n::: {.cell hold='true' execution_count=8}\n``` {.julia .cell-code}\nf(x) = abs(x)/x\nlimit(f(x), x=>0, dir=\"+\"), limit(f(x), x=>0, dir=\"-\")\n```\n\n::: {.cell-output .cell-output-display execution_count=9}\n```\n(1, -1)\n```\n:::\n:::\n\n\n:::{.callout-warning}\n## Warning\nThat means the mathematical limit need not exist when `SymPy`'s `limit` returns an answer, as `SymPy` is only carrying out a one sided limit. Explicitly passing `dir=\"+-\"` or checking that both `limit(ex, x=>c)` and `limit(ex, x=>c, dir=\"-\")` are equal would be needed to confirm a limit exists mathematically.\n\n:::\n\nThe relation between the two concepts is that a function has a limit at $c$ if an only if the left and right limits exist and are equal. This function $f$ has both existing, but the two limits are not equal.\n\n\nThere are other such functions that jump. Another useful one is the floor function, which just rounds down to the nearest integer. A graph shows the basic shape:\n\n::: {.cell execution_count=9}\n``` {.julia .cell-code}\nplot(floor, -5,5)\n```\n\n::: {.cell-output .cell-output-display execution_count=10}\n![](limits_extensions_files/figure-html/cell-10-output-1.svg){}\n:::\n:::\n\n\nAgain, the (nearly) vertical lines are an artifact of the graphing algorithm and not actual points that solve $y=f(x)$. The floor function has limits except at the integers. There the left and right limits differ.\n\n\nConsider the limit at $c=0$. If $0 < x < 1/2$, say, then $f(x) = 0$ as we round down, so the right limit will be $0$. However, if $-1/2 < x < 0$, then the $f(x) = -1$, again as we round down, so the left limit will be $-1$. Again, with this example both the left and right limits exists, but at the integer values they are not equal, as they differ by 1.\n\n\nSome functions only have one-sided limits as they are not defined in an interval around $c$. There are many examples, but we will take $f(x) = x^x$ and consider $c=0$. This function is not well defined for all $x < 0$, so it is typical to just take the domain to be $x > 0$. Still it has a right limit $\\lim_{x \\rightarrow 0+} x^x = 1$. `SymPy` can verify:\n\n::: {.cell execution_count=10}\n``` {.julia .cell-code}\nlimit(x^x, x, 0, dir=\"+\")\n```\n\n::: {.cell-output .cell-output-display execution_count=11}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n1\n\\]\n</span>\n```\n:::\n:::\n\n\nThis agrees with the IEEE convention of assigning `0^0` to be `1`.\n\n\nHowever, not all such functions with indeterminate forms of $0^0$ will have a limit of $1$.\n\n\n##### Example\n\n\nConsider this funny graph:\n\n::: {.cell hold='true' execution_count=11}\n\n::: {.cell-output .cell-output-display execution_count=12}\n![](limits_extensions_files/figure-html/cell-12-output-1.svg){}\n:::\n:::\n\n\nDescribe the limits at $-1$, $0$, and $1$.\n\n\n * At $-1$ we see a jump, there is no limit but instead a left limit of 1 and a right limit appearing to be $1/2$.\n * At $0$ we see a limit of $1$.\n * Finally, at $1$ again there is a jump, so no limit. Instead the left limit is about $-1$ and the right limit $1$.\n\n\n## Limits at infinity\n\n\nThe loose definition of a horizontal asymptote is \"a line such that the distance between the curve and the line approaches $0$ as they tend to infinity.\" This sounds like it should be defined by a limit. The issue is, that the limit would be at $\\pm\\infty$ and not some finite $c$. This requires the idea of a neighborhood of $c$, $0 < |x-c| < \\delta$ to be reworked.\n\n\nThe basic idea for a limit at $+\\infty$ is that for any $\\epsilon$, there exists an $M$ such that when $x > M$ it must be that $|f(x) - L| < \\epsilon$. For a horizontal asymptote, the line would be $y=L$. Similarly a limit at $-\\infty$ can be defined with $x < M$ being the condition.\n\n\nLet's consider some cases.\n\n\nThe function $f(x) = \\sin(x)$ will not have a limit at $+\\infty$ for exactly the same reason that $f(x) = \\sin(1/x)$ does not have a limit at $c=0$ - it just oscillates between $-1$ and $1$ so never eventually gets close to a single value.\n\n\n`SymPy` gives an odd answer here indicating the range of values:\n\n::: {.cell execution_count=12}\n``` {.julia .cell-code}\nlimit(sin(x), x => oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=13}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n\\left\\langle -1, 1\\right\\rangle\n\\]\n</span>\n```\n:::\n:::\n\n\n(We used `SymPy`'s `oo` for $\\infty$ and not `Inf`.)\n\n\n---\n\nHowever, a damped oscillation, such as $f(x) = e^{-x} \\sin(x)$ will have a limit:\n\n::: {.cell execution_count=13}\n``` {.julia .cell-code}\nlimit(exp(-x)*sin(x), x => oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=14}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n0\n\\]\n</span>\n```\n:::\n:::\n\n\n---\n\n\nWe have rational functions will have the expected limit. In this example $m = n$, so we get a horizontal asymptote that is not $y=0$:\n\n::: {.cell execution_count=14}\n``` {.julia .cell-code}\nlimit((x^2 - 2x +2)/(4x^2 + 3x - 2), x=>oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=15}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n\\frac{1}{4}\n\\]\n</span>\n```\n:::\n:::\n\n\n---\n\nThough rational functions can have only one (at most) horizontal asymptote, this isn't true for all functions. Consider the following $f(x) = x / \\sqrt{x^2 + 4}$. It has different limits depending if $x$ goes to $\\infty$ or negative $\\infty$:\n\n::: {.cell hold='true' execution_count=15}\n``` {.julia .cell-code}\nf(x) = x / sqrt(x^2 + 4)\nlimit(f(x), x=>oo), limit(f(x), x=>-oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=16}\n```\n(1, -1)\n```\n:::\n:::\n\n\n(A simpler example showing this behavior is just the function $x/|x|$ considered earlier.)\n\n\n##### Example: Limits at infinity and right limits at $0$\n\n\nGiven a function $f$ the question of whether this exists:\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} f(x)\n$$\n\n\ncan be reduced to the question of whether this limit exists:\n\n\n\n$$\n\\lim_{x \\rightarrow 0+} f(1/x)\n$$\n\n\nSo whether $\\lim_{x \\rightarrow 0+} \\sin(1/x)$ exists is equivalent to whether $\\lim_{x\\rightarrow \\infty} \\sin(x)$ exists, which clearly does not due to the oscillatory nature of $\\sin(x)$.\n\n\nSimilarly, one can make this reduction\n\n\n\n$$\n\\lim_{x \\rightarrow c+} f(x) =\n\\lim_{x \\rightarrow 0+} f(c + x) =\n\\lim_{x \\rightarrow \\infty} f(c + \\frac{1}{x}).\n$$\n\n\nThat is, right limits can be analyzed as limits at $\\infty$ or right limits at $0$, should that prove more convenient.\n\n\n## Limits of infinity\n\n\nVertical asymptotes are nicely defined with horizontal asymptotes by the graph getting close to some line. However, the formal definition of a limit won't be the same. For a vertical asymptote, the value of $f(x)$ heads towards positive or negative infinity, not some finite $L$. As such, a neighborhood like $(L-\\epsilon, L+\\epsilon)$ will no longer make sense, rather we replace it with an expression like $(M, \\infty)$ or $(-\\infty, M)$. As in: the limit of $f(x)$ as $x$ approaches $c$ is *infinity* if for every $M > 0$ there exists a $\\delta>0$ such that if $0 < |x-c| < \\delta$ then $f(x) > M$. Approaching $-\\infty$ would conclude with $f(x) < -M$ for all $M>0$.\n\n\n##### Examples\n\n\nConsider the function $f(x) = 1/x^2$. This will have a limit at every point except possibly $0$, where division by $0$ is possible. In this case, there is a vertical asymptote, as seen in the following graph. The limit at $0$ is $\\infty$, in the extended sense above. For $M>0$, we can take any $0 < \\delta < 1/\\sqrt{M}$. The following graph shows $M=25$ where the function values are outside of the box, as $f(x) > M$ for those $x$ values with $0 < |x-0| < 1/\\sqrt{M}$.\n\n::: {.cell hold='true' execution_count=16}\n\n::: {.cell-output .cell-output-display execution_count=17}\n![](limits_extensions_files/figure-html/cell-17-output-1.svg){}\n:::\n:::\n\n\n---\n\n\nThe function $f(x)=1/x$ requires us to talk about left and right limits of infinity, with the natural generalization. We can see that the left limit at $0$ is $-\\infty$ and the right limit $\\infty$:\n\n::: {.cell hold='true' execution_count=17}\n\n::: {.cell-output .cell-output-display execution_count=18}\n![](limits_extensions_files/figure-html/cell-18-output-1.svg){}\n:::\n:::\n\n\n`SymPy` agrees:\n\n::: {.cell hold='true' execution_count=18}\n``` {.julia .cell-code}\nf(x) = 1/x\nlimit(f(x), x=>0, dir=\"-\"), limit(f(x), x=>0, dir=\"+\")\n```\n\n::: {.cell-output .cell-output-display execution_count=19}\n```\n(-oo, oo)\n```\n:::\n:::\n\n\n---\n\nConsider the function $g(x) = x^x(1 + \\log(x)), x > 0$. Does this have a *right* limit at $0$?\n\n\nA quick graph shows that a limit may be $-\\infty$:\n\n::: {.cell execution_count=19}\n``` {.julia .cell-code}\ng(x) = x^x * (1 + log(x))\nplot(g, 1/100, 1)\n```\n\n::: {.cell-output .cell-output-display execution_count=20}\n![](limits_extensions_files/figure-html/cell-20-output-1.svg){}\n:::\n:::\n\n\nWe can check with `SymPy`:\n\n::: {.cell execution_count=20}\n``` {.julia .cell-code}\nlimit(g(x), x=>0, dir=\"+\")\n```\n\n::: {.cell-output .cell-output-display execution_count=21}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n-\\infty\n\\]\n</span>\n```\n:::\n:::\n\n\n## Limits of sequences\n\n\nAfter all this, we still can't formalize the basic question asked in the introduction to limits: what is the area contained in a parabola. For that we developed a sequence of sums: $s_n = 1/2 \\dot((1/4)^0 + (1/4)^1 + (1/4)^2 + \\cdots + (1/4)^n)$. This isn't a function of $x$, but rather depends only on non-negative integer values of $n$. However, the same idea as a limit at infinity can be used to define a limit.\n\n\n> Let $a_0,a_1, a_2, \\dots, a_n, \\dots$ be a sequence of values indexed by $n$. We have $\\lim_{n \\rightarrow \\infty} a_n = L$ if for every $\\epsilon > 0$ there exists an $M>0$ where if $n > M$ then $|a_n - L| < \\epsilon$.\n\n\n\nCommon language is the sequence *converges* when the limit exists and otherwise *diverges*.\n\n\nThe above is essentially the same as a limit *at* infinity for a function, but in this case the function's domain is only the non-negative integers.\n\n\n`SymPy` is happy to compute limits of sequences. Defining this one involving a sum is best done with the `summation` function:\n\n::: {.cell execution_count=21}\n``` {.julia .cell-code}\n@syms i::integer n::(integer, positive)\ns(n) = 1//2 * summation((1//4)^i, (i, 0, n)) # rationals make for an exact answer\nlimit(s(n), n=>oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=22}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n\\frac{2}{3}\n\\]\n</span>\n```\n:::\n:::\n\n\n##### Example\n\n\nThe limit\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{e^x - 1}{x} = 1,\n$$\n\n\nis an important limit. Using the definition of $e^x$ by an infinite sequence:\n\n\n\n$$\ne^x = \\lim_{n \\rightarrow \\infty} (1 + \\frac{x}{n})^n,\n$$\n\n\nwe can establish the limit using the squeeze theorem. First,\n\n\n\n$$\nA = |(1 + \\frac{x}{n})^n - 1 - x| = |\\Sigma_{k=0}^n {n \\choose k}(\\frac{x}{n})^k - 1 - x| = |\\Sigma_{k=2}^n {n \\choose k}(\\frac{x}{n})^k|,\n$$\n\n\nthe first two sums cancelling off. The above comes from the binomial expansion theorem for a polynomial. Now ${n \\choose k} \\leq n^k$so we have\n\n\n\n$$\nA \\leq \\Sigma_{k=2}^n |x|^k = |x|^2 \\frac{1 - |x|^{n+1}}{1 - |x|} \\leq\n\\frac{|x|^2}{1 - |x|}.\n$$\n\n\nusing the *geometric* sum formula with $x \\approx 0$ (and not $1$):\n\n::: {.cell hold='true' execution_count=22}\n``` {.julia .cell-code}\n@syms x n i\nsummation(x^i, (i,0,n))\n```\n\n::: {.cell-output .cell-output-display execution_count=23}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n\\begin{cases} n + 1 & \\text{for}\\: x = 1 \\\\\\frac{1 - x^{n + 1}}{1 - x} & \\text{otherwise} \\end{cases}\n\\]\n</span>\n```\n:::\n:::\n\n\nAs this holds for all $n$, as $n$ goes to $\\infty$ we have:\n\n\n\n$$\n|e^x - 1 - x| \\leq \\frac{|x|^2}{1 - |x|}\n$$\n\n\nDividing both sides by $x$ and noting that as $x \\rightarrow 0$, $|x|/(1-|x|)$ goes to $0$ by continuity, the squeeze theorem gives the limit:\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{e^x -1}{x} - 1 = 0.\n$$\n\n\nThat ${n \\choose k} \\leq n^k$ can be viewed as the left side counts the number of combinations of $k$ choices from $n$ distinct items, which is less than the number of permutations of $k$ choices, which is less than the number of choices of $k$ items from $n$ distinct ones without replacement what $n^k$ counts.\n\n\n### Some limit theorems for sequences\n\n\nThe limit discussion first defined limits of scalar univariate functions at a point $c$ and then added generalizations. The pedagogical approach can be reversed by starting the discussion with limits of sequences and then generalizing from there. This approach relies on a few theorems to be gathered along the way that are mentioned here for the curious reader:\n\n\n * Convergent sequences are bounded.\n * All *bounded* monotone sequences converge.\n * Every bounded sequence has a convergent subsequence. (Bolzano-Weirstrass)\n * The limit of $f$ at $c$ exists and equals $L$ if and only if for *every* sequence $x_n$ in the domain of $f$ converging to $c$ the sequence $s_n = f(x_n)$ converges to $L$.\n\n\n## Summary\n\n\nThe following table captures the various changes to the definition of the limit to accommodate some of the possible behaviors.\n\n::: {.cell execution_count=23}\n\n::: {.cell-output .cell-output-display execution_count=24}\n```{=html}\n\n<div class=\"table-responsive\">\n<table class=\"table table-hover\">\n<tr><th>Type</th><th>Notation</th><th>V</th><th>U</th></tr>\n\n<tr><td><div class=\"markdown\"><p>limit</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{x\\rightarrow c}f(x) = L\\)\n</div></td><td><div class=\"markdown\">\\((L-\\epsilon, L+\\epsilon)\\)\n</div></td><td><div class=\"markdown\">\\((c - \\delta, c+\\delta)\\)\n</div></td></tr>\n<tr><td><div class=\"markdown\"><p>right limit</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{x\\rightarrow c+}f(x) = L\\)\n</div></td><td><div class=\"markdown\">\\((L-\\epsilon, L+\\epsilon)\\)\n</div></td><td><div class=\"markdown\">\\((c, c+\\delta)\\)\n</div></td></tr>\n<tr><td><div class=\"markdown\"><p>left limit</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{x\\rightarrow c-}f(x) = L\\)\n</div></td><td><div class=\"markdown\">\\((L-\\epsilon, L+\\epsilon)\\)\n</div></td><td><div class=\"markdown\">\\((c - \\delta, c)\\)\n</div></td></tr>\n<tr><td><div class=\"markdown\"><p>limit at \\(\\infty\\)</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{x\\rightarrow \\infty}f(x) = L\\)\n</div></td><td><div class=\"markdown\">\\((L-\\epsilon, L+\\epsilon)\\)\n</div></td><td><div class=\"markdown\">\\((M, \\infty)\\)\n</div></td></tr>\n<tr><td><div class=\"markdown\"><p>limit at \\(-\\infty\\)</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{x\\rightarrow -\\infty}f(x) = L\\)\n</div></td><td><div class=\"markdown\">\\((L-\\epsilon, L+\\epsilon)\\)\n</div></td><td><div class=\"markdown\">\\((-\\infty, M)\\)\n</div></td></tr>\n<tr><td><div class=\"markdown\"><p>limit of \\(\\infty\\)</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{x\\rightarrow c}f(x) = \\infty\\)\n</div></td><td><div class=\"markdown\">\\((M, \\infty)\\)\n</div></td><td><div class=\"markdown\">\\((c - \\delta, c+\\delta)\\)\n</div></td></tr>\n<tr><td><div class=\"markdown\"><p>limit of \\(-\\infty\\)</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{x\\rightarrow c}f(x) = -\\infty\\)\n</div></td><td><div class=\"markdown\">\\((-\\infty, M)\\)\n</div></td><td><div class=\"markdown\">\\((c - \\delta, c+\\delta)\\)\n</div></td></tr>\n<tr><td><div class=\"markdown\"><p>limit of a sequence</p>\n</div></td><td><div class=\"markdown\">\\(\\lim_{n \\rightarrow \\infty} a_n = L\\)\n</div></td><td><div class=\"markdown\">\\((L-\\epsilon, L+\\epsilon)\\)\n</div></td><td><div class=\"markdown\">\\((M, \\infty)\\)\n</div></td></tr>\n\n</table>\n</div>\n\n```\n:::\n:::\n\n\n[Ross](https://doi.org/10.1007/978-1-4614-6271-2) summarizes this by enumerating the 15 different *related* definitions for $\\lim_{x \\rightarrow a} f(x) = L$ that arise from $L$ being either finite, $-\\infty$, or $+\\infty$ and $a$ being any of $c$, $c-$, $c+$, $-\\infty$, or $+\\infty$.\n\n\n## Rates of growth\n\n\nConsider two functions $f$ and $g$ to be *comparable* if there are positive integers $m$ and $n$ with *both*\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{f(x)^m}{g(x)} = \\infty \\quad\\text{and }\n\\lim_{x \\rightarrow \\infty} \\frac{g(x)^n}{f(x)} = \\infty.\n$$\n\n\nThe first says $g$ is eventually bounded by a power of $f$, the second that $f$ is eventually bounded by a power of $g$.\n\n\nHere we consider which families of functions are *comparable*.\n\n\nFirst consider $f(x) = x^3$ and $g(x) = x^4$. We can take $m=2$ and $n=1$ to verify $f$ and $g$ are comparable:\n\n::: {.cell execution_count=24}\n``` {.julia .cell-code}\nfx, gx = x^3, x^4\nlimit(fx^2/gx, x=>oo), limit(gx^1 / fx, x=>oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=25}\n```\n(oo, oo)\n```\n:::\n:::\n\n\nSimilarly for any pairs of powers, so we could conclude $f(x) = x^n$ and $g(x) =x^m$ are comparable. (However, as is easily observed, for $m$ and $n$ both positive integers $\\lim_{x \\rightarrow \\infty} x^{m+n}/x^m = \\infty$ and $\\lim_{x \\rightarrow \\infty} x^{m}/x^{m+n} = 0$, consistent with our discussion on rational functions that higher-order polynomials dominate lower-order polynomials.)\n\n\nNow consider $f(x) = x$ and $g(x) = \\log(x)$. These are not compatible as there will be no $n$ large enough. We might say $x$ dominates $\\log(x)$.\n\n::: {.cell execution_count=25}\n``` {.julia .cell-code}\nlimit(log(x)^n / x, x => oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=26}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n0\n\\]\n</span>\n```\n:::\n:::\n\n\nAs $x$ could be replaced by any monomial $x^k$, we can say \"powers\" grow faster than \"logarithms\".\n\n\nNow consider $f(x)=x$ and $g(x) = e^x$. These are not compatible as there will be no $m$ large enough:\n\n::: {.cell execution_count=26}\n``` {.julia .cell-code}\n@syms m::(positive, integer)\nlimit(x^m / exp(x), x => oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=27}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n0\n\\]\n</span>\n```\n:::\n:::\n\n\nThat is $e^x$ grows faster than any power of $x$.\n\n\nNow, if $a, b > 1$ then $f(x) = a^x$ and $g(x) = b^x$ will be comparable. Take $m$ so that $a^m > b$ and $n$ so that $b^n > x$ as then, say,\n\n\n\n$$\n\\frac{(a^x)^m}{b^x} = \\frac{a^{xm}}{b^x} = \\frac{(a^m)^x}{b^x} = (\\frac{a^m}{b})^x,\n$$\n\n\nwhich will go to $\\infty$ as $x \\rightarrow \\infty$ as $a^m/b > 1$.\n\n\nFinally, consider $f(x) = \\exp(x^2)$ and $g(x) = \\exp(x)^2$. Are these comparable? No, as no $n$ is large enough:\n\n::: {.cell hold='true' execution_count=27}\n``` {.julia .cell-code}\n@syms x n::(positive, integer)\nfx, gx = exp(x^2), exp(x)^2\nlimit(gx^n / fx, x => oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=28}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n0\n\\]\n</span>\n```\n:::\n:::\n\n\nA negative test for compatability is the following: if\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{\\log(|f(x)|)}{\\log(|g(x)|)} = 0,\n$$\n\n\nThen $f$ and $g$ are not compatible (and $g$ grows faster than $f$). Applying this to the last two values of $f$ and $g$, we have\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty}\\frac{\\log(\\exp(x)^2)}{\\log(\\exp(x^2))} =\n\\lim_{x \\rightarrow \\infty}\\frac{2\\log(\\exp(x))}{x^2} =\n\\lim_{x \\rightarrow \\infty}\\frac{2x}{x^2} = 0,\n$$\n\n\nso $f(x) = \\exp(x^2)$ grows faster than $g(x) = \\exp(x)^2$.\n\n---\n\n\nKeeping in mind that logarithms grow slower than powers which grow slower than exponentials ($a > 1$) can help understand growth at $\\infty$ as a comparison of leading terms does for rational functions.\n\n\nWe can immediately put this to use to compute $\\lim_{x\\rightarrow 0+} x^x$. We first express this problem using $x^x = (\\exp(\\ln(x)))^x = e^{x\\ln(x)}$. Rewriting $u(x) = \\exp(\\ln(u(x)))$, which only uses the basic inverse relation between the two functions, can often be a useful step.\n\n\nAs $f(x) = e^x$ is a suitably nice function (continuous) so that the limit of a composition can be computed through the limit of the inside function, $x\\ln(x)$, it is enough to see what $\\lim_{x\\rightarrow 0+} x\\ln(x)$ is. We *re-express* this as a limit at $\\infty$\n\n\n\n$$\n\\lim_{x\\rightarrow 0+} x\\ln(x) = \\lim_{x \\rightarrow \\infty} (1/x)\\ln(1/x) =\n\\lim_{x \\rightarrow \\infty} \\frac{-\\ln(x)}{x} = 0\n$$\n\n\nThe last equality follows, as the function $x$ dominates the function $\\ln(x)$. So by the limit rule involving compositions we have: $\\lim_{x\\rightarrow 0+} x^x = e^0 = 1$.\n\n\n## Questions\n\n\n###### Question\n\n\nSelect the graph for which the limit at $a$ is infinite.\n\n::: {.cell hold='true' execution_count=28}\n\n::: {.cell-output .cell-output-display execution_count=29}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='9JMtG9Lz' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_9JMtG9Lz\">\n <div style=\"padding-top: 5px\">\n <div>\n<img id=\"hotspot_9JMtG9Lz\" src=\"data:image/gif;base64,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\"/>\n</div>\n\n \n </div>\n </div>\n <div id='9JMtG9Lz_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\n document.getElementById(\"hotspot_9JMtG9Lz\").addEventListener(\"click\", function(e) {\n var u = e.offsetX;\n var v = e.offsetY;\n var w = this.offsetWidth;\n var h = this.offsetHeight\n\n var x = u/w;\n var y = (h-v)/h\n\n var correct = (x >= 0.5 && x <= 1.0 && y >= 0.5 && y <= 1.0);\n var msgBox = document.getElementById('9JMtG9Lz_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_9JMtG9Lz\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_9JMtG9Lz\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n\n })\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nSelect the graph for which the limit at $\\infty$ appears to be defined.\n\n::: {.cell hold='true' execution_count=29}\n\n::: {.cell-output .cell-output-display execution_count=30}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='C6lFDVwX' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_C6lFDVwX\">\n <div style=\"padding-top: 5px\">\n <div>\n<img id=\"hotspot_C6lFDVwX\" src=\"data:image/gif;base64,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5MgR0kEAAKBFCgsLjx49un//fq7uRQA+P3779u0vv/wSGRkpISFBOgsHiIiIXLx4cejQoWZmZj/88APpOAAA8B27du2ysbHh9oWZ+b2P6+rqFi9e7O7uzp8XxWwbDQ2NM2fOzJs37/nz53JycqTjAADAf0pOTr5x4wYPLrPI78er9+zZ06NHDy592YugSZMmjR8/fvPmzaSDAADAt2zatGnHjh2dOnXi9o74uo+jo6MvXbp06tQp0kG44tChQw8ePAgKCiIdBAAAmnf//v20tLTly5fzYF/828cVFRVLly797bffFBUVSWfhCmlp6cuXL69cuRJffwIA4EM1NTVr1649duyYqKgoD3bHv328bdu2cePGTZo0iXQQLho8eLC1tbWjoyPpIAAAwO7IkSNDhgwZM2YMb3bHp+dzRURE3LlzJyEhgXQQrtu1a9fQoUP//vvvadOmkc4CAABfZWVlHT9+/MmTJzzbIz/OjysrK+3s7Ly8vDrCuccSEhJnz55ds2ZNUVER6SwAAPDVxo0b165dq6WlxbM98mMf79q168cff+T/extzypAhQ6ysrHCuNQAAn4iKioqLi1u/fj0vd8p3x6ufPXt27dq1f/75h3QQntq9e/cPP/wQGho6btw40lkAADq0urq6NWvWHD16lMcXoeKv+TGdTrezs/Pw8ODBN734irS09OnTp1etWlVVVUU6CwBAh3bo0KG+fftaWFjweL/81ceenp7a2trcu5sVPxszZoyJiYmrqyvpIAAAHVdqaqqnp+ehQ4d4v2s+Ol795csXd3f3x48fkw5CzMGDBwcOHGhlZdW3b1/SWQAAOiIHB4dffvlFU1OT97vmo/nx2rVrt27dqqOjQzoIMUpKSvv377e3t8fdGAEAeM/X1zc7O9ve3p7I3vmljwMCAj5//rxmzRrSQQhbtGiRqKjoxYsXSQcBAOhYiouLN23a9Pvvv/PmalxN8UUfV1dXb9q06eTJk2JifHT8nAgajXbixAknJyd8HRkAgJc2btxobW1N8Da4fNHHbm5uo0aNGjFiBOkgfKFv375WVla7du0iHQQAoKN48OBBVFTUzp07CWYgPx9NTU09c+bM8+fPSQfhI87OzoaGhkuXLh00aBDpLAAAQq68vHz58uXe3t5SUlIEY5CfH69Zs2b79u1qamqkg/AReXl5d3f3NWvW4MQuAABu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\"/>\n</div>\n\n \n </div>\n </div>\n <div id='C6lFDVwX_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\n document.getElementById(\"hotspot_C6lFDVwX\").addEventListener(\"click\", function(e) {\n var u = e.offsetX;\n var v = e.offsetY;\n var w = this.offsetWidth;\n var h = this.offsetHeight\n\n var x = u/w;\n var y = (h-v)/h\n\n var correct = (x >= 0.5 && x <= 1.0 && y >= 0.5 && y <= 1.0);\n var msgBox = document.getElementById('C6lFDVwX_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_C6lFDVwX\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_C6lFDVwX\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n\n })\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nConsider the function $f(x) = \\sqrt{x}$.\n\n\nDoes this function have a limit at every $c > 0$?\n\n::: {.cell hold='true' execution_count=30}\n\n::: {.cell-output .cell-output-display execution_count=31}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='S1nOS5vG' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_S1nOS5vG\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_S1nOS5vG\"\n id=\"radio_S1nOS5vG_1\" value=\"1\">\n <span class=\"label-body\">\n Yes\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_S1nOS5vG\"\n id=\"radio_S1nOS5vG_2\" value=\"2\">\n <span class=\"label-body\">\n No\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='S1nOS5vG_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_S1nOS5vG\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('S1nOS5vG_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_S1nOS5vG\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_S1nOS5vG\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nDoes this function have a limit at $c=0$?\n\n::: {.cell hold='true' execution_count=31}\n\n::: {.cell-output .cell-output-display execution_count=32}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='fKBmNHFX' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_fKBmNHFX\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_fKBmNHFX\"\n id=\"radio_fKBmNHFX_1\" value=\"1\">\n <span class=\"label-body\">\n Yes\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_fKBmNHFX\"\n id=\"radio_fKBmNHFX_2\" value=\"2\">\n <span class=\"label-body\">\n No\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='fKBmNHFX_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_fKBmNHFX\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 2;\n var msgBox = document.getElementById('fKBmNHFX_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_fKBmNHFX\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_fKBmNHFX\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nDoes this function have a right limit at $c=0$?\n\n::: {.cell hold='true' execution_count=32}\n\n::: {.cell-output .cell-output-display execution_count=33}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='t575DaO4' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_t575DaO4\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_t575DaO4\"\n id=\"radio_t575DaO4_1\" value=\"1\">\n <span class=\"label-body\">\n Yes\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_t575DaO4\"\n id=\"radio_t575DaO4_2\" value=\"2\">\n <span class=\"label-body\">\n No\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='t575DaO4_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_t575DaO4\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('t575DaO4_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_t575DaO4\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_t575DaO4\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nDoes this function have a left limit at $c=0$?\n\n::: {.cell hold='true' execution_count=33}\n\n::: {.cell-output .cell-output-display execution_count=34}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='WU1AKTUV' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_WU1AKTUV\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_WU1AKTUV\"\n id=\"radio_WU1AKTUV_1\" value=\"1\">\n <span class=\"label-body\">\n Yes\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_WU1AKTUV\"\n id=\"radio_WU1AKTUV_2\" value=\"2\">\n <span class=\"label-body\">\n No\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='WU1AKTUV_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_WU1AKTUV\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 2;\n var msgBox = document.getElementById('WU1AKTUV_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_WU1AKTUV\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_WU1AKTUV\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n##### Question\n\n\nFind $\\lim_{x \\rightarrow \\infty} \\sin(x)/x$.\n\n::: {.cell hold='true' execution_count=34}\n\n::: {.cell-output .cell-output-display execution_count=35}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='yy91JWs7' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_yy91JWs7\">\n <div style=\"padding-top: 5px\">\n <div class=\"row\">\n <span style=\"width:90%\">\n <input id=\"yy91JWs7\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n </span>\n <span style=\"width:10%\">\n </span>\n</div>\n\n \n </div>\n </div>\n <div id='yy91JWs7_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"yy91JWs7\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0) <= 0);\n var msgBox = document.getElementById('yy91JWs7_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_yy91JWs7\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_yy91JWs7\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nFind $\\lim_{x \\rightarrow \\infty} (1-\\cos(x))/x^2$.\n\n::: {.cell hold='true' execution_count=35}\n\n::: {.cell-output .cell-output-display execution_count=36}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='SrjDPMrk' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_SrjDPMrk\">\n <div style=\"padding-top: 5px\">\n <div class=\"row\">\n <span style=\"width:90%\">\n <input id=\"SrjDPMrk\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n </span>\n <span style=\"width:10%\">\n </span>\n</div>\n\n \n </div>\n </div>\n <div id='SrjDPMrk_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"SrjDPMrk\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0) <= 0);\n var msgBox = document.getElementById('SrjDPMrk_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_SrjDPMrk\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_SrjDPMrk\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nFind $\\lim_{x \\rightarrow \\infty} \\log(x)/x$.\n\n::: {.cell hold='true' execution_count=36}\n\n::: {.cell-output .cell-output-display execution_count=37}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='Ax4fbyQL' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_Ax4fbyQL\">\n <div style=\"padding-top: 5px\">\n <div class=\"row\">\n <span style=\"width:90%\">\n <input id=\"Ax4fbyQL\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n </span>\n <span style=\"width:10%\">\n </span>\n</div>\n\n \n </div>\n </div>\n <div id='Ax4fbyQL_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"Ax4fbyQL\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0) <= 0);\n var msgBox = document.getElementById('Ax4fbyQL_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_Ax4fbyQL\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_Ax4fbyQL\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nFind $\\lim_{x \\rightarrow 2+} (x-3)/(x-2)$.\n\n::: {.cell hold='true' execution_count=37}\n\n::: {.cell-output .cell-output-display execution_count=38}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='icc8cS4Z' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_icc8cS4Z\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_icc8cS4Z\"\n id=\"radio_icc8cS4Z_1\" value=\"1\">\n <span class=\"label-body\">\n \\(L=-\\infty\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_icc8cS4Z\"\n id=\"radio_icc8cS4Z_2\" value=\"2\">\n <span class=\"label-body\">\n \\(L=0\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_icc8cS4Z\"\n id=\"radio_icc8cS4Z_3\" value=\"3\">\n <span class=\"label-body\">\n \\(L=-1\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_icc8cS4Z\"\n id=\"radio_icc8cS4Z_4\" value=\"4\">\n <span class=\"label-body\">\n \\(L=\\infty\\)\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='icc8cS4Z_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_icc8cS4Z\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('icc8cS4Z_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_icc8cS4Z\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_icc8cS4Z\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nFind $\\lim_{x \\rightarrow -3-} (x-3)/(x+3)$.\n\n::: {.cell hold='true' execution_count=38}\n\n::: {.cell-output .cell-output-display execution_count=39}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='xzPkZvWs' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_xzPkZvWs\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_xzPkZvWs\"\n id=\"radio_xzPkZvWs_1\" value=\"1\">\n <span class=\"label-body\">\n \\(L=-1\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_xzPkZvWs\"\n id=\"radio_xzPkZvWs_2\" value=\"2\">\n <span class=\"label-body\">\n \\(L=0\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_xzPkZvWs\"\n id=\"radio_xzPkZvWs_3\" value=\"3\">\n <span class=\"label-body\">\n \\(L=\\infty\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_xzPkZvWs\"\n id=\"radio_xzPkZvWs_4\" value=\"4\">\n <span class=\"label-body\">\n \\(L=-\\infty\\)\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='xzPkZvWs_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_xzPkZvWs\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 3;\n var msgBox = document.getElementById('xzPkZvWs_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_xzPkZvWs\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_xzPkZvWs\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nLet $f(x) = \\exp(x + \\exp(-x^2))$ and $g(x) = \\exp(-x^2)$. Compute:\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{\\ln(f(x))}{\\ln(g(x))}.\n$$\n\n::: {.cell hold='true' execution_count=39}\n\n::: {.cell-output .cell-output-display execution_count=40}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='pdvMtbQd' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_pdvMtbQd\">\n <div style=\"padding-top: 5px\">\n <div class=\"row\">\n <span style=\"width:90%\">\n <input id=\"pdvMtbQd\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n </span>\n <span style=\"width:10%\">\n </span>\n</div>\n\n \n </div>\n </div>\n <div id='pdvMtbQd_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"pdvMtbQd\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0) <= 0);\n var msgBox = document.getElementById('pdvMtbQd_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_pdvMtbQd\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_pdvMtbQd\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nConsider the following expression:\n\n::: {.cell execution_count=40}\n``` {.julia .cell-code}\nex = 1/(exp(-x + exp(-x))) - exp(x)\n```\n\n::: {.cell-output .cell-output-display execution_count=41}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n- e^{x} + e^{x - e^{- x}}\n\\]\n</span>\n```\n:::\n:::\n\n\nWe want to find the limit, $L$, as $x \\rightarrow \\infty$, which we assume exists below.\n\n\nWe first rewrite `ex` using `w` as `exp(-x)`:\n\n::: {.cell execution_count=41}\n``` {.julia .cell-code}\n@syms w\nex1 = ex(exp(-x) => w)\n```\n\n::: {.cell-output .cell-output-display execution_count=42}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n- \\frac{1}{w} + \\frac{e^{- w}}{w}\n\\]\n</span>\n```\n:::\n:::\n\n\nAs $x \\rightarrow \\infty$, $w \\rightarrow 0+$, so the limit at $0+$ of `ex1` is of interest.\n\n\nUse this fact, to find $L$\n\n::: {.cell execution_count=42}\n``` {.julia .cell-code}\nlimit(ex1 - (w/2 - 1), w=>0)\n```\n\n::: {.cell-output .cell-output-display execution_count=43}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n0\n\\]\n</span>\n```\n:::\n:::\n\n\n$L$ is:\n\n::: {.cell hold='true' execution_count=43}\n\n::: {.cell-output .cell-output-display execution_count=44}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='RLBPeHLS' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_RLBPeHLS\">\n <div style=\"padding-top: 5px\">\n <div class=\"row\">\n <span style=\"width:90%\">\n <input id=\"RLBPeHLS\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n </span>\n <span style=\"width:10%\">\n </span>\n</div>\n\n \n </div>\n </div>\n <div id='RLBPeHLS_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"RLBPeHLS\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - -1) <= 0);\n var msgBox = document.getElementById('RLBPeHLS_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_RLBPeHLS\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_RLBPeHLS\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n(This awkward approach is generalizable: replacing the limit as $w \\rightarrow 0$ of an expression with the limit of a polynomial in `w` that is easy to identify.)\n\n\n###### Question\n\n\nAs mentioned, for limits that depend on specific values of parameters `SymPy` may have issues. As an example, `SymPy` has an issue with this limit, whose answer depends on the value of $k$\"\n\n\n\n$$\n\\lim_{x \\rightarrow 0+} \\frac{\\sin(\\sin(x^2))}{x^k}.\n$$\n\n\nNote, regardless of $k$ you find:\n\n::: {.cell hold='true' execution_count=44}\n``` {.julia .cell-code}\n@syms x::real k::integer\nlimit(sin(sin(x^2))/x^k, x=>0)\n```\n\n::: {.cell-output .cell-output-display execution_count=45}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n0\n\\]\n</span>\n```\n:::\n:::\n\n\nFor which value(s) of $k$ in $1,2,3$ is this actually the correct answer? (Do the above $3$ times using a specific value of `k`, not a numeric one.\n\n::: {.cell execution_count=45}\n``` {.julia .cell-code}\nchoices = [\"``1``\", \"``2``\", \"``3``\", \"``1,2``\", \"``1,3``\", \"``2,3``\", \"``1,2,3``\"]\nradioq(choices, 1, keep_order=true)\n```\n\n::: {.cell-output .cell-output-display execution_count=46}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='SGCS4goK' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_SGCS4goK\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_SGCS4goK\"\n id=\"radio_SGCS4goK_1\" value=\"1\">\n <span class=\"label-body\">\n \\(1\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_SGCS4goK\"\n id=\"radio_SGCS4goK_2\" value=\"2\">\n <span class=\"label-body\">\n \\(2\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_SGCS4goK\"\n id=\"radio_SGCS4goK_3\" value=\"3\">\n <span class=\"label-body\">\n \\(3\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_SGCS4goK\"\n id=\"radio_SGCS4goK_4\" value=\"4\">\n <span class=\"label-body\">\n \\(1,2\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_SGCS4goK\"\n id=\"radio_SGCS4goK_5\" value=\"5\">\n <span class=\"label-body\">\n \\(1,3\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_SGCS4goK\"\n id=\"radio_SGCS4goK_6\" value=\"6\">\n <span class=\"label-body\">\n \\(2,3\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_SGCS4goK\"\n id=\"radio_SGCS4goK_7\" value=\"7\">\n <span class=\"label-body\">\n \\(1,2,3\\)\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='SGCS4goK_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_SGCS4goK\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('SGCS4goK_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_SGCS4goK\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_SGCS4goK\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question: No limit\n\n\nSome functions do not have a limit. Make a graph of $\\sin(1/x)$ from $0.0001$ to $1$ and look at the output. Why does a limit not exist?\n\n::: {.cell hold='true' execution_count=46}\n\n::: {.cell-output .cell-output-display execution_count=47}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='IcTizOTi' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_IcTizOTi\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_IcTizOTi\"\n id=\"radio_IcTizOTi_1\" value=\"1\">\n <span class=\"label-body\">\n Any function that oscillates does not have a limit.\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_IcTizOTi\"\n id=\"radio_IcTizOTi_2\" value=\"2\">\n <span class=\"label-body\">\n The limit does exist - it is any number from -1 to 1\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_IcTizOTi\"\n id=\"radio_IcTizOTi_3\" value=\"3\">\n <span class=\"label-body\">\n Err, the limit does exists and is 1\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_IcTizOTi\"\n id=\"radio_IcTizOTi_4\" value=\"4\">\n <span class=\"label-body\">\n The function oscillates too much and its y values do not get close to any one value\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='IcTizOTi_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_IcTizOTi\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 4;\n var msgBox = document.getElementById('IcTizOTi_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_IcTizOTi\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_IcTizOTi\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question $0^0$ is not *always* $1$\n\n\nIs the form $0^0$ really indeterminate? As mentioned `0^0` evaluates to `1`.\n\n\nConsider this limit:\n\n\n\n$$\n\\lim_{x \\rightarrow 0+} x^{k\\cdot x} = L.\n$$\n\n\nConsider different values of $k$ to see if this limit depends on $k$ or not. What is $L$?\n\n::: {.cell hold='true' execution_count=47}\n\n::: {.cell-output .cell-output-display execution_count=48}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='zIFOzDya' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_zIFOzDya\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_zIFOzDya\"\n id=\"radio_zIFOzDya_1\" value=\"1\">\n <span class=\"label-body\">\n \\(1\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_zIFOzDya\"\n id=\"radio_zIFOzDya_2\" value=\"2\">\n <span class=\"label-body\">\n \\(k\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_zIFOzDya\"\n id=\"radio_zIFOzDya_3\" value=\"3\">\n <span class=\"label-body\">\n The limit does not exist\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_zIFOzDya\"\n id=\"radio_zIFOzDya_4\" value=\"4\">\n <span class=\"label-body\">\n \\(\\log(k)\\)\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='zIFOzDya_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_zIFOzDya\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('zIFOzDya_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_zIFOzDya\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_zIFOzDya\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nNow, consider this limit:\n\n\n\n$$\n\\lim_{x \\rightarrow 0+} x^{1/\\log_k(x)} = L.\n$$\n\n\nIn `julia`, $\\log_k(x)$ is found with `log(k,x)`. The default, `log(x)` takes $k=e$ so gives the natural log. So, we would define `h`, for a given `k`, with\n\n::: {.cell execution_count=48}\n\n::: {.cell-output .cell-output-display execution_count=49}\n```\nh (generic function with 1 method)\n```\n:::\n:::\n\n\nConsider different values of $k$ to see if the limit depends on $k$ or not. What is $L$?\n\n::: {.cell hold='true' execution_count=49}\n\n::: {.cell-output .cell-output-display execution_count=50}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='RAWtWjay' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_RAWtWjay\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_RAWtWjay\"\n id=\"radio_RAWtWjay_1\" value=\"1\">\n <span class=\"label-body\">\n \\(\\log(k)\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_RAWtWjay\"\n id=\"radio_RAWtWjay_2\" value=\"2\">\n <span class=\"label-body\">\n \\(k\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_RAWtWjay\"\n id=\"radio_RAWtWjay_3\" value=\"3\">\n <span class=\"label-body\">\n The limit does not exist\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_RAWtWjay\"\n id=\"radio_RAWtWjay_4\" value=\"4\">\n <span class=\"label-body\">\n \\(1\\)\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='RAWtWjay_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_RAWtWjay\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 2;\n var msgBox = document.getElementById('RAWtWjay_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_RAWtWjay\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_RAWtWjay\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nLimits *of* infinity *at* infinity. We could define this concept quite easily mashing together the two definitions. Suppose we did. Which of these ratios would have a limit of infinity at infinity:\n\n\n\n$$\nx^4/x^3,\\quad x^{100+1}/x^{100}, \\quad x/\\log(x), \\quad 3^x / 2^x, \\quad e^x/x^{100}\n$$\n\n::: {.cell hold='true' execution_count=50}\n\n::: {.cell-output .cell-output-display execution_count=51}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='etjmNeBn' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_etjmNeBn\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_etjmNeBn\"\n id=\"radio_etjmNeBn_1\" value=\"1\">\n <span class=\"label-body\">\n the first one\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_etjmNeBn\"\n id=\"radio_etjmNeBn_2\" value=\"2\">\n <span class=\"label-body\">\n the first and second ones\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_etjmNeBn\"\n id=\"radio_etjmNeBn_3\" value=\"3\">\n <span class=\"label-body\">\n the first, second and third ones\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_etjmNeBn\"\n id=\"radio_etjmNeBn_4\" value=\"4\">\n <span class=\"label-body\">\n the first, second, third, and fourth ones\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_etjmNeBn\"\n id=\"radio_etjmNeBn_5\" value=\"5\">\n <span class=\"label-body\">\n all of them\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='etjmNeBn_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_etjmNeBn\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 5;\n var msgBox = document.getElementById('etjmNeBn_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_etjmNeBn\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_etjmNeBn\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nA slant asymptote is a line $mx + b$ for which the graph of $f(x)$ gets close to as $x$ gets large. We can't express this directly as a limit, as \"$L$\" is not a number. How might we?\n\n::: {.cell hold='true' execution_count=51}\n\n::: {.cell-output .cell-output-display execution_count=52}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='C1jSWbKQ' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_C1jSWbKQ\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_C1jSWbKQ\"\n id=\"radio_C1jSWbKQ_1\" value=\"1\">\n <span class=\"label-body\">\n We can talk about the limit at \\(\\infty\\) of \\(f(x) - (mx + b)\\) being \\(0\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_C1jSWbKQ\"\n id=\"radio_C1jSWbKQ_2\" value=\"2\">\n <span class=\"label-body\">\n We can talk about the limit at \\(\\infty\\) of \\(f(x) - mx\\) being \\(b\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_C1jSWbKQ\"\n id=\"radio_C1jSWbKQ_3\" value=\"3\">\n <span class=\"label-body\">\n We can say \\(f(x) - (mx+b)\\) has a horizontal asymptote \\(y=0\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_C1jSWbKQ\"\n id=\"radio_C1jSWbKQ_4\" value=\"4\">\n <span class=\"label-body\">\n We can say \\(f(x) - mx\\) has a horizontal asymptote \\(y=b\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_C1jSWbKQ\"\n id=\"radio_C1jSWbKQ_5\" value=\"5\">\n <span class=\"label-body\">\n Any of the above\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='C1jSWbKQ_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_C1jSWbKQ\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 5;\n var msgBox = document.getElementById('C1jSWbKQ_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_C1jSWbKQ\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_C1jSWbKQ\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nSuppose a sequence of points $x_n$ converges to $a$ in the limiting sense. For a function $f(x)$, the sequence of points $f(x_n)$ may or may not converge. One alternative definition of a [limit](https://en.wikipedia.org/wiki/Limit_of_a_function#In_terms_of_sequences) due to Heine is that $\\lim_{x \\rightarrow a}f(x) = L$ if *and* only if **all** sequences $x_n \\rightarrow a$ have $f(x_n) \\rightarrow L$.\n\n\nConsider the function $f(x) = \\sin(1/x)$, $a=0$, and the two sequences implicitly defined by $1/x_n = \\pi/2 + n \\cdot (2\\pi)$ and $y_n = 3\\pi/2 + n \\cdot(2\\pi)$, $n = 0, 1, 2, \\dots$.\n\n\nWhat is $\\lim_{x_n \\rightarrow 0} f(x_n)$?\n\n::: {.cell hold='true' execution_count=52}\n\n::: {.cell-output .cell-output-display execution_count=53}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='BGuNWBaJ' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_BGuNWBaJ\">\n <div style=\"padding-top: 5px\">\n <div class=\"row\">\n <span style=\"width:90%\">\n <input id=\"BGuNWBaJ\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n </span>\n <span style=\"width:10%\">\n </span>\n</div>\n\n \n </div>\n </div>\n <div id='BGuNWBaJ_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"BGuNWBaJ\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 1) <= 0);\n var msgBox = document.getElementById('BGuNWBaJ_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_BGuNWBaJ\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_BGuNWBaJ\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\nWhat is $\\lim_{y_n \\rightarrow 0} f(y_n)$?\n\n::: {.cell hold='true' execution_count=53}\n\n::: {.cell-output .cell-output-display execution_count=54}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='8Cu0f08v' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_8Cu0f08v\">\n <div style=\"padding-top: 5px\">\n <div class=\"row\">\n <span style=\"width:90%\">\n <input id=\"8Cu0f08v\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n </span>\n <span style=\"width:10%\">\n </span>\n</div>\n\n \n </div>\n </div>\n <div id='8Cu0f08v_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"8Cu0f08v\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - -1) <= 0);\n var msgBox = document.getElementById('8Cu0f08v_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_8Cu0f08v\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_8Cu0f08v\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\nThis shows that\n\n::: {.cell hold='true' execution_count=54}\n\n::: {.cell-output .cell-output-display execution_count=55}\n```{=html}\n<form class=\"mx-2 my-3\" name='WeaveQuestion' data-id='fc4oEeUT' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form-floating input-group\" id=\"controls_fc4oEeUT\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_fc4oEeUT\"\n id=\"radio_fc4oEeUT_1\" value=\"1\">\n <span class=\"label-body\">\n \\(f(x)\\) has a limit of \\(1\\) as \\(x \\rightarrow 0\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_fc4oEeUT\"\n id=\"radio_fc4oEeUT_2\" value=\"2\">\n <span class=\"label-body\">\n \\(f(x)\\) does not have a limit as \\(x \\rightarrow 0\\)\n </span>\n </input>\n </label>\n</div>\n<div class=\"form-check\">\n <label>\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_fc4oEeUT\"\n id=\"radio_fc4oEeUT_3\" value=\"3\">\n <span class=\"label-body\">\n \\(f(x)\\) has a limit of \\(-1\\) as \\(x \\rightarrow 0\\)\n </span>\n </input>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='fc4oEeUT_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_fc4oEeUT\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 2;\n var msgBox = document.getElementById('fc4oEeUT_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_fc4oEeUT\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_fc4oEeUT\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n",
"supporting": [
"limits_extensions_files/figure-html"
],
"filters": [],
"includes": {
"include-in-header": [
"<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js\" integrity=\"sha512-c3Nl8+7g4LMSTdrm621y7kf9v3SDPnhxLNhcjFJbKECVnmZHTdo+IRO05sNLTH/D3vA6u1X32ehoLC7WFVdheg==\" crossorigin=\"anonymous\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js\" integrity=\"sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==\" crossorigin=\"anonymous\"></script>\n<script type=\"application/javascript\">define('jquery', [],function() {return window.jQuery;})</script>\n"
]
}
}
}