2752 lines
220 KiB
HTML
2752 lines
220 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="generator" content="quarto-1.0.32">
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||
|
||
|
||
<title>Calculus with Julia - 19 Limits, issues, extensions of the concept</title>
|
||
<style>
|
||
code{white-space: pre-wrap;}
|
||
span.smallcaps{font-variant: small-caps;}
|
||
span.underline{text-decoration: underline;}
|
||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||
ul.task-list{list-style: none;}
|
||
pre > code.sourceCode { white-space: pre; position: relative; }
|
||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||
.sourceCode { overflow: visible; }
|
||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||
div.sourceCode { margin: 1em 0; }
|
||
pre.sourceCode { margin: 0; }
|
||
@media screen {
|
||
div.sourceCode { overflow: auto; }
|
||
}
|
||
@media print {
|
||
pre > code.sourceCode { white-space: pre-wrap; }
|
||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||
}
|
||
pre.numberSource code
|
||
{ counter-reset: source-line 0; }
|
||
pre.numberSource code > span
|
||
{ position: relative; left: -4em; counter-increment: source-line; }
|
||
pre.numberSource code > span > a:first-child::before
|
||
{ content: counter(source-line);
|
||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||
border: none; display: inline-block;
|
||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||
-khtml-user-select: none; -moz-user-select: none;
|
||
-ms-user-select: none; user-select: none;
|
||
padding: 0 4px; width: 4em;
|
||
color: #aaaaaa;
|
||
}
|
||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||
div.sourceCode
|
||
{ }
|
||
@media screen {
|
||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||
}
|
||
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||
code span.at { color: #7d9029; } /* Attribute */
|
||
code span.bn { color: #40a070; } /* BaseN */
|
||
code span.bu { } /* BuiltIn */
|
||
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||
code span.ch { color: #4070a0; } /* Char */
|
||
code span.cn { color: #880000; } /* Constant */
|
||
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||
code span.dt { color: #902000; } /* DataType */
|
||
code span.dv { color: #40a070; } /* DecVal */
|
||
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||
code span.ex { } /* Extension */
|
||
code span.fl { color: #40a070; } /* Float */
|
||
code span.fu { color: #06287e; } /* Function */
|
||
code span.im { } /* Import */
|
||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||
code span.op { color: #666666; } /* Operator */
|
||
code span.ot { color: #007020; } /* Other */
|
||
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||
code span.sc { color: #4070a0; } /* SpecialChar */
|
||
code span.ss { color: #bb6688; } /* SpecialString */
|
||
code span.st { color: #4070a0; } /* String */
|
||
code span.va { color: #19177c; } /* Variable */
|
||
code span.vs { color: #4070a0; } /* VerbatimString */
|
||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
||
</style>
|
||
|
||
|
||
<script src="../site_libs/quarto-nav/quarto-nav.js"></script>
|
||
<script src="../site_libs/quarto-nav/headroom.min.js"></script>
|
||
<script src="../site_libs/clipboard/clipboard.min.js"></script>
|
||
<script src="../site_libs/quarto-search/autocomplete.umd.js"></script>
|
||
<script src="../site_libs/quarto-search/fuse.min.js"></script>
|
||
<script src="../site_libs/quarto-search/quarto-search.js"></script>
|
||
<meta name="quarto:offset" content="../">
|
||
<link href="../limits/continuity.html" rel="next">
|
||
<link href="../limits/limits.html" rel="prev">
|
||
<script src="../site_libs/quarto-html/quarto.js"></script>
|
||
<script src="../site_libs/quarto-html/popper.min.js"></script>
|
||
<script src="../site_libs/quarto-html/tippy.umd.min.js"></script>
|
||
<script src="../site_libs/quarto-html/anchor.min.js"></script>
|
||
<link href="../site_libs/quarto-html/tippy.css" rel="stylesheet">
|
||
<link href="../site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
||
<script src="../site_libs/bootstrap/bootstrap.min.js"></script>
|
||
<link href="../site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
||
<link href="../site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light">
|
||
<script id="quarto-search-options" type="application/json">{
|
||
"location": "navbar",
|
||
"copy-button": false,
|
||
"collapse-after": 3,
|
||
"panel-placement": "end",
|
||
"type": "overlay",
|
||
"limit": 20,
|
||
"language": {
|
||
"search-no-results-text": "No results",
|
||
"search-matching-documents-text": "matching documents",
|
||
"search-copy-link-title": "Copy link to search",
|
||
"search-hide-matches-text": "Hide additional matches",
|
||
"search-more-match-text": "more match in this document",
|
||
"search-more-matches-text": "more matches in this document",
|
||
"search-clear-button-title": "Clear",
|
||
"search-detached-cancel-button-title": "Cancel",
|
||
"search-submit-button-title": "Submit"
|
||
}
|
||
}</script>
|
||
<script async="" src="https://hypothes.is/embed.js"></script>
|
||
<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>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
|
||
<script type="application/javascript">define('jquery', [],function() {return window.jQuery;})</script>
|
||
|
||
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script>
|
||
|
||
</head>
|
||
|
||
<body class="nav-sidebar floating nav-fixed">
|
||
|
||
<div id="quarto-search-results"></div>
|
||
<header id="quarto-header" class="headroom fixed-top">
|
||
<nav class="navbar navbar-expand-lg navbar-dark ">
|
||
<div class="navbar-container container-fluid">
|
||
<a class="navbar-brand" href="../index.html">
|
||
<img src="../logo.png" alt="">
|
||
<span class="navbar-title">Calculus with Julia</span>
|
||
</a>
|
||
<div id="quarto-search" class="" title="Search"></div>
|
||
</div> <!-- /container-fluid -->
|
||
</nav>
|
||
<nav class="quarto-secondary-nav" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
|
||
<div class="container-fluid d-flex justify-content-between">
|
||
<h1 class="quarto-secondary-nav-title"><span class="chapter-number">19</span> <span class="chapter-title">Limits, issues, extensions of the concept</span></h1>
|
||
<button type="button" class="quarto-btn-toggle btn" aria-label="Show secondary navigation">
|
||
<i class="bi bi-chevron-right"></i>
|
||
</button>
|
||
</div>
|
||
</nav>
|
||
</header>
|
||
<!-- content -->
|
||
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar">
|
||
<!-- sidebar -->
|
||
<nav id="quarto-sidebar" class="sidebar collapse sidebar-navigation floating overflow-auto">
|
||
<div class="mt-2 flex-shrink-0 align-items-center">
|
||
<div class="sidebar-search">
|
||
<div id="quarto-search" class="" title="Search"></div>
|
||
</div>
|
||
</div>
|
||
<div class="sidebar-menu-container">
|
||
<ul class="list-unstyled mt-1">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../index.html" class="sidebar-item-text sidebar-link">Preface</a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-1" aria-expanded="false">Precalculus Concepts</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-1" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-1" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/calculator.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">1</span> <span class="chapter-title">From calculator to computer</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/variables.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">2</span> <span class="chapter-title">Variables</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/numbers_types.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">3</span> <span class="chapter-title">Number systems</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/logical_expressions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">4</span> <span class="chapter-title">Inequalities, Logical expressions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/vectors.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">5</span> <span class="chapter-title">Vectors</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/ranges.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">6</span> <span class="chapter-title">Ranges and Sets</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">7</span> <span class="chapter-title">Functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">8</span> <span class="chapter-title">The Graph of a Function</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/transformations.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">9</span> <span class="chapter-title">Function manipulations</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/inversefunctions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">10</span> <span class="chapter-title">The Inverse of a Function</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/polynomial.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">11</span> <span class="chapter-title">Polynomials</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/polynomial_roots.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">12</span> <span class="chapter-title">Roots of a polynomial</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/polynomials_package.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">13</span> <span class="chapter-title">The Polynomials package</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/rational_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">14</span> <span class="chapter-title">Rational functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/exp_log_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">15</span> <span class="chapter-title">Exponential and logarithmic functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/trig_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">16</span> <span class="chapter-title">Trigonometric functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../precalc/julia_overview.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">17</span> <span class="chapter-title">Overview of Julia commands</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-2" aria-expanded="true">Limits</a>
|
||
<a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-2" aria-expanded="true">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-2" class="collapse list-unstyled sidebar-section depth1 show">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/limits.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">18</span> <span class="chapter-title">Limits</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/limits_extensions.html" class="sidebar-item-text sidebar-link active"><span class="chapter-number">19</span> <span class="chapter-title">Limits, issues, extensions of the concept</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/continuity.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">20</span> <span class="chapter-title">Continuity</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../limits/intermediate_value_theorem.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">21</span> <span class="chapter-title">Implications of continuity</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-3" aria-expanded="false">Derivatives</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-3" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-3" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">22</span> <span class="chapter-title">Derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/numeric_derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">23</span> <span class="chapter-title">Numeric derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/symbolic_derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">24</span> <span class="chapter-title">Symbolic derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/mean_value_theorem.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">25</span> <span class="chapter-title">The mean value theorem for differentiable functions.</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/optimization.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">26</span> <span class="chapter-title">Optimization</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/first_second_derivatives.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">27</span> <span class="chapter-title">The first and second derivatives</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/curve_sketching.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">28</span> <span class="chapter-title">Curve Sketching</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/linearization.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">29</span> <span class="chapter-title">Linearization</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/newtons_method.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">30</span> <span class="chapter-title">Newton’s method</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/more_zeros.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">31</span> <span class="chapter-title">Derivative-free alternatives to Newton’s method</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/lhospitals_rule.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">32</span> <span class="chapter-title">L’Hospital’s Rule</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/implicit_differentiation.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">33</span> <span class="chapter-title">Implicit Differentiation</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/related_rates.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">34</span> <span class="chapter-title">Related rates</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../derivatives/taylor_series_polynomials.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">35</span> <span class="chapter-title">Taylor Polynomials and other Approximating Polynomials</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-4" aria-expanded="false">Integrals</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-4" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-4" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/area.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">36</span> <span class="chapter-title">Area under a curve</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/ftc.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">37</span> <span class="chapter-title">Fundamental Theorem or Calculus</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/substitution.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">38</span> <span class="chapter-title">Substitution</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/integration_by_parts.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">39</span> <span class="chapter-title">Integration By Parts</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/partial_fractions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">40</span> <span class="chapter-title">Partial Fractions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/improper_integrals.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">41</span> <span class="chapter-title">Improper Integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/mean_value_theorem.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">42</span> <span class="chapter-title">Mean value theorem for integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/area_between_curves.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">43</span> <span class="chapter-title">Area between two curves</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/center_of_mass.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">44</span> <span class="chapter-title">Center of Mass</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/volumes_slice.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">45</span> <span class="chapter-title">Volumes by slicing</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/arc_length.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">46</span> <span class="chapter-title">Arc length</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integrals/surface_area.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">47</span> <span class="chapter-title">Surface Area</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-5" aria-expanded="false">ODEs</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-5" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-5" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/odes.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">48</span> <span class="chapter-title">ODEs</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/euler.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">49</span> <span class="chapter-title">Euler’s method</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/solve.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">50</span> <span class="chapter-title">The problem-algorithm-solve interface</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../ODEs/differential_equations.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">51</span> <span class="chapter-title">The <code>DifferentialEquations</code> suite</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-6" aria-expanded="false">Differential vector calculus</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-6" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-6" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/polar_coordinates.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">52</span> <span class="chapter-title">Polar Coordinates and Curves</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/vectors.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">53</span> <span class="chapter-title">Vectors and matrices</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/vector_valued_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">54</span> <span class="chapter-title">Vector-valued functions, <span class="math inline">\(f:R \rightarrow R^n\)</span></span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/scalar_functions.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">55</span> <span class="chapter-title">Scalar functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/scalar_functions_applications.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">56</span> <span class="chapter-title">Applications with scalar functions</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/vector_fields.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">57</span> <span class="chapter-title">Functions <span class="math inline">\(R^n \rightarrow R^m\)</span></span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../differentiable_vector_calculus/plots_plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">58</span> <span class="chapter-title">2D and 3D plots in Julia with Plots</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-7" aria-expanded="false">Integral vector calculus</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-7" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-7" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/double_triple_integrals.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">59</span> <span class="chapter-title">Multi-dimensional integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/line_integrals.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">60</span> <span class="chapter-title">Line and Surface Integrals</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/div_grad_curl.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">61</span> <span class="chapter-title">The Gradient, Divergence, and Curl</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/stokes_theorem.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">62</span> <span class="chapter-title">Green’s Theorem, Stokes’ Theorem, and the Divergence Theorem</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../integral_vector_calculus/review.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">63</span> <span class="chapter-title">Quick Review of Vector Calculus</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-8" aria-expanded="false">Alternatives</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-8" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-8" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../alternatives/plotly_plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">64</span> <span class="chapter-title">JavaScript based plotting libraries</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../alternatives/makie_plotting.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">65</span> <span class="chapter-title">Calculus plots with Makie</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item sidebar-item-section">
|
||
<div class="sidebar-item-container">
|
||
<a class="sidebar-item-text sidebar-link text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-9" aria-expanded="false">Appendices</a>
|
||
<a class="sidebar-item-toggle text-start collapsed" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-9" aria-expanded="false">
|
||
<i class="bi bi-chevron-right ms-2"></i>
|
||
</a>
|
||
</div>
|
||
<ul id="quarto-sidebar-section-9" class="collapse list-unstyled sidebar-section depth1 ">
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/getting_started_with_julia.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">66</span> <span class="chapter-title">Getting started with Julia</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/julia_interfaces.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">67</span> <span class="chapter-title">Julia interfaces</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/calculus_with_julia.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">68</span> <span class="chapter-title">The <code>CalculusWithJulia</code> package</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/unicode.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">69</span> <span class="chapter-title">Usages of Unicode symbols</span></a>
|
||
</div>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../misc/quick_notes.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">70</span> <span class="chapter-title">Quick introduction to Calculus with Julia</span></a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="sidebar-item">
|
||
<div class="sidebar-item-container">
|
||
<a href="../references.html" class="sidebar-item-text sidebar-link">References</a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
<!-- margin-sidebar -->
|
||
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
||
<nav id="TOC" role="doc-toc">
|
||
<h2 id="toc-title">Table of contents</h2>
|
||
|
||
<ul>
|
||
<li><a href="#right-and-left-limits" id="toc-right-and-left-limits" class="nav-link active" data-scroll-target="#right-and-left-limits"> <span class="header-section-number">19.1</span> Right and left limits</a></li>
|
||
<li><a href="#limits-at-infinity" id="toc-limits-at-infinity" class="nav-link" data-scroll-target="#limits-at-infinity"> <span class="header-section-number">19.2</span> Limits at infinity</a></li>
|
||
<li><a href="#limits-of-infinity" id="toc-limits-of-infinity" class="nav-link" data-scroll-target="#limits-of-infinity"> <span class="header-section-number">19.3</span> Limits of infinity</a></li>
|
||
<li><a href="#limits-of-sequences" id="toc-limits-of-sequences" class="nav-link" data-scroll-target="#limits-of-sequences"> <span class="header-section-number">19.4</span> Limits of sequences</a>
|
||
<ul class="collapse">
|
||
<li><a href="#some-limit-theorems-for-sequences" id="toc-some-limit-theorems-for-sequences" class="nav-link" data-scroll-target="#some-limit-theorems-for-sequences"> <span class="header-section-number">19.4.1</span> Some limit theorems for sequences</a></li>
|
||
</ul></li>
|
||
<li><a href="#summary" id="toc-summary" class="nav-link" data-scroll-target="#summary"> <span class="header-section-number">19.5</span> Summary</a></li>
|
||
<li><a href="#rates-of-growth" id="toc-rates-of-growth" class="nav-link" data-scroll-target="#rates-of-growth"> <span class="header-section-number">19.6</span> Rates of growth</a></li>
|
||
<li><a href="#questions" id="toc-questions" class="nav-link" data-scroll-target="#questions"> <span class="header-section-number">19.7</span> Questions</a></li>
|
||
</ul>
|
||
<div class="toc-actions"><div><i class="bi bi-github"></i></div><div class="action-links"><p><a href="https://github.com/jverzani/CalculusWithJuliaNotes.jl/edit/main/quarto/limits/limits_extensions.qmd" class="toc-action">Edit this page</a></p><p><a href="https://github.com/jverzani/CalculusWithJuliaNotes.jl/issues/new" class="toc-action">Report an issue</a></p></div></div></nav>
|
||
</div>
|
||
<!-- main -->
|
||
<main class="content" id="quarto-document-content">
|
||
|
||
<header id="title-block-header" class="quarto-title-block default">
|
||
<div class="quarto-title">
|
||
<h1 class="title d-none d-lg-block"><span class="chapter-number">19</span> <span class="chapter-title">Limits, issues, extensions of the concept</span></h1>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="quarto-title-meta">
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
</header>
|
||
|
||
<p>This section uses the following add-on packages:</p>
|
||
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">CalculusWithJulia</span></span>
|
||
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Plots</span></span>
|
||
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">SymPy</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<hr>
|
||
<p>The limit of a function at <span class="math inline">\(c\)</span> 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.</p>
|
||
<p>Let’s begin with a function that is just problematic. Consider</p>
|
||
<p><span class="math display">\[
|
||
f(x) = \sin(1/x)
|
||
\]</span></p>
|
||
<p>As this is a composition of nice functions it will have a limit everywhere except possibly when <span class="math inline">\(x=0\)</span>, as then <span class="math inline">\(1/x\)</span> 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 <span class="math inline">\(c=0\)</span>.</p>
|
||
<p>A graph shows the issue:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="4">
|
||
<div class="cell-output cell-output-display" data-execution_count="5">
|
||
<p><img src="limits_extensions_files/figure-html/cell-5-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>The graph oscillates between <span class="math inline">\(-1\)</span> and <span class="math inline">\(1\)</span> 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 <span class="math inline">\(L\)</span> that the function gets close to, as it varies between all the values in <span class="math inline">\([-1,1]\)</span> as <span class="math inline">\(x\)</span> gets close to <span class="math inline">\(0\)</span>. A simple proof that there is no limit, is to take any <span class="math inline">\(\epsilon\)</span> less than <span class="math inline">\(1\)</span>, then with any <span class="math inline">\(\delta > 0\)</span>, there are infinitely many <span class="math inline">\(x\)</span> values where <span class="math inline">\(f(x)=1\)</span> and infinitely many where <span class="math inline">\(f(x) = -1\)</span>. That is, there is no <span class="math inline">\(L\)</span> with <span class="math inline">\(|f(x) - L| < \epsilon\)</span> when <span class="math inline">\(\epsilon\)</span> is less than <span class="math inline">\(1\)</span> for all <span class="math inline">\(x\)</span> near <span class="math inline">\(0\)</span>.</p>
|
||
<p>This function basically has too many values it gets close to. Another favorite example of such a function is the function that is <span class="math inline">\(0\)</span> if <span class="math inline">\(x\)</span> is rational and <span class="math inline">\(1\)</span> if not. This function will have no limit anywhere, not just at <span class="math inline">\(0\)</span>, and for basically the same reason as above.</p>
|
||
<p>The issue isn’t oscillation though. Take, for example, the function <span class="math inline">\(f(x) = x \cdot \sin(1/x)\)</span>. This function again has a limit everywhere save possibly <span class="math inline">\(0\)</span>. But in this case, there is a limit at <span class="math inline">\(0\)</span> of <span class="math inline">\(0\)</span>. This is because, the following is true:</p>
|
||
<p><span class="math display">\[
|
||
-|x| \leq x \sin(1/x) \leq |x|.
|
||
\]</span></p>
|
||
<p>The following figure illustrates:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="5">
|
||
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> x <span class="op">*</span> <span class="fu">sin</span>(<span class="fl">1</span><span class="op">/</span>x)</span>
|
||
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(f, <span class="op">-</span><span class="fl">1</span>, <span class="fl">1</span>)</span>
|
||
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="fu">plot!</span>(abs)</span>
|
||
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="fu">plot!</span>(x <span class="op">-></span> <span class="fu">-abs</span>(x))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="6">
|
||
<p><img src="limits_extensions_files/figure-html/cell-6-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>The <a href="http://en.wikipedia.org/wiki/Squeeze_theorem">squeeze</a> theorem of calculus is the formal reason <span class="math inline">\(f\)</span> has a limit at <span class="math inline">\(0\)</span>, as as both the upper function, <span class="math inline">\(|x|\)</span>, and the lower function, <span class="math inline">\(-|x|\)</span>, have a limit of <span class="math inline">\(0\)</span> at <span class="math inline">\(0\)</span>.</p>
|
||
<section id="right-and-left-limits" class="level2" data-number="19.1">
|
||
<h2 data-number="19.1" class="anchored" data-anchor-id="right-and-left-limits"><span class="header-section-number">19.1</span> Right and left limits</h2>
|
||
<p>Another example where <span class="math inline">\(f(x)\)</span> has no limit is the function <span class="math inline">\(f(x) = x /|x|, x \neq 0\)</span>. This function is <span class="math inline">\(-1\)</span> for negative <span class="math inline">\(x\)</span> and <span class="math inline">\(1\)</span> for positive <span class="math inline">\(x\)</span>. Again, this function will have a limit everywhere except possibly at <span class="math inline">\(x=0\)</span>, where division by <span class="math inline">\(0\)</span> is possible.</p>
|
||
<p>It’s graph is</p>
|
||
<div class="cell" data-hold="true" data-execution_count="6">
|
||
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> <span class="fu">abs</span>(x)<span class="op">/</span>x</span>
|
||
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(f, <span class="op">-</span><span class="fl">2</span>, <span class="fl">2</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="7">
|
||
<p><img src="limits_extensions_files/figure-html/cell-7-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>The sharp jump at <span class="math inline">\(0\)</span> 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 <span class="math inline">\(0\)</span> and jumps from <span class="math inline">\(-1\)</span> to <span class="math inline">\(1\)</span> there. Similarly to our example of <span class="math inline">\(\sin(1/x)\)</span>, near <span class="math inline">\(0\)</span> the function get’s close to both <span class="math inline">\(1\)</span> and <span class="math inline">\(-1\)</span>, so will have no limit. (Again, just take <span class="math inline">\(\epsilon\)</span> smaller than <span class="math inline">\(1\)</span>.)</p>
|
||
<p>But unlike the previous example, this function <em>would</em> have a limit if the definition didn’t consider values of <span class="math inline">\(x\)</span> on both sides of <span class="math inline">\(c\)</span>. The limit on the right side would be <span class="math inline">\(1\)</span>, the limit on the left side would be <span class="math inline">\(-1\)</span>. This distinction is useful, so there is an extension of the idea of a limit to <em>one-sided limits</em>.</p>
|
||
<p>Let’s loosen up the language in the definition of a limit to read:</p>
|
||
<blockquote class="blockquote">
|
||
<p>The limit of <span class="math inline">\(f(x)\)</span> as <span class="math inline">\(x\)</span> approaches <span class="math inline">\(c\)</span> is <span class="math inline">\(L\)</span> if for every neighborhood, <span class="math inline">\(V\)</span>, of <span class="math inline">\(L\)</span> there is a neighborhood, <span class="math inline">\(U\)</span>, of <span class="math inline">\(c\)</span> for which <span class="math inline">\(f(x)\)</span> is in <span class="math inline">\(V\)</span> for every <span class="math inline">\(x\)</span> in <span class="math inline">\(U\)</span>, except possibly <span class="math inline">\(x=c\)</span>.</p>
|
||
</blockquote>
|
||
<p>The <span class="math inline">\(\epsilon-\delta\)</span> definition has <span class="math inline">\(V = (L-\epsilon, L + \epsilon)\)</span> and <span class="math inline">\(U=(c-\delta, c+\delta)\)</span>. This is a rewriting of <span class="math inline">\(L-\epsilon < f(x) < L + \epsilon\)</span> as <span class="math inline">\(|f(x) - L| < \epsilon\)</span>.</p>
|
||
<p>Now for the defintion:</p>
|
||
<blockquote class="blockquote">
|
||
<p>A function <span class="math inline">\(f(x)\)</span> has a limit on the right of <span class="math inline">\(c\)</span>, written <span class="math inline">\(\lim_{x \rightarrow c+}f(x) = L\)</span> if for every <span class="math inline">\(\epsilon > 0\)</span>, there exists a <span class="math inline">\(\delta > 0\)</span> such that whenever <span class="math inline">\(0 < x - c < \delta\)</span> it holds that <span class="math inline">\(|f(x) - L| < \epsilon\)</span>. That is, <span class="math inline">\(U\)</span> is <span class="math inline">\((c, c+\delta)\)</span></p>
|
||
</blockquote>
|
||
<p>Similarly, a limit on the left is defined where <span class="math inline">\(U=(c-\delta, c)\)</span>.</p>
|
||
<p>The <code>SymPy</code> function <code>limit</code> has a keyword argument <code>dir="+"</code> or <code>dir="-"</code> to request that a one-sided limit be formed. The default is <code>dir="+"</code>. Passing <code>dir="+-"</code> will compute both one side limits, and throw an error if the two are not equal, in agreement with no limit existing.</p>
|
||
<div class="cell" data-execution_count="7">
|
||
<div class="sourceCode cell-code" id="cb4"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@syms</span> x</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="8">
|
||
<pre><code>(x,)</code></pre>
|
||
</div>
|
||
</div>
|
||
<div class="cell" data-hold="true" data-execution_count="8">
|
||
<div class="sourceCode cell-code" id="cb6"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> <span class="fu">abs</span>(x)<span class="op">/</span>x</span>
|
||
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">f</span>(x), x<span class="op">=></span><span class="fl">0</span>, dir<span class="op">=</span><span class="st">"+"</span>), <span class="fu">limit</span>(<span class="fu">f</span>(x), x<span class="op">=></span><span class="fl">0</span>, dir<span class="op">=</span><span class="st">"-"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="9">
|
||
<pre><code>(1, -1)</code></pre>
|
||
</div>
|
||
</div>
|
||
<div class="callout-warning callout callout-style-default callout-captioned">
|
||
<div class="callout-header d-flex align-content-center">
|
||
<div class="callout-icon-container">
|
||
<i class="callout-icon"></i>
|
||
</div>
|
||
<div class="callout-caption-container flex-fill">
|
||
Warning
|
||
</div>
|
||
</div>
|
||
<div class="callout-body-container callout-body">
|
||
<p>That means the mathematical limit need not exist when <code>SymPy</code>’s <code>limit</code> returns an answer, as <code>SymPy</code> is only carrying out a one sided limit. Explicitly passing <code>dir="+-"</code> or checking that both <code>limit(ex, x=>c)</code> and <code>limit(ex, x=>c, dir="-")</code> are equal would be needed to confirm a limit exists mathematically.</p>
|
||
</div>
|
||
</div>
|
||
<p>The relation between the two concepts is that a function has a limit at <span class="math inline">\(c\)</span> if an only if the left and right limits exist and are equal. This function <span class="math inline">\(f\)</span> has both existing, but the two limits are not equal.</p>
|
||
<p>There 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:</p>
|
||
<div class="cell" data-execution_count="9">
|
||
<div class="sourceCode cell-code" id="cb8"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(floor, <span class="op">-</span><span class="fl">5</span>,<span class="fl">5</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="10">
|
||
<p><img src="limits_extensions_files/figure-html/cell-10-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>Again, the (nearly) vertical lines are an artifact of the graphing algorithm and not actual points that solve <span class="math inline">\(y=f(x)\)</span>. The floor function has limits except at the integers. There the left and right limits differ.</p>
|
||
<p>Consider the limit at <span class="math inline">\(c=0\)</span>. If <span class="math inline">\(0 < x < 1/2\)</span>, say, then <span class="math inline">\(f(x) = 0\)</span> as we round down, so the right limit will be <span class="math inline">\(0\)</span>. However, if <span class="math inline">\(-1/2 < x < 0\)</span>, then the <span class="math inline">\(f(x) = -1\)</span>, again as we round down, so the left limit will be <span class="math inline">\(-1\)</span>. 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.</p>
|
||
<p>Some functions only have one-sided limits as they are not defined in an interval around <span class="math inline">\(c\)</span>. There are many examples, but we will take <span class="math inline">\(f(x) = x^x\)</span> and consider <span class="math inline">\(c=0\)</span>. This function is not well defined for all <span class="math inline">\(x < 0\)</span>, so it is typical to just take the domain to be <span class="math inline">\(x > 0\)</span>. Still it has a right limit <span class="math inline">\(\lim_{x \rightarrow 0+} x^x = 1\)</span>. <code>SymPy</code> can verify:</p>
|
||
<div class="cell" data-execution_count="10">
|
||
<div class="sourceCode cell-code" id="cb9"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(x<span class="op">^</span>x, x, <span class="fl">0</span>, dir<span class="op">=</span><span class="st">"+"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="11">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
1
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>This agrees with the IEEE convention of assigning <code>0^0</code> to be <code>1</code>.</p>
|
||
<p>However, not all such functions with indeterminate forms of <span class="math inline">\(0^0\)</span> will have a limit of <span class="math inline">\(1\)</span>.</p>
|
||
<section id="example" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example">Example</h5>
|
||
<p>Consider this funny graph:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="11">
|
||
<div class="cell-output cell-output-display" data-execution_count="12">
|
||
<p><img src="limits_extensions_files/figure-html/cell-12-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>Describe the limits at <span class="math inline">\(-1\)</span>, <span class="math inline">\(0\)</span>, and <span class="math inline">\(1\)</span>.</p>
|
||
<ul>
|
||
<li>At <span class="math inline">\(-1\)</span> we see a jump, there is no limit but instead a left limit of 1 and a right limit appearing to be <span class="math inline">\(1/2\)</span>.</li>
|
||
<li>At <span class="math inline">\(0\)</span> we see a limit of <span class="math inline">\(1\)</span>.</li>
|
||
<li>Finally, at <span class="math inline">\(1\)</span> again there is a jump, so no limit. Instead the left limit is about <span class="math inline">\(-1\)</span> and the right limit <span class="math inline">\(1\)</span>.</li>
|
||
</ul>
|
||
</section>
|
||
</section>
|
||
<section id="limits-at-infinity" class="level2" data-number="19.2">
|
||
<h2 data-number="19.2" class="anchored" data-anchor-id="limits-at-infinity"><span class="header-section-number">19.2</span> Limits at infinity</h2>
|
||
<p>The loose definition of a horizontal asymptote is “a line such that the distance between the curve and the line approaches <span class="math inline">\(0\)</span> as they tend to infinity.” This sounds like it should be defined by a limit. The issue is, that the limit would be at <span class="math inline">\(\pm\infty\)</span> and not some finite <span class="math inline">\(c\)</span>. This requires the idea of a neighborhood of <span class="math inline">\(c\)</span>, <span class="math inline">\(0 < |x-c| < \delta\)</span> to be reworked.</p>
|
||
<p>The basic idea for a limit at <span class="math inline">\(+\infty\)</span> is that for any <span class="math inline">\(\epsilon\)</span>, there exists an <span class="math inline">\(M\)</span> such that when <span class="math inline">\(x > M\)</span> it must be that <span class="math inline">\(|f(x) - L| < \epsilon\)</span>. For a horizontal asymptote, the line would be <span class="math inline">\(y=L\)</span>. Similarly a limit at <span class="math inline">\(-\infty\)</span> can be defined with <span class="math inline">\(x < M\)</span> being the condition.</p>
|
||
<p>Let’s consider some cases.</p>
|
||
<p>The function <span class="math inline">\(f(x) = \sin(x)\)</span> will not have a limit at <span class="math inline">\(+\infty\)</span> for exactly the same reason that <span class="math inline">\(f(x) = \sin(1/x)\)</span> does not have a limit at <span class="math inline">\(c=0\)</span> - it just oscillates between <span class="math inline">\(-1\)</span> and <span class="math inline">\(1\)</span> so never eventually gets close to a single value.</p>
|
||
<p><code>SymPy</code> gives an odd answer here indicating the range of values:</p>
|
||
<div class="cell" data-execution_count="12">
|
||
<div class="sourceCode cell-code" id="cb10"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">sin</span>(x), x <span class="op">=></span> oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="13">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
\left\langle -1, 1\right\rangle
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>(We used <code>SymPy</code>’s <code>oo</code> for <span class="math inline">\(\infty\)</span> and not <code>Inf</code>.)</p>
|
||
<hr>
|
||
<p>However, a damped oscillation, such as <span class="math inline">\(f(x) = e^{-x} \sin(x)\)</span> will have a limit:</p>
|
||
<div class="cell" data-execution_count="13">
|
||
<div class="sourceCode cell-code" id="cb11"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">exp</span>(<span class="op">-</span>x)<span class="fu">*sin</span>(x), x <span class="op">=></span> oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="14">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
0
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<p>We have rational functions will have the expected limit. In this example <span class="math inline">\(m = n\)</span>, so we get a horizontal asymptote that is not <span class="math inline">\(y=0\)</span>:</p>
|
||
<div class="cell" data-execution_count="14">
|
||
<div class="sourceCode cell-code" id="cb12"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>((x<span class="op">^</span><span class="fl">2</span> <span class="op">-</span> <span class="fl">2</span>x <span class="op">+</span><span class="fl">2</span>)<span class="op">/</span>(<span class="fl">4</span>x<span class="op">^</span><span class="fl">2</span> <span class="op">+</span> <span class="fl">3</span>x <span class="op">-</span> <span class="fl">2</span>), x<span class="op">=></span>oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="15">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
\frac{1}{4}
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<p>Though rational functions can have only one (at most) horizontal asymptote, this isn’t true for all functions. Consider the following <span class="math inline">\(f(x) = x / \sqrt{x^2 + 4}\)</span>. It has different limits depending if <span class="math inline">\(x\)</span> goes to <span class="math inline">\(\infty\)</span> or negative <span class="math inline">\(\infty\)</span>:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="15">
|
||
<div class="sourceCode cell-code" id="cb13"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> x <span class="op">/</span> <span class="fu">sqrt</span>(x<span class="op">^</span><span class="fl">2</span> <span class="op">+</span> <span class="fl">4</span>)</span>
|
||
<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">f</span>(x), x<span class="op">=></span>oo), <span class="fu">limit</span>(<span class="fu">f</span>(x), x<span class="op">=>-</span>oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="16">
|
||
<pre><code>(1, -1)</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>(A simpler example showing this behavior is just the function <span class="math inline">\(x/|x|\)</span> considered earlier.)</p>
|
||
<section id="example-limits-at-infinity-and-right-limits-at-0" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example-limits-at-infinity-and-right-limits-at-0">Example: Limits at infinity and right limits at <span class="math inline">\(0\)</span></h5>
|
||
<p>Given a function <span class="math inline">\(f\)</span> the question of whether this exists:</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow \infty} f(x)
|
||
\]</span></p>
|
||
<p>can be reduced to the question of whether this limit exists:</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow 0+} f(1/x)
|
||
\]</span></p>
|
||
<p>So whether <span class="math inline">\(\lim_{x \rightarrow 0+} \sin(1/x)\)</span> exists is equivalent to whether <span class="math inline">\(\lim_{x\rightarrow \infty} \sin(x)\)</span> exists, which clearly does not due to the oscillatory nature of <span class="math inline">\(\sin(x)\)</span>.</p>
|
||
<p>Similarly, one can make this reduction</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow c+} f(x) =
|
||
\lim_{x \rightarrow 0+} f(c + x) =
|
||
\lim_{x \rightarrow \infty} f(c + \frac{1}{x}).
|
||
\]</span></p>
|
||
<p>That is, right limits can be analyzed as limits at <span class="math inline">\(\infty\)</span> or right limits at <span class="math inline">\(0\)</span>, should that prove more convenient.</p>
|
||
</section>
|
||
</section>
|
||
<section id="limits-of-infinity" class="level2" data-number="19.3">
|
||
<h2 data-number="19.3" class="anchored" data-anchor-id="limits-of-infinity"><span class="header-section-number">19.3</span> Limits of infinity</h2>
|
||
<p>Vertical 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 <span class="math inline">\(f(x)\)</span> heads towards positive or negative infinity, not some finite <span class="math inline">\(L\)</span>. As such, a neighborhood like <span class="math inline">\((L-\epsilon, L+\epsilon)\)</span> will no longer make sense, rather we replace it with an expression like <span class="math inline">\((M, \infty)\)</span> or <span class="math inline">\((-\infty, M)\)</span>. As in: the limit of <span class="math inline">\(f(x)\)</span> as <span class="math inline">\(x\)</span> approaches <span class="math inline">\(c\)</span> is <em>infinity</em> if for every <span class="math inline">\(M > 0\)</span> there exists a <span class="math inline">\(\delta>0\)</span> such that if <span class="math inline">\(0 < |x-c| < \delta\)</span> then <span class="math inline">\(f(x) > M\)</span>. Approaching <span class="math inline">\(-\infty\)</span> would conclude with <span class="math inline">\(f(x) < -M\)</span> for all <span class="math inline">\(M>0\)</span>.</p>
|
||
<section id="examples" class="level5">
|
||
<h5 class="anchored" data-anchor-id="examples">Examples</h5>
|
||
<p>Consider the function <span class="math inline">\(f(x) = 1/x^2\)</span>. This will have a limit at every point except possibly <span class="math inline">\(0\)</span>, where division by <span class="math inline">\(0\)</span> is possible. In this case, there is a vertical asymptote, as seen in the following graph. The limit at <span class="math inline">\(0\)</span> is <span class="math inline">\(\infty\)</span>, in the extended sense above. For <span class="math inline">\(M>0\)</span>, we can take any <span class="math inline">\(0 < \delta < 1/\sqrt{M}\)</span>. The following graph shows <span class="math inline">\(M=25\)</span> where the function values are outside of the box, as <span class="math inline">\(f(x) > M\)</span> for those <span class="math inline">\(x\)</span> values with <span class="math inline">\(0 < |x-0| < 1/\sqrt{M}\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="16">
|
||
<div class="cell-output cell-output-display" data-execution_count="17">
|
||
<p><img src="limits_extensions_files/figure-html/cell-17-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<p>The function <span class="math inline">\(f(x)=1/x\)</span> requires us to talk about left and right limits of infinity, with the natural generalization. We can see that the left limit at <span class="math inline">\(0\)</span> is <span class="math inline">\(-\infty\)</span> and the right limit <span class="math inline">\(\infty\)</span>:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="17">
|
||
<div class="cell-output cell-output-display" data-execution_count="18">
|
||
<p><img src="limits_extensions_files/figure-html/cell-18-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p><code>SymPy</code> agrees:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="18">
|
||
<div class="sourceCode cell-code" id="cb15"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">f</span>(x) <span class="op">=</span> <span class="fl">1</span><span class="op">/</span>x</span>
|
||
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">f</span>(x), x<span class="op">=></span><span class="fl">0</span>, dir<span class="op">=</span><span class="st">"-"</span>), <span class="fu">limit</span>(<span class="fu">f</span>(x), x<span class="op">=></span><span class="fl">0</span>, dir<span class="op">=</span><span class="st">"+"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="19">
|
||
<pre><code>(-oo, oo)</code></pre>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<p>Consider the function <span class="math inline">\(g(x) = x^x(1 + \log(x)), x > 0\)</span>. Does this have a <em>right</em> limit at <span class="math inline">\(0\)</span>?</p>
|
||
<p>A quick graph shows that a limit may be <span class="math inline">\(-\infty\)</span>:</p>
|
||
<div class="cell" data-execution_count="19">
|
||
<div class="sourceCode cell-code" id="cb17"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">g</span>(x) <span class="op">=</span> x<span class="op">^</span>x <span class="op">*</span> (<span class="fl">1</span> <span class="op">+</span> <span class="fu">log</span>(x))</span>
|
||
<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(g, <span class="fl">1</span><span class="op">/</span><span class="fl">100</span>, <span class="fl">1</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="20">
|
||
<p><img src="limits_extensions_files/figure-html/cell-20-output-1.svg" class="img-fluid"></p>
|
||
</div>
|
||
</div>
|
||
<p>We can check with <code>SymPy</code>:</p>
|
||
<div class="cell" data-execution_count="20">
|
||
<div class="sourceCode cell-code" id="cb18"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">g</span>(x), x<span class="op">=></span><span class="fl">0</span>, dir<span class="op">=</span><span class="st">"+"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="21">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
-\infty
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="limits-of-sequences" class="level2" data-number="19.4">
|
||
<h2 data-number="19.4" class="anchored" data-anchor-id="limits-of-sequences"><span class="header-section-number">19.4</span> Limits of sequences</h2>
|
||
<p>After 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: <span class="math inline">\(s_n = 1/2 \dot((1/4)^0 + (1/4)^1 + (1/4)^2 + \cdots + (1/4)^n)\)</span>. This isn’t a function of <span class="math inline">\(x\)</span>, but rather depends only on non-negative integer values of <span class="math inline">\(n\)</span>. However, the same idea as a limit at infinity can be used to define a limit.</p>
|
||
<blockquote class="blockquote">
|
||
<p>Let <span class="math inline">\(a_0,a_1, a_2, \dots, a_n, \dots\)</span> be a sequence of values indexed by <span class="math inline">\(n\)</span>. We have <span class="math inline">\(\lim_{n \rightarrow \infty} a_n = L\)</span> if for every <span class="math inline">\(\epsilon > 0\)</span> there exists an <span class="math inline">\(M>0\)</span> where if <span class="math inline">\(n > M\)</span> then <span class="math inline">\(|a_n - L| < \epsilon\)</span>.</p>
|
||
</blockquote>
|
||
<p>Common language is the sequence <em>converges</em> when the limit exists and otherwise <em>diverges</em>.</p>
|
||
<p>The above is essentially the same as a limit <em>at</em> infinity for a function, but in this case the function’s domain is only the non-negative integers.</p>
|
||
<p><code>SymPy</code> is happy to compute limits of sequences. Defining this one involving a sum is best done with the <code>summation</code> function:</p>
|
||
<div class="cell" data-execution_count="21">
|
||
<div class="sourceCode cell-code" id="cb19"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@syms</span> i<span class="op">::</span><span class="dt">integer </span>n<span class="op">::</span><span class="dt">(integer</span>, positive)</span>
|
||
<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="fu">s</span>(n) <span class="op">=</span> <span class="fl">1</span><span class="op">//</span><span class="fl">2</span> <span class="op">*</span> <span class="fu">summation</span>((<span class="fl">1</span><span class="op">//</span><span class="fl">4</span>)<span class="op">^</span>i, (i, <span class="fl">0</span>, n)) <span class="co"># rationals make for an exact answer</span></span>
|
||
<span id="cb19-3"><a href="#cb19-3" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">s</span>(n), n<span class="op">=></span>oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="22">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
\frac{2}{3}
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<section id="example-1" class="level5">
|
||
<h5 class="anchored" data-anchor-id="example-1">Example</h5>
|
||
<p>The limit</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow 0} \frac{e^x - 1}{x} = 1,
|
||
\]</span></p>
|
||
<p>is an important limit. Using the definition of <span class="math inline">\(e^x\)</span> by an infinite sequence:</p>
|
||
<p><span class="math display">\[
|
||
e^x = \lim_{n \rightarrow \infty} (1 + \frac{x}{n})^n,
|
||
\]</span></p>
|
||
<p>we can establish the limit using the squeeze theorem. First,</p>
|
||
<p><span class="math display">\[
|
||
A = |(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|,
|
||
\]</span></p>
|
||
<p>the first two sums cancelling off. The above comes from the binomial expansion theorem for a polynomial. Now <span class="math inline">\({n \choose k} \leq n^k\)</span>so we have</p>
|
||
<p><span class="math display">\[
|
||
A \leq \Sigma_{k=2}^n |x|^k = |x|^2 \frac{1 - |x|^{n+1}}{1 - |x|} \leq
|
||
\frac{|x|^2}{1 - |x|}.
|
||
\]</span></p>
|
||
<p>using the <em>geometric</em> sum formula with <span class="math inline">\(x \approx 0\)</span> (and not <span class="math inline">\(1\)</span>):</p>
|
||
<div class="cell" data-hold="true" data-execution_count="22">
|
||
<div class="sourceCode cell-code" id="cb20"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@syms</span> x n i</span>
|
||
<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="fu">summation</span>(x<span class="op">^</span>i, (i,<span class="fl">0</span>,n))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="23">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
\begin{cases} n + 1 & \text{for}\: x = 1 \\\frac{1 - x^{n + 1}}{1 - x} & \text{otherwise} \end{cases}
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>As this holds for all <span class="math inline">\(n\)</span>, as <span class="math inline">\(n\)</span> goes to <span class="math inline">\(\infty\)</span> we have:</p>
|
||
<p><span class="math display">\[
|
||
|e^x - 1 - x| \leq \frac{|x|^2}{1 - |x|}
|
||
\]</span></p>
|
||
<p>Dividing both sides by <span class="math inline">\(x\)</span> and noting that as <span class="math inline">\(x \rightarrow 0\)</span>, <span class="math inline">\(|x|/(1-|x|)\)</span> goes to <span class="math inline">\(0\)</span> by continuity, the squeeze theorem gives the limit:</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow 0} \frac{e^x -1}{x} - 1 = 0.
|
||
\]</span></p>
|
||
<p>That <span class="math inline">\({n \choose k} \leq n^k\)</span> can be viewed as the left side counts the number of combinations of <span class="math inline">\(k\)</span> choices from <span class="math inline">\(n\)</span> distinct items, which is less than the number of permutations of <span class="math inline">\(k\)</span> choices, which is less than the number of choices of <span class="math inline">\(k\)</span> items from <span class="math inline">\(n\)</span> distinct ones without replacement – what <span class="math inline">\(n^k\)</span> counts.</p>
|
||
</section>
|
||
<section id="some-limit-theorems-for-sequences" class="level3" data-number="19.4.1">
|
||
<h3 data-number="19.4.1" class="anchored" data-anchor-id="some-limit-theorems-for-sequences"><span class="header-section-number">19.4.1</span> Some limit theorems for sequences</h3>
|
||
<p>The limit discussion first defined limits of scalar univariate functions at a point <span class="math inline">\(c\)</span> 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:</p>
|
||
<ul>
|
||
<li>Convergent sequences are bounded.</li>
|
||
<li>All <em>bounded</em> monotone sequences converge.</li>
|
||
<li>Every bounded sequence has a convergent subsequence. (Bolzano-Weirstrass)</li>
|
||
<li>The limit of <span class="math inline">\(f\)</span> at <span class="math inline">\(c\)</span> exists and equals <span class="math inline">\(L\)</span> if and only if for <em>every</em> sequence <span class="math inline">\(x_n\)</span> in the domain of <span class="math inline">\(f\)</span> converging to <span class="math inline">\(c\)</span> the sequence <span class="math inline">\(s_n = f(x_n)\)</span> converges to <span class="math inline">\(L\)</span>.</li>
|
||
</ul>
|
||
</section>
|
||
</section>
|
||
<section id="summary" class="level2" data-number="19.5">
|
||
<h2 data-number="19.5" class="anchored" data-anchor-id="summary"><span class="header-section-number">19.5</span> Summary</h2>
|
||
<p>The following table captures the various changes to the definition of the limit to accommodate some of the possible behaviors.</p>
|
||
<div class="cell" data-execution_count="23">
|
||
<div class="cell-output cell-output-display" data-execution_count="24">
|
||
|
||
|
||
<div class="table-responsive">
|
||
<table class="table table-hover">
|
||
<tbody><tr><th>Type</th><th>Notation</th><th>V</th><th>U</th></tr>
|
||
|
||
<tr><td><div class="markdown"><p>limit</p>
|
||
</div></td><td><div class="markdown">\(\lim_{x\rightarrow c}f(x) = L\)
|
||
</div></td><td><div class="markdown">\((L-\epsilon, L+\epsilon)\)
|
||
</div></td><td><div class="markdown">\((c - \delta, c+\delta)\)
|
||
</div></td></tr>
|
||
<tr><td><div class="markdown"><p>right limit</p>
|
||
</div></td><td><div class="markdown">\(\lim_{x\rightarrow c+}f(x) = L\)
|
||
</div></td><td><div class="markdown">\((L-\epsilon, L+\epsilon)\)
|
||
</div></td><td><div class="markdown">\((c, c+\delta)\)
|
||
</div></td></tr>
|
||
<tr><td><div class="markdown"><p>left limit</p>
|
||
</div></td><td><div class="markdown">\(\lim_{x\rightarrow c-}f(x) = L\)
|
||
</div></td><td><div class="markdown">\((L-\epsilon, L+\epsilon)\)
|
||
</div></td><td><div class="markdown">\((c - \delta, c)\)
|
||
</div></td></tr>
|
||
<tr><td><div class="markdown"><p>limit at \(\infty\)</p>
|
||
</div></td><td><div class="markdown">\(\lim_{x\rightarrow \infty}f(x) = L\)
|
||
</div></td><td><div class="markdown">\((L-\epsilon, L+\epsilon)\)
|
||
</div></td><td><div class="markdown">\((M, \infty)\)
|
||
</div></td></tr>
|
||
<tr><td><div class="markdown"><p>limit at \(-\infty\)</p>
|
||
</div></td><td><div class="markdown">\(\lim_{x\rightarrow -\infty}f(x) = L\)
|
||
</div></td><td><div class="markdown">\((L-\epsilon, L+\epsilon)\)
|
||
</div></td><td><div class="markdown">\((-\infty, M)\)
|
||
</div></td></tr>
|
||
<tr><td><div class="markdown"><p>limit of \(\infty\)</p>
|
||
</div></td><td><div class="markdown">\(\lim_{x\rightarrow c}f(x) = \infty\)
|
||
</div></td><td><div class="markdown">\((M, \infty)\)
|
||
</div></td><td><div class="markdown">\((c - \delta, c+\delta)\)
|
||
</div></td></tr>
|
||
<tr><td><div class="markdown"><p>limit of \(-\infty\)</p>
|
||
</div></td><td><div class="markdown">\(\lim_{x\rightarrow c}f(x) = -\infty\)
|
||
</div></td><td><div class="markdown">\((-\infty, M)\)
|
||
</div></td><td><div class="markdown">\((c - \delta, c+\delta)\)
|
||
</div></td></tr>
|
||
<tr><td><div class="markdown"><p>limit of a sequence</p>
|
||
</div></td><td><div class="markdown">\(\lim_{n \rightarrow \infty} a_n = L\)
|
||
</div></td><td><div class="markdown">\((L-\epsilon, L+\epsilon)\)
|
||
</div></td><td><div class="markdown">\((M, \infty)\)
|
||
</div></td></tr>
|
||
|
||
</tbody></table>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<p><a href="https://doi.org/10.1007/978-1-4614-6271-2">Ross</a> summarizes this by enumerating the 15 different <em>related</em> definitions for <span class="math inline">\(\lim_{x \rightarrow a} f(x) = L\)</span> that arise from <span class="math inline">\(L\)</span> being either finite, <span class="math inline">\(-\infty\)</span>, or <span class="math inline">\(+\infty\)</span> and <span class="math inline">\(a\)</span> being any of <span class="math inline">\(c\)</span>, <span class="math inline">\(c-\)</span>, <span class="math inline">\(c+\)</span>, <span class="math inline">\(-\infty\)</span>, or <span class="math inline">\(+\infty\)</span>.</p>
|
||
</section>
|
||
<section id="rates-of-growth" class="level2" data-number="19.6">
|
||
<h2 data-number="19.6" class="anchored" data-anchor-id="rates-of-growth"><span class="header-section-number">19.6</span> Rates of growth</h2>
|
||
<p>Consider two functions <span class="math inline">\(f\)</span> and <span class="math inline">\(g\)</span> to be <em>comparable</em> if there are positive integers <span class="math inline">\(m\)</span> and <span class="math inline">\(n\)</span> with <em>both</em></p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow \infty} \frac{f(x)^m}{g(x)} = \infty \quad\text{and }
|
||
\lim_{x \rightarrow \infty} \frac{g(x)^n}{f(x)} = \infty.
|
||
\]</span></p>
|
||
<p>The first says <span class="math inline">\(g\)</span> is eventually bounded by a power of <span class="math inline">\(f\)</span>, the second that <span class="math inline">\(f\)</span> is eventually bounded by a power of <span class="math inline">\(g\)</span>.</p>
|
||
<p>Here we consider which families of functions are <em>comparable</em>.</p>
|
||
<p>First consider <span class="math inline">\(f(x) = x^3\)</span> and <span class="math inline">\(g(x) = x^4\)</span>. We can take <span class="math inline">\(m=2\)</span> and <span class="math inline">\(n=1\)</span> to verify <span class="math inline">\(f\)</span> and <span class="math inline">\(g\)</span> are comparable:</p>
|
||
<div class="cell" data-execution_count="24">
|
||
<div class="sourceCode cell-code" id="cb21"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a>fx, gx <span class="op">=</span> x<span class="op">^</span><span class="fl">3</span>, x<span class="op">^</span><span class="fl">4</span></span>
|
||
<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(fx<span class="op">^</span><span class="fl">2</span><span class="op">/</span>gx, x<span class="op">=></span>oo), <span class="fu">limit</span>(gx<span class="op">^</span><span class="fl">1</span> <span class="op">/</span> fx, x<span class="op">=></span>oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="25">
|
||
<pre><code>(oo, oo)</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>Similarly for any pairs of powers, so we could conclude <span class="math inline">\(f(x) = x^n\)</span> and <span class="math inline">\(g(x) =x^m\)</span> are comparable. (However, as is easily observed, for <span class="math inline">\(m\)</span> and <span class="math inline">\(n\)</span> both positive integers <span class="math inline">\(\lim_{x \rightarrow \infty} x^{m+n}/x^m = \infty\)</span> and <span class="math inline">\(\lim_{x \rightarrow \infty} x^{m}/x^{m+n} = 0\)</span>, consistent with our discussion on rational functions that higher-order polynomials dominate lower-order polynomials.)</p>
|
||
<p>Now consider <span class="math inline">\(f(x) = x\)</span> and <span class="math inline">\(g(x) = \log(x)\)</span>. These are not compatible as there will be no <span class="math inline">\(n\)</span> large enough. We might say <span class="math inline">\(x\)</span> dominates <span class="math inline">\(\log(x)\)</span>.</p>
|
||
<div class="cell" data-execution_count="25">
|
||
<div class="sourceCode cell-code" id="cb23"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">log</span>(x)<span class="op">^</span>n <span class="op">/</span> x, x <span class="op">=></span> oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="26">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
0
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>As <span class="math inline">\(x\)</span> could be replaced by any monomial <span class="math inline">\(x^k\)</span>, we can say “powers” grow faster than “logarithms”.</p>
|
||
<p>Now consider <span class="math inline">\(f(x)=x\)</span> and <span class="math inline">\(g(x) = e^x\)</span>. These are not compatible as there will be no <span class="math inline">\(m\)</span> large enough:</p>
|
||
<div class="cell" data-execution_count="26">
|
||
<div class="sourceCode cell-code" id="cb24"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@syms</span> m<span class="op">::</span><span class="dt">(positive</span>, integer)</span>
|
||
<span id="cb24-2"><a href="#cb24-2" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(x<span class="op">^</span>m <span class="op">/</span> <span class="fu">exp</span>(x), x <span class="op">=></span> oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="27">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
0
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>That is <span class="math inline">\(e^x\)</span> grows faster than any power of <span class="math inline">\(x\)</span>.</p>
|
||
<p>Now, if <span class="math inline">\(a, b > 1\)</span> then <span class="math inline">\(f(x) = a^x\)</span> and <span class="math inline">\(g(x) = b^x\)</span> will be comparable. Take <span class="math inline">\(m\)</span> so that <span class="math inline">\(a^m > b\)</span> and <span class="math inline">\(n\)</span> so that <span class="math inline">\(b^n > x\)</span> as then, say,</p>
|
||
<p><span class="math display">\[
|
||
\frac{(a^x)^m}{b^x} = \frac{a^{xm}}{b^x} = \frac{(a^m)^x}{b^x} = (\frac{a^m}{b})^x,
|
||
\]</span></p>
|
||
<p>which will go to <span class="math inline">\(\infty\)</span> as <span class="math inline">\(x \rightarrow \infty\)</span> as <span class="math inline">\(a^m/b > 1\)</span>.</p>
|
||
<p>Finally, consider <span class="math inline">\(f(x) = \exp(x^2)\)</span> and <span class="math inline">\(g(x) = \exp(x)^2\)</span>. Are these comparable? No, as no <span class="math inline">\(n\)</span> is large enough:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="27">
|
||
<div class="sourceCode cell-code" id="cb25"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@syms</span> x n<span class="op">::</span><span class="dt">(positive</span>, integer)</span>
|
||
<span id="cb25-2"><a href="#cb25-2" aria-hidden="true" tabindex="-1"></a>fx, gx <span class="op">=</span> <span class="fu">exp</span>(x<span class="op">^</span><span class="fl">2</span>), <span class="fu">exp</span>(x)<span class="op">^</span><span class="fl">2</span></span>
|
||
<span id="cb25-3"><a href="#cb25-3" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(gx<span class="op">^</span>n <span class="op">/</span> fx, x <span class="op">=></span> oo)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="28">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
0
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>A negative test for compatability is the following: if</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow \infty} \frac{\log(|f(x)|)}{\log(|g(x)|)} = 0,
|
||
\]</span></p>
|
||
<p>Then <span class="math inline">\(f\)</span> and <span class="math inline">\(g\)</span> are not compatible (and <span class="math inline">\(g\)</span> grows faster than <span class="math inline">\(f\)</span>). Applying this to the last two values of <span class="math inline">\(f\)</span> and <span class="math inline">\(g\)</span>, we have</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow \infty}\frac{\log(\exp(x)^2)}{\log(\exp(x^2))} =
|
||
\lim_{x \rightarrow \infty}\frac{2\log(\exp(x))}{x^2} =
|
||
\lim_{x \rightarrow \infty}\frac{2x}{x^2} = 0,
|
||
\]</span></p>
|
||
<p>so <span class="math inline">\(f(x) = \exp(x^2)\)</span> grows faster than <span class="math inline">\(g(x) = \exp(x)^2\)</span>.</p>
|
||
<hr>
|
||
<p>Keeping in mind that logarithms grow slower than powers which grow slower than exponentials (<span class="math inline">\(a > 1\)</span>) can help understand growth at <span class="math inline">\(\infty\)</span> as a comparison of leading terms does for rational functions.</p>
|
||
<p>We can immediately put this to use to compute <span class="math inline">\(\lim_{x\rightarrow 0+} x^x\)</span>. We first express this problem using <span class="math inline">\(x^x = (\exp(\ln(x)))^x = e^{x\ln(x)}\)</span>. Rewriting <span class="math inline">\(u(x) = \exp(\ln(u(x)))\)</span>, which only uses the basic inverse relation between the two functions, can often be a useful step.</p>
|
||
<p>As <span class="math inline">\(f(x) = e^x\)</span> is a suitably nice function (continuous) so that the limit of a composition can be computed through the limit of the inside function, <span class="math inline">\(x\ln(x)\)</span>, it is enough to see what <span class="math inline">\(\lim_{x\rightarrow 0+} x\ln(x)\)</span> is. We <em>re-express</em> this as a limit at <span class="math inline">\(\infty\)</span></p>
|
||
<p><span class="math display">\[
|
||
\lim_{x\rightarrow 0+} x\ln(x) = \lim_{x \rightarrow \infty} (1/x)\ln(1/x) =
|
||
\lim_{x \rightarrow \infty} \frac{-\ln(x)}{x} = 0
|
||
\]</span></p>
|
||
<p>The last equality follows, as the function <span class="math inline">\(x\)</span> dominates the function <span class="math inline">\(\ln(x)\)</span>. So by the limit rule involving compositions we have: <span class="math inline">\(\lim_{x\rightarrow 0+} x^x = e^0 = 1\)</span>.</p>
|
||
</section>
|
||
<section id="questions" class="level2" data-number="19.7">
|
||
<h2 data-number="19.7" class="anchored" data-anchor-id="questions"><span class="header-section-number">19.7</span> Questions</h2>
|
||
<section id="question" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question">Question</h6>
|
||
<p>Select the graph for which the limit at <span class="math inline">\(a\)</span> is infinite.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="28">
|
||
<div class="cell-output cell-output-display" data-execution_count="29">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="4339109859160602522" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_4339109859160602522">
|
||
<div style="padding-top: 5px">
|
||
<div>
|
||
<img id="hotspot_4339109859160602522" src="data:image/gif;base64,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">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="4339109859160602522_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("hotspot_4339109859160602522").addEventListener("click", function(e) {
|
||
var u = e.offsetX;
|
||
var v = e.offsetY;
|
||
var w = this.offsetWidth;
|
||
var h = this.offsetHeight
|
||
|
||
var x = u/w;
|
||
var y = (h-v)/h
|
||
|
||
var correct = (x >= 0.5 && x <= 1.0 && y >= 0.5 && y <= 1.0);
|
||
var msgBox = document.getElementById('4339109859160602522_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_4339109859160602522")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_4339109859160602522")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
|
||
})
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-1" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-1">Question</h6>
|
||
<p>Select the graph for which the limit at <span class="math inline">\(\infty\)</span> appears to be defined.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="29">
|
||
<div class="cell-output cell-output-display" data-execution_count="30">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="3354826546175224096" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_3354826546175224096">
|
||
<div style="padding-top: 5px">
|
||
<div>
|
||
<img id="hotspot_3354826546175224096" 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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">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="3354826546175224096_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("hotspot_3354826546175224096").addEventListener("click", function(e) {
|
||
var u = e.offsetX;
|
||
var v = e.offsetY;
|
||
var w = this.offsetWidth;
|
||
var h = this.offsetHeight
|
||
|
||
var x = u/w;
|
||
var y = (h-v)/h
|
||
|
||
var correct = (x >= 0.5 && x <= 1.0 && y >= 0.5 && y <= 1.0);
|
||
var msgBox = document.getElementById('3354826546175224096_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_3354826546175224096")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_3354826546175224096")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
|
||
})
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-2" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-2">Question</h6>
|
||
<p>Consider the function <span class="math inline">\(f(x) = \sqrt{x}\)</span>.</p>
|
||
<p>Does this function have a limit at every <span class="math inline">\(c > 0\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="30">
|
||
<div class="cell-output cell-output-display" data-execution_count="31">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="18230310430961047163" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_18230310430961047163">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_18230310430961047163_1">
|
||
<input class="form-check-input" type="radio" name="radio_18230310430961047163" id="radio_18230310430961047163_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
Yes
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_18230310430961047163_2">
|
||
<input class="form-check-input" type="radio" name="radio_18230310430961047163" id="radio_18230310430961047163_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
No
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="18230310430961047163_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_18230310430961047163"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 1;
|
||
var msgBox = document.getElementById('18230310430961047163_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_18230310430961047163")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_18230310430961047163")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>Does this function have a limit at <span class="math inline">\(c=0\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="31">
|
||
<div class="cell-output cell-output-display" data-execution_count="32">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="13744406072012037066" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_13744406072012037066">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_13744406072012037066_1">
|
||
<input class="form-check-input" type="radio" name="radio_13744406072012037066" id="radio_13744406072012037066_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
Yes
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_13744406072012037066_2">
|
||
<input class="form-check-input" type="radio" name="radio_13744406072012037066" id="radio_13744406072012037066_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
No
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="13744406072012037066_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_13744406072012037066"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 2;
|
||
var msgBox = document.getElementById('13744406072012037066_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_13744406072012037066")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_13744406072012037066")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>Does this function have a right limit at <span class="math inline">\(c=0\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="32">
|
||
<div class="cell-output cell-output-display" data-execution_count="33">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="17099423920988182198" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_17099423920988182198">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17099423920988182198_1">
|
||
<input class="form-check-input" type="radio" name="radio_17099423920988182198" id="radio_17099423920988182198_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
Yes
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17099423920988182198_2">
|
||
<input class="form-check-input" type="radio" name="radio_17099423920988182198" id="radio_17099423920988182198_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
No
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="17099423920988182198_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_17099423920988182198"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 1;
|
||
var msgBox = document.getElementById('17099423920988182198_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_17099423920988182198")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_17099423920988182198")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>Does this function have a left limit at <span class="math inline">\(c=0\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="33">
|
||
<div class="cell-output cell-output-display" data-execution_count="34">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="11611055936047320892" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_11611055936047320892">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_11611055936047320892_1">
|
||
<input class="form-check-input" type="radio" name="radio_11611055936047320892" id="radio_11611055936047320892_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
Yes
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_11611055936047320892_2">
|
||
<input class="form-check-input" type="radio" name="radio_11611055936047320892" id="radio_11611055936047320892_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
No
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="11611055936047320892_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_11611055936047320892"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 2;
|
||
var msgBox = document.getElementById('11611055936047320892_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_11611055936047320892")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_11611055936047320892")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-3" class="level5">
|
||
<h5 class="anchored" data-anchor-id="question-3">Question</h5>
|
||
<p>Find <span class="math inline">\(\lim_{x \rightarrow \infty} \sin(x)/x\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="34">
|
||
<div class="cell-output cell-output-display" data-execution_count="35">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="6660282684782785045" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_6660282684782785045">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="6660282684782785045" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="6660282684782785045_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("6660282684782785045").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 0) <= 0);
|
||
var msgBox = document.getElementById('6660282684782785045_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_6660282684782785045")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_6660282684782785045")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<section id="question-4" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-4">Question</h6>
|
||
<p>Find <span class="math inline">\(\lim_{x \rightarrow \infty} (1-\cos(x))/x^2\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="35">
|
||
<div class="cell-output cell-output-display" data-execution_count="36">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="15590804551368241699" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_15590804551368241699">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="15590804551368241699" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="15590804551368241699_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("15590804551368241699").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 0) <= 0);
|
||
var msgBox = document.getElementById('15590804551368241699_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_15590804551368241699")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_15590804551368241699")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-5" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-5">Question</h6>
|
||
<p>Find <span class="math inline">\(\lim_{x \rightarrow \infty} \log(x)/x\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="36">
|
||
<div class="cell-output cell-output-display" data-execution_count="37">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="2363589496983526514" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_2363589496983526514">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="2363589496983526514" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="2363589496983526514_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("2363589496983526514").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 0) <= 0);
|
||
var msgBox = document.getElementById('2363589496983526514_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_2363589496983526514")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_2363589496983526514")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-6" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-6">Question</h6>
|
||
<p>Find <span class="math inline">\(\lim_{x \rightarrow 2+} (x-3)/(x-2)\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="37">
|
||
<div class="cell-output cell-output-display" data-execution_count="38">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="6849841880386657038" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_6849841880386657038">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6849841880386657038_1">
|
||
<input class="form-check-input" type="radio" name="radio_6849841880386657038" id="radio_6849841880386657038_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=-1\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6849841880386657038_2">
|
||
<input class="form-check-input" type="radio" name="radio_6849841880386657038" id="radio_6849841880386657038_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=\infty\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6849841880386657038_3">
|
||
<input class="form-check-input" type="radio" name="radio_6849841880386657038" id="radio_6849841880386657038_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=-\infty\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6849841880386657038_4">
|
||
<input class="form-check-input" type="radio" name="radio_6849841880386657038" id="radio_6849841880386657038_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="6849841880386657038_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_6849841880386657038"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 3;
|
||
var msgBox = document.getElementById('6849841880386657038_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_6849841880386657038")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_6849841880386657038")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>Find <span class="math inline">\(\lim_{x \rightarrow -3-} (x-3)/(x+3)\)</span>.</p>
|
||
<div class="cell" data-hold="true" data-execution_count="38">
|
||
<div class="cell-output cell-output-display" data-execution_count="39">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="5544641272903654936" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_5544641272903654936">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_5544641272903654936_1">
|
||
<input class="form-check-input" type="radio" name="radio_5544641272903654936" id="radio_5544641272903654936_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=-\infty\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_5544641272903654936_2">
|
||
<input class="form-check-input" type="radio" name="radio_5544641272903654936" id="radio_5544641272903654936_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=\infty\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_5544641272903654936_3">
|
||
<input class="form-check-input" type="radio" name="radio_5544641272903654936" id="radio_5544641272903654936_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_5544641272903654936_4">
|
||
<input class="form-check-input" type="radio" name="radio_5544641272903654936" id="radio_5544641272903654936_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(L=-1\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="5544641272903654936_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_5544641272903654936"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 2;
|
||
var msgBox = document.getElementById('5544641272903654936_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_5544641272903654936")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_5544641272903654936")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-7" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-7">Question</h6>
|
||
<p>Let <span class="math inline">\(f(x) = \exp(x + \exp(-x^2))\)</span> and <span class="math inline">\(g(x) = \exp(-x^2)\)</span>. Compute:</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow \infty} \frac{\ln(f(x))}{\ln(g(x))}.
|
||
\]</span></p>
|
||
<div class="cell" data-hold="true" data-execution_count="39">
|
||
<div class="cell-output cell-output-display" data-execution_count="40">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="5798720065293531793" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_5798720065293531793">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="5798720065293531793" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="5798720065293531793_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("5798720065293531793").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 0) <= 0);
|
||
var msgBox = document.getElementById('5798720065293531793_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_5798720065293531793")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_5798720065293531793")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-8" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-8">Question</h6>
|
||
<p>Consider the following expression:</p>
|
||
<div class="cell" data-execution_count="40">
|
||
<div class="sourceCode cell-code" id="cb26"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a>ex <span class="op">=</span> <span class="fl">1</span><span class="op">/</span>(<span class="fu">exp</span>(<span class="op">-</span>x <span class="op">+</span> <span class="fu">exp</span>(<span class="op">-</span>x))) <span class="op">-</span> <span class="fu">exp</span>(x)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="41">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
- e^{x} + e^{x - e^{- x}}
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>We want to find the limit, <span class="math inline">\(L\)</span>, as <span class="math inline">\(x \rightarrow \infty\)</span>, which we assume exists below.</p>
|
||
<p>We first rewrite <code>ex</code> using <code>w</code> as <code>exp(-x)</code>:</p>
|
||
<div class="cell" data-execution_count="41">
|
||
<div class="sourceCode cell-code" id="cb27"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@syms</span> w</span>
|
||
<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a>ex1 <span class="op">=</span> <span class="fu">ex</span>(<span class="fu">exp</span>(<span class="op">-</span>x) <span class="op">=></span> w)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="42">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
- \frac{1}{w} + \frac{e^{- w}}{w}
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>As <span class="math inline">\(x \rightarrow \infty\)</span>, <span class="math inline">\(w \rightarrow 0+\)</span>, so the limit at <span class="math inline">\(0+\)</span> of <code>ex1</code> is of interest.</p>
|
||
<p>Use this fact, to find <span class="math inline">\(L\)</span></p>
|
||
<div class="cell" data-execution_count="42">
|
||
<div class="sourceCode cell-code" id="cb28"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(ex1 <span class="op">-</span> (w<span class="op">/</span><span class="fl">2</span> <span class="op">-</span> <span class="fl">1</span>), w<span class="op">=></span><span class="fl">0</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="43">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
0
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p><span class="math inline">\(L\)</span> is:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="43">
|
||
<div class="cell-output cell-output-display" data-execution_count="44">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="2821871905048223828" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_2821871905048223828">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="2821871905048223828" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="2821871905048223828_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("2821871905048223828").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - -1) <= 0);
|
||
var msgBox = document.getElementById('2821871905048223828_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_2821871905048223828")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_2821871905048223828")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>(This awkward approach is generalizable: replacing the limit as <span class="math inline">\(w \rightarrow 0\)</span> of an expression with the limit of a polynomial in <code>w</code> that is easy to identify.)</p>
|
||
</section>
|
||
<section id="question-9" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-9">Question</h6>
|
||
<p>As mentioned, for limits that depend on specific values of parameters <code>SymPy</code> may have issues. As an example, <code>SymPy</code> has an issue with this limit, whose answer depends on the value of <span class="math inline">\(k\)</span>”</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow 0+} \frac{\sin(\sin(x^2))}{x^k}.
|
||
\]</span></p>
|
||
<p>Note, regardless of <span class="math inline">\(k\)</span> you find:</p>
|
||
<div class="cell" data-hold="true" data-execution_count="44">
|
||
<div class="sourceCode cell-code" id="cb29"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@syms</span> x<span class="op">::</span><span class="dt">real </span>k<span class="op">::</span><span class="dt">integer</span></span>
|
||
<span id="cb29-2"><a href="#cb29-2" aria-hidden="true" tabindex="-1"></a><span class="fu">limit</span>(<span class="fu">sin</span>(<span class="fu">sin</span>(x<span class="op">^</span><span class="fl">2</span>))<span class="op">/</span>x<span class="op">^</span>k, x<span class="op">=></span><span class="fl">0</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="45">
|
||
<span class="math-left-align" style="padding-left: 4px; width:0; float:left;">
|
||
\[
|
||
0
|
||
\]
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<p>For which value(s) of <span class="math inline">\(k\)</span> in <span class="math inline">\(1,2,3\)</span> is this actually the correct answer? (Do the above <span class="math inline">\(3\)</span> times using a specific value of <code>k</code>, not a numeric one.</p>
|
||
<div class="cell" data-execution_count="45">
|
||
<div class="sourceCode cell-code" id="cb30"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a>choices <span class="op">=</span> [<span class="st">"``1``"</span>, <span class="st">"``2``"</span>, <span class="st">"``3``"</span>, <span class="st">"``1,2``"</span>, <span class="st">"``1,3``"</span>, <span class="st">"``2,3``"</span>, <span class="st">"``1,2,3``"</span>]</span>
|
||
<span id="cb30-2"><a href="#cb30-2" aria-hidden="true" tabindex="-1"></a><span class="fu">radioq</span>(choices, <span class="fl">1</span>, keep_order<span class="op">=</span><span class="cn">true</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
||
<div class="cell-output cell-output-display" data-execution_count="46">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="17236578374543351586" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_17236578374543351586">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17236578374543351586_1">
|
||
<input class="form-check-input" type="radio" name="radio_17236578374543351586" id="radio_17236578374543351586_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(1\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17236578374543351586_2">
|
||
<input class="form-check-input" type="radio" name="radio_17236578374543351586" id="radio_17236578374543351586_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(2\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17236578374543351586_3">
|
||
<input class="form-check-input" type="radio" name="radio_17236578374543351586" id="radio_17236578374543351586_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(3\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17236578374543351586_4">
|
||
<input class="form-check-input" type="radio" name="radio_17236578374543351586" id="radio_17236578374543351586_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(1,2\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17236578374543351586_5">
|
||
<input class="form-check-input" type="radio" name="radio_17236578374543351586" id="radio_17236578374543351586_5" value="5">
|
||
|
||
<span class="label-body px-1">
|
||
\(1,3\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17236578374543351586_6">
|
||
<input class="form-check-input" type="radio" name="radio_17236578374543351586" id="radio_17236578374543351586_6" value="6">
|
||
|
||
<span class="label-body px-1">
|
||
\(2,3\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17236578374543351586_7">
|
||
<input class="form-check-input" type="radio" name="radio_17236578374543351586" id="radio_17236578374543351586_7" value="7">
|
||
|
||
<span class="label-body px-1">
|
||
\(1,2,3\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="17236578374543351586_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_17236578374543351586"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 1;
|
||
var msgBox = document.getElementById('17236578374543351586_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_17236578374543351586")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_17236578374543351586")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-no-limit" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-no-limit">Question: No limit</h6>
|
||
<p>Some functions do not have a limit. Make a graph of <span class="math inline">\(\sin(1/x)\)</span> from <span class="math inline">\(0.0001\)</span> to <span class="math inline">\(1\)</span> and look at the output. Why does a limit not exist?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="46">
|
||
<div class="cell-output cell-output-display" data-execution_count="47">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="11777700750185854753" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_11777700750185854753">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_11777700750185854753_1">
|
||
<input class="form-check-input" type="radio" name="radio_11777700750185854753" id="radio_11777700750185854753_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
The function oscillates too much and its y values do not get close to any one value
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_11777700750185854753_2">
|
||
<input class="form-check-input" type="radio" name="radio_11777700750185854753" id="radio_11777700750185854753_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
Any function that oscillates does not have a limit.
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_11777700750185854753_3">
|
||
<input class="form-check-input" type="radio" name="radio_11777700750185854753" id="radio_11777700750185854753_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
Err, the limit does exists and is 1
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_11777700750185854753_4">
|
||
<input class="form-check-input" type="radio" name="radio_11777700750185854753" id="radio_11777700750185854753_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
The limit does exist - it is any number from -1 to 1
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="11777700750185854753_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_11777700750185854753"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 1;
|
||
var msgBox = document.getElementById('11777700750185854753_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_11777700750185854753")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_11777700750185854753")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-00-is-not-always-1" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-00-is-not-always-1">Question <span class="math inline">\(0^0\)</span> is not <em>always</em> <span class="math inline">\(1\)</span></h6>
|
||
<p>Is the form <span class="math inline">\(0^0\)</span> really indeterminate? As mentioned <code>0^0</code> evaluates to <code>1</code>.</p>
|
||
<p>Consider this limit:</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow 0+} x^{k\cdot x} = L.
|
||
\]</span></p>
|
||
<p>Consider different values of <span class="math inline">\(k\)</span> to see if this limit depends on <span class="math inline">\(k\)</span> or not. What is <span class="math inline">\(L\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="47">
|
||
<div class="cell-output cell-output-display" data-execution_count="48">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="6290829395687818635" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_6290829395687818635">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6290829395687818635_1">
|
||
<input class="form-check-input" type="radio" name="radio_6290829395687818635" id="radio_6290829395687818635_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(\log(k)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6290829395687818635_2">
|
||
<input class="form-check-input" type="radio" name="radio_6290829395687818635" id="radio_6290829395687818635_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
The limit does not exist
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6290829395687818635_3">
|
||
<input class="form-check-input" type="radio" name="radio_6290829395687818635" id="radio_6290829395687818635_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(k\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_6290829395687818635_4">
|
||
<input class="form-check-input" type="radio" name="radio_6290829395687818635" id="radio_6290829395687818635_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(1\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="6290829395687818635_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_6290829395687818635"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 4;
|
||
var msgBox = document.getElementById('6290829395687818635_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_6290829395687818635")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_6290829395687818635")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>Now, consider this limit:</p>
|
||
<p><span class="math display">\[
|
||
\lim_{x \rightarrow 0+} x^{1/\log_k(x)} = L.
|
||
\]</span></p>
|
||
<p>In <code>julia</code>, <span class="math inline">\(\log_k(x)\)</span> is found with <code>log(k,x)</code>. The default, <code>log(x)</code> takes <span class="math inline">\(k=e\)</span> so gives the natural log. So, we would define <code>h</code>, for a given <code>k</code>, with</p>
|
||
<div class="cell" data-execution_count="48">
|
||
<div class="cell-output cell-output-display" data-execution_count="49">
|
||
<pre><code>h (generic function with 1 method)</code></pre>
|
||
</div>
|
||
</div>
|
||
<p>Consider different values of <span class="math inline">\(k\)</span> to see if the limit depends on <span class="math inline">\(k\)</span> or not. What is <span class="math inline">\(L\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="49">
|
||
<div class="cell-output cell-output-display" data-execution_count="50">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="16305375177278868234" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_16305375177278868234">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_16305375177278868234_1">
|
||
<input class="form-check-input" type="radio" name="radio_16305375177278868234" id="radio_16305375177278868234_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
The limit does not exist
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_16305375177278868234_2">
|
||
<input class="form-check-input" type="radio" name="radio_16305375177278868234" id="radio_16305375177278868234_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(k\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_16305375177278868234_3">
|
||
<input class="form-check-input" type="radio" name="radio_16305375177278868234" id="radio_16305375177278868234_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(\log(k)\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_16305375177278868234_4">
|
||
<input class="form-check-input" type="radio" name="radio_16305375177278868234" id="radio_16305375177278868234_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
\(1\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="16305375177278868234_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_16305375177278868234"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 2;
|
||
var msgBox = document.getElementById('16305375177278868234_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_16305375177278868234")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_16305375177278868234")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-10" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-10">Question</h6>
|
||
<p>Limits <em>of</em> infinity <em>at</em> 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:</p>
|
||
<p><span class="math display">\[
|
||
x^4/x^3,\quad x^{100+1}/x^{100}, \quad x/\log(x), \quad 3^x / 2^x, \quad e^x/x^{100}
|
||
\]</span></p>
|
||
<div class="cell" data-hold="true" data-execution_count="50">
|
||
<div class="cell-output cell-output-display" data-execution_count="51">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="2915014884159407678" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_2915014884159407678">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_2915014884159407678_1">
|
||
<input class="form-check-input" type="radio" name="radio_2915014884159407678" id="radio_2915014884159407678_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
the first one
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_2915014884159407678_2">
|
||
<input class="form-check-input" type="radio" name="radio_2915014884159407678" id="radio_2915014884159407678_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
the first and second ones
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_2915014884159407678_3">
|
||
<input class="form-check-input" type="radio" name="radio_2915014884159407678" id="radio_2915014884159407678_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
the first, second and third ones
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_2915014884159407678_4">
|
||
<input class="form-check-input" type="radio" name="radio_2915014884159407678" id="radio_2915014884159407678_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
the first, second, third, and fourth ones
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_2915014884159407678_5">
|
||
<input class="form-check-input" type="radio" name="radio_2915014884159407678" id="radio_2915014884159407678_5" value="5">
|
||
|
||
<span class="label-body px-1">
|
||
all of them
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="2915014884159407678_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_2915014884159407678"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 5;
|
||
var msgBox = document.getElementById('2915014884159407678_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_2915014884159407678")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_2915014884159407678")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-11" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-11">Question</h6>
|
||
<p>A slant asymptote is a line <span class="math inline">\(mx + b\)</span> for which the graph of <span class="math inline">\(f(x)\)</span> gets close to as <span class="math inline">\(x\)</span> gets large. We can’t express this directly as a limit, as “<span class="math inline">\(L\)</span>” is not a number. How might we?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="51">
|
||
<div class="cell-output cell-output-display" data-execution_count="52">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="17001598846896842945" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_17001598846896842945">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17001598846896842945_1">
|
||
<input class="form-check-input" type="radio" name="radio_17001598846896842945" id="radio_17001598846896842945_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
We can talk about the limit at \(\infty\) of \(f(x) - (mx + b)\) being \(0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17001598846896842945_2">
|
||
<input class="form-check-input" type="radio" name="radio_17001598846896842945" id="radio_17001598846896842945_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
We can talk about the limit at \(\infty\) of \(f(x) - mx\) being \(b\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17001598846896842945_3">
|
||
<input class="form-check-input" type="radio" name="radio_17001598846896842945" id="radio_17001598846896842945_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
We can say \(f(x) - (mx+b)\) has a horizontal asymptote \(y=0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17001598846896842945_4">
|
||
<input class="form-check-input" type="radio" name="radio_17001598846896842945" id="radio_17001598846896842945_4" value="4">
|
||
|
||
<span class="label-body px-1">
|
||
We can say \(f(x) - mx\) has a horizontal asymptote \(y=b\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_17001598846896842945_5">
|
||
<input class="form-check-input" type="radio" name="radio_17001598846896842945" id="radio_17001598846896842945_5" value="5">
|
||
|
||
<span class="label-body px-1">
|
||
Any of the above
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="17001598846896842945_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_17001598846896842945"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 5;
|
||
var msgBox = document.getElementById('17001598846896842945_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_17001598846896842945")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_17001598846896842945")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section id="question-12" class="level6">
|
||
<h6 class="anchored" data-anchor-id="question-12">Question</h6>
|
||
<p>Suppose a sequence of points <span class="math inline">\(x_n\)</span> converges to <span class="math inline">\(a\)</span> in the limiting sense. For a function <span class="math inline">\(f(x)\)</span>, the sequence of points <span class="math inline">\(f(x_n)\)</span> may or may not converge. One alternative definition of a <a href="https://en.wikipedia.org/wiki/Limit_of_a_function#In_terms_of_sequences">limit</a> due to Heine is that <span class="math inline">\(\lim_{x \rightarrow a}f(x) = L\)</span> if <em>and</em> only if <strong>all</strong> sequences <span class="math inline">\(x_n \rightarrow a\)</span> have <span class="math inline">\(f(x_n) \rightarrow L\)</span>.</p>
|
||
<p>Consider the function <span class="math inline">\(f(x) = \sin(1/x)\)</span>, <span class="math inline">\(a=0\)</span>, and the two sequences implicitly defined by <span class="math inline">\(1/x_n = \pi/2 + n \cdot (2\pi)\)</span> and <span class="math inline">\(y_n = 3\pi/2 + n \cdot(2\pi)\)</span>, <span class="math inline">\(n = 0, 1, 2, \dots\)</span>.</p>
|
||
<p>What is <span class="math inline">\(\lim_{x_n \rightarrow 0} f(x_n)\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="52">
|
||
<div class="cell-output cell-output-display" data-execution_count="53">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="14184905739397000110" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_14184905739397000110">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="14184905739397000110" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="14184905739397000110_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("14184905739397000110").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - 1) <= 0);
|
||
var msgBox = document.getElementById('14184905739397000110_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_14184905739397000110")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_14184905739397000110")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>What is <span class="math inline">\(\lim_{y_n \rightarrow 0} f(y_n)\)</span>?</p>
|
||
<div class="cell" data-hold="true" data-execution_count="53">
|
||
<div class="cell-output cell-output-display" data-execution_count="54">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="11625566799242010756" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_11625566799242010756">
|
||
<div style="padding-top: 5px">
|
||
<br>
|
||
<div class="input-group">
|
||
<input id="11625566799242010756" type="number" class="form-control" placeholder="Numeric answer">
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="11625566799242010756_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.getElementById("11625566799242010756").addEventListener("change", function() {
|
||
var correct = (Math.abs(this.value - -1) <= 0);
|
||
var msgBox = document.getElementById('11625566799242010756_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_11625566799242010756")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_11625566799242010756")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<p>This shows that</p>
|
||
<div class="cell" data-hold="true" data-execution_count="54">
|
||
<div class="cell-output cell-output-display" data-execution_count="55">
|
||
<form class="mx-2 my-3 mw-100" name="WeaveQuestion" data-id="4486895135235951358" data-controltype="">
|
||
<div class="form-group ">
|
||
<div class="controls">
|
||
<div class="form" id="controls_4486895135235951358">
|
||
<div style="padding-top: 5px">
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_4486895135235951358_1">
|
||
<input class="form-check-input" type="radio" name="radio_4486895135235951358" id="radio_4486895135235951358_1" value="1">
|
||
|
||
<span class="label-body px-1">
|
||
\(f(x)\) has a limit of \(-1\) as \(x \rightarrow 0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_4486895135235951358_2">
|
||
<input class="form-check-input" type="radio" name="radio_4486895135235951358" id="radio_4486895135235951358_2" value="2">
|
||
|
||
<span class="label-body px-1">
|
||
\(f(x)\) has a limit of \(1\) as \(x \rightarrow 0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
<div class="form-check">
|
||
<label class="form-check-label" for="radio_4486895135235951358_3">
|
||
<input class="form-check-input" type="radio" name="radio_4486895135235951358" id="radio_4486895135235951358_3" value="3">
|
||
|
||
<span class="label-body px-1">
|
||
\(f(x)\) does not have a limit as \(x \rightarrow 0\)
|
||
</span>
|
||
</label>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div id="4486895135235951358_message" style="padding-bottom: 15px"></div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
|
||
<script text="text/javascript">
|
||
document.querySelectorAll('input[name="radio_4486895135235951358"]').forEach(function(rb) {
|
||
rb.addEventListener("change", function() {
|
||
var correct = rb.value == 3;
|
||
var msgBox = document.getElementById('4486895135235951358_message');
|
||
if(correct) {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition note alert alert-success'><span> 👍 Correct </span></div>";
|
||
var explanation = document.getElementById("explanation_4486895135235951358")
|
||
if (explanation != null) {
|
||
explanation.style.display = "none";
|
||
}
|
||
} else {
|
||
msgBox.innerHTML = "<div class='pluto-output admonition alert alert-danger'><span>👎 Incorrect </span></div>";
|
||
var explanation = document.getElementById("explanation_4486895135235951358")
|
||
if (explanation != null) {
|
||
explanation.style.display = "block";
|
||
}
|
||
}
|
||
|
||
})});
|
||
|
||
</script>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</section>
|
||
</section>
|
||
</section>
|
||
|
||
</main> <!-- /main -->
|
||
<script id="quarto-html-after-body" type="application/javascript">
|
||
window.document.addEventListener("DOMContentLoaded", function (event) {
|
||
const toggleBodyColorMode = (bsSheetEl) => {
|
||
const mode = bsSheetEl.getAttribute("data-mode");
|
||
const bodyEl = window.document.querySelector("body");
|
||
if (mode === "dark") {
|
||
bodyEl.classList.add("quarto-dark");
|
||
bodyEl.classList.remove("quarto-light");
|
||
} else {
|
||
bodyEl.classList.add("quarto-light");
|
||
bodyEl.classList.remove("quarto-dark");
|
||
}
|
||
}
|
||
const toggleBodyColorPrimary = () => {
|
||
const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
|
||
if (bsSheetEl) {
|
||
toggleBodyColorMode(bsSheetEl);
|
||
}
|
||
}
|
||
toggleBodyColorPrimary();
|
||
const icon = "";
|
||
const anchorJS = new window.AnchorJS();
|
||
anchorJS.options = {
|
||
placement: 'right',
|
||
icon: icon
|
||
};
|
||
anchorJS.add('.anchored');
|
||
const clipboard = new window.ClipboardJS('.code-copy-button', {
|
||
target: function(trigger) {
|
||
return trigger.previousElementSibling;
|
||
}
|
||
});
|
||
clipboard.on('success', function(e) {
|
||
// button target
|
||
const button = e.trigger;
|
||
// don't keep focus
|
||
button.blur();
|
||
// flash "checked"
|
||
button.classList.add('code-copy-button-checked');
|
||
var currentTitle = button.getAttribute("title");
|
||
button.setAttribute("title", "Copied!");
|
||
setTimeout(function() {
|
||
button.setAttribute("title", currentTitle);
|
||
button.classList.remove('code-copy-button-checked');
|
||
}, 1000);
|
||
// clear code selection
|
||
e.clearSelection();
|
||
});
|
||
function tippyHover(el, contentFn) {
|
||
const config = {
|
||
allowHTML: true,
|
||
content: contentFn,
|
||
maxWidth: 500,
|
||
delay: 100,
|
||
arrow: false,
|
||
appendTo: function(el) {
|
||
return el.parentElement;
|
||
},
|
||
interactive: true,
|
||
interactiveBorder: 10,
|
||
theme: 'quarto',
|
||
placement: 'bottom-start'
|
||
};
|
||
window.tippy(el, config);
|
||
}
|
||
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
|
||
for (var i=0; i<noterefs.length; i++) {
|
||
const ref = noterefs[i];
|
||
tippyHover(ref, function() {
|
||
let href = ref.getAttribute('href');
|
||
try { href = new URL(href).hash; } catch {}
|
||
const id = href.replace(/^#\/?/, "");
|
||
const note = window.document.getElementById(id);
|
||
return note.innerHTML;
|
||
});
|
||
}
|
||
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
|
||
for (var i=0; i<bibliorefs.length; i++) {
|
||
const ref = bibliorefs[i];
|
||
const cites = ref.parentNode.getAttribute('data-cites').split(' ');
|
||
tippyHover(ref, function() {
|
||
var popup = window.document.createElement('div');
|
||
cites.forEach(function(cite) {
|
||
var citeDiv = window.document.createElement('div');
|
||
citeDiv.classList.add('hanging-indent');
|
||
citeDiv.classList.add('csl-entry');
|
||
var biblioDiv = window.document.getElementById('ref-' + cite);
|
||
if (biblioDiv) {
|
||
citeDiv.innerHTML = biblioDiv.innerHTML;
|
||
}
|
||
popup.appendChild(citeDiv);
|
||
});
|
||
return popup.innerHTML;
|
||
});
|
||
}
|
||
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
|
||
var filterRegex = new RegExp('/' + window.location.host + '/');
|
||
var isInternal = (href) => {
|
||
return filterRegex.test(href) || localhostRegex.test(href);
|
||
}
|
||
// Inspect non-navigation links and adorn them if external
|
||
var links = window.document.querySelectorAll('a:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external)');
|
||
for (var i=0; i<links.length; i++) {
|
||
const link = links[i];
|
||
if (!isInternal(link.href)) {
|
||
// target, if specified
|
||
link.setAttribute("target", "_blank");
|
||
}
|
||
}
|
||
});
|
||
</script>
|
||
<nav class="page-navigation">
|
||
<div class="nav-page nav-page-previous">
|
||
<a href="../limits/limits.html" class="pagination-link">
|
||
<i class="bi bi-arrow-left-short"></i> <span class="nav-page-text"><span class="chapter-number">18</span> <span class="chapter-title">Limits</span></span>
|
||
</a>
|
||
</div>
|
||
<div class="nav-page nav-page-next">
|
||
<a href="../limits/continuity.html" class="pagination-link">
|
||
<span class="nav-page-text"><span class="chapter-number">20</span> <span class="chapter-title">Continuity</span></span> <i class="bi bi-arrow-right-short"></i>
|
||
</a>
|
||
</div>
|
||
</nav>
|
||
</div> <!-- /content -->
|
||
<footer class="footer">
|
||
<div class="nav-footer">
|
||
<div class="nav-footer-center">Copyright 2022, John Verzani</div>
|
||
</div>
|
||
</footer>
|
||
|
||
|
||
|
||
</body></html> |