Files
CalculusWithJuliaNotes.jl/quarto/_freeze/precalc/exp_log_functions/execute-results/html.json
2022-08-26 14:45:24 -04:00

15 lines
61 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"hash": "28336c0a7c9467c98ef2917b094fad2e",
"result": {
"markdown": "# Exponential and logarithmic functions\n\n\n\nThis section uses the following add-on packages:\n\n``` {.julia .cell-code}\nusing CalculusWithJulia\nusing Plots\n```\n\n\n\n\n---\n\n\nThe family of exponential functions is used to model growth and decay. The family of logarithmic functions is defined here as the inverse of the exponential functions, but have reach far outside of that.\n\n\n## Exponential functions\n\n\nThe family of exponential functions is defined by $f(x) = a^x, -\\infty< x < \\infty$ and $a > 0$. For $0 < a < 1$ these functions decay or decrease, for $a > 1$ the functions grow or increase, and if $a=1$ the function is constantly $1$.\n\n\nFor a given $a$, defining $a^n$ for positive integers is straightforward, as it means multiplying $n$ copies of $a.$ From this, for *integer powers*, the key properties of exponents: $a^x \\cdot a^y = a^{x+y}$, and $(a^x)^y = a^{x \\cdot y}$ are immediate consequences. For example with $x=3$ and $y=2$:\n\n\n\n$$\n\\begin{align*}\na^3 \\cdot a^2 &= (a\\cdot a \\cdot a) \\cdot (a \\cdot a) \\\\\n &= (a \\cdot a \\cdot a \\cdot a \\cdot a) \\\\\n\t\t\t &= a^5 = a^{3+2},\\\\\n(a^3)^2 &= (a\\cdot a \\cdot a) \\cdot (a\\cdot a \\cdot a)\\\\\n &= (a\\cdot a \\cdot a \\cdot a\\cdot a \\cdot a) \\\\\n\t\t&= a^6 = a^{3\\cdot 2}.\n\\end{align*}\n$$\n\n\nFor $a \\neq 0$, $a^0$ is defined to be $1$.\n\n\nFor positive, integer values of $n$, we have by definition that $a^{-n} = 1/a^n$.\n\n\nFor $n$ a positive integer, we can define $a^{1/n}$ to be the unique positive solution to $x^n=a$.\n\n\nUsing the key properties of exponents we can extend this to a definition of $a^x$ for any rational $x$.\n\n\nDefining $a^x$ for any real number requires some more sophisticated mathematics.\n\n\nOne method is to use a [theorem](http://tinyurl.com/zk86c8r) that says a *bounded* monotonically increasing sequence will converge. (This uses the [Completeness Axiom](https://en.wikipedia.org/wiki/Completeness_of_the_real_numbers).) Then for $a > 1$ we have if $q_n$ is a sequence of rational numbers increasing to $x$, then $a^{q_n}$ will be a bounded sequence of increasing numbers, so will converge to a number defined to be $a^x$. Something similar is possible for the $0 < a < 1$ case.\n\n\nThis definition can be done to ensure the rules of exponents hold for $a > 0$:\n\n\n\n$$\na^{x + y} = a^x \\cdot a^y, \\quad (a^x)^y = a^{x \\cdot y}.\n$$\n\n\nIn `Julia` these functions are implemented using `^`. A special value of the base, $e$, may be defined as well in terms of a limit. The exponential function $e^x$ is implemented in `exp`.\n\n::: {.cell hold='true' execution_count=4}\n``` {.julia .cell-code}\nplot(x -> (1/2)^x, -2, 2, label=\"1/2\")\nplot!(x -> 1^x, label=\"1\")\nplot!(x -> 2^x, label=\"2\")\nplot!(x -> exp(x), label=\"e\")\n```\n\n::: {.cell-output .cell-output-display execution_count=5}\n![](exp_log_functions_files/figure-html/cell-5-output-1.svg){}\n:::\n:::\n\n\nWe see examples of some general properties:\n\n\n * The domain is all real $x$ and the range is all *positive* $y$ (provided $a \\neq 1$).\n * For $0 < a < 1$ the functions are monotonically decreasing.\n * For $a > 1$ the functions are monotonically increasing.\n * If $1 < a < b$ and $x > 0$ we have $a^x < b^x$.\n\n\n##### Example\n\n\n[Continuously](http://tinyurl.com/gsy939y) compounded interest allows an initial amount $P_0$ to grow over time according to $P(t)=P_0e^{rt}$. Investigate the difference between investing $1,000$ dollars in an account which earns $2$% as opposed to an account which earns $8$% over $20$ years.\n\n\nThe $r$ in the formula is the interest rate, so $r=0.02$ or $r=0.08$. To compare the differences we have:\n\n::: {.cell execution_count=5}\n``` {.julia .cell-code}\nr2, r8 = 0.02, 0.08\nP0 = 1000\nt = 20\nP0 * exp(r2*t), P0 * exp(r8*t)\n```\n\n::: {.cell-output .cell-output-display execution_count=6}\n```\n(1491.8246976412704, 4953.0324243951145)\n```\n:::\n:::\n\n\nAs can be seen, there is quite a bit of difference.\n\n\nIn $1494$, [Pacioli](http://tinyurl.com/gsy939y) gave the \"Rule of $72$\", stating that to find the number of years it takes an investment to double when continuously compounded one should divide the interest rate into $72$.\n\n\nThis formula is not quite precise, but a rule of thumb, the number is closer to $69$, but $72$ has many divisors which makes this an easy to compute approximation. Let's see how accurate it is:\n\n::: {.cell execution_count=6}\n``` {.julia .cell-code}\nt2, t8 = 72/2, 72/8\nexp(r2*t2), exp(r8*t8)\n```\n\n::: {.cell-output .cell-output-display execution_count=7}\n```\n(2.0544332106438876, 2.0544332106438876)\n```\n:::\n:::\n\n\nSo fairly close - after $72/r$ years the amount is $2.05...$ times more than the initial amount.\n\n\n##### Example\n\n\n[Bacterial growth](https://en.wikipedia.org/wiki/Bacterial_growth) (according to Wikipedia) is the asexual reproduction, or cell division, of a bacterium into two daughter cells, in a process called binary fission. During the log phase \"the number of new bacteria appearing per unit time is proportional to the present population.\" The article states that \"Under controlled conditions, *cyanobacteria* can double their population four times a day...\"\n\n\nSuppose an initial population of $P_0$ bacteria, a formula for the number after $n$ *hours* is $P(n) = P_0 2^{n/6}$ where $6 = 24/4$.\n\n\nAfter two days what multiple of the initial amount is present if conditions are appropriate?\n\n::: {.cell hold='true' execution_count=7}\n``` {.julia .cell-code}\nn = 2 * 24\n2^(n/6)\n```\n\n::: {.cell-output .cell-output-display execution_count=8}\n```\n256.0\n```\n:::\n:::\n\n\nThat would be an enormous growth. Don't worry: \"Exponential growth cannot continue indefinitely, however, because the medium is soon depleted of nutrients and enriched with wastes.\"\n\n\n:::{.callout-note}\n## Note\nThe value of `2^n` and `2.0^n` is different in `Julia`. The former remains an integer and is subject to integer overflow for `n > 62`. As used above, `2^(n/6)` will not overflow for larger `n`, as when the exponent is a floating point value, the base is promoted to a floating point value.\n\n:::\n\n##### Example\n\n\nThe famous [Fibonacci](https://en.wikipedia.org/wiki/Fibonacci_number) numbers are $1,1,2,3,5,8,13,\\dots$, where $F_{n+1}=F_n+F_{n-1}$. These numbers increase. To see how fast, if we *guess* that the growth is eventually exponential and assume $F_n \\approx c \\cdot a^n$, then our equation is approximately $ca^{n+1} = ca^n + ca^{n-1}$. Factoring out common terms gives $ca^{n-1} \\cdot (a^2 - a - 1) = 0$. The term $a^{n-1}$ is always positive, so any solution would satisfy $a^2 - a -1 = 0$. The positve solution is $(1 + \\sqrt{5})/2 \\approx 1.618$\n\n\nThat is evidence that the $F_n \\approx c\\cdot 1.618^n$. (See [Relation to golden ratio](https://en.wikipedia.org/wiki/Fibonacci_number#Relation_to_the_golden_ratio) for a related, but more explicit exact formula.\n\n\n##### Example\n\n\nIn the previous example, the exponential family of functions is used to describe growth. Polynomial functions also increase. Could these be used instead? If so that would be great, as they are easier to reason about.\n\n\nThe key fact is that exponential growth is much greater than polynomial growth. That is for large enough $x$ and for any fixed $a>1$ and positive integer $n$ it is true that $a^x \\gg x^n$.\n\n\nLater we will see an easy way to certify this statement.\n\n\n##### The mathematical constant $e$\n\n\nEuler's number, $e$, may be defined several ways. One way is to define $e^x$ by the limit $(1+x/n)^n$. Then $e=e^1$. The value is an irrational number. This number turns up to be the natural base to use for many problems arising in Calculus. In `Julia` there are a few mathematical constants that get special treatment, so that when needed, extra precision is available. The value `e` is not immediately assigned to this value, rather `` is. This is typed `\\euler[tab]`. The label `e` is thought too important for other uses to reserve the name for representing a single number. However, users can issue the command `using Base.MathConstants` and `e` will be available to represent this number. When the `CalculusWithJulia` package is loaded, the value `e` is defined to be the floating point number returned by `exp(1)`. This loses the feature of arbitrary precision, but has other advantages.\n\n\nA [cute](https://www.mathsisfun.com/numbers/e-eulers-number.html) appearance of $e$ is in this problem: Let $a>0$. Cut $a$ into $n$ equal pieces and then multiply them. What $n$ will produce the largest value? Note that the formula is $(a/n)^n$ for a given $a$ and $n$.\n\n\nSuppose $a=5$ then for $n=1,2,3$ we get:\n\n::: {.cell hold='true' execution_count=8}\n``` {.julia .cell-code}\na = 5\n(a/1)^1, (a/2)^2, (a/3)^3\n```\n\n::: {.cell-output .cell-output-display execution_count=9}\n```\n(5.0, 6.25, 4.629629629629631)\n```\n:::\n:::\n\n\nWe'd need to compare more, but at this point $n=2$ is the winner when $a=5$.\n\n\nWith calculus, we will be able to see that the function $f(x) = (a/x)^x$ will be maximized at $a/e$, but for now we approach this in an exploratory manner. Suppose $a=5$, then we have:\n\n::: {.cell hold='true' execution_count=9}\n``` {.julia .cell-code}\na = 5\nn = 1:10\nf(n) = (a/n)^n\n@. [n f(n) (a/n - e)] # @. just allows broadcasting\n```\n\n::: {.cell-output .cell-output-display execution_count=10}\n```\n10×3 Matrix{Float64}:\n 1.0 5.0 2.28172\n 2.0 6.25 -0.218282\n 3.0 4.62963 -1.05162\n 4.0 2.44141 -1.46828\n 5.0 1.0 -1.71828\n 6.0 0.334898 -1.88495\n 7.0 0.0948645 -2.004\n 8.0 0.0232831 -2.09328\n 9.0 0.00504136 -2.16273\n 10.0 0.000976562 -2.21828\n```\n:::\n:::\n\n\nWe can see more clearly that $n=2$ is the largest value for $f$ and $a/2$ is the closest value to $e$. This would be the case for any $a>0$, pick $n$ so that $a/n$ is closest to $e$.\n\n\n##### Example: The limits to growth\n\n\nThe $1972$ book [The limits to growth](https://donellameadows.org/wp-content/userfiles/Limits-to-Growth-digital-scan-version.pdf) by Meadows et. al. discusses the implications of exponential growth. It begins stating their conclusion (emphasis added): \"If the present *growth* trends in world population, industrialization, pollution, food production, and resource depletion continue *unchanged*, the limits to growth on this planet will be reached sometime in the next *one hundred* years.\" They note it is possible to alter these growth trends. We are now half way into this time period.\n\n\nLet's consider one of their examples, the concentration of carbon dioxide in the atmosphere. In their Figure $15$ they show data from $1860$ onward of CO$_2$ concentration extrapolated out to the year $2000$. At [climate.gov](https://www.climate.gov/news-features/understanding-climate/climate-change-atmospheric-carbon-dioxide) we can see actual measurements from $1960$ to $2020$. Numbers from each graph are read from the graphs, and plotted in the code below:\n\n::: {.cell execution_count=10}\n``` {.julia .cell-code}\nco2_1970 = [(1860, 293), (1870, 293), (1880, 294), (1890, 295), (1900, 297),\n (1910, 298), (1920, 300), (1930, 303), (1940, 305), (1950, 310),\n (1960, 313), (1970, 320), (1980, 330), (1990, 350), (2000, 380)]\nco2_2021 = [(1960, 318), (1970, 325), (1980, 338), (1990, 358), (2000, 370),\n (2010, 390), (2020, 415)]\n\nxs,ys = unzip(co2_1970)\nplot(xs, ys, legend=false)\n\n𝒙s, 𝒚s = unzip(co2_2021)\nplot!(𝒙s, 𝒚s)\n\nr = 0.002\nx₀, P₀ = 1960, 313\nplot!(x -> P₀ * exp(r * (x - x₀)), 1950, 1990, linewidth=5, alpha=0.25)\n\n𝒓 = 0.005\n𝒙₀, 𝑷₀ = 2000, 370\nplot!(x -> 𝑷₀ * exp(𝒓 * (x - 𝒙₀)), 1960, 2020, linewidth=5, alpha=0.25)\n```\n\n::: {.cell-output .cell-output-display execution_count=11}\n![](exp_log_functions_files/figure-html/cell-11-output-1.svg){}\n:::\n:::\n\n\n(The `unzip` function is from the `CalculusWithJulia` package and will be explained in a subsequent section.) We can see that the projections from the year $1970$ hold up fairly well\n\n\nOn this plot we added two *exponential* models. at $1960$ we added a *roughly* $0.2$ percent per year growth (a rate mentioned in an accompanying caption) and at $2000$ a roughly $0.5$ percent per year growth. The former barely keeping up with the data.\n\n\nThe word **roughly** above could be made exact. Suppose we knew that between $1960$ and $1970$ the rate went from $313$ to $320$. If this followed an exponential model, then $r$ above would satisfy:\n\n\n\n$$\nP_{1970} = P_{1960} e^{r * (1970 - 1960)}\n$$\n\n\nor on division $320/313 = e^{r\\cdot 10}$. Solving for $r$ can be done as explained next and yields $0.002211\\dots$.\n\n\n## Logarithmic functions\n\n\nAs the exponential functions are strictly *decreasing* when $0 < a < 1$ and strictly *increasing* when $a>1,$ in both cases an inverse function will exist. (When $a=1$ the function is a constant and is not one-to-one.) The domain of an exponential function is all real $x$ and the range is all *positive* $x$, so these are switched around for the inverse function. Explicitly: the inverse function to $f(x)=a^x$ will have domain $(0,\\infty)$ and range $(-\\infty, \\infty)$ when $a > 0, a \\neq 1$.\n\n\nThe inverse function will solve for $x$ in the equation $a^x = y$. The answer, formally, is the logarithm base $a$, written $\\log_a(x)$.\n\n\nThat is $a^{\\log_a(x)} = x$ for $x > 0$ and $\\log_a(a^x) = x$ for all $x$.\n\n\nTo see how a logarithm is mathematically defined will have to wait, though the family of functions - one for each $a>0$ - are implemented in `Julia` through the function `log(a,x)`. There are special cases requiring just one argument: `log(x)` will compute the natural log, base $e$ - the inverse of $f(x) = e^x$; `log2(x)` will compute the log base $2$ - the inverse of $f(x) = 2^x$; and `log10(x)` will compute the log base $10$ - the inverse of $f(x)=10^x$. (Also `log1p` computes an accurate value of $\\log(1 + p)$ when $p \\approx 0$.)\n\n\nTo see this in an example, we plot for base $2$ the exponential function $f(x)=2^x$, its inverse, and the logarithm function with base $2$:\n\n::: {.cell hold='true' execution_count=11}\n``` {.julia .cell-code}\nf(x) = 2^x\nxs = range(-2, stop=2, length=100)\nys = f.(xs)\nplot(xs, ys, color=:blue, label=\"2ˣ\") # plot f\nplot!(ys, xs, color=:red, label=\"f⁻¹\") # plot f^(-1)\nxs = range(1/4, stop=4, length=100)\nplot!(xs, log2.(xs), color=:green, label=\"log₂\") # plot log2\n```\n\n::: {.cell-output .cell-output-display execution_count=12}\n![](exp_log_functions_files/figure-html/cell-12-output-1.svg){}\n:::\n:::\n\n\nThough we made three graphs, only two are seen, as the graph of `log2` matches that of the inverse function.\n\n\nNote that we needed a bit of care to plot the inverse function directly, as the domain of $f$ is *not* the domain of $f^{-1}$. Again, in this case the domain of $f$ is all $x$, but the domain of $f^{-1}$ is only all *positive* $x$ values.\n\n\nKnowing that `log2` implements an inverse function allows us to solve many problems involving doubling.\n\n\n##### Example\n\n\nAn [old](https://en.wikipedia.org/wiki/Wheat_and_chessboard_problem) story about doubling is couched in terms of doubling grains of wheat. To simplify the story, suppose each day an amount of grain is doubled. How many days of doubling will it take $1$ grain to become $1$ million grains?\n\n\nThe number of grains after one day is $2$, two days is $4$, three days is $8$ and so after $n$ days the number of grains is $2^n$. To answer the question, we need to solve $2^x = 1,000,000$. The logarithm function yields $20$ days (after rounding up):\n\n::: {.cell execution_count=12}\n``` {.julia .cell-code}\nlog2(1_000_000)\n```\n\n::: {.cell-output .cell-output-display execution_count=13}\n```\n19.931568569324174\n```\n:::\n:::\n\n\n##### Example\n\n\nThe half-life of a radioactive material is the time it takes for half the material to decay. Different materials have quite different half lives with some quite long, and others quite short. See [half lives](https://en.wikipedia.org/wiki/List_of_radioactive_isotopes_by_half-life) for some details.\n\n\nThe carbon $14$ isotope is a naturally occurring isotope on Earth, appearing in trace amounts. Unlike Carbon $12$ and $13$ it decays, in this case with a half life of $5730$ years (plus or minus $40$ years). In a [technique](https://en.wikipedia.org/wiki/Radiocarbon_dating) due to Libby, measuring the amount of Carbon 14 present in an organic item can indicate the time since death. The amount of Carbon $14$ at death is essentially that of the atmosphere, and this amount decays over time. So, for example, if roughly half the carbon $14$ remains, then the death occurred about $5730$ years ago.\n\n\nA formula for the amount of carbon $14$ remaining $t$ years after death would be $P(t) = P_0 \\cdot 2^{-t/5730}$.\n\n\nIf $1/10$ of the original carbon $14$ remains, how old is the item? This amounts to solving $2^{-t/5730} = 1/10$. We have: $-t/5730 = \\log_2(1/10)$ or:\n\n::: {.cell execution_count=13}\n``` {.julia .cell-code}\n-5730 * log2(1/10)\n```\n\n::: {.cell-output .cell-output-display execution_count=14}\n```\n19034.647983704584\n```\n:::\n:::\n\n\n:::{.callout-note}\n## Note\n(Historically) Libby and James Arnold proceeded to test the radiocarbon dating theory by analyzing samples with known ages. For example, two samples taken from the tombs of two Egyptian kings, Zoser and Sneferu, independently dated to $2625$ BC plus or minus $75$ years, were dated by radiocarbon measurement to an average of $2800$ BC plus or minus $250$ years. These results were published in Science in $1949$. Within $11$ years of their announcement, more than $20$ radiocarbon dating laboratories had been set up worldwide. Source: [Wikipedia](http://tinyurl.com/p5msnh6).\n\n:::\n\n### Properties of logarithms\n\n\nThe basic graphs of logarithms ($a > 1$) are all similar, though as we see larger bases lead to slower growing functions, though all satisfy $\\log_a(1) = 0$:\n\n::: {.cell execution_count=14}\n``` {.julia .cell-code}\nplot(log2, 1/2, 10, label=\"2\") # base 2\nplot!(log, 1/2, 10, label=\"e\") # base e\nplot!(log10, 1/2, 10, label=\"10\") # base 10\n```\n\n::: {.cell-output .cell-output-display execution_count=15}\n![](exp_log_functions_files/figure-html/cell-15-output-1.svg){}\n:::\n:::\n\n\nNow, what do the properties of exponents imply about logarithms?\n\n\nConsider the sum $\\log_a(u) + \\log_a(v)$. If we raise $a$ to this power, we have using the powers of exponents and the inverse nature of $a^x$ and $\\log_a(x)$ that:\n\n\n\n$$\na^{\\log_a(u) + \\log_a(v)} = a^{\\log_a(u)} \\cdot a^{\\log_a(v)} = u \\cdot v.\n$$\n\n\nTaking $\\log_a$ of *both* sides yields $\\log_a(u) + \\log_a(v)=\\log_a(u\\cdot v)$. That is logarithms turn products into sums (of logs).\n\n\nSimilarly, the relation $(a^{x})^y =a^{x \\cdot y}, a > 0$ can be used to see that $\\log_a(b^x) = x \\cdot\\log_a(b)$. This follows, as applying $a^x$ to each side yields the same answer.\n\n\nDue to inverse relationship between $a^x$ and $\\log_a(x)$ we have:\n\n\n\n$$\na^{\\log_a(b^x)} = b^x.\n$$\n\n\nDue to the rules of exponents, we have:\n\n\n\n$$\na^{x \\log_a(b)} = a^{\\log_a(b) \\cdot x} = (a^{\\log_a(b)})^x = b^x.\n$$\n\n\nFinally, since $a^x$ is one-to-one (when $a>0$ and $a \\neq 1$), if $a^{\\log_a(b^x)}=a^{x \\log_a(b)}$ it must be that $\\log_a(b^x) = x \\log_a(b)$. That is, logarithms turn powers into products.\n\n\nFinally, we use the inverse property of logarithms and powers to show that logarithms can be defined for any base. Say $a, b > 0$. Then $\\log_a(x) = \\log_b(x)/\\log_b(a)$. Again, to verify this we apply $a^x$ to both sides to see we get the same answer:\n\n\n\n$$\na^{\\log_a(x)} = x,\n$$\n\n\nthis by the inverse property. Whereas, by expressing $a=b^{\\log_b(a)}$ we have:\n\n\n\n$$\na^{(\\log_b(x)/\\log_b(b))} = (b^{\\log_b(a)})^{(\\log_b(x)/\\log_b(a))} =\nb^{\\log_b(a) \\cdot \\log_b(x)/\\log_b(a) } = b^{\\log_b(x)} = x.\n$$\n\n\nIn short, we have these three properties of logarithmic functions:\n\n\nIf $a, b$ are positive bases; $u,v$ are positive numbers; and $x$ is any real number then:\n\n\n\n$$\n\\begin{align*}\n\\log_a(uv) &= \\log_a(u) + \\log_a(v), \\\\\n\\log_a(u^x) &= x \\log_a(u), \\text{ and} \\\\\n\\log_a(u) &= \\log_b(u)/\\log_b(a).\n\\end{align*}\n$$\n\n\n##### Example\n\n\nBefore the ubiquity of electronic calculating devices, the need to compute was still present. Ancient civilizations had abacuses to make addition easier. For multiplication and powers a [slide rule](https://en.wikipedia.org/wiki/Slide_rule) could be used. It is easy to represent addition physically with two straight pieces of wood - just represent a number with a distance and align the two pieces so that the distances are sequentially arranged. To multiply then was as easy: represent the logarithm of a number with a distance then add the logarithms. The sum of the logarithms is the logarithm of the *product* of the original two values. Converting back to a number answers the question. The conversion back and forth is done by simply labeling the wood using a logartithmic scale. The slide rule was [invented](http://tinyurl.com/qytxo3e) soon after Napier's initial publication on the logarithm in 1614.\n\n\n##### Example\n\n\nReturning to the Rule of $72$, what should the exact number be?\n\n\nThe amount of time to double an investment that grows according to $P_0 e^{rt}$ solves $P_0 e^{rt} = 2P_0$ or $rt = \\log_e(2)$. So we get $t=\\log_e(2)/r$. As $\\log_e(2)$ is\n\n::: {.cell execution_count=15}\n``` {.julia .cell-code}\nlog(e, 2)\n```\n\n::: {.cell-output .cell-output-display execution_count=16}\n```\n0.6931471805599453\n```\n:::\n:::\n\n\nWe get the actual rule should be the \"Rule of $69.314...$.\"\n\n\n## Questions\n\n\n###### Question\n\n\nSuppose every $4$ days, a population doubles. If the population starts with $2$ individuals, what is its size after $4$ weeks?\n\n::: {.cell hold='true' execution_count=16}\n\n::: {.cell-output .cell-output-display execution_count=17}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='8245585490609722882' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_8245585490609722882\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"8245585490609722882\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='8245585490609722882_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"8245585490609722882\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 256.0) <= 0.001);\n var msgBox = document.getElementById('8245585490609722882_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_8245585490609722882\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_8245585490609722882\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nA bouncing ball rebounds to a height of $5/6$ of the previous peak height. If the ball is droppet at a height of $3$ feet, how high will it bounce after $5$ bounces?\n\n::: {.cell hold='true' execution_count=17}\n\n::: {.cell-output .cell-output-display execution_count=18}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='14956638017175111700' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_14956638017175111700\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"14956638017175111700\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='14956638017175111700_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"14956638017175111700\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 1.205632716049383) <= 0.001);\n var msgBox = document.getElementById('14956638017175111700_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_14956638017175111700\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_14956638017175111700\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nWhich is bigger $e^2$ or $2^e$?\n\n::: {.cell hold='true' execution_count=18}\n\n::: {.cell-output .cell-output-display execution_count=19}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='17700984956744194057' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_17700984956744194057\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_17700984956744194057_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_17700984956744194057\"\n id=\"radio_17700984956744194057_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(e^2\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_17700984956744194057_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_17700984956744194057\"\n id=\"radio_17700984956744194057_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(2^e\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='17700984956744194057_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_17700984956744194057\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('17700984956744194057_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_17700984956744194057\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_17700984956744194057\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nWhich is bigger $\\log_8(9)$ or $\\log_9(10)$?\n\n::: {.cell hold='true' execution_count=19}\n\n::: {.cell-output .cell-output-display execution_count=20}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='17665989001888757192' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_17665989001888757192\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_17665989001888757192_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_17665989001888757192\"\n id=\"radio_17665989001888757192_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\log_8(9)\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_17665989001888757192_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_17665989001888757192\"\n id=\"radio_17665989001888757192_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\log_9(10)\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='17665989001888757192_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_17665989001888757192\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('17665989001888757192_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_17665989001888757192\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_17665989001888757192\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nIf $x$, $y$, and $z$ satisfy $2^x = 3^y$ and $4^y = 5^z$, what is the ratio $x/z$?\n\n::: {.cell hold='true' execution_count=20}\n\n::: {.cell-output .cell-output-display execution_count=21}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='12476858762072777076' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_12476858762072777076\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_12476858762072777076_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_12476858762072777076\"\n id=\"radio_12476858762072777076_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\frac{\\log(5)\\log(4)}{\\log(3)\\log(2)}\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_12476858762072777076_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_12476858762072777076\"\n id=\"radio_12476858762072777076_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(2/5\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_12476858762072777076_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_12476858762072777076\"\n id=\"radio_12476858762072777076_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\frac{\\log(2)\\log(3)}{\\log(5)\\log(4)}\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='12476858762072777076_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_12476858762072777076\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 3;\n var msgBox = document.getElementById('12476858762072777076_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_12476858762072777076\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_12476858762072777076\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nDoes $12$ satisfy $\\log_2(x) + \\log_3(x) = \\log_4(x)$?\n\n::: {.cell hold='true' execution_count=21}\n\n::: {.cell-output .cell-output-display execution_count=22}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='8256101338593344987' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_8256101338593344987\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_8256101338593344987_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_8256101338593344987\"\n id=\"radio_8256101338593344987_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n Yes\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_8256101338593344987_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_8256101338593344987\"\n id=\"radio_8256101338593344987_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n No\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='8256101338593344987_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_8256101338593344987\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 2;\n var msgBox = document.getElementById('8256101338593344987_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_8256101338593344987\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_8256101338593344987\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nThe [Richter](https://en.wikipedia.org/wiki/Richter_magnitude_scale) magnitude is determined from the logarithm of the amplitude of waves recorded by seismographs (Wikipedia). The formula is $M=\\log(A) - \\log(A_0)$ where $A_0$ depends on the epicenter distance. Suppose an event has $A=100$ and $A_0=1/100$. What is $M$?\n\n::: {.cell hold='true' execution_count=22}\n\n::: {.cell-output .cell-output-display execution_count=23}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='6335596650872407305' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_6335596650872407305\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"6335596650872407305\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='6335596650872407305_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"6335596650872407305\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 9.210340371976184) <= 0.001);\n var msgBox = document.getElementById('6335596650872407305_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_6335596650872407305\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_6335596650872407305\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\nIf the magnitude of one earthquake is $9$ and the magnitude of another earthquake is $7$, how many times stronger is $A$ if $A_0$ is the same for each?\n\n::: {.cell hold='true' execution_count=23}\n\n::: {.cell-output .cell-output-display execution_count=24}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='10352217308366857177' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_10352217308366857177\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_10352217308366857177_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_10352217308366857177\"\n id=\"radio_10352217308366857177_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(1000\\) times\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_10352217308366857177_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_10352217308366857177\"\n id=\"radio_10352217308366857177_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(100\\) times\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_10352217308366857177_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_10352217308366857177\"\n id=\"radio_10352217308366857177_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(10\\) times\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_10352217308366857177_4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_10352217308366857177\"\n id=\"radio_10352217308366857177_4\" value=\"4\">\n </input>\n <span class=\"label-body px-1\">\n the same\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='10352217308366857177_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_10352217308366857177\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 2;\n var msgBox = document.getElementById('10352217308366857177_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_10352217308366857177\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_10352217308366857177\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nThe [Loudest band](https://en.wikipedia.org/wiki/Loudest_band) can possibly be measured in [decibels](https://en.wikipedia.org/wiki/Decibel). In $1976$ the Who recorded $126$ db and in $1986$ Motorhead recorded $130$ db. Suppose both measurements record power through the formula $db = 10 \\log_{10}(P)$. What is the ratio of the Motorhead $P$ to the $P$ for the Who?\n\n::: {.cell hold='true' execution_count=24}\n\n::: {.cell-output .cell-output-display execution_count=25}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='18335041369129458576' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_18335041369129458576\">\n <div style=\"padding-top: 5px\">\n </br>\n<div class=\"input-group\">\n <input id=\"18335041369129458576\" type=\"number\" class=\"form-control\" placeholder=\"Numeric answer\">\n</div>\n\n \n </div>\n </div>\n <div id='18335041369129458576_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.getElementById(\"18335041369129458576\").addEventListener(\"change\", function() {\n var correct = (Math.abs(this.value - 2.5118864315095824) <= 0.001);\n var msgBox = document.getElementById('18335041369129458576_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_18335041369129458576\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_18335041369129458576\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nBased on this graph:\n\n::: {.cell hold='true' execution_count=25}\n``` {.julia .cell-code}\nplot(log, 1/4, 4, label=\"log\")\nf(x) = x - 1\nplot!(f, 1/4, 4, label=\"x-1\")\n```\n\n::: {.cell-output .cell-output-display execution_count=26}\n![](exp_log_functions_files/figure-html/cell-26-output-1.svg){}\n:::\n:::\n\n\nWhich statement appears to be true?\n\n::: {.cell hold='true' execution_count=26}\n\n::: {.cell-output .cell-output-display execution_count=27}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='14353536341448426841' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_14353536341448426841\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_14353536341448426841_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_14353536341448426841\"\n id=\"radio_14353536341448426841_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(x \\geq 1 + \\log(x)\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_14353536341448426841_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_14353536341448426841\"\n id=\"radio_14353536341448426841_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(x \\leq 1 + \\log(x)\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='14353536341448426841_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_14353536341448426841\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('14353536341448426841_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_14353536341448426841\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_14353536341448426841\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nConsider this graph:\n\n::: {.cell hold='true' execution_count=27}\n``` {.julia .cell-code}\nf(x) = log(1-x)\ng(x) = -x - x^2/2\nplot(f, -3, 3/4, label=\"f\")\nplot!(g, -3, 3/4, label=\"g\")\n```\n\n::: {.cell-output .cell-output-display execution_count=28}\n![](exp_log_functions_files/figure-html/cell-28-output-1.svg){}\n:::\n:::\n\n\nWhat statement appears to be true?\n\n::: {.cell hold='true' execution_count=28}\n\n::: {.cell-output .cell-output-display execution_count=29}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='11266468967174642703' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_11266468967174642703\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_11266468967174642703_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_11266468967174642703\"\n id=\"radio_11266468967174642703_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\log(1-x) \\geq -x - x^2/2\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_11266468967174642703_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_11266468967174642703\"\n id=\"radio_11266468967174642703_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(\\log(1-x) \\leq -x - x^2/2\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='11266468967174642703_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_11266468967174642703\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('11266468967174642703_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_11266468967174642703\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_11266468967174642703\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nSuppose $a > 1$. If $\\log_a(x) = y$ what is $\\log_{1/a}(x)$? (The reciprocal property of exponents, $a^{-x} = (1/a)^x$, is at play here.)\n\n::: {.cell hold='true' execution_count=29}\n\n::: {.cell-output .cell-output-display execution_count=30}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='9546190808271864421' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_9546190808271864421\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9546190808271864421_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9546190808271864421\"\n id=\"radio_9546190808271864421_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(-y\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9546190808271864421_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9546190808271864421\"\n id=\"radio_9546190808271864421_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(-1/y\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_9546190808271864421_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_9546190808271864421\"\n id=\"radio_9546190808271864421_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(1/y\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='9546190808271864421_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_9546190808271864421\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('9546190808271864421_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_9546190808271864421\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_9546190808271864421\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nBased on this, the graph of $\\log_{1/a}(x)$ is the graph of $\\log_a(x)$ under which transformation?\n\n::: {.cell hold='true' execution_count=30}\n\n::: {.cell-output .cell-output-display execution_count=31}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='5881222279246740761' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_5881222279246740761\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_5881222279246740761_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_5881222279246740761\"\n id=\"radio_5881222279246740761_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n Flipped over the \\(x\\) axis\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_5881222279246740761_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_5881222279246740761\"\n id=\"radio_5881222279246740761_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n Flipped over the \\(y\\) axis\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_5881222279246740761_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_5881222279246740761\"\n id=\"radio_5881222279246740761_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n Flipped over the line \\(y=x\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='5881222279246740761_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_5881222279246740761\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('5881222279246740761_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_5881222279246740761\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_5881222279246740761\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n###### Question\n\n\nSuppose $x < y$. Then for $a > 0$, $a^y - a^x$ is equal to:\n\n::: {.cell hold='true' execution_count=31}\n\n::: {.cell-output .cell-output-display execution_count=32}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='10426498690737461249' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_10426498690737461249\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_10426498690737461249_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_10426498690737461249\"\n id=\"radio_10426498690737461249_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(a^{y-x} \\cdot (a^x - 1)\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_10426498690737461249_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_10426498690737461249\"\n id=\"radio_10426498690737461249_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(a^{y-x}\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_10426498690737461249_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_10426498690737461249\"\n id=\"radio_10426498690737461249_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n \\(a^x \\cdot (a^{y-x} - 1)\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='10426498690737461249_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_10426498690737461249\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 3;\n var msgBox = document.getElementById('10426498690737461249_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_10426498690737461249\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_10426498690737461249\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nUsing $a > 1$ we have:\n\n::: {.cell hold='true' execution_count=32}\n\n::: {.cell-output .cell-output-display execution_count=33}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='76919876252758724' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_76919876252758724\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_76919876252758724_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_76919876252758724\"\n id=\"radio_76919876252758724_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n \\(a^{y-x} > 0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_76919876252758724_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_76919876252758724\"\n id=\"radio_76919876252758724_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n as \\(a^x > 1\\), \\(a^y > a^x\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_76919876252758724_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_76919876252758724\"\n id=\"radio_76919876252758724_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n as \\(a^{y-x} > 1\\) and \\(y-x > 0\\), \\(a^y > a^x\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='76919876252758724_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_76919876252758724\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 3;\n var msgBox = document.getElementById('76919876252758724_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_76919876252758724\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_76919876252758724\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\nIf $a < 1$ then:\n\n::: {.cell hold='true' execution_count=33}\n\n::: {.cell-output .cell-output-display execution_count=34}\n```{=html}\n<form class=\"mx-2 my-3 mw-100\" name='WeaveQuestion' data-id='178484174956736' data-controltype=''>\n <div class='form-group '>\n <div class='controls'>\n <div class=\"form\" id=\"controls_178484174956736\">\n <div style=\"padding-top: 5px\">\n <div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_178484174956736_1\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_178484174956736\"\n id=\"radio_178484174956736_1\" value=\"1\">\n </input>\n <span class=\"label-body px-1\">\n as \\(a^{y-x} < 1\\) as \\(y-x > 0\\), \\(a^y < a^x\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_178484174956736_2\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_178484174956736\"\n id=\"radio_178484174956736_2\" value=\"2\">\n </input>\n <span class=\"label-body px-1\">\n \\(a^{y-x} < 0\\)\n </span>\n </label>\n</div>\n<div class=\"form-check\">\n <label class=\"form-check-label\" for=\"radio_178484174956736_3\">\n <input class=\"form-check-input\" type=\"radio\" name=\"radio_178484174956736\"\n id=\"radio_178484174956736_3\" value=\"3\">\n </input>\n <span class=\"label-body px-1\">\n as \\(a^x < 1\\), \\(a^y < a^x\\)\n </span>\n </label>\n</div>\n\n \n </div>\n </div>\n <div id='178484174956736_message' style=\"padding-bottom: 15px\"></div>\n </div>\n </div>\n</form>\n\n<script text='text/javascript'>\ndocument.querySelectorAll('input[name=\"radio_178484174956736\"]').forEach(function(rb) {\nrb.addEventListener(\"change\", function() {\n var correct = rb.value == 1;\n var msgBox = document.getElementById('178484174956736_message');\n if(correct) {\n msgBox.innerHTML = \"<div class='pluto-output admonition note alert alert-success'><span> 👍&nbsp; Correct </span></div>\";\n var explanation = document.getElementById(\"explanation_178484174956736\")\n if (explanation != null) {\n explanation.style.display = \"none\";\n }\n } else {\n msgBox.innerHTML = \"<div class='pluto-output admonition alert alert-danger'><span>👎&nbsp; Incorrect </span></div>\";\n var explanation = document.getElementById(\"explanation_178484174956736\")\n if (explanation != null) {\n explanation.style.display = \"block\";\n }\n }\n\n})});\n\n</script>\n```\n:::\n:::\n\n\n",
"supporting": [
"exp_log_functions_files"
],
"filters": [],
"includes": {
"include-in-header": [
"<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js\" integrity=\"sha512-c3Nl8+7g4LMSTdrm621y7kf9v3SDPnhxLNhcjFJbKECVnmZHTdo+IRO05sNLTH/D3vA6u1X32ehoLC7WFVdheg==\" crossorigin=\"anonymous\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js\" integrity=\"sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==\" crossorigin=\"anonymous\"></script>\n<script type=\"application/javascript\">define('jquery', [],function() {return window.jQuery;})</script>\n"
]
}
}
}