{ "cells": [ { "cell_type": "markdown", "id": "f7448884-3a96-4dd7-ba5a-b42e1ddc2f98", "metadata": {}, "source": [ "##### Python for High School (Winter 2022)\n", "\n", "* [Table of Contents](PY4HS.ipynb)\n", "* \"Open\n", "* [![nbviewer](https://raw.githubusercontent.com/jupyter/design/master/logos/Badges/nbviewer_badge.svg)](https://nbviewer.org/github/4dsolutions/elite_school/blob/master/Py4HS_Bernoulli.ipynb)" ] }, { "cell_type": "markdown", "id": "dfd09202-41ea-43d6-9abe-82c378b01efe", "metadata": {}, "source": [ "# Bernoulli Numbers\n", "\n", "This Notebook was developed after our Summer 2022 virtual classroom, a not for credit enrichment experience. Earlier in 2022, I served as an 8th grade teacher in a for-credit program, for 1.5 semesters.\n", "\n", "As of that time, I had not yet done much with Taylor and Maclaurin Expansions, in terms of Notebooks. Other teachers were going there for sure. \n", "\n", "I was aiming for some more exotic and/or esoteric topics (this being summer school enrichment), i.e. material non-redundant with topics ordinarily included in a typical college prep high school curriculum, in that day and age.\n", "\n", "An historical approach based on the Bernoulli family as a hub, based in Switzerland, came to me later. I started exploring the ramifications by leveraging Bernoulli numbers as a topic, which connect us back to Pascal's Triangle, already a \"grand central station\" in our global grid.\n", "\n", "These explorations came in conjunction with a certain [Math for Wisdom (M4W)](https://www.math4wisdom.com/) project, managed by one Andrius Kulikauskas in Lithuania." ] }, { "cell_type": "code", "execution_count": 1, "id": "75cd6250-eb87-423b-b333-547111f2f60d", "metadata": {}, "outputs": [], "source": [ "import sympy as sp\n", "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "id": "d96f9987-156a-4a26-a877-849bc47be498", "metadata": {}, "outputs": [], "source": [ "from IPython.display import YouTubeVideo" ] }, { "cell_type": "code", "execution_count": 3, "id": "a4480124-5f63-455d-afdb-a265ea46ec6a", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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5usCZ/c0jr3LXgFw2W0uR5j6UFs0AlkYT4IuHDeD/UBUPp5TDY2e8xPaTvJtbsU5JHxSERDnAQDlJ47+I7FllSZJWtZYtdmN7G+mX3+pBGVr3vkc1jmuMYDDudc/0Upw7umNzW3IY612ki9xbXoWwiDVE2rQHPscudzvo3v6DcD0qwyu5gOYbkuy3I42V6xYWtYINY1L2l4LRdpA0v0kDz7fvdSNSWuLS0XBA1NtovfYrXRRu8JjTrfZ99ywYYz0H+YoIioacwa1xLSQR06KyN+dgcAQCLi6jzLMwdbvrEXvvUmNDGNaNjRZB5DlT88u8mzsXIXX5U/PLvJt7FyFARERBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAVzaupYLMqZmjhIQqUQbjMWxFng1s3ndftVrcfxRv8AjHHra0+xc5EV128pcTbtkid1xhWN5U148KKmd+4feuIiD0LeVk30qOI9TiFazlY36dDbxZP6LzKIPVt5VUn0qWcdRaVa3lNhx8JtQ3raD7V49EHtG8ocLO2d7euJytZjWGP2VsY8YEdoXhkQe/biNA/RtdTn+IFa2eF/gTxO6nhfO1iw3BB9IbG23etba99LbVgwAuDub74bDb77l85aS3wSR1aK1tTUN8Golb1PIQfQ7HcUXgWYnXsN21tR55CVc3HMUbsrZPOAfYg9usrxjeUeJt2zMd40YVreVFeNrKd37h96UeuReWbyrqPp0kB6iQrRysP0qEeaU+5B6RFwG8qqY+FSTDqcCrW8qKA+FHUN62g+1ByOVPzy7ybexchdDHKyGuxEzwZshY0d8LHRc9ARERBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEW5h9EK0y5pebEbQ4m11KejpI4XPjr2SPA0YG7fWitFEREERX0cLairiieSGvdYkbUFCLowYfFJiFTTlz8kTXFpBFzbfoucNiKIiIgi25KVjMLhqg52d8haR0W19y1EBERARTij52ZkYNi9wbfrWZ4jBPJETcscW332QVoiupIO6aqOHNlzm17XtogpRdN+G0kbyx+Isa5psQW7PWua4AOIBuAdDvQYREQEREBERARZaLuA3my2sTpWUdWYY3Oc3KDd21BqIiICIiAiIgIi3KikZFh1PUtc4vlJBB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0sBD/jTM+RsAhFyLeCCddtyqdLqGgocTp4ctO+kJqI4RJzpeZbg59CLAgC+m9RZTYbUOoahlLLFDLVGmfCJjrssbkfra+qy1ZcbqpYYYxHTRmC3NPjiAcyxvoejX0o7G6p1TDOYqX4klzIxCAwOJuXW36DXgh0uw6Cjdi81HNRiWMSv+MMrm81G29zpt0C5MpY6V7omlkZcSxpNyBfQLZkxGd81VKGxRuqm5JObZbTS9t17arURNERFUEREBERAREQEREBERAREQEREBLDciIMWG4JYbgsogxYbgsjTZp1IiKsFRONk0o/fKmKyqGyqnH8R3vVCIVsjEK4bK2pH8Z3vUhiuIt2V9T9a5aiIN78M4n/n5/O+605JHyuzSOLjvKiiAiIiCIiAirzngmc8FKsWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpFiKvOeCZzwSkWIq854JnPBKRYirzngmc8EpEURFlsREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREH/2Q==\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"jx_JR5xD9Ko\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "0c95c15d-6e1e-43b9-b9c5-4d3f81dbf46b", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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Hg8M8vW/EEHe6Lgj1z8weDwzy9b8QT1z8weDwzy9b8QQd7ouCPXPzB4PDPL1vxBPXPzB4PDPL1vxBB3ui4I9c/MHg8M8vW/EE9c/MHg8M8vW/EEHe6Lgj1z8weDwzy9b8QT1z8weDwzy9b8QQd7ouCPXPzB4PDPL1vxBPXPzB4PDPL1vxBB3ui4I9c/MHg8M8vW/EE9c/MHg8M8vW/EEHe6Lgj1z8weDwzy9b8QT1z8weDwzy9b8QQd7ouCPXPzB4PDPL1vxBPXPzB4PDPL1vxBB3ui4I9c/MHg8M8vW/EE9c/MHg8M8vW/EEHe6Lgj1z8weDwzy9b8QT1z8weDwzy9b8QQd7ouCPXPzB4PDPL1vxBPXPzB4PDPL1vxBB3ui4I9c/MHg8M8vW/EE9c/MHg8M8vW/EEHe6Lgj1z8weDwzy9b8QT1z8weDwzy9b8QQc1oiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIg//2Q==\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"s6-lN62Q_z8\")" ] }, { "cell_type": "markdown", "id": "f03fa4c8-ddda-45e9-bf02-7cca0e89dde7", "metadata": {}, "source": [ "Consider the expression below. How many consecutive numbers, starting with 1, you want to sum, is your n. What power you wish to raise them all to is your m." ] }, { "cell_type": "code", "execution_count": 5, "id": "6636bb9b-35c0-46bd-94f5-cba34c3f4fc3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3025" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = 3 # n = 10\n", "( 1 ** m \n", " + 2 ** m \n", " + 3 ** m \n", " + 4 ** m \n", " + 5 ** m \n", " + 6 ** m \n", " + 7 ** m \n", " + 8 ** m \n", " + 9 ** m \n", " + 10 ** m)" ] }, { "cell_type": "code", "execution_count": 6, "id": "d05ee9b2-8e90-455c-8a28-5b82698cb1eb", "metadata": {}, "outputs": [], "source": [ "m, n, i = sp.symbols(['m','n', 'i'])" ] }, { "cell_type": "markdown", "id": "809d140c-fc7a-4077-9611-563c3653cca9", "metadata": {}, "source": [ "Here's a way of writing the same expression, leaving the values of m and n open ended. We will substitute actual values below." ] }, { "cell_type": "code", "execution_count": 7, "id": "2e64fb06-7501-49b1-a3a3-736aef2a0d98", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\sum_{i=1}^{n} i^{m}$" ], "text/plain": [ "Sum(i**m, (i, 1, n))" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "the_sum = sp.summation(i ** m, (i, 1, n))\n", "the_sum" ] }, { "cell_type": "markdown", "id": "59519131-c339-473c-898a-3b04da451e18", "metadata": {}, "source": [ "Evaluate the above summation with 10 terms (1,2.. 10) each raised to the 3rd power. If you have this as a live Notebook, say in Google Colab, this is your chance to play around with other values." ] }, { "cell_type": "code", "execution_count": 8, "id": "3091a60b-dc9b-4aa8-9a0f-c23abf872725", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 3025.0$" ], "text/plain": [ "3025.00000000000" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "the_sum.evalf(subs={n:10, m:3})" ] }, { "cell_type": "markdown", "id": "7a8ec4b8-1ed1-4b19-9eaf-134020653ee6", "metadata": {}, "source": [ "Numpy lets us compute this sum in an even more compact form, given raising each of n terms to the mth power may be accomplished in a single line of code." ] }, { "cell_type": "code", "execution_count": 9, "id": "386cbb39-f46c-4828-99f5-b004665d649b", "metadata": {}, "outputs": [], "source": [ "def exp_sum(m, n):\n", " return np.sum( np.arange(1, n+1) ** m)" ] }, { "cell_type": "code", "execution_count": 10, "id": "0d8b82fb-4168-4aa8-8362-1c877a9a3fd2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3025" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp_sum(3, 10)" ] }, { "cell_type": "code", "execution_count": 11, "id": "fdd6b062-3441-46b9-bfcf-4fc29ba6dca5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "220825" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp_sum(5, 10)" ] }, { "cell_type": "markdown", "id": "a62386ea-78be-48fa-a81a-18914cb1ecf3", "metadata": {}, "source": [ "Now the Bernoulli Numbers enter the picture. We're going to transform our expression for the sum of n consecutive integers starting with 1, to the mth power, into a polynomial of m+1 terms, and n the value of some variable x. \n", "\n", "The more consecutive integers you want, the higher the x you put in, to an already computed polynomial of m+1 terms with fixed coefficients. What fixed coefficients? The Bernoulli Numbers will go into their defintion (computation)." ] }, { "cell_type": "code", "execution_count": 12, "id": "d66e563b-ae1c-4701-b6b3-ccb204e0c69a", "metadata": {}, "outputs": [], "source": [ "n = 20\n", "Bs = [sp.bernoulli(i) for i in range(0, n+1)]" ] }, { "cell_type": "code", "execution_count": 13, "id": "f864cbe6-b9fe-48e4-b07e-c4c971230675", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Bernoulli
01
1-1/2
21/6
30
4-1/30
50
61/42
70
8-1/30
90
105/66
110
12-691/2730
130
147/6
150
16-3617/510
170
1843867/798
190
20-174611/330
\n", "
" ], "text/plain": [ " Bernoulli\n", "0 1\n", "1 -1/2\n", "2 1/6\n", "3 0\n", "4 -1/30\n", "5 0\n", "6 1/42\n", "7 0\n", "8 -1/30\n", "9 0\n", "10 5/66\n", "11 0\n", "12 -691/2730\n", "13 0\n", "14 7/6\n", "15 0\n", "16 -3617/510\n", "17 0\n", "18 43867/798\n", "19 0\n", "20 -174611/330" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bernoulli = pd.DataFrame({'Bernoulli':Bs})\n", "Bernoulli" ] }, { "cell_type": "code", "execution_count": 14, "id": "c7ec355e-b746-44fb-90bf-0747de193373", "metadata": {}, "outputs": [], "source": [ "from scipy.special import comb\n", "\n", "def exp_sum_2(m, n):\n", " n = n + 1\n", " total = 0\n", " for k in range(0, m+1):\n", " term = comb(m+1, k, exact=True) * sp.bernoulli(k) * n**(m-k+1)\n", " total += term\n", " return total/(m+1)" ] }, { "cell_type": "code", "execution_count": 15, "id": "719f2547-0c5c-4061-928d-124233ec51b3", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 3025$" ], "text/plain": [ "3025" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp_sum_2(3, 10) # new way" ] }, { "cell_type": "code", "execution_count": 16, "id": "72945471-0046-4a65-8856-800fbb4147e1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3025" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp_sum(3, 10) # old way" ] }, { "cell_type": "code", "execution_count": 17, "id": "9cdc20a2-5a9c-4ad9-9b32-ae3b71bf783e", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 220825$" ], "text/plain": [ "220825" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp_sum_2(5, 10) # new way" ] }, { "cell_type": "code", "execution_count": 18, "id": "6ad41241-1b40-47b0-8786-52dd4a61e050", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "220825" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp_sum(5, 10) # old way" ] }, { "cell_type": "markdown", "id": "3dcaf5fe-e9ec-442a-8196-7914529fde90", "metadata": {}, "source": [ "# Generating Functions\n", "\n", "\"Generating functions\" in mathematics and \"generator functions\" in Python are not the same concept, but they're related. We may write generator functions to generate successive coefficients of a polynomial. These sequences of coefficients are what generating functions represent as well, perhaps as closed form signature expressions.\n", "\n", "In the cells below, we use generator functions and actually substitute for x, to verify some known identities." ] }, { "cell_type": "code", "execution_count": 19, "id": "deb15663-733d-45a9-8be4-b549f7d25059", "metadata": {}, "outputs": [], "source": [ "t, x = sp.symbols(['t', 'x'])" ] }, { "cell_type": "code", "execution_count": 20, "id": "10cd174a-ab5f-4326-827d-13be47aed85c", "metadata": {}, "outputs": [], "source": [ "domain = np.linspace(0.1, 2, 100)" ] }, { "cell_type": "code", "execution_count": 21, "id": "562d6064-d591-4bca-bf03-8e30bf014891", "metadata": {}, "outputs": [], "source": [ "def terms():\n", " n = 0\n", " while True:\n", " yield x**n/sp.factorial(n) * sp.bernoulli(n)\n", " n += 1" ] }, { "cell_type": "code", "execution_count": 22, "id": "1592fdc1-261d-4e21-a281-be38b7f049a4", "metadata": {}, "outputs": [], "source": [ "gen_coeffs = terms()" ] }, { "cell_type": "code", "execution_count": 23, "id": "03eb2593-48fc-42a1-9e78-8198d6c5fac9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1,\n", " -x/2,\n", " x**2/12,\n", " 0,\n", " -x**4/720,\n", " 0,\n", " x**6/30240,\n", " 0,\n", " -x**8/1209600,\n", " 0,\n", " x**10/47900160,\n", " 0,\n", " -691*x**12/1307674368000,\n", " 0,\n", " x**14/74724249600,\n", " 0,\n", " -3617*x**16/10670622842880000]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "poly_coeffs = [next(gen_coeffs) for _ in range(17)]\n", "poly_coeffs" ] }, { "cell_type": "code", "execution_count": 24, "id": "910000a1-a813-4d75-adfd-a594bc753597", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - \\frac{3617 x^{16}}{10670622842880000} + \\frac{x^{14}}{74724249600} - \\frac{691 x^{12}}{1307674368000} + \\frac{x^{10}}{47900160} - \\frac{x^{8}}{1209600} + \\frac{x^{6}}{30240} - \\frac{x^{4}}{720} + \\frac{x^{2}}{12} - \\frac{x}{2} + 1$" ], "text/plain": [ "-3617*x**16/10670622842880000 + x**14/74724249600 - 691*x**12/1307674368000 + x**10/47900160 - x**8/1209600 + x**6/30240 - x**4/720 + x**2/12 - x/2 + 1" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr = sum(poly_coeffs) # we will lambdify and plot this below\n", "expr" ] }, { "cell_type": "code", "execution_count": 25, "id": "b63a9757-37f9-4e03-9e9c-c6052159d313", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 0.842575491052376$" ], "text/plain": [ "0.842575491052376" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.subs(x, 1/3)" ] }, { "cell_type": "code", "execution_count": 26, "id": "62a35647-83e8-43cc-96ef-24e5572be45d", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{x}{e^{x} - 1}$" ], "text/plain": [ "x/(exp(x) - 1)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr2 = x/(sp.E**x - 1) # we will lambdify and plot this below, comparing with the above\n", "expr2" ] }, { "cell_type": "code", "execution_count": 27, "id": "fd5d346b-f142-4ee2-9ce8-1e2f6eca0513", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 0.842575491052376$" ], "text/plain": [ "0.842575491052376" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr2.subs(x, 1/3)" ] }, { "cell_type": "code", "execution_count": 28, "id": "34b3b85e-6a5f-49dd-8ef5-a6e8fe4092bd", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 0.581976706869318$" ], "text/plain": [ "0.581976706869318" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.subs(x, 1).evalf()" ] }, { "cell_type": "code", "execution_count": 29, "id": "33394ac4-08a2-46c4-90f7-e0e1eafeaf93", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 0.581976706869326$" ], "text/plain": [ "0.581976706869326" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr2.subs(x, 1).evalf()" ] }, { "cell_type": "code", "execution_count": 30, "id": "cd663989-4a8c-461e-85e7-d40e27336063", "metadata": {}, "outputs": [], "source": [ "B = sp.lambdify(x, expr, \"numpy\")" ] }, { "cell_type": "code", "execution_count": 31, "id": "f1d25149-d6da-41d2-a38c-b53112dd3a9c", "metadata": {}, "outputs": [], "source": [ "E = sp.lambdify(x, expr2)" ] }, { "cell_type": "code", "execution_count": 32, "id": "7c87198a-f355-4509-9e11-2bb0f6c83f90", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
the_domainexponentialpolynomial
00.1000000.9508330.950833
10.1191920.9415880.941588
20.1383840.9324030.932403
30.1575760.9232800.923280
40.1767680.9142190.914219
............
951.9232320.3291490.329149
961.9424240.3250570.325057
971.9616160.3210080.321008
981.9808080.3170000.317000
992.0000000.3130350.313035
\n", "

100 rows × 3 columns

\n", "
" ], "text/plain": [ " the_domain exponential polynomial\n", "0 0.100000 0.950833 0.950833\n", "1 0.119192 0.941588 0.941588\n", "2 0.138384 0.932403 0.932403\n", "3 0.157576 0.923280 0.923280\n", "4 0.176768 0.914219 0.914219\n", ".. ... ... ...\n", "95 1.923232 0.329149 0.329149\n", "96 1.942424 0.325057 0.325057\n", "97 1.961616 0.321008 0.321008\n", "98 1.980808 0.317000 0.317000\n", "99 2.000000 0.313035 0.313035\n", "\n", "[100 rows x 3 columns]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame({\"the_domain\": domain,\n", " \"exponential\" : E(domain),\n", " \"polynomial\": B(domain)})\n", "df" ] }, { "cell_type": "code", "execution_count": 33, "id": "c39d13f6-cc13-45d2-b458-33b4eda76736", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABOEUlEQVR4nO3dd1xV9f8H8Ne5Fy4XEFBEEGW6AEVRUFmOXLgyaShaYThSTM1Rfb+afcusX7RcOcg9ytScWZqJJQLiJNwDRRREFHEAgsx7fn+Qtwi9goxzx+v5eJw/OH7Oue+Ph+N9ecbnI4iiKIKIiIhIT8ikLoCIiIioJjHcEBERkV5huCEiIiK9wnBDREREeoXhhoiIiPQKww0RERHpFYYbIiIi0itGUhdQ11QqFW7cuAELCwsIgiB1OURERFQJoigiNzcXTZo0gUym+dqMwYWbGzduwNHRUeoyiIiI6BmkpaXBwcFBYxuDCzcWFhYAyv5yLC0tJa6GiIiIKiMnJweOjo7q73FNDC7cPLoVZWlpyXBDRESkYyrzSAkfKCYiIiK9wnBDREREeoXhhoiIiPSKwT1zQ0RE2kmlUqGoqEjqMkhCCoXiqa95VwbDDRERSa6oqAgpKSlQqVRSl0ISkslkcHV1hUKhqNZ+GG6IiEhSoigiIyMDcrkcjo6ONfI/d9I9jwbZzcjIgJOTU7UG2mW4ISIiSZWUlCA/Px9NmjSBmZmZ1OWQhBo1aoQbN26gpKQExsbGz7wfxmMiIpJUaWkpAFT7VgTpvke/A49+J54Vww0REWkFzvdHNfU7wHBDREREeoXhhoiIiPQKww0RERE9kzVr1qB+/fpV2sbFxQXz58+vlXoeYbipQUm3cnE1K0/qMoiIiGrc40JJSEgIkpKSpClIA74KXkPOpGfj9ZVHYK4wwpbx/rC3MpW6JCIiolplamoKU1Pt+77jlZsaYmepRAMzBdLvP0ToyqO4m8chxImInoUoisgvKpFkEUWxyrV++eWXaNasGUxNTeHl5YUtW7ZAFEX07t0b/fr1U+/z/v37cHJywsyZMwEA0dHREAQBu3btgpeXF5RKJXx9fXH69Olyn7F161a0adMGJiYmcHFxwZw5c8r9uYuLCz777DOMGjUKFhYWcHJywrJly8q1SU9PR0hICBo0aICGDRti8ODBuHr1qvrPw8LCEBwcjK+//hr29vZo2LAhJkyYgOLiYgDAc889h2vXrmHq1KkQBEH9VtO/b0slJydj8ODBsLOzQ7169dCpUyfs27evSn+nNYFXbmpIIwsTfD/GF69ExuNy5gO8seoofnjTFxbKZx+EiIjIED0sLkXrD3+T5LPPze4LM0Xlvxo/+OADbNu2DZGRkWjZsiViYmLw+uuvo1GjRli7di3atm2Lb775BpMnT0Z4eDjs7Owwa9ascvt47733sGDBAjRu3Bjvv/8+XnjhBSQlJcHY2BgJCQkYOnQoZs2ahZCQEMTHx+Ott95Cw4YNERYWpt7HnDlz8Mknn+D999/Hli1bMH78eHTr1g3u7u7Iz89Hjx490LVrV8TExMDIyAiffvop+vXrh1OnTqnHltm/fz/s7e2xf/9+XL58GSEhIWjfvj3efPNNbNu2DV5eXhg7dizefPPNJ/59PHjwAAMGDMCnn34KpVKJtWvXYtCgQbh48SKcnJyqdCyqg+GmBjWtb4rvRvti6NJDOJ2ejTFrj2PtqM5QGsulLo2IiGpYXl4e5s6diz/++AP+/v4AgGbNmiEuLg5Lly7FDz/8gKVLlyI0NBS3bt3Czz//jMTExAoj73700Ufo06cPAGDt2rVwcHDA9u3bMXToUMydOxe9evXC//73PwBAq1atcO7cOXz11Vflws2AAQPw1ltvAQD++9//Yt68eYiOjoa7uzs2btwImUyGFStWqK+4rF69GvXr10d0dDSCgoIAAA0aNMCiRYsgl8vh7u6OgQMH4vfff8ebb74Ja2tryOVyWFhYoHHjxk/8O/Hy8oKXl5f6508//RTbt2/Hzp07MXHixGr+jVcew00Na2FbD+tGdcbwZYdxJOUu3lr/J5aG+sBYzjuARESVYWosx7nZfSX77Mo6d+4cCgoK1MHkkaKiInTo0AEAMGTIEGzfvh0RERGIjIxEq1atKuznUTACAGtra7i5ueH8+fMAgPPnz2Pw4MHl2gcGBmL+/PkoLS2FXF5Wb7t27dR/LggCGjdujMzMTABAQkICLl++DAsLi3L7KSgoQHJysvrnNm3aqPcHAPb29hVukT1NXl4ePv74Y/zyyy/qaRQePnyI1NTUKu2nuhhuaoFnUyusDOuE0JVH8MeFTLzz40nMC2kPuYyjbxIRPY0gCFW6NSSVRzOY79q1C02bNi33ZyYmJgCA/Px8JCQkQC6X49KlS5Xe96MrLKIoVhi193HPBf37apAgCOr6VCoVfHx8sH79+grbNWrUqFL7qKz33nsPv/32G77++mu0aNECpqameOWVV1BUVLfPoWr/b4+O6uxqjW9DffDm2uPYefIGzE2M8NmLnhxenIhIT7Ru3RomJiZITU1F9+7dH9vmnXfegUwmw6+//ooBAwZg4MCB6NmzZ7k2hw8fVj+Pcu/ePSQlJcHd3V39GXFxceXax8fHo1WrVuWusmji7e2NTZs2wdbWFpaWllXtpppCoXjqnE+xsbEICwvDiy++CKDsGZx/PrhcV3ivpBb1cLPF/GHtIROADUdTEfHrhSo/iU9ERNrJwsIC7777LqZOnYq1a9ciOTkZiYmJWLx4MdauXYtdu3Zh1apVWL9+Pfr06YPp06fjjTfewL1798rtZ/bs2fj9999x5swZhIWFwcbGBsHBwQDKwtHvv/+OTz75BElJSVi7di0WLVqEd999t9J1vvbaa7CxscHgwYMRGxuLlJQUHDhwAJMnT8b169crvR8XFxfExMQgPT0dWVlZj23TokULbNu2DSdOnMDJkyfx6quvVvnqT01guKllz7drgoiX2gIAlsVcwaI/LktcERER1ZRPPvkEH374ISIiIuDh4YG+ffvi559/houLC0aPHo1Zs2bB29sbQNmDw02aNEF4eHi5fXz++eeYPHkyfHx8kJGRgZ07d6rfYPL29saPP/6IjRs3wtPTEx9++CFmz55d7mHipzEzM0NMTAycnJzw0ksvwcPDA6NGjcLDhw+rdCVn9uzZuHr1Kpo3b17udtY/zZs3Dw0aNEBAQAAGDRqEvn37qvtflwTRwC4l5OTkwMrKCtnZ2dW6PFdVK2Kv4NNdZQ+IfTSoNUYGutbZZxMRabOCggKkpKTA1dUVSqVS6nLqTHR0NHr06IF79+5VeQoDfaXpd6Eq39+8clNHxnRthsm9WgIAPv75HH48niZxRURERPqJ4aYOTendEqO7lF2xmb71FHadypC4IiIiIv3Dt6XqkCAI+GCgB/IKS7DxWBomb0yEmUKOHu62UpdGRER17LnnnuNLJrWEV27qmCAI+L8X22KQVxOUqESEf5+AQ8l3pC6LiEhy/KKnmvodYLiRgFwmYO5QL/T2sEVhiQpj1h5DYuq9p29IRKSHHo3XUtcDvZH2efQ7UNkxfJ6Et6UkYiyXYdGr3hi15hjik+/gjVVHsXGsP1o3qbs3uIiItIGRkRHMzMxw+/ZtGBsbQybj/7sNkUqlwu3bt2FmZgYjo+rFE74KLrG8whKErjyCP1Pvo6G5ApvG+aOFbT2pyyIiqlNFRUVISUmRZMA30h4ymQyurq7qcX7+qSrf3ww3WiD7YTFeXX4YZ2/koLGlEpvD/eFobSZ1WUREdUqlUvHWlIFTKBRPvHLHcKOBNoYbALibV4SQpYdwKfMBHK1NsXlcABpbGc5gVkRERJpwED8dZG2uwPoxvnBuaIa0uw/x2orDyHpQKHVZREREOofhRovYWiqxfowvmtY3RfLtPLy+4gju5/MSLRERUVUw3GgZhwZmWD/GF7YWJrhwMxcjVh1FTkGx1GURERHpDIYbLeRiY471Y3xhba7AqevZGLn6GPIKS6Qui4iISCcw3GiplnYW+G50Z1gqjZBw7R7eXHccBcWlUpdFRESk9SQPN0uWLFFPbe7j44PY2FiN7RcvXgwPDw+YmprCzc0N69atq6NK616bJlZYO6ozzBVyxCffQfj3CSgsYcAhIiLSRNJws2nTJkyZMgUzZ85EYmIiunbtiv79+yM1NfWx7SMjIzFjxgzMmjULZ8+exccff4wJEybg559/ruPK604HpwZYFdYJSmMZoi/exqQfElFcykGuiIiInkTScW58fX3h7e2NyMhI9ToPDw8EBwcjIiKiQvuAgAAEBgbiq6++Uq+bMmUKjh8/jri4uEp9praOc/M0cZeyMGrtMRSVqPB8O3ssGNYBcpkgdVlERER1QifGuSkqKkJCQgKCgoLKrQ8KCkJ8fPxjtyksLIRSWX5gO1NTUxw9ehTFxY9/o6iwsBA5OTnlFl3UpaUNvn3dG8ZyAb+cysB7W05CpTKo8ReJiIgqRbJwk5WVhdLSUtjZ2ZVbb2dnh5s3bz52m759+2LFihVISEiAKIo4fvw4Vq1aheLiYmRlZT12m4iICFhZWakXR0fHGu9LXenpboeFw70hlwnY9mc6Zu44U2PTwxMREekLyR8oFoTyt1ZEUayw7pH//e9/6N+/P/z8/GBsbIzBgwcjLCwMwJOnR58xYways7PVS1paWo3WX9f6eTbGvJD2kAnAhqOp+Pjncww4RERE/yBZuLGxsYFcLq9wlSYzM7PC1ZxHTE1NsWrVKuTn5+Pq1atITU2Fi4sLLCwsYGNj89htTExMYGlpWW7RdS94NcGXr3gBANbEX0XErxcYcIiIiP4iWbhRKBTw8fFBVFRUufVRUVEICAjQuK2xsTEcHBwgl8uxceNGPP/880+cRVRfveLjgM9ebAsAWBZzBV/vvciAQ0REBMBIyg+fNm0aQkND0bFjR/j7+2PZsmVITU1FeHg4gLJbSunp6eqxbJKSknD06FH4+vri3r17mDt3Ls6cOYO1a9dK2Q3JvOrrhBKVCh/+dBaL9ydDIZdjcu+WUpdFREQkKUnDTUhICO7cuYPZs2cjIyMDnp6e2L17N5ydnQEAGRkZ5ca8KS0txZw5c3Dx4kUYGxujR48eiI+Ph4uLi0Q9kN4IfxcUlajw6a7zmLcvCQojGcY/11zqsoiIiCQj6Tg3UtDVcW6eZkn0ZXy55yIA4IOBHhjTtZnEFREREdUcnRjnhmrWW8+1wNTerQAAn+46j9UHUySuiIiISBoMN3pkcu+WmNSzBQDg45/P4bvD1ySuiIiIqO4x3OiZaX1aIbx72TM3/9txBhuOPn6eLiIiIn3FcKNnBEHAf/u5YUwXVwDAjG2n8eNx3R64kIiIqCoYbvSQIAiYOdADYQEuAID/bj2FLQnXpS2KiIiojjDc6ClBEPDRoNYI9XOGKALvbTmJ7YkMOEREpP8YbvSYIAj4+IU2eNXXCaIIvPPjSfx0Il3qsoiIiGoVw42ek8kEfDrYE8M6OUIlAlM3ncAvp25IXRYREVGtYbgxADKZgM9ebIshPg5QicDkjSew61SG1GURERHVCoYbAyGTCfj85XZ42dsBpSoRb29MxK+nGXCIiEj/MNwYELlMwJevtMNLHZqiVCVi0oZE7DnDgENERPqF4cbAyGUCvhrihRc7NEWJSsTEHxKx58xNqcsiIiKqMQw3BkguE/D1EC8Et2/yV8D5E7+dZcAhIiL9wHBjoOQyAXOGtsfgvwLOhPUMOEREpB8YbgyYXCZgzhCvcgGHt6iIiEjXMdwYOCO5rFzAmfgDAw4REek2hht6QsDhW1RERKSbGG4IwOMCDsfBISIi3cRwQ2qPAo76LaoNiRzJmIiIdA7DDZVjJJdhztD26oH+3t6YyLmoiIhIpxhJXQBpn0cD/UEAtv2ZjskbT0AUgUFeTaQujYiI6Kl45YYeSy4T8NUrXnjFp2wuqskbE/HTiXSpyyIiInoqhht6IrlMwJcvt8PQjmWziU/ddALbE69LXRYREZFGDDekkUwm4POX2mF4Z0eoRGDajyex+Xia1GURERE9EcMNPZVMJuD/gtvidT8niCLwn62nsPFoqtRlERERPRbDDVWKTCbgk8GeCAtwgSgC07edxvoj16Qui4iIqAKGG6o0QRDw0aDWGBXoCgCYuf0M1sZflbYoIiKif2G4oSoRBAH/e94DY7s1AwB8tPMsVsRekbgqIiKivzHcUJUJgoAZ/d0xoUdzAMCnu84jMjpZ4qqIiIjKMNzQMxEEAe8GuWFyr5YAgC/2XMA3v1+SuCoiIiKGG6oGQRAwtU8rvBvUCgAwNyoJc/ZehCiKEldGRESGjOGGqm1iz5aY0d8dALDwj8v4/NcLDDhERCQZhhuqEeO6N8dHg1oDAJbGXMHHP59jwCEiIkkw3FCNGRnoiv970RMAsCb+KmbuOAOVigGHiIjqFsMN1ajXfJ3x5SvtIAjAD0dS8Z+tp1DKgENERHWI4YZq3NCOjpgf0h5ymYAtCdcxddMJFJeqpC6LiIgMBMMN1YrB7Zti4fAOMJIJ2HnyBib+8CeKShhwiIio9jHcUK0Z0NYeS0N9oJDL8NvZWxj33XEUFJdKXRYREek5hhuqVb087LAyrCOUxjLsv3gbo9YcQ35RidRlERGRHmO4oVrXtWUjrBnZGeYKOeKT7+CNVUeRW1AsdVlERKSnGG6oTvg1a4jvxvjCQmmEY1fv4bUVR3A/v0jqsoiISA8x3FCd8XZqgA1v+sHaXIFT17MxbNlh3M4tlLosIiLSM5KHmyVLlsDV1RVKpRI+Pj6IjY3V2H79+vXw8vKCmZkZ7O3tMXLkSNy5c6eOqqXq8mxqhU1j/WBrYYILN3MRsvQQMrIfSl0WERHpEUnDzaZNmzBlyhTMnDkTiYmJ6Nq1K/r374/U1NTHto+Li8OIESMwevRonD17Fps3b8axY8cwZsyYOq6cqqOlnQV+HOePpvVNcSUrD0O+PYTUO/lSl0VERHpCECWcAMjX1xfe3t6IjIxUr/Pw8EBwcDAiIiIqtP/6668RGRmJ5ORk9bqFCxfiyy+/RFpa2mM/o7CwEIWFf9/6yMnJgaOjI7Kzs2FpaVmDvaGqSr//EK8tP4yrd/JhZ2mC9WN80cLWQuqyiIhIC+Xk5MDKyqpS39+SXbkpKipCQkICgoKCyq0PCgpCfHz8Y7cJCAjA9evXsXv3boiiiFu3bmHLli0YOHDgEz8nIiICVlZW6sXR0bFG+0HPrml9U/w4zh+t7OrhVk4hhi49jDPp2VKXRUREOk6ycJOVlYXS0lLY2dmVW29nZ4ebN28+dpuAgACsX78eISEhUCgUaNy4MerXr4+FCxc+8XNmzJiB7Oxs9fKkKzwkDVtLJTaN9Ufbpla4m1eE4csPI+HaPanLIiIiHSb5A8WCIJT7WRTFCuseOXfuHN5++218+OGHSEhIwJ49e5CSkoLw8PAn7t/ExASWlpblFtIuDcwVWP+mLzq5NEBuQQlCVx5B/OUsqcsiIiIdJVm4sbGxgVwur3CVJjMzs8LVnEciIiIQGBiI9957D+3atUPfvn2xZMkSrFq1ChkZGXVRNtUSS6Ux1o7qjK4tbZBfVIqwNcew79wtqcsiIiIdJFm4USgU8PHxQVRUVLn1UVFRCAgIeOw2+fn5kMnKlyyXywGUXfEh3WamMMKKNzqiT2s7FJWoEP59An46kS51WUREpGMkvS01bdo0rFixAqtWrcL58+cxdepUpKamqm8zzZgxAyNGjFC3HzRoELZt24bIyEhcuXIFBw8exNtvv43OnTujSZMmUnWDapCJkRxLXvPGix2aokQlYsqmE/jhyOOHBiAiInocIyk/PCQkBHfu3MHs2bORkZEBT09P7N69G87OzgCAjIyMcmPehIWFITc3F4sWLcI777yD+vXro2fPnvjiiy+k6gLVAmO5DHOGeMHcRI7vD6fi/e2n8aCwGGO7NZe6NCIi0gGSjnMjhaq8J0/SEkURX/52EZHRZeMaTerZAtP6tHriA+dERKS/dGKcG6KnEQQB/+3njvf6ugEAFv5xGbN2noVKZVB5nIiIqojhhrTehB4t8EmwJwQBWHvoGt7ZfBIlpSqpyyIiIi3FcEM6IdTPGfOGtodcJmB7YjrGr/8TBcWlUpdFRERaiOGGdEZwh6ZY+roPFEYyRJ27hVFrjuFBYYnUZRERkZZhuCGd0ru1HdaO7AxzhRzxyXfw2vLDuJdXJHVZRESkRRhuSOf4N2+IDWP90MDMGCevZ2PI0kPIyH4odVlERKQlGG5IJ7VzqI/N4f5obKnE5cwHeCXyEFKy8qQui4iItADDDemsFrYW2DLeH6425ki//xBDvo3H2RvZUpdFREQSY7ghnebQwAybw/3R2t4SWQ+KMGzpYRy5ckfqsoiISEIMN6TzbOqZYOM4P3R2sUZuYQlGrDrKGcWJiAwYww3pBUulMdaN7ozeHrYoLFFh3PcJ2JpwXeqyiIhIAgw3pDeUxnJEvu6Dl7ybolQl4p3NJ7EyLkXqsoiIqI4x3JBeMZbL8PUrXhgV6AoA+OSXc/jqtwswsPlhiYgMGsMN6R2ZTMD/nvdQT7i5eH8yZmw7zfmoiIgMBMMN6SVBEDChRwtEvNQWMgHYeCwNE37gfFRERIaA4Yb02vDOTljymjcUchl+O3sLYauPIregWOqyiIioFjHckN7r52mPNaM6oZ6JEQ5fuYuQpYeRmVsgdVlERFRLGG7IIAQ0t8HGsX6wqafAuYwcvBJ5CNfucLoGIiJ9xHBDBsOzqRW2hAfAydoMqXfz8XLkIZxJ53QNRET6huGGDIqLjTm2jPeHh70lsh4UYtiyw4hPzpK6LCIiqkEMN2RwbC2U2DTOD37NrPGgsARhq45h16kMqcsiIqIawnBDBslSaYw1IztjQNvGKCpVYeKGP7E2/qrUZRERUQ1guCGDpTSWY+Fwb4T6OUMUgY92nuVoxkREeoDhhgyaXCZg9uA2eKdPKwBloxn/Z8spjmZMRKTDGG7I4AmCgEm9WuLzv0Yz3pxwHWO/S0B+UYnUpRER0TNguCH6y7DOTlga2hEmRjL8cSETw5cfwZ0HhVKXRUREVcRwQ/QPfVrb4Yc3fVHfzBgn0+7jlW8PIe1uvtRlERFRFTDcEP2Lj7M1toQHoGl9U6Rk5eHFJfEc7I+ISIcw3BA9Rgvbetj2VoB6sL+QpYcQe+m21GUREVElMNwQPYGdZdlgfwHNGyKvqBQjVx/D1oTrUpdFRERPwXBDpIGl0hirR3bCC15NUKIS8c7mk1i8/zLHwiEi0mIMN0RPYWIkx/yQ9hjXrRkA4KvfLuJ/P51BqYoBh4hIGzHcEFWCTCZgxgAPfDSoNQQB+P5wKsK/T8DDolKpSyMion9huCGqgpGBrljyqjcURjJEnbuF4csPcywcIiItw3BDVEX929pj/ZiysXBOpN3Hy5HxuJqVJ3VZRET0F4YbomfQycUaW8cHwKGBKa7eycdLkfFITL0ndVlERASGG6Jn1rxR2Vg4bZta4W5eEYYvP4y9Z29KXRYRkcFjuCGqBlsLJTaO9UMPt0YoKFZh3PcJWBt/VeqyiIgMGsMNUTWZmxhh+YiOGN7ZCaIIfLTzLP5v1zmo+Ko4EZEkGG6IaoCRXIbPXvTEf/q5AQCWx6Zg4oY/UVDMV8WJiOoaww1RDREEAW891wILhrWHsVzA7tM38dqKI7ibVyR1aUREBkXycLNkyRK4urpCqVTCx8cHsbGxT2wbFhYGQRAqLG3atKnDiok0G9y+KdaN8oWl0ggJ1+7hpSUHkcJXxYmI6oyk4WbTpk2YMmUKZs6cicTERHTt2hX9+/dHamrqY9svWLAAGRkZ6iUtLQ3W1tYYMmRIHVdOpJl/84bY9tY/XhVfchDHr96VuiwiIoMgiBLOAOjr6wtvb29ERkaq13l4eCA4OBgRERFP3X7Hjh146aWXkJKSAmdn50p9Zk5ODqysrJCdnQ1LS8tnrp2oMm7nFmLM2mM4eT0bCiMZ5gzxwiCvJlKXRUSkc6ry/S3ZlZuioiIkJCQgKCio3PqgoCDEx8dXah8rV65E7969NQabwsJC5OTklFuI6kojCxNsHOuPoNZ2KCpRYdKGRCyJ5qziRES1SbJwk5WVhdLSUtjZ2ZVbb2dnh5s3nz4QWkZGBn799VeMGTNGY7uIiAhYWVmpF0dHx2rVTVRVpgo5Il/3wahAVwDAl3suYsa20yguVUlcGRGRfpL8gWJBEMr9LIpihXWPs2bNGtSvXx/BwcEa282YMQPZ2dnqJS0trTrlEj0TuUzAh4NaY9ag1pAJwMZjaRi5+hhyCoqlLo2ISO9IFm5sbGwgl8srXKXJzMyscDXn30RRxKpVqxAaGgqFQqGxrYmJCSwtLcstRFIJC3TF8hEdYaaQI+5yFl6JjMf1e/lSl0VEpFckCzcKhQI+Pj6Iiooqtz4qKgoBAQEatz1w4AAuX76M0aNH12aJRLWil4cdfhznDztLEyTdeoDgxfE4kXZf6rKIiPSGpLelpk2bhhUrVmDVqlU4f/48pk6ditTUVISHhwMou6U0YsSICtutXLkSvr6+8PT0rOuSiWqEZ1Mr7JgQCA97S2Q9KMSwZYfw6+kMqcsiItILkoabkJAQzJ8/H7Nnz0b79u0RExOD3bt3q99+ysjIqDDmTXZ2NrZu3cqrNqTz7K1MsTncXz3p5vj1f+LbA8l8k4qIqJokHedGChznhrRNSakKn+46jzV/zSYe0tERn77oCWO55M/7ExFpDZ0Y54aIyhjJZZj1Qhv1m1SbjqfhjVVHkZ3PN6mIiJ4Fww2RlggLdMXKNzrBXCFHfPIdvBh5EFc5JxURUZUx3BBpkR7uttgyPgBNrJS4cjsPwUsO4siVO1KXRUSkUxhuiLSMh70ldkwIhJeDFe7nF+P1lUewJeG61GUREekMhhsiLWRrqcSmcf4Y2NYexaUi3t18El/suQCVyqCe/ycieiYMN0RaSmksx8LhHTCxRwsAQGR0MsavT0B+UYnElRERaTeGGyItJpMJeLevG+aFeEEhl+G3s7cw5NtDyMh+KHVpRERai+GGSAe82MEBG8b6oqG5Amdv5GDwooM4ySkbiIgei+GGSEf4OFtjx4RAtLKrh8zcQgxdegg/n7whdVlERFqH4YZIhzham2Hr+AD0dLdFYYkKkzYkYl5UEh80JiL6B4YbIh1joTTG8hEd8WZXVwDAgt8vYdKGRDwsKpW4MiIi7cBwQ6SD5DIBMwe2xpcvt4OxXMCu0xkYuvQQbmYXSF0aEZHkGG6IdNjQTo5YP8YP1uYKnE7PxguL4nCCDxoTkYFjuCHScZ1drfHThEC42VmoHzT+6US61GUREUmG4YZIDzham2HrWwHo7WGLohIVJm88wRGNichgMdwQ6Yl6JkZYFtoR459rDqBsROOx3yXgQSFHNCYiw8JwQ6RHZDIB/+3nXjaisZEM+87fwktLDiL1Tr7UpRER1RmGGyI99GIHB/w4zh+2FiZIuvUALyyOQ/zlLKnLIiKqEww3RHqqvWN9/DypC7wcrHA/vxihq45i3aGrEEU+h0NE+o3hhkiP2VkqsWmcP17s0BSlKhEf/nQW728/jaISldSlERHVGoYbIj2nNJZj7lAvzOjvDkEANhxNw6vLD+N2bqHUpRER1QqGGyIDIAgCxnVvjlVhnWChNMLxa/fwwqI4nL6eLXVpREQ1juGGyID0cLPFjgmBaNbIHBnZBXjl23gO+EdEeofhhsjANG9UDzsmBKKHWyMU/jXgX8Tu8yjlgH9EpCcYbogMkKXSGCve6KQe8G9pzBWErT6K7PxiiSsjIqo+hhsiAyX/a8C/Ra92gKmxHLGXsvDC4jgk3cqVujQiomphuCEycM+3a4Kt4wPQtL4prt3JR/Dig9hz5qbUZRERPbMqh5uwsDDExMTURi1EJJHWTSzx86Qu8G/WEPlFpQj/PgFz9l7kxJtEpJOqHG5yc3MRFBSEli1b4rPPPkN6Ot+0INIH1uYKfDe6M0YFugIAFv5xGaPXHkP2Qz6HQ0S6pcrhZuvWrUhPT8fEiROxefNmuLi4oH///tiyZQuKi/mPIJEuM5LL8OGg1pgX4gUTIxn2X7yN4MUHcYnP4RCRDnmmZ24aNmyIyZMnIzExEUePHkWLFi0QGhqKJk2aYOrUqbh06VJN10lEdejFDg7q53BSsvIQvPggfj2dIXVZRESVUq0HijMyMrB3717s3bsXcrkcAwYMwNmzZ9G6dWvMmzevpmokIgl4NrXCzomB8G/WEHlFpRi//k98secCx8MhIq0niFWcIri4uBg7d+7E6tWrsXfvXrRr1w5jxozBa6+9BgsLCwDAxo0bMX78eNy7d69Wiq6OnJwcWFlZITs7G5aWllKXQ6T1SkpV+GLPBSyPTQEAdG1pg2+GdUADc4XElRGRIanK97dRVXdub28PlUqF4cOH4+jRo2jfvn2FNn379kX9+vWrumsi0kJGchlmDmwNz6ZW+O/WU4i9lIVBi+KwNNQHbZpYSV0eEVEFVb5y891332HIkCFQKpW1VVOt4pUbomd3PiMH475LQOrdfJgYyRDxUlu85O0gdVlEZACq8v1d5XCj6xhuiKrnfn4RJm88gQNJtwEAb/g7Y+bA1lAYcUxQIqo9Vfn+5r9GRFQl9c0UWBXWCW/3bAEAWHvoGoYvP4xbOQUSV0ZEVIbhhoiqTC4TMC3IDStGdISF0ggJ1+7h+YVxOJpyV+rSiIgYbojo2fVubYedE7vAzc4Ct3ML8eryw1gVlwIDu9tNRFqG4YaIqsXVxhzbJwTgBa8mKFGJmP3LOUzakIi8whKpSyMiA8VwQ0TVZqYwwoJh7fHRoNYwkgn45VQGghcfRPLtB1KXRkQGiOGGiGqEIAgYGeiKjWP9YGthgkuZDzB4EadtIKK6J3m4WbJkCVxdXaFUKuHj44PY2FiN7QsLCzFz5kw4OzvDxMQEzZs3x6pVq+qoWiJ6mo4u1vjl7S7o7GqNB4UlGL/+T/zfrnMoLlVJXRoRGQhJw82mTZswZcoUzJw5E4mJiejatSv69++P1NTUJ24zdOhQ/P7771i5ciUuXryIDRs2wN3dvQ6rJqKnsbVQYv0YX4zt1gwAsDw2Ba8tP4JMvi5ORHVA0kH8fH194e3tjcjISPU6Dw8PBAcHIyIiokL7PXv2YNiwYbhy5Qqsra2f6TM5iB9R3dpzJgPvbj6FB4UlaGRhgoXDO8CvWUOpyyIiHaMTg/gVFRUhISEBQUFB5dYHBQUhPj7+sdvs3LkTHTt2xJdffommTZuiVatWePfdd/Hw4cMnfk5hYSFycnLKLURUd/p52mPnxMByr4tHRifzdXEiqjWShZusrCyUlpbCzs6u3Ho7OzvcvHnzsdtcuXIFcXFxOHPmDLZv34758+djy5YtmDBhwhM/JyIiAlZWVurF0dGxRvtBRE/XrFE9bJ8QgBc7NIVKBL7YcwFvrktA9sNiqUsjIj0k+QPFgiCU+1kUxQrrHlGpVBAEAevXr0fnzp0xYMAAzJ07F2vWrHni1ZsZM2YgOztbvaSlpdV4H4jo6cwURpg71AufvdgWCrkM+87fwvMLY3EmPVvq0ohIz0gWbmxsbCCXyytcpcnMzKxwNecRe3t7NG3aFFZWVup1Hh4eEEUR169ff+w2JiYmsLS0LLcQkTQEQcCrvk7YOj4ADg1MkXb3IV6KjMcPR1J5m4qIaoxk4UahUMDHxwdRUVHl1kdFRSEgIOCx2wQGBuLGjRt48ODvgcGSkpIgk8ng4OBQq/USUc1p62CFXZO6oreHLYpKVHh/+2lM+/Ek8os4qjERVZ+kt6WmTZuGFStWYNWqVTh//jymTp2K1NRUhIeHAyi7pTRixAh1+1dffRUNGzbEyJEjce7cOcTExOC9997DqFGjYGpqKlU3iOgZWJkZY1loR0zv7w65TMD2xHQMXnQQl27lSl0aEek4ScNNSEgI5s+fj9mzZ6N9+/aIiYnB7t274ezsDADIyMgoN+ZNvXr1EBUVhfv376Njx4547bXXMGjQIHzzzTdSdYGIqkEmExDevTl+GOOrHtX4hUUHsSMxXerSiEiHSTrOjRQ4zg2RdrqdW4gpmxJx8PIdAMDwzo74aFAbKI3lEldGRNpAJ8a5ISL6p0YWJlg3yheTe7WEIAAbjqbhxSXxuMLJN4moihhuiEhryGUCpvZphe9G+cKmngLnM3IwaGEcfj55Q+rSiEiHMNwQkdbp0tIGu97uCl9Xa+QVlWLShkTM3H4aBcWlUpdGRDqA4YaItJKdZdnkmxN7tIAgAOuPpPI2FRFVCsMNEWktI7kM7/Z1w9qRndHQ/O/bVD+d4NtURPRkDDdEpPW6tWqE3ZP/vk01eeMJzNh2Cg+LeJuKiCpiuCEinfDoNtXbPVuo36YKXsxB/4ioIoYbItIZRnIZpgW5/fU2lQku3srFC4sO4sfjaZybiojUGG6ISOd0aWmDXyd3RZcWNnhYXIr/bDmFaT+exINCzk1FRAw3RKSjygb964z3+rqp56YatDAOZ9KzpS6NiCTGcENEOksmEzChRwtsHOuHJlZKpGTl4aUl8Vh9MIW3qYgMGMMNEem8Ti7W2D25K/q0tkNRqQof/3wOb65LwL28IqlLIyIJMNwQkV6ob6bAslAffPxCGyjkMuw7fwsDvonFkSt3pC6NiOoYww0R6Q1BEPBGgAu2TwhAMxtzZGQXYPjyw5gXlYSSUpXU5RFRHWG4ISK906aJFX6e1AWv+DhAJQILfr+EV5cfwY37D6UujYjqAMMNEeklcxMjfD3ECwuGtUc9EyMcvXoX/RfEYs+ZDKlLI6JaxnBDRHptcPum2PV2F3g5WCH7YTHCv/8TM7ad5tQNRHqM4YaI9J5zQ3NsDg9AePfmf03dkIpBi+Jw7kaO1KURUS1guCEig6AwkmF6f3d8P9oXthYmuJz5AMFLDnJMHCI9xHBDRAYlsIUN9kzpht4etigqKRsTZ+SaY7idWyh1aURUQxhuiMjgWJsrsHxER8we3AYmRjJEX7yN/gtisP9CptSlEVENYLghIoMkCAJG+Ltg58QucLOzQNaDIoxccwyzdp5FQTEfNibSZQw3RGTQ3Bpb4KeJgQgLcAEArIm/isGLDuLCTT5sTKSrGG6IyOApjeWY9UIbrA7rBJt6Cly8lYsXFh3EqrgUqFR82JhI1zDcEBH9pYe7LfZM6Yae7mUPG8/+5RzC1hxDZk6B1KURURUw3BAR/YNNPROsfKMjPvnrYeOYpNvotyAWe8/elLo0Iqokhhsion8RBAGh/i74ZVIXeNhb4m5eEcZ+l4DpW08hr7BE6vKI6CkYboiInqClnQV2TAjAuO7NIAjAxmNpGPhNLBJT70ldGhFpwHBDRKSBiZEcM/p74IcxfmhipcTVO/l45dtDmBeVhJJSldTlEdFjMNwQEVWCf/OG+HVKN7zg1QSlKhELfr+El789hCu3H0hdGhH9C8MNEVElWZka45vhHbBgWHtYKI1wMu0+Bn4Th+8PX+P8VERahOGGiKiKBrdvit+mdENA84Z4WFyKD3acwSi+Mk6kNRhuiIieQZP6pvh+tC8+GOgBhZEM+y/eRt/5Mfj1dIbUpREZPIYbIqJnJJMJGNO1GX6e2AWt7S1xL78Y49f/iWmbTiCnoFjq8ogMFsMNEVE1uTW2wI4JgZjQozlkArAtMR395sUg/nKW1KURGSSGGyKiGqAwkuG9vu7YHO4P54ZmuJFdgFdXHMGsnWfxsIizjBPVJYYbIqIa5ONsjd1vd8Xrfk4AymYZH/hNLE6k3Ze2MCIDwnBDRFTDzE2M8GlwW6wZ2Ql2lia4kpWHlyPjMWfvRRSVcOA/otrGcENEVEuec7PF3indMbh92cB/C/+4jODFB3HhZo7UpRHpNYYbIqJaZGVmjAXDOmDxq95oYGaMcxk5GLQwDov3X+b0DUS1hOGGiKgODGxnj71Tu6O3hx2KS0V89dtFvPztISRz+gaiGsdwQ0RURxpZmGD5CB/MGeKlnr5hwIJYrIi9glIVp28gqimSh5slS5bA1dUVSqUSPj4+iI2NfWLb6OhoCIJQYblw4UIdVkxE9OwEQcDLPg7YO7Ubura0QWGJCp/uOo9hyw7halae1OUR6QVJw82mTZswZcoUzJw5E4mJiejatSv69++P1NRUjdtdvHgRGRkZ6qVly5Z1VDERUc2wtzLFulGdEfFSW5gr5Dh29R76LYjBmoMpUPEqDlG1CKKEU9n6+vrC29sbkZGR6nUeHh4IDg5GREREhfbR0dHo0aMH7t27h/r161fqMwoLC1FYWKj+OScnB46OjsjOzoalpWW1+0BEVF3X7+XjP1tOIT75DgDA19UaX73iBaeGZhJXRqQ9cnJyYGVlVanvb8mu3BQVFSEhIQFBQUHl1gcFBSE+Pl7jth06dIC9vT169eqF/fv3a2wbEREBKysr9eLo6Fjt2omIapJDAzN8P9oXnwxuAzOFHEdS7qLv/Bisjb/KqzhEz0CycJOVlYXS0lLY2dmVW29nZ4ebN28+dht7e3ssW7YMW7duxbZt2+Dm5oZevXohJibmiZ8zY8YMZGdnq5e0tLQa7QcRUU2QyQSE+rvgtynd4NfMGg+LS/HRzrMYvvwwrt3hszhEVWEkdQGCIJT7WRTFCusecXNzg5ubm/pnf39/pKWl4euvv0a3bt0eu42JiQlMTExqrmAiolrkaG2GH8b4Yf2Ra4j49QKOpNxFv/mx+E8/N7zh7wKZ7PH/PhLR3yS7cmNjYwO5XF7hKk1mZmaFqzma+Pn54dKlSzVdHhGRZB5dxdkz+e+rOB//fA4hyw4hhW9UET2VZOFGoVDAx8cHUVFR5dZHRUUhICCg0vtJTEyEvb19TZdHRCQ5p4ZlV3E+Dfb8+42q+TFYHsNxcYg0kfS21LRp0xAaGoqOHTvC398fy5YtQ2pqKsLDwwGUPS+Tnp6OdevWAQDmz58PFxcXtGnTBkVFRfj++++xdetWbN26VcpuEBHVGplMwOt+znjOrRFmbDuN2EtZ+L/d57HrdAa+fKUdWtlZSF0ikdaRNNyEhITgzp07mD17NjIyMuDp6Yndu3fD2dkZAJCRkVFuzJuioiK8++67SE9Ph6mpKdq0aYNdu3ZhwIABUnWBiKhOODQww7pRnbHpWBr+b9d5nEi7j+e/icOkni0Q/lxzGMslH5OVSGtIOs6NFKrynjwRkTbKyH6ID7afwe8XMgEAHvaW+OqVdvBsaiVxZUS1RyfGuSEiomdjb2WKFW90xPyQ9qhvZozzGTkYvPggvthzAQXFpVKXRyQ5hhsiIh0kCAKCOzRF1NTuGNjWHqUqEZHRyRiwIBbHrt6VujwiSTHcEBHpsEYWJlj8mje+fd0HjSxMcCUrD0O+PYQPfzqDB4UlUpdHJAmGGyIiPdDPszH2Te2OkI5lU8ysO3QNQXMP4I8LtySujKjuMdwQEekJKzNjfPFKO6wf4wsnazPcyC7AqDXH8faGRNx5UPj0HRDpCYYbIiI9E9jCBnumdMWbXV0hE4CdJ2+g99wD2PbndRjYC7JkoBhuiIj0kJnCCDMHtsaOCYFwb2yBe/nFmPbjSYxYdRSpd/KlLo+oVjHcEBHpsXYO9fHzpC54r68bFEYyxF7KQtD8A1gWk4ySUpXU5RHVCoYbIiI9ZyyXYUKPFtgzuSv8mlmjoFiFz3ZfwODFB3H6erbU5RHVOIYbIiID0axRPWx40w9fvNwWlkojnL2Rg8GL4/DpL+eQx9fGSY8w3BARGRBBEBDSyQn73umOQV5NoBKBFXEpCJoXw9fGSW8w3BARGSBbCyUWDu+A1SM7oWl9U6Tff4hRa45jwg9/IjOnQOryiKqF4YaIyID1cLNF1LRu6tfGd53KQK+5B/D94WtQqfjaOOkmhhsiIgP36LXxnRO7oJ2DFXILSvDBjjN4+dt4XLiZI3V5RFXGcENERAAAz6ZW2P5WIGYNao16JkZITL2P57+JQ8Sv55FfxAeOSXcw3BARkZpcJiAs0BVR07qhX5vGKFGJWHrgCvrM5QPHpDsYboiIqAJ7K1N8G+qDFSM6lnvgOPy7BGRkP5S6PCKNGG6IiOiJere2Q9S0bhjXvRnkMgF7zt5E7zkHsCL2Ckc4Jq3FcENERBqZKYwwo78Hdr3dBd5O9ZFXVIpPd53H8wvjkHDtntTlEVXAcENERJXi3tgSW8ID8PlLbVHfzBgXbubi5ch4TN96CvfyiqQuj0iN4YaIiCpNJhMwrLMTfp/WHUN8HAAAG4+loeecaGw6lsqxcUgrCKIoGtRvYk5ODqysrJCdnQ1LS0upyyEi0mlHU+7igx2nkXTrAQDA26k+Pg1ui9ZN+O8r1ayqfH8z3BARUbUUl6qw5uBVzN+XhLyiUsgE4I0AF0zr0woWSmOpyyM9UZXvb96WIiKiajGWy/Bmt2bY9053DGxrD5UIrD54FT3nHMCOxHQY2P+hSQvwyg0REdWomKTb+GjnWaRk5QEAOrta45PBnnBrbCFxZaTLeFtKA4YbIqLaV1hSihWxKVj4xyUUFKsglwkYGeCCyb1b8lYVPRPeliIiIkmZGMkxoUcL7JvWHX3b2KFUJWJFXAp6zjmA7YnXeauKahWv3BARUa3bfzETH+88i6t38gEAnVwa4OMXPPlWFVUab0tpwHBDRCSNR7eqFv1xGQ+Ly96qCvVzxrQ+brAy460q0oy3pYiISOs8ulX1+z/eqlp76Bp6zInGhqOpKOUAgFRDeOWGiIgkcfByFmbtPItLmWUDALZtaoWPB7eBt1MDiSsjbcTbUhow3BARaY/iUhXWHbqG+VFJyC0sAQC85N0U0/u5w9ZSKXF1pE0YbjRguCEi0j63cwvx5Z4L2JxwHQBgrpBjUq+WGBnoAhMjucTVkTZguNGA4YaISHudSLuPWTvP4kTafQCAq405/ve8B3q620lbGEmO4UYDhhsiIu2mUonYlpiOz3+9gKwHhQCA59wa4YOBrdHCtp7E1ZFUGG40YLghItINuQXFWPTHZaw6mILiUhFGMgFvBLjg7V4tYWXKV8cNDcONBgw3RES6JSUrD/+36xz2nc8EADQ0V2BaUCsM6+QEuUyQuDqqKww3GjDcEBHppgNJtzH757NIvl02Iad7Ywt8OKg1AprbSFwZ1QWGGw0YboiIdFdxqQrfH76G+fsuIfthMQCgbxs7vD/AA84NzSWujmoTw40GDDdERLrvXl4R5u9LwvdHykY2VshlGBnoggk9W8CSs47rJYYbDRhuiIj0R9KtXHzyyznEXsoCUPY8ztQ+rTCskyOM5JxhSJ/o1NxSS5YsgaurK5RKJXx8fBAbG1up7Q4ePAgjIyO0b9++dgskIiKt1crOAutGdcbqsE5o3sgcd/KK8MGOMxj4TRxiL92WujySiKThZtOmTZgyZQpmzpyJxMREdO3aFf3790dqaqrG7bKzszFixAj06tWrjiolIiJtJQgCerjbYs+Ubpg1qDXqmxnj4q1chK48ipGrj+LSrVypS6Q6JultKV9fX3h7eyMyMlK9zsPDA8HBwYiIiHjidsOGDUPLli0hl8uxY8cOnDhxotKfydtSRET67X5+ERb+cRnrDl1FcakIuUzA8M6OmNq7FRrWM5G6PHpGOnFbqqioCAkJCQgKCiq3PigoCPHx8U/cbvXq1UhOTsZHH31Uqc8pLCxETk5OuYWIiPRXfTMF/vd8a+yd2h1929ihVCXi+8Op6P5VNJZEX0ZBcanUJVItkyzcZGVlobS0FHZ25ecLsbOzw82bNx+7zaVLlzB9+nSsX78eRkZGlfqciIgIWFlZqRdHR8dq105ERNrP1cYcS0M7YuNYP7RtaoUHhSX4cs9F9JpzADsS06FSGdT7NAZF8geKBaH86JKiKFZYBwClpaV49dVX8fHHH6NVq1aV3v+MGTOQnZ2tXtLS0qpdMxER6Q6/Zg3x04RAzAvxgr2VEun3H2LKphMIXnIQh5LvSF0e1YLKXf6oBTY2NpDL5RWu0mRmZla4mgMAubm5OH78OBITEzFx4kQAgEqlgiiKMDIywt69e9GzZ88K25mYmMDEhPdYiYgMmUwm4MUODujvaY+VcSlYsv8yTl3PxvDlh9HbwxbT+7ujha2F1GVSDZHsyo1CoYCPjw+ioqLKrY+KikJAQECF9paWljh9+jROnDihXsLDw+Hm5oYTJ07A19e3rkonIiIdpTSWY0KPFoh+rwde9yubm2rf+Uz0nR+LmdtP43ZuodQlUg2Q7MoNAEybNg2hoaHo2LEj/P39sWzZMqSmpiI8PBxA2S2l9PR0rFu3DjKZDJ6enuW2t7W1hVKprLCeiIhIk0YWJvg0uC3CAlzxxZ4LiDp3C+uPpGJHYjrGdmuOMV1dYW4i6VckVYOkRy4kJAR37tzB7NmzkZGRAU9PT+zevRvOzs4AgIyMjKeOeUNERPSsWtjWw/IRHXHkyh18tvs8Tl7Pxrx9Sfj+yDVM6d0SIR050rEu4vQLREREKHuhZdfpDHy55yJS7+YDAJo3Msd/+rkjqLXdY192obrDuaU0YLghIiJNikpU+OHINXzzx2XczSsCAPg4N8CM/u7o6GItcXWGi+FGA4YbIiKqjJyCYiw7cAUr4q6goFgFAOjtYYf/9nNDSzu+WVXXGG40YLghIqKquJVTgPn7LuHH42koVYmQCcDL3g6Y2qcVmtQ3lbo8g8FwowHDDRERPYvLmQ/w1W8X8NvZWwAAhZEMb/g7463nWqCBuULi6vQfw40GDDdERFQdf6bewxe/XsCRlLsAAAsTI4zr3gyjurjCTMHXx2sLw40GDDdERFRdoigiOuk2vvj1Ai7czAUA2NQzwdu9WmBYJycojPj6eE1juNGA4YaIiGqKSiVi58kbmBuVpH593NHaFFN7t8Lg9k0hl/H18ZrCcKMBww0REdW0ohIVNh1LxTd/XFZP4eBmZ4F3glqhD8fIqREMNxow3BARUW3JLyrB6oNXsfRAMnIKSgAAXo718Z++bghsYSNxdbqN4UYDhhsiIqpt2fnFWBabjFVxV/GwuBQA4N+sId7t6wYf5wYSV6ebGG40YLghIqK6kplbgCX7k7H+yDUUl5Z93fZ0t8U7Qa3QpomVxNXpFoYbDRhuiIiorl2/l49vfr+ErX+mo1RV9rU7sK09pvZpiRa2HO24MhhuNGC4ISIiqVy5/QDz9l3CzydvAABkAhDcvikm924J54bmElen3RhuNGC4ISIiqZ3PyMG8qCTsPVc22rFcJmCIjwMm9WqJppzS4bEYbjRguCEiIm1xMu0+5kYl4UDSbQCAsVzAsE5OmNCjBRpbKSWuTrsw3GjAcENERNrm+NW7mLM3CYeu3AFQNm/Va75OGP9cc9haMOQADDcaMdwQEZG2OpR8B3OjLuLY1XsAAKWxDK/7OmNc9+ZoZGEicXXSYrjRgOGGiIi0mSiKOHj5DuZEXURi6n0AZSEn1K8s5NjUM8yQw3CjAcMNERHpAlEUcSDpNubtu4STafcBAKbGcozwd8ab3ZoZXMhhuNGA4YaIiHSJKIqIvngb8/Yl4dT1bABlISfU3xljDSjkMNxowHBDRES6SBRF7L+YiQX7LuHkP0LO635OGNtN/5/JYbjRgOGGiIh02aMrOfP3JalDjtJYhtd8nTGuWzPYWurn21UMNxow3BARkT5Qh5zf/34mR2Ekw6udnRDevbnejZPDcKMBww0REekTURQRcykLC/Yl4c+/3q5SyGUY2skB4d2bw6GBmbQF1hCGGw0YboiISB+Jooj45DtYsO8Sjl69CwAwkgl42dsBb/VorvNzVzHcaMBwQ0RE+u7wlTv45vdLiE8uG/FYLhPwglcTTOjRXGdnIWe40YDhhoiIDEXCtbtY+MdlRF8sm7tKEID+no0xoUcLtGliJXF1VcNwowHDDRERGZrT17OxaP8l/Hb2lnpdT3dbTOjRHD7O1hJWVnkMNxow3BARkaG6eDMXi/dfxi+nbkD117e/XzNrTOjRAl1a2EAQBGkL1IDhRgOGGyIiMnQpWXn4NjoZ2xKvo7i0LAZ4OVjhrR4t0MfDDjKZ9oUchhsNGG6IiIjK3Lj/EMtirmDjsVQUFKsAAC1t6yG8e3O80L4JjOUyiSv8G8ONBgw3RERE5WU9KMTqgylYd+gacgtKAABN65tibLdmGNrREaYKucQVMtxoxHBDRET0eDkFxfj+8DWsiktB1oMiAEBDcwVGBrog1M8FVmbG0tXGcPNkDDdERESaFRSXYvPxNCyNuYLr9x4CAMwVcrzq64TRXZpJMrUDw40GDDdERESVU1Kqwq7TGYiMTsaFm7kAAGO5gOD2TTGue7M6HRCQ4UYDhhsiIqKqeTRJZ2R0snpqBwDo7WGH8c81q5OxchhuNGC4ISIienYJ1+5h6YFk7D3394CAHZ0bYGy3Zuhdi6+RM9xowHBDRERUfZczH2BZTDJ2JN5AUWnZa+TNGpljbNdmCO7QFErjmn3DiuFGA4YbIiKimnMrpwCrD17F+iN/v0beyMIEe6d0QwNzRY19TlW+v7VndB4iIiLSOXaWSkzv74746T3xwUAP2Fsp0dK2Xo0Gm6oykuyTiYiISG9YKI0xpmszjPB3wd28Iklr4ZUbIiIiqjEKI5kk4+D8k+ThZsmSJXB1dYVSqYSPjw9iY2Of2DYuLg6BgYFo2LAhTE1N4e7ujnnz5tVhtURERKTtJL0ttWnTJkyZMgVLlixBYGAgli5div79++PcuXNwcnKq0N7c3BwTJ05Eu3btYG5ujri4OIwbNw7m5uYYO3asBD0gIiIibSPp21K+vr7w9vZGZGSkep2HhweCg4MRERFRqX289NJLMDc3x3fffVep9nxbioiISPfoxNtSRUVFSEhIQFBQULn1QUFBiI+Pr9Q+EhMTER8fj+7duz+xTWFhIXJycsotREREpL8kCzdZWVkoLS2FnZ1dufV2dna4efOmxm0dHBxgYmKCjh07YsKECRgzZswT20ZERMDKykq9ODo61kj9REREpJ0kf6BYEMoP0yyKYoV1/xYbG4vjx4/j22+/xfz587Fhw4Yntp0xYways7PVS1paWo3UTURERNpJsgeKbWxsIJfLK1ylyczMrHA1599cXV0BAG3btsWtW7cwa9YsDB8+/LFtTUxMYGJiUjNFExERkdaT7MqNQqGAj48PoqKiyq2PiopCQEBApfcjiiIKCwtrujwiIiLSUZK+Cj5t2jSEhoaiY8eO8Pf3x7Jly5Camorw8HAAZbeU0tPTsW7dOgDA4sWL4eTkBHd3dwBl4958/fXXmDRpkmR9ICIiIu0iabgJCQnBnTt3MHv2bGRkZMDT0xO7d++Gs7MzACAjIwOpqanq9iqVCjNmzEBKSgqMjIzQvHlzfP755xg3bpxUXSAiIiItw1nBiYiISOvpxDg3RERERLWB4YaIiIj0iqTP3Ejh0V04jlRMRESkOx59b1fmaRqDCze5ubkAwJGKiYiIdFBubi6srKw0tjG4B4pVKhVu3LgBCwuLp46ErOtycnLg6OiItLQ0vX94mn3VX4bUX/ZVfxlSf2urr6IoIjc3F02aNIFMpvmpGoO7ciOTyeDg4CB1GXXK0tJS70+mR9hX/WVI/WVf9Zch9bc2+vq0KzaP8IFiIiIi0isMN0RERKRXGG70mImJCT766CODmDiUfdVfhtRf9lV/GVJ/taGvBvdAMREREek3XrkhIiIivcJwQ0RERHqF4YaIiIj0CsMNERER6RWGGx2yZMkSuLq6QqlUwsfHB7GxsU9su23bNvTp0weNGjWCpaUl/P398dtvv5Vrs2bNGgiCUGEpKCio7a48VVX6Gh0d/dh+XLhwoVy7rVu3onXr1jAxMUHr1q2xffv22u5GpVWlv2FhYY/tb5s2bdRttPXYxsTEYNCgQWjSpAkEQcCOHTueus2BAwfg4+MDpVKJZs2a4dtvv63QRhuPbVX7qsvnbFX7quvnbFX7q6vnbEREBDp16gQLCwvY2toiODgYFy9efOp22nDOMtzoiE2bNmHKlCmYOXMmEhMT0bVrV/Tv3x+pqamPbR8TE4M+ffpg9+7dSEhIQI8ePTBo0CAkJiaWa2dpaYmMjIxyi1KprIsuPVFV+/rIxYsXy/WjZcuW6j87dOgQQkJCEBoaipMnTyI0NBRDhw7FkSNHars7T1XV/i5YsKBcP9PS0mBtbY0hQ4aUa6eNxzYvLw9eXl5YtGhRpdqnpKRgwIAB6Nq1KxITE/H+++/j7bffxtatW9VttPXYVrWvunzOVrWvj+jqOVvV/urqOXvgwAFMmDABhw8fRlRUFEpKShAUFIS8vLwnbqM156xIOqFz585ieHh4uXXu7u7i9OnTK72P1q1bix9//LH659WrV4tWVlY1VWKNqWpf9+/fLwIQ792798R9Dh06VOzXr1+5dX379hWHDRtW7Xqrq7rHdvv27aIgCOLVq1fV67T12P4TAHH79u0a2/znP/8R3d3dy60bN26c6Ofnp/5Zm4/tI5Xp6+Poyjn7T5Xpq66fs//0LMdWV8/ZzMxMEYB44MCBJ7bRlnOWV250QFFRERISEhAUFFRufVBQEOLj4yu1D5VKhdzcXFhbW5db/+DBAzg7O8PBwQHPP/98hf8l1rXq9LVDhw6wt7dHr169sH///nJ/dujQoQr77Nu3b6X//mpLTRzblStXonfv3nB2di63XtuO7bN40nE7fvw4iouLNbaR+thWl66cs9Whi+dsTdDVczY7OxsAKvxO/pO2nLMMNzogKysLpaWlsLOzK7fezs4ON2/erNQ+5syZg7y8PAwdOlS9zt3dHWvWrMHOnTuxYcMGKJVKBAYG4tKlSzVaf1U8S1/t7e2xbNkybN26Fdu2bYObmxt69eqFmJgYdZubN29W6++vtlT32GZkZODXX3/FmDFjyq3XxmP7LJ503EpKSpCVlaWxjdTHtrp05Zx9Frp8zlaXrp6zoihi2rRp6NKlCzw9PZ/YTlvOWYObFVyXCYJQ7mdRFCuse5wNGzZg1qxZ+Omnn2Bra6te7+fnBz8/P/XPgYGB8Pb2xsKFC/HNN9/UXOHPoCp9dXNzg5ubm/pnf39/pKWl4euvv0a3bt2eaZ917VlrW7NmDerXr4/g4OBy67X52FbV4/5u/r1em4/ts9DFc7Yq9OGcfVa6es5OnDgRp06dQlxc3FPbasM5yys3OsDGxgZyubxCqs3MzKyQfv9t06ZNGD16NH788Uf07t1bY1uZTIZOnTpJ+j+F6vT1n/z8/Mr1o3HjxtXeZ22oTn9FUcSqVasQGhoKhUKhsa02HNtn8aTjZmRkhIYNG2psI/WxfVa6ds7WFF05Z6tDV8/ZSZMmYefOndi/fz8cHBw0ttWWc5bhRgcoFAr4+PggKiqq3PqoqCgEBAQ8cbsNGzYgLCwMP/zwAwYOHPjUzxFFESdOnIC9vX21a35Wz9rXf0tMTCzXD39//wr73Lt3b5X2WRuq098DBw7g8uXLGD169FM/RxuO7bN40nHr2LEjjI2NNbaR+tg+C108Z2uKrpyz1aFr56woipg4cSK2bduGP/74A66urk/dRmvO2Rp7NJlq1caNG0VjY2Nx5cqV4rlz58QpU6aI5ubm6qftp0+fLoaGhqrb//DDD6KRkZG4ePFiMSMjQ73cv39f3WbWrFninj17xOTkZDExMVEcOXKkaGRkJB45cqTO+/dPVe3rvHnzxO3bt4tJSUnimTNnxOnTp4sAxK1bt6rbHDx4UJTL5eLnn38unj9/Xvz8889FIyMj8fDhw3Xev3+ran8fef3110VfX9/H7lNbj21ubq6YmJgoJiYmigDEuXPniomJieK1a9dEUazY1ytXrohmZmbi1KlTxXPnzokrV64UjY2NxS1btqjbaOuxrWpfdfmcrWpfdf2crWp/H9G1c3b8+PGilZWVGB0dXe53Mj8/X91GW89ZhhsdsnjxYtHZ2VlUKBSit7d3udfx3njjDbF79+7qn7t37y4CqLC88cYb6jZTpkwRnZycRIVCITZq1EgMCgoS4+Pj67BHT1aVvn7xxRdi8+bNRaVSKTZo0EDs0qWLuGvXrgr73Lx5s+jm5iYaGxuL7u7u5f4hlVpV+iuKonj//n3R1NRUXLZs2WP3p63H9tErwE/6vXxcX6Ojo8UOHTqICoVCdHFxESMjIyvsVxuPbVX7qsvnbFX7quvn7LP8HuviOfu4PgIQV69erW6jrees8FcHiIiIiPQCn7khIiIivcJwQ0RERHqF4YaIiIj0CsMNERER6RWGGyIiItIrDDdERESkVxhuiIiISK8w3BAREZFeYbghIiIivcJwQ0RERHqF4YaIiIj0CsMNEem827dvo3Hjxvjss8/U644cOQKFQoG9e/dKWBkRSYETZxKRXti9ezeCg4MRHx8Pd3d3dOjQAQMHDsT8+fOlLo2I6hjDDRHpjQkTJmDfvn3o1KkTTp48iWPHjkGpVEpdFhHVMYYbItIbDx8+hKenJ9LS0nD8+HG0a9dO6pKISAJ85oaI9MaVK1dw48YNqFQqXLt2TepyiEgivHJDRHqhqKgInTt3Rvv27eHu7o65c+fi9OnTsLOzk7o0IqpjDDdEpBfee+89bNmyBSdPnkS9evXQo0cPWFhY4JdffpG6NCKqY7wtRUQ6Lzo6GvPnz8d3330HS0tLyGQyfPfdd4iLi0NkZKTU5RFRHeOVGyIiItIrvHJDREREeoXhhoiIiPQKww0RERHpFYYbIiIi0isMN0RERKRXGG6IiIhIrzDcEBERkV5huCEiIiK9wnBDREREeoXhhoiIiPQKww0RERHplf8H+MDQfns6SycAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(x=\"the_domain\", y=\"exponential\", xlabel=\"x\", ylabel=\"y\");" ] }, { "cell_type": "code", "execution_count": 34, "id": "e31e1718-8ea2-4b87-ace2-81bf31d6fbf9", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(x=\"the_domain\", y=\"polynomial\", xlabel=\"x\", ylabel=\"y\");" ] }, { "cell_type": "markdown", "id": "0f52b6c8-b1f8-4650-88b1-0076465efdde", "metadata": {}, "source": [ "# Bernoulli Polynomials" ] }, { "cell_type": "code", "execution_count": 35, "id": "3e5f2701-09cd-4a99-bc35-0ca5a309b84b", "metadata": {}, "outputs": [], "source": [ "def Bn(n):\n", " for k in range(0, n+1):\n", " terms = [comb(n, k, exact=True) * sp.bernoulli(n-k) * x**k for k in range(0, n+1)]\n", " return sum(terms)" ] }, { "cell_type": "code", "execution_count": 36, "id": "7831e2fe-273e-4334-8c04-25d373dff151", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 1$" ], "text/plain": [ "1" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bn(0)" ] }, { "cell_type": "code", "execution_count": 37, "id": "2ee6a74e-3deb-4b74-9411-83032325847a", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle x - \\frac{1}{2}$" ], "text/plain": [ "x - 1/2" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bn(1)" ] }, { "cell_type": "code", "execution_count": 38, "id": "020abe77-ab89-4597-b011-c121e698027e", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle x^{2} - x + \\frac{1}{6}$" ], "text/plain": [ "x**2 - x + 1/6" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bn(2)" ] }, { "cell_type": "code", "execution_count": 39, "id": "e7853dce-b1a4-41de-9f1e-103795fd361c", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle x^{3} - \\frac{3 x^{2}}{2} + \\frac{x}{2}$" ], "text/plain": [ "x**3 - 3*x**2/2 + x/2" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bn(3)" ] }, { "cell_type": "code", "execution_count": 40, "id": "b742cb05-ed56-416c-bc9e-302f7fb76a8f", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle x^{4} - 2 x^{3} + x^{2} - \\frac{1}{30}$" ], "text/plain": [ "x**4 - 2*x**3 + x**2 - 1/30" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bn(4)" ] }, { "cell_type": "code", "execution_count": 41, "id": "d3c72b99-ab92-42d8-be23-49448c913197", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle x^{5} - \\frac{5 x^{4}}{2} + \\frac{5 x^{3}}{3} - \\frac{x}{6}$" ], "text/plain": [ "x**5 - 5*x**4/2 + 5*x**3/3 - x/6" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bn(5)" ] }, { "cell_type": "code", "execution_count": 42, "id": "fe1d6809-f35d-489a-8cf3-be4222cea9ef", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle x^{6} - 3 x^{5} + \\frac{5 x^{4}}{2} - \\frac{x^{2}}{2} + \\frac{1}{42}$" ], "text/plain": [ "x**6 - 3*x**5 + 5*x**4/2 - x**2/2 + 1/42" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Bn(6)" ] }, { "cell_type": "markdown", "id": "21a86552-79a6-4198-ba44-e07cc9ce2324", "metadata": {}, "source": [ "The term \"Bernoulli polynomials\" was introduced by J.L. Raabe in 1851. The fundamental property of such polynomials is that they satisfy the finite-difference equation\n", "\n", "$$\n", "B_{n}(x+1)−B_{n}(x)= nx^{n−1}\n", "$$\n", "\n", "Source: [Encyclopedia of Mathematics](https://encyclopediaofmath.org/wiki/Bernoulli_polynomials)" ] }, { "cell_type": "code", "execution_count": 43, "id": "3d35423c-7bd0-4b85-a944-6ba7c5cdcada", "metadata": {}, "outputs": [], "source": [ "def check(n, val):\n", " return Bn(n).evalf(subs={x:val+1}) - Bn(n).evalf(subs={x:val})" ] }, { "cell_type": "code", "execution_count": 44, "id": "115d52d1-6888-4dcd-be1e-e273de8e1f89", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 354294.0$" ], "text/plain": [ "354294.000000000" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "check(6, 9)" ] }, { "cell_type": "code", "execution_count": 45, "id": "50f8c982-a651-4c84-ac40-12b750359d4e", "metadata": {}, "outputs": [], "source": [ "def check2(n, val):\n", " return n*val**(n-1)" ] }, { "cell_type": "code", "execution_count": 46, "id": "b56880ba-e274-4d64-9056-5dfbb4e03549", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "354294" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "check2(6, 9)" ] }, { "cell_type": "code", "execution_count": 47, "id": "7ad81a77-49b1-4ddf-8abd-3a10fa5631da", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 800000000000000.0$" ], "text/plain": [ "800000000000000." ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "check(8, 100)" ] }, { "cell_type": "code", "execution_count": 48, "id": "ffde8918-f082-4ae7-8b21-924bba99beb5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "800000000000000" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "check2(8, 100)" ] }, { "cell_type": "code", "execution_count": 49, "id": "8e84f0e2-2dc9-4731-a27d-ea4d5774005f", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 800000.0$" ], "text/plain": [ "800000.000000000" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "check(5, 20)" ] }, { "cell_type": "code", "execution_count": 50, "id": "fe98aafc-e740-4414-9f88-5f34c7cd9add", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "800000" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "check2(5, 20)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.15" } }, "nbformat": 4, "nbformat_minor": 5 }