use quarto, not Pluto to render pages

This commit is contained in:
jverzani committed 2022-07-24 16:38:24 -04:00
1 parent 93c993206a
commit 7b37ca828c
879 files changed
+793311 -2678

No files matched your search

@@ -0,0 +1,15 @@
{
"hash": "a688cc690bd549f15aa17b76121c94e7",
"result": {
"markdown": "# Partial Fractions\n\n\n\n``` {.julia .cell-code}\nusing CalculusWithJulia\nusing SymPy\n```\n\n\n\n\n---\n\n\nIntegration is facilitated when an antiderivative for $f$ can be found, as then definite integrals can be evaluated through the fundamental theorem of calculus.\n\n\nHowever, despite integration being an algorithmic procedure, integration is not. There are \"tricks\" to try, such as substitution and integration by parts. These work in some cases. However, there are classes of functions for which algorithms exist. For example, the `SymPy` `integrate` function mostly implements an algorithm that decides if an elementary function has an antiderivative. The [elementary](http://en.wikipedia.org/wiki/Elementary_function) functions include exponentials, their inverses (logarithms), trigonometric functions, their inverses, and powers, including $n$th roots. Not every elementary function will have an antiderivative comprised of (finite) combinations of elementary functions. The typical example is $e^{x^2}$, which has no simple antiderivative, despite its ubiquitousness.\n\n\nThere are classes of functions where an (elementary) antiderivative can always be found. Polynomials provide a case. More surprisingly, so do their ratios, *rational functions*.\n\n\n## Partial fraction decomposition\n\n\nLet $f(x) = p(x)/q(x)$, where $p$ and $q$ are polynomial functions with real coefficients. Further, we assume without comment that $p$ and $q$ have no common factors. (If they did, we can divide them out, an act which has no effect on the integrability of $f(x)$.\n\n\nThe function $q(x)$ will factor over the real numbers. The fundamental theorem of algebra can be applied to say that $q(x)=q_1(x)^{n_1} \\cdots q_k(x)^{n_k}$ where $q_i(x)$ is a linear or quadratic polynomial and $n_k$ a positive integer.\n\n\n> **Partial Fraction Decomposition**: There are unique polynomials $a_{ij}$ with degree $a_{ij} <$ degree $q_i$ such that\n>\n> $$\n> \\frac{p(x)}{q(x)} = a(x) + \\sum_{i=1}^k \\sum_{j=1}^{n_i} \\frac{a_{ij}(x)}{q_i(x)^j}.\n> $$\n\n\n\nThe method is attributed to John Bernoulli, one of the prolific Bernoulli brothers who put a stamp on several areas of math. This Bernoulli was a mentor to Euler.\n\n\nThis basically says that each factor $q_i(x)^{n_i}$ contributes a term like:\n\n\n\n$$\n\\frac{a_{i1}(x)}{q_i(x)^1} + \\frac{a_{i2}(x)}{q_i(x)^2} + \\cdots + \\frac{a_{in_i}(x)}{q_i(x)^{n_i}},\n$$\n\n\nwhere each $a_{ij}(x)$ has degree less than the degree of $q_i(x)$.\n\n\nThe value of this decomposition is that the terms $a_{ij}(x)/q_i(x)^j$ each have an antiderivative, and so the sum of them will also have an antiderivative.\n\n\n:::{.callout-note}\n## Note\nMany calculus texts will give some examples for finding a partial fraction decomposition. We push that work off to `SymPy`, as for all but the easiest cases - a few are in the problems - it can be a bit tedious.\n\n:::\n\nIn `SymPy`, the `apart` function will find the partial fraction decomposition when a factorization is available. For example, here we see $n_i$ terms for each power of $q_i$\n\n::: {.cell execution_count=4}\n``` {.julia .cell-code}\n@syms a::real b::real c::real A::real B::real x::real\n```\n\n::: {.cell-output .cell-output-display execution_count=5}\n```\n(a, b, c, A, B, x)\n```\n:::\n:::\n\n\n::: {.cell execution_count=5}\n``` {.julia .cell-code}\napart((x-2)*(x-3) / (x*(x-1)^2*(x^2 + 2)^3))\n```\n\n::: {.cell-output .cell-output-display execution_count=6}\n```{=html}\n<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> \n\\[\n- \\frac{8 x - 13}{9 \\left(x^{2} + 2\\right)^{3}} - \\frac{35 x - 34}{54 \\left(x^{2} + 2\\right)^{2}} - \\frac{45 x - 28}{108 \\left(x^{2} + 2\\right)} - \\frac{1}{3 \\left(x - 1\\right)} + \\frac{2}{27 \\left(x - 1\\right)^{2}} + \\frac{3}{4 x}\n\\]\n</span>\n```\n:::\n:::\n\n\n### Sketch of proof\n\n\nA standard proof uses two facts of number systems: the division algorithm and a representation of the greatest common divisor in terms of sums, extended to polynomials. Our sketch shows how these are used.\n\n\nTake one of the factors of the denominators, and consider this representation of the rational function $P(x)/(q(x)^k Q(x))$ where there are no common factors to any of the three polynomials.\n\n\nSince $q(x)$ and $Q(x)$ share no factors, [Bezout's](http://tinyurl.com/kd6prns) identity says there exists polynomials $a(x)$ and $b(x)$ with:\n\n\n\n$$\na(x) Q(x) + b(x) q(x) = 1.\n$$\n\n\nThen dividing by $q^k(x)Q(x)$ gives the decomposition\n\n\n\n$$\n\\frac{1}{q(x)^k Q(x)} = \\frac{a(x)}{q(x)^k} + \\frac{b(x)}{q(x)^{k-1}Q(x)}.\n$$\n\n\nSo we get by multiplying the $P(x)$:\n\n\n\n$$\n\\frac{P(x)}{q(x)^k Q(x)} = \\frac{A(x)}{q(x)^k} + \\frac{B(x)}{q(x)^{k-1}Q(x)}.\n$$\n\n\nThis may look more complicated, but what it does is peel off one term (The first) and leave something which is smaller, in this case by a factor of $q(x)$. This process can be repeated pulling off Line truncated
"supporting": [
"partial_fractions_files/figure-html"
],
"filters": [],
"includes": {
"include-in-header": [
"<script src=\"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js\" integrity=\"sha512-c3Nl8+7g4LMSTdrm621y7kf9v3SDPnhxLNhcjFJbKECVnmZHTdo+IRO05sNLTH/D3vA6u1X32ehoLC7WFVdheg==\" crossorigin=\"anonymous\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js\" integrity=\"sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==\" crossorigin=\"anonymous\"></script>\n<script type=\"application/javascript\">define('jquery', [],function() {return window.jQuery;})</script>\n"
]
}
}
}