CalculusWithJuliaNotes.jl/quarto/_freeze/derivatives/lhospitals_rule/execute-results/html.json
2022-09-08 07:03:08 -04:00

15 lines
85 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": "5445ce2c4cfb44b2e1ae45a90dc64733",
"result": {
"markdown": "# L'Hospital's Rule\n\n\n\nThis section uses these add-on packages:\n\n``` {.julia .cell-code}\nusing CalculusWithJulia\nusing Plots\nusing SymPy\n```\n\n\n\n\n---\n\n\nLet's return to limits of the form $\\lim_{x \\rightarrow c}f(x)/g(x)$ which have an indeterminate form of $0/0$ if both are evaluated at $c$. The typical example being the limit considered by Euler:\n\n\n\n$$\n\\lim_{x\\rightarrow 0} \\frac{\\sin(x)}{x}.\n$$\n\n\nWe know this is $1$ using a bound from geometry, but might also guess this is one, as we know from linearization near $0$ that we have $\\sin(x) \\approx x$ or, more specifically:\n\n\n\n$$\n\\sin(x) = x - \\sin(\\xi)x^2/2, \\quad 0 < \\xi < x.\n$$\n\n\nThis would yield:\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{\\sin(x)}{x} = \\lim_{x\\rightarrow 0} \\frac{x -\\sin(\\xi) x^2/2}{x} = \\lim_{x\\rightarrow 0} 1 + \\sin(\\xi) \\cdot x/2 = 1.\n$$\n\n\nThis is because we know $\\sin(\\xi) x/2$ has a limit of $0$, when $|\\xi| \\leq |x|$.\n\n\nThat doesn't look any easier, as we worried about the error term, but if just mentally replaced $\\sin(x)$ with $x$ - which it basically is near $0$ - then we can see that the limit should be the same as $x/x$ which we know is $1$ without thinking.\n\n\nBasically, we found that in terms of limits, if both $f(x)$ and $g(x)$ are $0$ at $c$, that we *might* be able to just take this limit: $(f(c) + f'(c) \\cdot(x-c)) / (g(c) + g'(c) \\cdot (x-c))$ which is just $f'(c)/g'(c)$.\n\n\nWouldn't that be nice? We could find difficult limits just by differentiating the top and the bottom at $c$ (and not use the messy quotient rule).\n\n\nWell, in fact that is more or less true, a fact that dates back to [L'Hospital](http://en.wikipedia.org/wiki/L%27H%C3%B4pital%27s_rule) - who wrote the first textbook on differential calculus - though this result is likely due to one of the Bernoulli brothers.\n\n\n> *L'Hospital's rule*: Suppose:\n>\n> * that $\\lim_{x\\rightarrow c+} f(c) =0$ and $\\lim_{x\\rightarrow c+} g(c) =0$,\n> * that $f$ and $g$ are differentiable in $(c,b)$, and\n> * that $g(x)$ exists and is non-zero for *all* $x$ in $(c,b)$,\n>\n> then **if** the following limit exists: $\\lim_{x\\rightarrow c+}f'(x)/g'(x)=L$ it follows that $\\lim_{x \\rightarrow c+}f(x)/g(x) = L$.\n\n\n\nThat is *if* the right limit of $f(x)/g(x)$ is indeterminate of the form $0/0$, but the right limit of $f'(x)/g'(x)$ is known, possibly by simple continuity, then the right limit of $f(x)/g(x)$ exists and is equal to that of $f'(x)/g'(x)$.\n\n\nThe rule equally applies to *left limits* and *limits* at $c$. Later it will see there are other generalizations.\n\n\nTo apply this rule to Euler's example, $\\sin(x)/x$, we just need to consider that:\n\n\n\n$$\nL = 1 = \\lim_{x \\rightarrow 0}\\frac{\\cos(x)}{1},\n$$\n\n\nSo, as well, $\\lim_{x \\rightarrow 0} \\sin(x)/x = 1$.\n\n\nThis is due to $\\cos(x)$ being continuous at $0$, so this limit is just $\\cos(0)/1$. (More importantly, the tangent line expansion of $\\sin(x)$ at $0$ is $\\sin(0) + \\cos(0)x$, so that $\\cos(0)$ is why this answer is as it is, but we don't need to think in terms of $\\cos(0)$, but rather the tangent-line expansion, which is $\\sin(x) \\approx x$, as $\\cos(0)$ appears as the coefficient.\n\n\n:::{.callout-note}\n## Note\nIn [Gruntz](http://www.cybertester.com/data/gruntz.pdf), in a reference attributed to Speiss, we learn that L'Hospital was a French Marquis who was taught in $1692$ the calculus of Leibniz by Johann Bernoulli. They made a contract obliging Bernoulli to leave his mathematical inventions to L'Hospital in exchange for a regular compensation. This result was discovered in $1694$ and appeared in L'Hospital's book of $1696$.\n\n:::\n\n##### Examples\n\n\n * Consider this limit at $0$: $(a^x - 1)/x$. We have $f(x) =a^x-1$ has $f(0) = 0$, so this limit is indeterminate of the form $0/0$. The derivative of $f(x)$ is $f'(x) = a^x \\log(a)$ which has $f'(0) = \\log(a)$. The derivative of the bottom is also $1$ at $0$, so we have:\n\n\n\n$$\n\\log(a) = \\frac{\\log(a)}{1} = \\frac{f'(0)}{g'(0)} = \\lim_{x \\rightarrow 0}\\frac{f'(x)}{g'(x)} = \\lim_{x \\rightarrow 0}\\frac{f(x)}{g(x)}\n= \\lim_{x \\rightarrow 0}\\frac{a^x - 1}{x}.\n$$\n\n\n:::{.callout-note}\n## Note\nWhy rewrite in the \"opposite\" direction? Because the theorem's result $L$ is the limit is only true if the related limit involving the derivative exists. We don't do this in the following, but did so here to emphasize the need for the limit of the ratio of the derivatives to exist.\n\n:::\n\n * Consider this limit:\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{e^x - e^{-x}}{x}.\n$$\n\n\nIt too is of the indeterminate form $0/0$. The derivative of the top is $e^x + e^{-x}$, which is $2$ when $x=0$, so the ratio of $f'(0)/g'(0)$ is seen to be $2$ By continuity, the limit of the ratio of the derivatives is $2$. Then by L'Hospital's rule, the limit above is $2$.\n\n\n * Sometimes, L'Hospital's rule must be applied twice. Consider this limit:\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{\\cos(x)}{1 - x^2}\n$$\n\n\nBy L'Hospital's rule *if* this following limit exists, the two will be equal:\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{-\\sin(x)}{-2x}.\n$$\n\n\nBut if we didn't guess the answer, we see that this new problem is *also* indeterminate of the form $0/0$. So, repeating the process, this new limit will exist and be equal to the following limit, should it exist:\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{-\\cos(x)}{-2} = 1/2.\n$$\n\n\nAs $L = 1/2$ for this related limit, it must also be the limit of the original problem, by L'Hospital's rule.\n\n\n * Our \"intuitive\" limits can bump into issues. Take for example the limit of $(\\sin(x)-x)/x^2$ as $x$ goes to $0$. Using $\\sin(x) \\approx x$ makes this look like $0/x^2$ which is still indeterminate. (Because the difference is higher order than $x$.) Using L'Hospitals, says this limit will exist (and be equal) if the following one does:\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{\\cos(x) - 1}{2x}.\n$$\n\n\nThis particular limit is indeterminate of the form $0/0$, so we again try L'Hospital's rule and consider\n\n\n\n$$\n\\lim_{x \\rightarrow 0} \\frac{-\\sin(x)}{2} = 0\n$$\n\n\nSo as this limit exists, working backwards, the original limit in question will also be $0$.\n\n\n * This example comes from the Wikipedia page. It \"proves\" a discrete approximation for the second derivative.\n\n\nShow if $f''(x)$ exists at $c$ and is continuous at $c$, then\n\n\n\n$$\nf''(c) = \\lim_{h \\rightarrow 0} \\frac{f(c + h) - 2f(c) + f(c-h)}{h^2}.\n$$\n\n\nThis will follow from two applications of L'Hospital's rule to the right-hand side. The first says, the limit on the right is equal to this limit, should it exist:\n\n\n\n$$\n\\lim_{h \\rightarrow 0} \\frac{f'(c+h) - 0 - f'(c-h)}{2h}.\n$$\n\n\nWe have to be careful, as we differentiate in the $h$ variable, not the $c$ one, so the chain rule brings out the minus sign. But again, as we still have an indeterminate form $0/0$, this limit will equal the following limit should it exist:\n\n\n\n$$\n\\lim_{h \\rightarrow 0} \\frac{f''(c+h) - 0 - (-f''(c-h))}{2} =\n\\lim_{c \\rightarrow 0}\\frac{f''(c+h) + f''(c-h)}{2} = f''(c).\n$$\n\n\nThat last equality follows, as it is assumed that $f''(x)$ exists at $c$ and is continuous, that is, $f''(c \\pm h) \\rightarrow f''(c)$.\n\n\nThe expression above finds use when second derivatives are numerically approximated. (The middle expression is the basis of the central-finite difference approximation to the derivative.)\n\n\n * L'Hospital himself was interested in this limit for $a > 0$ ([math overflow](http://mathoverflow.net/questions/51685/how-did-bernoulli-prove-lh%C3%B4pitals-rule))\n\n\n\n$$\n\\lim_{x \\rightarrow a} \\frac{\\sqrt{2a^3\\cdot x-x^4} - a\\cdot(a^2\\cdot x)^{1/3}}{ a - (a\\cdot x^3)^{1/4}}.\n$$\n\n\nThese derivatives can be done by hand, but to avoid any minor mistakes we utilize `SymPy` taking care to use rational numbers for the fractional powers, so as not to lose precision through floating point roundoff:\n\n::: {.cell execution_count=4}\n``` {.julia .cell-code}\n@syms a::positive x::positive\nf(x) = sqrt(2a^3*x - x^4) - a * (a^2*x)^(1//3)\ng(x) = a - (a*x^3)^(1//4)\n```\n\n::: {.cell-output .cell-output-display execution_count=5}\n```\ng (generic function with 1 method)\n```\n:::\n:::\n\n\nWe can see that at $x=a$ we have the indeterminate form $0/0$:\n\n::: {.cell execution_count=5}\n``` {.julia .cell-code}\nf(a), g(a)\n```\n\n::: {.cell-output .cell-output-display execution_count=6}\n```\n(0, 0)\n```\n:::\n:::\n\n\nWhat about the derivatives?\n\n::: {.cell execution_count=6}\n``` {.julia .cell-code}\nfp, gp = diff(f(x),x), diff(g(x),x)\nfp(x=>a), gp(x=>a)\n```\n\n::: {.cell-output .cell-output-display execution_count=7}\n```\n(-4*a/3, -3/4)\n```\n:::\n:::\n\n\nTheir ratio will not be indeterminate, so the limit in question is just the ratio:\n\n::: {.cell execution_count=7}\n``` {.julia .cell-code}\nfp(x=>a) / gp(x=>a)\n```\n\n::: {.cell-output .cell-output-display execution_count=8}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n\\frac{16 a}{9}\n\\]\n</span>\n```\n:::\n:::\n\n\nOf course, we could have just relied on `limit`, which knows about L'Hospital's rule:\n\n::: {.cell execution_count=8}\n``` {.julia .cell-code}\nlimit(f(x)/g(x), x, a)\n```\n\n::: {.cell-output .cell-output-display execution_count=9}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n\\frac{16 a}{9}\n\\]\n</span>\n```\n:::\n:::\n\n\n## Idea behind L'Hospital's rule\n\n\nA first proof of L'Hospital's rule takes advantage of Cauchy's [generalization](http://en.wikipedia.org/wiki/Mean_value_theorem#Cauchy.27s_mean_value_theorem) of the mean value theorem to two functions. Suppose $f(x)$ and $g(x)$ are continuous on $[c,b]$ and differentiable on $(c,b)$. On $(c,x)$, $c < x < b$ there exists a $\\xi$ with $f'(\\xi) \\cdot (f(x) - f(c)) = g'(\\xi) \\cdot (g(x) - g(c))$. In our formulation, both $f(c)$ and $g(c)$ are zero, so we have, provided we know that $g(x)$ is non zero, that $f(x)/g(x) = f'(\\xi)/g'(\\xi)$ for some $\\xi$, $c < \\xi < c + x$. That the right-hand side has a limit as $x \\rightarrow c+$ is true by the assumption that the limit of the ratio of the derivatives exists. (The $\\xi$ part can be removed by considering it as a composition of a function going to $c$.) Thus the right limit of the ratio $f/g$ is known.\n\n\n---\n\n::: {.cell cache='true' execution_count=9}\n\n::: {.cell-output .cell-output-display execution_count=10}\n```{=html}\n<div class=\"d-flex justify-content-center\"> <figure> <img src=\"data:image/gif;base64,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\" class=\"card-img-top\" alt=\"A Figure\">\n <figcaption><div class=\"markdown\">:Geometric\n<p>interpretation of \\(L=\\lim_{x \\rightarrow 0} x^2 / (\\sqrt{1 + x} - 1 - x^2)\\). At \\(0\\) this limit is indeterminate of the form \\(0/0\\). The value for a fixed \\(x\\) can be seen as the slope of a secant line of a parametric plot of the two functions, plotted as \\((g, f)\\). In this figure, the limiting &quot;tangent&quot; line has \\(0\\) slope, corresponding to the limit \\(L\\). In general, L&#39;Hospital&#39;s rule is nothing more than a statement about slopes of tangent lines.</p>\n<p>&#36;</p>\n</div> </figcaption>\n </figure>\n</div>\n```\n:::\n:::\n\n\n## Generalizations\n\n\nL'Hospital's rule generalizes to other indeterminate forms, in particular the indeterminate form $\\infty/\\infty$ can be proved at the same time as $0/0$ with a more careful [proof](http://en.wikipedia.org/wiki/L%27H%C3%B4pital%27s_rule#General_proof).\n\n\nThe value $c$ in the limit can also be infinite. Consider this case with $c=\\infty$:\n\n\n\n$$\n\\begin{align*}\n\\lim_{x \\rightarrow \\infty} \\frac{f(x)}{g(x)} &=\n\\lim_{x \\rightarrow 0} \\frac{f(1/x)}{g(1/x)}\n\\end{align*}\n$$\n\n\nL'Hospital's limit applies as $x \\rightarrow 0$, so we differentiate to get:\n\n\n\n$$\n\\begin{align*}\n\\lim_{x \\rightarrow 0} \\frac{[f(1/x)]'}{[g(1/x)]'}\n&= \\lim_{x \\rightarrow 0} \\frac{f'(1/x)\\cdot(-1/x^2)}{g'(1/x)\\cdot(-1/x^2)}\\\\\n&= \\lim_{x \\rightarrow 0} \\frac{f'(1/x)}{g'(1/x)}\\\\\n&= \\lim_{x \\rightarrow \\infty} \\frac{f'(x)}{g'(x)},\n\\end{align*}\n$$\n\n\n*assuming* the latter limit exists, L'Hospital's rule assures the equality\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{f(x)}{g(x)} =\n\\lim_{x \\rightarrow \\infty} \\frac{f'(x)}{g'(x)},\n$$\n\n\n##### Examples\n\n\nFor example, consider\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{x}{e^x}.\n$$\n\n\nWe see it is of the form $\\infty/\\infty$. Taking advantage of the fact that L'Hospital's rule applies to limits at $\\infty$, we have that this limit will exist and be equal to this one, should it exist:\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{1}{e^x}.\n$$\n\n\nThis limit is, of course, $0$, as it is of the form $1/\\infty$. It is not hard to build up from here to show that for any integer value of $n>0$ that:\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{x^n}{e^x} = 0.\n$$\n\n\nThis is an expression of the fact that exponential functions grow faster than polynomial functions.\n\n\nSimilarly, powers grow faster than logarithms, as this limit shows, which is indeterminate of the form $\\infty/\\infty$:\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{\\log(x)}{x} =\n\\lim_{x \\rightarrow \\infty} \\frac{1/x}{1} = 0,\n$$\n\n\nthe first equality by L'Hospital's rule, as the second limit exists.\n\n\n## Other indeterminate forms\n\n\nIndeterminate forms of the type $0 \\cdot \\infty$, $0^0$, $\\infty^\\infty$, $\\infty - \\infty$ can be re-expressed to be in the form $0/0$ or $\\infty/\\infty$ and then L'Hospital's theorem can be applied.\n\n\n###### Example: rewriting $0 \\cdot \\infty$\n\n\nWhat is the limit $x \\log(x)$ as $x \\rightarrow 0+$? The form is $0\\cdot \\infty$, rewriting, we see this is just:\n\n\n\n$$\n\\lim_{x \\rightarrow 0+}\\frac{\\log(x)}{1/x}.\n$$\n\n\nL'Hospital's rule clearly applies to one-sided limits, as well as two (our proof sketch used one-sided limits), so this limit will equal the following, should it exist:\n\n\n\n$$\n\\lim_{x \\rightarrow 0+}\\frac{1/x}{-1/x^2} = \\lim_{x \\rightarrow 0+} -x = 0.\n$$\n\n\n###### Example: rewriting $0^0$\n\n\nWhat is the limit $x^x$ as $x \\rightarrow 0+$? The expression is of the form $0^0$, which is indeterminate. (Even though floating point math defines the value as $1$.) We can rewrite this by taking a log:\n\n\n\n$$\nx^x = \\exp(\\log(x^x)) = \\exp(x \\log(x)) = \\exp(\\log(x)/(1/x)).\n$$\n\n\nBe just saw that $\\lim_{x \\rightarrow 0+}\\log(x)/(1/x) = 0$. So by the rules for limits of compositions and the fact that $e^x$ is continuous, we see $\\lim_{x \\rightarrow 0+} x^x = e^0 = 1$.\n\n\n##### Example: rewriting $\\infty - \\infty$\n\n\nA limit $\\lim_{x \\rightarrow c} f(x) - g(x)$ of indeterminate form $\\infty - \\infty$ can be reexpressed to be of the from $0/0$ through the transformation:\n\n\n\n$$\n\\begin{align*}\nf(x) - g(x) &= f(x)g(x) \\cdot (\\frac{1}{g(x)} - \\frac{1}{f(x)}) \\\\\n&= \\frac{\\frac{1}{g(x)} - \\frac{1}{f(x)}}{\\frac{1}{f(x)g(x)}}.\n\\end{align*}\n$$\n\n\nApplying this to\n\n\n\n$$\nL = \\lim_{x \\rightarrow 1} \\big(\\frac{x}{x-1} - \\frac{1}{\\log(x)}\\big)\n$$\n\n\nWe get that $L$ is equal to the following limit:\n\n\n\n$$\n\\lim_{x \\rightarrow 1} \\frac{\\log(x) - \\frac{x-1}{x}}{\\frac{x-1}{x} \\log(x)}\n=\n\\lim_{x \\rightarrow 1} \\frac{x\\log(x)-(x-1)}{(x-1)\\log(x)}\n$$\n\n\nIn `SymPy` we have:\n\n::: {.cell execution_count=10}\n``` {.julia .cell-code}\n𝒇 = x*log(x) - (x-1)\n𝒈 = (x-1)*log(x)\n𝒇(1), 𝒈(1)\n```\n\n::: {.cell-output .cell-output-display execution_count=11}\n```\n(0, 0)\n```\n:::\n:::\n\n\nL'Hospital's rule applies to the form $0/0$, so we try:\n\n::: {.cell execution_count=11}\n``` {.julia .cell-code}\n𝒇 = diff(𝒇, x)\n𝒈 = diff(𝒈, x)\n𝒇(1), 𝒈(1)\n```\n\n::: {.cell-output .cell-output-display execution_count=12}\n```\n(0, 0)\n```\n:::\n:::\n\n\nAgain, we get the indeterminate form $0/0$, so we try again with second derivatives:\n\n::: {.cell execution_count=12}\n``` {.julia .cell-code}\n𝒇 = diff(𝒇, x, x)\n𝒈 = diff(𝒈, x, x)\n𝒇(1), 𝒈(1)\n```\n\n::: {.cell-output .cell-output-display execution_count=13}\n```\n(1, 2)\n```\n:::\n:::\n\n\nFrom this we see the limit is $1/2$, as could have been done directly:\n\n::: {.cell execution_count=13}\n``` {.julia .cell-code}\nlimit(𝒇/𝒈, x=>1)\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\\[\n\\frac{1}{2}\n\\]\n</span>\n```\n:::\n:::\n\n\n## The assumptions are necessary\n\n\n##### Example: the limit existing is necessary\n\n\nThe following limit is *easily* seen by comparing terms of largest growth:\n\n\n\n$$\n1 = \\lim_{x \\rightarrow \\infty} \\frac{x - \\sin(x)}{x}\n$$\n\n\nHowever, the limit of the ratio of the derivatives *does* not exist:\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{1 - \\cos(x)}{1},\n$$\n\n\nas the function just oscillates. This shows that L'Hospital's rule does not apply when the limit of the the ratio of the derivatives does not exist.\n\n\n##### Example: the assumptions matter\n\n\nThis example comes from the thesis of Gruntz to highlight possible issues when computer systems do simplifications.\n\n\nConsider:\n\n\n\n$$\n\\lim_{x \\rightarrow \\infty} \\frac{1/2\\sin(2x) +x}{\\exp(\\sin(x))\\cdot(\\cos(x)\\sin(x)+x)}.\n$$\n\n\nIf we apply L'Hospital's rule using simplification we have:\n\n::: {.cell execution_count=14}\n``` {.julia .cell-code}\nu(x) = 1//2*sin(2x) + x\nv(x) = exp(sin(x))*(cos(x)*sin(x) + x)\nup, vp = diff(u(x),x), diff(v(x),x)\nlimit(simplify(up/vp), 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\\[\n0\n\\]\n</span>\n```\n:::\n:::\n\n\nHowever, this answer is incorrect. The reason being subtle. The simplification cancels a term of $\\cos(x)$ that appears in the numerator and denominator. Before cancellation, we have `vp` will have infinitely many zero's as $x$ approaches $\\infty$ so L'Hospital's won't apply (the limit won't exist, as every $2\\pi$ the ratio is undefined so the function is never eventually close to some $L$).\n\n\nThis ratio has no limit, as it oscillates, as confirmed by `SymPy`:\n\n::: {.cell execution_count=15}\n``` {.julia .cell-code}\nlimit(u(x)/v(x), x=> oo)\n```\n\n::: {.cell-output .cell-output-display execution_count=16}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n\\left\\langle e^{-1}, e\\right\\rangle\n\\]\n</span>\n```\n:::\n:::\n\n\n## Questions\n\n\n###### Question\n\n\nThis function $f(x) = \\sin(5x)/x$ is *indeterminate* at $x=0$. What type?\n\n\n\n::: {.cell hold='true' execution_count=17}\n\n::: {.cell-output .cell-output-display execution_count=18}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='624744672148739551' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_624744672148739551\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_624744672148739551_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_624744672148739551\"\n id=\"radio_624744672148739551_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(0/0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_624744672148739551_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_624744672148739551\"\n id=\"radio_624744672148739551_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty/\\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_624744672148739551_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_624744672148739551\"\n id=\"radio_624744672148739551_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(0^0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_624744672148739551_4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_624744672148739551\"\n id=\"radio_624744672148739551_4\" value=\"4\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty - \\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_624744672148739551_5\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_624744672148739551\"\n id=\"radio_624744672148739551_5\" value=\"5\">\n </input>\n <span class=\"label-body px-1\">\n \\(0 \\cdot \\infty\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='624744672148739551_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_624744672148739551\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('624744672148739551_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_624744672148739551\")\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_624744672148739551\")\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\nThis function $f(x) = \\sin(x)^{\\sin(x)}$ is *indeterminate* at $x=0$. What type?\n\n::: {.cell hold='true' execution_count=18}\n\n::: {.cell-output .cell-output-display execution_count=19}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='9355370788134843858' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_9355370788134843858\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9355370788134843858_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9355370788134843858\"\n id=\"radio_9355370788134843858_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(0/0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9355370788134843858_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9355370788134843858\"\n id=\"radio_9355370788134843858_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty/\\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9355370788134843858_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9355370788134843858\"\n id=\"radio_9355370788134843858_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(0^0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9355370788134843858_4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9355370788134843858\"\n id=\"radio_9355370788134843858_4\" value=\"4\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty - \\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9355370788134843858_5\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9355370788134843858\"\n id=\"radio_9355370788134843858_5\" value=\"5\">\n </input>\n <span class=\"label-body px-1\">\n \\(0 \\cdot \\infty\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='9355370788134843858_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_9355370788134843858\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 3;\n var msgBox = document.getElementById('9355370788134843858_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_9355370788134843858\")\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_9355370788134843858\")\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\nThis function $f(x) = (x-2)/(x^2 - 4)$ is *indeterminate* at $x=2$. What type?\n\n::: {.cell hold='true' execution_count=19}\n\n::: {.cell-output .cell-output-display execution_count=20}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='15700425306572130001' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_15700425306572130001\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_15700425306572130001_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_15700425306572130001\"\n id=\"radio_15700425306572130001_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(0/0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_15700425306572130001_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_15700425306572130001\"\n id=\"radio_15700425306572130001_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty/\\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_15700425306572130001_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_15700425306572130001\"\n id=\"radio_15700425306572130001_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(0^0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_15700425306572130001_4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_15700425306572130001\"\n id=\"radio_15700425306572130001_4\" value=\"4\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty - \\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_15700425306572130001_5\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_15700425306572130001\"\n id=\"radio_15700425306572130001_5\" value=\"5\">\n </input>\n <span class=\"label-body px-1\">\n \\(0 \\cdot \\infty\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='15700425306572130001_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_15700425306572130001\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('15700425306572130001_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_15700425306572130001\")\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_15700425306572130001\")\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\nThis function $f(x) = (g(x+h) - g(x-h)) / (2h)$ ($g$ is continuous) is *indeterminate* at $h=0$. What type?\n\n::: {.cell hold='true' execution_count=20}\n\n::: {.cell-output .cell-output-display execution_count=21}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='7755767888745739726' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_7755767888745739726\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7755767888745739726_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7755767888745739726\"\n id=\"radio_7755767888745739726_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(0/0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7755767888745739726_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7755767888745739726\"\n id=\"radio_7755767888745739726_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty/\\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7755767888745739726_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7755767888745739726\"\n id=\"radio_7755767888745739726_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(0^0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7755767888745739726_4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7755767888745739726\"\n id=\"radio_7755767888745739726_4\" value=\"4\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty - \\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7755767888745739726_5\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7755767888745739726\"\n id=\"radio_7755767888745739726_5\" value=\"5\">\n </input>\n <span class=\"label-body px-1\">\n \\(0 \\cdot \\infty\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='7755767888745739726_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_7755767888745739726\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('7755767888745739726_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_7755767888745739726\")\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_7755767888745739726\")\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\nThis function $f(x) = x \\log(x)$ is *indeterminate* at $x=0$. What type?\n\n::: {.cell hold='true' execution_count=21}\n\n::: {.cell-output .cell-output-display execution_count=22}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='7071012497453557642' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_7071012497453557642\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7071012497453557642_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7071012497453557642\"\n id=\"radio_7071012497453557642_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(0/0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7071012497453557642_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7071012497453557642\"\n id=\"radio_7071012497453557642_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty/\\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7071012497453557642_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7071012497453557642\"\n id=\"radio_7071012497453557642_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(0^0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7071012497453557642_4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7071012497453557642\"\n id=\"radio_7071012497453557642_4\" value=\"4\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\infty - \\infty\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_7071012497453557642_5\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_7071012497453557642\"\n id=\"radio_7071012497453557642_5\" value=\"5\">\n </input>\n <span class=\"label-body px-1\">\n \\(0 \\cdot \\infty\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='7071012497453557642_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_7071012497453557642\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 5;\n var msgBox = document.getElementById('7071012497453557642_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_7071012497453557642\")\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_7071012497453557642\")\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\nDoes L'Hospital's rule apply to this limit:\n\n\n\n$$\n\\lim_{x \\rightarrow \\pi} \\frac{\\sin(\\pi x)}{\\pi x}.\n$$\n\n::: {.cell hold='true' execution_count=22}\n\n::: {.cell-output .cell-output-display execution_count=23}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='4476219064345748035' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_4476219064345748035\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_4476219064345748035_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_4476219064345748035\"\n id=\"radio_4476219064345748035_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n No. It is not indeterminate\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_4476219064345748035_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_4476219064345748035\"\n id=\"radio_4476219064345748035_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n Yes. It is of the form \\(0/0\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='4476219064345748035_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_4476219064345748035\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('4476219064345748035_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_4476219064345748035\")\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_4476219064345748035\")\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\nUse L'Hospital's rule to find the limit\n\n\n\n$$\nL = \\lim_{x \\rightarrow 0} \\frac{4x - \\sin(x)}{x}.\n$$\n\n\nWhat is $L$?\n\n::: {.cell hold='true' execution_count=23}\n\n::: {.cell-output .cell-output-display execution_count=24}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='15216911547569961228' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_15216911547569961228\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"15216911547569961228\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='15216911547569961228_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"15216911547569961228\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 3.0) <= 0.001);\n var msgBox = document.getElementById('15216911547569961228_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_15216911547569961228\")\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_15216911547569961228\")\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\nUse L'Hospital's rule to find the limit\n\n\n\n$$\nL = \\lim_{x \\rightarrow 0} \\frac{\\sqrt{1+x} - 1}{x}.\n$$\n\n\nWhat is $L$?\n\n::: {.cell hold='true' execution_count=24}\n\n::: {.cell-output .cell-output-display execution_count=25}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='14767945874935235423' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_14767945874935235423\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"14767945874935235423\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='14767945874935235423_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"14767945874935235423\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0.5) <= 0.001);\n var msgBox = document.getElementById('14767945874935235423_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_14767945874935235423\")\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_14767945874935235423\")\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\nUse L'Hospital's rule *one* or more times to find the limit\n\n\n\n$$\nL = \\lim_{x \\rightarrow 0} \\frac{x - \\sin(x)}{x^3}.\n$$\n\n\nWhat is $L$?\n\n::: {.cell hold='true' execution_count=25}\n\n::: {.cell-output .cell-output-display execution_count=26}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='7880462050198960889' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_7880462050198960889\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"7880462050198960889\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='7880462050198960889_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"7880462050198960889\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0.16666666666666666) <= 0.001);\n var msgBox = document.getElementById('7880462050198960889_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_7880462050198960889\")\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_7880462050198960889\")\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\nUse L'Hospital's rule *one* or more times to find the limit\n\n\n\n$$\nL = \\lim_{x \\rightarrow 0} \\frac{1 - x^2/2 - \\cos(x)}{x^3}.\n$$\n\n\nWhat is $L$?\n\n::: {.cell hold='true' execution_count=26}\n\n::: {.cell-output .cell-output-display execution_count=27}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='6818687645552103988' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_6818687645552103988\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"6818687645552103988\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='6818687645552103988_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"6818687645552103988\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0.0) <= 0.001);\n var msgBox = document.getElementById('6818687645552103988_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_6818687645552103988\")\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_6818687645552103988\")\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\nUse L'Hospital's rule *one* or more times to find the limit\n\n\n\n$$\nL = \\lim_{x \\rightarrow \\infty} \\frac{\\log(\\log(x))}{\\log(x)}.\n$$\n\n\nWhat is $L$?\n\n::: {.cell hold='true' execution_count=27}\n\n::: {.cell-output .cell-output-display execution_count=28}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='8002535866534887181' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_8002535866534887181\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"8002535866534887181\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='8002535866534887181_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"8002535866534887181\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0) <= 0);\n var msgBox = document.getElementById('8002535866534887181_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_8002535866534887181\")\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_8002535866534887181\")\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\nBy using a common denominator to rewrite this expression, use L'Hospital's rule to find the limit\n\n\n\n$$\nL = \\lim_{x \\rightarrow 0} \\frac{1}{x} - \\frac{1}{\\sin(x)}.\n$$\n\n\nWhat is $L$?\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 mw-100\" name='WeaveQuestion' data-id='1841637902016187064' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_1841637902016187064\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"1841637902016187064\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='1841637902016187064_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"1841637902016187064\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0.0) <= 0.001);\n var msgBox = document.getElementById('1841637902016187064_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_1841637902016187064\")\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_1841637902016187064\")\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\nUse L'Hospital's rule to find the limit\n\n\n\n$$\nL = \\lim_{x \\rightarrow \\infty} \\log(x)/x\n$$\n\n\nWhat is $L$?\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 mw-100\" name='WeaveQuestion' data-id='2813362072687361375' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_2813362072687361375\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"2813362072687361375\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='2813362072687361375_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"2813362072687361375\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 0.0) <= 0.001);\n var msgBox = document.getElementById('2813362072687361375_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_2813362072687361375\")\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_2813362072687361375\")\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\nUsing L'Hospital's rule, does\n\n\n\n$$\n\\lim_{x \\rightarrow 0+} x^{\\log(x)}\n$$\n\n\nexist?\n\n\nConsider $x^{\\log(x)} = e^{\\log(x)\\log(x)}$.\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 mw-100\" name='WeaveQuestion' data-id='17872899793789822819' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_17872899793789822819\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_17872899793789822819_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_17872899793789822819\"\n id=\"radio_17872899793789822819_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n Yes\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_17872899793789822819_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_17872899793789822819\"\n id=\"radio_17872899793789822819_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n No\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='17872899793789822819_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_17872899793789822819\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 2;\n var msgBox = document.getElementById('17872899793789822819_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_17872899793789822819\")\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_17872899793789822819\")\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\nUsing L'Hospital's rule, find the limit of\n\n\n\n$$\n\\lim_{x \\rightarrow 1} (2-x)^{\\tan(\\pi/2 \\cdot x)}.\n$$\n\n\n(Hint, express as $\\exp^{\\tan(\\pi/2 \\cdot x) \\cdot \\log(2-x)}$ and take the limit of the resulting exponent.)\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 mw-100\" name='WeaveQuestion' data-id='6918699109442521588' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_6918699109442521588\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_6918699109442521588_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_6918699109442521588\"\n id=\"radio_6918699109442521588_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\({2\\pi}\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_6918699109442521588_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_6918699109442521588\"\n id=\"radio_6918699109442521588_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_6918699109442521588_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_6918699109442521588\"\n id=\"radio_6918699109442521588_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(1\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_6918699109442521588_4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_6918699109442521588\"\n id=\"radio_6918699109442521588_4\" value=\"4\">\n </input>\n <span class=\"label-body px-1\">\n It does not exist\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_6918699109442521588_5\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_6918699109442521588\"\n id=\"radio_6918699109442521588_5\" value=\"5\">\n </input>\n <span class=\"label-body px-1\">\n \\(e^{2/\\pi}\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='6918699109442521588_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_6918699109442521588\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 5;\n var msgBox = document.getElementById('6918699109442521588_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_6918699109442521588\")\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_6918699109442521588\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n",
"supporting": [
"lhospitals_rule_files"
],
"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"
]
}
}
}