{ "cells": [ { "cell_type": "markdown", "id": "fb6cab3f-4fb5-4575-8977-54096745d3a7", "metadata": {}, "source": [ "# 1 | BASIC MATHEMATICS USING PYTHON" ] }, { "cell_type": "markdown", "id": "afbdb4d3", "metadata": {}, "source": [ ">Dr J H Klopper

\n", ">Department of Biostatistics and Bioinformatics
\n", ">Milken Institute School of Public Health
\n", ">George Washington University" ] }, { "cell_type": "markdown", "id": "f7248074", "metadata": {}, "source": [ "

This chapter of Algebra for Health Data Science by Dr JH Klopper is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International

" ] }, { "cell_type": "markdown", "id": "638e9cb9", "metadata": {}, "source": [ "- Watch the pencil and paper video lecture [HERE](https://youtu.be/FQwnkxolP_4)\n", "\n", "- Watch the Python video lecture [HERE](https://youtu.be/wwBoL0wbxXg)" ] }, { "cell_type": "markdown", "id": "c105974f", "metadata": {}, "source": [ "All homework questions must be completed to earn creadit for this course. Homework questions are colored blue to make them easier to identify. All homework questions are chaanged each semester so that you must complete them yourself. Do not copy answers from previous students or from the internet." ] }, { "cell_type": "markdown", "id": "49d45e7c", "metadata": {}, "source": [ "## 1.1 Packages used in this chapter" ] }, { "cell_type": "markdown", "id": "ac6a054a-878d-4683-9da8-0bc1f7750959", "metadata": {}, "source": [ "While there are many functions in Python, we can extend the language with packages that contains even more functions." ] }, { "cell_type": "markdown", "id": "68a5d2b7", "metadata": {}, "source": [ "The `sympy` package, short for _symbolic Python_ is a Python package that contains functions for symbolic mathematics. This means that we can use Python to do mathematics in the same way that we would do it by hand. The `sympy` packages turns Python into a computer algebra system (CAS)." ] }, { "cell_type": "markdown", "id": "ef48975e", "metadata": {}, "source": [ "The import keyword is used to import packages into Python. It is typical to use an abbreviation for packages and use the code `import sympy as sym`. This means that we can use the abbreviation `sym` to refer to the `sympy` package and call functions in the package such as `sqrt` (the square root) by typing `sym.sqrt`. By not using an abbreviation, we will have to type `sympy.sqrt` every time we want to use the square root function. The choice is a matter of style." ] }, { "cell_type": "code", "execution_count": 1, "id": "aea67e45-6af5-4ae5-8689-25806f67ca11", "metadata": {}, "outputs": [], "source": [ "import sympy" ] }, { "cell_type": "markdown", "id": "5e2c4a56", "metadata": {}, "source": [ "The `init_printing` function is used to make the output of the `sympy` package look like typeset mathematics. This is because it use LaTeX to print proper mathematical notation. The `init_printing` function has several arguments, which we will not use here." ] }, { "cell_type": "code", "execution_count": 2, "id": "74a2803b-7527-4701-9091-c2590f174c81", "metadata": {}, "outputs": [], "source": [ "sympy.init_printing()" ] }, { "cell_type": "markdown", "id": "02d8d89e", "metadata": {}, "source": [ "Python has a built-in package for mathematics called `math`. The `math` package does not use symbolic mathematics, but rather numerical mathematics. This means that the `math` package will give us numerical answers, while the `sympy` package will give us symbolic answers." ] }, { "cell_type": "code", "execution_count": 3, "id": "c4e7cfd6-68c0-47c8-948e-921748af4b7e", "metadata": {}, "outputs": [], "source": [ "import math" ] }, { "cell_type": "markdown", "id": "085c2e0b", "metadata": {}, "source": [ "The `matplotlib` package is a large Python packages used for generating plots. Here we use one of the models in the package called `pyplot`." ] }, { "cell_type": "code", "execution_count": 4, "id": "35f0e1f3-d7e4-468b-bb21-5f1a5abf7605", "metadata": {}, "outputs": [], "source": [ "from matplotlib import pyplot" ] }, { "cell_type": "markdown", "id": "cffdffff", "metadata": {}, "source": [ "Monitors with high-resolution screen such as those found on Apple computer can print plotrs with more detail. To make use of the detail, we use a magic command as is shown below." ] }, { "cell_type": "code", "execution_count": 5, "id": "ef9c4921", "metadata": {}, "outputs": [], "source": [ "%config InlineBackend.figure_format = 'retina'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While not the focus of this course, we will perform some statistical tests as motivation for the algebra that we want to explore. The `stats` module in the `scipy` package contains functions for statistical tests. We will use the `ttest_ind` function from this module to perform a _t_-test." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from scipy.stats import ttest_ind" ] }, { "cell_type": "markdown", "id": "731a8219", "metadata": {}, "source": [ "Lastly, we import the `numpy` package, short for numerical Python. This package is used for numerical mathematics and is used to create arrays. Arrays are similar to lists, but are more efficient for numerical calculations." ] }, { "cell_type": "code", "execution_count": 7, "id": "a322d30e-ab5f-4a92-aead-07d8f11a031d", "metadata": {}, "outputs": [], "source": [ "import numpy" ] }, { "cell_type": "markdown", "id": "a52500f8", "metadata": {}, "source": [ "## 1.2 Introduction" ] }, { "cell_type": "markdown", "id": "ced589f0", "metadata": {}, "source": [ "We use numbers every day of our lives. We count objects and we consider costs and spending. While counting usually involves the use of whole numbers, we also consider parts of the whole when we cut a pizza into slices. Pizza slices are fractions of the whole and we pay for the pizza using decimal numbers. Numbers are everywhere in the life sciences. We count, add, multiply, calculate means and standard deviations. The list is endless. " ] }, { "cell_type": "markdown", "id": "06e25fb3", "metadata": {}, "source": [ "Computers and most computer languages can do mathematics. However, they do not do mathematics in the same way that we do mathematics by hand. Computers use numerical mathematics, which means that they use numbers to represent quantities. This is different from symbolic mathematics, which means that we use symbols to represent quantities. For example, we use the symbol $\\pi$ to represent the ratio of the circumference of a circle to its diameter and we use the symbols $x$ and $y$ to denote unknowns, and $f$ and $g$ to denote fuctions. With `numpy` and `sympy` Python can do both and we will explore how Python works with numbers and mathematical symbols." ] }, { "cell_type": "markdown", "id": "60251f1a", "metadata": {}, "source": [ "In this textbook, we explore mathematics, and algebra in particular. While being able to use a pencil and paper is part of the visceral experience and understanding of mathematics, we live in an era of powerful computers in our pockets and software on our computers. The calculations in these notebooks will be laid out in detail. We will, though, also make use of modern technology to gain a level of familiarity. We will use technology to verify our results or to simply do the calculations for us. We will use modern technology as a tool to learn about and understand the mathematics. Technology is a companion to our pencils and paper." ] }, { "cell_type": "markdown", "id": "f6a21397", "metadata": {}, "source": [ "Our technology partner will be the Python programming language. This is not a set of notebooks on Python and the material will not teach you how to become a Python programmer. It will simply serve as our calculator instead of the calculator on our phones. Along the way, though, we will come to realize how Python can help us build our intuition for the mathematics and how it helps us understand the mathematics. Python will be our teaching aid when we need it." ] }, { "cell_type": "markdown", "id": "9a74401a", "metadata": {}, "source": [ "In this chapter, we explore basic number types and arithmetic as a foundation to exploring the use of algebra in public health and biomedical research in later notebooks. A proper foundation in algebra can be an enjoyable and simple task. Being comfortable with algebra will allow everyone who goes on to study statistics, to concentrate on the understanding of data and its analysis instead of being _afraid of_ or _sparring with_ the mathematics." ] }, { "cell_type": "markdown", "id": "879044e2-9ec5-4335-bab4-ae7d811a5bd2", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "## 1.3 Number types" ] }, { "cell_type": "markdown", "id": "d91cfa83-a7e3-46d5-9a42-c04b5735d927", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.3.1 Computer number types" ] }, { "cell_type": "markdown", "id": "94d7737c", "metadata": {}, "source": [ "In Python we can refer to any item as an object. There are many object types in Python. Not all of these types are numbers." ] }, { "cell_type": "markdown", "id": "8dcba368-3d2a-40d5-b166-72ffed01db57", "metadata": {}, "source": [ "We use the `type` function to return the type of a Python object. Strings are not numbers or mathematical symbols. They are letter, words, sentences, and paragraphs of text. Strings are denoted by their enclosure in single or double quotes. Below we pass the string `'This is Python.'` to the `type` function." ] }, { "cell_type": "code", "execution_count": 8, "id": "cb8dbff1-182e-4006-bd1c-aae1fa5eaf2e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "str" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type('This is Python.')" ] }, { "cell_type": "markdown", "id": "c785679e", "metadata": {}, "source": [ "Python returns the value `str` to indicate that the object is a string. Next, we pass the number $1$ to the `type` function." ] }, { "cell_type": "code", "execution_count": 9, "id": "a6ccf7f8-cdfe-42ef-a85f-c52b5aed96c3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "int" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(1)" ] }, { "cell_type": "markdown", "id": "723f782b", "metadata": {}, "source": [ "Python returns the value `int` to indicate that the object is an integer. Integers are whole numbers. We can also pass the number $1.0$ to the `type` function." ] }, { "cell_type": "code", "execution_count": 10, "id": "05325bf8-5f7b-4897-a5a1-2a0b0ddb9f36", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "float" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(1.0)" ] }, { "cell_type": "markdown", "id": "67448993", "metadata": {}, "source": [ "We see that $1.0$ is of type `float`. This is short for floating point number. Floating point numbers are numbers with a decimal point. We can also pass the number $1j$ to the `type` function." ] }, { "cell_type": "code", "execution_count": 11, "id": "f1dbb94a-1503-408b-9f15-12d7205b5ea1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "complex" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(1j)" ] }, { "cell_type": "markdown", "id": "9275c257", "metadata": {}, "source": [ "The `1j` symbol is a complex number. Complex numbers are numbers with an imaginary part. The imaginary part is denoted by the symbol $i$ or $j$. In Python, the symbol $j$ is used to denote the imaginary part of a complex number. The symbol $i$ is used to denote the imaginary part of a complex number in mathematics." ] }, { "cell_type": "markdown", "id": "e46e1a79", "metadata": {}, "source": [ "Boolean values are either `True` or `False`. We can pass the boolean values `True` and `False` to the `type` function." ] }, { "cell_type": "code", "execution_count": 12, "id": "df05d68c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "bool" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(True)" ] }, { "cell_type": "markdown", "id": "cc5426c5", "metadata": {}, "source": [ "Python returns the value `bool` to indicate that the object is a Boolean value." ] }, { "cell_type": "code", "execution_count": 13, "id": "9fe2b3c6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "bool" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(False)" ] }, { "cell_type": "markdown", "id": "0290b34a", "metadata": {}, "source": [ "`False` is also a Boolean value as indicated by the returned `bool` type." ] }, { "cell_type": "markdown", "id": "13c6ed59", "metadata": {}, "source": [ "`True` and `False` in Python are stored as $1$ and $0$ respectively. We can add `True` and `False` values together." ] }, { "cell_type": "code", "execution_count": 14, "id": "e366801b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAQRJREFUeJyV0r8rxlEUx/HXg//AaLIzm2VUChnxB4iUQSmdzqBsiI1iVkZiNFJKkWQySlJWvx598330PDx+nbr33B/nfe753Hsr1WrVf62tNsjMdgyiH93owCPOsFm0iHgtYlvqEoxgHT04wjJ20IUNbGdmpeEkXGEAu7WMZQVzOMYwhopElb9oyndwAWsRMVlf3k/2VPrnovsVysxCwlg53f8ThMXyMvYi4uBXKDOnMINLjNbWv4UycwIruEBvRNz/CGXmdHFTOC+Bm/r9L1BmzmIJpyVw+zmmAcrM+VL4Cfoi4q5ZJR+Pm5nj2MILVvHQJP46Irbqv1Fn6VtRaGpmh0XiN0m5UnPC723UAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 2$" ], "text/plain": [ "2" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True + True" ] }, { "cell_type": "code", "execution_count": 15, "id": "547f6c37", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAARRJREFUeJyVkk8rhFEUxn/vZGVilLKiRMY3QFmhJl/CXqOUtcXTo2wtiA/gE7C1sSLfgBkpOyskTXZevboz3bnN68/ZPHXP+Z1zO+fJ8jznvzGUPtieBPaAdWAceALOipSk16ImiyfZngWugQngHLgDFoAVoAUsS3pOJ50EYFvSUdTsANgB9oHNSpSYARrAI3CcNBPQATZsV3sQsBr0QtJnHyG9A1fAMLAUQ/NB2yVLuw9aj6Fa0LcSqPs+FkO/RRY0rwzoVCuBRrt1MdQKWi+B5oK2Y+gyaMN237dtjxSHBT6Am15S0kOxbmAa2EqmGKgCp5I6qSOawUaHtteAW2Ax2Kg4xe73RlKX2576wbAvA6G/xBeerVLc1xXligAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "False + False" ] }, { "cell_type": "code", "execution_count": 16, "id": "1db93f0e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAJFJREFUeJzt0qEKAlEQheFvxarZbBCbvoHRajAKZqOwURjuw/gcBt9DEIxG+8qFDcviwlpM/jBhhhnmzHCKqqp8y7CZpJS2WGGJBUY4R8SucwinuvmFB+afNg1a+REzjHHoJS8iLg2pnTe1N/XiP1Tzu0cUTcOmlDbIkZlgjRuude0ZEWXbe9mo+1ZtWkfmjvINcckbvxdX11QAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 1$" ], "text/plain": [ "1" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True + False" ] }, { "cell_type": "markdown", "id": "26bb69c4", "metadata": {}, "source": [ "We can also pass the value `None` to the `type` function." ] }, { "cell_type": "code", "execution_count": 17, "id": "aa4434a0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "NoneType" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(None)" ] }, { "cell_type": "markdown", "id": "7e666d84", "metadata": {}, "source": [ "`None` indicates that the object has no value and has the specific type `NoneType`. This is different from `False`, which is a Boolean value." ] }, { "cell_type": "markdown", "id": "d739c2e3-425e-4194-8bd2-21bb73b8ea26", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.3.2 Mathematical number types" ] }, { "cell_type": "markdown", "id": "356eae03", "metadata": {}, "source": [ "In mathematics we put the elements of a set in curly braces, $\\{ 1,2,3,4, \\ldots \\}$. A __set__ is any collection of objects, such as all the toppings on a pizza. With respect to numbers, the elememts are just that, numbers Each member (number) is separated by a comma. We also see a set of ellipses, $\\ldots$. Intuitively, we read this as a continuation along, or, following the pattern of elements, before the ellipses. This indicates a continuation of the numbers. The numbers never stop. The $\\ldots$ at the end of the list of elements indicate an infine extension of values. The numbers go to infinity. We refer to the number of elements in a set as the __cardinality__ or __size__ of the set." ] }, { "cell_type": "markdown", "id": "9e2ec8e1", "metadata": {}, "source": [ "In this section, we investigate the commonly used number system in mathematics." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider a list of the smoking status of participants in a study. In the table below, we note $10$ participants. Each participant has either _never smoked_, _smoked in the past_, or _currently smokes_." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "| Participant | Smoking status |\n", "|:------------|:-------------------|\n", "| 1 | Currently smokes |\n", "| 2 | Never smoked |\n", "| 3 | Smoked in the past |\n", "| 4 | Never smoked |\n", "| 5 | Never smoked |\n", "| 6 | Smoked in the past |\n", "| 7 | Smoked in the past |\n", "| 8 | Smoked in the past |\n", "| 9 | Currently smokes |\n", "| 10 | Currently smokes |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can count the number of occurrences of each smoking status. We can count the number of participants who _never smoked_ by counting the number of times the smoking status is _never smoked_. We can count the number of participants who _smoked in the past_ by counting the number of times the smoking status is _smoked in the past_. Lastly, we can count the number of participants who _currently smoke_ by counting the number of times the smoking status is _currently smokes_. From the data we note that $3$ participants _never smoked_, $4$ participants _smoked in the past_, and $3$ participants _currently smoke_. We cannot have that three-and-half participants _never smoked_, nor can we have a negative number of people who _cuttenrly smoke_. Each count is a counting number." ] }, { "cell_type": "markdown", "id": "3772d6ae", "metadata": {}, "source": [ "__Definition 1.3.2.1__ The __counting numbers__, symbolized by $\\mathbb{N}$, are the set of numbers $\\{ 1,2,3,4,\\ldots \\}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To accomodate the case where we count a zero number of participants for a specific smoking status, we add the number $0$ to the set of counting numbers. We call this set of numbers the natural numbers." ] }, { "cell_type": "markdown", "id": "ce396c18", "metadata": {}, "source": [ "__Definition 1.3.2.2__ The __natural numbers__, symbolized by $\\mathbb{N}_{0}$ are the set of numbers $\\{ 0,1,2,3,4,\\ldots \\}$." ] }, { "cell_type": "markdown", "id": "4430e35a", "metadata": {}, "source": [ "In many cases, we want to consider a range of natural numbers. Age is a good example in public health and biomedical research, that is, caputuring peoples’ age in years. In fancy terms, we would say the unit of measurement of age is years." ] }, { "cell_type": "markdown", "id": "1344930b", "metadata": {}, "source": [ "We consider a baby in its first year of life as being $0$ years old. Most humans do not live beyond $100$ years of age, let alone an infinite number of years. Maybe one day. As an android. Imagine that. Age can be expressed as a natural number in an interval. An interval (of ages) has a minimum and a maximum value. The minimum and maximum values for a set of age values are often quoted in research papers. In the set $\\{ 1,2,3, \\ldots , 10 \\}$ we use ellipses do denote the we follow the _pattern_ up until a maximum number. In this case, $10$." ] }, { "cell_type": "markdown", "id": "ca305f1d", "metadata": {}, "source": [ "To sound like mathematicians, we note that there is an order to the symbols that we use to denote numbers. We know that $5$ is larger than $2$. In fact ordering is an imporant and sophisticated topic in math. Even so, we have a natural intuition for order and make use of it all the time." ] }, { "cell_type": "markdown", "id": "273f2378", "metadata": {}, "source": [ "It is typical to use a lowercase letter as a symbol for an arbitrary number. For natural numbers, we typically use the symbols $i$, $j$, $k$, and $n$. In human research studies, we have a number of participants in a study. This number of people is referred to as the sample size. In many calculations, we would use the symbols $n$ to denote a sample size. The symbol $n$ takes on a specific value depending on how many people are in our study." ] }, { "cell_type": "markdown", "id": "95f9ab31", "metadata": {}, "source": [ "Finally, we visualize the natural numbers (at least the first few) as markers on the horizontal axis of the familiar Cartesian plane (mutually perpendicular lines), shown in __Figure 1.3.2.1__." ] }, { "cell_type": "code", "execution_count": 18, "id": "bd73b8b8", "metadata": {}, "outputs": [ { "data": { "image/png": "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yAdzHUqfeQ5Vqx8yKK5ubdOmTY02D/v888+LwWdN689WFHpW1075lbC1baeg/AZun3zyyTrtCwAAAACQHZkMeqOOHTum+w8++CAsWbKk0vMmT568ynPqEryWv05V7ZSVlYUOHTqEuli+fHmlj+2www6hQYMGtepLXV4zAAAAAJA9mQ1699tvv3QfV+u+9tprlZ73wgsvFI/33XffWrWx5557Fuvklr/OymLN3IkTJ67ynNp65513isebbbbZCo/Fa3bp0iUdT5gwoco6vYW+xk3ZOnfuXKe+AAAAAADZkdmgt2fPnsXj++67r8Jzli1bFkaOHFncDK1bt261rv1yyCGHpONnn3220pIJo0ePDnPnzk3HvXr1CnUxZ86c8NBDD6Xjpk2bVhjQFl5zbCu2WZHYx9jXKPbdZmIAAAAAUPoyG/TG1a37779/Oh4xYkRa5bqyW2+9NUyaNCkdX3zxxaFhw4YrPH7//feHevXqpdvAgQMrbKd///7pPpaHuPDCC8PSpUtXeHzWrFnhiiuuKIbJffr0WeUav//978OCBQuq3EHypJNOCp999ln6+txzz02rcVcWrx03bYuuvPLK4vkFsW8XXHBBsY+FvgMAAAAApS2zQW80bNiw0KRJkxTC9ujRI9x4442phMK4ceNC3759w+WXX16sb9uvX786tXHwwQeHk08+OR3/7ne/C927d0/3r776alpJvPfee4dp06alxwcPHhxatWq1yjXi9+Nmauedd1741a9+FV588cXwxhtvhOeffz71+Zvf/GZ4+umn07k77rhjpaFz69atw5AhQ9Lxhx9+GPbaa6/Uh9iXQt/GjBmTHj/llFNqvYIZAAAAAMimspBhnTp1SuUOTjvttFTO4KqrrlrlnBjyjh07drVKGNx7773p+k8++WQKkeOtvPr164drrrkmhcuV+ec//xmGDx+ebpU54IADwqhRo1KgW5nYxvTp08N1110XpkyZEs4555xVzjnyyCNTnwEAAACAfMh00Bsdc8wx4a233kqre2OgG2vUxo3LOnToEHr37h0uuuiiVPN2dcRVw/HaMYSN5R7efPPNMHv27NC2bdtUPiK20bVr10qff8stt4TnnnsulZd49913U7mH+PzYr7jpWlyZG1fgxlXJsYxEdQYNGhQOO+ywcMcdd4Tx48eHmTNnprIRu+22Wzj77LPTtQAA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1LWdQhs1beef//xnWn07derU9PWwYcPCKaecElbXd77znXDhhRemVb0vvPBCrZ9fXS3iPInjX6qBNvBv5jqUPvMc8sFch9JnnkPV6ocMiitt27RpU6PNwz7//PNiCFvT+rMVhZ7VtVN+JWx17cS/Rh1++OHhL3/5S/r6uuuuCz/4wQ/CmhBr9u6www7p+JNPPlkj1wQAAAAA1m+ZDHqjjh07pvsPPvggLFmypMoauCs/p6bKl1Eof52q2olBa4cOHSo9L9bvPeaYY8Irr7ySvr7sssvCT37yk7AmxbINAAAAAEB+ZDbo3W+//dJ9XK372muvVXpe+fIF++67b63aiJufFTZhq6oMQqzfO3HixFWes7LFixeHE044oXit733ve+Gmm24Ka1IMvd977710vNlmm63RawMAAAAA66fMBr09e/YsHt93330VnrNs2bIwcuTIdNyyZcvQrVu3Wtd+OeSQQ9Lxs88+W2n5htGjR4e5c+em4169elV4ztKlS8N3v/vd8N///d/p69NPPz3ceeedYU178MEHi3058MAD1/j1AQAAAID1T2aD3i5duoT9998/HY8YMSJMmDBhlXNuvfXWMGnSpHR88cUXh4YNG67w+P333x/q1auXbgMHDqywnf79+xdXysZNzmJgW96sWbPCFVdcUQyT+/TpU2EphfPOOy88+uij6eu4qjeG07Hdmoq1hp9//vkqz3n55ZeLtX7jteOKYQAAAACg9JWFDBs2bFgqxxDr3vbo0SNcddVVadVu/DqubL377rvTeXFzsn79+tWpjYMPPjicfPLJ6Xq/+93vQvfu3cMll1ySyiK8/fbb4frrrw/Tpk1L5w4ePDi0atWqwrC4sOp4l112Sf0sBNCVieeVN2fOnPTavvWtb6XVzHvssUdo165daNCgQWp/zJgx4de//nUqD1Fos3PnznV6zQAAAABAtmQ66O3UqVN46KGHwmmnnZbKFcQAdWUx5B07dmwqw1BX9957b7r+k08+GcaNG5du5dWvXz9cc801oW/fvhU+/7HHHise/+///m8Kaeu6odpbb72VbpWJwW/sy7XXXlttGwAAAABAach00Bsdc8wxKfiMq3tjoBvr6MbN0Dp06BB69+4dLrrootC0adPVaqNJkybp2qNGjUrlHt58880we/bs0LZt21Q+IrbRtWvXsDbFFcSPPPJIKlER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VFWqom3btuHRRx8NHTt2TP2NoXFtg96alp0o5dINhb8Q9unTJ9U/BkqPuQ6lzzyHfDDXofSZ51DiK3oL4VtNSiR8+eWXxeOalHqoqJ2atFXbdpYvX55C3SeffDJ9HQPfO++8M6yubbfdNq3uHTt2bKrZO3369CpXCK+sulrEeRLHv1QDbeDfzHUofeY55IO5DqXPPId1GPSWlZWFSZMmrfZ12rVrt0oY+T//8z8pXJ09e3aVq1wLK1Q33njjWtXnLbRT003Kyq+ErUmd2wsvvDA88MAD6TiWW4jH9evXD2vCzjvvnILeQqmH2gS9AAAAAED2rPUVvXHDsDUtBpmPPfZYOp48eXLYe++9Ky2NMGXKlHQcyxnU1g477BAaNGgQli5dmtqpSvnHq2vriiuuSPVzowMOOCC9ljVR4qL8amEAAAAAID/WzBLSr9l+++1XPI6bjlXm1VdfLZZU2HfffWvdTtyArUuXLul4woQJVdbpLfQjrhru3Llzpef97Gc/CzfddFM63nPPPcMTTzxR69rB1XnnnXeKx1bzAgAAAEDpy2TQe9BBB4WNNtooHf/qV7+qdAXr/fffXzzu1atXndrq2bNnup87d24YPXp0hefEsg7PPvtsOj7kkEMq3cBr2LBh4ZprrknHu+66a/j973+/xjf7+utf/xqeeeaZYr3ezTfffI1eHwAAAABY/2Qy6I0rbX/4wx+m41gD+JZbblnlnLgCd8SIEen4wAMPTKtnVzZ16tRQr169dIvhcUX69OlTDJWvvPLK8Nlnn63weCzrcMEFF6T7qH///hVe57777guXXnppsSREDGNbt25dq9c9ZsyYVI6iMjNnzgwnnnhiWLx4cbEOMAAAAABQ+tZ6jd615bLLLgsPPfRQeO+998Lll18ePvjgg3DyySenMgjjxo0LN9xwQwpF49e33357nduJYeyQIUPC9773vfDhhx+GvfbaK1x99dVpRe706dPTtWN70SmnnBK6deu2yjUef/zxcN5556WVxy1atEgrez/99NN0q8w222wTmjVrtsL3fvCDH6QQ94QTTghdu3YNW2+9dXp9s2bNCs8//3z4xS9+UQyiY3kLQS8AAAAA5ENmg95Y8mDs2LHhyCOPDO+//364++670628GKo+8MADYffdd1+ttvr27ZtC3euuuy5t7nbOOeesck7sx7333lvh82PQ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oYQDkB3l/0ATF2RVt2FbRc+DvBL0kms9e/YsHhc+GrKy+BGQkSNHpuOWLVumGkBAtsSPch911FHhz3/+c/r66quvDldcccW67hawhtx///3pY55V3cpv0BZr+hW+v/XWWxsHyIhjjz02NGzYMB2PHj26ykUacfOmaP/99//a+gesGa1bt051eKMJEyZUGfaWX5S1zTbbGAJyT9BLrnXp0qX4y18s8B5/iKzs1ltvTbt7RhdffHHxl0sgG2LdzliD909/+lNxHv/sZz9b190CAGrpG9/4RujTp086fuaZZyqsx/3FF1+ESy65pPh13759vc+QMfXr10+LNKK4r8b1119f6V465RdvHH300V9bH2F9VW95XMoAOfb666+ncgwLFiwIzZs3D1dddVVatRu/jr883n333cUi8K+++uoKu/0C678TTjihuOrn4IMPDrfffnvahK0ycSffON+B0jJw4MAwaNCg4oregw46aF13CaiDTz/9NHTu3DlMmzYtfUz7e9/7Xjj++OPT6r+33347DBkypFin8/vf/3648847vc+QQXEex/q78ZN5hc1T46ZscePVhQsXhokTJ6bf6+P/C6JDDjkkPPvss+u417DuCXohhDBmzJhw2mmnhblz51b4fsTQZ+zYsaFDhw7eL8iYqkLdimy11VZh6tSpa60/wLoh6IXSET9tF8s4xA2VK3POOeeEX/ziFz6NBxkWg9u4yWrcULkqcTHHo48+Glq1avW19Q3WV0o3wP/9dfCtt94Kl156aQp1mzZtmurxxtUCcVVAXPUr5AUAgHWvY8eO4Y033gg333xz2GuvvVI9z/iJnC222CJ85zvfCX/4wx9SWTYl1yDbDj300LSyN/6bPH4SZ+ONN07zukmTJqke70knnRQef/zxFAgLeeFfrOgFAAAAAMg4K3oBAAAAADJO0AsAAAAAkHGCXgAAAACAjBP0AgAAAABknKAXAAAAACDjBL0AAAAAABkn6AUAAAAAyDhBLwAAAABAxgl6AQAAAAAyTtALAAAAAJBxgl4AAAAAgIwT9AIAAAAAZJygFwAAAAAg4wS9AAAAAAAZJ+gFAAAAAMg4QS8AAAAAQMYJegEAAAAAMk7QCwAAAACQcYJeAAAAAICME/QCAAAAAGScoBcAAAAAIOMEvQAAAAAAGSfoBQAAAADIOEEvAAAAAEDGCXoBAAAAAEK2/X9eW28RMzOPSQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 197, "width": 701 } }, "output_type": "display_data" } ], "source": [ "x = range(10)\n", "y = numpy.repeat(0, 10)\n", "\n", "pyplot.figure(figsize=(8, 2))\n", "pyplot.scatter(\n", " x=x,\n", " y=y,\n", " s=60,\n", " marker='o',\n", " alpha=.8,\n", " lw=1\n", ")\n", "pyplot.grid(color='0.5')\n", "for pos in ['right', 'top', 'bottom', 'left']:\n", " pyplot.gca().spines[pos].set_visible(False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It may be useful to include what we refer to as additive inverses to the natural numbers. The additive inverse of a number is the number that we add to the number to get $0$. For example, the additive inverse of $3$ is $-3$ because $3+(-3)=0$. The additive inverse of $-3$ is $3$ because $-3+3=0$. We can extend the natural numbers to include the additive inverses of the natural numbers. We call this set of numbers the integers." ] }, { "cell_type": "markdown", "id": "bfa03ef8", "metadata": {}, "source": [ "__Definition 1.3.2.3__ The __integers__, symbolized by $\\mathbb{Z}$ are the whole numbers $\\{ \\ldots , -3,-2,-1,0,1,2,3, \\ldots \\}$. The integers is the set of all natural numbers and their additive inverses. The additivive inverse of a natural number $n$ is $-n$ such that $n + (-n) = 0$." ] }, { "cell_type": "markdown", "id": "c8a2b88a", "metadata": {}, "source": [ "Arbitrary integers are usually denoted by lowercase letters such as $a$, $b$, $c$, $p$, and $q$." ] }, { "cell_type": "markdown", "id": "41739c8e", "metadata": {}, "source": [ "As with natural numbers, there are an infinite number of integers, and we can also specify an interval or intervals of integers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider the case where we have $100$ participants in a study and $34$ of them suffer from hypertension. We might want to express the proportion of participants who have a diagnosis of hypertensions. To do this, we introduce rational numbers." ] }, { "cell_type": "markdown", "id": "9e118e17", "metadata": {}, "source": [ "__Definition 1.3.2.4__ The __rational numbers__, symbolized by $\\mathbb{Q}$, are defined in __Equation 1.3.2.1__." ] }, { "cell_type": "markdown", "id": "75802cf2", "metadata": {}, "source": [ "$$\n", "\\mathbb{Q} \\text{ is the set of all numbers of the form } \\frac{a}{b} \\text{ where } a,b \\in \\mathbb{Z} \\text{ and } b \\neq 0.\n", "\\tag{Equation 1.3.2.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "36766f3b", "metadata": {}, "source": [ "The top number $a$ is the __numerator__ and the bottom number, $b$, is the __denominator__. Rational numbers are fractions and are often used when we express ratios, shown in __Equation 1.3.2.2__." ] }, { "cell_type": "markdown", "id": "ce6d1db9", "metadata": {}, "source": [ "$$\n", "\\frac{a}{b} = \\frac{\\text{part}}{\\text{whole}} = \\frac{\\text{numerator}}{\\text{denominator}} = \\text{numerator} \\div \\text{denominator}\n", "\\tag{Equation 1.3.2.2}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the case of our $100$ participants where $34$ have hypertensions, we could state that the proportion of hypertensive participants is $34 \\div 100 =0.34$. We confirm this calculation using code below." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAQCAYAAACC/vbpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAqpJREFUeJzVll1ojmEYx39bnPgYtcUSCc1HTljyESXUcuKE4xVlJWoIB4hrf1pNQjYUI185cYBDDSmxSUntgNBkTpB8xTL5mC5d73r2eF/vu+1o/5O7576v+3r+93X/r+u6i3p6ehhqGJaekDQR2AesBEqB18A1XzKzj4U6lnQAmAdMB8qAb0Bn+DpmZu/z7K8GLsRnjZmdzqwVpwynAQ+BdcAD4AjwAtgMtEnyQxSKrcBI4AZwFLgE/ATqgHZJk/5D2NeagK+FRPoEMA6oNbOmhJPDQaIe2FAg6RIz685CqB7YBewENmZZLwLOAn4TV4DtaZveSEuaClQBL4HjKTsDuoBqSR69vMhGOHA5xgqyoxZYHrft//wHSXm4oaPFzH4njczsC3APGAEsZHBYFWN7ekHSLKDB5WRmd3I5SMpjRozPctg+j5vwxLpVKENJfr2jgDGRmEuCcEPKzrlcBF6FfCiEtDt1fM5hm5kfS//gpMcnvq8Da83sXcpuLzDXD2VmXmlyok/1yANPEEe/CruZlZuZ7y0HVgOeO48kVWZsJM2P6B4ys7Z8PouzRDIT8TRKUnb9gpm9NbOrIbHSTA1OyMJluacQX0l5PI3RNZsNFXk0Xyj5TkmPgTmSyqJ2Z/7ZLSnbtmZJzZGgW5Kkb8dYJak4WUEkjQYWR1e7z+AxIcZfwHfgTA67ytD53QjqX+n0kjazDkktcX2boiP18o7udtLMulIddDjQYWY/EvMzgU9m9ibJQJLLcX80sNbEs2B9NsaS6oL0+WQbT3dE71CtQKOkFcATYAGwLGSxO2XvpW8yMCWaUgb+bjkoyWttR3Q3ryBLIxH9MDUMEH2qh0c7aum5ILsN8Gg2AovyPXISuAmcioTzirEDWAN8iFubbWau6wGhaCg+Tf8AAkXaDM2aXy0AAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 0.34$" ], "text/plain": [ "0.34" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "34 / 100" ] }, { "cell_type": "markdown", "id": "502bd6a2", "metadata": {}, "source": [ "The word fraction is typically reserved for cases in which the numerator is smaller than the denominator. We consider a fraction of the whole. If we have are investigating $100$ people and $53$ of them are ill, we can concern ourlselves with the fraction of the whole (all $100$ people) that are ill. Fractions are very, very usefull. In resaerch, we often use these fractions as proportions." ] }, { "cell_type": "markdown", "id": "8bef0ebf", "metadata": {}, "source": [ "The `Rational` function in the `sympy` package creates a rational number. The numerator and the denominator of the rational number are passed to the `Rational` function as arguments, separated by a comma." ] }, { "cell_type": "code", "execution_count": 20, "id": "c99b2580-3acb-42c0-ae33-d43ea39beb37", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAASCAYAAADVCrdsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAjlJREFUeJzFlU2Ij1EUxn9/JEVmytckNlPEChM2RFloJPnYK8psLCbKhuKZJxFJ8rURCdlYGJIoVhILi8nsTEksZPK5MPkIoztz/tM7f/flz0x5Nre3e+65zznPc+5b6e/v539jXPHD9mFgMTAXmAp8Ap4D14BTkt7mktieAbwETktqL4nZDFyMzzZJZ6t7Y2pidwITgTvAceAy8A3oALptzy4pZn3k6iwhkM6dBD7+sRPAZEmfM0kOAHuA3cD2TJ6NQOrSvczZCnA+9q8Cu2pjhnVCGQKBK7HOyVzSAKwCbkj6njnbHvtbgb5c8lo5yrAu1u7M3lpgfFQ5DLbnA4eStJJ+6VKZHAOwnVo2CWgIoy4PAilhToq+8NEQbKfcl4AXISV/RYJB3ZLjq7gNbJH0uuaiCUArcCsj5T5gUSpAUpqyUmTlkNQkKRmqCdgENANdtltqQldHx4ZNhe2lUf1RSQ9/R6CURBWSeiV1xmVTCnNelOIrcDMjQw+wlzpQqffFtN0FLASmSXpjeyzQCzyStKYQ1wi8ryvpoGF3lHkih5mxVsdwRXSn9oH6ApzLZoCW8Ml94AkwINUQCdvzgA+SXhVP2U6S7QemAw8kVatMXvkBXC/Ghwm35RjY7ggSF4rPdrETrcAR22men8YLlyZkZRgzkWsrxG8IUkmSEaFI4i5wBlgGLAAaY/57wmgnJL2LipYAs4BjjALqNmYRtg/Gf6RZ0jNGiHqfbWqQRvPxaBBI+KdOjDZ+ApP4uP6xyulPAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\frac{3}{4}$" ], "text/plain": [ "3/4" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(3, 4)" ] }, { "cell_type": "markdown", "id": "81b7e59b", "metadata": {}, "source": [ "An integer can also be expressed as a rational number, shown in __Equation 1.3.2.3__." ] }, { "cell_type": "markdown", "id": "36de9dd9", "metadata": {}, "source": [ "$$\n", "3 = \\frac{3}{1} = \\frac{6}{2} = \\frac{9}{3} = \\ldots\n", "\\tag{Equation 1.3.2.3}\n", "$$" ] }, { "cell_type": "markdown", "id": "95ecd51e", "metadata": {}, "source": [ "Rational numbers can be expressed as decimal numbers and the latter can be expressed as a finite decimal number or a repeating decimal number. We see three such rational numbers in __Equation 1.3.2.4__, which is then expressed in code. They are treated as numerical value by Python when we do not use the `Rational` function from `sympy`." ] }, { "cell_type": "markdown", "id": "3df8a711", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "& \\frac{3}{4} = 0.75 \\text{ (finite decimal digits)} \\\\ \\\\\n", "& \\frac{1}{3} = 0.\\overline{3} \\text{ (repeating pattern of decimal digits)} \\\\ \\\\\n", "& \\frac{1}{7} = 0.\\overline{142857} \\text{ (repeating pattern of decimal digits)}\n", "\\end{align*}\n", "\\tag{Equation 1.3.2.4}\n", "$$" ] }, { "cell_type": "markdown", "id": "a0198f68", "metadata": {}, "source": [ "A bar is drawn over the repeating sequences of numbers. The bar is called a __vinculum__. The vinculum is used to indicate that the sequence of numbers repeats indefinitely. A finite numbert of decimal digits or an infinite number of repeating decimal digits are both hallmarks of rational numbers." ] }, { "cell_type": "code", "execution_count": 21, "id": "0b84d949", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAAQCAYAAACP4IauAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAm5JREFUeJzVlluITWEUx39zkNHkXvIgt8mdvMhtXEJNihcPPIh4QhQxL8rD8lfeJI1LTCbCOx6YUii5PUrKLZdCooTGpJQ5WrWGPXv23sc5b/Ovc9Y5317fWv9v3b5dVy6X6S8YmF6QNA44BKwGRgMfgSv+yMy+FhmTtBU4V8Fnt5kNSO17C0zI0f9kZmP7kJXUCNwHxgBXgWfAfGCPk5fUZGZfCog8cjNkYymwEujIef4dOJax/iMvsqeC6G4zO544xFFgL3AY2JHH1MycrH/6QNKD+NmWs/2bmR2kAKWEsclAM+ApOZnmAXQBmyU1FBnMITobWAh8AK5RI5KR9RQ5bphZdy+mZp2S7sVh3OnNKv1sD9luZr9zdAZL2gSMj8A8Bu4k9f9GFpgW8kWOsZchp1bDUtIQwEl4AM4WqHoTXYxS89q95T4lLc8iOzxR6FnoWR9RDVlgQ+zpMLN3OTo+QVYFYS+zOcAZYKLvkzQ3c3QVoC5ktYN5W0h3ngkzS0+QJ97IknwStADeeOtKGZHriXAaw1J6FSFpJrAYeA9cp3qcDrnMv5Jkn1eoySkVarrWxirC55ANabK3QzZLKqUiNBRoAn4CDwvN/9tT76MuGqud2rAo5OteZM3slY+tKOpdad9xugtm1pUg1ChpuqRBGY7WAyM9/QWN5TZmSRqVse7X74n4eymrwXbGddsqybvzKbAAWBHpP5DS93nrRifFZZLVWG15RBOH2i/JM/sG6AT82l8D1EetH3HFXumO6M4DzgfJltjY6imp8F6QjMoMYMl/NpaTvBwH3gjsA3y23gW2AGvN7Jcr1vWnV8Q//Ge+Ziv15MwAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 0.75$" ], "text/plain": [ "0.75" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Example of a finite decimal representation of a rational number\n", "3/4" ] }, { "cell_type": "code", "execution_count": 22, "id": "5f21a274", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANIAAAAQCAYAAABjuSH9AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAu1JREFUeJztmt2LjVEUxn8zceNjKBMlEhqUCzdThBJqkvgTFBdKFCk3w8XyEJEiMyiTK3LjhksNUsqQ4mIuCI24MpKvNFE+RrvWmV5vc5oz55x5z6b91LQ7e9az3metWu2PtZuGh4dJSEioDZPyE5LmAUeATcAs4C1wI/zLzD5V6ljSSaAdWAK0At+AN+7rnJl9qMW+KE6sulIsiirHzTnSYuAxsAN4BJwBXgH7gAeSQmFViv3AVOAWcBa4CvwEDgP9kubXaF8UJ1ZdKRbiyXF+RboAzAb2mll3aVLSaXd4DNhFZWgxs+/5SUnBx0GgE9hdg31RnFh1pVgsnhyPrEiSFgEdwGvgfI5nwBCwTVKozjEx2scd13xsq8W+KE6suqrhxKrrf4glu7Xb4GOvmf3OOfsK3AemAKuoDVt97J8g+6I4seqqhhOrrn8mluzWbqmPL8oQX/qKFQ5ddyr9mqQDwDRghh/a1vrHT9TDvihOrLpSLIoix9lCCgYBX8r4Ks3PZHwIAuZkft8EtpvZ+zrZF8WJVVeKhcbnuKnUR5LUA+wMf2Z2Ke9F0nE/WHWaWdnKLQdJQcRqr+DpwBYze1Iv+6I4sepKsaihOW4eZcUprUx5tOTsxgUze2dm1317GK7RL9fTvihOrLpSLNbQHGcL6bmP4Qw0GtrGOENVBDMLzaynwHJJrfW2L4oTq64UizUkx9lCuutjh6R8ozYsYWu8q/uQ2jHXx18TZF8UJ1Zd1XBi1fVPxDJy2WBmA5J6fcnaA3Rna8m7uxfNbCj3EmIyMGBmPzLzy4DPZjaY/aoX6FFv+vaVnhyN174oTqy6UiyKLsf5lw2hq9sHdEnaCDwDVgLrfUt3KGcfrsEXAAu9kVtCeKd3StK9UGRAeI8UDmnrgND4HfSLjWrti+LEqivFQlw5/quQfFVqzzxa3eyPVrv80epHKsNtoMe3gyv8ynzIi/FK8JfzNV77ojix6kqxEFeOR66/ExISqBp/AEtwsgvrKqJsAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 0.333333333333333$" ], "text/plain": [ "0.3333333333333333" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Example of a repeating decimal number\n", "1/3" ] }, { "cell_type": "code", "execution_count": 23, "id": "6100fb20", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 0.142857142857143$" ], "text/plain": [ "0.14285714285714285" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Example of a longer repeating decimal number (142857 142857)\n", "1/7" ] }, { "cell_type": "markdown", "id": "67f2fbf2", "metadata": {}, "source": [ "In the case of the repeating decimal expansion, the repeating part is truncated in the output. As such, the decimal number is an approximation of the exact rational number as shown in __Equation 1.3.2.5__." ] }, { "cell_type": "markdown", "id": "c11bd11e", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\text{Exact value: } \\frac{1}{3} \\\\ \\\\\n", "&\\text{Numerical approximation: } 0.\\overline{3}\n", "\\end{align*}\n", "\\tag{Equation 1.3.2.5}\n", "$$" ] }, { "cell_type": "markdown", "id": "beaa0ff6", "metadata": {}, "source": [ "The set of rational numbers also contain the primes numbers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While we typically do not concern ourselves with prime nunmbers in the day-to-day analysis of data, we have to mention the prime numbers." ] }, { "cell_type": "markdown", "id": "996001c3", "metadata": {}, "source": [ "__Definition 1.3.2.5__ A __prime number__ is an integer that is divisible only by itself AND $1$." ] }, { "cell_type": "markdown", "id": "7442144d", "metadata": {}, "source": [ "__Definition 1.3.2.6__ A number $a$ is divisible by a number $b \\ne 0$ if there exists an integer $c$ such that $a = bc$. In other words, there is no remainder after division, shown in __Equation 1.3.2.6__." ] }, { "cell_type": "markdown", "id": "e7608091", "metadata": {}, "source": [ "$$\n", "\\frac{a}{b} = c \\text{ (with no remainder)}\n", "\\tag{Equation 1.3.2.6}\n", "$$" ] }, { "cell_type": "markdown", "id": "8d8a2b49", "metadata": {}, "source": [ "By definition, $1$ is not a prime number. The `isprime` function in the `sympy` package returns `True` if the input is a prime number and `False` otherwise." ] }, { "cell_type": "code", "execution_count": 24, "id": "f4655590", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Use sympy to detrmine if 1 is a prime number\n", "sympy.isprime(1)" ] }, { "cell_type": "markdown", "id": "b625a6e7", "metadata": {}, "source": [ "In the code cell below, we use list comprehension to print the prime numbers between $1$ and $100$." ] }, { "cell_type": "code", "execution_count": 25, "id": "ae9eda67", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[ 2, \\ 3, \\ 5, \\ 7, \\ 11, \\ 13, \\ 17, \\ 19, \\ 23, \\ 29, \\ 31, \\ 37, \\ 41, \\ 43, \\ 47, \\ 53, \\ 59, \\ 61, \\ 67, \\ 71, \\ 73, \\ 79, \\ 83, \\ 89, \\ 97\\right]$" ], "text/plain": [ "[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 7 ↪\n", "\n", "↪ 3, 79, 83, 89, 97]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Use list comprehension and the isprime function to determine the prime numbers less than 100\n", "[p for p in range(100) if sympy.isprime(p)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This brings us to our first exmaple problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.3.2.1__ Determine if $997$ is prime." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `isprime` function in `sympy` and pass the number $997$ as an argument." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.isprime(997)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that $997$ is indeed a prime number." ] }, { "cell_type": "markdown", "id": "f865a9c3", "metadata": {}, "source": [ "Homework 1.3.2.1 Determine if $1003$ is prime." ] }, { "cell_type": "markdown", "id": "aa6cac40", "metadata": {}, "source": [ "__Definition 1.3.2.7__ A __composite number__ is an integer that is not prime number, and is therefor divisible by at least one other number other than itself or $1$." ] }, { "cell_type": "markdown", "id": "142b2904", "metadata": {}, "source": [ "The number $16$ is a composite number as it is divisible by $2$ and $8$ and $4$, as well as $1$ and $16$." ] }, { "cell_type": "code", "execution_count": 27, "id": "077fd696", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Determine if 16 is a prime number\n", "sympy.isprime(16)" ] }, { "cell_type": "markdown", "id": "d4eeee10", "metadata": {}, "source": [ "The `factorint` function in the `sympy` package returns the prime factors of a number and how many times each prime factor occurs." ] }, { "cell_type": "code", "execution_count": 28, "id": "080a7ac1", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEIAAAAUCAYAAAA5g+sCAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAA0NJREFUeJztl13IVGUUhZ9Pg7yQ0roQjdAulaIy8UYULRQlKDK+m6I0UgoEkRSlxJYriLrwB/XCoiL7uQikIiipG7U//KFA0LT05jOQT/qlUFJHndi4hWmcmXPOOF8guGB4OfO+Z5/3rLP32uvtq9frXAcMu07CJdxAB9h+DFgKTARGAvdJOsA1AttrgdXA78BeYKWko5WIsD0JeB84DWwHTgAnG+ZvBR4BHgTuAm4DzgEHgbfjJ+niEL7kE8C7eblY0pstlu0GRgD3AA8D44CpVTNiFtAXjEra3GK+H9gKDAK7gJ+BMcB8IDY1z3a/pJ6LkO3bgS3AqczUlpAUROzOe74HptgeKSnuK03ELTkeaTMfKfYQ8Fnjl7f9ArAfeDRJ+ZAewnZfZlyk+0fAipK3/ghMBkYngaWJGJ5jrdWkpJ1t/j9p+zXgZWBmr4lIzbo/Y8dYFrWm9/pfukYtx/NFC21vs123vbDE2hDtV4FNkr6ih+hExKgc/6kS0HZk2ZN5+Xn3W2sZ973Uoii/qjiT482lifClOpwOhNAdr/jA+GJ3AjskfVFi/fPZnj8uWPcicC+wUFKlj5MYyDFKio4aYXsuMBuYkcLyetR82SfZjvpdnsIU7a0QkqLrDBbEnZpZsF7SHrpDZNOzwDrb04BjwBuSBlplxFzguWgzwKFsUaVge0nULnA4Wq+kP7rccLuSiC61pts4ksIHvZL61Z/ETrg839d81rB9U3qID7JFjZd0oWCzy4CNSd4Dkn7pdsMtYodW/VlyeYjosjZxwvh9CnwLPBPESqq1bZ+S/gY+sR1t7/Gs30MdNroqdSGs92xJv9FbnAXeajM3OXXjG+AnoFPZXG61ayX9UMVHHG8yVlfAdqTqS0C4tjndlIPtsankg5L+ap5PYVzU4SwRRLzTxmI3IoxUo2iWJqJW0FkWJAlRNl+H0bHdvGxA0raCDUbdRqyngKK1V4NhnbxNJyLqBYHvaHBqLesS+HKIX64b1KsScbYppf4DSZGW8bsqSApHWegqe7CH0U3GqjQRx3J82vZ3cQwfymP1UMH2jcDdaaSiEfxa1WLvyG4RbSds7QXbca6/ZpBiGhmwDwhbsKHdx/wXzxQYQxv9DkMAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\left\\{ 2 : 4\\right\\}$" ], "text/plain": [ "{2: 4}" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Determine the prime factorization of 16\n", "sympy.factorint(16)" ] }, { "cell_type": "markdown", "id": "343b790e", "metadata": {}, "source": [ "The `factorint` function returns a Python dictionary object (key-value pairs). The keys are the prime factors and the values are the number of times they occur in the prime factorization of the given number. This is termed the __multiplicities__ of a prime factor. For $16$ there is only a single prime. The prime factor is $2$ and there are four $2$’s in the prime facotrization of $16$. We write $16=2^{4}$." ] }, { "cell_type": "markdown", "id": "aa97fd38", "metadata": {}, "source": [ "__Defintition 1.3.2.8__ The __prime factorization__ of a number is the product of its prime factors." ] }, { "cell_type": "markdown", "id": "b97feb9f", "metadata": {}, "source": [ "__Definition 1.3.2.9__ The __multiplicity__ of a prime factor is the number of times the prime factor occurs in the prime factorization of a number." ] }, { "cell_type": "markdown", "id": "63f10cf4", "metadata": {}, "source": [ "Homework 1.3.2.2 Determine the prime factors of $23558$ and their multiplicities." ] }, { "cell_type": "markdown", "id": "604b57df", "metadata": {}, "source": [ "__Definition 1.3.2.10__ The set of __irrational numbers__ are the set of numbers that canot be expressed as a ratio of two integers." ] }, { "cell_type": "code", "execution_count": 29, "id": "c3c8ad2b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAXCAYAAAAcP/9qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAepJREFUeJzFlrFrVEEQxn/3EitJY7CyslAIxFqSShFUVJQoFhbqHyCIkEIQwscnCHYqWggKWgspTDAmjZJCQUEIKKKpLENQIVEsNHqyMMoZ9929R45k4Ni77+btb2d2dt42ms0mG2G9dZxt9wHL6w4GDgAHJc2sFVzU9N8DPF0rtBbYdg/QI+k7XbCihu8w8Lwb0LrgQ8AUGwDul/SpW+DeKk62dwDvM3o/MAIcBnYB24BUA6+Be+kj6VduzqoRHwUmM/pJ4A6wG3gBXAfGgUHgLvDAdiM3YdVzvFPSfEafj0U9ao3M9iXgJXACOB6LyYNtp+gvA88kPW7RtwDZvZX0pERfsH0buBJnf7xdqvcDQ5G+blTzjxhXcn/+BUuaBkaBIxH9Hxuqe35tp0yeiZ/TbcEBnwO+RbNIE2wCfpZVZhu7GgU2VdbXi4w2ARyL72l/ZusQbZ+PzL0DTpf5FRntYQs47XvlN5Htc8AN4C2wV9LnOuBZYKvtAWCzpK8VoReAW8CbgC608y9WC5JWoorHogNVgV4ErgFzAV3s9ExRoqd0nyrpVquhY1FMr4B9kj5WWWwjd+eKK86MpOEO0LPA/VT5wE1gKeP2QVLy+ceyLVPSF9up8Xey7TGmS0La45ylmvkPnI14Pew3lyuZPJvSA5UAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\sqrt{2}$" ], "text/plain": [ "√2" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Example of an irrational number\n", "sympy.sqrt(2)" ] }, { "cell_type": "markdown", "id": "194d0439", "metadata": {}, "source": [ "The decimal approximation of $\\sqrt{2}$ is calculated below using the `evalf()` method." ] }, { "cell_type": "code", "execution_count": 30, "id": "f3371984", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 1.4142135623731$" ], "text/plain": [ "1.41421356237310" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Decimal approximation of square root of 2\n", "sympy.sqrt(2).evalf()" ] }, { "cell_type": "markdown", "id": "c230b857", "metadata": {}, "source": [ "There is no termination to, and no repeating pattern in, the decimal expansion of $\\sqrt{2}$, making it an irrational number. If a decimal expansion of a number does not terminate or repeat, then it is irrational." ] }, { "cell_type": "markdown", "id": "4438e93c", "metadata": {}, "source": [ "The number $\\pi$ is also an irrational number. The `pi` function from the `sympy` package returns the value of $\\pi$. The `evalf()` method returns the decimal approximation of $\\pi$ to the specified number of digits." ] }, { "cell_type": "code", "execution_count": 31, "id": "5de0beef", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAMlJREFUeJyV0T1KQ0EUxfHfC5Y2SS1WFoIBo9uwstIF2LgBq8DlFhauIJUbELGys3UBfoKFW7AQbATJk8ATJo8E805zhjP85x7mVnVd66q1v0NmHuC2E4RPTHCKV1wXd9s4wj3uqrJeZh7iBucRMS7yM1zgJCIue63Jo8YfWvl+mS+DHhdAP3hZBn3hvai2ji28RcT3HJSZfWziKSLKPeyhKiv3VqzmP6j9CcPGn7tMGjS+k5kbbWgX0/LFRlf4mO0Ox7Ngbrmr6hdQADhgCY6HTwAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\pi$" ], "text/plain": [ "π" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the number pi\n", "sympy.pi" ] }, { "cell_type": "code", "execution_count": 32, "id": "15880e23", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 3.1415926535897932384626433832795028841971693993751$" ], "text/plain": [ "3.1415926535897932384626433832795028841971693993751" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the value of pi with 50 digits\n", "sympy.pi.evalf(50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So much of the data that we collected are real numbers, which we define in __Definition 1.3.2.9__." ] }, { "cell_type": "markdown", "id": "005faa5c", "metadata": {}, "source": [ "__Definition 1.3.2.11__ The __real numbers__, $\\mathbb{R}$, are the union (combination) of the rational and irrational numbers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While we are often constrained by the accuracy of our measuring instruments, we can consider the real numbers to be continuous. So, if we state that a person is $6$ foot and $6$ inches tall, it is only an approximation. The person (well me, since I am $6' \\, 6''$ tall) is not exactly $6$ foot and $6$ inches tall. The person is $6$ foot and $6$ inches tall to the accuracy of our measurement accuracy." ] }, { "cell_type": "markdown", "id": "f5d4ee97", "metadata": {}, "source": [ "The real numbers can be represented as a point on the number line. There are an infinite number of real numbers. In many cases, most of the statistical analysis that we do in public health and in biomedical research involve real numbers. We generate some pseudo-random numbers below and assign them to the computer variable `x`" ] }, { "cell_type": "code", "execution_count": 33, "id": "0d4e967a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862, 0.86540763,\n", " -2.3015387 , 1.74481176, -0.7612069 , 0.3190391 , -0.24937038])" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Seed the pseudorandom number generator with the integer 1\n", "numpy.random.seed(1)\n", "\n", "# Create a variable called x that holds an array of 10 real numbers from the standard normal distribution\n", "x = numpy.random.randn(10)\n", "x" ] }, { "cell_type": "markdown", "id": "dca93f79", "metadata": {}, "source": [ "__Figure 1.3.2.1__ shows the number line with the real numbers $x$." ] }, { "cell_type": "code", "execution_count": 34, "id": "3fc6e532", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABrgAAAG2CAYAAAAk+4ZAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAewgAAHsIBbtB1PgAAXQ1JREFUeJzt3QeYVNXdP/AfvYsiiigoUSwYaxTsIvbYG/YuxiSaaP7W6GuPxh59EzVRsUZjJSYGY40gJhhLjJgELKggYgMFVJoo/+ccsvMusMvuwi67d/fzeZ77zJ2dO+ecmb17Zna+c85pNnfu3LkBAAAAAAAABdG8vhsAAAAAAAAANSHgAgAAAAAAoFAEXAAAAAAAABSKgAsAAAAAAIBCEXABAAAAAABQKAIuAAAAAAAACkXABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACFIuACAAAAAACgUARcAAAAAAAAFIqACwAAAAAAgEIRcAEAAAAAAFAoAi4AAAAAAAAKRcAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAAAUioALAAAotHfffTeaNWuWt169etV3cwAAAFgKWi6NSgAAACqz3XbbxfDhw2v8BL3yyiux0UYbeWIbiIkTJ8aLL76Yt5deeilffvrpp6Xb33nnnToJIGfOnJnPhbJ633jjjfjkk0/yNmvWrOjcuXP07t07tthiizj88MNj4403rvU2fPjhh/Hkk0/GsGHD4tVXX82Pddq0adGhQ4dYaaWVYrPNNosDDjggdt9992jevPa/Z/r111/Hv//97/me+1GjRsVXX32Vb+/fv39uGwAANCYCLgAAAJbIyiuvHB988EG9PIu/+tWv4vTTT6/09rKwa+TIkXHNNdfEgQceGDfeeGN06dJlieseP358HH300Tmg/eabbxa6ferUqXl7/fXX484774wNN9ww7rrrrlh//fWjtjz88MNx2GGHxfTp02utTAAAKAIBFwAA0GD07ds3+vXrV61jV1hhhTpvD9VTX+HWgjp16hR9+vSJb33rW3nk1pw5c2LChAk53Pr888/zMffff3+MGTMmRowYEcsss8wSj1p75pln5vvZaqutlkcWrrjiivHll1/m0VRvvvlmvi2N7tpqq63i6aefzud6bZgyZYpwCwCAJknABQAANBi77bZbXHDBBTW6T5r2bu7cuXXWJqqnbdu2OdhJwU3aunXrFrvsskudP31rrrlm/PznP49dd901j4xq0aLFQsfMmDEjj94677zz8kirNH3fOeecE7/85S9rbQTbscceG0cddVSeDnFBf/jDH+K4446LyZMn56Bt4MCBMXr06GjXrl3UlvR8lz33aXv88cfjuuuuq7XyAQCgoRFwAQAAsET+8Y9/5HCpZcv/+xfz3XffXSrP6t577523RUlBUgq0Zs+eHRdddFH+2R133BFXXnllDuYWVxoBloKzH/zgB4ssJ7UvhWBpHbC0Xta4cePylIUnnHBCLKkU7KXyVl111fl+/ve//32JywYAgIas9le3BQAAoEnZeOON5wu3GqpBgwaV9tNIqrfeemuJylt33XXjJz/5SbVCsjSqav/99y9dHzp0aNSGlVZaaaFwCwAAmgIBFwAAUGhppFCzZs3ylqYrrMpXX30Vv/71r2O77bbL6ySl0T2rr756HHTQQfHkk0+WjktllZVb2WikstvTVh2pzrLjhw0bVu1j0hpXl156aV6fLAUaaRq+ZZddttLHd9ddd8WBBx6YH1dal6pDhw55XapDDjkkfv/73zfZKR3T77u8snW5lpa0/tbSHuEGAACNVcP/ih0AAEAtSVO57bXXXnkNpvLeeeedvN1///1x/PHHx/XXX99gnvO0ftMxxxwTn332WZXHpkAsjVIaO3bsQrelQCVt9957b2y++ebx4IMPxiqrrFJHrW6Y0rpX5a222mpLtf7yQWiaqhAAAFh8Ai4AAKBJ+OSTT2L77bePt99+u/SztddeO08dl6bXe+211+Lll1+Om2++OY96agj+9re/xQUXXJBHZS2//PKx7bbbRteuXePjjz+OV155Zb5jH3jggTjssMPysUmaNi8FWWkkWhrx9cYbb8TIkSNjzpw58fzzz+f1oF588cXo1q1bNAVp/a0zzzyzdD09N2ldrKUpnWNlevbsuVTrBgCAxkbABQAANAknn3xyKdxq37593HHHHXHAAQfMd8xzzz2Xpyr8xS9+Ea1atYr6dv755+eRPhdffHEOZ8q3adasWaX9f//733H00UeXwq1TTjklzj333OjSpct85aXHf9RRR+XH+d577+WRYY8++mg05lArTe84YsSIuPrqq+Of//xn/nnHjh3jl7/85VJty5dffplHzZXZcccdl2r9AADQ2Ai4AACABiOFLZMmTaryuJ/+9Kc1ml4vBUC/+93vStfTGlX77bffQsdtvfXWuQ2bbrppDkfqWxpt9bOf/SzOOeechW5r06ZNaf/HP/5xTJ8+Pe9XdnyS1uR67LHH8qi1NF3fn//85/j73/8em222WTQWaTTeoqb/W3PNNXPQtMEGGyz1sLJsmskUsB155JFLtX4AAGhsBFwAAECDkabMS1tV0jpTNQm4brvtttJ+muavonCrzIYbbphHNqWpCutbeozlp9WryKuvvhp/+ctf8v5aa60VZ5111iKP79ChQ5x33nlxyCGH5Ot33313owq4KtO8efM4/fTTcwCYQrCl6emnn45rr712voB2xRVXXKptAACAxkbABQAANHrDhg0r7R966KFVHp/WsmoIAdf+++9fZRhTforBgQMH5vW2qpLWIiuTpitsTE488cTSCK40LWCaivGFF16Izz//PC6//PI8eutXv/pV7LrrrkulPePGjYuDDz641KYtt9yyytASAAComoALAABoMNI0bhdccEGtlvnNN9/EqFGjStf79etX5X022WSTaNasWcydOzfqU2pHVUaOHDnf/kknnVTlfco/rhQANSbXXXfdQj9LQdf111+fR66NHTs2dt9997j11lvzemR16dNPP43vfve7pWk304i8e++9t1ohJAAAsGgCLgAAoFGbNm1afPXVV6XrPXr0qPI+aY2kzp07x5QpU6I+rbDCClUeM3HixNJ+mqqwbLrC6ipbF6oxS9MynnHGGXn9rTQ9ZQo9v//978c222yT1yWrC1988UUOt9JaZ8nyyy8fTzzxRPTs2bNO6gMAgKameX03AAAAoC6loKG89u3bVzsUqW/t2rWr8pipU6cuUR1lU+c1Bfvuu2/ssMMOeX/mzJlxww031Ek9qey99torT42YdOrUKf785z/HuuuuWyf1AQBAUyTgAgAAGrUFg6rp06dX635pWrvalkYO1eXje/jhh/P0gzXdmpKddtqptP/Xv/611stPowXT2mnPPPNMKaR85JFHom/fvrVeFwAANGUCLgAAoFFLUw22atWqdH3ChAnVGvVVnZFRLVv+36zvc+bMqfPRVhXp1q1baf/NN9+s9fIbm+WWW660P3ny5FotO42GO/TQQ+PRRx/N19N59+CDD0b//v1rtR4AAEDABQAANHLNmzeP9ddfv3S9bNq4RXn55ZerNbIpTT1X3bBk9uzZ8cYbb0Rt22yzzUr7jz/+eK2X39h88MEHpf0uXbrU6ui8o48+OgdaSYsWLeKee+6J3XbbrdbqAAAA/o8RXAAAQKO33XbblfZT6FCVu+++u1rlfutb3yrt//Of/1zksX/84x/z2ky1bY899ijtP/300/Haa6/Veh2NydChQ0v7ffr0qbVyf/CDH8Rvf/vbvN+sWbO49dZb44ADDqi18gEAgPkJuAAAgEbvmGOOKe0/++yz8fvf/77SY1999dW47bbbqlVuv379Svu33357pcdNmzYtzjrrrKgLqQ1lAV4adXb44Yfn+qojjSr77LPPoqjSOmk1CQ1vvPHGePHFF0vX01pZteH//b//FzfddFPp+vXXXx9HHnlkrZQNAABUTMAFAAA0euutt14ceOCBpetHHHFEaSq58v7617/mKeXSWkqtW7eusty03lKZe++9N371q18tdMyYMWNi++23j7Fjx0abNm2iLvzyl7+Mjh075v1Ro0bl0Oupp56q9Pi33norLrnkkjwCLT3mhiiFdmkkVNrS1H8VSWuO9e7dO6688sp47733Ki3rww8/jJ/85Cdx4oknln62zTbbzDf6bUG9evUq1X/BBRdUetz5558fv/jFL0rXr7jiijyaa0mV1Z22RYWnAADQVP3fisgAAACNWAqB0vpb7777bh75M3DgwFh77bVzGNSyZcs8td9LL71UGpHz0EMPxbhx40rreFUkhSS77757adq7H/3oR3n0zuabb56Diddffz2ef/750vpM77zzTgwfPrxOArzf/e53cdBBB8X06dNzvTvttFP07Nkz+vbtG127ds2jtT755JM8Qm3ChAm1Wv+vf/3rvJWX6isvBYcLhobf//7387Yk3n///TjjjDPylkKp9Fykx5vCxDSSLQWMKfRLoWWZ9Hu/7777Ykk9+uijcdFFF5Wud+vWLZ8zJ510UrXuX1EgujjScztx4sSFQr0y6bzeaKONKmz/yiuvXCttAACApU3ABQAANAkrrrhi/OUvf4m99tor/vWvf+WfpSAobeUNGjQoLrvssjwiq0ynTp0qLffOO++MXXbZpRSOpUAlbeUde+yxccMNN+Tj6koajfS3v/0tjjvuuHj55Zfzz9KopkWNbEqBUI8ePZa47hSmpOBsUUaPHl3h/ZZEq1atcviYAsQkhZdpq0w6Nj0/l19+eSy33HKxpD7++OP5rn/00Uc54Kyu2gq4/vOf/5TC2IqkQLei38+CISQAABSJgAsAAGgy0pR8//jHP+KWW27JI55SMPDFF19E9+7d80in448/Po98SsrWpkojsZZZZplKy+zSpUsOlsrK/Pe//z1fmd/73vdKZda1DTfcMAdtTzzxRDz88MN5+sE0smfKlCl5RNMKK6wQa621Vh5hlsK2LbbYIj++ovr2t7+dQ7Inn3wy/w7SSK233347Jk+eHF999VUOJpdffvlYf/31Y6uttopDDjkkVllllfpuNgAAUAuazU2rEAMAADDf2k4pCCqbzm7BEVkAAADUr4onkgcAAGjC7r///tJ+GoUFAABAwyLgAgAAKCetZXTVVVeVrqdp7QAAAGhYBFwAAECTcdBBB8VDDz0Us2bNqvD2xx9/PLbeeuu8ZlWS1m7addddl3IrAQAAqIo1uAAAgCajV69eeYRWp06d4jvf+U6+3rZt25g8eXK88MILMX78+NKxHTp0iOeeey422mijem0zAAAACxNwAQAATS7gqsrqq6+e1+HaZJNNlkq7AAAAqBkBFwAA0GS88847MWTIkBgxYkS8/fbbMWnSpDx6q3Xr1rHCCivkQGuPPfaIQw89NFq1alXfzQUAAKASAi4AAAAAAAAKpXl9NwAAAAAAAABqQsAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAAAUioALAAAAAACAQhFwAQAAAAAAUCgCLgAAAAAAAApFwMVi+cMf/hAzZszw7EETlP72Ux+gH4CmTV8A6AcA/QDgfwOg/HuCpU3ABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACF0igCrvHjx8dpp50Wffr0iQ4dOkSXLl2iX79+cdVVV8X06dNrrZ577703dtlll+jevXu0bds2evXqFUcccUQ8//zzVd43HdusWbMqt3RcdYwcOTLXnY5PbUlt2nXXXXMbAQAAAAAAGrOWUXBDhw6Nww47LKZOnVr6WQq1Xnzxxbzdcsst8eijj8bqq6++2HXMnDkzBg4cGH/605/m+/m4cePyds8998QFF1wQ5557biwNF110UVx44YXxzTfflH724Ycf5u3xxx/P7bn//vtz8AUAAAAAANDYFHoE16uvvhoHHnhgDrc6duwYl1xySfztb3+Lp59+Oo4//vh8zOuvvx677757fPHFF4tdz3HHHVcKtwYMGBAPP/xwvPDCCzF48OBYY401ctB03nnn5TCtKnvvvXe89tprlW5PPPHEIu+f6jj//PNznanu1IbUltSm1LbkkUceiUGDBi324wUAAAAAAGjICj2C65RTTsmjtVq2bJmDoS222KJ02/bbbx9rrrlmnHHGGTFmzJi45pprcghVU8OHD88jopI999wzfv/730eLFi3y9b59+8Zee+0Vm2yySZ4mMdV1wAEHxLLLLltpeem29dZbb7Ee75QpU+L000/P+6uuumqeGrFr166l2/fYY4/Yd999c8B19913x/e+973YdtttF6suAAAAAACAhqqwI7jS9IPDhg0rjbAqH26VOfXUU/O6XMm1114bX331VY3rueKKK/JlCrVuuOGGUrhVJgVMl19+ed7/7LPP8oiqunLzzTfnkCtJdZYPtypq45VXXllnbQEAAAAAAKgvhQ240pR8ZY455pgKj2nevHkceeSRpfCpLBCrrjStYZruMNlpp52iR48eFR633377xTLLLJP3hwwZEnX9mFNdqc6KpDbuuOOOef/JJ59coqkZAQAAAAAAGqLCBlwjRozIlx06dMhTBFamf//+pf3nnnuuRnWkta1mzZq1UDkLat26dWy++eal+yzOSLGqzJ49O5edpNFqqc7KlLU1tT2NdAMAAAAAAGhMChtwjR49Ol/27t07r8FVmXXWWWeh+9S0jgXLWVQ9c+bMiTfffLPS45599tnYYIMNcjDXvn37+Na3vhUHHXRQHp01d+7cSu+Xykxl16QtCz4GAAAAAACAxqDyZKgBmzlzZkyaNCnvVzZtYJnlllsuh0lffvllvPfeezWqp/zxVdXTs2fP+e637rrrVnjcO++8M9/1d999N2/3339/bLXVVnHffffFKqusUqttqYkJEybU6PcAND3l//b1A9B06QsA/QCgHwD8bwDU52eEhQy4Pv/889J+x44dqzy+LOCq6XpUNakn1VGmonrSlIJ77bVX7LzzzrHeeutF586dY8qUKTFy5Mi48cYbcxD117/+Na/1lX6Wbq+rtlQ3HFuUNOIsjUYDmjb9AKAvAPQDgH4A8DkBUB9aFj0NXNRaVGXatGmTL2fMmFFn9ZTVUVk9af2sZZdddqGfb7fddnHSSSfFAQccEE888USeUvDCCy+Ma665ps7aAgAAAAAAUGSFDLjatm1b2p89e3aVx8+aNStftmvXrs7qKaujsnoqCrfKdOrUKU9RuMYaa8TkyZPjpptuissuu2y+IKs227Io1Z3S8OWXX45tt912vnYBTUMK3MtGbukHoOnSFwD6AUA/APjfAFjwPcHSVMiAKwVCNZmCL01PWN3pDBe3nrI6FqeeJE1JePDBB8f111+fy3rppZdiyy23XOptqWp9r/IBVwq3ahqgAY2LfgDQFwD6AUA/APicAKgPzaOgH6h27do170+YMGGRx3722WelwKe660tVFPZUVU/5kU81rafMuuuuW9p///3367UtAAAAAAAADVUhA66kT58++fKtt96KOXPmVHrcmDFjFrrP4gRO5ctZVD0tW7aM3r17x+KYO3dupbettdZa0aJFixq1ZXEeMwAAAAAAQENX2IBr6623zpdpdFaaLq8yw4cPL+1vtdVWNaqjb9++pXWwypezoLQm1vPPP7/QfWrqP//5T2l/5ZVXnu+2VGa/fv3y/siRIxe5DldZW9u0aRObbrrpYrUFAAAAAACgoSpswLXPPvuU9m+77bYKj/nmm2/izjvvzPvLLrtsDBgwoEZ1pHWvdthhh7z/1FNPVTo14JAhQ2LatGl5f999943FMXXq1Ljvvvvyfvv27SsMpsoec6or1VmR1MbU1iS1vfzaXQAAAAAAAI1BYQOuNJppm222yfuDBw/Oo5oWdPXVV8fo0aPz/sknnxytWrWa7/bbb789mjVrlrcLLrigwnpOO+20fJmmQTzxxBPj66+/nu/2SZMmxZlnnlkK0QYNGrRQGY899ljMmDGj0sfy+eefx4EHHhiTJ0/O14877rg8+mpBqezOnTvn/bPOOqt0fJnUth/+8IelNpa1HQAAAAAAoDEpbMCVXHfdddGuXbscPu28887x85//PE8V+Mwzz8QJJ5wQZ5xxRmn9qlNPPXWx6th+++3j4IMPzvt//OMfY6eddsqXL730Uh45tvnmm8f48ePz7Zdddlkst9xyC5WRft6jR484/vjj44477ojnnnsu/vnPf8awYcNym7/97W/HE088kY9de+21Kw3bunTpEpdffnneHzduXGy22Wa5DaktZW175JFH8u2HHHJIjUesAQAAAAAAFEHLKLCNN944T+t3+OGH52n7zj777IWOSeHW0KFDl2iqvltvvTWX/+ijj+bwLG3lNW/ePM4999wcqlXm008/jVtuuSVvldl2223jnnvuyUFWZVIdEydOjIsvvjjGjh0bxx577ELH7LbbbrnNAAAAAAAAjVGhA65kzz33jFGjRuXRXCnISmtQtW7dOnr37h0DBw6Mk046Ka9ptSTSKLFUdgqf0rSGr776akyZMiW6deuWp0lMdWyxxRaV3v+qq66Kp59+Ok+j+Prrr+dpDdP9U7tWXnnlPBIrjbhKo9DSdIlVufDCC2OXXXaJ66+/PkaMGBEfffRRnh5xww03jGOOOSaXBQAAAAAA0FgVPuBKVltttbjmmmvyVhNHH3103qrr0EMPzVtNbbrppnmrTVtuuWXeAAAAAAAAmppCr8EFAAAAAABA0yPgAgAAAAAAoFAEXAAAAAAAABSKgAsAAAAAAIBCEXABAAAAAABQKAIuAAAAAAAACkXABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACFIuACAAAAAACgUARcAAAAAAAAFIqACwAAAAAAgEIRcAEAAAAAAFAoAi4AAAAAAAAKRcAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAAAUioALAAAAAACAQhFwAQAAAAAAUCgCLgAAAAAAAApFwAUAAAAAAEChCLgAAAAAAAAoFAEXAAAAAAAAhSLgAgAAAAAAoFAEXAAAAAAAABSKgAsAAAAAAIBCEXABAAAAAABQKAIuAAAAAAAACkXABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACFIuACAAAAAACgUARcAAAAAAAAFIqACwAAAAAAgEIRcAEAAAAAAFAoAi4AAAAAAAAKRcAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAAAUioALAAAAAACAQhFwAQAAAAAAUCgCLgAAAAAAAApFwAUAAAAAAEChCLgAAAAAAAAolEYRcI0fPz5OO+206NOnT3To0CG6dOkS/fr1i6uuuiqmT59ea/Xce++9scsuu0T37t2jbdu20atXrzjiiCPi+eefr/K+r7/+evziF7+IffbZJ771rW9Fu3bton379nn/oIMOiqFDh8bcuXMXWcawYcOiWbNm1douuOCCWnvcAAAAAAAADUnLKLgUDB122GExderU0s9SqPXiiy/m7ZZbbolHH300Vl999cWuY+bMmTFw4MD405/+NN/Px40bl7d77rknB0rnnntuhfc/6qij4s4776zwtnfffTdv999/fw7PUoi27LLLLnZbAQAAAAAAGrtCB1yvvvpqHHjggTnQ6tixY/z0pz+NAQMGxIwZM3JQdPPNN+eRU7vvvnsOu9Ixi+O4444rhVup/JNPPjlWXnnleO211+LSSy+NsWPHxnnnnZdHdg0aNGih+7///vv5Mo0sO+CAA2K77bbLo79atmwZr7zySlxzzTW5nY8//njsueeeMXz48GjefNGD62699dbo27dvpbevuOKKi/VYAQAAAAAAGrpCB1ynnHJKDrdSUPTEE0/EFltsUbpt++23jzXXXDPOOOOMGDNmTA6RUghVUylsSiO0khQ+/f73v48WLVrk6ylg2muvvWKTTTbJ0ySmulKAteAIrB49esRvfvObPJKrTZs2892Wyjj88MPz6K3nnnsub3fffXee+nBR0tSG6623Xo0fDwAAAAAAQNEVdg2uNCIrrUlVNsKqfLhV5tRTT83rciXXXnttfPXVVzWu54orrsiXKdS64YYbSuFWma5du8bll1+e9z/77LMYPHjwQmXcfvvt8b3vfW+hcKtMWovrxhtvLF1/8MEHa9xOAAAAAACApqKwAdfDDz9c2j/mmGMqPCZN83fkkUeWwqeyQKy6vvjii3j66afz/k477ZRHYlVkv/32i2WWWSbvDxkyJBZHGo2VwrIkTXkIAAAAAABAIwu4RowYkS87dOiQpwisTP/+/Uv7afq/mnjhhRdi1qxZC5WzoNatW8fmm29eus/ijBRLZs+enS+rWn8LAAAAAACgKStskjJ69Oh82bt377wGV2XWWWedhe5T0zoWLGdR9cyZMyfefPPNqKlXXnklpk2bVq26krPPPjuPKEvh2nLLLRcbb7xx/OQnP4k33nijxnUDAAAAAAAUSeXJUAM2c+bMmDRpUt6vbNrAMin8SaO8vvzyy3jvvfdqVE/546uqp2fPnvPdb911161RXZdeemlp/8ADD6zy+JEjR5b2p0yZEv/85z/z9r//+79x7rnnxvnnnx/NmjWLmpowYUKNfg9A01P+b18/AE2XvgDQDwD6AcD/BkB9fkZYyIDr888/L+137NixyuPLAq60plZd1ZPqKFPTeh566KF48MEH836abnH/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CP0PNO3XY+8FABoMARfQdKQ3vC+/PG/74ot5b0q//DJixoyIb76JaN48ol27iA4d5r0B7tgxYpNN5m3pDTJAkejzGu/zV1dta8iPuSHw/OA8Qv8DTfv12HsBgAZHwAU0fulN7nPPRQwfHjFrVsRHH0V8+OG8N8Nz5y58fLNm894Er7RSxJQp8+7bv3/E1lvPe7MM0JDp8xrv81dXbWvIj7kh8PzgPEL/A0379dh7AYAGS8AFNG6TJ0c89FDE++9HjB8/b0tvTpdfft6UBZ06RbRvP+8Nbvr59OkRn38e8emnEW+9FfH22xGrrhoxZ07EmDER++8/774ADZE+r/E+f3XVtob8mBsCzw/OI/Q/0LRfj70XAGjQBFxA45W+zXXXXRGffBIxevS8N7g9e86bg7tNm4WPT9MXpDfGaUtzdadvhb33XsQ770RMmjRvyoNbb4044oh53wIDaEj0eY33+aurtu2yS8TjjzfMx9wQNORzguJwHuG8geL2o/pwgAavUcwhMn78+DjttNOiT58+0aFDh+jSpUv069cvrrrqqpievrVRS+69997YZZddonv37tG2bdvo1atXHHHEEfH8889Xu4zJkyfH+eefHxtuuGF07tw5lllmmbyffpZuq66RI0fmulMbUltSm3bdddfcRuC/37JKb4LTG9JXXpk3L/d3vhOxxhoVvwmuSDqud+9590v3T+WUvcGtwd8rQJ3T5zXe56+u2pY+5PnpT+ddNrTH3BA05HOC4nAe4byB4vaj+nCAQih8wDV06NDYYIMN4uqrr44xY8bkQOuzzz6LF198MU4//fT4zne+E2+nochLYObMmbHnnnvGIYccEk888UR8+OGHMWvWrBg3blz89re/ja222iouvvjiKstJbVp//fXjoosuilGjRsW0adPi888/z/vpZ+lxvPTSS1WWk47deuutc92pDaktqU2PP/54buNee+2V2wxNVnrTmqYvSN/wGjVq3gKz6c3s4i4om+638cbzyknlpXJT+WnqA4D6ps9rvM9fXbWtbduIZ56ZV266TNcbymNuCBryOUFxOI9w3kBx+1F9OEBhFDrgevXVV+PAAw+MqVOnRseOHeOSSy6Jv/3tb/H000/H8ccfn495/fXXY/fdd48v0qKTi+m4446LP/3pT3l/wIAB8fDDD8cLL7wQgwcPjjXWWCO++eabOO+8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TjvFj370o/jud78br7zySg68brzxxvjxj39c7bYAAAAAAABEUw+40vpVNR1BVJHbbrstjj766NL1tm3b5svZs2dXed80LWGZtF5VTZTVU526Fqee9Pyk6QhfffXVfP2EE06Y73FWZFFTMnbr1i0efPDB6NOnT25vCstqGnBVd3rFl19+Obbddtv5niOgaUjhf9nILf0ANF36AkA/AOgHAP8bAAu+J1iaCjmCq1OnTtWeCvDLL78s7VdnSsOK6qlOXTWtZ+7cuTnMevTRR/P1FHTdcMMNsaRWX331PJpr6NCheU2uiRMnLnJE2IKqWmusfMCVwq2ahoZA46IfAPQFgH4A0A8APicA6kOdBlwtW7aM0aNHL3E53bt3XyiE+fvf/55DpSlTpixyVFPZiKQVVlihRutvldVTZsKECdUe+VSddaxOPPHEuPvuu/N+mlYw7Tdv3jxqw7rrrpsDrrIpDWsScAEAAAAAADR0dT6Ca5111qn1MlOA89BDD+X9MWPGxOabb17pFIBjx47N+2navppaa621okWLFvH111/nehal/O1V1XXmmWfm9bHKpvdKj6U2pnIsPzoMAAAAAACgsaqdIUNL2dZbb13aHz58eKXHvfTSS6WpA7faaqsa19O6devo169f3h85cuQi1+Eqa0caJbbppptWetzPfvazuOKKK/J+3759409/+lOtT/P3n//8p7Rv9BYAAAAAANDYFDLg2m677aJz5855/4477qh0xNLtt99e2t93330Xq6599tknX06bNi2GDBlS4TFp+sKnnnoq7++www7zrd1V3nXXXRfnnntu3l9//fXjscceq/TYxfX222/Hk08+WVqPa5VVVqnV8gEAAAAAAOpbIQOuNLLqxz/+cd5Pa3xdddVVCx2TRlwNHjw47/fv3z+PllrQu+++G82aNctbCs0qMmjQoFKYdtZZZ8XkyZPnuz1NX/jDH/4wXyannXZaheXcdttt8ZOf/KQ09WEKobp06VKjx/3II4/kaRcr89FHH8UBBxwQX331VWmdLwAAAAAAgMamztfgqiunn3563HffffHGG2/EGWecEW+99VYcfPDBebq/Z555Ji699NIcBqXr11577WLXk0Koyy+/PL7//e/HuHHjYrPNNotzzjknj8CaOHFiLjvVlxxyyCExYMCAhcp4+OGH4/jjj88jzZZZZpk8kuuTTz7JW2W+9a1vRYcOHeb72Y9+9KMcXu2///6xxRZbRK9evfLjmzRpUgwbNix+/etflwK4NI2jgAsAAAAAAGiMChtwpan9hg4dGrvttlu8+eabcdNNN+WtvBQm3X333bHRRhstUV0nnHBCDrMuvvjiGDt2bBx77LELHZPaceutt1Z4/xRwlY3wSlMdfve7362yzhSaVTSqLLXjl7/8Zd4qkwKwW265Ja8HBgAAAAAA0NgUNuBKevfuHa+88kpcf/318cADD+RRXLNnz46ePXvmwOnkk0+O1VZbrVbquvDCC2OXXXbJdY0YMSJPB7jsssvGhhtuGMccc0wevVXX0npjw4cPz9MvprW20sitFJh17NgxP+Ytt9wyjjrqqDy6CwAAAAAAoLEqdMCVpGn80hSFaaupNMVfmjawulKAlLaauv322/O2pNJaYmkDAAAAAABoyprXdwMAAAAAAACgJgRcAAAAAAAAFIqACwAAAAAAgEIRcAEAAAAAAFAoAi4AAAAAAAAKRcAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAAAUioALAAAAAACAQhFwAQAAAAAAUCgCLgAAAAAAAApFwAUAAAAAAEChCLgAAAAAAAAoFAEXAAAAAAAAhSLgAgAAAAAAoFAEXAAAAAAAABSKgAsAAAAAAIBCEXABAAAAAABQKAIuAAAAAAAACkXABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACFIuACAAAAAACgUARcAAAAAAAAFIqACwAAAAAAgEIRcAEAAAAAAFAoAi4AAAAAAAAKRcAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAAAUioALAAAAAACAQhFwAQAAAAAAUCgCLgAAAAAAAApFwAUAAAAAAEChCLgAAAAAAAAoFAEXAAAAAAAAhSLgAgAAAAAAoFAEXAAAAAAAABSKgAsAAAAAAIBCEXABAAAAAABQKAIuAAAAAAAACkXABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACFUviAa/r06XHllVdGv379okuXLtGxY8fo06dPnHbaaTF+/PharWvkyJFxxBFHRK9evaJt27bRvXv32HXXXePee++t8r5HH310NGvWrFrbu+++W2V56bGlx5gea4cOHfJjT8/BVVddlZ8TAAAAAACAxqplFNjYsWNj9913j9dff32+n48ZMyZvt9xyS9xzzz2x2267LXFdF110UVx44YXxzTfflH724Ycf5u3xxx/P9dx///05+KprQ4cOjcMOOyymTp1a+lkKtV588cW8pcf96KOPxuqrr17nbQEAAAAAAFjaCjuC64svvog99tijFG4df/zx8fTTT8ff/va3uOSSS/JIrhQADRw4MEaNGrVEdaXA6Pzzz8/h1hprrBGDBw+OF154IR5++OEYMGBAPuaRRx6JQYMGVVnWyiuvHK+99toit1VWWaXS+7/66qtx4IEH5seWHmN6rOkxp8eenoMkPScp+EvPEQAAAAAAQGNT2BFcaSq+NEorueKKK+L0008v3bbFFlvk4GnbbbfNI5tOOeWU+Mtf/rJY9UyZMqVU9qqrrhrPP/98dO3atXR7Ctn23XffHHDdfffd8b3vfS/XW5lWrVrFeuutF4srPZb0mFq2bBlPPPFEfqxltt9++1hzzTXjjDPOyM/NNddcE+edd95i1wUAAAAAANAQFXIE11dffRXXXXdd3k9rUJ166qkLHZOCn+OOOy7vP/PMM/Hyyy8vVl0333xzDrmSyy+/fL5wK2nRokXccMMN+TJJ64HVlTT94LBhw/J+emzlw60y6blIz0ly7bXX5ucKAAAAAACgMSlkwJVCnrLQ6aijjormzSt+GEcffXRpf8iQIYtVV5qGMFlmmWViv/32q/CYHj16xI477pj3n3zyyTqbGrCsLckxxxxT4THpuTjyyCPz/meffVYKxAAAAAAAABqLQgZcI0aMKO3379+/0uM23XTT6NChQ95/7rnnalzP7Nmz81pbSRot1bp160qPLWvHrFmz8kirunzc6TFtsskmVbZlcR83AAAAAABAQ1bIgGv06NGl/XXWWafS49I6VWusscZC96muN998M+bMmVNlPQvevqi6Jk+eHNtss00su+yy0aZNm+jevXvssssu8atf/SqvrbUoZeX27t07P7YlbQsAAAAAAEARVZ6SNGDvvfdeaSRTCooWpWfPnjFq1Kj45JNP8uiqFCrVtJ6yaQirqqei+y0oTV9YflTVhx9+mLcnnngiLrvssrj//vtjyy23XOh+M2fOjEmTJlWrLcstt1x+br788stFtqUiEyZMqPaxqU1A01P+b18/AE2XvgDQDwD6AcD/BkB9fkZYyIDr888/z5cdO3as8tiyKQrLwqWaBFxl9VSnrgXrWVCzZs1i8803jz333DO+853vRLdu3fIv/bXXXovBgwfnqRDff//92HnnnfNUhBtvvPFit6WsPSngqul6YOWDuqrWA3v22WdrVDbQ+OgHAH0BoB8A9AOAzwmA+tCyyGngotbEKlM+0JoxY8Zi1VOduqqq5xe/+EWFo83S2l7HH398/M///E9ceumlOZQaNGhQvPTSSzkUW5y2lG9PTR8zAAAAAABAkw640vpVrVq1WuJybrvttjj66KNL19u2bZsvZ8+eXeV907SEZdq1a1ejesvqqU5dVdWzqKkUU5B1ySWX5FFcTz31VPzjH/+Iv/3tb7HVVlstVlvKt6emj7m6Uxq+/PLLse22287XLqBpSIF72cgt/QA0XfoCQD8A6AcA/xsAC74nWJoKOYKrU6dO+bI60++lEVE1mdqvonqqU9eS1FPmhBNOyAFXMnz48PkCrpq0pXx7atqWqtb3Kh9wpXCrpgEa0LjoBwB9AaAfAPQDgM8JgPpQpwFXy5YtY/To0UtcTvfu3RcKYf7+97/nEGfKlCmLHB1VNiJphRVWqNH6W2X1lJkwYUK1Rz5Vdx2rBa277rql/bQe14IfInft2jUmTZpUZVs+++yzUsC1uG0BAAAAAABoqOp8BNc666xT62WmIOihhx7K+2PGjInNN9+80ikSx44dm/f79OlT43rWWmutaNGiRXz99de5nkUpf/vi1JXMnTt3kbenckeMGBFvvfVWfmwpQKyrtgAAAAAAADRUzaOAtt5669J+msqvMi+99FJpJFP56f6qq3Xr1tGvX7+8P3LkyEWufVXWjjRKbNNNN43F8Z///Ke0v/LKK1f6uNNjSlMEVtWWxX3cAAAAAAAADVkhA67tttsuOnfunPfvuOOOSkc+3X777aX9fffdd7Hq2mefffLltGnTYsiQIRUek6YMLFs7a4cddphvvaya+M1vflPa79+/f6VtSW677bYKy/jmm2/izjvvzPtp6sYBAwYsVlsAAAAAAAAaqkIGXGlk1Y9//OO8n9b4uuqqqxY6Jo24Gjx4cCks6tu370LHvPvuu9GsWbO8pdCsIoMGDSqFaWeddVZMnjx5vtvT9IU//OEP82Vy2mmnLVTG888/Hx988EGljycFdP/zP/8TTz/9dL6+4YYbVjjyKo0m22abbfJ+emzpMS7o6quvLq17dvLJJ0erVq0qrRcAAAAAAKCI6nwNrrpy+umnx3333RdvvPFGnHHGGXldqoMPPjjatWsXzzzzTFx66aV5nap0/dprr13serp06RKXX355fP/7349x48bFZpttFuecc06sv/76MXHixFx2qi855JBDKhwx9dhjj8Vll10Wu+66a+y00055DbE0umrWrFkxatSoHFa98MIL+dj27dvHzTffnEO3ilx33XU5/JoxY0bsvPPOcfbZZ+c60/V77703brrpptL6YaeeeupiP24AAAAAAICGqrABV5oGcOjQobHbbrvFm2++mYOdsnCnzDLLLBN33313bLTRRktU1wknnJDDrIsvvjjGjh0bxx577ELHpHbceuutlZaRwqw//OEPeavMqquuGvfcc0+Fo83KbLzxxjnYO/zww/O0iSngWlAKt9Jzs7hTJQIAAAAAADRkhQ24kt69e8crr7wS119/fTzwwAN5FNfs2bOjZ8+eOXBKU/StttpqtVLXhRdeGLvsskuua8SIEfHRRx/lUVhpOsFjjjkmj96qTLq9W7dueUrBNGLr448/zlMdtmzZMrp27Rrf+c53Ys8994xDDz002rZtW2Vb0rGpnDSaKwVZaQ2wNG1jej4GDhwYJ510Uh4JBgAAAAAA0BgVOuBKOnTokKcoTFtN9erVK69/VV1bbrll3moqhWw/+MEP8lZbUpnXXHNN3gAAAAAAAJqS5vXdAAAAAAAAAKgJARcAAAAAAACF0mxuTeboo8lL632lNc6S9957L3r06NHknxNoavQDgL4A0A8A+gHA5wRAfX9eaAQXAAAAAAAAhSLgAgAAAAAAoFAEXAAAAAAAABSKgAsAAAAAAIBCEXABAAAAAABQKAIuAAAAAAAACkXABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACF0mzu3Llz67sRAAAAAAAAUF1GcAEAAAAAAFAoAi4AAAAAAAAKRcAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAAAUioALAAAAAACAQhFwAQAAAAAAUCgCLmrV0KFD44ILLojdd989+vTpE127do1WrVrFcsstF5tsskmceuqp8frrr3vWoREbP3583HjjjXHQQQfF2muvHR06dIi2bdtGjx49Yu+9947f/e53MWfOnPpuJlCHvvjii3j22WfjqquuigMPPDC+9a1vRbNmzfLWq1cvzz00ktf70047Lb/nT6/1Xbp0iX79+uW/++nTp9d384A69PHHH8ef/vSnOO+88+K73/1u/r+/7HX+6KOP9txDE/CPf/wjLr300twH9OzZM9q0aRMdO3aMtdZaK/cDI0aMqO8mAnVo2rRpce+99+bP+vv37x+9e/eOzp07R+vWrWPFFVeM7bbbLq644oqYPHly1LVmc+fOnVvntdAkpA+sU5hVlXTMRRddFGedddZSaRew9KR/cn/2s59FVS8tm266aTz00EOx6qqrLrW2AUvPgAEDYtiwYRXettpqq8W7777r1wEF/1LbYYcdFlOnTq3w9vQFl0cffTRWX331pd42oO6lIKsyRx11VNx+++1+DdCIpQ+z05fZqnLEEUfELbfckj/wBhqXp556Knbaaacqj0tfgvntb38bu+yyS521pWWdlUyTlJLalNButtlm+R/a7t27R/v27WPixIn5g65bb701/yP805/+NJZddtn4/ve/X99NBmpR+ltP4Vb6Jve+++4bO+ywQ6y55pp5BNfo0aPjf//3f+PFF1+Ml156KXbcccf8ra/0LS+gcSkfcqdR3CnUHjlyZB7ZBRTbq6++mkdmplFa6TU8va9PofaMGTPytzhvvvnmPGNDmtEhveZ7nYfGLY3cSCM5n3jiifpuCrCUvP/++/ly5ZVXjoEDB8Y222yTv7z69ddf5/f8V199dT7mrrvuyl+Gv+eee/xuoJG+BxgwYECetS3tpxzgm2++iQkTJsSDDz4YQ4YMiUmTJsVee+2V/y/YYIMN6qQdRnBRq9KLWYsWLSq9/Z133skn/WeffRYrrLBCfPDBB4s8HiiWM888M5Zffvn4wQ9+EJ06daqwjzj00EPj/vvvz9fTaM5zzz23HloK1KWbbropf6idpitLUxUkaWrCcePGGcEFjWSEZsuWLfO3t7fYYov5br/yyivjjDPOyPsXXnhhHt0NNC7nn39+9O3bN2/dunXLI7PTdMSJEVzQ+O2xxx5x5JFHxv7771/hZ3rpA+2tttoq3njjjXw9vV9IIRjQdDKA5OGHH85ffk/222+/PJNTXRBwsdSlD75//etf5/1//etf8e1vf9tvAZqQNP9u+qbX7Nmz87c30jfBgcZPwAXFl755mYLr5IQTTii9py8vfWtzvfXWyyO30wjOjz76qFrTmAPFJeACFpTW6dtzzz3z/o9//OO47rrrPEnQBPXp0yfGjBmTpyr85JNP6qSO5nVSKixCmrqszMyZMz1X0MSkEV5lw5LHjh1b380BAKopfQuzzDHHHFPhMc2bN8/f6k7SrA2VrccHADReafmSMv7vh6arw39zgLrMAARcLFVpbv4//OEP806+5s1jrbXW8huAJmjWrFmlfgAAKIYRI0aU/lFN044vavH5Ms8999xSaRsA0HCkGVvK+L8fmqbRo0fHP//5z7y/zjrr1Fk9Plmkzn311Vcxfvz4vOj0lltuGW+99VbpW58VrdEDNG4ff/xxfpGr6xc4AKB2lb1+p7X10hpclSn/+l52HwCg6Rg+fHhp3//90HRMnz493nzzzbjmmmvy2r1pra7k5JNPrrM6K/+vBGppDu6K7LjjjnH11Vd7jqEJSovPz5kzJ+8feOCB9d0cAKAa0rQiadH4pEePHos8Nq29lUZ5ffnll/Hee+95fgGgCUnrcV522WWl6/7vh8bt9ttvr3T68uS0006Lww47rM7qN4KLpb72zu9+97t47LHHonPnzp59aGL+/ve/x7XXXlv6cOyHP/xhfTcJAKiGzz//vLTfsWPHas+3/8UXX3h+AaAJ+cUvfhEvvPBC3t93331j0003re8mAfVgo402iueffz5/0b1Zs2Z1Vo8RXNSJVVZZJV577bW8n0ZqvP/++znUGjx4cP5A++23346f/vSndXpyAw3LRx99FAcccEDuE9Lf/h133BHt27ev72YBANVQfmHo1q1bV3l8mzZtSmvwAgBNZ2rCs846K++vuOKKceONN9Z3k4A6ts8++5SC7PTef+zYsXH//ffH73//+zxyK33RfY899qiz+o3gaoLKPlxe0i0NP6xMq1atYr311stbSmt33333+OUvf5lT23Tfc845J4477ril+riBpdsPLPit79QPTJgwIV+/9NJLY/vtt/crgSbUDwDF1rZt2woXjq/MrFmz8mW7du3qtF0AQMPw73//O4/YSv9npC+6pA+4u3XrVt/NAurYsssuW8oB+vbtGwcffHAMGTIk7rzzzjzIZe+9967Tzw0EXCxVG2ywQfzsZz/L+7fddls88cQTfgPQBL7xnV7MXn755Xz9//2//1f6RhcAUAydOnUq7Vdn2sG0/lZ1pzMEAIrtnXfeiZ133jk+++yzaNGiRV6epH///vXdLKAeHXHEETFw4MC8Lt9JJ52U+4e6YIrCJqhly5YxevToJS6ne/fui3W/9EF32bo7Dz74YH4BBBpnP5C+uZUWlH3mmWfy9UGDBsXVV1+9xPUCxX8/ABRvBFfXrl1j0qRJpRHZlUn/vJYFXD179lxKLQQA6sPEiRNjxx13zJdphodbb701j+QC2HvvvfNozvS/wZ///Oc49NBDa/1JEXA1Ueuss0691b3CCiuU9seNG1dv7YCmrq77gfQNjfRtjUceeSRfP+igg+I3v/lNndYJFOf9AFA8ffr0iREjRsRbb72Vv8SSgvKKjBkzZr77AACNU/riy0477ZSnIUvS8iRHHnlkfTcLaCCWRg5gikKWuvfff7+0b8oSaLxOOOGEuPfee/N+WkzyrrvuiubNvewAQFFtvfXW+TJ9A7Ns6uHKFpgvs9VWWy2VtgEAS9fUqVNjl112if/85z/5+mWXXRYnnniiXwOwVHMAnzSy1D3wwAOl/fXXX99vABqhtM7WLbfckvd32GGHPB1pq1at6rtZAMAS2GeffUr7aT3dykZwpwWlyxacHjBggOccABqZ6dOnx+677x7/+Mc/8vVzzjknzjzzzPpuFtAEcwABF7Xm4Ycfjg8++GCRxzz77LNx0UUX5f00pckhhxziNwCNzAUXXBC/+MUv8v6WW24Zf/jDH6JNmzb13SwAYAn169cvttlmm7w/ePDgGDly5ELHpLU2y9b3O/nkk33BBQAamdmzZ+c1tv7617+WXu9/9rOf1XezgKXo9ttvj5kzZy7ymPTZ4KOPPpr3e/XqVZoNorY1mzt37tw6KZkm5+ijj47f/e53+RscacTGt7/97fytzVmzZsXYsWPzOjxpUbn0rc7kwgsvjPPOO6++mw3UojTf9o9//OO8v8oqq8R9990XnTt3XuR91l57bR9+QSOT1ud57rnn5vvZaaedFpMnT47ll18+rrrqqvlu23XXXWOllVZayq0EFscrr7ySpx2cMWNGnmbk7LPPzqO00vU0NfFNN92Uj1trrbXipZdeik6dOnmioZFJr/Hptb78Gjynn3563k/9w6BBgxb6rABoPPbff/8YMmRI3t9+++3j2muvjWbNmlV6fOvWrfP7AqDx6NWrV3z++ee5P0jB1RprrJH/N0g/e+211+Luu+8uheCpDxg6dGjsuOOOddIWARe1Jr1pveOOO6o8rl27dnHxxRfHqaee6tmHRma77babb92N6njnnXfyCyPQuL7Ndcwxx1T7+GeeeSb3H0AxpC+uHX744TFt2rQKb08fYqV/Ynv37r3U2wY0nP/9y/heNTQuiwqzKrLaaqvFu+++W2ftAZa+9DneuHHjqjyuR48eceutt8ZOO+1UZ21pWWcl0+Skb2Pvtttu8Ze//CXPwfvhhx/Gxx9/HM2bN48uXbrkEV3pmx1HHnlkdO/evb6bCwAALIY999wzRo0aFdddd10OsiZMmJC/mZkCrYEDB8ZJJ50U7du399wCAEAj9PTTT8dTTz2Vv6yapif/6KOP8owtbdu2jW7dusVGG20Ue+yxRxx44IF1/n+BEVwAAAAAAAAUSvP6bgAAAAAAAADUhIALAAAAAACAQhFwAQAAAAAAUCgCLgAAAAAAAApFwAUAAAAAAEChCLgAAAAAAAAoFAEXAAAAAAAAhSLgAgAAAAAAoFAEXAAAAAAAABSKgAsAAAAAAIBCEXABAAAAAABQKAIuAAAAAAAACkXABQAAAAAAQKEIuAAAAAAAACgUARcAAAAAAACFIuACAAAAAACgUARcAAAAAAAAFIqACwAAAAAAgEIRcAEAAAAAAFAoAi4AAAAAAAAKRcAFAAAAAABAoQi4AAAAAAAAKBQBFwAAAAAAAIUi4AIAAAAAAKBQBFwAAAAAAABEkfx/eNCmOev1N2QAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 219, "width": 860 } }, "output_type": "display_data" } ], "source": [ "# Plot the values in the array x as markers on the x-axis\n", "pyplot.figure(figsize=(10, 2))\n", "pyplot.scatter(\n", " x,\n", " [0,0,0,0,0,0,0,0,0,0],\n", " color='red',\n", " marker='o',\n", " s=100,\n", " alpha=0.5,\n", " label='x'\n", ")\n", "pyplot.grid()\n", "pyplot.xlim(-3, 3)\n", "pyplot.hlines(0, -3, 3, color='black')\n", "pyplot.gca().spines['top'].set_visible(False)\n", "pyplot.gca().spines['right'].set_visible(False)\n", "pyplot.gca().spines['bottom'].set_visible(False)\n", "pyplot.gca().spines['left'].set_visible(False)\n", "pyplot.title('Figure 1.3.2.1');" ] }, { "cell_type": "markdown", "id": "5b207b00-dca4-4352-ae48-db2bee0cfae2", "metadata": { "tags": [] }, "source": [ "## 1.4 Simple arithmetic" ] }, { "cell_type": "markdown", "id": "e02e1d89-68ee-41de-bb56-78c427c04437", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.1 Rounding" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We often find that the results of statistical calculations contain values with many decimal places and we need to round these. Look at the _p_ value for the equal variance _t_ test below." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAAQCAYAAACWR6pNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAB+xJREFUeJztm2vQVlUVx39gpQ1mF0yayigNM8mymULxEtIFtehCSR8sFGfSmmoIhYpSW/xzKprKSLtROlHWh9LSblhqNlFpMaOWGWYEYuWEhkLjJbogzWr+hznv4Tzvey4P2Qf+M2fOPOfstdfe66y112XvZ9yOHTvYgz3Yg/89HlV9IOnpwAeBE4GJwF+AK/NVRGxp03nTviTluznAq4DDgacB/wR+A3wpr4h4eACPpHkXcFiJx43ABRFxQ037jcDkAUO+OyKeUmn/UeBFwCHA/sDfgTs9j09HxL19efSgORmYARwBvAB4HPC1iHhzTdv5luVoeDgi9upJ01peBSQdBywEjgaeBNxnHVgeEau6zr0Pny7tK7TzgK/45xkRcXGt8Uk6GLgeOAD4NvA7YJqV+0RJx4wmvB59zQU+Z8P5MfBHYBLweiAHe5KkuRExwk37Q78HuNcfdzPwbOC1wBsknRoRX60Z3t9ScDXPH6h5dhZwE3ANcA8wATgKWAqcKemoiPhTTx5dac614uX7PwOHjtL3r1JkA96lcr0UuGoINJ3kJSnncr6/4fesC2m8LwSOB1b1mHtnPh3GVaY9ELjIY9x3LM/3WRvLgoi4qNTJBRbqh4C3NZlky75+D7wG+H7Zw0l6P7AmDcmG+M3Su/QEi9MrAM+PiHtK72YC19nr1hnf1ohIZWiC/SJiW/WhpBx/ju99wNt78uhKc5YV7w/2Arlw1SIi0pDy2gWSigjhC31pushL0lwr+LX5nSPi/sr7R/eZe1c+HcdVvBvnqCEdw7esqyMwvtT4IGAWkOHPZyrtAngQmCdpQoNJtuorIq6LiO9WQ8uI2AR83j9zlSljssf/y7LhmS4/RArqyfREnSIZ3/B9Co8Qcp4Rsa4aEbSBpOfZM92Vi19fmrbykpTfMCOYh4BTqgruPv/Vd+5t+XQdVwkLHBmcbn1nNM+XDRNX1xjB/ZJ+boNKof9ojLkOs69igv+uPF/nvHCapP0jIsOC/0LSS5wDZChah70lZW7wDAvmFmB1RGynOV7t+y1D5DGMcbXFW32/pAWfLjSD5HU08CzgcmCLc/g07jTiNXV5e0e05dN5XJKeCywDPhURqyUV9jDQ+J5TCgHrsM4Gc0gDgxlKX5JyfKf65w/K7yLiPknvzcIKsFbSlXbxBzuEvaakJFVkyHpp5dkdkk6PiJ8MGMtix+2Pd0HhWCvSsmHx6EjTGZIeC6Sx5wJ58TBpWsjrxb7f7Vzx8Eo/q4GTI+KvXebYg0+ncVlnL3XdIsPsgdgZdlpIRdJfh+L5E8aY5DD7WubVZlVE/LD6MiKWOxfMCZ8BLHHxJhP6ldVw1Mg4/GVW9AkW6grgmVk8kJRJfB0WO2ReaEXKxWDWAKXowqPruPrgjf4GVw0oGvWhaSqvA3zP/D8N++WOWvK75zfPKOayjvPrw6fruD7gYsz8iMhKb/OthlGQCWRiGBuDY/YlKWPmRa6SzhvQJiudHwYuzDI2sMlVr49k2VnSERGRbXYiIqrVu1tTwJIeML+l3vYYgaLUL2mSQ5JcGG6WNDsiburLo+u4euJM31cMm6aFvPYq6UR6kl/7928lzXH0NEPS9J4haFs+rcclaZq93SeajHV8jTcqvFYV+1XajYZefUl6R8bLGU4CMzPErGlzvBPi70TE2RGxISIe8oed42LAIhd/mqAo7OSKNhARkXtuVzhsnljawxkajyHQjAlJh9kosmK4anfRNJDXFt83lBS8oE3PUUQ8qdh90JZPq/alcDON8rwmAyob3+2+Zx5Whylj5HEMoy9JC+3FbrXhpTerw2zfdykxpxF6i2K8Q4AmKELUMau55nGnF4epWfDZHTx60Pw/FVrGktftvm8dQFoYQYZ+fdCWT9v2+1rfs9iyTdKO4nL4nfiiny2vGl+hxLNcZt0JSRnrHuPTCr9oMNFOfbmA8knvLc0ckLMV2Nv3QdsJxfOsiDbBdN830BxP9X37buTRhWZUSNrHoXwWTS7ZXTQN5bXalewpkh5TQ5M5Ft626oO2fNq2/4flUnfd7DY/8+8bRuR8EbFe0tUODzLs27kx7lMOufKuiIgHK6dYcqNxfXnPo2Nf53lT/EYn5ruEmhX8FHinT01kX3eV+jrJBr7Np2yK51PzhEK1b0mT7W0pb8pLOtQb3yO8rxeU852UX185KteKR1eansii1BPzxEaLQsuYNF3kFRGbJX0deJOLFeeW6F4BnOD0ZES1uy3a8unQPp3JWwbIZakjsC8PPF7mkweprBdKysrbbcCR6YUcIp5TaZ/bBJO9H7Kxa1+STrPhbbdRLZB2OdW0MSJWln5f7pMHWYW6TVLmFZvs9mc7UV5SOQ6XCrREUnrmO7wRnwtI7uHs4zzm46X2eSb1Yy4rr/dWxiSfqDjI/LLKSg8eXWlSbq8D8koUZz+nSyrktDkiFo9SNKmeThkNTWi6yCtxtnXjHO/RrrFezbFO5JnIrUOYe1s+rcfVBiNCwvRY3pNZaaaLrARZTZze9Fxnh77SeHGFaaFj5Oo1v9J/hj+v9DGjtRbIIm/cp7KeEBFZtCkjlfsK8zvFwp3hcCAXgKzElcPUa61sE72l8W4fdUsPlavD1IhY25NHVxp8qPg0X7kSYyUvnuXh47oN4GNbFlqa0nSRF04vjnTKcWDpdEienjkuIi4bxtzb8uk4rsYYt+cvRXuwBzwi+A/E77fiIlcjEQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 0.0285355177361664$" ], "text/plain": [ "np.float64(0.028535517736166433)" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Seed the numpy pseudorandom number generator with the integer 2\n", "numpy.random.seed(2)\n", "\n", "# Create a variable named groupA that holds an array of 100 real numbers from a normal distribution with a mean of 100 and a standard deviation of 10\n", "groupA = numpy.random.normal(100, 10, 100)\n", "\n", "# Create a variable named groupB that holds an array of 100 real numbers from a normal distribution with a mean of 101 and a standard deviation of 9\n", "groupB = numpy.random.normal(101, 9, 100)\n", "\n", "# Conduct an equal variance t test comparing the values in groupA to those in group Band show the p-value\n", "ttest_ind(groupA, groupB, equal_var=True)[1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We would typically round this _p_ value to two decimal places and write $0.03$." ] }, { "cell_type": "markdown", "id": "54bebecb", "metadata": {}, "source": [ "The `round` function rounds a number to a specified number of decimal places. By default, the number fo decimal places is zero, but the function will add a single decimal place with a value of $0$ to the output." ] }, { "cell_type": "code", "execution_count": 36, "id": "ce7fb77b-e6f7-4001-b5e6-9702a8961337", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAX5JREFUeJy91E+oTVEUx/HPlRH5U69kYCDCkIHybyAGj6GBIcns1ROJoVotZUoRYylzb/omdyDeSxmLhwy8TJ70ksxc7dq3jnPv7aYTv9qtzl77rO9eZ5/96w0GA/9DG5sPmXkeJ3EIB7EFTyPiwqQCmbkLt3EWM/iCZyUVEd+G6za03ruFKxW0Om2XmbkXr3EZr3APH3ENS5k5M7YjXMdnvK+d9aewHmEHrkbEg8YG7tZadzA30lFE9CNiJSKmHlxm7sEsPuFhKx34gYuZuXkE9Jc6XeNiRPxqbfg7XmATjnYFHajx3YT8So37u4K21bg+IT+c394VNE29GgddQeutztra2lzXBfS2eQZjtK95hl1A/RpnM/OPOplZHOUEfmK5EygiPpRfG7sx30onyv15EhHlPuk1TTUzz6GMop04Uy3leZ1bi4ibjfXFgl5Wd1jAGxzBqfrJjkfE13EdFY+7VEeBFBUHGM4V0213dRiPK+AGCvw+jg0hIx39S/0GNeFsXmLmTLYAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 10$" ], "text/plain": [ "10" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Round a number to the nearest whole number\n", "round(10.4)" ] }, { "cell_type": "code", "execution_count": 37, "id": "c924fe22-296f-4b13-9d91-e9c93e37e6d6", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAK5JREFUeJztlKEKAkEQhr9brJrNF8Smb2C0GoyC2SgYD4Z5GJ/D4HsIgtFoX1nYk7tFPGdB030wsDP8P/9OmcJ7zz8YNBtVXQMLYA7MgCFwFJHNO7Ma9K0goIqGB3ADph0frb7Vu6TfAxNgBOw6Qkz61kYicqrfqvrJZ9anG/0M1wfl4rKdRvqgbIrmUVXVFRAqMAaWwAU4x9ldRA45+vTWheO4TWZlrMAVeAVZ9E+qijFfqvTnogAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 11$" ], "text/plain": [ "11" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Round a number to the nearest whole number\n", "round(10.51)" ] }, { "cell_type": "markdown", "id": "ee68b190", "metadata": {}, "source": [ "A decimal digit with a value $5$ and up leads to the preceding digit being rounded up and a decimal value with a value of $4$ and down leads to the preceding decimal digit being rounded down." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below, we round the _p_ value from our equal variance _t_ test to two decimal places." ] }, { "cell_type": "code", "execution_count": 38, "id": "998dab6c", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAQCAYAAACC/vbpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAklJREFUeJzVljtoVFEQhr9dtPERBYMJIvgIUSGdiA8URIWQxkZrwUaQCIIYC7X4GUFQhBTxUVhJShu1E1EEwWClYOETwSD4JEqQoAi6MnHucvdyN3d3sxb5izu7c+b8Z86cOTOnVKlUmGuYl1WY2UrgDDAALAM+ADd9SNK3Zsib4TKz88AmYB3QCfwAxsP+kqSJxLaUjrSZ9QBjwHLgFvAC2AzsAl4C29OTCxxuisvMfgGPgWfAZ2AhsDU28t5/S3qXF+krschRSRdThMPAMeAscLjBQDfL1SHpZ87m3e4UcBIYdF05NbgW6AfeApczcwVMAQfMzCMwI1rhUo7DgeshexNF1Wlgd8g7kv7UrCJ9Bx4CC+LIitBOrr0hnyaKdHqsD/mqzuTXET2/KPcKFmqZy8yGgEXAksjnHeHwuTyn3cgxWWehRL+0wOHZcg0BXan/t4GDkr7kpUcRSiHbUdhL9bgkdUvy8W5gH+D344mZbcxzejITpSw6MnYzYdZckj5JuhFp5DV+NM9pr51EnuWhtyBP+R9cksajdveZWWfW6fsh+82sJm3MbLE3g+hSjxpwup1cjhXTX/jtnyqhpDdeooDVwBFqYdGhRiVNVZVmPWa2wczmp42b5bJ/HJ7DtYZm5Wgu3qTGktaf7YiD0XpHzGwP8BzYEq3Xj/J0xt7L1SpgTTSSVrkGgAtm9gDwDU9EBdkZF/EjcCgxLudEyGvjtVjgOOBviBFgW6Pvjha47gJX48J5xTgB7Ae+xsn0SfK8nkbNg2mu4C9deevmVbnM+gAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 0.03$" ], "text/plain": [ "0.03" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Round the number 10.59 to the nearest tenth (a single decimal place)\n", "round(0.0285355177361664, 2)" ] }, { "cell_type": "markdown", "id": "b6eaa0a5", "metadata": {}, "source": [ "In our solution the value $0.0285355177361664$ was printed to the screen. The decimal digits $0$ and $2$ are in the _first two places_. The next digit is an $8$, which is $5$ or more. As such, we round the $2$ up to a $3$ and the output is $0.03$." ] }, { "cell_type": "markdown", "id": "77d1336c", "metadata": {}, "source": [ "Homework 1.4.1.1 Round $3.0993$ to two decimal places." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Rounding to the nearest integer is not always desired. In many statistical tests we calculate the degrees of freedom. Below, we calculate the degrees of freedom for an unequal variance _t_ test. (Ignore the code and consider the results.)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "TtestResult(statistic=np.float64(0.01605247831794392), pvalue=np.float64(0.9872145027924664), df=np.float64(145.58823529411765))" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Seed the numpy pseudorandom number generator with the integer 2\n", "numpy.random.seed(2)\n", "\n", "# Create a variable named groupC that holds an array of 100 real numbers from a normal distribution with a mean of 101 and a standard deviation of 20\n", "groupC = numpy.random.normal(101, 20, 100)\n", "\n", "# Conduct an unequal variance t test comparing the values in groupA to those in group C and show the degrees of freedom\n", "ttest_ind(groupA, groupC, equal_var=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We note that the degrees of freedom is $145.58823529411765$. In the case of degrees of freedom, we want to round down." ] }, { "cell_type": "markdown", "id": "ec141f9d", "metadata": {}, "source": [ "The `math` package has a `floor` function that rounds a number down to the nearest integer. The `ceil` function rounds a number up to the nearest integer." ] }, { "cell_type": "code", "execution_count": 40, "id": "7ae43f6a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACYAAAAQCAYAAAB6Hg0eAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAeFJREFUeJzNlkuIjlEYx3/fNEXN2H8blyiXJg0WysaIpQ3FjliMspKJhYT//BfKYhSxoCGXYWvJjprU7Ccbl1wmJUIjhIU+HZ6Reb/b+byzmH+dzuU9z+n3Ppf3vJVarcZ8VPe/E9u7gAFgHdAPLAJuS9qTc5jtvcDNmB6QdKXBnpfA0iZHvJVUrQMDTgTQF+A1sDrzBbG9GLgQtr1ttn8CzjVYT7Y0AhsKoGfhuQeZUBXgGvABuAMcbWMyLWm41YZZYJL+gtimAx0CtgJboi+tosc6lu01wBngvKRx2zlgC2ynvF0CfAUmgXFJP2c2dJWE6gbGgCngeAem1bA7Hbl2H3hqe2BOwIBTwHpgv6RvmTYpF7cFXA+wFrgMLAPu2e4vFUrbG8NLZyVN5NpJKibvI+Cg7VSRR4BUFDu7SobwCXCSudGl6DeX8VgvsDLG35tU8Kjt0SiKwxlnvou+pwzYD+Bqk2cbIu8eAo+B3DBviv75f4PpT6IPNnpmezjAbhSvJNt9wBtJHwvr6Yq6GNNbdWC2dwCpJVVn3sT29Ri/l9Tuq95Ku4FjttOH/AXwGVgBbAcWAneBkTqwuLz3FdaWR0t6lXHdtFICWhUeTaFL+TQdYU/FNCbp9+9OZb7+9vwCb9aQXDnZJmYAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 145$" ], "text/plain": [ "145" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Round down the number 145.58823529411765to the nearest whole number\n", "math.floor(145.58823529411765)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We would state that the _T_ statistic has $145$ degrees of freedom." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As example, we also show the `ceil` function for the sake of completeness." ] }, { "cell_type": "code", "execution_count": 41, "id": "b01fbbb8", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAK5JREFUeJztlKEKAkEQhr9brJrNF8Smb2C0GoyC2SgYD4Z5GJ/D4HsIgtFoX1nYk7tFPGdB030wsDP8P/9OmcJ7zz8YNBtVXQMLYA7MgCFwFJHNO7Ma9K0goIqGB3ADph0frb7Vu6TfAxNgBOw6Qkz61kYicqrfqvrJZ9anG/0M1wfl4rKdRvqgbIrmUVXVFRAqMAaWwAU4x9ldRA45+vTWheO4TWZlrMAVeAVZ9E+qijFfqvTnogAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 11$" ], "text/plain": [ "11" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Round up the number 10.1 to the nearest whole number\n", "math.ceil(10.1)" ] }, { "cell_type": "markdown", "id": "afc146a1", "metadata": {}, "source": [ "Homework 1.4.1.2 Determine the ceiling an the floor of $e$ (Euler's number)." ] }, { "cell_type": "markdown", "id": "4b2992ed-e66f-41ce-b8c5-02831e524de0", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.2 Addition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Arithmetic is the branch of mathematics that deals with the study of numbers and their operations. The four basic operations are addition, subtraction, multiplication, and division. We will explore each of these operations in turn." ] }, { "cell_type": "markdown", "id": "41d73f76", "metadata": {}, "source": [ "The `+` symbol placed between two numbers add the numbers in Python. Below we calculate $3+4$." ] }, { "cell_type": "code", "execution_count": 42, "id": "2207114a-65cb-4563-92c8-ff3d9158c018", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAL1JREFUeJyVkk0OAUEQhT8/C3YcgziACBt3YEVixTEq7xiEOAWOYOsOOAYjLd0ymNGjku6qVNeXV3npUpIk/BvVUEiaAdvI/N3MKi8IODk2Z3gADIHDm5KZOcidr5B09OXKXeXY/pI6QBe4ArtCELDweWNmtygkqQ5MnAHAOvRjSmOg4Qwws3NRaO7zMt3MhSS1gR5wAfaFIDIM+AlJqgFTb8Dm8z1PaQQ03VppA2JQMOD5A6KQpBbQzzIgxAPWCjImV64uRgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 7$" ], "text/plain": [ "7" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Adding 3 and 4\n", "3 + 4" ] }, { "cell_type": "markdown", "id": "7fe4ecd9", "metadata": {}, "source": [ "More than two numbers can be added. We calculate $3+4+5$." ] }, { "cell_type": "code", "execution_count": 43, "id": "a848bae4-30a0-498b-8435-a691c50f64ab", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAV9JREFUeJy91M2rjkEYx/HPg62VjbJiTewskYWFktedlz/AS0Qp0dVvoewQO4qNjbIkVpKVU6cUSZIoSjopW2+Pbs2px+M+x+I8x6+uppn7N/O9Zq65ZzAcDv0PLRvtJNmLTdiA9ViOW1W1f3xikhXYhe1Yh1X4ime40UVV/Zz1LxmbfxZHGujDP5Lch2vYiCe4hDtYi+u4nWTQuyOcwHu8bjt7OA/oFXbg7mjmSc5gCnuwu8EN5qpRks0N1Ht086nBzuNqVR3tO7pJ6Vtrv88OTByUpCvHwda9v2ggXGgX4l5VPVgUUJJjOImXODD6bWKgJIdxGS+wpao+TxyU5Hh3w/C8QT6OexYMSnIaF/G0QT71+RYESnKuFX8aW6tqZi7vHz9skp3ootNKbMMbPG5jM1V1qnkP4SZ+4Aq+9Kz/tqo6z19PUPfGdQuMak2LTu/wG4TVrV2KrkZ9etSS8QsVzWrHnRSXOgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 12$" ], "text/plain": [ "12" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Adding 3 and 4 and 5\n", "3 + 4 + 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.2.1__ Calculate $3+4+5+6+7+8+9+10$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `+` symbol to add the numbers." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAcJJREFUeJy9lE+ITlEYxn8fipodC0oZsrBAsrTxJ6tJqaHZMbZKSVmQ0jPPQtkhiilFzWxnOf5siKyUmpBEzXzZGJJG2Iw/n956b765nctH8dTtdM557/0997zveVudTof/oSXdE9ttoL8h9o2kVV2xK4BBYA+wGVgNzANPgGvxSPpeBKU+AOcL659q8yHgMvAauAu8AlYC+4CrwIDtIUmdJtCcpBF+rxfAXmCy27ntU8BDYH9CJ5pAPUnSnYb1WdtXgDPAzl+Blto+AKwBPgOPgfuSvv2Bjy85fq0WFhWCIuFj6ShyFc5f2t7RC8F2mB/O6a0mUFTL7oT1ZTWNAmuBm7a39MA6C2wCbki6XS0uODpJrr30FDhsOyruODCSJV2U7aMZ9xw42L1XOrqSIrmh7U0Bto8AF4BnwC5J7/8G9DbHvgbIMeBSnkBAZusxvYK25ThdgJwAzgFTCalMlUG2N9peXvhQf7oNjdf2TmfyH0URSXrX5LRVNVXbkeiT2U5mgI/A+uxly6KKohAkzWf8IeA6EPfrYrauutqSImZB1QVgA7A1jyryMQc8yHs1VvWt1LocFwORo5LupZmff/Sv9QOZTpNKX/YUEAAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 52$" ], "text/plain": [ "52" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3 + 4 + 5 + 6 + 7 + 8 + 9 + 10" ] }, { "cell_type": "markdown", "id": "60d0df52", "metadata": {}, "source": [ "Homework 1.4.2.1 Calculate $1+3+5+7+9+11+13+15+17+19$." ] }, { "cell_type": "markdown", "id": "8389d79a-ec4d-4d2d-979f-614112b54402", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.3 Subtraction" ] }, { "cell_type": "markdown", "id": "1abd1b0c", "metadata": {}, "source": [ "The `-` symbol placed between two numbers subtracts the second number from the first number in Python. We calculate $3-4$." ] }, { "cell_type": "code", "execution_count": 45, "id": "518ce30f-e78a-4a72-8a26-907c85c15524", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAPCAYAAADzun+cAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAL9JREFUeJzlla0KQkEQRs9dtmq2CQax6RsYDFaDUTAbBaMwzMP4HAafQ1EQk9FgW1lZQfy5sLLeK/jBwOzwzZ40M5lzjjJkU36mqkOgC3SANlABFiIy+ioYmAfgCdgDrXdGkxg8BZpAFZjkGW1Kqogsb7mq5noNJcn8HdjeP1R1C9Qj+l+OSjQYWAPniP7DJ9AnsIj0KEimKNDPgLOUR0JVB4APrxrQBzbAKtSOIjLzSepd7Y/D+KHWCOG1A67gC4irJUDInYrmAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle -1$" ], "text/plain": [ "-1" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Subtracting 4 from 3\n", "3 - 4" ] }, { "cell_type": "markdown", "id": "0b37d8d2", "metadata": {}, "source": [ "More than one number can be subtracted. We calculate $23-6-10$." ] }, { "cell_type": "code", "execution_count": 46, "id": "b34f746f-bcab-4b76-a9d3-9fd57dcf87ac", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAL1JREFUeJyVkk0OAUEQhT8/C3YcgziACBt3YEVixTEq7xiEOAWOYOsOOAYjLd0ymNGjku6qVNeXV3npUpIk/BvVUEiaAdvI/N3MKi8IODk2Z3gADIHDm5KZOcidr5B09OXKXeXY/pI6QBe4ArtCELDweWNmtygkqQ5MnAHAOvRjSmOg4Qwws3NRaO7zMt3MhSS1gR5wAfaFIDIM+AlJqgFTb8Dm8z1PaQQ03VppA2JQMOD5A6KQpBbQzzIgxAPWCjImV64uRgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 7$" ], "text/plain": [ "7" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Subtracting 6 and 10 from 23\n", "23 - 6 - 10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.3.1__ Calculate $23-6-10-4-5-6-7-8-9-10$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `-` symbol to subtract the numbers." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAAPCAYAAAB9YDbgAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAbdJREFUeJzV1s2rjVEUBvDfwR+gDCUZKgYMmBiImCiFzHyMjJQUpW6xLKXuRNxMFCIyUdeMmCgfJUopEkrdDCT5mCjfjjb71O3ccy7XOYesetvvXmvt53322s/e+200m03/i80YJHhmbsaZ2t0WESfa4rOwDmuwELPxCfdxqjwR8a2VP22AROfgKN5NkrYRx7EUt3EEo1iAMrHzmdkYaGXz5wdKZV7jAnZ3SX2Ctbg4voKZOYQ72ID1dQIDk8EOrMDy2na0iLjaxf8iM4/hYMUYHYgMMnM+hjESEdd7gPpc2y8tR1/JZmZZqbN4hqEecbbU7uWWv98y2IdFWBYR73vAGa6b7FJEXOlINjPHMHcKoOciYlMdu6RW81BE3PpTlplZ9L4Lj1COPt0q+xQfpoD9vG35y+7e2wPR7UXreIiVEfFmfLzRjxssM2fi7W+mj0TEzg4YxXcYDyrRl+05/dLsR5zsEltcdXwTjzFBIpm5p+r0HlZFxKtOQH2p7GSWmfvL0dnpuq3xIpsDuIvV7Uv/1/4N/MIyc2sl+hU3ymWSme1pYxFxurz8U7KYV9vpmKDjatfwg+x3KvWOzlE6fSYAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle -42$" ], "text/plain": [ "-42" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "23 - 6 - 10 - 4 - 5 - 6 - 7 - 8 - 9 - 10" ] }, { "cell_type": "markdown", "id": "5af0b1c9", "metadata": {}, "source": [ "Homework 1.4.3.1 Calculate $1000-1-12-13-14-15-16-17-18-19-20$." ] }, { "cell_type": "markdown", "id": "874c838b-47a6-44cf-855b-ae1229aec0e5", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.4 Multiplication" ] }, { "cell_type": "markdown", "id": "72101ef7", "metadata": {}, "source": [ "The `*` symbol between two numbers multiplies the numbers in Python. We calculate $3 \\times 4$." ] }, { "cell_type": "code", "execution_count": 48, "id": "f1bbbf86-07f0-45a5-845c-cfffd0bb0187", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAV9JREFUeJy91M2rjkEYx/HPg62VjbJiTewskYWFktedlz/AS0Qp0dVvoewQO4qNjbIkVpKVU6cUSZIoSjopW2+Pbs2px+M+x+I8x6+uppn7N/O9Zq65ZzAcDv0PLRvtJNmLTdiA9ViOW1W1f3xikhXYhe1Yh1X4ime40UVV/Zz1LxmbfxZHGujDP5Lch2vYiCe4hDtYi+u4nWTQuyOcwHu8bjt7OA/oFXbg7mjmSc5gCnuwu8EN5qpRks0N1Ht086nBzuNqVR3tO7pJ6Vtrv88OTByUpCvHwda9v2ggXGgX4l5VPVgUUJJjOImXODD6bWKgJIdxGS+wpao+TxyU5Hh3w/C8QT6OexYMSnIaF/G0QT71+RYESnKuFX8aW6tqZi7vHz9skp3ootNKbMMbPG5jM1V1qnkP4SZ+4Aq+9Kz/tqo6z19PUPfGdQuMak2LTu/wG4TVrV2KrkZ9etSS8QsVzWrHnRSXOgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 12$" ], "text/plain": [ "12" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Mutiplying 3 and 4\n", "3 * 4" ] }, { "cell_type": "markdown", "id": "9757f634", "metadata": {}, "source": [ "More than two numbers can be multiplied. We calculate $3 \\times 4 \\times 2$." ] }, { "cell_type": "code", "execution_count": 49, "id": "ad66ba09-5ae7-4ebc-aff2-e94f347cc0ea", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAZlJREFUeJy91M2rTlEUBvDfiz9AGcrAUDFgwMTAR0yUQoaXkZHSLUoplqXUnQiZKETMFDNionzUjVKKxB3JSPIxUfL56tS+de55zzn3ZeCp0z77PGevZ69n7b0Gw+HQ/8Ci2ZfMXIId2IZVWIrveI7L1RMRv/uCZeYErpbpvoi4OMstqP23GxewDo9xBjewEtWC65k56BFZhnP40psRZrAdt+o7z8wjeIJd2FnE56BsoMr6I27iUKdQRNxrkuX7u8w8j5PY0CaEA9hU+GocQd26Pvwo488mkZkrMIWzEfGgK8C8QplZZb2nTO+0cNfwFpXFnajXqAtT5UDcjoi7De4YVmN9RHztC9KbUWZW3h/EK0w0uLUli1MRMT3fbjuFMnN/5TteYmNEfGqxbAZHjYFBW2fIzEmcxgtsjoj3DX4xPo8jUA7J5EiNMvNwqcszbImIDy2Lv+FSR+A1pW6P8BrTIxllZmXDCTzF1rpd4yIzj1fXr9mC6r1ubxH5hYfVJczMZpw3EXHlb8XnCGF5GReiqlEb7uOfhP4A8duHDazFdrIAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 24$" ], "text/plain": [ "24" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Multiplying 3 and 4 and 2\n", "3 * 4 * 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.4.1__ Calculate $3 \\times 4 \\times 2 \\times 5 \\times 6 \\times 7 \\times 8 \\times 9 \\times 10$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `*` symbol to multiply the numbers." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAQCAYAAACWa2gIAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABMtJREFUeJztmHmoVVUUxn+vEbNsLkmlQWw2aJ5Ls6xowgaIaCDCBgM1lTK1lquIrMisLISCQvKPzDAwxSyVLEfQysoGUZSCtOFZlBqavVjwnce+m3Pt3XPxPz+4bM4969vD2mt/a+3T0tbWxm7seuyVPrj7M8BZwPHAYcBWYD3wHjDRzH4r68TdLwaGAhcAhwCtwJfABDObldgdCgwArgF6A92AbbJ9I35m9m+dMYIzBDgZiH5+ApYD481scbP24nQHngCuSjixdjezTc1w9sh4DwGdgQ+BF4EpwD/AWGClu/coGWgMsAC4BJgNPA/MAA4G+mTmtwCvAecCS2MjgHeBU4HXganu3lIyRgTA+8AZGiPmtgK4AVjo7rc3Yy9OT23E3cAy4AVgrTZrsYKkMqcmooEuZvZ3SYdPAaOAR4FByf/huCeBj4AbzezPjLd31tX3wPXAzDRy3X2UJnpT9CPnF++6AiOAjcBpZvZz8q4vME8R9VYV+wSvAkcAg83s5YQzXgEYPri/KqcmosucLExV2yvpLLgROVuA23Inq7/t2fM8M5uRy4OZbQAm6TE/BUdrnktTp4k3H4hxD2/CPtZyHNAfWAe8ki8D2Azc4e6dq3Jy6aiH69SuTP4LPT4WCA3eFJro7o+4+xB3P5/GsV1tSFWK1dLxc9w98kY73D3k6gCdqKr2gcvUzikJgtiYhcB+wHlVObl0FBOKo7c/cKCS40Vy8rjE7Gy1G6V/vbM+QrdvNrNfysbIbGMed+pxdjbp1tjASGLAKnePRBNJuadkKPLJfVXthRMSaSvDakVvFAlzq3DqRfQIhf9QOTkW3z9zWmgT0qBOwOWKlkhsHyg5vkPHME68WWYW3BqY2QRpd2zIQGCkEusPwJslEtGQvQIq8Eed+RX/H1SVU+poM+tqZpH9u2rCoUefuXtk8QJ7qm1R5M41s7/M7GuVcD8Cl/6fjLj7YGA48G1oWh2bh4Fp4SRFZujemcrwU9z92WbsO4CiEmqryimVjgJmFrIw3d1X6IhMVuQFihpxrZl9kfG2untE5j2hlUC9uvVBlV6rgH5x7Ets+ijpTjezYcmrFe4+QPMa7u6TzGxto/ZZ9BVRmqNLZtcwp0PJ0MzWyxmnJAnmO7W/16EVG9Gp7KW7hyxNBL4C+qryKMO1aueXzGuLysJYx+kV7dO1hJ6WoVeJHjfE6WjVEThK7Q61C1Qh9HL3fUrsi8hfl79Qsori/nM5OdfMFPuqrSnJEhT/b6ton25Kf5Wt6Vwj71yoW/KSqpx2A3c/UcV+DaITXVgi+S0qrpVm9ivwto7O4xnnCuBKHZvZ2bvHlPyWSy6in53hE7X3unu3rK+rtaCo/xdVtI+1rIkyDTgGCDmroUnjJ5vZ5qqcVKPjrv6cyrI1KomOjISmZLhBGTzFMF2nR6tGXaYLwwBF/kAza5cWd79Lt7Idcshg95hTDdaZWSSxAtNU90ZV8427T9dcTpJMRNIZmXyHadS+wCA5/yV37xdcra2vjv/ofKKNcFqKr3fuHkf9Ae14d5Ulm0WYGZ3VSVbxEWmMnBsRFMX6p8DTZrYksx2rsnFn+NjM+pRc5SNqbtVHorgItGpjY15zmrFPeD128oGotRlOu6N3g12K/wDkvWkj0A8YxAAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 3628800$" ], "text/plain": [ "3628800" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3 * 4 * 2 * 5 * 6 * 7 * 8 * 9 * 10" ] }, { "cell_type": "markdown", "id": "239755ea", "metadata": {}, "source": [ "Homework 1.4.4.1 Calculate $2 \\times 4 \\times 6 \\times 8 \\times 10 \\times 12 \\times 14 \\times 16 \\times 18 \\times 20$." ] }, { "cell_type": "markdown", "id": "956de93a-2bb8-4343-ae08-988f64bbf1a8", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.5 Division" ] }, { "cell_type": "markdown", "id": "4df6473c", "metadata": {}, "source": [ "The forward slash `/` symbol between two numbers divides the first number by the second number in Python. We calculate $10$ divided by $2$." ] }, { "cell_type": "code", "execution_count": 51, "id": "fe46066e-ce4c-452b-963c-9ce0d45f065a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAfZJREFUeJzNlU2ITmEUx3+vTJQYUdMsND4mHyXZyEdTM6EmxcbCRmQrirBRszj+yk7SmBErE/bYUGpMCVlL+Zh87ESJaUxK8U5H563nfea+dW/TxH9xT/d5Tuf+7//8n/PU6vU6/xrz0xdJH4GVLXI/m1lnleKSVgDngT3AcuATcNe3zOxbIYnABHCZmfhBBUjqBp4BHcA94DWwFTjppCT1mNnXViS+m9k5Zo+rQeCEmV1JyF0CTgEXgKO+No85gKQ1QD/g7R3Otg2YAg5LWtRKiQWSDgFdkfwCeGxmvyvw2BXxoZn9aWJgNinpaZDcDowWKdEJ3Aq53BuPgHFJfRVIrI/4tsX+eMR1/shJ3AB2BxGXahNwHVgFPJC0uSSJ9sTkRWisL53RDjNTlvzSzSPJT8YZwA27n9mjFrFexZjXIvaWzJ/IFMmxJM0rS+JLxL9uLoE3ac8LsDb1TFkSOyK+L5k/FrFfUtM3JC0GeoCfwPMmEpI2SlqWV5PkY3woXm9ne92SNkhqS9fN7J0fzzD08bxkKHrTzKZyYx4Azkryv/gATAI+evcCC4H7wMWs4GjcNatjMKU4FmN7UJKfuFfANmBntGGgkZhKNQbciYIHgdOAz4YnwBFgn5n9KpC+EKHGFmAkPu6ny39q0NvbuDcctf/hKp8GxnOPYeYyWhMAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 5.0$" ], "text/plain": [ "5.0" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Dividing 10 by 2\n", "10 / 2" ] }, { "cell_type": "markdown", "id": "23952c3d", "metadata": {}, "source": [ "Note that we can write division using the $\\div$ symbols as $10 \\div 2$. We can also use the notation in __Equation 1.4.5.1__." ] }, { "cell_type": "markdown", "id": "2385ce91", "metadata": {}, "source": [ "$$\n", "\\frac{10}{2}\n", "\\tag{Equation 1.4.5.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "4c5ac2ce", "metadata": {}, "source": [ "In the notation used in __Equation 1.4.5.1__, the number above the line is called the __numerator__ and the number below the line is called the __denominator__." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.5.1__ Calculate $10$ divided by $2$ divided by $5$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `/` symbol to divide the numbers." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAZhJREFUeJzN1U2oTVEUB/DfFRPyUUoGysfLx8wbKGQg1GNoYEgyEyIxo1ZLmVJPjKXMjZXuyEfKWDxkQCakl15mrnbtW8e570XvOvGv3f+ctdY++7/X3met3mAw8K+xtPmSmcewH5PYiZW4HxHHF/PxzNyAaziCtfiEB8UVEV+HcUta867iXBXxcbE7qwIm8AKn8Bw38Q4X8DQzi6jRTOAiPuBNzUh/DB13sA7nI+JWQ9yNus51nB7JRET0I2ImIsa6KJm5BVN4j9std2AOJzJzxYiIv4iDlR9GxI+mIyK+4TGWY0+XIrZXfr2Af6byti5FrK48u4B/aF/TpYjfoVd50KWI2VZG2ljVjOtKxKvmmc+Drc0705WIfuWpzPxljcwsVXgfvuPZ2CIycyIzd2TmsqY9It6W3xObcLY9DaU+3IuIufl6x1GUUbC+8t7MvFufP0fE5caUR9iIzbUwNXEGTzCdmYfwErtxoB7DlWFgOxOTOFnH4Wor1W9oKw3uj1CzsQtlA2XxSyj9ZLpsLCK+DGN7/0Mr/wm7Lm66Kwf7IAAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 1.0$" ], "text/plain": [ "1.0" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "10 / 2 / 5" ] }, { "cell_type": "markdown", "id": "d6b0db8e", "metadata": {}, "source": [ "Homework 1.4.5.1 Calculate $100$ divided by $4$ divided by $5$." ] }, { "cell_type": "markdown", "id": "df6477c2-e535-48af-b21b-2579abb04d05", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.6 Powers" ] }, { "cell_type": "markdown", "id": "47282ba3", "metadata": {}, "source": [ "We use short-hand notation when we want to multiply a number by itself a number of times. Instead of writing $2 \\times 2 \\times 2$, which is $2$ multiplied by itself $3$ times, we write $2^{3}$, placing the $3$ as a superscript after the $2$. This short-hand notation shows $2$ raised to the power $3$, which simply means $2$ multiplied by itself $3$ times." ] }, { "cell_type": "markdown", "id": "6d1e5251", "metadata": {}, "source": [ "Th double star symbol `**` between two numbers raises the first number to the power of the second number in Python. We calculate $2$ raised to the power of $3$ or $2 \\times 2 \\times 2$." ] }, { "cell_type": "code", "execution_count": 53, "id": "dd5f1145-c508-4fe0-9b37-2917c6efffab", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAUtJREFUeJyV0r9L1lEUBvDPG0lQNEgFhYODNdQQhNASREGLGCFNDeHo0qBDtB5OWw1B/QHRYE2BrkkYGBQF/gMWrlmUSxDh8srNq933i4vPcrg/nvM8z7m31+/3HRSHuxuZOYlZXMAJfMMqnkTEx3Kn1ypl5iM8wC8s4ifO4lYVmI6I+T2lzDyN+/iOixHxozm7jmU8xPyhxtkoyvpTSyiIiHf4jVNl3ZK+YAuXM/NkJ+dVHMfb/TLNlcA1y2LNNlYzreBucTFAKsjMKTzHsP/4uuMyXnXtycwyudd4URWOYRzreJmZj8u9PaXMvIYSeCEibneaHcUazuBcq3Sz1kIcQET8wefq7FJLOlLrv7Hug939rZb0vtaZzBzp2JvAFfzFhzZTafAGN+pDLmAD56v1HuYi4mn3nYZwD3fqhy0D2Kx5nkXE0sD0DoJtzPx2CKDFm8kAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 8$" ], "text/plain": [ "8" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 2 to the power of 3\n", "2 ** 3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.6.1__ Calculate $2$ raised to the power of $4$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Equation 1.4.6.1__ shows the general form of the power in this problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "2^{4} = 2 \\times 2 \\times 2 \\times 2 = 16\n", "\\tag{Equation 1.4.6.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "a89e2fea", "metadata": {}, "source": [ "Homework 1.4.6.1 Calculate $3$ raised to the power of $5$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.6.2__ Calculate $3$ raised to the power of $2$ raised to the power of $3$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Equation 1.4.6.2__ shows the mathematical notations for this problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "3^{2^{3}} = 3^{2 \\times 2 \\times 2} = 3^{\\left( 2^{3} \\right)} = 3^{8} = 6561\n", "\\tag{Equation 1.4.6.2}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `**` symbol to raise the first number to the power of the second number." ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADMAAAAQCAYAAAC7mUeyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAo1JREFUeJzdljtoFVEQhr/ENyKCiNj4VhBU1EIlQlR8kEILI7EJgthZia/CIjj+WFlpYaGVhVqIgo1PEMSoCBaCr0KRxEKQaDARn/jgylzmyt519+ZmYwr9YRn27Nn5z3/OnJlpKJVK/C8YmTUoqRnYDawEJgHvgMfAMTO7kpj3EpiR47vHzKbmEdfL4ZDUBqwGlgCLgQnAWTPbRi0xkjqAw0AvcAl4DUwGlgJrgCoi4L0vIO0H+JgxVpSjI0S4z1fA/Cy/VWIkbQ2SG8AWM/uQ+j4qw0e/mR3KW3iGkCIce0LEizihmzXFSGoEjgCfgfY0icPMvte76BwhhTjM7PfiJeX6T56Mx+4s4ALQJ2kjsBD4Ctw3s3s5PsZI8tidDnwCHgGdZvYzY25RjrqQFLMsbA/wAFiUnCipE2gzs7cpH37JT6fGuiXtMLNbqfGiHHXBj72CKWF3AuOA9ZE1fOeuA6uA86n/TwHrQtD4WNxJYCZwVZJfWobIUehkRoRtiN15GO9PJbUCz/3ySWqqhIOZpQP4iS9UkmedfYAnhtahcBQ9mb6wXQmSMszsS+ycY3kdfk+E9Z1mmDhqinkWtp9sVBbi4TEQ3oT10GOYOGqK8cv3A5gnafSfU8tx7fCqPxCawnalxv8mR74YM/NqfA6YCBxMTpK0AWiJan8txhZI8jakCpK8vTker2eS3wbLMVg0JBtNSZ5t7gJzgdue+6P38stZikJXzjaS/HIfiGrcDXgBnAN47RgbLUmrmX1LEg6GowJJmwF/iMzZEqfu/zt6zWx/Y2rnPNZXAEeBacAuYC1wGWhOkbiIi1EE24G90WrcAbYDm9JCCnAQ8AbTffrjQhyzE2PeiFafzL+OXxXnGHfafKvlAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 6561$" ], "text/plain": [ "6561" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3**2**3" ] }, { "cell_type": "markdown", "id": "e35b6704-9849-42f3-a8d4-b579cbd06895", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.7 Square root" ] }, { "cell_type": "markdown", "id": "d07ca4eb", "metadata": {}, "source": [ "Consider the number resulting form $3 \\times 3$. The result is $9$. We state that the square roots of $9$ is $3$." ] }, { "cell_type": "markdown", "id": "619c3b08", "metadata": {}, "source": [ "__Definition 1.4.7.1__ The __square root__ of a number $a$ is the number $b$ such that $b \\times b = a$. We write $b = \\sqrt{a}$." ] }, { "cell_type": "markdown", "id": "bf9ad35a", "metadata": {}, "source": [ "We can also write $\\sqrt{a}$ as $a^{\\frac{1}{2}}$." ] }, { "cell_type": "markdown", "id": "8c0f33f1", "metadata": {}, "source": [ "Below, we calculate the square root of $9$ using the calculation in __Equation 1.4.7.1__." ] }, { "cell_type": "markdown", "id": "3586c786", "metadata": {}, "source": [ "$$\n", "\\sqrt{9} = 9^{\\frac{1}{2}}\n", "\\tag{Equation 1.4.7.1}\n", "$$" ] }, { "cell_type": "code", "execution_count": 55, "id": "895c08c0-194e-4059-86fe-da681791b63e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAhxJREFUeJzNlU+ITWEYxn9XbAxDjZhEQoOanRSiNNQ0GxvWioUSRcICi8dDihQZTLGSsrFhqWFSypCSmgWhESukYSZNlD9X3/Te6cxxbvdMKZ7Fefv+vd9z3j/PV6lWq/xrTM0ObJ8GVgHLgDnAV+AtcAu4KGloMs5tLwCOA11AC/AufFnS59q+Kblz+4Em4A5wHrgO/ACOAQO2F06CwFLgCbADeAycA14D+4CHtlsKIwE0S/pW4PAkcAQ4DOwuyaMHmAvslXQh4+ts/GzyueuPSKiAQOBG2LYyt9teAnQCb4BLuWUBo8A2201F6aiHzWEHKIeNYXsl/couSPoCPACmA2uK0jEG2weBGcCsKNT1QeAU5bA87Ms6668iUqkB+gpJAInEvMz4NrBd0seSJBL5hJE667X52XXTIalVUgVoBbYAKcdPba/k7yD5Tqg2rAlJHyTdjNCllrpW8pKRXETyaM7uK1WYkpJgPQPabScRa4QXYVPOi9CWrZmy3ZEwf+wLP2mMe2E7bU+4w/ZMYF2o8aM0N16YtlcAw5Le5w4lJydCePqzchuqOA0YlPS9Ni9p0HZvpHEPMC5W6Vio8mVJo/kW7QLO2L6fnAJD0SEbojATuZ25P+4DFgGLQ5iySMraD3Tb3gQ8B1YDHZGGo7WN2VDdBa5EAaaOOARsBT4F+3ZJqS5KIUUjNOZqXH4ASJHrBtZmH8PK//CU/wZQnKC12yqVWQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 3.0$" ], "text/plain": [ "3.0" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Positive square root of 9\n", "9 ** (1/2)" ] }, { "cell_type": "markdown", "id": "87f4ea5c", "metadata": {}, "source": [ "We can also use the `sqrt` function in the `math` package to calculate the square root of $9$." ] }, { "cell_type": "code", "execution_count": 56, "id": "f0b747b8-0d7e-4027-bd68-99658cdbe9e5", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAhxJREFUeJzNlU+ITWEYxn9XbAxDjZhEQoOanRSiNNQ0GxvWioUSRcICi8dDihQZTLGSsrFhqWFSypCSmgWhESukYSZNlD9X3/Te6cxxbvdMKZ7Fefv+vd9z3j/PV6lWq/xrTM0ObJ8GVgHLgDnAV+AtcAu4KGloMs5tLwCOA11AC/AufFnS59q+Kblz+4Em4A5wHrgO/ACOAQO2F06CwFLgCbADeAycA14D+4CHtlsKIwE0S/pW4PAkcAQ4DOwuyaMHmAvslXQh4+ts/GzyueuPSKiAQOBG2LYyt9teAnQCb4BLuWUBo8A2201F6aiHzWEHKIeNYXsl/couSPoCPACmA2uK0jEG2weBGcCsKNT1QeAU5bA87Ms6668iUqkB+gpJAInEvMz4NrBd0seSJBL5hJE667X52XXTIalVUgVoBbYAKcdPba/k7yD5Tqg2rAlJHyTdjNCllrpW8pKRXETyaM7uK1WYkpJgPQPabScRa4QXYVPOi9CWrZmy3ZEwf+wLP2mMe2E7bU+4w/ZMYF2o8aM0N16YtlcAw5Le5w4lJydCePqzchuqOA0YlPS9Ni9p0HZvpHEPMC5W6Vio8mVJo/kW7QLO2L6fnAJD0SEbojATuZ25P+4DFgGLQ5iySMraD3Tb3gQ8B1YDHZGGo7WN2VDdBa5EAaaOOARsBT4F+3ZJqS5KIUUjNOZqXH4ASJHrBtZmH8PK//CU/wZQnKC12yqVWQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 3.0$" ], "text/plain": [ "3.0" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Positive square root of 9 using the sqrt function from numpy\n", "math.sqrt(9)" ] }, { "cell_type": "markdown", "id": "9bfbfb2f", "metadata": {}, "source": [ "Only the positive square root value is returned. We do remember that $\\left(-3\\right)^{2}$ is also equal to $9$." ] }, { "cell_type": "code", "execution_count": 57, "id": "ec3449fd", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAATpJREFUeJyV0rFLllEUBvDfpya1qDm1WgiBW6CTYxA5hNTiUIQNbS3hKofT5OLQ4FRRjUVTtPVvuLSYUESKtSSKiH1y4372+mKSz3LeczjPfd7nPrfT7XadFQPNJjM7mMdDTKAfn/ASKxFxUPb6Woe8xguM4Q2eYRBPS18P/auUmbO4h8+YioitOj+Ht7iD+3jVVLpd63KPUBAR+1is7aP2712qde0E773ZtcwcaZK2ai1+2rjc+L7aJH2o9XFmjja8Ft/Z2LvY6eWUmX2VeBMbeI8dXMcVfME4bhwpRcRv3MICvtebfICvmMaPurp5pHQaMvMCfqIsD7fD9Q8U1fMlrxLBMVJmDp2gMoklbONJmR17e/iYmbtYxa/6/mawV8KPiD95tUnvMIe7KD6+4XlRioj13tJ/XUQbhzHlXAELJry6AAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 9$" ], "text/plain": [ "9" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that -3 squared is 9\n", "(-3) ** 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `sympy` package has a `sqrt` function that calculates the square root of a number analytically. We calculate the square root of $10$ using the `sqrt` function." ] }, { "cell_type": "code", "execution_count": 58, "id": "9325c6ad", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAAZCAYAAACo79dmAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAlNJREFUeJzVl02ITWEYx3/3zNiYfERkYaGRkRULxWXhq4YQFmOhSDYSIs3s0L9H2VIj1pOy91G+NpMFI6WUhcZXFmRDGp8lXD313uk47nvvuTOX0/3X6bm9z3Pe+z/P+5z/85xSpVKhXdDZTLCZTQM+0g5kgY3AJkm3KABJk/FrgWEKQpI30Mw6gA5J3ykISROxq4B7FIikidjNwHXahOxsSe8pEJ15gsxsETAa8fUBa4BlwFLA5e2SpN0N9pwPnHJ18UQAb4HL7pL0YTKZ3QZci/hOAIcD2Td5NjOzhcBDYB/wADgLvASOAiNm5uQnrLM9kp5GfMeA18DzkOE80nYBmAsckXQu9RBnwn6ngQNRsmaWhGO5K+lGan0WEK1VSePkzKwhSzPrBnqBV8D57HbAfmCPmfVL+hIrA9+gDOz8xyqwPtjbkn79wVT65MkCpgIrszeOk5V0E+gHtoYsV1Fusb4uDjZWVs+C7YmSdUh6BHwNDcCPbArwM5uBSWJGsGMRf3V9Zl2yAVeB7alZ4A7/F6VgK3nIXkmR9Tpu9YQ1lslwFtMzcXXJeibnmNkSoEvSZ1qL0VhNBngDqlnTf5GV9CO8/SeBx7Qew8H2Zl7k6nC/GvgG3G9INlUKu+p0rQlD0guXLWABcCjjdqHuAi5mNbZeB/OmMCLJO1NdmNkOwC/HvGDLZjYUfr+TNJC57WCQw0Ez2wA8AVYA68LxH6/1XzUzG8R5C/ngM8HecPlnj6M7tdYXye5yYCiQdH33eWHQHzQ23ZXa6es2oY2QFE2gGfwG6Fyo+KtUB3MAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\sqrt{10}$" ], "text/plain": [ "√10" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Symbolic computation of the square root of 10\n", "sympy.sqrt(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the exact solution $\\sqrt{10}$ is returned. We can also use the `evalf` method to return the decimal approximation of the square root of $10$ in `sympy`." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 3.16227766016838$" ], "text/plain": [ "3.16227766016838" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Symbolic computation of the square root of 10 using numerical approximation\n", "sympy.sqrt(10).evalf()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.7.1__ Calculate the square root of $81$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `sqrt` funtion in the `sympy` package to calculate the square root of $81$." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAATpJREFUeJyV0rFLllEUBvDfpya1qDm1WgiBW6CTYxA5hNTiUIQNbS3hKofT5OLQ4FRRjUVTtPVvuLSYUESKtSSKiH1y4372+mKSz3LeczjPfd7nPrfT7XadFQPNJjM7mMdDTKAfn/ASKxFxUPb6Woe8xguM4Q2eYRBPS18P/auUmbO4h8+YioitOj+Ht7iD+3jVVLpd63KPUBAR+1is7aP2712qde0E773ZtcwcaZK2ai1+2rjc+L7aJH2o9XFmjja8Ft/Z2LvY6eWUmX2VeBMbeI8dXMcVfME4bhwpRcRv3MICvtebfICvmMaPurp5pHQaMvMCfqIsD7fD9Q8U1fMlrxLBMVJmDp2gMoklbONJmR17e/iYmbtYxa/6/mawV8KPiD95tUnvMIe7KD6+4XlRioj13tJ/XUQbhzHlXAELJry6AAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 9$" ], "text/plain": [ "9" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.sqrt(81)" ] }, { "cell_type": "markdown", "id": "644c225b", "metadata": {}, "source": [ "Homework 1.4.7.1 Calculate the square root of $400$." ] }, { "cell_type": "markdown", "id": "9707b45a", "metadata": {}, "source": [ "The `sympy` package can manage the square root of negative numbers. We calculate the square root of $-9$." ] }, { "cell_type": "code", "execution_count": 61, "id": "94cd78e7", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAX9JREFUeJyt0z9rFVEQhvFfQsRCo4JBIZBGUPwHgqRSg6SRFPodbGzsFAu1GQcRFLFQrCwVGxtTCoqFhWUiKSwMKbRSQlRE0UK5cuRE9l42lyvmLXbYOcuzM+/MGep0OtZDw+tCwcj/AjLzPG51gTLzBiaxB2P4jreYxd2IWGlhTba1dg6b8BS38RA/cQULmTnRArqIfb2tbYmIHy3lX8NlXMLZ5llEvCuxC9QGqXpUQbs1lJnTeI6bg07tVI0LPfnDNc63Ti0zL2AztlYzj1XI9TVAc2uNv4B2Nt6f4HRELLeAvmJxqN9mZ2aBHamVjOJkRMzVszLdL3gZEVN9PYqIDxHxGCewHfcbx4fq+vwBD2R2RJSlfI0DmTnWaKtofmBQ1XiNv3qNLo+/ZmfmXnyOiPeruZofxlXsqH58aoDK3pVKuxZypixWZr7AEsq9KmYfxy6UH5yp8I3Yj1cRUa5QF+gZ7uFoNXIbvuENHuBORHys3x7EhtW2ivqO/1/0G15sb8NauODoAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 3 i$" ], "text/plain": [ "3⋅ⅈ" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.sqrt(-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see a complex number returned. The `sympy` package uses the symbol $i$ to denote the imaginary part of a complex number." ] }, { "cell_type": "markdown", "id": "cacb46ec", "metadata": {}, "source": [ "### 1.4.8 Higher roots" ] }, { "cell_type": "markdown", "id": "1a5ccead", "metadata": {}, "source": [ "We can also calculate higher roots. Below we calculate the cube root of $27$, using the calculation in __Equation 1.4.8.1__." ] }, { "cell_type": "markdown", "id": "3d6cdc5b", "metadata": {}, "source": [ "$$\n", "\\sqrt[3]{27} = 27^{\\frac{1}{3}}\n", "\\tag{Equation 1.4.8.1}\n", "$$" ] }, { "cell_type": "code", "execution_count": 62, "id": "4d599310", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAhxJREFUeJzNlU+ITWEYxn9XbAxDjZhEQoOanRSiNNQ0GxvWioUSRcICi8dDihQZTLGSsrFhqWFSypCSmgWhESukYSZNlD9X3/Te6cxxbvdMKZ7Fefv+vd9z3j/PV6lWq/xrTM0ObJ8GVgHLgDnAV+AtcAu4KGloMs5tLwCOA11AC/AufFnS59q+Kblz+4Em4A5wHrgO/ACOAQO2F06CwFLgCbADeAycA14D+4CHtlsKIwE0S/pW4PAkcAQ4DOwuyaMHmAvslXQh4+ts/GzyueuPSKiAQOBG2LYyt9teAnQCb4BLuWUBo8A2201F6aiHzWEHKIeNYXsl/couSPoCPACmA2uK0jEG2weBGcCsKNT1QeAU5bA87Ms6668iUqkB+gpJAInEvMz4NrBd0seSJBL5hJE667X52XXTIalVUgVoBbYAKcdPba/k7yD5Tqg2rAlJHyTdjNCllrpW8pKRXETyaM7uK1WYkpJgPQPabScRa4QXYVPOi9CWrZmy3ZEwf+wLP2mMe2E7bU+4w/ZMYF2o8aM0N16YtlcAw5Le5w4lJydCePqzchuqOA0YlPS9Ni9p0HZvpHEPMC5W6Vio8mVJo/kW7QLO2L6fnAJD0SEbojATuZ25P+4DFgGLQ5iySMraD3Tb3gQ8B1YDHZGGo7WN2VDdBa5EAaaOOARsBT4F+3ZJqS5KIUUjNOZqXH4ASJHrBtZmH8PK//CU/wZQnKC12yqVWQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 3.0$" ], "text/plain": [ "3.0" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Cube root of 27\n", "27 ** (1/3)" ] }, { "cell_type": "markdown", "id": "da871569", "metadata": {}, "source": [ "Next we calculate the root in __Equation 1.4.8.2__." ] }, { "cell_type": "markdown", "id": "02b537aa", "metadata": {}, "source": [ "$$\n", "\\sqrt[4]{16} = 16^{\\frac{1}{4}}\n", "\\tag{Equation 1.4.8.2}\n", "$$" ] }, { "cell_type": "code", "execution_count": 63, "id": "8d0d56b3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAf1JREFUeJzF1UuojlEUBuDnuEzIpdSZUG65DJgpyohTEqWQITITuWWgSKullJF7JhQZKmVCKElyLaXINTozkugkKbejL/voO//5Of9f5K2v9e2191773Xut/e6O3t5e/xvD+n4ycxyWYylmYzw+4wFOVl9EfG8neGZOwB4sRhX/Fc5VXRHxvm/ckNqcVTiOubiDgziLWTiBM5nZ0QaBqbiHdbiLA3iJLbhVNt3/JPAMy3C+vuPM3FmCrMSKQqwVHEMnNkfEkVq8/diGvVhf+TpaqYn8SaSadDQiNrUwfgpeoBtTGzY1qqSlOtXOiPhYT8ef8KXYr1rDwmIvN9ZRRHzADYzAvMo3KInMrFK2pjQvtkhiRi3FzfC82OktkcC+UpwXIuJSiyTGFNvzm/4+/9hBSWTmZmzHE6z299B3y3r/SCIzN+IQHmFBRLxrY5GehhNpxOj6uKYkMnNrdRPwsBB4rT08ree8CabVa2YAiczcUYTlfiHwRvu4WuyizOy3Rrmi8/EJtweQyMzdpRArpeuKiLeDqWJmzszM4XV/RFQacRmTsLFxGkbidKURjW/H2qLz33C9UrrManw/dEfEqVr7CiZichGmOjbgJg5nZhcelydhQUnDrmayPbnYoahqohmuoU7it6hOIzPn1B6wJUUpD5cH7FehtyTb/xo/AGFnp6byvBTLAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 2.0$" ], "text/plain": [ "2.0" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fourth root of 16\n", "16 ** (1/4)" ] }, { "cell_type": "markdown", "id": "1e8cc6cb", "metadata": {}, "source": [ "Obviously $-2$ is also a solution to $\\sqrt[4]{16}$ since $(-2) \\times (-2) \\times(-2) \\times(-2) =16$. We confirm this result using code below." ] }, { "cell_type": "code", "execution_count": 64, "id": "6f2ce83f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAZpJREFUeJy91M+rTVEYxvHP8avuQErCRH5EGRAGyK3r3kQGJuiaSJkaiTKUtzd/AP+EgRgiitSV1B0oyUDpZqCEm0tuMVBHS+vU7pzjnjh4avXuvd611/d99n73arXbbf9DS5o3mTmJcezEDizHtYg4tdAmmTmGcxjFSnzEc1yNiDs9IFysgHm8wdZBlWZmeeYyZnELb7EKuzCBvqDzFfCqOns4AHKiQu7jeER86cov7Vy3fvWNMnOigvq+usxcVAtagw0R8WGhorod/Y5GsRE3MZeZR7AN3zAdEU/+Fmh3je/wFNubycycwmTHabH/p1pd4xmM4GDt0uLqHvbjRmfxMKDFNbZq5Q8iYj4iXuBYbarxzNw3LGiuxpmIeNZMRMTX6qpoz7CglzV+GlDIyLCgKXzHlsxc1idfvlXR66FAEVFOgutYgUvNXGYewmF8xt2eHzYzj6KMorV18Qwe1bnZiLjQWF867zE21zXTWF+boWx8MiJ+dl63o3KYnq6jQIo2NebKodt09R57cQXrcBYHcBtjHUiPo3+pHzn0gGB63CrxAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 16$" ], "text/plain": [ "16" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that (-2) to the power of 4 is 16\n", "(-2) ** 4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.8.1__ Calculate the cube root of $64$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use power notation, `**`, in Python to calculate the cube root of $64$." ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAdxJREFUeJzNld9rznEUx1/PshtjU8oVCY1ckvyIG9TaP7ELRYka4op4eyvlZmSL0siP3cv1SkqYVruWrUluXEmLhZRHH8738d13z489z8jeN6fv53zOOe/POed7TqlcLvO/saye0nYf8CA+j0i63Yxz22uBS0AvsBp4DzxKKkkfs3ttdRysA4aAz80EztlvAiaAQ8A4cA14A5wAxmwnUrUzYbsE3AU+AA+BMy3wuAmsAfolDeV8XwVOAZeBo/Uy0Q8ciFfMNhvd9kagB3gL3CioFT77bHdUJWF7K3AFuC7pKa0hPSBhVNKPOQykT8BzYDmwex4J26k8I8A74CytY0vIyRr6qZCbq/XEBWAbsE/Sl0WQ6Ao5U0Ofna+akwnbO+P1A5LG+LdIjZ9QrpDwnzKk9J3/C0FmChkpojN/LyvHiqw+wFfb1QyHbQ9Hw55sQOJ1yMxnEd35nslIfAPu1DDYHn3yLJwvpFRPQvbYbsv/IbZXAnuB1HMvKyT0uwkPV/Nm+2KQuF8c2zEV24FpSd+zc0nTtkdjVhyPyVsxA9J8uCVptuHuWAAeA+uBDTGY8jgGvAAGbR8EXgG7gP1RhnMNdweLRMoGsAO4F8FPAylzg8AeSWkl/EJpKazynzNMj1IHmXU0AAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 4.0$" ], "text/plain": [ "3.9999999999999996" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "64**(1/3)" ] }, { "cell_type": "markdown", "id": "3dd2355e", "metadata": {}, "source": [ "The `sympy` package contains the `root` function that calculates the $n$-th root of a number. We calculate the cube root of $64$ using the `root` function." ] }, { "cell_type": "code", "execution_count": 66, "id": "1651af1c", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAMNJREFUeJyd0j8uRAEQx/HPEwdwAQdQUqhU7qFQaB1Awvh1GsVGoyASbiKSPQOlXjREVE9WnhWy+97yq2Yy851/maZtW3/Vcl8wyQ6uO3evqi4mxlIPsIozvPyOzYSSNLjCE84XgrCPbezidRBKsoYTjKrqdlbFH1CSyWFu8IiDRa93hHVsVdXbPGjaKclmV/20qsbzgCmU77EecGhAzeQjkqzgeSi50+hrp3dczkna6Pa8wz3Gn536lOQYtdAb9elf0AczUzfMenPwmwAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 4$" ], "text/plain": [ "4" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculate the cube root of 64 using sympy\n", "sympy.root(64, 3)" ] }, { "cell_type": "markdown", "id": "df4aa610", "metadata": {}, "source": [ "Homework 1.4.8.1 Calculate the cubic root of $100000$. Use pure Python (the exponentiation operator `**`), the `math` package, and the `sympy` package. Try to explain the difference in the results." ] }, { "cell_type": "markdown", "id": "75fad03f", "metadata": {}, "source": [ "### 1.4.9 Absolute values" ] }, { "cell_type": "markdown", "id": "20512157", "metadata": {}, "source": [ "The absolute value of a number is the distance of the number from zero on the number line. The absolute value of a number is always positive. It is written as $\\lvert a \\rvert$." ] }, { "cell_type": "markdown", "id": "3dc195d1", "metadata": {}, "source": [ "The `abs()` function from the `numpy` package returns the absolute value of a number. We calculate $\\lvert -3 \\rvert$ below." ] }, { "cell_type": "code", "execution_count": 67, "id": "e010e622", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAASBJREFUeJyV0qFL3WEUxvGPY23OLUwHggjCxCBoMKmwatD/wWKxCRYtx4MIE9PEZJUVk1HQZDAqGCeGNWHoLLKFyR3v+Dl+6r1y95TDged7zuF5345Go+F/9bLeZOY6xjCId/iJb9jDVkRcFd+LR0MW8AoH+Iwv+I0VnGVm35NN6IqIX4/Pycw1LGMJ8w82RROg0m5VPzQ7r5VmqnrW7Ly/ysxFdOJNFcxkBXxqCaFA72v9PmYj4ntpOp57p8ws4Hi14TWmI+LkWehemdmPrziPiOG2oKLMPMUouttND3qrevcviMwcwk1EXNadmVkGr6IHxxHxo57eFDYy8wgXKP+sBPERAyjD5oqxDh1iGxMYwVvcVgHsYDMiroux7SDq+gMI81WMGqwmKgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 3$" ], "text/plain": [ "3" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Asbolute value of -3\n", "abs(-3)" ] }, { "cell_type": "markdown", "id": "6d0ce451", "metadata": {}, "source": [ "__Definition 1.4.9.1__ The __absolute value__ of a number $a$ is defined in __Equation 1.4.9.1__." ] }, { "cell_type": "markdown", "id": "4f71e796", "metadata": {}, "source": [ "$$\n", "\\lvert a \\rvert = \\begin{cases} a & \\text{if } a \\ge 0 \\\\ -a & \\text{if } a < 0 \\end{cases}\n", "\\tag{Equation 1.4.9.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "6bbd7303", "metadata": {}, "source": [ "Form the defintion we have see why $\\lvert -3 \\rvert = - (-3) = 3$." ] }, { "cell_type": "markdown", "id": "1968ce6e-4f32-4e3a-a07e-f7cde055ff8d", "metadata": { "tags": [] }, "source": [ "### 1.4.10 Logarithm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Logarithms are very frequenctly used in health data science. In __Figure 1.4.10.1__ we show a histogram of the age of participants in a study. (Ignore the code and consider the results.) We see that the distribution of age is skewed to the right. We can transform the data using a logarithm to make the distribution more symmetric, shown in __Figure 1.4.10.2__." ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABosAAALqCAYAAADtm21qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAewgAAHsIBbtB1PgAAT4pJREFUeJzt3Qm4XdPBP/5142ZOxBBThkoMiWi8qBhSJIaWGipKjS3iNbRV06vaamuIlr54ifr59dfUGwRtKUpo0hqqkhiiZHhRgoxIqAwNEZm5/2ft/s95b5I7T+ecuz6f5znPXeecdfZe596z7zp7f/dau6yioqIiAAAAAAAAkKQ2hW4AAAAAAAAAhSMsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAACgS8+bNC2VlZdmtT58+hW4OAAAAiRAWAQBAEznooIPyYU99bv/zP//jb1BE3nvvvfDII4+Eyy+/PHzlK18JW2655Xp/rxjqFcKjjz660WenqdtSUVER3nzzzfCb3/wmXHTRRWH//fcPnTp1arIQ86WXXgrnnXde2HXXXUO3bt3CpptumpXjY/G55jJ37tzwwAMPhB/84Afh4IMPztZb+fcIAACpKy90AwAAAIpFjx49wvvvvx+KzbJly7JApTlNmTIlHHroodm6mtqaNWvC97///XDrrbdmgVRlM2bMyG6jRo0KF154Yfiv//qv0LZt2yZZb/xb7rbbbmHJkiVNsjwAAGithEUAANAM9t5777DPPvvUqe5WW23lb1AkijEoiuKImAULFjTrOpYvX94sQVF0zjnnhLvvvjt/f8cddwz77bdfFhxNnjw5G/kTy7fcckv4+OOPw+23394k6129erWgCAAA6kBYBAAAzeDII48MI0aMqNdr4hRfG466oOV16NAh7LHHHlngF2/bbLNNOPzwwwv2p3jmmWfCbbfdlpVPPfXU8Lvf/a5Z17f55puHQYMG5d9/nJbusssua/Dy7rjjjnxQ1KZNm3DTTTdlI4hiOfrss8+ykOjSSy/NyrH+0KFDw+mnn95k76lLly7hC1/4Qj7EXbVqVTjjjDOabPkAAFDqhEUAAAD/v2nTpmXTlpWX/++uUqGuURTFUCOOyokhYhyNc8UVVzRbWLT77ruHmTNnhp122mm9x8eMGdOokT2VQ9M4Quriiy9er04Mjf7jP/4jfPDBB+H666/PHrvyyivDySefHNq1axcaIwZ9f//738OAAQPy4VQ0YcKERi0XAABam//9tgwAAJC4Pffcc72gqNB++tOfZiN7onhNnzjqqTlHFG0YFDXWo48+Gt59992s3K1btyzsqk4MiGKd6O233w7jx49v9Po7duwYPv/5z68XFAEAABvzjRkAAIpEHMFSVlaW3eKUdLVZu3ZtFiAcdNBBYeutt84OjO+www7hpJNOCk8++WS+XlxWbrnVjZLJPR9vdRHXmatf3SiNqurEawL9/Oc/z6YC23bbbcMmm2wSNttss2rf3z333BNOPPHE7H117do1dO7cOfTt2zeccsop4eGHH27V0/a9/PLL4b/+67+y8je/+c3wpS99KZSasWPH5svxc9mpU6dq68bn4t86J/59AQCAllE8p8wBAAB1FkdeHHPMMeGVV15Z7/G5c+dmt/vvvz+bvuyXv/xl0fxWH3nkkXDmmWeGpUuX1lo3hktnn312mD179kbPxcAr3u67776w3377hQcffDD07NkztCaffvpp9v7XrVsXtthiizBy5MhQip5++un1wsPaxDr//d//nZX/+te/NmvbAACA/yUsAgCAErNo0aJwyCGHhDlz5uQf69+/f9h7772zKdReffXVMHXq1OygexyNUwyef/757No1cbTQlltuGYYMGRK6d+8eFi5cGKZPn75e3QceeCB84xvfyOpGceq1GArFEVJxJNJbb70VJk+enAUpL7zwQhg8eHB46aWXsuvTtBY333xzmDJlSlaOo4u22mqrUGo++uijbCRZzhe+8IVaX1O5zoIFC8KyZcvCpptu2mxtBAAA/kVYBAAAJeaiiy7KB0Vx6q677rorfP3rX1+vzrPPPptN+xVDh7Zt24ZCu+qqq7LRMj/72c/CD3/4w/XatHr16nz5tddeC8OHD88HRRdffHF2nZs4uqay+P7POOOM7H3Ga+LEEUt/+tOfQmsQ31v8fUUxVIvvrRTlrrWU87nPfa7W12xYJy4jhqAAAEDzEhYBAEAziMHF4sWLa633ox/9qF5TqMUw5d57783fj9f0Oe644zaqd8ABB2RtGDRoUFizZk0otDgK6Jprrgk/+clPNnquffv2+fKFF14YVqxYkZWrqx/Faxg99thjWZAwY8aM8Oc//zn87W9/C/vuu28odeeee272O2jXrl349a9/XefrSBWbJUuW5MtxdFC8plZtYvgZR8N9/PHH2f1//vOfzdpGAADgX4RFAADQDOK0aPFWm3hdmvqERXfeeWe+HEedVBUU5ey+++7ZqJTcNWAKKb7HOKKoJi+//HL+OjX9+vULl112WY31O3fuHK688spwyimnZPd/+9vflnxYdMcdd4SnnnoqK8f3v8suu4RStXz58ny5LkFR5bq5sKjyMgAAgObTphmXDQAANLEJEybky6eeemqt9eO1f4rB8ccfn11PqSaVp5E74YQTsusT1SZeuyknTklXyj744INw6aWX5sOyH//4x6GUrVq1Kl+Oo6TqqvJIs5UrVzZ5uwAAgI0ZWQQAAM0gXnNmxIgRTbrMzz77LLzyyiv5+/vss0+tr9lrr72yacwqKipCIcV21Gby5Mnrlc8///xaX1P5fcVrF5Wy+H6XLl2aleP0c5VDk1LUoUOHfLk+UyFWvoZVfUYkAQAADScsAgCAErFs2bKwdu3a/P1evXrV+pouXbqEbt26hQ8//DAU0lZbbVVrnffeey9fjtPR5aakq6tc0FKKHnnkkfDggw9m5eHDh4eDDjoolLr42WvICKHKdSsvAwAAaD6moQMAgBKx4fVbOnXqVKfXxWv7FFpdRoh89NFHjVrHp59+GkrRihUrwnnnnZeVu3fvHm688cbQGmy55ZbrBZ2Vp6Wr6XeRu15RtMUWWzRb+wAAgP9lZBEAAJSIDUOfeGC9LkHQJ5980uRtiVPiNbXK72Xs2LFh2LBhIQULFy7Mj6qKUwYeddRRdZqiLfra176Wn64uvu6KK64IxaJ///7r3X/77bc3emxD77zzTo3LAAAAmoewCAAASkScTq5t27b5qejmz59f6/RucTRSXUbslJeXh3Xr1mXl+DPeb85RQFXZZptt8uWZM2eGFC1atCi71dX//M//5Mu77LJLKLbP63bbbRfef//97P706dNrDX+mTZuWL/fs2TNsuummzd5OAADANHQAAFAy2rRpE3bbbbf8/RdffLHW10ydOjVUVFTUWq9r16758pIlS2qsu2bNmvDWW2+Fprbvvvvmy48//niTL5+Wd/DBB+fLEyZMqLX+xIkT8+VDDjmk2doFAACszzWLAACghBx00EH58u9+97ta6//2t7+t03L79u1b5WiVqjz66KN1uv5MfR199NH58lNPPRVeffXVkII+ffpkgV5dbnPnzl3vtfF+7rkxY8aEYnPsscfmy7///e/DypUrq60bn7v//vurfC0AANC8hEUAAFBCzjzzzHx50qRJ4eGHH6627ssvvxzuvPPOOi13n332yZdrCh2WLVsWLrvsstAcYhtyYVgMP775zW9m66uLONpp6dKlzdIuGu6YY44JvXr1ysoffvhhuPbaa6ut+7Of/SyrE22//fbrhYcAAEDzEhYBAEAJGThwYDjxxBPz90877bTw4IMPblTvueeeC0ceeWT49NNPQ7t27Wpd7qmnnpov33fffeH//t//u1GdN954I5sabPbs2aF9+/ahOdx6662hS5cuWfmVV17JAqS//OUv1dafNWtWFkDEkVHxPRejGICVlZVlt+HDhxdk5FJu/SNGjGjRdcfPydVXX52/f91112V/48pTI3722WfhlltuCddff33+sZ/+9Kc1fm4L/TsFAIDWpuar1gIAAEUnHmyP1yuaN29e+OSTT8IJJ5wQ+vfvnwUr5eXl2fRtU6ZMyepecskl4Q9/+EN4++2389c9qsqBBx4YjjrqqDB+/Pjs/gUXXBB++ctfhv322y87IP/mm2+GF154ITuwHw/Ox+nPKl9fpinDsHvvvTecdNJJYcWKFdl6v/zlL4fevXuHvffeO3Tv3j0bRbRo0aJs5NT8+fObdP2jRo3KbpXF9VUWQ7gNg4xvf/vb2a3UnX322fnPTs4///nPfPm9994Le+yxx0avGz16dBg0aFCVy/z3f//37HpF99xzTxZeXnjhheH//J//k322Ymg0efLkMGfOnPVGz51++ulN9p6uvPLKbOrEypYvX77e/areUwys4sgoAABIgbAIAABKzNZbbx3++te/Zgey//73v2ePxVAl3jY88B9HcsSRQjldu3atdrl33313OPzww/NhQRxJFG8bHvj/f//v/2X1mkucfuz5558PZ511Vpg6dWr22Lvvvpvdaho9k5vurDH+8Y9/ZCFUTWbMmFHl61qDOFKrpve/du3aKp/fMHypKkzq1q1bFkDGgCiuJ94qi6FkDClvvPHG0JTeeeedWv+mVT1fOSQDAIDWTlgEAAAlKE67Nm3atOwgfByJ8/rrr2cH7LfbbrtsBM4555yTjciJctfyiQfjN91002qXucUWW2QhTW6Zr7322nrLPPfcc/PLbG677757Flo98cQTYezYsdkUc3FUS7ymTZzabKuttgr9+vXLRqfE4Grw4MHZ+6M4xZFYcURcnDbxjjvuyEYaLViwIHuuZ8+e2bRyMRyMnzMAAKDllVVUniwaAABoVWbOnJmFKlGcqm7DkUIAAABQ9YTlAABAq3D//ffny0ZtAAAAUBVhEQAAtFJvv/32etd/OeWUUwraHgAAAIqTsAgAAErQSSedFP7whz+E1atXV/n8448/Hg444IDsGj/RbrvtFr7yla+0cCsBAAAoBa5ZBAAAJahPnz7ZyKGuXbuGL3zhC9n9Dh06hCVLloQXX3wxvPPOO/m6nTt3Ds8++2zYY489CtpmAAAAipOwCAAASjgsqs0OO+yQXbdor732apF2AQAAUHqERQAAUILmzp0bHnroofDMM8+EOXPmhMWLF2ejitq1axe22mqrLBw6+uijw6mnnhratm1b6OYCAABQxIRFAAAAAAAACWtT6AYAAAAAAABQOMIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwqJ6eOSRR8LKlSub768BRSp+7uPn3zZAymwHYDsA/QHoC0BfAPaRYcNjRa2FsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABIWHmhGwC0AiNGFLoFpcPvCgAAAAAoMkYWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJCwZg2Lpk2bFn7+85+HI444IvTu3Tu0b98+dOnSJfTr1y8MHz48PPPMM/Va3mOPPRaOO+640KtXr2xZ8We8Hx8HAAAAAACg/spDMxk6dGiYNGnSRo+vWbMmzJw5M7vddddd4bTTTgujR48O7dq1q3ZZFRUV4dvf/na47bbb1nt8wYIF4eGHH85u5557bhg1alQoKytrlvcDAAAAAADQGjXbyKIY5EQ9evQIF110UXjwwQfDiy++GCZPnhxGjhwZevbsmT1/zz33ZKOManL55Zfng6I999wz3Hvvvdmy4s94P4rPX3HFFc31dgAAAAAAAFqlZhtZtMsuu2RT0B1//PFhk002We+5/fbbLxtRtP/++4e33norC32+853vhAMPPHCj5cyaNSvccMMNWXnQoEHZaKWOHTtm9/fee+9wzDHHZKOYpkyZEq6//vpw5plnhh133LG53hYAAAAAAECr0mwji8aNGxdOPPHEjYKinO7du4ebbropfz+OPKrKzTffHNatW5eVb7311nxQlNOpU6fs8SjW+8UvftGE7wIAAAAAAKB1a7awqC4OOuigfHn27NlVXqvokUceyY9UiiOSqhIf79+/f1YeO3Zs9joAAAAAAACKPCxas2bN/zakzcZNmTt3bv7aR3GquZrknp8/f36YN29ek7cVAAAAAACgNSpoWDRx4sR8OY4c2tCMGTNqfL6yys9Xfh0AAAAAAADVKw8F8tlnn4Xrrrsufz9e32hD7777br7cq1evGpfXu3fvKl9XF3E0Ul2tWrWqXsuG1qDy577KbaBt25ZtUClbubLQLaC5tgNIgO0AbAegLwB9Adg3gNZ5fKhgYdHNN98cXnzxxaz8ta99LQwaNGijOh9//HG+3KVLlxqX17lz53x5+fLl9WpL5aCpJvF6SJMmTarXsqG1qXIbGDiwEE0pTU88UegW0AT0BWA7AP0B6AtAXwD2kaE1aVOo6ecuu+yyrLz11luHX/3qV7Umc+3atatxme3bt8+XVzpzHwAAAAAAoDhHFr322mvZSKJ169ZlAc/9998fttlmmyrrdujQIV9es2ZNjctdvXp1vtyxY8d6tamu09ZNnTo1DBkyZL12QQpicJsbSVHlNjByZGEaVoouuaTQLaC5tgNIgO0AbAegLwB9Adg3gI2/F7UGLRoWzZ07Nxx22GFh6dKlYZNNNgn33ntvGDp0aLX1u3btWuep5T755JM6T1m3odquh1Q5LIoHB+sbRkFrUuU2sHZtoZpTevz/aBX0BWA7AP0B6AtAXwD2kaE1abFp6N57773wpS99KftZVlYW7rjjjmyEUV1DnPnz59d5dFBdr0EEAAAAAACQuhYJixYvXhy+/OUvhzlz5mT3b7311nD66afX+rpdd901X37jjTdqrFv5+QEDBjSqvQAAAAAAAKlo9rDoo48+Cocffnh4/fXXs/vXXXdd+O53v1un1/bt2zf06NEjK0+cOLHGurm5AXv27Bn69OnT6HYDAAAAAACkoFnDohUrVoSjjjoqTJs2Lbv/k5/8JPzwhz+s8+vjdHXDhg3Ljxx64YUXqqwXH8+NLIr14+sAAAAAAAAoYFi0Zs2a7JpEzz33XHb/oosuCtdcc029l3PxxReH8vLyrHzBBReElStXrvd8vB8fj2K9WB8AAAAAAIC6+VcK0wxOOeWU8MQTT2TlQw45JJx11lnh73//e7X127VrF/r167fR4/GxSy+9NJu+bsqUKWH//ffPRiftuOOOYfbs2eH6668P06dPz+p+//vfDzvvvHNzvSUAAAAAAIBWp9nCooceeihf/utf/xr+7d/+rcb622+/fZg3b16Vz1177bVh4cKF4Y477siCoZNPPnmjOjGMasjIJQAAAAAAgJQ16zWLmkqbNm3C7bffHsaPH59dk6hHjx7ZSKT4M97/05/+FEaPHp3VAwAAAAAAoAhGFlVUVDT5Mo888sjsBgAAAAAAQNMwFAcAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhJUXugFQtEaMKHQLikfbtiEMHPiv8siRIaxdW+gWAQAAAADQRIwsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABJWXugG0MJGjPArBwAAAAAA8owsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABLWrGHRwoULw7hx48KVV14ZjjjiiNC9e/dQVlaW3YYPH16nZYwZMyb/mtpusS4AAAAAAAB1Vx6a0TbbbNOciwcAAAAAAKCYw6LKevfuHQYMGBCeeOKJBi/j8ccfDz169Kj2+V69ejV42QAAAAAAAClq1rAoTj+39957Z7c4ymjevHmhb9++DV5ev379Qp8+fZq0jQAAAAAAAClr1rDo6quvbs7FAwAAAAAA0EhtGrsAAAAAAAAASpewCAAAAAAAIGElFRYNHz48u/ZRu3btQvfu3cN+++0XLr/88rBgwYJCNw0AAAAAAKAkNes1i5raxIkT8+UlS5Zkt7/97W/hpptuCr/4xS/Ct771rQYtd/78+XWuu2rVqlDS2rYtdAsoQavKy6ss0wArV/q1lajK//9Lvi+ABrIdgO0A9AWgLwD7BtA6jw+VVVRUVLTUyubNmxf69u2blc8444wwZsyYWl8T6/zsZz8Lxx13XBg8eHDo3bt39vicOXPCH/7wh/Dggw+G3Fv49a9/Hc4999x6t6usrKxO9caOHVvvZQMAAAAAAK3TsGHDQmtQ9GHRRx99FDbddNNqA51x48ZlQdLatWtDp06dwuzZs8O2225br3YJiwAAAAAAgFTDoqKfT6pbt241Pn/00UeHq666Krt20YoVK8Ltt98efvKTn9RrHe+++26d6k2dOjUMGTIkdOjQIZSskSML3QJKUJx6btIuu2TlIW+8ETqsW1foJpWuSy4pdAtoxNDiSZMmZeWS7wuggWwHYDsAfQHoC8C+AWz8vag1KPqwqC7OOeeccMUVV2TT0cXrGtU3LOrVq1edw6J4cLBjx46hZK1dW+gWUOJiUNTR56jhSvn/B3kl3xdAE7AdgO0A9AWgLwD7BtB6tAmtwNZbbx26d++elRcsWFDo5gAAAAAAAJSMVhEWRS146SUAAAAAAIBWo1WERQsXLgxLlizJyj169Ch0cwAAAAAAAEpGqwiLbrvttvzIoqFDhxa6OQAAAAAAACWjqMOiefPmhenTp9dYZ9y4ceFnP/tZ/uKaZ555Zgu1DgAAAAAAoPSVN+fCn3322TBr1qz8/cWLF+fL8fExY8asV3/48OEbhUUHH3xwGDx4cPjqV78a9thjj7D11ltno4jmzJkTHnzwweyWG1V04403hp49ezbnWwIAAAAAAGhVmjUsGj16dLjrrruqfO65557LbjWFRTmTJ0/ObtXp1KlTuPnmm8O5557byBYDAAAAAACkpVnDosbaa6+9wm9+85ssKJoyZUp4//33s9FJ69atC5tvvnn4/Oc/Hw499NBw9tlnZyOOAAAAAAAAKKKwKE4zt+FUc/XRtWvX8I1vfCO7AQAAAAAA0PTaNMMyAQAAAAAAKBHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABLWrGHRwoULw7hx48KVV14ZjjjiiNC9e/dQVlaW3YYPH17v5T322GPhuOOOC7169Qrt27fPfsb78XEAAAAAAADqrzw0o2222aZJllNRURG+/e1vh9tuu229xxcsWBAefvjh7HbuueeGUaNGZUEUAAAAAAAARTYNXe/evcNhhx3WoNdefvnl+aBozz33DPfee2948cUXs5/xfhSfv+KKK5q0zQAAAAAAAK1ds44sitPP7b333tktjjKaN29e6Nu3b72WMWvWrHDDDTdk5UGDBoVJkyaFjh07Zvfjco855pgwdOjQMGXKlHD99deHM888M+y4447N8n4AAAAAAABam2YdWXT11VeHo48+ulHT0d18881h3bp1WfnWW2/NB0U5nTp1yh6PYr1f/OIXjWw1AAAAAABAOlpsGrqGXqvokUceycq77LJL2G+//aqsFx/v379/Vh47dmz2OgAAAAAAAEo8LJo7d25YsGBBVo5TzdUk9/z8+fOz6e4AAAAAAAAo8bBoxowZ+XIcWVSTys9Xfh0AAAAAAADVKw9F7N13382Xe/XqVWPd3r17V/m6uoijkepq1apVoaS1bVvoFlCCVpWXV1mmAVau9GsrUZX//5d8XwANZDsA2wHoC0BfAPYNoHUeHyrqo74ff/xxvtylS5ca63bu3DlfXr58eb3WUzloqkm8HtKkSZNCSRs4sNAtoMRNqmWUH7V44gm/olag5PsCaAK2A7AdgL4A9AVg3wBajzalksy1a9euxrrt27fPl1c6cx8AAAAAAKD0RxZ16NAhX16zZk2NdVevXp0vd+zYsV7rqeu0dVOnTg1DhgxZr10lZ+TIQreAEhSnnsuNKBryxhuhw7p1hW5S6brkkkK3gEacwJA7e7bo+gL/2+vONth6twNoIbYDUmcbANsB6A9g4+9FrUFRh0Vdu3at89Ryn3zySZ2nrNtQbddDqhwWxYMi9Q2jisratYVuASUuBkUdfY4arpT/f5BXdH2BbbLuiunvVuKKbjuAArAdkDrbANgOQH8ArUdRT0NXOcSZP39+nUcH1fUaRAAAAAAAAKkr6rBo1113zZffeOONGutWfn7AgAHN2i4AAAAAAIDWoqjDor59+4YePXpk5YkTJ9ZYNzc3YM+ePUOfPn1apH0AAAAAAAClrqjDorKysjBs2LD8yKEXXnihynrx8dzIolg/vg4AAAAAAIASD4uiiy++OJSXl2flCy64IKxcuXK95+P9+HgU68X6AAAAAAAA1M2/Uphm8uyzz4ZZs2bl7y9evDhfjo+PGTNmvfrDhw/faBn9+vULl156abjuuuvClClTwv777x9++MMfhh133DHMnj07XH/99WH69OlZ3e9///th5513bs63BAAAAAAA0Ko0a1g0evTocNddd1X53HPPPZfdaguLomuvvTYsXLgw3HHHHVkwdPLJJ29U56yzzgrXXHNNE7UcAAAAAAAgDUU/DV3Upk2bcPvtt4fx48dn1yTq0aNHaNeuXfYz3v/Tn/6UBVOxHgAAAAAAAEUysihOM7fhVHONceSRR2Y3AAAAAAAAmoahOAAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJKy90AwCSMmJEoVtAQ7VtG8LAgf8qjxwZwtq1fpcAAAAAtApGFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkrLzQDQAAgJI1YkShW1A6/K4AAACKlpFFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkLCSCIvKysrqdDvooIMK3VQAAAAAAICSUhJhEQAAAAAAAM2jPJSQ73znO+G8886r9vnOnTu3aHsAAAAAAABKXUmFRVtvvXUYOHBgoZsBAAAAAADQapiGDgAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABJWUmHRAw88EPr37x86duwYunbtGnbeeedwxhlnhKeffrrQTQMAAAAAAChJ5aGEvP766+vdnzVrVna7++67w7HHHhvGjBkTunXrVu/lzp8/v851V61aFUpa27aFbgElaFV5eZVlSIntoJVYubLQLShplb8Hlfx3oqbiu1Vy25/tgNTZBsB2APoDaJ37xWUVFRUVoch17tw5HHPMMeHQQw8Nu+yyS+jSpUtYtGhRmDhxYhg1alRYsmRJVm/o0KHhySefDG3rudNeVlZWp3pjx45tUPsBAAAAAIDWZ9iwYaE1KImw6MMPPwybbbZZlc998MEH4YgjjgjTp0/P7t9yyy3hwgsvrNfyhUUAAAAAAEB9CYuKyJw5c8KAAQPCmjVrwk477RRmzpzZLNPQTZ06NQwZMiR06NAhlKyRIwvdAkp0+q1Ju+ySlYe88UbosG5doZsELc520EpcckmhW1DyQ+wnTZqUlUv+O1FT8d0que3PdkDqbANgOwD9Aaz/vai1hEWt4uIjO+ywQ/jyl78cxo8fn13D6L333gs9evSo8+t79epV57AoHhTp2LFjKFlr1xa6BZS4GBR19DkicbaDElbKfXiRKfnvRE1Fn1h3rfDzYjsgdbYBsB2A/gBajzahldh1113z5QULFhS0LQAAAAAAAKWi1YRFJXDpJQAAAAAAgKLTasKi119/PV+uzxR0AAAAAAAAKWsVYdGcOXPCk08+mb9+Uc+ePQvdJAAAAAAAgJJQ9GHRH//4x7Bu3bpqn//ggw/C17/+9bD2/7+48He/+90WbB0AAAAAAEBpKw9F7oILLsiCoOOPPz4MHjw49OnTJ3Ts2DEsXrw4TJgwIYwaNSosWbIkq3vAAQcIiwAAAAAAAFpTWBS999574dZbb81u1Ylh0ujRo0P79u1btG0AAAAAAAClrOjDorvuuitMnDgxTJ48Obs2URxRtGzZstClS5fQu3fv8MUvfjGcccYZ2agjAAAAAAAAWllYNHTo0OwGAAAAAABA02vTDMsEAAAAAACgRAiLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABJWXugGAAAAUMmIEX4ddeV3BQAATcLIIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgISVF7oBAAAtZsQIv+zGaNs2hIED/1UeOTKEtWv9Pklv+7MdAAAArZCRRQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACSsvNANAAAAAJrZiBFNs5y2bUMYOPBf5ZEjQ1i7NrQ6TfW7Ap8r2yCUGn1g0r8rI4sAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASJiwCAAAAAAAIGHCIgAAAAAAgIQJiwAAAAAAABImLAIAAAAAAEiYsAgAAAAAACBhwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhJVUWPTOO++ESy+9NAwYMCB07tw5bLHFFmGfffYJN954Y1ixYkWhmwcAAAAAAFByykOJGD9+fPjGN74RPvroo/xjMSB66aWXstvo0aPDn/70p7DDDjsUtJ0AAAAAAAClpCRGFr388svhxBNPzIKiLl26hGuvvTY8//zz4amnngrnnHNOVufNN98MRx11VFi+fHmhmwsAAAAAAFAySmJk0cUXX5yNIiovLw9PPPFEGDx4cP65Qw45JOy8887hBz/4QXjjjTfCyJEjw5VXXlnQ9gIAAAAAAJSKoh9ZFKeYmzBhQlY+66yz1guKcr73ve9l1zGKfvGLX4S1a9e2eDsBAAAAAABKUdGHRWPHjs2XzzzzzCrrtGnTJpx++ulZeenSpflwCQAAAAAAgBIPi5555pnsZ+fOncNee+1Vbb2hQ4fmy88++2yLtA0AAAAAAKDUFX1YNGPGjOznTjvtlF2zqDq77LLLRq8BAAAAAACgZtWnL0Vg1apVYfHixVm5V69eNdbdfPPNs9FHn3zySXj33XfrtZ758+fXq00lrW3bQreAErSqUlBbuQwpsR2A7QD0B0Vo5cpCtyC5fcEkvhP5XFGPY0N1Pk7keIxtsJVp0HZA8fO/qu5Wrmx1n/2yioqKilCkFi1aFLbeeuusfNJJJ4X77ruvxvrbbLNNWLhwYRg4cGB49dVX67yesrKyel8/CQAAAAAASNuwYcNCa1DUpwFVTubatWtXa/327dtnP1c201lAxx57bDZqqbZRTtDaxNF3vXv3zsq2AVJlOwDbAegPQF8A+gKwjwyt9VhRUYdFHTp0yJfXrFlTa/3Vq1dnPzt27Fiv9dQ2bd37778f9tlnn3otEwAAAAAAoBQUdVjUtWvXfHn58uW11o/XK4q6dOlSr/WUeuIHAAAAAADQUG1CkY8s6t69e35IV02WLl2aD4tyQ78AAAAAAAAo4bAoGjBgQPZz1qxZYd26ddXWe+ONNzZ6DQAAAAAAACUeFh1wwAHZzzhqaOrUqdXWmzhxYr68//77t0jbAAAAAAAASl3Rh0XHHntsvnznnXdWWeezzz4Ld999d1bebLPNwsEHH9xi7QMAAAAAAChlRR8W7bPPPuHAAw/MyrfffnuYPHnyRnVuuummMGPGjKx80UUXhbZt27Z4OwEAAAAAAEpReSgBt9xySza13MqVK8Nhhx0WfvzjH2ejh+L9++67L9x2221ZvX79+oXvfe97hW4uAAAAAABAySiJsGjPPfcMv//978M3v/nNsGzZsiws2lAMisaPHx+6du1akDYCAAAAAACUorKKioqKUCLefvvtbJRRDIXmz58f2rVrF3baaadwwgknhPPPPz906tSp0E0EAAAAAAAoKSUVFgEAAAAAANC02jTx8gAAAAAAACghwiIAAAAAAICECYsAAAAAAAASJiwCAAAAAABImLAIAAAAAAAgYcIiAAAAAACAhAmLAAAAAAAAEiYsAgAAAAAASFhSYdE777wTLr300jBgwIDQuXPnsMUWW4R99tkn3HjjjWHFihVNtp777rsvHH744WG77bYLHTp0CH369AmnnXZaeOGFF5psHVBX06ZNCz//+c/DEUccEXr37h3at28funTpEvr16xeGDx8ennnmmSb5ZY4YMSKUlZXV6TZhwgR/QFpUXT+bBx10UJOsTz9AsYmf7bpuB435X60voJAWLlwYxo0bF6688srse0/37t3zn+f4nae+HnvssXDccceFXr16Zd+f4s94Pz7elJYsWRKuuuqqsPvuu4du3bqFTTfdNCvHx+Jz0NLbwapVq8IjjzwSLrjggrDvvvtm+81t27bNfg4ePDj7X//+++83yR8m7ivXpU+K9aCltoExY8bU+ftSrNsU9AUU03Ywb968eu87NOb/tL6AUjge+lgq+wYViRg3blxFt27dKuJbrurWv3//itmzZzdqHStXrqw4+uijq11HmzZtKn7605822XuC2gwZMqTaz2Pl22mnnVaxevXqRv1Cr7rqqjqtK96efvppfzxaVF0/m0OHDm3UevQDFKv42a7rdpD7zjJ//vx6r0dfQCHV9Jk+44wz6ryczz77rOLcc8+tcXnx+VivsV588cWK7bbbrtr19OjRo+Kll15q9HpIR2O3g5dffrmia9eutfYTsc7vf//7Rrd3++23r1O/FOtBS/UFd955Z52/M8W6jaUvoNi2g7lz59Zr3yHeDjvssAa3V19AMR8P/SyxfYPykICXX345nHjiidnooZgg/uhHPwoHH3xwWLlyZXb293//93+HN998Mxx11FHhpZdeyuo0xFlnnZUl91Fc/kUXXRR69OgRXn311SzJnD17dpbqxxFHZ599dhO/S9jYggULsp/xc3jCCSeEAw88MHzuc58Ln376aZg8eXK46aabsjr33HNPWLduXfjd737XJL/G+JmvSd++ff25KIjvfOc74bzzzqv2+TjqtDH0AxSrO++8M3zyySc11nn99dfDSSedlJUPPfTQ0LNnz0atU19AIcWzB+NsAk888US9X3v55ZeH2267LSvvueee4Qc/+EHYcccds+/yN9xwQ5g+fXr2/FZbbRWuueaaBrcxfgf76le/Gj744INQXl4eLrnkknD00Udnz8V9ipEjR4b33nsve2zq1KmN3iZJT0O2g2XLloWPP/44K++///7Z52/QoEFhyy23DIsWLQoPPfRQGD16dFbn1FNPDV27ds3O2G2sYcOG1bg9tWvXrtHrID2N6QtyHn/88Wx/ujrxzPLG0BdQjNtB/M5R23f56D//8z/zx5HOOOOM0Fj6AorxeOjlqe0bVCTgoIMOytK38vLyiueff36j52+44YZ8Qnf11Vc3aB0TJkzIL+OrX/1qxbp169Z7ftGiRRWf+9znsuc333zziqVLlzb4/UBdHXXUUdkZfxt+Hit/Lvv165f/7E6aNKnBv9zKZ5NDscl9NuPntLnoByh1P/jBD/Lbyj333NOgZegLKKQrr7yy4o9//GPFP/7xj43Oiq3r2eQzZ87M9hniawYNGlSxYsWK9Z7/5JNPssdz+xazZs1qcHtjm3Ltu//++zd6Pj6We/7MM89s8HpIS2O3g+eee67ixBNPrHjttdeqrTN27NiKsrKybJk77rhjo86kzZ1NXp/Rf9DcfUHlkUXx9c1JX0Cxbge1iceZ4iiH3GjT+B2pofQFFOvx0JkJ7hu0+qO6cfhW7hf5rW99q8o6n376acWAAQPyQc6aNWvqvZ4jjzwye/0mm2xS8e6771ZZ595778235cYbb6z3OqA5xC8Quc/lhRde2ODlOEBI6mGRfoBSFr8L9ezZM9tOunTp0uCd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E75DqNrq1asrDjvssPxn86KLLmrQr6q2beCVV16pmDlzZo3LGDVqVH4Z2267bcXy5cv92WgRjz76aMXatWurff4f//hHxZ577pn/fN50000b1dEP0Nocf/zx+c/81KlT6/QafQGlZu7cufnP+RlnnFGn17z55pvZPkN8zaBBgypWrFix3vPxfnw8t2/x1ltvVbmcoUOH5tcd21GV0047LV/ngQce2Oj5+++/v97th6bYDqZPn57ts8bXdO7cueLZZ59t0C+2tu3gz3/+80bbWGXLli1bb1/mggsuaFA7SFt9t4FYf9q0aTXW+eMf/1jRrl27bJkdOnSomD9/fpX19AWUcl9Q2ZIlS/Kf+d12261er9UXUMrHQ99McN+gZccMFsgtt9ySDc1auXJlOOyww8KPf/zjbPRQvB+nYIlnhET9+vUL3/ve9xq0jkMOOSScfPLJ2fLivM5xLsSLL744G6726quvhmuvvTa88847+SFvLXURadJ2yimnhCeeeCL/GT3rrLPC3//+92rrx6kR43ZQX3GKx7PPPjvbruJURrvttls2VUWcsiKm67/5zW/yozY22WST7Kzyzp07N+KdQd1dcMEF2ZRbxx9/fBg8eHA2JLhjx47ZEPoJEyaEUaNG5aeQiEN/GzpFo36AUrF06dIwbty4rDxw4MDwhS98oUmWqy+g0J599tnsOqU5ualSovh47ky8nOHDh2+0jPg96NJLL82+r0+ZMiXbh4hnIMapt2bPnh2uv/76MH369Kzu97///bDzzjs3uL1x/+Cxxx7LRvnF72xxfUcffXT2XNxGb7rppvxUkddcc02D10NaGrsdxM95nK7lww8/zO7Hz163bt1q3IeI166It/qK29k3vvGNcNxxx2XfweJ21qVLl2zdkydPDr/61a/yF3Hu379/GDFiRL3XQXoauw3Mmzcv26+N+w1f/epXwx577JF9vuMoojgbwYMPPpjdcqOKbrzxxnrPSlCZvoBi/U5UWTzWGS+t0RyjivQFFPPx0H4p7htUJHRm+aabbppP4Da89evXr9qREXU5ozyXJh555JHVrqNNmzY1vh6aWnWfxepu22+/fYO2gcrP13TbcsstK8aOHesPTYuKn+u6fD7jSIulS5dWuQz9AK3Jr371q/znPo6urit9AcUunmFXn+891fn0008r/v3f/73G15511llZverU5ezB6IUXXshGXFe3nvhcrAMttR3U9Xt95Vt1+7i1bQeVn6/pNmTIkGpHbkBTbwNPP/10nV7XqVOnil//+tc1/gH0BZT6d6KcfffdN6u3ySabVLz//vv1aou+gFI+HprivkESI4uieEbIK6+8ko0yihdli9cViqnhTjvtFE444YRw/vnnZ3MgN0Y8Uz0u+3e/+12W0r/88svZWVHbbLNNOPDAA7N1xLNToLU58sgjw+23356dARgT9Q8++CAbqRH/P2+xxRZh9913D1/5yleys1XinOfQku66667sIoDx8xnPBoxnVcXrx8UzV3v37h2++MUvZmdHNcX/Z/0ApeCee+7Jj/SMZ3Q3FX0BrUWcAzx+r4kjUuMMBC+99FLWd3Tv3j3svffe4Vvf+lY2krop7LvvvtksBHEfZezYsdkZ7bkL6sY5z+NMBXG0NrRGcUTGU089lX1He/PNN7PtLO4/x/3yOENH3D7imbVxdpCGzP8PDbHXXntlM2PEz2U8q/v999/PPptx1ow4Q0y8dle8ZnWcWaMhI+qqoi+gmM2cOTP87W9/y8pxFqVtt922SZevL6DYtUls36AsJkbNugYAAAAAAACKVptCNwAAAAAAAIDCERYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAJExYBAAAAAAAkTFgEAAAAAACQMGERAAAAAABAwoRFAAAAAAAACRMWAQAAAAAAJExYBAAAAAAAkDBhEQAAAAAAQMKERQAAAAAAAAkTFgEAAAAAACRMWAQAAAAAAJAwYREAAAAAAEDChEUAAAAAAAAhXf8fHXUbdK6eA8UAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 373, "width": 837 } }, "output_type": "display_data" } ], "source": [ "# Create an array of 100 values for a variable named \"age\" that is right-skewed\n", "age = numpy.random.gamma(2, 2, 100)\n", "\n", "# Create a histogram of the values in the array Age\n", "pyplot.figure(figsize=(10, 4))\n", "pyplot.hist(\n", " age,\n", " color='red',\n", " alpha=0.5,\n", " bins=20\n", ")\n", "pyplot.grid()\n", "pyplot.xlim(0, 20)\n", "pyplot.gca().spines['top'].set_visible(False)\n", "pyplot.gca().spines['right'].set_visible(False)\n", "pyplot.gca().spines['bottom'].set_visible(False)\n", "pyplot.gca().spines['left'].set_visible(False)\n", "pyplot.title('Figure 1.4.10.1');" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABoIAAALqCAYAAAARjkagAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAewgAAHsIBbtB1PgAAUJNJREFUeJzt3QeYVdW9P+7vwNBELNSoYA+isV57VCyxRCFizLWgUTGWGKOxRo1JEJNorKjXm0SNBc21RI1iTzA2RPGq2AsWRAU7igXpMv9n7/ub8x/6DMzM2WfN+z7Pfs46c9bZe50zzGLN+cxaq6qmpqYmAAAAAAAASE6rcjcAAAAAAACApiEIAgAAAAAASJQgCAAAAAAAIFGCIAAAAAAAgEQJggAAAAAAABIlCAIAAAAAAEiUIAgAAAAAACBRgiAAAAAAAIBECYIAAAAAAAASJQgCAAAAAABIlCAIAAAAAAAgUYIgAAAAAACARAmCAAAAAAAAEiUIAgAAAAAASJQgCAAAAAAAIFGCIAAAAAAAgEQJggAAAAAAABIlCAIAAAAAAEiUIAgAAAAAACBRgiAAACiIt99+O6qqqvJj9dVXL3dzAAAASIAgCAAAGskOO+xQCnIacjz33HO+BwXy/vvvxx133BG/+c1v4vvf/3506dJlru9XFtiVw5133jnfv53GbktNTU289tpr8T//8z9x3HHHxTbbbBPLLLNMowWUTz31VBx99NGx3nrrxfLLLx/LLbdcXs6+lj3WFCZPnhy33HJLfo3vfve70b1792jbtm1+7bXWWiv233//uP7662PWrFlNcn0AACi36nI3AAAAoChWXnnl+OCDD6JovvzyyzzIaEpPP/10fO9738uv1dhmzpwZv/zlL+PSSy/Nw6a6Xn311fy47LLL4he/+EWcf/750aZNm6W+5pQpU2LgwIExYsSI/PrzyoKfr776Kt566634+9//ngd/1157bfTt23eprw0AAEUiCAIAgCaw+eabxxZbbFGvut26dfM9KIgihkCZU045Jd57770mvUYWnDRFCJQ54ogj4rrrrivdz2bibLXVVnkoNHr06Bg/fnxevuSSS/Jw5qqrrmqU13P33XfP9bUePXrEZpttFt/61rfyICibjffCCy/kj2Wzq7Ig7Pbbb4/+/fsv9fUBAKAoBEEAANAE9thjjxgyZEiDnpMtuzXvbAmaX/v27WPjjTfOw7zsyMKD3XbbrWzfikcffTSuuOKKvHzAAQfEDTfc0KTXW3HFFfOwpPb1Z0vFnXbaaUt8vquvvroUArVq1SouvPDCfOZPVs7MmTMnD4BOPvnkvJzV33777ePggw9utNeTnevQQw+NjTbaaL7HR40aFQcddFAeBM2ePTsOPPDAeP311/PvOwAApEAQBAAA8P8888wzscEGG0R19f//q1K59gTKTJ8+PZ9NkwWE2Sya3/72t00WBGUhyRtvvBFrr732XF8fNmzYEp9zxowZcwWi2cym448/fq46WSB0wgknxEcffRTnnntu/rXBgwfne/dke/ksqey52ft10kkn5fsRLcy2224bDz30UP76sxlR2XHxxRfHH//4xyW+NgAAFMn//QkWAAAAsckmm8wVApXb7373u3xGTibbQyebrdRUspkz84ZAS+vOO++MCRMm5OUsjMmCmYXJwp/awOadd96Je+65Z6mu3blz5/z9W1QIVHc23lFHHVW6v7TXBgCAIhEEAQBAQWQzT6qqqvIj+2B6cbI9TrJwYIcddoju3btHhw4dYs0114z99tsv7r///lK97Fy1513Y7Jbax7OjPrJr1tZ/+OGH610n24Pn7LPPzvdPyvZpad26daywwgoLfX1/+9vfYt99981fV6dOnaJjx46xxhprxMCBA/O9XFJeSu/555+P888/Py//+Mc/jp133jkqzfDhw0vl7N/lMssss9C62WPZ97pW9v1tTttss00hZoEBAEBjK86fugEAAPWWzZjYc889Sxvd1xo/fnx+3HzzzfmSYn/6058K867ecccd+T4tkydPXmzdLDg6/PDDY9y4cfM9ln1Inx033XRTbLXVVnHrrbfGKqusEin55ptv8tef7VmTzWwZOnRoVKJsybW6weDiZHX++te/5uUHH3wwmlPdEDR7/wEAIBWCIAAAqDCffPJJ7LTTTvHWW2+VvrbOOuvE5ptvni9r9uKLL8aYMWPyD9SzWTRF8Pjjj+d7xWSzfLp06RJ9+/aNrl27xscffxzPPvvsXHVvueWWOPDAA/O6mWw5tCzwyWY2ZTOIXn/99Rg9enQekjzxxBOx9dZbx1NPPRU9evSIVFx00UXx9NNP5+VsVlC3bt2i0nzxxRf5DLBa//Ef/7HY59St89577+X79Sy33HLRHLKfm1q9evVqlmsCAEBzEAQBAECFOe6440ohULac1rXXXhv/+Z//OVedUaNG5UtxZYFCmzZtotzOOOOMfJbF73//+zj11FPnatOMGTNK5ZdffjkGDRpUCoGOP/74fF+ZbFZMXdnrP+SQQ/LXme1Bk800uvfeeyMF2WvL3q9MFphlr60S1e5tVGvVVVdd7HPmrZOdIws4m9qcOXPyZQhrVeIyfAAAsDCCIAAAaAJZKDFp0qTF1vvVr37VoGXNsqDkxhtvLN3PPrzee++956u37bbb5m3YbLPNYubMmVFu2eydP/zhD/HrX/96vsfatWtXKv/iF7+IqVOn5uWF1c9kewb985//zEOCV199Ne6777743//939hyyy2j0h155JH5e9C2bdu4/PLL671vU9F8+umnpXI2qyfbw2pxsmAzm8X21Vdf5fc/++yzaA5//vOfY+zYsXm5VatWcdRRRzXLdQEAoDkIggAAoAlkS5Vlx+Jk+8A0JAi65pprSuVstsiCQqBaG220UT6bpHbPlXLKXmM2E2hRnn/++dK+ML17947TTjttkfU7duwYgwcPjoEDB+b3r7/++ooPgq6++up44IEH8nL2+vv06ROVasqUKaVyfUKgunVrg6C652gqWbiaBbK1DjvssFh//fWb/LoAANBcWjXblQAAgKX28MMPl8oHHHDAYutne+0UwY9+9KN8/6JFqbu02z777JPvB7Q42V5JtbJl4irZRx99FCeffHIpCDv99NOjkk2fPr1UzmY31VfdGWLTpk2LpvT555/HXnvtVQqc1lprrRg6dGiTXhMAAJqbGUEAANAEsj1ehgwZ0uj7mLzwwgul+1tsscVin7PpppvmS4vV1NREOWXtWJzRo0fPVT7mmGMW+5y6ryvbK6iSZa938uTJeTlbEq5uIFKJ2rdvXyo3ZHnCuntGNWQm0ZIEVQMGDIg333yztHzdrbfeGssuu2yTXRMAAMpBEAQAABXiyy+/jFmzZpXu9+zZc7HPyT7UXn755fOZD+XUrVu3xdZ5//33S+VsibjaZeLqqzZEqUR33HFHHkJkBg0aFDvssENUurqBSkNm9tSt21ShTLZn1X777RcjR44shVbZ92DjjTdukusBAEA5WRoOAAAqxLz7pSyzzDL1el62l0651WdmxxdffLFU1/jmm2+iEk2dOjWOPvrovNy1a9e44IILIgVdunSZK8Ssu1Tcot6L2v2BMp07d270dmUz67Kw7c4778zvZ0sW3nLLLUmEbwAAsCBmBAEAQIWYN9DJPjSvT8jz9ddfN8mH6Y2t7msZPnx4vmxXS/Dxxx+XZkNly/j169evXsumZX74wx+WlpDLnvfb3/42imKdddaZ6/4777wz39fm9e677y7yHI3hZz/7WVx//fV5uVWrVnHddddF//79G/06AABQFIIgAACoENkSb23atCktDzdx4sTFLrmWzSKqz0ybbFZEtlxWJrvN7jfl7J0F6dGjR6n8xhtvREv0ySef5Ed9Pffcc6Vynz59omj/XldaaaX44IMP8vvPPvvsYoOdZ555plReZZVV8n17GtMJJ5wQV1xxRen+ZZddFgMHDmzUawAAQNFYGg4AACpENnthgw02KN1/8sknF/ucMWPGRE1NzWLrderUqVT+9NNPF1l35syZ8frrr0dj23LLLUvlf/3rX41+fprfjjvuWCo//PDDi63/yCOPlMo77bRTo7bl17/+dVx88cWl+xdddFEcccQRjXoNAAAoIkEQAABUkLr7mNxwww2LrV+7BNbirLHGGgucZbIg2d4q9dnvpaHqLs/1wAMPxIsvvhgtweqrr56HdfU5xo8fP9dzs/u1jw0bNiyKZq+99iqV//73v8e0adMWWjd77Oabb17gc5fWWWedFWeffXbp/u9+97s4/vjjG+38AABQZIIgAACoIIceemipPHLkyLj99tsXWvf555+Pa665pl7n3WKLLUrlRQUKX375ZZx22mnRFLI21AZdWbDx4x//OL9efWSzlCZPntwk7WLJ7bnnntGzZ8+8/Pnnn+eBzML8/ve/z+tkVltttUbbt+eSSy6J3/zmN6X7p5xySqH2UgIAgKYmCAIAgAqy/vrrx7777lu6f9BBB8Wtt946X73HHnss9thjj/jmm2+ibdu2iz3vAQccUCrfdNNN8d///d/z1Rk7dmy+XNe4ceOiXbt20RQuvfTSWHbZZfPyCy+8kIdD//73vxda/80338zDhWxGU/aaiygLt6qqqvJj0KBBZZlxVHv9IUOGNOu1s38nZ555Zun+Oeeck3+P6y5XOGfOnDysOffcc+easbOof7f1fU+vvvrqfF+gWj//+c/nug4AALQEi94BFgAAKJzsg/Rsf6C33347vv7669hnn31inXXWyUOT6urqfEm1p59+Oq974oknxj/+8Y945513SvsMLch2220X/fr1i3vuuSe/f+yxx8af/vSn2GqrrfIP21977bV44okn8g/tsw/esyXJ6u7n0phB14033hj77bdfTJ06Nb/uLrvsEr169YrNN988unbtms/++eSTT/IZTxMnTmzU61922WX5UVd2vbqygG3ekOKoo47Kj0p3+OGHl/7t1Prss89K5ffffz823njj+Z535ZVXxmabbbbAc/7kJz/J9wf629/+lgeTv/jFL+K//uu/8n9bWSA0evToeOutt+aa9XbwwQcv9WvJfg6yPYBqQ6eOHTvm5WOOOaZez8/CqM6dOy91OwAAoNwEQQAAUGG6d+8eDz74YL7s1ksvvZR/LQtMsmPeD/WzGRjZDJ9anTp1Wuh5r7vuuthtt91KQUA2Ayg75v1Q/89//nNer6lkS4I9/vjjcdhhh8WYMWPyr02YMCE/FjXrpXYJsqXx4Ycf5gHTorz66qsLfF4KshlWi3r9s2bNWuDjU6ZMWeR5s6Bo+eWXz8PFLIzJrpMddWWBYxZAXnDBBdEYPv300zy4rJWFptm/3fo6+eSTBUEAACRBEAQAABUoWwrtmWeeyT9gz2bQvPLKK/mH8SuttFI+cyabCZHNpMnU7p2TfdC+3HLLLfSc2eyHLICpPefLL7881zmPPPLI0jmb2kYbbZQHUiNGjIjhw4fny75ls1GyPWSy5ca6desWvXv3zmeVZKHU1ltvnb8+iimbQZXNZMuWMsyWa8tmCL333nv5Y6usskq+1FsW/GX/zgAAgMZVVVN3cWYAACApb7zxRh6YZLLl4+ad4QMAAEDaFrxAOAAAkISbb765VDbbAgAAoOURBAEAQKLeeeedufZbGThwYFnbAwAAQPMTBAEAQAXab7/94h//+EfMmDFjgY//61//im233TbfUyezwQYbxPe///1mbiUAAADlZo8gAACoQKuvvno+46dTp07xH//xH/n99u3bx6effhpPPvlkvPvuu6W6HTt2jFGjRsXGG29c1jYDAADQ/ARBAABQwUHQ4qy55pr5PkGbbrpps7QLAACAYhEEAQBABRo/fnzcdttt8eijj8Zbb70VkyZNymcDtW3bNrp165YHP/37948DDjgg2rRpU+7mAgAAUCaCIAAAAAAAgES1KncDAAAAAAAAaBqCIAAAAAAAgEQJggAAAAAAABIlCAIAAAAA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F154Ibbddtv46quv5nts8uTJ8cQTT+TH0KFD48orr4x99913qa4HAAAAAACQkiYNgurq1atXrLvuujFixIh6P+fLL78shUDbbLNN9O/fPzbbbLPo0qVLfPLJJ3HbbbflAVBW54ADDohOnTrlM48AAAAAAABo4iAoWxJu8803z49sdtDbb78da6yxRr2f36pVq3yWzxlnnBHrrbfefI/vuuuuefDzwx/+ML755pt8+bg33ngjX3oOAAAAAACgpWvSIOjMM89cqud/97vfzY9FGTBgQOy9997xj3/8I8aNGxfPPfdcbLLJJkt1XQAAAAAAgBS0igTsuOOOpXIWBgEAAAAAAJBIEDRjxoy5lpMDAAAAAAAgkSDokUceKZX79OlT1rYAAAAAAAC0iD2CmsPzzz8f99xzT17+zne+E+utt16DzzFx4sR6150+fXqDzw9Uvro/+/oBaEZt2hTm7Z5eXb3AcsWbNq3cLYCKYkwA6AcA/QBQaZ8RVtXU1NQ018XefvvtWGONNfLyIYccEsOGDVvqJeG23XbbePrpp/P7d9xxR+y5554NPk9VVVW96g0fPrzB5wYAAAAAANI0YMCAKLqKXhrumGOOKYVAWbC0JCEQAAAAAABAqip2XZM//vGPceWVV+blTTfdNP70pz8t8bkmTJhQr3pjxoyJvn37Rvv27Zf4WkDlTvUcOXJkXtYPQDMaOrQwb3e2HNzI/7cXYd+xY6P97NmRhBNPLHcLoKIYEwD6AUA/AMzbFxRdRQZBl19+eZx++ul5eZ111on77rsvOnbsuMTn69mzZ72DoCwE6tChwxJfC6h8+gFoRrNmFfLtzkKgDgVtW4MZ18ASMyYA9AOAfgCoBBW3NNyNN94YRx99dF5ebbXV4t///nd069at3M0CAAAAAAAonIoKgu688844+OCDY86cObHSSivFAw88UO/ZPAAAAAAAAC1NxQRBWeiz7777xuzZs6NLly5x//33x1prrVXuZgEAAAAAABRWRQRBjz/+eAwYMCBmzJgRyy23XPzrX/+K73znO+VuFgAAAAAAQKEVPgh67rnnol+/fvH1119Hx44d4957741NN9203M0CAAAAAAAovOqmPPmoUaPizTffLN2fNGlSqZx9fdiwYXPVHzRo0Fz3x40bF7vttlt8/vnn+f0//OEPsfzyy8dLL7200Gt27949PwAA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AAAAAACJEgQBAAAAAAAkShAEAAAAAACQKEEQAAAAAABAogRBAAAAAAAAiaqoIOjdd9+Nk08+OdZdd93o2LFjdO7cObbYYou44IILYurUqeVuHgAAAAAAQKFUR4W455574sADD4wvvvii9LUs/Hnqqafy48orr4x777031lxzzbK2EwAAAAAAoCgqYkbQ888/H/vuu28eAi277LJx1llnxeOPPx4PPPBAHHHEEXmd1157Lfr16xdTpkwpd3MBAAAAAAAKoSJmBB1//PH57J/q6uoYMWJEbL311qXHdtppp/j2t78dp5xySowdOzaGDh0agwcPLmt7AQAAAAAAiqDwM4KyZd8efvjhvHzYYYfNFQLVOumkk/J9gzIXX3xxzJo1q9nbCQAAAAAAUDSFD4KGDx9eKh966KELrNOqVas4+OCD8/LkyZNLwREAAAAAAEBLVvgg6NFHH81vO3bsGJtuuulC622//fal8qhRo5qlbQAAAAAAAEVW+CDo1VdfzW/XXnvtfI+ghenTp898zwEAAAAAAGjJFp6sFMD06dNj0qRJeblnz56LrLviiivms4a+/vrrmDBhQoOuM3HixPq3aRFhFJCuuj/7+gFomfQDgL4A0A8A+gEgN21anl9UikKnGl999VWpvOyyyy62fm0QNGXKlAZdp1evXvXer2hknZlHQMukHwD0A4AxAaAfAPQD0IKNGBGVpNBBUN1ErW3btout365du/x22rRpTdKevfbaK59ttLjZSUB6spmDtaGxfgBaJv0AoC8A9AOAfgCoxM8JCh0EtW/fvlSeOXPmYuvPmDEjv+3QoUODrrO4peQ++OCD2GKLLRp0TgAAAAAAgHIrdBDUqVOnUrk+y71ly8LVdxm5uoqc1AEAAAAAACypVlHwGUFdu3YtTbNalMmTJ5eCoPru+QMAAAAAAJCyQgdBmXXXXTe/ffPNN2P27NkLrTd27Nj5ngMAAAAAANCSFT4I2nbbbfPbbLbPmDFjFlrvkUceKZW32WabZmkbAAAAAABAkRU+CNprr71K5WuuuWaBdebMmRPXXXddXl5hhRVixx13bLb2AQAAAAAAFFXhg6Atttgitttuu7x81VVXxejRo+erc+GFF8arr76al4877rho06ZNs7cTAAAAAACgaKqjAlxyySX5cm/Tpk2LXXfdNU4//fR81k92/6abboorrrgir9e7d+846aSTyt1cAAAAAACAQqiIIGiTTTaJv//97/HjH/84vvzyyzwImlcWAt1zzz3RqVOnsrQRAAAAAACgaKpqampqokK88847+eygLPCZOHFitG3bNtZee+3YZ5994phjjollllmm3E0EAAAAAAAojIoKggAAAAAAAKi/Vg2oCwAAAAAAQAURBAEAAAAAACRKEAQAAAAAAJAoQRAAAAAAAECiBEEAAAAAAACJEgQBAAAAAAAkShAEAAAAAACQKEEQAAAAAABAolpUEPTuu+/GySefHOuuu2507NgxOnfuHFtssUVccMEFMXXq1Ea7zk033RS77bZbrLTSStG+fftYffXV46CDDoonnnii0a4BFK8fGDJkSFRVVdXrePjhh30LoRl9/PHHcffdd8fgwYNj9913j65du5Z+HgcNGtQk1zQegJbbFxgTQHE988wzcfbZZ+d9QK9evaJdu3ax7LLLRu/evfN+4NFHH230axoTQMvsB4wHoLi+/PLL/P/nk046KbbffvtYe+21Y/nll4+2bdtG9+7dY4cddojzzjsvPv3003TGAzUtxN13312z/PLL12QveUHHOuusUzNu3Lilusa0adNq+vfvv9BrtGrVquZ3v/tdo70moFj9wBlnnLHQc897PPTQQ7590IwW9fN4yCGHNOq1jAeguJqrLzAmgGLq27dvvcbqBx10UM2MGTOW+nrGBNCy+wHjASiu+++/v159QdeuXWv++c9/JjEeqI4W4Pnnn4999903/2v/LOH/1a9+FTvuuGNMmzYtT+L++te/xmuvvRb9+vWLp556Kq+zJA477LD8Lwwz2fmPO+64WHnllePFF1/M/9Jg3Lhx+V8fZqnf4Ycf3sivEihCP1Ar+7lflDXWWMM3DMok+6u/bFbgiBEjmuT8xgNQGZq6L6hlTADF8d577+W32e/p++yzT2y33Xax6qqrxjfffBOjR4+OCy+8MK/zt7/9LWbPnh033HDDUl3PmACKp7n7gVrGA1DM3wd23HHH2HTTTfNy9pn9nDlzYuLEiXHrrbfGbbfdFpMmTYo999wz/6xwww03rOzxQE0LsMMOO+TpWnV1dc3jjz8+3+PnnXdeKYE788wzl+gaDz/8cOkcP/jBD2pmz5491+OffPJJzaqrrpo/vuKKK9ZMnjx5iV8PUMx+oO5f+wDFMnjw4Jq77rqr5sMP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", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 373, "width": 833 } }, "output_type": "display_data" } ], "source": [ "# Recreate the histogram but use a logarithm transformation of the values in the array age\n", "pyplot.figure(figsize=(10, 4))\n", "pyplot.hist(\n", " numpy.log(age),\n", " color='red',\n", " alpha=0.5,\n", " bins=20\n", ")\n", "pyplot.grid()\n", "pyplot.xlim(0, 3)\n", "pyplot.gca().spines['top'].set_visible(False)\n", "pyplot.gca().spines['right'].set_visible(False)\n", "pyplot.gca().spines['bottom'].set_visible(False)\n", "pyplot.gca().spines['left'].set_visible(False)\n", "pyplot.title('Figure 1.4.10.2');" ] }, { "cell_type": "markdown", "id": "86daf3d0-d83a-4a50-839f-b4944ddbf44f", "metadata": {}, "source": [ "The logarithm of a number is defined by a base. As an example, we consider a base $10$. We can raise $10$ to any power. As an example we have that $10^{2}=100$. For the number $100$ and the base $10$, we would state that the logarithm base $10$ of $100$ is $2$, since it is $10$ raised to the power $2$ that is $100$. For the values $a,b,c$, we state the logarithm in __Equation 1.4.10.1__." ] }, { "cell_type": "markdown", "id": "44f528fa-bda9-4780-8c13-99e7b6296ef1", "metadata": {}, "source": [ "$$\n", "\\text{If } a^{b}=c, \\text{ then } \\log_{a}{c}=b, \\, \\text{ for all } a>0\n", "\\tag{Equation 1.4.10.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "de84933f", "metadata": {}, "source": [ "From the defintion we note that $c>0$, since a positive value raised to any real-valued power is positive." ] }, { "cell_type": "markdown", "id": "e75dacdb", "metadata": {}, "source": [ "The `log()` function from the `numpy` package calculates the logarithm of a number. The default base is $e$, Euler's number." ] }, { "cell_type": "code", "execution_count": 70, "id": "5886b3c3-0008-4f4f-8c79-27ae6022245a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMYAAAAQCAYAAABN/ABvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAB8JJREFUeJztmnusHVUVxn8VFWoBAfGRoNaKKA8VaqRYwUIBkbYGrYIhRh41gkZihWK0kcfy0yg1sYBFfCFpoTWxioqoPERorG8SEB88pAqoqLWWUlOEikLNIt/c7M6de+6cOYf/7peczJmZtWbttfdeez32nrRt2zYmMIEJbI+n0wBJbwDOBF4P7AFsAn4LXBwR1zbxNHxjErAAOB04ANgB+D2wHLg0Ih5v4Hkh8HHgWOA5wN+Bq/NVRDxUoz3V3+qFJyJihy70hZz7galj0P8jIl7QoEdfPJJS1/nAPOBVwF7AY+7zbPPyiHiioO+ki3lTxgeB/Ys+vhW4MCJ+PqRxnNdWRr+6F3zHA4cDBwEHArsAX42Id43TL+U3TgKu9O1pEfGVMQ1D0rnAJ4CNwPes1J7AdOAIoJVhAFcAKXgDsBr4N3A08FlglqQTImLEXUnaG/gZ8DzgO8DdwAx38LGSDo2IB4vv355sY8hOwz4SuG4A+hL/ykWh4fnDPfTvh+cE4Avu6zXAn4HnA28DcrDm1Pqrky6SPg18GHjQC06O8cuAtwBvl3RyRKwacBz7ldGv7hXOtUFkfz4A7EsfkPQi4BLz71x/v51hZANsFD/MhkXEltr7Z7QU+lZ35n05uSNiY8H/9ewg4BRgRcH2eRvFwoi4pPjWhcBZwCeB91XPIyInx+1jyK9WpS93pa9hc0R8rI3uHXnuAY4Dvl/zDB8FbnF/5UT5ZlddJKWX+lB6LODVEbGheDcbuNneelXXcewio1/dC5xlg/iDPUcaVSvYCy638X7Lbd4OTyuI839a+yPAO+tGkYiI/7aUnYoklladWfCf59sPFLJfChwDZAhyaV2sV6mTJE1pofQrgdcBf83OHjb9U4GIuDkivlsPGSJiPfBF36a3HkSXDO1yjH9ZTljLyUmV4/3cQcaRDjK66p7fi4h1DZ6kDRbaqy7w3KKXx8h8YhpwFfCQ48Ts6K1puU3xZw9UMfS9De+qZ6+RtFtEbHYjEz9o6KAtkn5qw8lBv2kc2e/19fKm+Lcj/Y6SMnZ9sTvyN8Dacb7fhacJ1WL0vwF1WefYfYakPcuJLmmWY/QMfQYZxy4yhqV7K0jaD1iSoWBErJVUzb0xDeNgX9MN3uZEqPzgWuD4iPhnC/lVh6Sh1ZHeoULGhb8AXlG41Sass2G8vJdhSJoM5GRM4xpJpIZAnxNkZe3ZfZIWRMSPhshTb1+Oz8m+vX4QXSJik6SPZAIM3CnpaocSezuUubEwrE7j2FHGwLq3hb+50nlMhmpjYiSUcnyP4/jJTrB2sde4IRMt4Bst25BJe2KRpD1qDSuTxt19fXaRsDaher7bOHLfYZrrIuIvLdrZhj5j0aM80ad4wfgS8JLkk3TgkHiasMT9f21E3DCoLhFxscOjHIfTgMVOfpN+RT38of9x7CJjGLq3xfkuIp0aEY/2Iiw9RlXam2TP8Gvf3yFpvlfzwyXNbBFWfc2r1xyvHNc4dznaq0d6gH2AtmFFtikxXjyZJUU8CdtgXPqIqFd/fpeLh6SsZpwNZII9f1CeOiQtNO3dToAH1kVSVos+BSwDPges92p/QZY6JR0UEUnTeRw7yBiG7uNC0gx7iaVt0oLSY1T7BPcWRvEkbF2V1aaAnnCecJyz/fVW7t2uIhxm95rYUPMIleeoY9ca3ShI2t950gNtSsr90jegSgxnDZtH0hkuh94JzM4QZVBdJB3h4so1EbEoInKcH4mI22ykmbCf7UJIp3HsImNQ3fsMoe4piga09Ri5aZPIJKoJleFkmDUuIiITpqX+lY2c7E2ZNLY7arIzh2hCrkq9cpCnKunuhcqopwyTR1JurF5kL3NUy9CjjS5v9nVUWTMnr6RbPHmnl8l2n+PYScaAurfBzsXc2io1bgFdJukyJ+Vnlh4jk+vshH0kPbOBMeM9XFIdBLnq7JR18KL8W3XkMS4bj0BS5jmHegAyUR8FSTv5u7nCXT5eA/qlHwMze1RsOvE4cb3IexSz20yMPnTZ0dd6SZba88foPo6dZXTRvQ/8x33T9PuVaX7i+yfDrJFJ6NLaaocz59ca/UbgTQ5lri93qyXt27TxJ2nXhmcHO6l62Bs9lew/ZqnWyekZdTavsFdGRGPN2cnd7k7U2iTdreglHVAmncXzqY6fE6sG5fH789w3t3q1HCl1DkMX4Me+ni5pr5rsOV58tvr0QadxHEBGV91bIVOBiHhP0y/DPpNd4Werm46ELAIOAc5x3Tld31S7v8d9nqQMtW7y+2kNnuRGSY/aLW7xOZu5tt7cVa+vmu93hy2TlBWdu9yW2Q6hzmmReI61c92VPifdYklrvPu7xUnnPK+WGc9/ZlAeSad4gj3uybWwwd3fHxErBtDlKp9oyMT5Lknfdt6wn0OgLHAsrh276Xcc+5bRVXfvyuev3G+ZKami2xgRo3a022I7w0j3JekQn0OZ7w21Ld5FvSAiGkOZMZCddKKrGhmP/s319SURMSocS68h6bXFIcK5Pj+zzIcIN/XYsDmsj6S7H/o13mOZ7jAoPddmu91M5lY27Lx24ZlWVAYzzm5C7n2s6KpLJtKS5tojn+jxfZYPiCbvsohIr915HDvK6KS785s0qhKZ1FeJ/Z+ajnq0xaSJY+cTmACj8H9cgGPR5TrV5QAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 6.90775527898214$" ], "text/plain": [ "np.float64(6.907755278982137)" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Natural log of 1000\n", "numpy.log(1000)" ] }, { "cell_type": "markdown", "id": "0234e0ea", "metadata": {}, "source": [ "The `sympy` package can also calculate logarithms. The `log()` function from the `sympy` package calculates the logarithm of a number. The default base is $e$. Note that `sympy` returns an exact value." ] }, { "cell_type": "code", "execution_count": 71, "id": "2879237a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAVCAYAAABfXiAOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABLNJREFUeJztmXmIVmUUxn9jJWVk0rTYQqSlEhWZBSmVLS7VH0GQBIZmhWS2l2MhI5yeUKMFFdtAKkywlBoqEMKK9kwsqaCopsVom6yspgxtnTjDucPtdue733e/mRwGHxjej/s+59z33nPu2aaho6ODXehbGLCzD7AL/8XuyQ9JRwCbgYfN7BJ2MiStBM4BhpnZr/QzSDoReBOYaWYP5hqlL0HSScA0oClrEElTgNOB0cDxwD7AKjObVqDzMODWMHQj0AY86Vtm9mO9/FplzGyTJN9bIGmNmW3r6+FrEfAzcH/O3nzg6jDKV9Uok3QksAm4FNgILAE+Ba4DXpfUWA+/rAxwGzAUuLZPfymSRgITgQfMbHsO5QbgS+Dj+GJeqELtfcCB/vBmdnfqXotD30Lgijr4pWTMbKOkD4BZkm43s7+qNoqkC8M7PVwMjBfyCLDYzH7LcBvC8rOA4cBW4AmgGXgnDuP5qztcBriONXmbZtZlBEnVnN3PMBn4DLg3qw64HJguaY6Hylr5Ze6R2V8N3BKOuK6q8CVpUbygo8MQ98RL8+vrJO2REfFDLQX2BZYDj8aBnwWy3DxMBNxjNtAzOCvWZ8zs7/SGmf0CvAYMAsaW5JeVSeB7jknJhYpGkTQOmAd8ARxnZrPNbG7E87URPuam+KcBs4FW4Bgz80+5CTgW2AEcUnC/vUP3+z1YcY2K1c+Uh49iHVmSX1YmwRuxjk8uFH0pHkocC8zsm+Simf0JzAHcK2am+DNiXWhmP6X4v4dxi3AosFtULT0F/2Id7d3sJ9eHlOSXlemEmbWHwx5erVHGxPp8jrLWSLjDJCU3OyHWV3N0eThyY1ZCY6y5JWcvwUOxo6OX+NXI/ADsX61REg/oznPbMrxk3ZIlRmXhSb8Stse6Jz2H9szZshic4dXKLyuTxl6pZy80SqLEa+k8HJzheW/hOChLlORhKa9WT+PbWIt4teDDCvHcMSKTD2rll5XphCS3wZDUsxca5a1Yz8hRdhTgHezmVP5I+Kfm6BpbRQneBnyXSpw9gaSEnhwvoAuSfBpwSnjphpL8sjIJRkV4e7taozwU63xJB2S8/q6QT89tfF7laJbU9SlLGhgldEWYmcfclz2+htHrhpl94qUq4L3RVZltb3S84luZVHu18svKpJCUyV39V0XPNbP1ku4AbgLelfQ44IrPjTLXE/qdKf5LkpZHs/SepBbgD+C8CHFfR8VWCS3ABcDZ0aT++wml8wH/S4fVcZJWxO/vowxP40pgPbBM0gQvuYGTgTMjpDTXyS8rQ/Rwnm+fSi4UNo9mdjMwNWrti6NbHxAzqElR7qbhfcqNwLYYK1wEPBfN0eBU3qlklC1xrzyMjtJ7RhjOMTx1bUrOM7gn+5BzRbwoL+d9VrXMDWpmW+vhl5WJaOIOttbMvBfsRMP/9U8uSSPCY1ab2dQC7rwId2PMLMlT/Q6SrgmjjTezV3ptSixpaE6yGxSjF2IOVoQlwOcxBu+XkORlsDtfS9ogvTUlvt7DnaQXo5ryuD8hKrWngceKFJjZDknTPR776KU//pMrigLPv0kupNfCVyS5poj9+0UX3xrDzKVm5ol/F+ge/wDFQAnSSweSzgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\log{\\left(1000 \\right)}$" ], "text/plain": [ "log(1000)" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.log(1000)" ] }, { "cell_type": "markdown", "id": "3c237185", "metadata": {}, "source": [ "To return a number approximation in `sympy`, we use the `evalf` method." ] }, { "cell_type": "code", "execution_count": 72, "id": "77dbec94", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 6.90775527898214$" ], "text/plain": [ "6.90775527898214" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.log(1000).evalf()" ] }, { "cell_type": "markdown", "id": "6dae8ba9-6f0a-49ef-9474-477b6f0bb5c0", "metadata": {}, "source": [ "Euler's number, $e$, is approximated below using the `numpy` function `exp`. We pass the argument value $1$, since any number raised to the power $1$ is itself and so $e^{1}=e$." ] }, { "cell_type": "code", "execution_count": 73, "id": "e28672f6-36e4-4dab-9a39-56efedf45fb3", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 2.71828182845905$" ], "text/plain": [ "np.float64(2.718281828459045)" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Express Euler's number e as a decimal number\n", "numpy.exp(1)" ] }, { "cell_type": "markdown", "id": "6b801ebe", "metadata": {}, "source": [ "Once again, `sympy` returns an exact value." ] }, { "cell_type": "code", "execution_count": 74, "id": "81c9b195", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAPRJREFUeJyV0T0rhQEUB/DfxS2Tyaas8jZJSsqmbGJhkEgW8Q10nEGxW0wWmyzKIoMsdrOFD0GKrh6ee3tu3bqc5dTp/F/O+dcajYb/Vl+nYWauYBvTGMALznESEV9toMzsxQVW8YxLfGARRxjBRq1qLzNPsYtjHETEZzmv4x6zGG+BMnMGj7iOiKUOlndwhq2qvT3U8JaZhx1OnSh7rQpaKPtal+e9/tjLzH684yEi5ruA9DQl/dZgN0ALFBGFyhPGMnO502JmzpWRqH6vuOmmDPyuJClIhzCFekQMV+0VardlDleYxD7WMVqSbDZ328L9a30DrGpOAjiWR8QAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle e$" ], "text/plain": [ "ℯ" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.exp(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.4.10.1__ Calculate the logarithm base $e$ of $43545$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `log` function from the `numpy` package is used to calculate this natural logarithm." ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 10.6815501651268$" ], "text/plain": [ "np.float64(10.68155016512684)" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpy.log(43545)" ] }, { "cell_type": "markdown", "id": "938b2f5a", "metadata": {}, "source": [ "The `log10` function from the `numpy` package calculates the logarithm of a number with a base of $10$." ] }, { "cell_type": "code", "execution_count": 76, "id": "1435b237", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAhxJREFUeJzNlU+ITWEYxn9XbAxDjZhEQoOanRSiNNQ0GxvWioUSRcICi8dDihQZTLGSsrFhqWFSypCSmgWhESukYSZNlD9X3/Te6cxxbvdMKZ7Fefv+vd9z3j/PV6lWq/xrTM0ObJ8GVgHLgDnAV+AtcAu4KGloMs5tLwCOA11AC/AufFnS59q+Kblz+4Em4A5wHrgO/ACOAQO2F06CwFLgCbADeAycA14D+4CHtlsKIwE0S/pW4PAkcAQ4DOwuyaMHmAvslXQh4+ts/GzyueuPSKiAQOBG2LYyt9teAnQCb4BLuWUBo8A2201F6aiHzWEHKIeNYXsl/couSPoCPACmA2uK0jEG2weBGcCsKNT1QeAU5bA87Ms6668iUqkB+gpJAInEvMz4NrBd0seSJBL5hJE667X52XXTIalVUgVoBbYAKcdPba/k7yD5Tqg2rAlJHyTdjNCllrpW8pKRXETyaM7uK1WYkpJgPQPabScRa4QXYVPOi9CWrZmy3ZEwf+wLP2mMe2E7bU+4w/ZMYF2o8aM0N16YtlcAw5Le5w4lJydCePqzchuqOA0YlPS9Ni9p0HZvpHEPMC5W6Vio8mVJo/kW7QLO2L6fnAJD0SEbojATuZ25P+4DFgGLQ5iySMraD3Tb3gQ8B1YDHZGGo7WN2VDdBa5EAaaOOARsBT4F+3ZJqS5KIUUjNOZqXH4ASJHrBtZmH8PK//CU/wZQnKC12yqVWQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 3.0$" ], "text/plain": [ "np.float64(3.0)" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Log base 10 of 1000\n", "numpy.log10(1000)" ] }, { "cell_type": "markdown", "id": "9d883ac5", "metadata": {}, "source": [ "Homework 1.4.10.1 Calculate the logarithm base $10$ of $10000000000000$." ] }, { "cell_type": "markdown", "id": "9e1fa159", "metadata": {}, "source": [ "Homework 1.4.10.2 Calculate the natural logarithm of $4355$." ] }, { "cell_type": "markdown", "id": "8e1d3748-15d5-441d-bb0b-1c8e120ae867", "metadata": { "tags": [] }, "source": [ "### 1.4.11 Exponent" ] }, { "cell_type": "markdown", "id": "e65092d2-9874-42ba-a968-a9895ef99b56", "metadata": {}, "source": [ "Euler's number is useful when modeling growth or decay. For a simple model, we may have exponential growth at every time step $t$. The number of cases may then be as shown in __Equation 1.4.11.1__ with the number of cases at $t=0$ of $1$." ] }, { "cell_type": "markdown", "id": "3cd00505-459a-44e7-bbec-759b5cbaa97c", "metadata": {}, "source": [ "$$\n", "\\text{Number of organisms at time }t = e^{t}\n", "\\tag{Equation 1.4.11.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "a3e9d5d5-ff96-4cf7-89f1-2b31241008f8", "metadata": {}, "source": [ "At time $t=5$, we have $e^{5}$ organisms, which is $e \\times e \\times e \\times e \\times e$, calculated below using the `exp` function in `numpy`." ] }, { "cell_type": "code", "execution_count": 77, "id": "f7dd814e-01cd-442c-84e5-4343dc4c87eb", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 148.413159102577$" ], "text/plain": [ "np.float64(148.4131591025766)" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpy.exp(5)" ] }, { "cell_type": "markdown", "id": "1113f585-ef0c-4bae-b426-dfcc9ab19bae", "metadata": {}, "source": [ "We can use the `floor` function to round the result down." ] }, { "cell_type": "code", "execution_count": 78, "id": "33191421-3865-48ea-af3b-d9ae1ca6e815", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACYAAAAQCAYAAAB6Hg0eAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAkFJREFUeJzNlkuIjWEYx3+jKQusUDZSlBoLzKiJlFtKLrk1diMWho3cRmMS/v5WKCIbGnLfTcZCUkS5RpnlyCULl1wyNuQyC0cvzxnHmXOacw6Leerr/d73ed73/X/P/7l8VZlMhoEo1bkT2w3ATGAyMAkYBpyX1FjKYbZXAmdi2iTpeBG7hcBGYAIwHHgDPAQOSrqXbAbl7dkBrA9gr8v5QtujgSPA537s9gGXgDrgCnAY6ASWAHdsN/bxGLAZeAU8C8/dKBFUFXAS6AYuAFuL2I0K3TtgoqT3ObrZwHVgD3DuL2CSeoHYpgzZAMwBZsVYTMYES/dzQWXvtv0JGFmIyrLFdg2wN1Ei6WY/5k+BHqDe9oi8c2ZETF8rRGW5oKqBs8ALYHt/9pI+2t6Wghzosn0x6B8HLAauAuv+h8d2AbXAaklfS9kg6RCwPJzSBLQCK4CXwKksxRUDs10fXjqQTfES97UA7QlEeGoIMAV4nkqT7f0VU+k/FD4BdpaxLyVHKhcdkrbkqDptL4vzmm0frTTGhgLj4/1bkQxus90WSbEp1hbF2KcMSfpi+wGQANZWCuw7cKKIri7i7jbwGMileXCMv0pCAcmu91QETL8DfU0hne3dAex0gZZ0KzrLWtvHJPV2F9vzgemJAeBufq9cCqQnSarSSabZToGa5IOkglW9RGmPOjUXeGS7A3gL1ATNqYO0SurOz8rUI1fFMy/WxuasNfwDqOTpH8CCaH1dEU/NwFTgcrpTUuqdVA3U356fZBrBCb9PQHAAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 148$" ], "text/plain": [ "148" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Round exp(5) to 3 digits\n", "math.floor(numpy.exp(5))" ] }, { "cell_type": "markdown", "id": "5f2db65c-0c27-4f44-9fa3-9d26b3457485", "metadata": {}, "source": [ "Starting with $e^{0}=1$ organism at $t=0$, we have that there will be $148$ organisms as $t=5$. __Figure 1.4.11.1__ demonstrates the growth." ] }, { "cell_type": "code", "execution_count": 79, "id": "8107a5ed-35bc-4c42-b04e-1a72afae0e3e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABHcAAAOMCAYAAADHXV9PAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAewgAAHsIBbtB1PgAAnYlJREFUeJzs3Qd4FNX+xvE3IST0XqRJVQRFRUBBEBABpQgCF0QsVEFQEBXU+792RQG5FkBFpFmooqCABZXeRenSizRpUqRDgP9zZu9udpNNskk2uzu738/z7LMzZ2Z2T4a5XvJyzvlFXbly5YoAAAAAAABgS9HB7gAAAAAAAADSj3AHAAAAAADAxgh3AAAAAAAAbIxwBwAAAAAAwMYIdwAAAAAAAGyMcAcAAAAAAMDGCHcAAAAAAABsjHAHAAAAAADAxgh3AAAAAAAAbIxwBwAAAAAAwMYIdwAAAAAAAGyMcAcAAAAAAMDGCHcAAAAAAABsjHAHAAAAAADAxgh3AAAAAAAAbIxwBwAAAAAAwMYIdwAAAAAAAGyMcAcAAAAAAMDGCHcAAAAAAABsjHAHAAB4tWvXLkVFRVmvMmXKcJcAAABCFOEOAABhqn79+q5wJi2v1atXB7vrcLN//3598803euGFF3TPPfeoYMGCHn9eJoQLhm+//TbJs+Pvvly5ckWbN2/WF198oSeffFK1a9dWjhw5Mhw6Bvue7ty5U19++aWeffZZ3XnnncqTJ4/H9wMAkFYxab4CAAAAAVG8eHH99ddfIXe3//nnH/Xq1StTv2PlypW66667rO8Kl3tqvrdKlSr6+++/g/L9AIDwRbgDAEAEqFGjhm699Vafzi1cuHCm9we+CcVgxzAjTvbt25ep33Hq1Cm/BzvBvqfnz58n2AEAZArCHQAAIkDTpk31yiuvpOkaM+XFTItBcGXLlk0333yzFdCZV9GiRXX33XcHrT8LFy7UyJEjre0OHTpowoQJmfp9+fPnV/Xq1V0/v5mm9fzzz9v6nubKlUu33HKLK3Q9d+6cOnbsGLDvBwCEH8IdAACAEPX7779b03hiYhL+yhasNXYME0I8+uijVuhXvnx5vfjii5kW7tx0003aunWrKlSo4NE+btw4295TEyKtX79elSpVUnR0wtKX8+bNC8j3AwDCF+EOAABAiKpatapCyWuvvWaNnDFGjBhhjYDJzBE75hVO9zR79uy6/vrrg/b9AIDwRbUsAADgl1LoFy9etH7hN1W6ihQpYv0iW65cOd1///366aefXOeZz0qtKlFaKwe5VwZLbhSEt3PM+itvvvmmNTXmqquuUpYsWZQvX75kf77PP/9c7dq1s36u3LlzK2fOnCpbtqweeOABTZs2Laynsa1Zs0Zvv/22tf3QQw+pYcOGwe4SAAD4H0buAACADPvzzz/VokULrV27NknJZ/OaMmWKNZ3ngw8+CJm7bUphd+7cWceOHUv1XBMGdevWTdu3b09yzARU5jVp0iTVrFlTU6dOVYkSJRROLl26ZP388fHxKlCggN55551gdwkAALgh3AEAABly+PBhNWjQQDt27HC1VaxY0Vos1qxrsm7dOv3222/65JNPrNEuoWDJkiXWAtNmNE7BggVVt25dFSpUSIcOHdKqVas8zv3yyy/14IMPWucaZiqSCXHMCCQz0mfLli1aunSpFXwsW7ZMtWrV0q+//mqtrxIu3n33Xas0uWFG71BRDQCA0EK4AwAAMuTJJ590BTs5cuTQp59+qn/9618e5yxatMianmVCgqxZswb9jr/88svWaJTXX39dzz33nEefTLlqpw0bNqhTp06uYKdv377WIsJm9Io78/Obakfm59yzZ481Iui7775TODA/m7lfhgnBzM8GAABCC+EOAAARwAQNR44cSfW8f//732maUmTCj4kTJ7r2zZo0rVu3TnJenTp1rD6YktYXLlxQsJlRNm+88Yb+85//JDkWFxfn2u7Tp4/OnDljbSd3vmHW4Pnhhx+s0UobN27U999/r+XLl+u2226T3XXv3t26B7Gxsfr44499XgcJAAAEDuEOAAARwEwTMq/UmHVV0hLujB071rVtRnV4C3bcS1ubUR9melawmZ/RjNhJbQHhOXPmWNvXXnutnn/++RTPN4srv/TSS9biysb48eNtH+6MGTNGv/zyi7Vtfv7rrrsu2F0CAABeUC0LAACkm3tlqg4dOqR6vlm7JhS0adPGWg8oJe7Tqtq2bWutr5Mas/aQk5miZWcHDx5Uv379XOHW//3f/wW7SwAAIBmM3AEAIAKYNVPMAsL+dPnyZY/qWKaceGqqVatmTesJdslw04/UmEWS3befeOKJVK9x/7nM2jt2Zn5eZyUxMx3LfboaAAAILYQ7AAAgXf755x/XQsNGyZIlU70mV65cyps3r44fPx7Uu+5Ltaf9+/e7ts30LOcULV/5UmI9VJky8aaku2EWlK5fv36wuwQAAFLAtCwAAJAup06d8tg3lbJ8YdamCbbs2bOnes6JEycy9B2mGpcdmcWTe/XqZW2b8vBDhgwJdpcAAEAqGLkDAADSJXFIY0IBX4Kb06dP+/2Omyli/ub+s0yfPl0tW7ZUJDh06JBr1JKZQtesWbNkz3UvG2+0atXKNX3LXGfKxgMAgMxHuAMAANLFTK/KmjWra2rW3r17U53uZEb7+DIixix2bMqVG+Y9tcWPMzrKxpuiRYu6trdu3apIdPjwYevlq9WrV7u2qawFAEDgMC0LAACk7y8R0dGqUqWKa3/FihWpXvPbb7/5tJhy7ty5Xdt///13iudeuHBBW7Zskb+5lzH/8ccf/f75AAAA/kK4AwAA0s19od0JEyakev748eN9+tyyZct6HQ3izbfffqtz587J35o3b+7a/uWXX7Ru3TpFgjJlylgBnC+vnTt3elxr9p3Hxo0bF7SfAQCASEO4AwAA0q1z586u7QULFmjatGnJnrtmzRqNHTvWp891L6ueUkhgKnY9//zzygymD87wyoQVDz30kPV9vjCjiexcLQsAANgL4Q4AAEi3G264Qe3atXPtP/zww64S2u4WL16spk2bWhWkYmNjU/3cDh06uLYnTZqk4cOHJzln06ZNatCggbZv3+5axNffhg0bZpVvN9auXWsFPj///HOy52/btk0DBgywRh6ZnzkUmcDKLJRsXqbMeTBGBjm//5VXXlE4CPY9BQCABZUBAECGAxCz3s6uXbusSlht27ZVxYoVrSDELIRspjOtXLnSOvfpp5/WV199pT///NO1bo83d9xxh1VtadasWdZ+79699cEHH6hmzZrWL9CbN2/WsmXLrCpZ5pdpMx1o/vz5mRJeTZw4Uffff79VDcx8b6NGjVSqVCnVqFHDKhVuRumYRYfNyCSzqLQ/jRgxwnq5M9/nzoRmiQOzxx57zHrZXbdu3VzPjtPRo0dd26aq180335zkulGjRql69eoheU9feuklayph4oXG3Xn7mV577TW1aNEiw98PAAhPhDsAACBDihQpojlz5li/eK5fv95qMyGIeSX+RX3gwIHWSBxvCycn9tlnn+nuu+92/XJvRuqYl7suXbroww8/tM7LLGbtnSVLlqhr167W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pKlTPdsof24/hDsAAAAAAESoxOXPc+Sg/LkdEe4AAAAAABChSpaUrr7as/x5/vzB7BHSg3AHAAAAAIAI1aOHtH279NVXUr160hNPBLtHSI+YdF0FAAAAAADCQkyM1Lq14wV7YuQOAAAAAACAjRHuAAAAAAAA2BjhDgAAAAAAgI0R7gAAAAAAEEFmzZK2bAl2L+BPhDsAAAAAAESIc+ekzp2lihWlJk2k77+XLl8Odq+QUYQ7AAAAAABEiMmTpcOHHds//CA1bcoonnAQseHOoUOHNHPmTL300ktq0qSJChUqpKioKOvVqVMnnz7j3Llz+uabb9S7d2/ddtttKlCggLJmzWq916pVS6+88or++usvn/t05swZvf3227r11lutz8iVK5cqVaqkfv36affu3Rn4aQEAAAAAke7KFen99z3bGjaUrrsuWD2Cv8QoQhUtWjRD169du1Z16tTRyZMnkxw7duyYli1bZr3eeecdjRo1Su3atUvx87Zv365mzZpp8+bNHu2bNm2yXuYzJkyYoKYmVgUAAAAAII2WLJFWrfJs692b2xgOInbkjrtSpUqpcePGabrmn3/+cQU7tWvX1ltvvaWffvpJv//+u3788Uf16NFDWbJksc7p0KGDvjcTGZNx6tQpNW/e3BXsPProo/rll1+0ZMkSDRgwwBrBc+LECbVt29YKlQAAAAAASKuhQz33y5aVmjXjPoaDiB25Y6Zj1ahRw3qZUTy7du1SWfNk+yg6OtoajfPyyy+rcuXKSY6bsMhM92rVqpUuXbpkTd3aunWrNe0rsSFDhlijc4zBgwerf//+rmNmetedd96punXrWtO2+vbtqzlz5qT75wYAAAAARJ69e6WvvvJse+IJKUuWYPUI/hSxI3deffVVa7RMeqdn3X777Zo8ebLXYMepZcuWat26tWva1erVq5Occ/HiRb3/v0mPZn2dZ555Jsk5JuDp2rWrtT137lz99ttv6eozAAAAACAyffSRdOlSwn6OHFKXLsHsEfwpYsOdQDGjbpxMwJPYvHnzdPz4cWu7Y8eO1oggb9wXef76668zpa8AAAAAgPBz9qz08ceebR07SvnyBatH8DfCnUx2/vz5hJvtJbhZuHCha7tevXrJfk716tWVM2dOa3vRokV+7ycAAAAAIDxNmiT9/XfSKVkIHxG75k6gzJ8/37V9nZf6chs3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DRs6Xtu3S8uXU/4ckYVwBwAAAAAQNsqXd7yASMK0LAAAAAAAABsj3AEAAAAAALAxwh0/uXDhgkaPHq177rlHxYoVU1xcnHLlyqWKFSuqS5cuWrZsmU+f88MPP6h169YqWbKk9Rnm3eybdgAAAAAAgMQId/xgz549ql69urp166Yff/xRBw4csMKe06dPa8uWLRo7dqxq1aqlp59+WleuXPH6Gaa9R48eatKkiaZNm6Z9+/ZZn2Hezb5pN8eTux4AAAAAIsnhw1KDBtKUKdLFi8HuDRBchDsZFB8fr2bNmmndunXW/o033qhx48Zp6dKlmj17tl566SXlzJnTOvbuu+9qyJAhXj/nhRde0MiRI63tqlWrauLEiVqxYoX1bvYNc/zFF1/MaJcBAAAAwPY++USaO1e6/36pbFkpmV+1gIjg12pZt9xyi6KiojR16lSVNf/r+p/du3db7yVKlFCWLFkUTr755htXsGNG5yxcuNDjZ2zUqJFatGhhHbt48aLeeustPfXUU4qJSbj127Zt0+DBg61tMwJowYIFyp49u7Vfo0YN6/p69epp5cqVGjRokDp37qzyLP8OAAAAIEKZkToffpiwv2+f9L9fy4CI5NeRO6tXr7ZeZ8+e9WgvU6aMypUrp82bNyvcLF682LX973//22t4Va1aNTVv3tzaPnbsmDZt2uRx3IzoMSOAjGHDhrmCHaccOXJY7YY577333suUnwUAAAAA7GDaNEeg465Pn2D1BgizcMeM2jEuX76c5Fi4rhVj1sVxMgFWctxH2pw/f97jvpjRP8Z1112nmjVrer3etJvFmY3p06eH7f0EAAAAgNT879++XW6/3fyjOvcNkcuv4U7evHldCwxHimuvvda1vWPHjmTP2759uysAu+aaa1ztO3futBZNNszUq5Q4j+/du1e7du3KcN8BAAAAwG5+/11atMizjVE7iHR+XXOnSpUqWrRokd544w1rzR0TYrhPU3KO7AknDzzwgLXI8T///GOth9O0adMkU7NWrVqlWbNmWdvt27dXnjx5XMc2btzo2jYjd1Liftxc576uUUpMGOSLggULyi4ST/1ztnlrB+zg3LlzXrcBO+J5RrjhmUY4CYfn+d13s3r8Klus2BU1aXJO/CoQeez8PGdPtBxLSIU7phS4WVB42bJluv766z2OmWlEN9xwQ5o/0wRCzvVo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rENj1t9JyytUnT592no31bKyZMlihTg9evRQ4cKFFRcXZ5U1nzlzppo0aWKdt2TJEquiljv3dDG5alpO5jOdGKECAAAAIFCiohwvAKEpICN3RowYoa+++so1haljx4668cYbrZEu7qNY7CZbtmyugMeMyvFW6cr8fG+//bYV/BhmUel//etfHp/hdOHChRS/z4RI6RnC5esULjtNyzp8+HCStvr161vBGmBHJuh1/muDmYrq/t8GwG54nhFueKYRTnieEU54ngMc7owaNcp6N+GHKR3u77llwZI7d25XuOMcnePN9ddfrxIlSlhVsX799dckn+HrVCvnd/kyhctdamv52JG3Z8i0hcuzhchmgh2eZYQLnmeEG55phBOeZ4STbBH+d+iADJvZtm2btXbOv//977C62e5r2fi6GPKhQ4c82t2vS23hY/cROL6uowMAAAAAvvr9d+ngQe4XYDcBCXecCwGHWyBhRuQ4Xbp0KcVzncdjYjwHS1WuXNm1bRZmTon7cVN6HQAAAAD8xSx32qmT+b1NevhhKdGkAwCRHu6YKlnGn3/+qXDiXqJ9+/btKZ67Y8cO691Mz3JXtmxZV3n0+fPnp/gZzvU4zGeYtYsAAAAAwF/MryPr1kkXL0pffCHdequ0cCH3F7CDgIQ7jz32mFX1avTo0QonLVq0sEq8G4mrYLkzoY2pEmbccccdHsfMdDVnCTQzMmfZsmVeP8O0O0fumPPNdQAAAADgL0OHeu5fc41Uuzb3F7CDgIQ7rVu3tgIeUxa8X79+qU5hsgtTXapbt27W9k8//aRJkyYlOefkyZPq27eva9+USk/MHHdO1+rdu3eSMudm37Qb5jz3zwMAAACAjNq1S/rmG8828yuIjYsbAxElINWyPvvsM6tS1qpVq/Tuu+9q6tSpVuBz7bXXKkeOHKle/8gjjyhUvfrqq5o1a5Z2796thx9+WIsXL7Z+tjx58mjdunUaNGiQa8RNz549VaNGjSSfYe6DCb0GDhyolStXqnbt2nruuedUvnx5a7qX+Qxz74z+/fvrGhOhAwAAAICffPihdPlywr4pztuxI7cXsIuAhDudOnXymEZkqj69//77Pl1rrgvlcKdw4cL64YcfrClapirY8OHDrVdiXbp0SfFnHjBggFVJa8yYMVaQ0759+yTndO3aVW+88YbffwYAAAAAkevMGWnU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", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 454, "width": 571 } }, "output_type": "display_data" } ], "source": [ "fig, ax = pyplot.subplots()\n", "\n", "ax.plot([0, 1, 2, 3, 4, 5],\n", " [numpy.exp(t) for t in [0, 1, 2, 3, 4, 5]],\n", " \"b--\")\n", "ax.grid()\n", "ax.set_title(\"Figure 1.4.11.1\")\n", "ax.set_xlabel(\"Time\")\n", "ax.set_ylabel(\"Number of cases\")\n", "pyplot.hlines(0, 0, 5, color='black')\n", "pyplot.vlines(0, 0, 150, color='black')\n", "pyplot.gca().spines['top'].set_visible(False)\n", "pyplot.gca().spines['right'].set_visible(False)\n", "pyplot.gca().spines['bottom'].set_visible(False)\n", "pyplot.gca().spines['left'].set_visible(False);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will learn more about exponents in later chapters." ] }, { "cell_type": "markdown", "id": "e867a661-9fc2-4c01-9616-b301a2723644", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### 1.4.12 Order of arithmetic operations" ] }, { "cell_type": "markdown", "id": "8b77a317-0290-48f0-8adf-0391dc9e2bd3", "metadata": {}, "source": [ "We will commonly use the following order of arithmetic operations, expressed using the acronymn PEMDAS.\n", "\n", "1. __P__ arentheses\n", "2. __E__ xponents (powers and roots)\n", "3. __M__ ultiplication and __D__ ivision\n", "4. __A__ ddition and __S__ ubtraction" ] }, { "cell_type": "markdown", "id": "c9d412d4", "metadata": {}, "source": [ "We start by calculating $3+2 \\times 4$, which is $3 + (2 \\times 4) = 3 + 8 = 11$." ] }, { "cell_type": "code", "execution_count": 80, "id": "1a7a4740-696d-44d3-893c-9e95ba2c3d65", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAK5JREFUeJztlKEKAkEQhr9brJrNF8Smb2C0GoyC2SgYD4Z5GJ/D4HsIgtFoX1nYk7tFPGdB030wsDP8P/9OmcJ7zz8YNBtVXQMLYA7MgCFwFJHNO7Ma9K0goIqGB3ADph0frb7Vu6TfAxNgBOw6Qkz61kYicqrfqvrJZ9anG/0M1wfl4rKdRvqgbIrmUVXVFRAqMAaWwAU4x9ldRA45+vTWheO4TWZlrMAVeAVZ9E+qijFfqvTnogAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 11$" ], "text/plain": [ "11" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Expression with addition and multiplication\n", "3 + 2 * 4" ] }, { "cell_type": "markdown", "id": "5a132b1c", "metadata": {}, "source": [ "We can use parenthesis to first add $3+2$ and then multiply by $4$. This is $(3+2) \\times 4 = 5 \\times 4 = 20$." ] }, { "cell_type": "code", "execution_count": 81, "id": "ff5aee81-a966-4f63-99d6-26ce7fcaaac1", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAeNJREFUeJy91EuIjmEUB/DfYEWMUrNh4RI27BSxQkmUQpbITskgC6V0OkpZuWdDkaVSLIjZyMK1lCLXaHYklyQpt9FTz6d3Zr6PUXLq7bzvec9z/uc5l3/XwMCA/yFjWi+ZOQmrsRJzMRlfcB+nyhMRP4YGyMwp2IvlKDFe4nz5FRHvW36jGmfW4QTm4zYO4Rzm4CTOZmbXEJAZuItNuIODeIFtuFmTH3wjPMUqXGxmnpm7a5C1WFPBW3IcPeiNiKMtY2YewA7sw+Zi6xpJjypYOXQsIrZW23Q8Rz9mDElufC1hqUBPRHxqlu538rXqbw3bkqr7hvYuIj7iOsZiQbH9ESgzS3k31M/LjV+zGyVvJ8+qnjUiIOyvA3EpIq407N1Vf+hwrmWf+EegzOzFTjzGen8nXVUP/BYoM7fgMB5icUS865Bxd4cQE5p+bYEyc3uZMDyoIK/auD1p9qCNzGz2cBhQZu6qi3evgrzuEOhq1csyc1CcOt6L8Bm3hgFl5p7a/LLtSyPiTQcQEVF2qA9TUco8KBTG4UzZoUELm5kbcRrfcbTDNPVHRPFRzxQKulHZ4QIeVQpbXEu2MCLeFt8mBU2rejRKj9rJtZrMr1tl5rwGqa6ojHCkkuqvARoRBf0L+Qn83qSsKgQqIgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 20$" ], "text/plain": [ "20" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Using parenthesis to change the order of operations (addition before multiplication)\n", "(3 + 2) * 4" ] }, { "cell_type": "markdown", "id": "566c6637", "metadata": {}, "source": [ "In the examples below, we simplificy the indicated expressions, where the symbol $\\cdot$ indicates multiplication." ] }, { "cell_type": "markdown", "id": "73000764", "metadata": {}, "source": [ "__Problem 1.4.12.1__ Calculate the expression in __Equation 1.4.12.1__." ] }, { "cell_type": "markdown", "id": "98722c58", "metadata": {}, "source": [ "$$\\left( 3 \\cdot 2 \\right)^{2} - 4 (6+2) \\tag{Equation 1.4.12.1}$$" ] }, { "cell_type": "code", "execution_count": 82, "id": "ab2df1fc", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAMNJREFUeJyd0j8uRAEQx/HPEwdwAQdQUqhU7qFQaB1Awvh1GsVGoyASbiKSPQOlXjREVE9WnhWy+97yq2Yy851/maZtW3/Vcl8wyQ6uO3evqi4mxlIPsIozvPyOzYSSNLjCE84XgrCPbezidRBKsoYTjKrqdlbFH1CSyWFu8IiDRa93hHVsVdXbPGjaKclmV/20qsbzgCmU77EecGhAzeQjkqzgeSi50+hrp3dczkna6Pa8wz3Gn536lOQYtdAb9elf0AczUzfMenPwmwAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 4$" ], "text/plain": [ "4" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(3 * 2)**2 - 4 * (6 + 2)" ] }, { "cell_type": "markdown", "id": "c622cdc9", "metadata": {}, "source": [ "__Problem 1.4.12.2__ Calculate the expression in __Equation 1.4.12.2__." ] }, { "cell_type": "markdown", "id": "80e95b03", "metadata": {}, "source": [ "$$\\frac{5^{2} - 4}{7} - \\sqrt{11-2} \\tag{1.4.12.2}$$" ] }, { "cell_type": "code", "execution_count": 83, "id": "fbbdb2b1", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAQCAYAAACYwhZnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAWpJREFUeJzFlbtKQ0EQhr8ctFE0gmAleAleHkC8YKWB4EvYi4IglhbDCLYWEa3FJ9BWECvFN9Aogp2ViEiw88jCGvYsOZ7dIGSagd2Zj39n2JlSmqZ023r8A1UdBfaBNWAYeAXOzZWIvMfAQ1kltxKqWgFugRHgAngA5oEVoAEsi8hboIBgll+JE5u0LSJHDvAQ2AEOgI3AQgSzEudyEqgBL8CxBxSgCayran9AFaJYLRHAqvWXIvKdyRL5BG6APmAxoApRLFfEjPWPOeAn66cDRESxXBFl6z9yEn/PhwJERLFcEUVWsv4/BkuGlbRRV85JHPTi/rIoliuiUdDzqYI+0ynLFXFtfU1VM21S1QEzXIAv4C5ARBSrFSAiz+ZLAePAlgdVwPzpMxFpOsCKqs6qaq8bHMvyJ+amHbV1Va0C98CCHbWmdHte/BUwBkzYwdQRK2nzgjng1CbsAmYH1IGl0L0Ry8ossG7ZD4QanbsIdTiUAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle 0.0$" ], "text/plain": [ "np.float64(0.0)" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "((5**2 - 4) / 7) - numpy.sqrt(11 - 2)" ] }, { "cell_type": "markdown", "id": "a345bd91", "metadata": {}, "source": [ "__Problem 1.4.12.3__ Calculate the expression in __Equation 1.4.12.3__." ] }, { "cell_type": "markdown", "id": "83ea4d64", "metadata": {}, "source": [ "$$6 - \\lvert 5 - 8 \\rvert + 3(4 - 1) \\tag{1.4.12.3}$$" ] }, { "cell_type": "code", "execution_count": 84, "id": "2294e2e6", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAV9JREFUeJy91M2rjkEYx/HPg62VjbJiTewskYWFktedlz/AS0Qp0dVvoewQO4qNjbIkVpKVU6cUSZIoSjopW2+Pbs2px+M+x+I8x6+uppn7N/O9Zq65ZzAcDv0PLRvtJNmLTdiA9ViOW1W1f3xikhXYhe1Yh1X4ime40UVV/Zz1LxmbfxZHGujDP5Lch2vYiCe4hDtYi+u4nWTQuyOcwHu8bjt7OA/oFXbg7mjmSc5gCnuwu8EN5qpRks0N1Ht086nBzuNqVR3tO7pJ6Vtrv88OTByUpCvHwda9v2ggXGgX4l5VPVgUUJJjOImXODD6bWKgJIdxGS+wpao+TxyU5Hh3w/C8QT6OexYMSnIaF/G0QT71+RYESnKuFX8aW6tqZi7vHz9skp3ootNKbMMbPG5jM1V1qnkP4SZ+4Aq+9Kz/tqo6z19PUPfGdQuMak2LTu/wG4TVrV2KrkZ9etSS8QsVzWrHnRSXOgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 12$" ], "text/plain": [ "12" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "6 - abs(5 - 8) + 3 * (4 - 1)" ] }, { "cell_type": "markdown", "id": "2af81de6", "metadata": {}, "source": [ "Homework 1.4.12.1 Calculate the expression in Equation 1.4.12.4." ] }, { "cell_type": "markdown", "id": "5b5bb7a1", "metadata": {}, "source": [ "$$\n", "\\frac{4\\pi - \\lvert 1 - \\sqrt{2} \\rvert}{27 \\times 3 - 1}\n", "\\tag{Equation 1.4.12.4}\n", "$$" ] }, { "cell_type": "markdown", "id": "f1ca36ca", "metadata": {}, "source": [ "## 1.5 Properties of real numbers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are many useful properties of real numbers. We will explore some of these properties in this section." ] }, { "cell_type": "markdown", "id": "1c70a1d0", "metadata": {}, "source": [ "__Definition 1.5.1__ The __commutative property of addition__ states that the order of the numbers does not matter. We have that $a+b=b+a$ for two real numbers $a$ and $b$" ] }, { "cell_type": "markdown", "id": "e3d5fbc0", "metadata": {}, "source": [ "We use the comparison operator `==` to test if two numbers are equal. The output is a boolean value, either `True` or `False`." ] }, { "cell_type": "markdown", "id": "670534e1", "metadata": {}, "source": [ "__Problem 1.5.1__ Determine if $3+4=4+3$." ] }, { "cell_type": "code", "execution_count": 85, "id": "82f68eab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 3 + 4 = 4 + 3\n", "3 + 4 == 4 + 3" ] }, { "cell_type": "markdown", "id": "853b78b5", "metadata": {}, "source": [ "The result is the boolean value `True`, which indicates that indeed $3+4=4+3$." ] }, { "cell_type": "markdown", "id": "8eb7e9fe", "metadata": {}, "source": [ "__Definition 1.5.2__ The __commutative property of multiplication__ states that the order of the numbers does not matter. We have that $a \\cdot b = b \\cdot a$ for two real numbers $a$ and $b$." ] }, { "cell_type": "markdown", "id": "eb9e81c9", "metadata": {}, "source": [ "__Problem 1.5.2__ Determine if $3 \\times 4 = 4 \\times 3$." ] }, { "cell_type": "code", "execution_count": 86, "id": "9ace59bd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 3 x 4 = 4 x 3\n", "3 * 4 == 4 * 3" ] }, { "cell_type": "markdown", "id": "566f75df", "metadata": {}, "source": [ "Neither subtraction nor division is commutative. The `!=` comparison operator tests if two numbers are not equal." ] }, { "cell_type": "markdown", "id": "02dfa4c9", "metadata": {}, "source": [ "__Problem 1.5.3__ Determine if $3-4=4-3$." ] }, { "cell_type": "code", "execution_count": 87, "id": "33b6b9a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 3 - 4 is not equal to 4 - 3\n", "3 - 4 != 4 - 3" ] }, { "cell_type": "markdown", "id": "81d91652", "metadata": {}, "source": [ "By using the _is equal to_ `==` comparison operator, we see that $3-4 \\neq 4-3$, by considering that the result is `False`. The $\\neq$ symbol means that the tow sides are not equal to each other." ] }, { "cell_type": "code", "execution_count": 88, "id": "008a7f17", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Alternative way to show that 3 - 4 is not equal to 4 - 3\n", "3 - 4 == 4 - 3" ] }, { "cell_type": "markdown", "id": "ae084221", "metadata": {}, "source": [ "__Problem 1.5.4__ Determine if $10 \\div 5 = 5 \\div 10$." ] }, { "cell_type": "markdown", "id": "49758550", "metadata": {}, "source": [ "We use the `/` symbol for division and consider the cases using `!=` and `==`." ] }, { "cell_type": "code", "execution_count": 89, "id": "90428cd6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 10 divided by 5 is not equal to 5 divided by 10\n", "10 / 5 != 5 / 10" ] }, { "cell_type": "code", "execution_count": 90, "id": "e8d3c593", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Alternative way to show that 10 divided by 5 is not equal to 5 divided by 10\n", "10 / 5 == 5 / 10" ] }, { "cell_type": "markdown", "id": "abb98f6d", "metadata": {}, "source": [ "__Definition 1.5.3__ The __associative property of addition__ holds such that $a + (b + c) = (a + b) + c$, for three real numbers $a,b,c$." ] }, { "cell_type": "markdown", "id": "a26649d1", "metadata": {}, "source": [ "__Problem 1.5.5__ Determine if $3 + (4 + 5) = (3 + 4) + 5$." ] }, { "cell_type": "code", "execution_count": 91, "id": "10c50681", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that (3 + 4) + 5 is equal to 3 + (4 + 5)\n", "(3 + 4) + 5 == 3 + (4 + 5)" ] }, { "cell_type": "markdown", "id": "630ad94f", "metadata": {}, "source": [ "__Definition 1.5.4__ The __associative property of multiplication__ holds such that $a \\cdot (b \\cdot c) = (a \\cdot b) \\cdot c$, for three real numbers $a,b,c$." ] }, { "cell_type": "markdown", "id": "ea686654", "metadata": {}, "source": [ "__Problem 1.5.6__ Determine if $\\left( 3 \\times 4 \\right) \\times 5 = 3 \\times \\left( 4 \\times 5 \\right)$." ] }, { "cell_type": "code", "execution_count": 92, "id": "070de0b8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that (3 x 4) x 5 is equal to 3 x (4 x 6)\n", "(3 * 4) * 5 == 3 * (4 * 5)" ] }, { "cell_type": "markdown", "id": "b6e840a0", "metadata": {}, "source": [ "Associativity does not hold for subtraction or division. We see an example of subtraction below, where the `==` logical operator tests if two numbers are equal and returns a value of `False` when comparing $(10-3)-2$ and $10 - (3 - 2)$." ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that (10 - 3) - 2 is not equal to 10 - (3 - 2)\n", "(10 - 3) - 2 == 10 - (3 - 2)" ] }, { "cell_type": "markdown", "id": "74674cf0", "metadata": {}, "source": [ "__Definition 1.5.5__ The __distributive property__ holds such that $a(b + c) = ab + ac$, for three real numbers $a,b,c$. That is to say that multiplication distributes over addition. The distributive property also holds for subtraction. It does, however, not hold for division, nor for addition or subtraction over multiplication." ] }, { "cell_type": "markdown", "id": "487703d4", "metadata": {}, "source": [ "__Problem 1.5.7__ Determine if $3 \\left( 2 + 7 \\right) = \\left( 3 \\times 2 \\right) + \\left() 3 \\times 7 \\right)$." ] }, { "cell_type": "code", "execution_count": 94, "id": "c6ad59b2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 3(2 + 7) is equal to 3 x 2 + 3 x 7\n", "3 * (2 + 7) == 3 * 2 + 3 * 7" ] }, { "cell_type": "markdown", "id": "6340de00", "metadata": {}, "source": [ "There is a special case of distributivity that holds for subtraction. We have that $a - (b + c) = a - b - c$, for three real numbers $a,b$ and $c$." ] }, { "cell_type": "markdown", "id": "728b7110", "metadata": {}, "source": [ "__Problem 1.5.8__ Determine if $3 - \\left( 2 + 1 \\right) = 3 - 2 - 1$." ] }, { "cell_type": "code", "execution_count": 95, "id": "a723524f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 3 - (2 + 1) is equal to 3 - 2 - 1\n", "3 - (2 + 1) == 3 - 2 - 1" ] }, { "cell_type": "markdown", "id": "544c36b7", "metadata": {}, "source": [ "__Definition 1.5.6__ The number $0$ is the __additive identity__ of real numbers. We have that $a + 0 = a$ for any real number $a$." ] }, { "cell_type": "markdown", "id": "8a3e20a6", "metadata": {}, "source": [ "__Problem 1.5.9__ Determine if $5 + 0 = 5$." ] }, { "cell_type": "code", "execution_count": 96, "id": "d43c18ce", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show to 5 + 0 = 5\n", "5 + 0 == 5" ] }, { "cell_type": "markdown", "id": "c265031b", "metadata": {}, "source": [ "__Definition 1.5.7__ The number $1$ is the __multiplicative identity__ of real numbers. We have that $a \\cdot 1 = a$ for any real number $a$." ] }, { "cell_type": "markdown", "id": "0d4dbdfa", "metadata": {}, "source": [ "__Problem 1.5.10__ Determine if $5 \\times 1 = 5$." ] }, { "cell_type": "code", "execution_count": 97, "id": "8a787178", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 5 x 1 i s equal to 5\n", "5 * 1 == 5" ] }, { "cell_type": "markdown", "id": "c533bff1", "metadata": {}, "source": [ "__Definition 1.5.8__ The __additive inverse__ of a real number $a$ is the number $-a$ such that $a + (-a) = 0$." ] }, { "cell_type": "markdown", "id": "6a2deb62", "metadata": {}, "source": [ "__Problem 1.5.11__ Determine if $5 + \\left( -5 \\right) = 0$." ] }, { "cell_type": "code", "execution_count": 98, "id": "dad94fe9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 5 + (-5) is equal to 0\n", "5 + (-5) == 0" ] }, { "cell_type": "markdown", "id": "b72208fe", "metadata": {}, "source": [ "__Problem 1.5.12__ Show that $3$ is the additive inverse of $-3$." ] }, { "cell_type": "markdown", "id": "006a6079", "metadata": {}, "source": [ "If $3$ is the additiive inverse of $-3$ then $3 + \\left( -3 \\right)$ should be equal to $0$." ] }, { "cell_type": "code", "execution_count": 99, "id": "e95c3964", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 3 is the additive inverse of -3\n", "(-3) + 3 == 0" ] }, { "cell_type": "markdown", "id": "0e9c923b", "metadata": {}, "source": [ "Since the additive inverse of any number $a$ is $-a$ we have that the additive inverse of $-3$ is $- \\left( -3 \\right)$, which is $3$." ] }, { "cell_type": "markdown", "id": "304fdebd", "metadata": {}, "source": [ "__Definition 1.5.9__ The __multiplicative inverse__ of a real number $a$ is the number $\\frac{1}{a}$ such that $a \\cdot \\frac{1}{a} = 1$ and $a \\ne 0$." ] }, { "cell_type": "markdown", "id": "920aa9ba", "metadata": {}, "source": [ "__Problem 1.5.13__ Show that $\\frac{1}{5}$ is the multiplicative inverse of $5$." ] }, { "cell_type": "code", "execution_count": 100, "id": "558ca8bf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show that 5 x (1/5) is equal to 1\n", "5 * (1/5) == 1" ] }, { "cell_type": "markdown", "id": "a0196442", "metadata": {}, "source": [ "## 1.6 The uses of division" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In health data science we often have to consider values that are fractions. Fractions involve division, which we also commonly use in ratios." ] }, { "cell_type": "markdown", "id": "751e805b", "metadata": {}, "source": [ "### 1.6.1 Fractions" ] }, { "cell_type": "markdown", "id": "44af3bea", "metadata": {}, "source": [ "__Definition 1.6.1.1__ A __fraction__ is a part of a whole and is calculated using division." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see a fraction in __Equation 1.6.1.1__, where $a$ and $b$ are integers and we always have that $b \\ne 0$. We also omit the case where $a=b$, which is simply $1$. We also remember that if $a=0$, we have that our fraction is $0$." ] }, { "cell_type": "markdown", "id": "e02c456f", "metadata": {}, "source": [ "$$\n", "\\text{Fraction: } \\frac{a}{b}, \\text{ where } b \\ne 0\n", "\\tag{Equation 1.6.1.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "fd1bebfd", "metadata": {}, "source": [ "It is important to understand the basics of fractions. The basics include the _mechanics_ of the parts of a fraction and the comparison of different fractions." ] }, { "cell_type": "markdown", "id": "644f80a4", "metadata": {}, "source": [ "We have seen that a fraction has a numerator and a denominator. A fraction describes a count of parts of a whole. By parts of the whole, we are referring to the denominator. The numerator describes how many of those parts we count." ] }, { "cell_type": "markdown", "id": "788e53da", "metadata": {}, "source": [ "Consider any shape, such as a square or a circle. We can divide a shape into equal parts. That would be $b$ equal parts. If $b=2$ then we have divided the shape into halves. If $b=4$, then we have divided the shape into $4$ equally sized parts called quarters. This is the value of the denominator." ] }, { "cell_type": "markdown", "id": "197123d2", "metadata": {}, "source": [ "The numerator, $a$, counts the number of $b$-parts of the whole. In __Figure 1.6.1.1__, we have divided the whole (of a circle) into $b=4$ equal parts (the denominator) and we consider $a=3$ of those $b=4$ parts (the numerator)." ] }, { "cell_type": "code", "execution_count": 101, "id": "0a798bd3", "metadata": {}, "outputs": [ { "data": { "image/png": "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hhIxexhat27NsaoINcICQhsU7r//fr3++uvRU48+ZkYBABCAGYbRMZuezSlJl19+OYXbEFqEBYSSqcr88ssvR4PCB5Laue4UAACS6nnHqhaLqcNw5ZVXas+ePYwPQoewgNB58cUX9fzzz0evzflHNzntEQAAB56SNCKmcJup9NyhQwd7KAcQJoQFhMonn3yiBx98MHptditQRwEAENQ6DF9LKuhd9+vXTw888IBdSguEBWEBoTFixAj7qkzE05LuctojAAAOXel5YMwNl1lCa2bIgbAgLCAUpkyZoquuukr79u2z1/+S9KjrTgEAkAmtJb0dc921a1d9/LE5lgMIPsICAm/u3Lm2uM2OHTvs9VWSXvU2NgMAEAa3SXom5trMlJt9DEDQERYQaMuXL1fTpk21fv16e32+pL5e8TUAAMLkEUmdvHZKSoquvvpqTZ482XGvgIMjLCCwNm3apGbNmmnp0qXRYjdfSCrgumMAABwGMyP+iqRrvGszY25mzufMmcN4IrAICwiknTt32qqXv/32m72u7B1BF6mKCQBAGJmZcbNb4QLvesOGDbrkkkv0119/Oe4Z4I+wgMAxm5ivv/56jRs3zl6X8aphlnPdMQAAskEBb6b8LO962bJldiZ948aNjC8Ch7CAQDFnT3fs2FFDhgyx10W9GYWTXHcMAIBsVNyrwVDFu549e7adUTcz60CQEBYQKE899ZTeffdd284n6XNJtV13CgCAHGBmzEdJKutdjx8/3s6sU+UZQUJYQGAMHjxYTz75ZPTarOm82GmPAADIWSd5M+hmJt0wM+uPP/44w47AyJVKzXEEwC+//KJGjRpFayn0lPSA604BSaaepKleO9VxX4Bk842kZpL2e9f9+/fXdddd57hXADMLCIA1a9bosssuiwaF9pLud90pAADiyMykv5SuaNv06dP5GsA5liHBqT179ujKK6+M1lI4W9LbVGcGACShe01I8Npmo/Pll1+uVatWOe4Vkh1hAc6YFXCdOnWyG7qM8t5RcgX5mgAAkrRoWy9JDb1rU3uhTZs22r17t+OeIZkRFuBMr169oicfmTOnzWGpx/L1AAAkMfP/4WeSjveuJ02apLvvvtu+wAa4QFiAE9999506d+4cve4jqS5fCwAA7JGqX0oq5I3FBx98oNdee42RgROchoS4W7hwoerWrWtL3BtdJT3P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JqlKlSquuweEBmEByAKzxrVHjx7q169ftIDbLEl1JH3CSAJAIEyfPl1XXXWVfvzxx+hzjz76qL744gsVK1bMad+AsMmVauboAGSZKeJz7bXX6vfff48+d5O3l6Eo44kQMt+3282rSLlza+bMma67AxzWsajmJDuzcTkym2BOOfr444/VrFkzRhQ4DMwsAIfptNNOsxufO3ToEH3uI0l1vdkGAED8rFu3TnfddZdef/31aFA477zz9MsvvxAUgCNAWACOQJEiReyrWGZZUtGif88n/OEdr9qb05IAIC7MPgSz7MgcRCFvduzJJ5/UmDFjVL58eb4KwBFgGRKQTebPn2+XJc2YMSP63NWS3jWboxllhADLkBA2+/btU69evfTee+/Zk4+MY489Vp9++qmdVQBw5JhZALLxeFXz6pY5fSNisKSzJE1llAEgW61atUq33nqr3n333WhQMPsSzLIjggKQfQgLQDYqUKCAXnvtNX3++efRqs+mBFAjSS+xLAkAssXYsWN19dVX6+eff46eVPf8889r+PDhKlu2LKMMZCOWIQE5ZPHixbZiaGQNrbzKz6Y2w/GMOgKIZUgIuu3bt+ull17SoEGDos9VqFBB/fv3V8OGDZ32DUhUzCwAOaRSpUr21a+uXbtGnxtlqodKep9ZBgDIkilTpqhNmzZpgsLll19u94kRFICcw8wCEAcjR460a2tXrFgRfa6Zt/mZWQYEBTMLCKIdO3bY2YSBAwdGnytcuLB69uypu+++W7ly5XLaPyDRMbMAxIHZdGeKuN10kynb9reRzDIAwEGZWjZmNiE2KJx77rn69ddf1bFjR4ICEAeEBSBOSpUqpQ8//FDDhg2Lnvu9RdKtkppL+ouvBABEZxOeeeYZOyO7fPny6GyCKbj23XffqUqVKowUECeEBSDOWrRowSwDAGRg6tSpB8wmnHPOOZo1a5Y6depkC64BiB9+4gAHmGUAgANnE5599ll16NAhzWyCOY76+++/14knnsiQAQ4QFgCHmGUAgH9mEwYMGBAdjiZNmtjZBFPoktkEwB3CAhDgWYamkua67iAA5JANGzboiSeeSDObUKhQIb366qv64YcfmE0AAoCwAAR4lmGMpNMlPSRpm9PeAUD2SUlJsbMILVu21BdffBF9vnHjxnY24d5772U2AQgIwgIQ0FkGU5XU2CvpeUknSzKliFJddxIAjsDMmTNtdXuzP2Hr1q32ueLFi9u9CT/++KNOOukkxhcIEIqyAQHe7Pfcc8/ZwkN79uyJPn+hpNe98ABkJ4qyIaeXHL3yyitpZhKMG2+8US+88ILKlSvHFwAIIMICEHDz589X586dNWLEiOhzeSXdJ+kJScWc9g6JhLCAnFpyNHjwYDtzEJlJMM444wy9+eabdukRgOBiGRIQcFWrVtXw4cM1ZMgQVapUyT63T9KLkmpIMmeHsDQJQBD98ssvGS45mj59OkEBCAFmFoAQ2blzp3r06KHnn39eu3fvjj5/vrc06VSnvUPYMbOA7LJ+/Xq75Mi8yBHLHOBgfn8dc8wxDDYQEoQFIIQWLFig++67z26Ejsgj6V5Jj0kq7bR3CCvCAo6U2V81aNAg9erVK82SozPPPNMuOWrUqBGDDIQMYQEIsaFDh9r9DIsWLYo+V0JSN0mdTfVTp71D2BAWcCT7Er7++msbCCL1EowSJUro6aef1t133628ec1uKwBhQ1gAEmBpkjlJxCxP2rVrV/T5YyX9R1IHSfmc9hBhQVhAVqWmpmrcuHF2yZE5jCFW+/bt7e8mlhwB4UZYABLE0qVL9eSTT+qjjz7S/v37o89XlfSMpKs40QCHQFhAVjcvv/zyy/r555/TPN+0aVN1795dtWrVYkCBBEBYABLM7Nmz9dhjjx2wsbC2pB6SLnLWMwQdYQGZ3TP16quv6vvvv0/zfN26de0M5wUXXMBAAgmEsAAkqEmTJumhhx7S2LFj0zx/oRca6jjrGYKKsICDWblypd2TYPZKxc5eVqtWzRaQbNOmjXLlysUgAgmGsAAk+HrikSNH6uGHH9bMmTPTvO9qb3lSNWe9Q9AQFuBn06ZNevfddzVgwIA01eTLly9vlz7ecsstbF4GEhhhAUgC5lVA8x+9WZ4Ue3KSOW71Zu/0JLO3AcmNsIBYGzduVL9+/exj27Zt0edLlixpZy3vueceFS7MmWtAoiMsAEnEvCr4zjvv2KMM16xZk6aUu9kA/ZCks5z2EC4RFmCsWrXKHpTw2Wef2dPWIgoWLGiPau7WrZtKlSrFYAFJgrAAJCHzKqE56rBnz57asmVLmvc1k/SwpCbmF4SzHsIFwkJyM7OO77//vi32uG/fvujzpj6CWWr0n//8R8cdd5zTPgKIP8ICkMQ2b96st956yx5/GDvTYDT0QkMLQkPSICwk7wlqffr00ZgxY+w+p4hChQrp9ttv1/33368KFSo47SMAdwgLAOxSgw8++MAWUFqyZEmaETndW550jXmFkbFKaISF5GFCwbRp0/Tee+9p4sSJad5n9iR06tRJ9957r8qUKeOsjwCCgbAAIGrv3r12I7Q5K/33339PMzJVJD3obYguyJglJMJCchx28OOPP9qQMGvWrDTvK1eunLp06aI777xTxYsXd9ZHAMFCWADge0Nh1i2bKqyTJ09O875yku6VdJskXnNMLISFxLVr1y57jLLZuPznn3+meV/lypXVtWtX3XzzzXYTMwDEIiwAOOhSBfMqpAkNo0ePTvO+/F6thn9Jqs++hoRAWEg8K1as0MCBA/X555/begmxTj/9dHsE6jXXXEOdBAAZIiwAyJTp06fb5UnmOMXYTZBGTUkdJV0vqQjjGVqEhcRgfj5/+uknffrpp/rhhx/SVFs2GjRooEceeUQtWrSg4jKAQyIsAMiSBQsW6O2337anp2zYsCHN+4p7exrullSDcQ0dwkK4mWOQzfLBQYMG2Z/TWPny5dPVV19tC6mdffbZhAQAmUZYAHDYJygNHjxYvXr10pQpUw54/wXebENrc6PCGIcCYSGcswi//fab/VkcMWKE3ZsQ69hjj9Vdd92lO+64w25gBoCsIiwAyJYlSqZeg1n2EFvx1Sgv6Q5Jt3ttBBdhITy2b9+ur7/+2oaEOXPmHPD+Ro0a2VmENm3a2FkFADhchAUA2Wbjxo32tBUz2zB//vw078sj6WJJ7SRd7t2YIlgIC8Fmqiqb08mGDx+ub7/99oBgbo47vfHGG+3Rp2bzMgBkB8ICgGxnNlR+9913NjR8+eWXB2ywLOwFhhu8AEGxt2AgLARzmZGpsGz2IphlRun3CRl169a1AeG6665TkSIcMQAgexEWAOSoZcuW6d1339XHH398QHVoo6yka73gUJcjWJ0iLATr58YEBLPUaPHixQe831RZNkeemr0ItWvXdtJHAMmBsAAgLszswsSJE9WvXz977rtZspReVW+ZknmcxNcl7ggLbplZg1GjRtmQkL66spE/f361atVK7dq1U/PmzVWgQAEn/QSQXAgLAOJuz549dklF3759NXToUO3evfuAjznbm20whd+O4WsUF4SF+NuxY4ethWD2IZgwbfYlpHfeeefphhtu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", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 410, "width": 389 } }, "output_type": "display_data" } ], "source": [ "pyplot.pie(\n", " [1, 1, 1, 1],\n", " colors=['red', 'red', 'red', 'lightgray'],\n", " wedgeprops={\"edgecolor\":\"k\",'linewidth': 1}\n", ")\n", "pyplot.title('Figure 1.6.1.1')\n", "pyplot.show()" ] }, { "cell_type": "markdown", "id": "ad70a428", "metadata": {}, "source": [ "In __Figure 1.6.1.2__, we visualize the difference between three eights and seven eights, seen in __Equation 1.6.1.2__. We keep $b=8$ fixed and compare $a=3$ to $a=7$." ] }, { "cell_type": "markdown", "id": "714d2560", "metadata": {}, "source": [ "$$\n", "\\frac{3}{8} < \\frac{7}{8}\n", "\\tag{Equation 1.6.1.2}\n", "$$" ] }, { "cell_type": "code", "execution_count": 102, "id": "16391d9c", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 266, "width": 515 } }, "output_type": "display_data" } ], "source": [ "fig, ax = pyplot.subplots(1, 2)\n", "ax[0].pie(\n", " [1, 1, 1, 1, 1, 1, 1, 1],\n", " colors=['red', 'red', 'red', 'lightgray', 'lightgray', 'lightgray', 'lightgray', 'lightgray'],\n", " wedgeprops={\"edgecolor\":\"k\",'linewidth': 1}\n", ")\n", "\n", "ax[1].pie(\n", " [1, 1, 1, 1, 1, 1, 1, 1],\n", " colors=['red', 'red', 'red', 'red', 'red', 'red', 'red', 'lightgray'],\n", " wedgeprops={\"edgecolor\":\"k\",'linewidth': 1}\n", ")\n", "ax[0].set_title('Figure 1.6.1.2')\n", "pyplot.show()" ] }, { "cell_type": "markdown", "id": "159c3cb4", "metadata": {}, "source": [ "With a good understanding of the parts of a fraction or a ratio, we consider the _mechanics_. By the mechanics we mean, changes in the values of $a$ or $b$, where we consider a change in one, while keeping the other constant." ] }, { "cell_type": "markdown", "id": "9c57a1bf", "metadata": {}, "source": [ "If we keep $b$ constant and we increase $a$, we are counting more of the parts. The actual _overall_ value that the fraction or ratio describes gets bigger. If we decrease $a$, then we have fewer parts, and the overall value gets smaller." ] }, { "cell_type": "markdown", "id": "dc196b47", "metadata": {}, "source": [ "In __Figure 1.6.1.3__, we visualize the difference between three eighths (on the left) and three fifths (on the right), seen in __Equation 1.6.1.3__." ] }, { "cell_type": "markdown", "id": "53dbcde0", "metadata": {}, "source": [ "$$\n", "\\frac{3}{8} < \\frac{3}{5}\n", "\\tag{Equation 1.6.1.3}\n", "$$" ] }, { "cell_type": "code", "execution_count": 103, "id": "4137c5f4", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABAcAAAIVCAYAAACtCpboAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAewgAAHsIBbtB1PgAAnudJREFUeJzt3QeY1GTXxvFbpfcuIiBFBQTFggL2+oqK2AtYESv23n3FDur72XvvUqxgQQVFRVGwgjTBTpHeO3zXeUhCdtmFLTOTyeT/u669NjOsbMwuM8md85yzyZo1a9YIAAAAAAAk1qZR7wAAAAAAAIgW4QAAAAAAAAlHOAAAAAAAQMIRDgAAAAAAkHCEAwAAAAAAJBzhAAAAAAAACUc4AAAAAABAwhEOAAAAAACQcIQDAAAAAAAkHOEAAAAAAAAJRzgAAAAAAEDCEQ4AAAAAAJBwhAMAAAAAACQc4QAAAAAAAAlHOAAAAAAAQMIRDgAAAAAAkHCEAwAAAAAAJBzhAAAAAAAACUc4AAAAAABAwhEOIC1+//13bbLJJu6jSZMmHGUAAAAAyGJlot4BZKd9991Xn332WbH/u++//1477rhjWvYJxTdlyhR9++237mPkyJHu8+zZs4M//+233zIW3vz111/q27ev3n33Xfd9p0+fripVqqh+/fradttt3e/cQQcdpFatWqXk+61Zs0YTJkzI8/9vv59Llixxf77VVlu5ECsd7Bj7x9s+//HHH5o5c6ZmzJjhArOaNWuqTZs27v/51FNP1ZZbbpmW/QAAAACKinAAyFENGjTQ1KlTo94NLV++XH369NHtt9+upUuX5vmzZcuWadasWRozZozefPNNtW7dWqNHjy7197QL8gMOOEDz589XFOyCf9CgQYX+uQUUFtwMHjxYN998s6699lrddNNN2nRTirkAAAAQDcIBbNSuu+6q3XbbrUhHqm7duhzRLJENwYBd/B999NF67733gufsrvnuu+/uKgZWr17tKgq+++67PBUNpbVw4cLIgoH8Nt98c7Vs2VKNGzdW5cqVtXjxYk2cONFVFaxcudKFJ7169XJVDM8991zUuwsAAICEIhzARh166KHu7mZxWKm6lXUjWhUqVHDLPCzgsQ+7UD344IMz9v1POumkIBiw733PPfeoa9eu2myzzfJ83apVq9wyllGjRqX0+1sQ0a5du+D/f/z48brmmmuUbrZc4IgjjtCBBx6opk2bFvg106ZN08UXX+yWWpjnn39ehx9+uI455pi07x8AAACQH+EAkKPsbvz222+vMmXW/TNP1xr7grz88ssaMGCA27Yqgc8//1xbb711gV9rYcH+++/vPlKhbdu27u58/u+XqTvzV1xxxUa/xo7Ja6+9pn///Veffvqpe+7xxx8nHAAAAEAkWOAK5KiddtopTzCQSVYqf/nllweP7aK3sGAgHaxiIJPfr6SsOeEZZ5yRJ9ABAAAAokA4gKwYZbhixQo99thjrhy7Xr16qlixopo1a6YTTjhBH330UfB19nf5f29hd8H9P7ePorDv6X+9fwe3KF9ja/rvuOMO14/B7gLb3e8aNWoU+v/34osv6vjjj3f/X1WrVnXrz63k3MrsrRlfLi3DeOONN9w0Av8ufpcuXaLepaxlv+++BQsWRLovAAAASC6WFSByNubNLh5/+umnPM/buDv7sDXZZ511lh5++GFli7ffflvdu3fXnDlzNvq1FiaceeaZmjRp0np/ZgGHfVh5eYcOHdS/f/+cGGv30ksv5ek7gMKNHTs22LbxigAAAEAUCAcQKZv7buvMJ0+eHDzXokUL1zzOSuJ//vln16TuySefdHfbs8Hw4cNdg0arBqhdu7b23ntv1alTx60d//777/N8bb9+/dzFsX2t3yDQQgCrgLBKgwkTJuirr75yXeu//vprdezY0XWxt+Z9cWb/T7699trLfbbRfk8//bQbM2hVBVZlYaX/nTp10rnnnpvISRc2ztCaNPpoRggAAICoEA4gUtat3Q8GKlWq5Dq2H3vssXm+5osvvnDLC/7v//5PZcuWVdT++9//uu76t956q66++uo8+2Sj+3xjxozR6aefHgQDl1xyiW688UbVqlUrz99n//+nnXaa+/+0sX5WkRAe/Rc3v/76a56xhDbCz8YZ2tKJMAtT7MPClrvvvttVhpxyyinKdUuWLHEVMe+//7769OnjjoHZdtttMzJJAQAAACgI4QA2yi5UZ86cudGvu/baa4tVEm8Xz6+++mrw2Nbk20VkfnvuuafbBxtJZ43uomZ3+W+77TZdf/316/1Z+fLlg+2LLrrIzbQ3hX29sR4EH3zwgauWsBJzu2gcMWKE2rdvrziygMNnvSNsSYX9P/nr6/fZZx9Vr17dhSI2wcDCE1trf+qp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2DlHcT6WLl1a6u9brlw51alTx51n2OeifFSoUCEl/88AimeTNSWJAgEU68148uTJmjBhgsaPH+8+24c9N336dK1cuTLrj2bZsmVdSNC8eXNtu+22eT6aNm3q/hwAAETLTuunTZumsWPHaty4ccFn+/j7779j8+OpX7++q4Bs2bKl+/C3GzZsyM0KII0IB4AUsYv8X375RaNGjdIPP/wQhAC///67qxAoTXlP1dBHlXzb5SVt5jUQeVrScm/7HKtMkLRKkuX+CyQtzPfZ/7CvKanNNttMzZo1c0FBixYttNNOO2mXXXZxj+3PAABA6s857CZDQSHAvHnzSvV323lHHe+jrqSa3nlGcdm5xVxJM0Mfdo5SGlbxaOcafljgf956661dhQKA0iEcAEpgxYoVQRDgf/z444/FKr+zN9yGkrbwPhqEtv3H9jXFKayr6b0R29vjsiL+N1Y6ZHv9r6QpkqZ6H/m37X7D7GLsiy1d8IMC/8Pe0AkMAAAoXjXAr7/+qs8//9x9fPPNN5o4caI7FynO+UELuyMfuvAv7KOaXSCk4Qe0xrs5MXMjH9MlTZA0oxh/t51bWHVju3bttPfee2uvvfZywQG9DoDiIRwAisDW+3/55Zf69NNP9dlnn+m7775zywU2xu7ubxv6aOF93sZ78021koQDxWHhwETvTTv/x+IiBgYWEuy7777uo0OHDqpYsWIa9hQAgHiyxsLWYHjYsGFBIGBLBYpiK0ktJbXK99luNsStJeAsSeNCH2O9z795lZEbY70L9txzTxcU2IfdsChThnZrwIYQDgCFhAHDhw93YYB9fPvttxvtDbC1pF28j50ltZa0eYbfjNMdDmzoboBVF4yWNCr08cdG/jubomABQTgsoAkRACBJli9frpEjR7oQwAIBuxmxoaUBZb2bDfkDALv5UFm5b6l3o8IPC/zP9rF0I0sSOnbs6IICqy7YbbfduEEB5EM4AHgle99//73eeecdDR48eKNhgAUB7UJhwE6SamTBkYwqHCiMlQd+FwoLRm4kMPDDgk6dOunwww/XdtttR0kgACCnWB8iO8947733XBjw9ddfb3BZolUh7iFpL+9j12IuOUyKFd45xzBJn0v6QtKcDXy9NVPeddddXVBwyCGHaI899mDpIxKPcACJZW/EQ4cOdYHAu+++q3/++afQr7VUfl/vYx+vIiAbZVs4UJC/JH0m6VPvY9IGvtYaHVpI0KVLF5f0MxUBABBHthRxyJAhevvtt915h40rLkxdLwTY2/u8A7PHS8SWHozxgoLPvdDAqhw3tAyhc+fOOvLII3XQQQepUqVKJfvGQIwRDiBR/v33Xw0aNMiFAVYhsGjRoo2GAXt7DXziIA7hQEnDgurVq7tk38IC+1yzpv3fAgCQnebPn6+BAwfqrbfe0vvvv++WLBakSagqYG9veUDc+gPEwRqvX0E4LLDlCQWxfkhbbbWVq2a89tpr3QQmIAkIB5Dz7M34zTff1Msvv6yPPvqowLGCNg7wAEldJHWWtKXiKY7hQH6TJb3rfVhoUNDiDqsgOPTQQ3XyySe7lJ8+BQCAbGA3HSwQeP31192ygYKaF9uSgIMkHSHpP5IaRbKnMNbm8WNJb0v6wJumUBC7KXHiiSfqiCOOcDcrgFxFOICcZON9LAiwQMAS+8WLFxdYttfZCwQOtEY1ir9cCAfC5npv1hYUvOc9zq9atWo69thjXVCwzz77aNNNN41gTwEASbVkyRJXGWCBgAUDBZ1z1PLOOY70AoEkNA6MG+v6MMQLCt7w+iblV65cORcUnHDCCa6S0ZocArmEcAA51VTQGvy89NJLeu211zRjxowCR/yc6AUC7W0urnJLroUD+RsNfeG9ab/upf35NWzYUF27dnVBwQ472CpNAADSY8KECXrsscf07LPPau7c9ePrepKO9T5syQBD9OLjOEn9vW0bPT2/kPHMdr7Rs2dPzjmQMwgHEHv2hvziiy/q8ccf15gx1npm/QvmEySdJGl3Sbl8XzmXw4GwVZKGSnpJ0oBCygDbtWunc88915UB2hs4AAClZZOMrDrgkUcecRWKBVUIHOOdd1gDYwKB+FnsVZcu9no/LPKmINiNiX6F3JywSQfnn3++jj76aDd5CYgrwgHEls0EtjdnqxKwkr786/kOl3SypE7exXISJCUcCFvsLTt4WdL7BfQosGUHp5xyis477zy1bt06or0EAMTZtGnT9NRTT7kbEX///XeeP7NLweMldfP6F5WNbC+RCm94AY+xNoTj892csGaGr0p6pYCbE/Xq1dOZZ56pc845R40bN+YHgtghHECsWGOffv366aGHHtKIESPW+/M9JZ0h6Wjrbq/kSWI4EGbrA/tKetpL+fPbb7/9dOGFF7p1gmXKcD8HALDh5YpffPGFuxExYMAA188orJmk8yR1l1SbA5kzTvIu/M2tkm4o5OvmexWMD0v6Jd+fWf8ja5hs1QQHHngg/ZAQG4QDiIVZs2a5QMDeoG0cYZiFAKdKOkdS0u8LJz0cCBsp6TEv3c/fGqpRo0a66KKLXLJftWrViPYQAJCNFixY4PoX2TnH6NGj8/zZJl5jwZ5eY8FcXqqYRMu8XhF+j4EFRWhYvcarJnjYqzrIX8G49dZbu+rF008/XbVq2cITIHsRDiCr/fPPP/rf//7nyvhsPFCYtZu7wCvjY0X5WoQD65sn6XlJDxUwz7hmzZq64IILXFBQp06dtP0eAwCy319//aU+ffroueeec2OQw2wN+pmSzpbUJLI9RLoN8sIfvzJkUjH/+6mSnpL0uJ3D5vszG7vcrVs3XXPNNdpmm21StMdAahEOICtNnDjRvUE///zzecr4NvPWgV3gLSGwBB/rEA4UbrUkax31oDcW0ZJ+X6VKlXTWWWfp8ssvd1UFAIDkmDJliu6880498cQTWr58eZ4/s0bG53vnHrSZy322NPVZb/s6SbeX8O9Z6fVDsmqCT/L92WabbaZTTz1VN954o5o2bVrKPQZSi3AAWeX777/XXXfd5foK2Fq/cIPBHpKuILHfIMKBohkrqY+3VjBc/le2bFk3lujqq69WixYtSvZLDACIhenTp6t379569NFHtXSpTblfq5LX0Nj6CewY6R4ik+xW1OaS5niPZ3vnVaU1zlvm+JxXzeiz3kdnnHGGrr/+epoXImsQDiAr/Pzzz7ruuuvceKCwal5if7H3go0NIxwonj8l3eOVAIbnXWyyySZuBOKtt96q5s2b82sHADlk5syZuvvuu10vo8WL13WlsSWKF0m6nAaDifSR10fCNPLOEVLJ+hc84J13WH8oX7ly5Vz14rXXXqstt9wyxd8VKB7CAUTq999/10033eQa/4QrBawZzCVew58kTh0oKcKBkvnXe8N+qIBU/+yzz3alf/Xr10/RTwkAEIU5c+bo3nvv1f3335+np0BF70bEVV5vASTTuV6vAHOppP+l6fvYecb/eR9+40NTvnx517jQqhc550BUCAcQiRkzZuj22293pXzh9X2Wl17rrfmyN2sUD+FA6dib9KNeqm9jEX2VK1fWpZdeqiuvvFLVqlk9CwAgLubNm6f77rvPNTieP3/d5Vh5b9KRnXcQ/ybbKkkNvJsFfmPBdP9O2LKFeyXdLynccrtixYquWfJVV11Fs2RkHOEAMsqSentzvueee9yooPBF7XVeck8oUHKEA6kx33vDvjffG3bt2rXd2kBL9q3rMAAgu885HnzwQbeEwKoGfGW9yQN23tEw0j1EthgmaR9vewtrUpnB7z1D0t1e9WJ4iWOVKlV08cUX67LLLmMEIjKGcAAZsWrVKj399NOuPPvff/1cdm0QcIlXyleDn0WpEQ6k1nRJt3llhutmZsg1DrImVieccILrTwAAyB62TNEaG1vFl00iCE886i7pBklbRbqHyDYXe8sL/eUFVkWYadMk3eU1L1wWer5WrVpuglf37t216aabRrBnSBLCAaTdt99+q549e2rkyJF53qAttb/JK+NCahAOpMdkSTdKeiXf8/vtt59raLXddtul6TsDAIrj119/1fnnn6/BgwcHz9nl1Cne6zgtZlHQqOPGkv7xHv8ecXhk+3GHpCfz3ZjYfffd3XLcHXbYIcK9Q64jfkJauwFbM7f27dvnCQaOlfSLl4wSDCAOmkl62UZtSuoUen7o0KFq27at60UQXiYDAMgsG0XYq1cvtWnTJk8w0Nk757AxcgQDKMg3oWCgbhZUlVj/rYct6JLULfT88OHDtfPOO+vyyy/nnANpQziAtCwhePzxx92c+CeffDKYQtBa0qeS+knaluOOGLJ51+9LekdSU++5lStXuh4aLVu21GuvvZZn6gYAIP0++ugjbb/99rr55pu1bNmyYBTdm97rdQt+CNiAAaHtw7LoSDX2bkx8HDpvtnNs693VqlUrDRgwgHMOpBzLCpBS33zzjSvnC1cKVJXUS9IFXhMgpA/LCjLHmgb1kXRnvrWBttTAGmC1bm1xGAAgXayfgDVre/3114Pnyki6zFu2WJlDj41Y41WU/OY9niBpmyw8asu8poW3W5VM6PlDDz3UnXM0a2Y1jkDpUTmAlFi8eLF7g+7QoUOeYOAkSeO9ebEEA8gl1kzzv1656uH5lhrsuOOOuuWWW7RiRXi1IAAgFaxi64EHHnAVW+FgYC9v+VdvggEU0Q+hYKBWlgYD/thNa6Q5RtIhoeffe+89dzPitttuC6pmgNKgcgClZmugTj/9dE2cODF4ro03ksUfC4PMoHIgOgMlXRQ6yTA77bSTnnvuOZoHAUAKKxTPPfdcff+9xQBr1fHuqp5mJ7YcaRTDDd7deHOipFdjUu3whjdhwe+VYGw57yOPPKL9998/wr1D3FE5gBJbsmSJa4qy5557BsFAea/U+juCASRMZy/Rv96bxmHs5LVdu3a69dZbqSIAgFKec1x44YWuQjEcDNjko3GSTicYQAkusvuHHl8bkyNoAdgxksZ6S2j8c47x48frgAMO0Kmnnqp58+ZFvJeIKyoHUCJfffWVqxaYMMFWZ63VQdKzklpyTCND5UB2GOmdqFpY4LMOw1ZFYE2zAABFN3r0aJ144okaM2bdq+oO3iz63TmQKKExXqWrqSYprpfTP0k6187NQ881bdpUr7zyigvTgOKgcgDFTu5tbJtVC/jBgF8t8AXBAOC0kzRK0nWhRP+7777TLrvsottvv50qAgAoApv+YnPdd9111yAYsH4v93qvsQQDSNWUggNifCh38M7Bn5JU3Xvut99+c+fqd955p1avXh3xHiJOqBxAkY0dO1YnnHCCfv755+C59t7sYKoFsgOVA/GoIth999316quvqnFjG1QEAMhv9uzZ6tGjh956663gOau7ek3SdhwupEBb7667+do7p427PyR1s35goeesB8GLL76oBg0aRLhniAsqB1Akzz//vFs77QcD5b1uwF8SDABFqiK4NvSCa008baLBO+/YBG4AQNiwYcPUtm3bPMGAjUP+hmAAKTIxFAxUzpFgwGwl6TNJN4Z6cAwZMsQ1Rh440FonAxtGOIANWrhwoWtsYv0FbFyhvPVZdrFzVahkGkDhLEy7w0vym3jPzZkzR0cccYQuueQSxg8BgDei8L///a/2228//f3338F4ubclPSipAkcJaVhSkGuTtcpIusVCAUlbes/NmjVLhx9+uC6++GLOObBBLCtAoX788Ue3jMC6n/rOknSfpEoct6zEsoLsN9frrh0+MbFeBDaru3nz5hHuGQBE548//tBJJ52kL7+0msS19pX0UugCB0iVXb1lf/IuovfL0UM7S1IPL2DzWVXOa6+9ppYtWRSM9VE5gEIbALVv3z4IBqpIekXSEwQDQKnUkNRP0sOSynnPjRo1SjvttJMLCAAgaQYMGOCWWvnBgFUl3ibpY4IBpGldvh8MVMzhYMDUlvSmpIe8Kkb/5p/dlHj66afdOT8QRjiAPGzpQLdu3dSzZ8+g7Ggn67QuqSvHCkgJ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8803ql27doq/E4C4mD59ujp06KDff//dPT5c0puSNot6x4BivLdtLWmy93icpBYcvaz4uZwp6Rnvcd26dfX111+7cw9kHyoHstSiRYt0xBFHBMGAvWFfccUVKf8+VBAAyQoG/HnE9ibt1yBNnjzZNTxdscKGEAFImiVLlriZ5H4wsJOkVwgGEDM/hoIBu1lCMJAd7JzjUW+ssrFrm8MOO0xz586NeM9QEMKBLGR387t3764ffvjBPW7cuLHuuece128gHQgIgOQEAz6bU/5WaILB0KFDddlll6XxOwLIVhdddJG7kydvPvy7oealQJzWt4ffQ5E9ynlLPlp6j8eNG+eWGDA1KfsQDmShBx98UP362ZRQqXLlyu5x9eo2GCR9CAiA5AQDvkZe2bC9aZuHHnpIffv2zcB3BpAtXnnlFdf42FT0ggELCIC4YUpBdqvpjTj0FzC+8847uv/++yPeK+RHz4EsM2rUKHXs2DEo77VgYN99983Y96cHQbzRcyB+ogoGwuyyYO08FKlatWr67rvv1Ly5DT8EkMvGjx/vehstXLjQPX5W0ulR7xRQAr9Iau1tV5M0j6OYtd6TdJi3XbZsWX355ZfaddddI94r+KgcyCLz58934z38YMDKbTIZDBgqCIBkBQOmhzU8zfc6tGzZsgj2BEAm+wwcf/zxQTBwGsEAcqRqYP8I9wMbZ1MkrvS27ZrHXofoP5A9CAeyhN2xP/vsszVp0iT3ePvtt9fFF18cyb4QEADJCQbCzYK2CVUwpXoyCoDscsopp+inn35y260kPRz1DgEpCgeu4khmvdsldfS2rRHqGWecQf+BLEE4kCVsvd/rr68dLFa1alX16dPHldpEhYAASEYw4KsqyboNlPce33fffW49IIDcc+GFF2rAgLWXUxW8f/uVo94poIR+9SYVyPs99i86kb3sCuc1bzmsefPNN13fI0SPcCAL/Pzzz65TsK9Xr15q2LChokZAACQjGPDtKOl/ocenn366/vzzzwj3CECq2VSC8En4akn/cJiRI1UDe0e4HyiexpKeDz2+8sor3TURokU4ELFFixa5tTZLly51j0888UQddNBByhYEBEAyggHfeZKO8bbnzJmjrl27auXKlRHvFYBUWLVqla6++uo8zy2X1EnSmV5QAMQ5HLgiwv1A8R0u6RJv23odnXTSScE1EaJBOBAx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lrSHt9xgdej8xP7tX3nllSpXrlyk+w1sTLhRHdUD8WXBji219tk0FGuAiswjHIhQly5ddPLJJwfLC66++mpXxputCAaAZAQE1iHYLgxWrFgRLCfo0KFD1LsFoBT22Wcf16DQrPB6C2zuNSr02b/z/v37a++99+ZYIxZOO+20YJu+A/Fk1z7XXnutFi9eHCwXOeaYY6LercQiHMiC5QWNGzd22999952b45mNCAaA5AQEVslklQPGOpOznADIDfZv2UqxjfV2X+g9X6ZMGV122WWuorFu3bqR7iNQHB07dgwqXGwZXByqcJHXk08+qR9//DEYwXr//fdziCJEOBCxmjVruouGzTbbLPgH8tVXXymbEAwAyQkIBg0apAED1rYkq1Spkl5//fVgTSeAeLOLqHvuuSfPczYq7IUXXnB36+x1Coibtm3bBtssLYiXb7/9NpjiZtdC1ueEqSjR4l0gS1LP22+/PbhgsNKamTNnKhsQDADJCQj++OOPPFUCVsnUsmXLSPcJQGrtv//+OuEEG1a4lpXy2o0KIK78JbqGpQXxMXv2bF1zzTVavXptx5ObbrqJJYxZgHAgS9j63oMPPthtz5o1y/1jWbWqoGFDmUMwACQnIFi2bJmuuOKKYM2freO0buUAcs8rr7wS9BWwnkfhHiNA3Oy7775uaYz5/vvvs+YGGwpngcB1110XjC200PL666/nkGUBwoEsumCwsr4tttjCPR4xYoSefvrpyPaHYABIVkBw7733ulFQ/thCG30GIHdfg9599123vteMHj1a//vf/6LeLaDEv89t2rQJ3k+HDBnCkcxyzzzzjL788stgadPLL78cLLFGtAgHski9evVcmu+v+bNRQrYWJ9MIBoBkBQRWhvnqq6+67fLly6tv376qUqVKxvcDQOZUq1bN/Vv3m7nZWl8uqhBXXbt2DbYHDx4c6b5gw6wBu38DwsarWjBQv359DluWIBzIwtIoW3Pjl9xYme+UKVMy9v0JBoBkBQQTJkzIU8pnXYJtQgGA3LfzzjvnqRi44YYb9Oeff0a6T0BJdOrUKbjzPHLkSM2dO5cDmYVsyYctY/KXTt9444064IADot4thBAOZCF7cz7wwAODZh0XXXRRsA44nQgGgGQFBHPmzHGvL0uWLAnuvJx99tlp/74AskfPnj117LHHBv0Hzj//fM2bNy/q3QKK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4aUFNtKQG2VFZxXI1kuEYCA5CAdymDUktH/MNufc9/rrr+vKK6/UsmXLIt03AMW3cOFCV8I7ePDgoEroueeec2EBAGRbQNC3b1832WDBggWR7heSrVGjRm6UoZk6darGjBkT9S7FwtKlS13vMptG4qNiIPcRDiTA5Zdf7kaOlClTJiipsjdw3qyB+Jg5c6bOOOMMjRgxwj2uWLGi3n77bZ122mlR7xoABOz8ws45rAeSGT58uE499VT9888/HCVEZs899wy2WVqwcbNmzXIVFx988EFQkXz//fezlCABCAcS4uSTT9a7776rSpUqucfffvutu9CwCw4A2e2vv/7SKaecorFjx7rHtWrVcl2XDzvssKh3DQAKPOew8m2/Edyvv/6qbt266aeffuJoIRJ+o27D0oINmzRpkk466aTg32vlypXdzYiLLroozT8lZAPCgQTp1KmTu6Dw36zHjRvn/vHbdAMA2em7775zJ9p///13UB75xRdfqEOHDlHvGgAUaq+99tLXX3+tbbfd1j2ePXu2uynhL4sCMqlZs2aqWrWq2/7zzz81YcIEfgAFsEofO+fwK3223HJLd87RuXNnjldCEA4kTPv27d0/8saNG7vHU6ZMcXckLUUFkF0GDBjgyvrspNq0bt3avXG3atUq6l0DgI3aeuut3XhVv1u89TuypY7WrJCmcMi0jh07BtssLVhf//79XV8j629kdt55Z33zzTfacccdM/hTQtQIBxKoZcuW7s26Xbt27vGSJUt06aWXulGH1pUUQLSsu/edd97pxhP6nb4PPPBAff7552rYsCE/HgCxYcugPvzwwzz9UWztsk1YWbFiRaT7hmRPLcBadu5/7733umaD/kSzLl26aNiwYWrQoAGHKWEIBxLK/rHbP3pbA+izDsM2+nDx4sWR7huQZPPmzdO5556rV155JXju4osv1vvvv6+aNWtGum8AUBLWnPDZZ59145R9b775pnuts9c8IBO22247t37eX1c/efLkxB94O+e3G4Q2+ch32WWX6Y033giOFZKFcCDBrNv5Sy+9pLvuusuNPfTLrKyrsC03AJBZdrLStWvXYCJB2bJlXfntfffdF0wbAYA4svOM6667Tq+99prKly/vnrOSZVvfbE1XgUzYddddg+2kVw/8+++/6t69u+tH5o9HthuFVkVg20gmwoGEszdrm2H6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2GSO3r17u6DL+hr5/N93q5rxGyoCqcKyAqTde++955Ya+Guj/LI/e9M+/fTTadSWQiwrSI85c+boiSee0Ouvv+66A4ePtyX31kkbABA9m2JgIYFVcYXPOU488URXwWgjmYGw5cuXu/L8NWvWuBtcVj1QqVKlyA6SNfe2ht9WEWPbPmue+Mgjj2j//fePbN+Q+6gcQEZGxYwePVq33nprMN/dyv4ef/xx92f24mcvzEC2Wbx4sVvLd8ghh7g3aj8YqFGjRrCEgGAAALLHbrvt5gIC6wdjy738c45nn31WnTp1cs/bHVnAV65cuWACho3F/OKLLyI753jqqafc76mFAH4wYIGFVd3akkaCAaQblQPIqOnTp7uQwIIBW9vla9CggWsgZD0LKJEqOSoHUsNCAGs2aL+ns2bNynP3yZYOXHXVVdx9AoAYnHPceeedLuRdtmxZ8LyNlrXqRSvPzsbmc8g8uyi///773bZdnNu0rUyx8MoqE5955hlXqeiz82Grdrnhhhu01VZbZWx/kGyEA4iELTG48cYb9eqrr+Z53prCnHvuuTrwwAMJCUqAcKD0ocDAgQPdEoK///47zxt0jx493NpVC7IAAPFhr+d33HGHuwAMLw2zygJb3mijaKMsI0f07K59+/bt3bb9LtjUgvLly6f1e1pgZTci7Pcy3BfDRhNacGX9u5o3b57WfQDyIxxApKyTsE0y+PDDD/M8b+VdZ5xxhptnzCiioiMcKHlq/8Ybb+i5555bb0b2scce66YS2Fo/AEB8/fHHH+713JYY2Dhan/UhsDu01pfAKsSQTLbU9a+//nLbtvxkv/32S8v3saW0b775prsR8e+//wbPWzNN+x20GxGccyAqhAPICkOHDtU111zj1gmGbb755jrttNN0zDHHkOoXAeFA8di609dee00vv/xynlI+Y+v67rrrLu26667F/FsBANlevWhLHK3nkc2P99WuXVtnnnmmjjvuuLTfNUb2eeihh9xyQtOlSxe3zj+VrGrlnXfecd9j6tSp692IsFCgTZs2Kf2eQHERDiBrWJfYjz76yK0P/PTTT/P8mTWA69atm/uw2a4oGOFA0Vj53gsvvKC+fftq0aJFef7MqlUsqNpjjz34NQOAHDZhwgT16tXLLXG0c5BwSGAXa/ZRv379SPcRmbNw4UJ17NjRbVsvCptakIrqVetdZJUCds6RPxSwkd8333yzdtxxx1J/HyAVCAeQlb7++msXEljCGmbrwOyFtGvXrmratGlk+5etCAc2zOYCv/LKKxo0aFCeCRm2vs/mCFsosMMOO6T95wQAyB5jxoxxIUG/fv3yPG/9Zvbdd19X6m3r0a3sG7ntP//5T3ABb40sS3qjwMImmy5g1YmDBw/O0+vCX8Jgv3M2QhHIJoQDyGo2ArF3794u1Q+vDzSW7lolgY2SY8LBWoQD67M35E8++cSFAtbjIv/4IltneuWVV9L0BwASzi7mrJTcetDkP+ewXkgWIlu5uT8iEbnn3nvvdf2HjC1ptbv6xW1saDcgbPrA+PHj8/yZhUs2GtmmD/gVCkC2IRxALPz222+655573Au2vfCGbbHFFu4F/Oijj1bdunWVZIQD6/zzzz8aMGCAO8kLjyM0tjTl7LPP1qWXXup+fwAACL9/PPnkk65hXP4ycJs5b2OXLSho1aoVBy3HWP+hvffeO2hUOWTIEJUpU2aj/93kyZNdIGAVr7Y8IcyWqdjEo3POOUfNmjVL274DqUA4gNi9aFuX4Ycffti9EIfZi7eV/x111FEukU3ilIOkhwM2FsjGD1kg8OWXX+ZZQ2pat26tCy64wI0IsjnXAABsqPLs7bff1iOPPOIaJ+dny9BsyYGVotPAMHcccMABwRSBp59+Wrvttluhvx/WI8tCgREjRqz357YU5fzzz3cNLi1UAuKAcACxZOV+77//vh599FH3Of9FoKW9nTp1cum+vXknZZ1gEsMB6zQ9atQoDRw40DW0XLBgwXqh0ZFHHqnzzjvPjSVKyu8CACB1fvnlF3fO8fzzz6/3PmPnHNYPydaRt2zZkveZmLvjjjvcclZj4c/111+f58/t5tR7773nmgyGRxEaG4VpS17tnGOXXXbJ6H4DqUA4gNj7/fff9dRTT7l0N/+MetOoUSPXgd6Cgq222kq5LEnhgHWZtkDA3qCnT5++3p/bz9qWDpxxxhl0mwYApISVjNv4W6tg/Pnnnwt87zn44IPdDYptttmGox5Ddk5x4IEHum1brvrxxx/rr7/+0gcffKAPP/xQEydOXO+/sZ91z5493fhtC4uAuCIcQM6w8i6rIrA3bVvztXTp0gIvnu0N2+4gW2iQa3I5HLDqEEvrrbTTAoGC3pxtqYD1njjppJNcWSCNKgEA6XpPGj58uAsJ+vfvv143etO8eXMXFNiHTViici0+bJmq36/IzqnsRlR+NunIGlRaKGDnHPYYiDvCAeSk+fPnu3XnL730kmsmk3/Zgf+mvc8++7igwC6qc+FCMtfCATvZsgkDFgjYvGFL7vOzZQMW+FggYG/SNu4SAIBMmTFjhmuAa2vP7b2qoHMOe1+28w37sOWOuXDOkWvs52bLR+y8sW/fvpo7d26BX9ehQwfXkNJ6CWy55ZYZ308gnQgHkIiuwzZn1ioK8o+y89WqVcuNRLQ3bWtmGNcLzFwIByzY+eKLL1yTH/ucf22nz35O1ljw+OOPV506dTK+nwAA5GfTDaySwIICa4xb2DmH3Zm2cw5rdhfXc45caWRsfYssELDzjoKWKZp27doFgUCuL1FFshEOIFHGjRvnOg/bhbOVAxaU7tuUg7Zt22rXXXd1H5bwx6ULcRzDARtN+cMPP+jbb791H2PGjNHKlSvX+zq7y2KVHocffrirEGAcEAAgm1m1m1UUvPXWW/r8889dA92C3tu222477bzzzsFHjRo1ItnfJLAbDnbO8d1337lQYPTo0QUuCTH169d354OXXXaZm0gBJAHhABLLOsza2nW7iLYGM4sWLSrw68qVK+cCAkv3LTnO5rAgDuFAUcMAU716ddf92QIBWzpAkx8AQBzNnDlTgwYNcjco7JzD3gsLs/XWW7uQwLrd22e7SEXJj7sFAX4YYM2MCwpp/PM9a0RokyfsvGOLLbbgsCNxCAcAyTUvtHXt1shw8ODBrvFdYezNo02bNi7p9z/sYjwb1g9mWzhgabwdS1vDZyHA2LFj3XZhYYBp0aKFDjnkEPfGbEs9rJIDAIBcsWTJEtcB38ICqyiw98UNsXXtflBgH/YeT3PD9Vk1qC0ltRDADwQKaiSYP4ixcw27EWGNI6tWrVrKny4Qb4QDQAH+/PNP11TI1p/Zx4bCAn+urc02tqCgVatWQWCQ6QvbKMOB5cuXB0GA/zF+/Hj3/IbYcbO1l/Zhywa4QwIASNrdbeuxM2zYMBcWWH+kVatWFfr11rPARufZBAT7sGV29rlevXqJCA0sBLBJAr/99pv7sHMP+/zrr7+6qtDC2LGx6k8LA/bee2/tueeeVAcA+RAOAEXwxx9/5AkL7E1oY6ySwNJ+a1xjH3bB7n+2N/B0jLxJdzhgJyvTpk1zx8PSePvsb1sTpsJK9fJXBoTDAMr2AADIuy7+q6++ckGBBQYjRoxwjfM2pnLlynnCAv/DRjfHsQrPqgytEiAcAPjbhTUrDrP/Z1sOakGABQJ77LEH/RyAjSAcAEqxhs1K1/yPjZWuhVWoUMG9WVtIULduXfdhHff9bf9xcXsblCYcsDJH+/+ykUz2Ed62D0vjrbnSxioBwuzOhpVC+h877bQTb8wAABSDBQMjR44MKgssLJg9e3aR/3sb+WvnHHaDws4trH+PNT0s6LNNTkhn9YHd9bfzDRsTOGfOnAI/W1WAf/OhsGaBhfUpskbSFgTYR/v27ZkEARQT4QCQIvZm5gcG1nDPmt7YR2GNDouiSpUq7o3NPuyOgH2EH9tn64FgVQj28eijj7r/zt7ku3bt6u7k24edWNh+WAMk/yP8eOHChRtsjrQx1apV07bbbuuqAiwA8IMAe6MGAACpZaG9TWCyXj722d+2C+qCJjEVld1tD4cF9mHv8SXpq2TnHzaeOP/Ff1GqIDbEgg5bkmjLOO2zv7355psnYlkFkE6EA0Aa2Ru0ldv7QUH4w0rjinMXPmpW7dC8eXMXAvgfVhlgn5OyzhEAgGxmQb+dY4QDA/tsPYBKe1GeSRZS2DmGHwD4n+0mhN04AZAehANAhMGBlQVOmTLFBQj2kX/bSvvtrr592Pq60twNyM8qDawrr73J2mdbymDr/+2jQYMGeT7bh91FIAAAACB+rGeQf15R1I9U3sCwi31b0lCUj9q1a7ueTbYcAkBmEQ4AMWHBgL8EwIIC/7PdCfCXD3zzzTeugY9NT7CyfisDtAt6u+sfDgLsw57jYh8AABR0zmHnGRYS2I2MktycsHMMu7FgF/y2NIFzDiD7EQ4AAAAAAJBwqZ+lBgAAAAAAYoVwAAAAAACAhCMcAAAAAAAg4QgHAAAAAABIOMIBAAAAAAASjnAAAAAAAICEIxwAAAAAACDhCAcAAAAAAEg4wgEAAAAAABKOcAAAAAAAgIQjHAAAAAAAIOEIBwAAAAAASDjCAQAAAAAAEo5wAAAAAACAhCMcAAAAAAAg4QgHAAAAAABIOMIBAAAAAAASjnAAAAAAAICEIxwAAAAAACDhCAcAAAAAAEg4wgEAAAAAABKOcAAAAAAAgIQjHAAAAAAAIOEIBwAAAAAASDjCAQAAAAAAEo5wAAAAAACAhCMcAAAAAAAg4QgHAAAAAABIOMIBAAAAAAASjnAAAAAAAICEIxwAAAAAACDhCAcAAAAAAEg4wgEAAAAAABKOcAAAAAAAgIQjHAAAAAAAIOEIBwAAAAAASDjCAQAAAAAAEo5wAAAAAACAhCMcAAAAAAAg4QgHAAAAAABIOMIBAAAAAAASjnAAAAAAAICEIxwAAAAAACDhCAcAAAAAAEg4wgEAAAAAABKOcAAAAAAAgIQjHAAAAAAAIOEIBwAAAAAASDjCAQAAAAAAEo5wAAAAAACAhCMcAAAAAAAg4QgHAAAAAABIOMIBAAAAAAASjnAAAAAAAICEIxwAAAAAACDhCAcAAAAAAEg4wgEAAAAAABKOcAAAAAAAgIQjHAAAAAAAIOEIBwAAAAAASDjCAQAAAAAAEo5wAAAAAAAAJdv/Aw9NrvTG+Kb5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 266, "width": 515 } }, "output_type": "display_data" } ], "source": [ "fig, ax = pyplot.subplots(1, 2)\n", "ax[0].pie(\n", " [1, 1, 1, 1, 1, 1, 1, 1],\n", " colors=['red', 'red', 'red', 'lightgray', 'lightgray', 'lightgray', 'lightgray', 'lightgray'],\n", " wedgeprops={\"edgecolor\":\"k\",'linewidth': 1}\n", ")\n", "ax[0].set_title('Figure 1.6.1.3')\n", "\n", "ax[1].pie(\n", " [1, 1, 1, 1, 1],\n", " colors=['red', 'red', 'red', 'lightgray', 'lightgray'],\n", " wedgeprops={\"edgecolor\":\"k\",'linewidth': 1}\n", ")\n", "pyplot.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is clear that $3$ parts of $8$ must be smaller than $3$ parts of $5$. In essence, keeping the numerator constant, the final values increases when the denominator get smaller and decreases when the demominator gets bigger." ] }, { "cell_type": "markdown", "id": "3443d8d0", "metadata": {}, "source": [ "Understanding the mechanics, leads us to comparing fractions. When is one smaller or larger than the other?" ] }, { "cell_type": "markdown", "id": "b172e1a0", "metadata": {}, "source": [ "To answer this question, we must have equal $b$ parts (equal denominators). In __Equation 1.6.1.3__ we made such a comparison. We can make a direct comparison by _equalling_ $b=8$ and $b=5$. The easiest way to do this is to start by considering multiplying both by $1$. The number $1$ can be written as a fraction, in many ways, as we see in __Equation 1.6.1.4__, as long as $b \\ne 0$." ] }, { "cell_type": "markdown", "id": "33ee71ec", "metadata": {}, "source": [ "$$\n", "1 = \\frac{1}{1} = \\frac{2}{2} = \\frac{1206}{1206} = \\frac{b}{b}\n", "\\tag{Equation 1.6.1.4}\n", "$$" ] }, { "cell_type": "markdown", "id": "64563544", "metadata": {}, "source": [ "Multiplying by $1$ does not change a number. All we have to do is write $1$ as a fraction. We do so my choosing the _opposite_ value of $b$, shown in __Equation 1.6.1.5__, remembering that we multiply numerator by numerator and denominator by denominator, we now have equal parts $b=40$." ] }, { "cell_type": "markdown", "id": "db6a340b", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\frac{3}{8} \\text{ vs. } \\frac{3}{5} \\\\ \\\\\n", "&\\frac{3}{8} \\times \\frac{5}{5} \\text{ vs. } \\frac{3}{5} \\times \\frac{8}{8} \\\\ \\\\\n", "&\\frac{3 \\times 5}{8 \\times 5} \\text{ vs. } \\frac{3 \\times 8}{5 \\times 8} \\text{ (see section 1.6.2 below)} \\\\ \\\\\n", "&\\frac{15}{40} \\text{ vs. } \\frac{21}{40}\n", "\\end{align*}\n", "\\tag{Equation 1.6.1.5}\n", "$$" ] }, { "cell_type": "markdown", "id": "3aadcb59", "metadata": {}, "source": [ "Clearly $15 < 21$ and three eighths is smaller than three fifths." ] }, { "cell_type": "markdown", "id": "e6266b69", "metadata": {}, "source": [ "The `sympy` package makes such a comparison easy. We use the `Rational` function to create the fractions and the `>` and `<` symbols (which are comparison operators) to compare the fractions. We print the two fractions to the screen to see the use of the `Rational` function." ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB8AAAASCAYAAACjMAXnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAApxJREFUeJzFlVuITWEUx3/nEHKbZGaMW2pEbinXFI1Lcr+MkRd58ILyQHL3sixFLqWmePGABzxIzoikaKZGRhQyD0e55gVDRpJLE44W62if7dt1OpT/y2p/l7W+9V//tXYql8vxv9A5+qGqB4CJwHCgHPgMPAcagCMi8jbkRFX7AS+AoyKywdcWAhuBUUBf4CVwBzgsIjftTDrmZxPQA7gK1AOnga/AbqBVVQcnJLHUfWUiSVwCxgNX3NddP3dDVVf9kTnQW0S+BDLbC+wCdgLrA8GXAcZKs6pWAVuANmCsiLyO+JkJNAJ7gFMFmYcCO866HRZ4WBkwC7goIt+AIc7CrWhg998EfAAqQrQnYbHb1sCe1bYLcN6/HwEdwGRVLY89tAboBVwL0Z4/ZLT1BMpcgNM88P4Eyj+6Tiy7dlXdbsICsqra4CUZCizxc+vsbCrUaqr6CjAF52GiWS0ibbFz3YA3ti8iK2J7tcBxoE9k+fGv98mZRNpFpEpEUoCJpw6oBu6pqqk3ijnOUCYWeBtwDjjpGVsHTQCeWgep6sHEzANMmIgeWj1FZExk/QSwEqgUkfe+NgMwYWVEpC7mp7v76W/iLUpwImKDJguMzotIVTu5EBvzgR2L3DYF/HwCbjvj44pVu2GAW2snQ41PrgLKga5uf7ZTABVuO34HV9URPiAKoKppHzKVQIuIvPMto/Q7cCF25brbtao6MOZrPjAVsHnSEm21ecAhVW0Gnnh7mOKnu+CsA9ZEztf6Ywo6wIVmfTwbeKCqGb870kuSAnbYfyJKu1045lRaVluB5UC7PdrqLSJZz2ASMChAudXV2Fjg/4msz4HNwBTgMjBXROqLVnugFPt8zleLyDNKRLrEe5bN/b8JbCgp83+FH7747P/OPvyTAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\frac{3}{8}$" ], "text/plain": [ "3/8" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the rational three-eighths\n", "sympy.Rational(3, 8)" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB8AAAASCAYAAACjMAXnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAApxJREFUeJzFlVuITWEUx3/nEHKbZGaMW2pEbinXFI1Lcr+MkRd58ILyQHL3sixFLqWmePGABzxIzoikaKZGRhQyD0e55gVDRpJLE44W62if7dt1OpT/y2p/l7W+9V//tXYql8vxv9A5+qGqB4CJwHCgHPgMPAcagCMi8jbkRFX7AS+AoyKywdcWAhuBUUBf4CVwBzgsIjftTDrmZxPQA7gK1AOnga/AbqBVVQcnJLHUfWUiSVwCxgNX3NddP3dDVVf9kTnQW0S+BDLbC+wCdgLrA8GXAcZKs6pWAVuANmCsiLyO+JkJNAJ7gFMFmYcCO866HRZ4WBkwC7goIt+AIc7CrWhg998EfAAqQrQnYbHb1sCe1bYLcN6/HwEdwGRVLY89tAboBVwL0Z4/ZLT1BMpcgNM88P4Eyj+6Tiy7dlXdbsICsqra4CUZCizxc+vsbCrUaqr6CjAF52GiWS0ibbFz3YA3ti8iK2J7tcBxoE9k+fGv98mZRNpFpEpEUoCJpw6oBu6pqqk3ijnOUCYWeBtwDjjpGVsHTQCeWgep6sHEzANMmIgeWj1FZExk/QSwEqgUkfe+NgMwYWVEpC7mp7v76W/iLUpwImKDJguMzotIVTu5EBvzgR2L3DYF/HwCbjvj44pVu2GAW2snQ41PrgLKga5uf7ZTABVuO34HV9URPiAKoKppHzKVQIuIvPMto/Q7cCF25brbtao6MOZrPjAVsHnSEm21ecAhVW0Gnnh7mOKnu+CsA9ZEztf6Ywo6wIVmfTwbeKCqGb870kuSAnbYfyJKu1045lRaVluB5UC7PdrqLSJZz2ASMChAudXV2Fjg/4msz4HNwBTgMjBXROqLVnugFPt8zleLyDNKRLrEe5bN/b8JbCgp83+FH7747P/OPvyTAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\frac{3}{8}$" ], "text/plain": [ "3/8" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the rational three-eighths\n", "sympy.Rational(3, 8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " In the code cell below, we ask the question: _Is three eighths smaller than three fifths?_ Note the use of the less than `<` comparison operation." ] }, { "cell_type": "code", "execution_count": 106, "id": "226df007", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAQCAYAAABpyU3qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAdNJREFUeJzV1k+IT1EUB/DPMJSiEbLDiCYrG0mKBiVRkr3NSIoUGwtKx0mx9CcbFqLYkbKQUqwUpbBQk43ZmEwW/qxoyuhOT41f7zfymzfN+C7eue+dc+793nPPOfd1jY2N+R/RXR6Z+a/sByLippkmjqzRnUAPLuNLi+61GUZXu1TJzCGswuqIKONZhe5OHTOzF+9xC+dxDtuxDDsqs6fFNCLO1vgPFRkRvTW6TTiJLViCETys5houNnNMHWvwAoXAHVzHt04ny8wBPMPuauOX8BKHiszMlVOK+ASUqFyIiNMtBLZ1QLoP11BOoz8iPkzQlVN8XNXc/iYiPtKmuDvBEczD8YmkCyLiCR5gb2YuaiLibyLih2awuZL9mbmxRr8cc9HXBPGPmsPSSpbCnAwLmyDe7vL6Wcl2a/Tga8u33+89ETFpgTeR4+3wuZIrWhWZuRaLa3yeV3Lr3yafTuKDVVvcl5klN8eRmQtwpY3PVYziYtVh/kBmzs/M8U01kSq1iIjRzCyt6wxeZeb9ar2dKJfIcI3PYGYexA28zcxHeFd1mtK/C+lPWDedER/nglP4jsPYg3vYVUW2bsO3saG6zNbjGA6gpNddHC12bf9VZjt+AXw3h/yRk+N0AAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\text{True}$" ], "text/plain": [ "True" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(3, 8) < sympy.Rational(3, 5)" ] }, { "cell_type": "markdown", "id": "37d397ad", "metadata": {}, "source": [ "The `sympy` package returns `True` to indicate that three eighths is smaller than three fifths." ] }, { "cell_type": "markdown", "id": "62a0537f", "metadata": {}, "source": [ "Depending on the propblem, we can multiply both sides by $1$ expressed in smaller values for the numerator and denominator. The next problem shows the intuition." ] }, { "cell_type": "markdown", "id": "2f6298d2", "metadata": {}, "source": [ "__Problem 1.6.1.1__ Compare the two fractions in __Equation 1.6.1.6__ and determine which is larger." ] }, { "cell_type": "markdown", "id": "9cf0b973", "metadata": {}, "source": [ "$$\n", "\\frac{3}{8} \\text{ vs. } \\frac{1}{4}\n", "\\tag{Equation 1.6.1.6}\n", "$$" ] }, { "cell_type": "markdown", "id": "7ca21e4d", "metadata": {}, "source": [ "The results is shown in __Equation 1.6.1.7__." ] }, { "cell_type": "markdown", "id": "644b22dd", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\frac{3}{8} \\text{ vs. } \\frac{1}{4} \\\\ \\\\\n", "&\\frac{3}{8} \\times \\frac{1}{1} \\text{ vs. } \\frac{1}{4} \\times \\frac{2}{2} \\\\ \\\\\n", "&\\frac{3}{8} \\text{ vs. } \\frac{2}{8} \\\\ \\\\\n", "&\\frac{3}{8} > \\frac{2}{8} \\\\ \\\\\n", "&\\frac{3}{8} > \\frac{1}{4} \\text{ (original problem)}\n", "\\end{align*}\n", "\\tag{Equation 1.6.1.7}\n", "$$" ] }, { "cell_type": "markdown", "id": "0ee463ac", "metadata": {}, "source": [ "Clearly, three eights is larger than two eights and therefor three-eights is larger than a quarter." ] }, { "cell_type": "markdown", "id": "c76170fe", "metadata": {}, "source": [ "We use `sympy` again to verify the result. Note that in this case we use the larger than `>` comparison operator." ] }, { "cell_type": "code", "execution_count": 107, "id": "efecda1d", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAQCAYAAABpyU3qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAdNJREFUeJzV1k+IT1EUB/DPMJSiEbLDiCYrG0mKBiVRkr3NSIoUGwtKx0mx9CcbFqLYkbKQUqwUpbBQk43ZmEwW/qxoyuhOT41f7zfymzfN+C7eue+dc+793nPPOfd1jY2N+R/RXR6Z+a/sByLippkmjqzRnUAPLuNLi+61GUZXu1TJzCGswuqIKONZhe5OHTOzF+9xC+dxDtuxDDsqs6fFNCLO1vgPFRkRvTW6TTiJLViCETys5houNnNMHWvwAoXAHVzHt04ny8wBPMPuauOX8BKHiszMlVOK+ASUqFyIiNMtBLZ1QLoP11BOoz8iPkzQlVN8XNXc/iYiPtKmuDvBEczD8YmkCyLiCR5gb2YuaiLibyLih2awuZL9mbmxRr8cc9HXBPGPmsPSSpbCnAwLmyDe7vL6Wcl2a/Tga8u33+89ETFpgTeR4+3wuZIrWhWZuRaLa3yeV3Lr3yafTuKDVVvcl5klN8eRmQtwpY3PVYziYtVh/kBmzs/M8U01kSq1iIjRzCyt6wxeZeb9ar2dKJfIcI3PYGYexA28zcxHeFd1mtK/C+lPWDedER/nglP4jsPYg3vYVUW2bsO3saG6zNbjGA6gpNddHC12bf9VZjt+AXw3h/yRk+N0AAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\text{True}$" ], "text/plain": [ "True" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(3, 8) > sympy.Rational(1, 4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we use the less than `<` comparison operator (keeping the order of the fractions the same), we get `False`." ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADUAAAASCAYAAAD7T5b+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAqBJREFUeJzll1uIjVEUx38zBil3UlJDktBESCIaw4OhKF6kFCMRCanJvC3/PLsVZryIQRmXB2RcI3fJlEiJxAvlVsaD5NLRYqXjc+acM2c0NWPVaZ9vf2uvvdZea/32OUWpVIrOJsV0Qilpj00kDQOeAwfMbFm7BiUpVy1Wmdl+Omim1ML8fTqAlGSaNLPN/I89Jcl7Yx4wHhgMfAUeArVmdqgVduYD64ExQH/gPfAUaDCzPQndyUA1MC10XwON/srMXv0L+tUCDoBrwA7gCDAUOChpS54BrQRORkCnga3hZA/v34RuFXATmANciT3vASt8lFSaNVOSMpXfiwQkyszsWWJdN+AsUCOpzsxe5ohrFfAFGGdmbxK2BqZ9HwnsdR+A8nS7kmYCF4GdwIJsmbIMnz9QnAwo5tzB3XFYs8hPvkXpJm29S3tcDXT1Mk0elJldBk55K0jqlQ0URbk8iXRvCudLo2TSZUgeAR2OknskqQG46iVmZm8TelNiLJc0KYOdQUAXwDPaVBAoJA0H7gL9gOvABaAZ+B59thTonsuOmW2T5BlZA6wDNgApSR5ctZl5z7gMiNEhkU16toV+G2Ojvy5jSYsjqLzEzOqBekl9ganRF8uB85JGR681h3ofM/uYy2ahQY2I8USGd+WFGDSzD0G+RknFEdj02OMOMDGez+SyVSjSnUIuM9InJc0OxOYlkiollbTQIy6fYtwVMNkeJEza6SbJA25TpvxS9HvjmCQ/SSdSGVAJHAUW5WnH77bPkm7EQTmg3DmHQRNwyZXM7LEkz9y+gMo54EkQsTTWOFxGFZwpM3sAVAC3gLmB3N7AQqCuFaZqgNvAhIBFVTjqVK0ws9+ot1+/UrwEnZhjgbXAkmiF47H+pxR1xj+JPwCDEeF3SO8X1gAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\text{False}$" ], "text/plain": [ "False" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(3, 8) < sympy.Rational(1, 4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Problem 1.6.1.1__ Is $\\frac{21}{43}$ larger than $\\frac{51}{100}$?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We multiply both sides with $1$ as represented in __Equation 1.6.1.8__." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\frac{21}{43} \\times \\frac{100}{100} \\text{ vs. } \\frac{51}{100} \\times \\frac{43}{43} \\\\ \\\\\n", "&\\frac{2100}{4300} \\text{ vs. } \\frac{2193}{4300} \\\\ \\\\\n", "&\\frac{2100}{4300} < \\frac{2193}{4300}\n", "\\end{align*}\n", "\\tag{Equation 1.6.1.8}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We note that $\\frac{21}{43}$ is not larger than $\\frac{51}{100}$. In fact, it is smaller. We confirm this with code below." ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADUAAAASCAYAAAD7T5b+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAqBJREFUeJzll1uIjVEUx38zBil3UlJDktBESCIaw4OhKF6kFCMRCanJvC3/PLsVZryIQRmXB2RcI3fJlEiJxAvlVsaD5NLRYqXjc+acM2c0NWPVaZ9vf2uvvdZea/32OUWpVIrOJsV0Qilpj00kDQOeAwfMbFm7BiUpVy1Wmdl+Omim1ML8fTqAlGSaNLPN/I89Jcl7Yx4wHhgMfAUeArVmdqgVduYD64ExQH/gPfAUaDCzPQndyUA1MC10XwON/srMXv0L+tUCDoBrwA7gCDAUOChpS54BrQRORkCnga3hZA/v34RuFXATmANciT3vASt8lFSaNVOSMpXfiwQkyszsWWJdN+AsUCOpzsxe5ohrFfAFGGdmbxK2BqZ9HwnsdR+A8nS7kmYCF4GdwIJsmbIMnz9QnAwo5tzB3XFYs8hPvkXpJm29S3tcDXT1Mk0elJldBk55K0jqlQ0URbk8iXRvCudLo2TSZUgeAR2OknskqQG46iVmZm8TelNiLJc0KYOdQUAXwDPaVBAoJA0H7gL9gOvABaAZ+B59thTonsuOmW2T5BlZA6wDNgApSR5ctZl5z7gMiNEhkU16toV+G2Ojvy5jSYsjqLzEzOqBekl9ganRF8uB85JGR681h3ofM/uYy2ahQY2I8USGd+WFGDSzD0G+RknFEdj02OMOMDGez+SyVSjSnUIuM9InJc0OxOYlkiollbTQIy6fYtwVMNkeJEza6SbJA25TpvxS9HvjmCQ/SSdSGVAJHAUW5WnH77bPkm7EQTmg3DmHQRNwyZXM7LEkz9y+gMo54EkQsTTWOFxGFZwpM3sAVAC3gLmB3N7AQqCuFaZqgNvAhIBFVTjqVK0ws9+ot1+/UrwEnZhjgbXAkmiF47H+pxR1xj+JPwCDEeF3SO8X1gAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\text{False}$" ], "text/plain": [ "False" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(21, 43) > sympy.Rational(51, 100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We do not require the `Rational` function to create the fractions. We can simply use the `/` symbol to create the fractions and the great than `>` or less than `<` comparison operators as required." ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(21 / 43) > (51 / 100)" ] }, { "cell_type": "markdown", "id": "691c6408", "metadata": {}, "source": [ "Homework 1.6.1.1 Is $\\frac{4}{13}$ smaller than $\\frac{7}{30}$?" ] }, { "cell_type": "markdown", "id": "185c817c", "metadata": {}, "source": [ "### 1.6.2 Multiplication of fractions" ] }, { "cell_type": "markdown", "id": "cf30df60", "metadata": {}, "source": [ "The multiplication of fractions is quite simple. In __Equation 1.6.2.1__, we see two fractions, where each of $a,b,c$, and $d$ are integers, and neither $b$ nor $d$ are equal to $0$." ] }, { "cell_type": "markdown", "id": "9c676807", "metadata": {}, "source": [ "$$\n", "\\frac{a}{b} \\times \\frac{c}{d} = \\frac{a \\times c}{b \\times d}\n", "\\tag{Equation 1.6.2.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "5ca90ec2", "metadata": {}, "source": [ "__Equation 1.6.2.2__ shows an example of multiplying two fractions." ] }, { "cell_type": "markdown", "id": "5b4ee4bf", "metadata": {}, "source": [ "$$\n", "\\frac{3}{11} \\times \\frac{7}{20}\n", "\\tag{Equation 1.6.2.2}\n", "$$" ] }, { "cell_type": "markdown", "id": "4477987b", "metadata": {}, "source": [ "We use `sympy` to solve the problem." ] }, { "cell_type": "code", "execution_count": 111, "id": "2e8811ef", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAASCAYAAADmMahlAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAwdJREFUeJztl1uITWEUx3/HSMKg1FDmgZnwQjwQkctQQ+TOm0vzpoZBlIhWS5End14oUjwot4dxGUXItaaI3C8j1zRDkyZyGy3W0Z49Z+acs2ePTPnXPt/Z3/7+3//ba39rfWsl6uvr+Y/GaJ/8o6o9gJnAFGAQ0Bv4AtwG9tklIj+CZFWdA4wFhgCDgVzgoIjMIw1UtSfwGthltxG0s16v8/KB9cAkwOZ4Axy3RyLyITmuXYAzF9gDDAeuA1uBI8BAYC9wWFUTIZ21wGI3zCuyw3TXPxZRO2uOqhYClUAJcAPYAjwFlgJX3dgNdwzwEJgGlActraprfJLZwCwXT2I58BJ47DvnfBaGsa9dA1wEEhG0o6x3N5AHlInIjgBns7/LBmCR9SUyiTH6W8xIO0VkSRNjxrlh0rqSqnYD3gGHRKSkpdqZcFS1AHgCVAGFIWPmukvZB8oTkbqgKzWHr95+Ix5YXOgAHG0l7VSc8d5WhGOPiHwELgOdgBHWl9YwqmrutsBvTxMPzI3qgLNxazfDGRBwwVR45G1/+8lkx2zygHZSRM7QQqhqRz8RTonI51bQbopj7muobYKX7O+e1jCqWgasAO4D84kHxUAXP41i1W7hepMnWH2zhlHVUmAbcBcoEpH3xOdGlm+Ux6mdAac2tHPC6Bocl9IwqrrMIjpwx0XeEgNUNQeYCpwTkdq4tDPkPAjGkBToF4xBjQyjqqs88bnpInasxoUxnm2mdKMo2llwkjlWsao2eG8/rkcBn4Br1hcesM6DVyUwQUSqiReWcNlReSL8IIp2NhwRsRymAugDlIanAjoDByyHaZDgqepCYD/wHbCsMNVWrxIRG5PkzADsMvQCJnqKfcn7qkVkZWD8C59jdOgFo2hH4VhJcMWzX/s497ykKHIXGikiNeGSoK+3OYD5bCpc8MUkYTWSLTCIAr8Mz4FfhlHVYUC+b/swomhnzbFdo6pDA0XkZM94t3sR+SdgZ1QSxAFV3QisNqOJyDP+cWRaEsR1TN9qC0b5qzuGNoaf/D5+y/1fIZ0AAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{21}{220}$" ], "text/plain": [ "21 \n", "───\n", "220" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(3, 11) * sympy.Rational(7, 20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below, we calculate the same product using simple Python mathematical notation." ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAAQCAYAAACWR6pNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABGZJREFUeJztm1uMXlMUx38zKoiqIhEPKBq3iNCGIpWKSxoqESpNPGhcgghR1wchrP4lkj4gtCqaEqoeEBFESCpM0qCexbVSGhFFXIa2SlxGVrPOZM9xvm/OmW96tNP9TyYn55z9rf9aZ2Xttfdae/qGhobIyMhoH5PKDyQdCtwHnA8cBGwCXvZXZvZzE+FNZEnqA64CrgNOAPYAPgOeApab2d8V8jcC0zrQf2dmh9TQcSHwTNxea2ZPtM2RbZm4funGMSL4JE0H3gMOBl4BPgVmATd7AEmabWY/jmbUGGWtAlzR74Hnga3AecAjwBxJC8ysKk3/Ajxc8XxLDR0PA5bF2MldhrbB0RZPtoV2/DIaRznzPRbBssjMliVCHgJuBe4Hrh9F0cayJF0cgfelB6iZ/RDP9wReAC4FrgCeruAZNLPFNERkWs+qPgG8BNzRZXgbHG3xZFu04/1Sh6M/GXwUMBfwNLu8NM4iEy2UtG8N4qay5sf1wSLwtg80+xO4J25vYnyxCDgnlrquz45AGxxt8WRbxvl7pZnPBzrWmNk/6SAz2yzp3Qio04G3RiFuKqtYN39RIat4NlPSVDMbLL3fS9LlwOFh5AfA2qo9YgFJxwNLfElrZmslFfp2Qhsc2RZNDL/U5RjOfMCxcV3fQYHP43pMDWWbyiqy3ZEVYz2LFjiu4r0H7upYxvq6/G2XL+msKmJJk2L8V8BdNWxpiyPbwq7vlyYcafDtn2wuq1A8n1pD2aayXovrbZIOLBmi5HcHlOT4mvrc+Di+hD0RWAEcAbwh6aQK7nuBGcCVZrathi1tcGRbmDB+qc3xn1ZDF/gG0jEejcGyrOcAT+sXAB9LehX4Laqd0yNTHg2MSPNmlgam40Mv4kjy6tLtgG+SLyleSpoVs5HvLdfVUbQNjmyLJoRfmnL0V2SjImuVMaU0rhsayYp94UVREfo2Kp9XA18DZ0bFiGhD1MHjcZ1TsRxYnxRxekEbHG3xZFt6/GZj8Uma+byh3W1P55mn2z6OXmSZ2V8+Y8TfMCTtA5wMeAr/iHoogjStzE5O9PldKk9o27FS0srYKN+yE3BkW3YdvzTmSINvIK5zJfWnVUpJ+wGzIwDer6HYeMryLLi3N+Gj9VAHZ1RUT/8Anuwwfmas09+JiWPdTsLRFk+2hZ790tgnw8FnZhskrYkWwI3RmS+giPAVZra1dIrFG+Eb0sAYo6wpZvZrqrGkU6NkuyWOqaXv/AjaJjP7qfTcjwI9GrfPJjp5sF9T9WUkLY6Psyo9/tMGR7bFJoRfxsJRLrjcEEfClkryCs8nwGnA2bFEvLs03nt006JFsLFHWW9K2hYb2s1xvnNezCjzzazcA1wA3ClpIE7G+G98MrgwMuXrwAP0hjY4si27qV9GBF9krFOSw9Dz4jD00jgMPWIG6IYxyHoRuCyqnr7P+wbwWWKJmZUD2zEQ/cQZsQTwbDoYqd03vqs7nAVtgjY4si27qV/68r8UZWTwv+BfrGwwyUySXooAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 0.0954545454545454$" ], "text/plain": [ "0.09545454545454544" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(3 / 11) * (7 / 20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a numerical approximation." ] }, { "cell_type": "markdown", "id": "3e53a4a0", "metadata": {}, "source": [ "Note that `sympy` will automatically simplify any fraction. In __Equation 1.6.2.3__ we see such a simplification where five tenths is eqal to a half." ] }, { "cell_type": "markdown", "id": "30e7e877", "metadata": {}, "source": [ "$$\n", "\\frac{5}{10} = \\frac{1}{2}\n", "\\tag{Equation 1.6.2.3}\n", "$$" ] }, { "cell_type": "markdown", "id": "4ae48c61", "metadata": {}, "source": [ "Below, we see that `sympy` simplifies the fraction." ] }, { "cell_type": "code", "execution_count": 113, "id": "3ad3dbfc", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB8AAAASCAYAAACjMAXnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAexJREFUeJzF1cuLj2EUB/DPDMmCLCwoNqyJjazcCyV3di5/AIlMieh0FmSHUIoyGxYKWYxLirCiFJEsxMilSUNZKLmNnnpHMz+/ufj9pnzreZ+e9z3P+Z7zfc5z3paenh7/C6P7LjJzAxZgNmZhPM5FxKbBnGTmJLzHybLEWqzATEzBNzzB2TIi4lfZ11rjZz+2V+Tv/iGJ1ZWvy9iI05iL+ziKi5iBM7iQmS1/ZY5deIsXlQK3h0leMv2IuyiOV6GjN8NKnX14gPVYVwLqRx4Rf8gyi3pDIzMnYDHOR8RP3KpnFxFdmXkKB7GwkNfK3gjK2Y7BpWHYfq/mH+UxEuRF8i+4OZhRZhaVt1TL602TZ+ZYLMe1iPg6hPnhquiuRsSNpsmxFOOqKh8syB3YjefY3Pu+dQQkL3e4YxDibTiGZ1gUEZ+aJs/MUVhZqjsiPg9gsxMn8LQi7ur7vZnM52PiQJJn5h4cwaOK+EOtTWsT5KVRlCZypQ7xgarAHmJJRHTXc9DS98eSmWtQRsFkLMNL3KvedUdEW2X7Bp0RMa+GeCvaURrOcdQ7ks6IaK9tr6Wnl819Mb0aBa/RlplzMLWStRbTqrnURDnzerhTAuyX+XCRmYewtwQVEa80iNYG95Ur9rgZ4oKGMh8p/AaBOJo2R+iMaQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\frac{1}{2}$" ], "text/plain": [ "1/2" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(5, 10)" ] }, { "cell_type": "markdown", "id": "4c363e39", "metadata": {}, "source": [ "### 1.6.3 The least common multiple" ] }, { "cell_type": "markdown", "id": "6ccf343b", "metadata": {}, "source": [ "We have seen that comparisons of fractions are easier when the denominator is the same. Arithmetic with fraction is in general easier when the denominators are the same. In fact, in the case of addition and subtraction the denominators have to be the same. To do this, we need to find the least common multiple." ] }, { "cell_type": "markdown", "id": "9fe84ec5", "metadata": {}, "source": [ "In __Equation 1.6.3.1__, we see the addition of two fractions. We rewrite each fraction by multiplying it by $1$, written as a fraction where the numerator and denominator are the denominator of the _other fraction_." ] }, { "cell_type": "markdown", "id": "c8a111e7", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "\\frac{3}{4} + \\frac{5}{6} &= \\left( \\frac{3}{4} \\times \\frac{6}{6} \\right) + \\left( \\frac{5}{6} \\times \\frac{4}{4} \\right) \\\\ \\\\ \n", "&= \\frac{18}{24} + \\frac{20}{24} \n", "\\end{align*}\n", "\\tag{Equation 1.6.3.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "48a3e6fb", "metadata": {}, "source": [ "In __Equation 1.6.3.2__, we see an alternative way to solve __Equation 1.6.3.1__." ] }, { "cell_type": "markdown", "id": "95160f6f", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "\\frac{3}{4} + \\frac{5}{6} &= \\left( \\frac{3}{4} \\times \\frac{3}{3} \\right) + \\left( \\frac{5}{6} \\times \\frac{2}{2} \\right) \\\\ \\\\ \n", "&= \\frac{9}{12} + \\frac{10}{12} \n", "\\end{align*}\n", "\\tag{Equation 1.6.3.2}\n", "$$" ] }, { "cell_type": "markdown", "id": "9bad06fd", "metadata": {}, "source": [ "We have recognized that $12$ is the least common multiple between $4$ and $6$. Both $4$ and $6$ divide $12$. We can use the `lcm` function from the `sympy` package to find the least common denominator." ] }, { "cell_type": "code", "execution_count": 114, "id": "defda522", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAPCAYAAAD6Ud/mAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAV9JREFUeJy91M2rjkEYx/HPg62VjbJiTewskYWFktedlz/AS0Qp0dVvoewQO4qNjbIkVpKVU6cUSZIoSjopW2+Pbs2px+M+x+I8x6+uppn7N/O9Zq65ZzAcDv0PLRvtJNmLTdiA9ViOW1W1f3xikhXYhe1Yh1X4ime40UVV/Zz1LxmbfxZHGujDP5Lch2vYiCe4hDtYi+u4nWTQuyOcwHu8bjt7OA/oFXbg7mjmSc5gCnuwu8EN5qpRks0N1Ht086nBzuNqVR3tO7pJ6Vtrv88OTByUpCvHwda9v2ggXGgX4l5VPVgUUJJjOImXODD6bWKgJIdxGS+wpao+TxyU5Hh3w/C8QT6OexYMSnIaF/G0QT71+RYESnKuFX8aW6tqZi7vHz9skp3ootNKbMMbPG5jM1V1qnkP4SZ+4Aq+9Kz/tqo6z19PUPfGdQuMak2LTu/wG4TVrV2KrkZ9etSS8QsVzWrHnRSXOgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 12$" ], "text/plain": [ "12" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.lcm(4, 6)" ] }, { "cell_type": "markdown", "id": "6bc67d07", "metadata": {}, "source": [ "We still have to determine if the solutions in __Equation 1.6.3.1__ and in __Equation 1.6.3.2__ are the same. To do this, we see the rule of addition of fractions in __Equation 1.6.3.3__. Fractions can only be added (or subtracted) if they have the same denominator. The addition of two fractions with the same denominator is shown in __Equation 1.6.3.3__ where $c \\ne 0$ and $a,b,$ and $c$ are integers." ] }, { "cell_type": "markdown", "id": "64ceac90", "metadata": {}, "source": [ "$$\n", "\\frac{a}{c} + \\frac{b}{c} = \\frac{a+b}{c}\n", "\\tag{Equation 1.6.3.3}\n", "$$" ] }, { "cell_type": "markdown", "id": "8d828d86", "metadata": {}, "source": [ "Our two solutions are shown in __Equation 1.6.3.4__." ] }, { "cell_type": "markdown", "id": "2f919c8b", "metadata": {}, "source": [ "$$\n", "\\frac{38}{24} \\text{ and } \\frac{19}{12}\n", "\\tag{Equation 1.6.3.4}\n", "$$" ] }, { "cell_type": "markdown", "id": "63274710", "metadata": {}, "source": [ "These two fractions are indeed the same. In __Equation 1.6.3.5__ we simplify thirty-eight twenty-fourths by multiplying it by $1$ in the form of a half over a half." ] }, { "cell_type": "markdown", "id": "96caa66f", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\frac{38}{24} \\times \\frac{\\frac{1}{2}}{\\frac{1}{2}} = \\frac{\\frac{38}{2}}{\\frac{24}{2}} = \\frac{19}{12}\n", "\\end{align*}\n", "\\tag{1.6.3.5}\n", "$$" ] }, { "cell_type": "markdown", "id": "97240b55", "metadata": {}, "source": [ "We can use `sympy` to verify this." ] }, { "cell_type": "code", "execution_count": 115, "id": "032d14f6", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADoAAAASCAYAAAAKRM1zAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAvBJREFUeJzlllmIT3EUxz8zlkzZ54HiBSmFSOHFTrbJTnmwxIMXS5Ypkel0FM3LhKQUmvFATJbIWFIjPI1ShMkWI0uThpLdYHTqXN257mX+c/8z8+Bb/+7/nvu7v+89v3PO95ychoYG/ge0D9+o6kJgPDAcGAZ0AY6IyJK4l1U1B1gBrAIGA+2AB0ApsE9EfiQRq2ov4JWvW5cpv6rmA/OAAmAo0Af4Btxx/lIR+Rmsz428vw1Y40Qvm3BQh4FDQD/gOHAA6AjssXs/iCTMcf7TzeRf5HyjgSpgN3ASGAIcBMrD/I0iCmwAXgCP/WSvJLGo6lxgKfAUGCUidW7vYCTAAmA5UJawhUXjDXCtOfzAQ2A2UBGOnKpuBW44/3x3vrGjIvJ7Y1XlH7BNDCWBk75HvaoWAXYQa+McVdVuwCTgaDi9M+EXkcoEe62q7gd2ABMCR6Opmwl6+/VJzLPANkJVu8c8L/AUP0XLoN6v3wNDGkeDKFp9RtE/9H9QQtp+BC6TZaiqZekyv72YDUfP+XWjqvaMEIXzrkfkQzoB04ELIvKF7KPYBem8iFxKEqNMcAww2Z8BVKvqWeATMAUYADwCBgLRFjMV6BxR26xAVa1NbQLuu1CSOqKudKZ6hUCtb7zSVXOMK6rhdUzaWr+rIItQ1dXe1qqBiSLyNvw8TUTNWSv2Ev+FSfO8F34G7oXsNlDMAipF5F0a7gjfemAXcBeYLCLRw01Vo3+DRddqsdzaTcg+DsjPZtqq6mZ38pZH8g8nUzuqql1jbCNdED4A22N6r6X8mTS8Ia4i57rpkaxLWpsTHup92rFf0CeneU+87rY6ESkMra/y9LSUee/z7kzgqzkVVj1f/xyoEZGxCR/eZH5VDaYuE7u9QFwpGFdZXI1aXdkG0Z4Y9MVnLj4BTgCLXX3zfEi3ObNYRGpiIt3X0ywJmfAH/dvq3mo0DleDyaxRRFsSqroT2GIfLSI2H7cqcluRy9rK7bZwktaMaFvjF8TPDXGE583DAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\frac{19}{12}$" ], "text/plain": [ "19\n", "──\n", "12" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(38, 24)" ] }, { "cell_type": "markdown", "id": "613de897", "metadata": {}, "source": [ "This brings us to an important topic for the least common multiple. We can _break down_ or rewrite any integer into the multiplication of other interegers. In more advanced algebra, we learn that these _other integers_ (if the _break down_ is complete) are all prime numbers (numbers that are only divisible by $1$ and themselves). We see an example in __Equation 1.6.3.6__, where we consider the integers that multiply to get $18$ and $9$, with $18 = 2 \\times 3 \\times 3$ and $9 = 3 \\times 3$." ] }, { "cell_type": "markdown", "id": "f16cade3", "metadata": {}, "source": [ "$$\n", "\\begin{array}{cccc}\n", "18: & 2 & 3 & 3 \\\\ \n", "9: & & 3 & 3\n", "\\end{array}\n", "\\tag{Equation 1.6.3.6}\n", "$$" ] }, { "cell_type": "markdown", "id": "b6f70ee7", "metadata": {}, "source": [ "We have taken care to write similar numbers in the same columns. In __Equation 1.6.3.7__, we add a new line by _bringing down_ or representing all the numbers." ] }, { "cell_type": "markdown", "id": "bb492f9b", "metadata": {}, "source": [ "$$\n", "\\begin{array}{cccc}\n", "18: & 2 & 3 & 3 \\\\ \n", "9: & & 3 & 3 \\\\ \n", "- & - & - & - \\\\ \n", " & 2 & 3 & 3\n", "\\end{array}\n", "\\tag{1.6.3.7}\n", "$$" ] }, { "cell_type": "markdown", "id": "3fe0d3e5", "metadata": {}, "source": [ "If we multiply the numbers in the new row in __Equation 1.6.3.7__, we find the least common multiple of $18$ and $9$, which is $2 \\times 3 \\times 3 = 18$. So, instead of __Equation 1.6.3.8__, we can do __Equation 1.6.3.9__." ] }, { "cell_type": "markdown", "id": "d098ce5d", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "\\text{Longer method: } \\\\ \\\\\n", "\\frac{4}{9} + \\frac{11}{18} &= \\left( \\frac{4}{9} \\times \\frac{18}{18} \\right) + \\left( \\frac{11}{18} \\times \\frac{9}{9} \\right) \\\\ \\\\ \n", "&= \\frac{72}{162} + \\frac{99}{162} \\\\ \\\\ \n", "&= \\frac{171}{192}\n", "\\end{align*}\n", "\\tag{Equation 1.6.3.8}\n", "$$" ] }, { "cell_type": "markdown", "id": "1938146e", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "\\text{Shorther method: } \\\\ \\\\\n", "\\frac{4}{9} + \\frac{11}{18} &= \\left( \\frac{4}{9} \\times \\frac{2}{2} \\right) + \\left( \\frac{11}{18} \\right) \\\\ \\\\ \n", "&= \\frac{8}{18} + \\frac{11}{18} \\\\ \\\\ \n", "&= \\frac{19}{18}\n", "\\end{align*}\n", "\\tag{1.6.3.9}\n", "$$" ] }, { "cell_type": "markdown", "id": "a7c6b3f4", "metadata": {}, "source": [ "We recognized that we do not have to perform the multiplication by rewriting $1$ as a fraction using the _other_ fraction's denominator. Since $18$ was the least common multiple, we only have to consider how to change the $9$ into an $18$ and that was mutiplying by $2$." ] }, { "cell_type": "markdown", "id": "3e93d2a0", "metadata": {}, "source": [ "__Problem 1.6.3.1__ Find the least common multiple of $12$ and $15$." ] }, { "cell_type": "markdown", "id": "03ef918a", "metadata": {}, "source": [ "The process of _breaking down_ or factoring an integer can be tedious. For the relatively small integers that we deal with in the life sciences, we can start by dividing repeatedly by $2$, then $3$, then $5$, and so on, using the primes in an iterative process. Remember, that primes are only divisible by $1$ and themselves. We do so for $12$ and $15$ in __Equation 1.6.3.10__" ] }, { "cell_type": "markdown", "id": "872ab028", "metadata": {}, "source": [ "$$\n", "\\begin{array}{ccccc}\n", "12: & 2 & 2 & 3 & \\\\ \n", "15: & & & 3 & 5 \\\\ \n", "- & - & - & - & - \\\\ \n", " & 2 & 2 & 3 & 5\n", "\\end{array}\n", "\\tag{Equation 1.6.3.10}\n", "$$" ] }, { "cell_type": "markdown", "id": "dca7edfd", "metadata": {}, "source": [ "We have that $2 \\times 2 \\times 3 \\times 5 = 60$. This is smaller than $12 \\times 15 = 180$. We can use the `lcm` function from the `sympy` package to verify our result." ] }, { "cell_type": "code", "execution_count": 116, "id": "62672103", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAhpJREFUeJy9lN1rz3EUx18/Ri1tw4qLTR4Wbrg0T23zOCtXxB/gQonC3E57d0iuPET5A9xpu1BKsywlTCtqSfK0XCiJjBAX+Oms812fPn1/u+NcfE99vu/zeZ/zPudzKtVqlf9hdWWHZtYBHAc2AQuBT8AT4KKkmxm2FTgF9ADNwDvguv+SNFngZpWQnATuAp3AEHAOuAEsALZk2DbgEXAAGAMuABPAMWDUzJpLKzKz/cBp4DawV9LX7P+cLK8rwCLgqKTLCe480AucAQ75WaXokZl5da+AxcAySR9m0tzMVgCvgTdAm6Q/yb+GkLDiiUj6nlbk/VgODAKTZrYbWAP8dFkkjWZc28IPpyRuroSZ3Qe6gQ3ASEq0Lvx74DGwNqvA+7YvqXR1+Bc1in4ZRKucKB0G15rQtB7YATREVbdiOAYSfFP4LzWIivP5/kmJZoevROYjkr5JegrsAd4CXWa2scbFufk9btWcqJj5CUnjaYSkH1GVW3uWcVFZbo0pLiV6Hv5zjcAikfoM7z0os5VpD1Mib/YvB5jZ3JJA7xUxzm53pr7QHU+DbLw3A67EQz+bBkj6CFwLKfqzwJ3ArpBhKPD+hob9zQFHUryHAPOAq/6GynbdCWA90GdmnbFWlsYw/AYOSkqlPQw8AC6Z2XbgWcRvDcn6CuD0Zkiy9yXq+84vbwF8Dd0DzkqakiHDL5lhqfoyLif6V/YXSqm0V7q5tfMAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 60$" ], "text/plain": [ "60" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.lcm(12, 15)" ] }, { "cell_type": "markdown", "id": "aff14797", "metadata": {}, "source": [ "Homework 1.6.3.1 Find the least common multiple of $17$ and $19$." ] }, { "cell_type": "markdown", "id": "999a3c21", "metadata": {}, "source": [ "__Problem 1.6.3.2__ Add the fractions in __Eqiation 1.6.3.11__." ] }, { "cell_type": "markdown", "id": "aea13fe1", "metadata": {}, "source": [ "$$\n", "\\frac{5}{12} + \\frac{7}{15}\n", "\\tag{Equation 1.6.3.11}\n", "$$" ] }, { "cell_type": "markdown", "id": "48704e59", "metadata": {}, "source": [ "We have to _turn_ $12$ into $60$ and $15$ into $60$. This is simple and is shown in __Equation 1.6.3.12__." ] }, { "cell_type": "markdown", "id": "0da244a2", "metadata": {}, "source": [ "$$\n", "\\frac{60}{12} = 5, \\; \\; \\frac{60}{15} = 4\n", "\\tag{Equation 1.6.3.12}\n", "$$" ] }, { "cell_type": "markdown", "id": "66f4adfd", "metadata": {}, "source": [ "We have found the way to rewrite $1$ as fractions for this problem. The solution is shown in __Equation 1.6.3.13__." ] }, { "cell_type": "markdown", "id": "3bd33781", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "\\frac{5}{12} + \\frac{7}{15} &= \\left( \\frac{5}{12} \\times \\frac{5}{5} \\right) + \\left( \\frac{7}{15} \\times \\frac{4}{4} \\right) \\\\ \\\\ \n", "&= \\frac{25}{60} + \\frac{28}{60} \\\\ \\\\ \n", "&= \\frac{25 + 28}{60} \\\\ \\\\ \n", "&= \\frac{53}{60}\n", "\\end{align*}\n", "\\tag{Equation 1.6.3.13}\n", "$$" ] }, { "cell_type": "markdown", "id": "cb6bfbed", "metadata": {}, "source": [ "We use `sympy` to confirm the result." ] }, { "cell_type": "code", "execution_count": 117, "id": "0b1a57fd", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADoAAAASCAYAAAAKRM1zAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABCFJREFUeJzll1uM3VMUxn8zdWuG1i2IlFIZJCVe3Fo6dR0ShLq8NET60ERIRmklqPh8hBD3agUvpHhAo0S0dalGQytNkBYVpC0vaKm2qVFxG1m1/s1/tv/heJk++JKZlbPP2nuvtdda31qnY2BggP8Ddql/sP0lMLqF7npJBxX69wDHA0cC+wPbgK+Al4DZkja2utj2gcDXwBxJfcV3E4BpwHhgX+AH4CPgIUkLCt1RwO3AucB+wDd5vyVtqvQ6G2zYEkoNf/c16F4HdAFvAA8DzwK/AbcBq2wf0spR4MK8f35h+C3AUqAHWATcD7wC7AOcVugeAbwPTAFWAA8Ca4FrgeW2w/G/RzSxWVIY2g5GSPq5XLR9J3AzcBNwdYu9k4CN6VS17zLgDuBN4GJJW4tzdy3OeBQ4AOiT9EhN74EMQthxVauIto0mJxPPp+xu+tL2SOCMiJSk33MtbIlS+AmYXDqZ9/1aO2MM0AtEuc0pVYF+4ArbXa0iurvty4FDU3lVvHplUJu4IGXsbcJ5wG7Ai7W1qMfDgXnAJtuhcwwQj7lC0vLijHiowOuS/hjkpbTV9rv5ECcDi5scDcJ5ulhbZ3uKpLebrLY9A9gTGJnkdGo6efc/pG1/1naFE1KuBz4Aji3uiBS/VNJ3uXRUys9b3PFFOhpEubhM3SeBM9PZrrzsceAwYKHt41ocOiPTZVo6GSTSWzOqbvAeyZALi9SPWiNrajhwFrBXRvW1JKcXavrxqBV5NmFLyr3j36CISgp2rePjuNj2j8D0ZNOIxiBUbSdbxviM5Ie2z5cU0amjN6M/iG2BYSk7MnIr8/Mntidl5CbaHteQxk3oSDnwX8josZTxqi0hKXrt/HQmqH1ug1oY/QvwarFe9by1NSerc7dlVAMnFhGrIltiRF2vXUc3pNzOYP8GSTE0rAbG2o5BYjtsD0uiektSmXKfpdzc4tjqIYYX+lGDTeiu13C7jo5LGc24XRycss7WPRnpMm0DS3PY6LYdjFwiapVsJ4ElKXuzNe2A7ajtU3JSey/WdijYjtePcWsQbMdIODs/PlNbP9r2oJEw1ztzYAhyWVYfw2IIAKIVvFzuk/Q98Fym4q3FmWcD52QaLkr9NdFakiivKc3gr+ybK6m/JKOYSm60HS+1DoiGHSNW9LNgygXFGBjMeW/S/pqccoKMJgLRzL8FphYGXJTORwtpwvXAScBM2z051o3Ouo7MmCqpntoxdS0DZtmObvFp7j89U3ZmpVgP+ZJMqWjak/PSMPod4EogGDRIpEKMaU9kKkakbgAuyQE8XnSspNW1qESfHNUibauobkhDY2aNObkvB4MgrgmS6u2limr07ady3/QMzqwot/qPio6h+plm+66cfcdIiowZUnQO4V2Rfit3hpMMZUR3Nv4EnPxmWq0agIMAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{53}{60}$" ], "text/plain": [ "53\n", "──\n", "60" ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Rational(5, 12) + sympy.Rational(7, 15)" ] }, { "cell_type": "markdown", "id": "f5ae86cf", "metadata": {}, "source": [ "Homework 1.6.3.2 Add the fractions in __Equation 1.6.3.14__." ] }, { "cell_type": "markdown", "id": "763126af", "metadata": {}, "source": [ "$$\n", "\\frac{5}{12} + \\frac{5}{6}\n", "\\tag{Equation 1.6.3.14}\n", "$$" ] }, { "cell_type": "markdown", "id": "f759b6b2", "metadata": {}, "source": [ "### 1.6.4 Remainders" ] }, { "cell_type": "markdown", "id": "c46afacb", "metadata": {}, "source": [ "A fraction does not change in value if we divide the numerator and the denominator by the same value. This is shown in __Equation 1.6.4.1__." ] }, { "cell_type": "markdown", "id": "939cc634", "metadata": {}, "source": [ "$$\n", "\\frac{p}{q} = \\frac{\\frac{p}{k}}{\\frac{q}{k}}, \\text{ where } p,k \\ne 0\n", "\\tag{Equation 1.6.4.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "6dd869c1", "metadata": {}, "source": [ "In __Equation 1.6.4.2__, we note the equality between six-eights and a three-quarters." ] }, { "cell_type": "markdown", "id": "122b67b7", "metadata": {}, "source": [ "$$\n", "\\frac{6}{8} = \\frac{\\frac{6}{2}}{\\frac{8}{2}} = \\frac{3}{4}\n", "\\tag{Equation 1.6.4.2}\n", "$$" ] }, { "cell_type": "markdown", "id": "8b52a4e7", "metadata": {}, "source": [ "In the case of six-eigths, we can divide the numberator and the denominator by the same number (and hence not change the value of the fraction). In this case, we can divide both by $2$ to get theee quarters. To do the simplification, we made use of the fact that $2$ divides both $6$ and $8$." ] }, { "cell_type": "markdown", "id": "d419d85a", "metadata": {}, "source": [ "We could not divide $3$ and $4$ by another integer that divides both $3$ and $4$. By divides in this case, we mean, division without a remainder, or then, a remainder of $0$." ] }, { "cell_type": "markdown", "id": "679ac386", "metadata": {}, "source": [ "Consider, though, dividing $11$ by $4$. We know that $4$ does not divide $10$. If we divide $11$ by $4$ and still require this division to produce a whole number, we can at best get $2$ with a remainder of $3$. We see this in __Equation 1.6.4.3__." ] }, { "cell_type": "markdown", "id": "13ede2c8", "metadata": {}, "source": [ "$$\n", "\\frac{11}{4} = 2 \\text{ with a remainder of } 3 \n", "\\tag{Equation 1.6.4.3}\n", "$$" ] }, { "cell_type": "markdown", "id": "aa1d4264", "metadata": {}, "source": [ "We have that $4$ divides into $11$ twice, with a remainder of $3$ since $2 \\times 4 = 8$ and $8 + 3 = 12$. We can write this in more egneral terms as shown in __Equation 1.6.4.4__." ] }, { "cell_type": "markdown", "id": "6843eb40", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&11 = 2 \\times 4 + 3 \\\\ \\\\\n", "&b = c a + r\n", "\\end{align*}\n", "\\tag{Equation 1.6.4.4}\n", "$$" ] }, { "cell_type": "markdown", "id": "fac266fe", "metadata": {}, "source": [ "If $r=0$, we say that $a$ divides $b$ and $b=ca$, or then, $b$ is a constant multiple of $a$." ] }, { "cell_type": "markdown", "id": "0609ee99", "metadata": {}, "source": [ "__Problem 1.6.4.1__ Caclulate the remainder when $13$ is divided by $2$." ] }, { "cell_type": "markdown", "id": "05ef6ba6", "metadata": {}, "source": [ "We note that $2$ goes into $13$ a total of $6$ times. Since $6 \\times 2 = 12$, we have a remainder of $1$. In __Equation 1.6.4.5__ we see the calculation. In the last line we also see a common notation for the remainder, where we state that $13$ divided by $2$ is $6$ and a half." ] }, { "cell_type": "markdown", "id": "27f8a583", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\frac{13}{2} = 6 \\text{ with a remainder of } 1 \\\\ \\\\\n", "&\\frac{13}{2} = 6 \\, \\frac{1}{2}\n", "\\end{align*}\n", "\\tag{Equation 1.6.4.5}\n", "$$" ] }, { "cell_type": "markdown", "id": "58b6d4ab", "metadata": {}, "source": [ "The `Mod` function in `sympy` returns the remainder and we use it below to verify the result." ] }, { "cell_type": "code", "execution_count": 118, "id": "ef98c374", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAJFJREFUeJzt0qEKAlEQheFvxarZbBCbvoHRajAKZqOwURjuw/gcBt9DEIxG+8qFDcviwlpM/jBhhhnmzHCKqqp8y7CZpJS2WGGJBUY4R8SucwinuvmFB+afNg1a+REzjHHoJS8iLg2pnTe1N/XiP1Tzu0cUTcOmlDbIkZlgjRuude0ZEWXbe9mo+1ZtWkfmjvINcckbvxdX11QAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 1$" ], "text/plain": [ "1" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.Mod(13, 2)" ] }, { "cell_type": "markdown", "id": "a779a9c2", "metadata": {}, "source": [ "Homework 1.6.4.1 What is the remainder when we divide $125$ by $11$." ] }, { "cell_type": "markdown", "id": "58405e97-adb2-4226-96db-266f49950c7e", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "## 1.7 Trigonometric functions (optional)" ] }, { "cell_type": "markdown", "id": "688c56f7", "metadata": {}, "source": [ "In this section, we take a brief look at basic trigonometry. The trigonomtery that we explore here concenrs the right triangled triangle. A right triangle is a triangle with one angle of $90^{\\circ}$." ] }, { "cell_type": "markdown", "id": "15779e9a", "metadata": {}, "source": [ "__Figure 1.7.1__ shows a right triangle with the angle $\\theta$. The sides are named in relation to the angle $\\theta$." ] }, { "cell_type": "code", "execution_count": 119, "id": "f5efe4d3", "metadata": {}, "outputs": [ { "data": { "image/png": "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/ddff12t3gbVuSOfO1lgXHZwUd/lL8+yyy6bff7RRx8t9OPXhSEFe+65Z97SjwDA/xEOAJAK9erVS5awK/XSSy9V+Tuvvvpqte6oL7HEEtnnkyZNqnTfWbNmhQ8//DAsbLnLEI4YMWKhH782euGFF/La2pACAKiYcACA1OjcuXP2+f3331/l/vfdd1+1jrvaaqtln7/xxhuV7vvYY4+FGTNmhIVtp512yj4fNWpUePvtt0PaDRw4MPt87bXXzgtQAIB8wgEAUuOggw7KPh83blx45JFHKtz3zTffDHfddVe1jpu7LOKAAQMqXTHh9NNPD4tCrENp+BF7O+y7777J61VH7M1Q11YrmDlzZhg8eHD2Z70GAKBywgEAUmO99dYLe+yxR/bn/fbbLzz88MNl9ps4cWLYYYcdkhn8GzVqVOVx99577+zzBx54INx4441l9nn//fdD165dwyeffLLIxr3fcMMNyfKL0VtvvZUEBs8880yF+3/88cfh4osvTno+xPdcjGLgUVJSkjwOPPDAav9e7KFRGnjEISUxLPkzVl111ezrn3feeX/qGABQG/zfDEoAkALxAjrON/D5558nKxH06dMnrLXWWsmFdJxYMHbHf+WVV5J9TzrppDBkyJDwxRdfZC8yy9OhQ4ew4447hieffDL5+dhjjw033XRT2GqrrZKLyg8++CAZ/x5XKYgXuJ999lkYO3bsIgk/Bg0aFPr27ZusxhBft3v37mGllVYKm2++eVhmmWWSXgI//fRT0jOiOpMyLohbb701eeSKr5crhi7zBy79+vVLHotqIsJu3bqFFVdcMSxqhx56aPbfTqlffvkl+/zbb78NG220UZnfu+OOO8Jmm222yOsHAJURDgCQKq1btw7PPvtssqTd//73v6QsXkTHx/wXepdddlnSE6C8iQfLuxjdbrvtsheHsadAfOQ6+OCDw80335zst6jEuQeee+65cMghhyQTKkZfffVV8qjs7vjCuHj+/vvvk9ChMu+99165v7cw/fjjj2H48OHZnxekx8FfEXtiVPb+Z8+eXe72uCoGABSacACA1Ind6F977bXkjm280/7uu+8mF2jLL798cof9sMMOS+64R6Vd02MPgObNm1d4zKWXXjq5KC895jvvvJN3zMMPPzx7zEVtww03TEKKp59+OgwdOjQZMhDvWk+ZMiUZ0tCqVauw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HACg4J544omw3nrr5ZX9/PPPyRwEY8aMKVi9AADSQjgAQMEtt9xyYezYsWHLLbfMK//tt99Cz549w+OPP16wugEApIFwAICisPTSS4dnnnkmbLvttnnlM2fODLvuumu49957C1Y3AIC6TjgAQNFYfPHFkyEGu+22W1753Llzw3777RduuummgtUNAKAuEw4AUFQaN24cBg8eHA488MAy24455phw0UUXhUwmU5C6AQDUVcIBAIpOgwYNwp133hlOPPHEMtvOPvvscPLJJ4d58+YVpG4AAHWRcACAolSvXr1w1VVXJT0F5nfNNdeEQw45JMyZM6cgdQMAqGuEAwAUrZKSknDmmWeGG2+8scy2AQMGhD322CPMmDGjIHUDAKhLhAMAFL2jjz46Wa2gfv36eeWPPPJI2GmnnZIlDwEA+POEAwDUCvvss08YOnRoaNKkSV75qFGjkuUPf/nll4LVDQCgthMOAFBrxF4Cw4cPD0sssURe+UsvvRQ6duwYvv3224LVDQCgNhMOAFCrdOrUKYwePToss8wyeeXvvPNOaN++ffjkk08KVjcAgNpKOABArbPpppuG8ePHhxVXXDGv/LPPPksCgrfffrtgdQMAqI2EAwDUSmuvvXaYMGFCWGONNfLKv//++6R3wQsvvFCwugEA1DbCAQBqrVVWWSUJCDbaaKO88smTJ4du3bqFkSNHFqxuAAC1iXAAgFqtdevWYcyYMclwglx//PFH2HHHHcOQIUMKVjcAgNpCOABArdeiRYswYsSIsP322+eVz549O+yxxx6hf//+BasbAEBtIBwAoE5YbLHFwtChQ0Pfvn3zyufNmxcOOeSQcPXVVxesbgAAxU44AECd0ahRo3DfffeFfv36ldl28sknh7POOitkMpmC1A0AoJgJBwCoU+rXrx9uvvnmcMYZZ5TZdvHFF4djjjkm6U0AAMD/EQ4AUOeUlJSESy65JFxxxRVltsXgYL/99kvmIwAA4P8RDgBQZ51yyinh9ttvD/Xq5Z/u7r///rDrrruG6dOnF6xuAADFRDgAQJ126KGHhsGDB4eGDRvmlT/55JOhZ8+eYerUqQWrGwBAsRAOAFDn9e7dOzz++OPJiga5xo0bF7p27Rp++umngtUNAKAYCAcASIXtttsujBw5Miy55JJ55a+99lro0KFD+PLLLwtWNwCAQhMOAJAa22yzTRg7dmxYdtll88o/+OCD0L59++S/AABpJBwAIFU22GCDMGHChLDqqqvmlX/11VdJD4LYkwAAIG2EAwCkTtu2bZOAYN11180rj3MPdOnSJYwfP75gdQMAKAThAACp1KZNm2RCws033zyv/Ndffw09evQITz31VMHqBgBQ04QDAKRWy5Ytw6hRo5LeArlmzJgR/vGPf4RBgwYVrG4AADVJOABAqi2xxBJJL4EYBuSaM2dO2GeffcItt9xSsLoBANQU4QAAqdekSZPw8MMPh/333z+vLTKZTDjqqKPCJZdckjwHAKirhAMAEEJo0KBBuOuuu8Jxxx1Xpj3OPPPMcOqppwoIAIA6SzgAAKUnxXr1wrXXXhvOP//8Mm1y5ZVXhsMOOyzMnTtXewEAdY5wAABylJSUhHPOOSdcd911ZdrlzjvvDH379g0zZ87UZgBAnSIcAIByxOEFAwcODPXr188rHzJkSOjVq1f4/ffftRsAUGcIBwCgAnGCwhgGNG7cOK/86aefDt27dw+TJ0/WdgBAnSAcAIBKxCUOhw0bFhZffPG88ueffz506tQpfPfdd9oPAKj1hAMAUIUuXbqEZ599NrRs2TKv/O233w4dOnQIn332mTYEAGo14QAAVMPmm28exo0bF9q0aZNX/sknn4R27dqFd955RzsCALWWcAAAqmndddcNEyZMCG3bts0rj0MLOnbsGF566SVtCQDUSsIBAFgAq666ahg/fnzYYIMN8sp/+eWX0K1bt2T4AQBAbSMcAIAFtNxyy4UxY8aEbbbZJq982rRpYfvttw9Dhw7VpgBArSIcAIA/YamllkqWNNxuu+3yymfNmhV23333MHDgQO0KANQawgEA+JOaNWsWHnvssdCnT5+88nnz5oUDDzwwXHfdddoWAKgVhAMA8Bc0atQoDBo0KBx22GFltp1wwgnh3HPPDZlMRhsDAEVNOAAAf1H9+vXDbbfdFk499dQy2y644IJw/PHHJ70JAACKlXAAABaCkpKScPnll4dLL720zLYbbrghGWYwe/ZsbQ0AFCXhAAAsRKeffnq49dZbk7Ag1z333BN69+4dZsyYob0BgKIjHACAheyII45I5iFo0KBBXnmcvDAudfjrr79qcwCgqAgHAGAR6Nu3bxIGNG3aNK98zJgxoVu3buHnn3/W7gBA0RAOAMAiEnsJPP3006FFixZ55a+88kro0KFD+Prrr7U9AFAUhAMAsAi1b98+6S3QunXrvPL3338/2fbRRx9pfwCg4IQDALCIbbTRRmH8+PFh5ZVXziv/4osvkh4Eb775ps8AACgo4QAA1IA111wzTJgwIay99tp55T/88EPo1KlTmDhxos8BACgY4QAA1JCVVlopjBs3Lmy66aZ55VOnTg3du3cPw4cP91kAAAUhHACAGtSqVavw7LPPJr0Fck2fPj306tUrDB482OcBANQ44QAA1LDmzZuHYcOGhZ133jmvfPbs2WGvvfYK//nPf3wmAECNEg4AQAE0bdo0DBkyJOy777555ZlMJhxxxBHh8ssv97kAADVGOAAABdKwYcMwcODAcPTRR5fZdvrppyePGBYAACxqwgEAKKB69eqFG264IZx99tlltsXeA/369Qtz584tSN0AgPQQDgBAgZWUlIQLLrggXH311WW2xfkH9t577zBr1qyC1A0ASAfhAAAUiRNPPDH0798/6U2Q68EHHwz/+Mc/wh9//FGwugEAdZtwAACKyEEHHRQefvjh0KhRo7zy4cOHhx49eoQpU6YUrG4AQN0lHACAIrPrrruGp556KjRr1iyvfOLEiaFz587hhx9+KFjdAIC6STgAAEWoW7duYdSoUWGppZbKK3/zzTdD+/btwxdffFGwugEAdY9wAACK1JZbbhnGjRsXll9++bzyjz/+OLRr1y689957BasbAFC3CAcAoIitt956YcKECWH11VfPK//mm29Chw4dwiuvvFKwugEAdYdwAACKXAwGYkAQg4JckyZNCl26dAljxowpWN0AgLpBOAAAtUAcWjB27Niw1VZb5ZVPmzYt9OzZMzz22GMFqxsAUPsJBwCgllh66aXDyJEjQ/fu3fPKZ86cGXbbbbdwzz33FKxuAEDtJhwAgFpk8cUXD48//njYfffd88rnzp0b9t9//3DDDTcUrG4AQO0lHACAWqZx48bhgQceCAcffHCZbccdd1y48MILQyaTKUjdAIDaSTgAALVQgwYNwh133BFOOumkMtvOOeecpHzevHkFqRsAUPsIBwCgliopKQlXXnlluOiii8psu/baa8MhhxwS5syZU5C6AQC1i3AAAGp5QHDmmWeGm266KXmea8CAAaFPnz5hxowZBasfAFA7CAcAoA446qijwr333psMN8g1dOjQsOOOO4bffvutYHUDAIqfcAAA6oi99947CQOaNGmSV/7ss8+GbbfdNkyaNKlgdQMAiptwAADqkNhLYMSIEWGJJZbIK3/ppZdCp06dwrfffluwugEAxUs4AAB1TMeOHcOYMWPCMsssk1f+zjvvhHbt2oVPPvmkYHUDAIqTcAAA6qBNNtkkjB8/Pqy00kp55Z9//nlo3759eOuttwpWNwCg+AgHAKCOWnvttcOECRPCmmuumVf+/fffJ0MMnn/++YLVDQAoLsIBAKjDVl555aQHwcYbb5xXPmXKlGSSwqeffrpgdQMAiodwAADquNatW4fRo0eHDh065JX/8ccfYaeddgoPP/xwweoGABQH4QAApECLFi3C8OHDww477JBXPnv27NC3b9/Qv3//gtUNACg84QAApMRiiy0WHnnkkbDnnnvmlc+bNy8ccsgh4aqrripY3QCAwhIOAECKNGrUKNx7772hX79+Zbb985//DGeeeWbIZDIFqRsAUDjCAQBImfr164ebb745/Otf/yqz7ZJLLglHH3100psAAEgP4QAApFBJSUm4+OKLw7///e8y22655Zaw7777JvMRAADpIBwAgBSLQwnuuOOOUK9e/leCQYMGhV122SVZ0QAAqPuEAwCQcnEywsGDB4eGDRvmlT/11FOhZ8+eYerUqQWrGwBQM4QDAEDo3bt3eOKJJ5IVDXKNHz8+dOnSJfz4449aCQDqMOEAAJDo0aNHeOaZZ8KSSy6Z1yKvv/566NChQ/jyyy+1FADUUcIBACBr6623DmPHjg3LLrtsXqt8+OGHoX379uGDDz7QWgBQBwkHAIA8G2ywQZgwYUJYddVV88q/+uqrJCB47bXXtBgA1DHCAQCgjLZt2yYBwbrrrptX/vPPP4fOnTuHcePGaTUAqEOEAwBAudq0aZOEAFtssUVe+W+//Ra222678OSTT2o5AKgjhAMAQIVatmyZTFLYtWvXvPIZM2aEXXbZJQwaNEjrAUAdIBwAACq1xBJLJL0EYhiQa86cOWGfffYJt9xyixYEgFpOOAAAVKlJkybhoYceCgcccEBeeSaTCUcddVS4+OKLk+cAQO0kHAAAqqVBgwahf//+4fjjjy+z7ayzzgqnnHKKgAAAainhAABQ/S8O9eqFa665JlxwwQVltl111VXh0EMPTYYbAAC1i3AAAFggJSUl4eyzzw7XX399mW2xZ0Hfvn3DzJkztSoA1CLCAQDgTzn22GPD3XffHerXr59X/t///jfsvPPOYdq0aVoWAGoJ4QAA8Kftt99+SRjQuHHjvPKRI0eG7t27h19++UXrAkAtIBwAAP6SXr16hWHDhoXFF188r/yFF14InTp1Ct99950WBoAiJxwAAP6yLl26hNGjR4eWLVvmlf/vf/8L7du3D59++qlWBoAiJhwAABaKzTbbLIwfPz60adMmrzwGAzEgiEEBAFCchAMAwEKzzjrrhIkTJ4a2bdvmlcehBR07dgwvvvii1gaAIiQcAAAWqlVWWSVMmDAhbLjhhnnlkydPDt26dQujRo3S4gBQZIQDAMBCt+yyy4YxY8aEdu3a5ZX//vvvYYcddgiPPPKIVgeAIiIcAAAWiSWXXDKMGDEi9OzZM6981qxZoXfv3mHAgAFaHgCKhHAAAFhkmjVrFh599NGwxx575JXPmzcvHHTQQeHaa6/V+gBQBIQDAMAi1ahRo3D//feHww8/vMy2E088MZxzzjkhk8n4FACggIQDAMAiV79+/XDrrbeG0047rcy2Cy+8MBx33HFJbwIAoDCEAwBAjSgpKQmXXXZZ8pjfjTfeGA444IAwe/ZsnwYAFIBwAACoUbH3wG233ZaEBbnuvffesPvuu4fp06f7RACghgkHAIAaF+cfGDRoUGjYsGFe+eOPPx6233778Ouvv/pUAKAGCQcAgILo27dveOyxx0LTpk3zyseOHRu6du0afvrpJ58MANQQ4QAAUDA9e/YMI0eODC1atMgrf/XVV0PHjh3DV199VbC6AUCaCAcAgIJq165d0lugdevWeeXvv/9+aN++ffjwww8LVjcASAvhAABQcBtuuGGYMGFCWGWVVfLKv/zyy9ChQ4fwxhtvFKxuAJAGwgEAoCisscYaSUCw9tpr55X/+OOPoXPnzsk2AGDREA4AAEVjxRVXDOPHjw+bbrppXvnUqVNDjx49wrBhwwpWNwCoy4QDAEBRWWaZZcKzzz4bOnXqlFc+ffr00KtXrzB48OCC1Q0A6irhAABQdJo3b570Eth5553zyufMmRP22muvcNtttxWsbgBQFwkHAICi1LRp0zBkyJCw77775pVnMpnQr1+/cNlllxWsbgBQ1wgHAICi1bBhwzBw4MBw7LHHltl2xhlnhNNOOy0JCwCAv0Y4AAAUtXr16oXrrrsunHPOOWW2XXHFFeGII44Ic+fOLUjdAKCuEA4AAEWvpKQknH/++eGaa64ps+32229P5iGYNWtWQeoGAHWBcAAAqDVOOOGEcNdddyW9CXI99NBDyUoGv//+e8HqBgC1mXAAAKhVDjzwwGSiwkaNGuWVjxgxIvTo0SNMnjy5YHUDgNpKOAAA1Dq77LJLeOqpp0KzZs3yyp977rnQuXPn8P333xesbgBQGwkHAIBaqVu3buHZZ58NSy+9dF75W2+9FTp06BA+//zzgtUNAGob4QAAUGttscUWYdy4cWGFFVbIK//4449D+/btw7vvvluwugFAbSIcAABqtb///e9hwoQJYfXVV88r/+abb0LHjh3Dyy+/XLC6AUBtIRwAAGq91VZbLQkI1l9//bzySZMmha5du4bRo0cXrG4AUBsIBwCAOmH55ZcPY8aMCVtttVVe+bRp08L2228fHn300YLVDQCKnXAAAKgz4uSEzzzzTOjevXte+cyZM8Puu+8e7r777oLVDQCKmXAAAKhT4vKGjz/+eOjdu3de+dy5c8MBBxwQbrjhhoLVDQCKlXAAAKhzGjduHB544IFwyCGHlNl23HHHhQsuuCBkMpmC1A0AipFwAACok+rXrx9uv/328M9//rPMtnPPPTeceOKJYd68eQWpGwAUG+EAAFBnlZSUhCuuuCJcfPHFZbZdd9114eCDDw5z5swpSN0AoJgIBwCAOh8Q/Otf/wo333xz8jzXwIEDk7kJZsyYUbD6AUAxEA4AAKlw5JFHhvvuuy80aNAgrzwucbjDDjuE3377rWB1A4BCEw4AAKmx1157haFDh4YmTZrklY8ePTp069YtTJo0qWB1A4BCEg4AAKmy4447hqeffjo0b948r/zll18OHTt2DN98803B6gYAhSIcAABSp0OHDklvgVatWuWVv/vuu6F9+/bh448/LljdAKAQhAMAQCptsskmYfz48WGllVbKK//888+TgOCtt94qWN0AoKYJBwCA1FprrbXChAkTwpprrplX/sMPP4ROnTqF5557rmB1A4CaJBwAAFJt5ZVXTnoQbLzxxnnlU6ZMCd27dw8jRowoWN0AoKYIBwCA1GvdunUyB0GckDDXH3/8EXbeeefw0EMPpb6NAKjbhAMAACGEFi1ahOHDhyerGeSaPXt22HPPPcMdd9yhnQCos4QDAAD/v6ZNm4ZHHnkk7L333nltMm/evHDYYYeFK6+8UlsBUCcJB4DUKykpyT4AGjZsGO65555w5JFHlmmMU045JfzrX/8KmUymVjaUv3cAVEQ4AAAw/xekevXCTTfdFM4888wybXPppZeGo446KsydO1e7AVBnCAcAqqFz587ZO25jxozRZpAC8f/vF110UblDCW699daw7777hlmzZhWkbhRWPA+UnhPi+QGgLhAOAABU4uSTTw533nln0psg1wMPPBB22WWXZEUDAKjthANA6sWxw6UPgPIcfPDB4cEHHwyNGjXKKx82bFjYbrvtwtSpUzUcALWacAAAoBp233338MQTT4RmzZrllU+YMCHpWv7jjz9qRwBqLeEAAEA1de/ePTzzzDNhySWXzCt/4403QocOHcKXX36pLQGolYQDUGAvvPBCOOaYY8Lf//73sNRSS4UmTZqEFVdcMfTs2TPceOON4ffff6/0988777zspEjxeRTHv958883JF9Xll18+OebKK68c9tprr/Dss8/+6YmWhg4dGv7xj3+EVVddNTnmcsstl3xRHjBgQLIGeE2+71JxKECsV1yTfK211grNmzdPuv0uu+yyybFj/eKEYi+//HKFdaxsaa/S8rFjx2bLunTpkvc7pY/YDhWJ7+eWW24JO++8c1hllVXCYostFpZYYomwxhprJN2Vq/O5AMVhq622CuPGjUv+Bub68MMPQ7t27cL7778fapMPPvggnHDCCWGdddYJiy++ePJ3dMMNNwxnnHFG+Pnnnyv8vV69emX//l122WXVfr24FGTp7+2zzz552z7//PPstniuKTV69Ojk7/zf/va30LRp07DMMsuE9u3bh+uvvz7MmDFjgd7vO++8kyxJufHGGyfHady4cVhhhRWS893ll18eJk2aVOU5N54HSsXzQ3nnhNz6lyeel0488cSw0UYbhVatWiXnrvhvqlOnTkk9Jk+eXOV7ia9R+nqx7aKvv/46nH322clnGEOs2NNl7bXXDscee2z44osvFqitZs+enSzruccee4TVV189OW/F46222mrJd4pHHnmkyiF58dxYWscDDzywytes6N9AeeL/10499dTk/5Pxs4xt2KJFi9C2bdukLK4qEr8j/PrrrzXyXqHWywAFMW3atEzfvn3jWabSx/LLL5956qmnKjzOueeem903Pn///fcz6667bqXHPPDAAzOzZs2q8JijR4/O7tupU6fMr7/+mtlll10qPebmm2+e+eabb2rsfUfff/99Zuutt67yWKWPkSNHlnuc3H0q21bV46677ir3+A8++GBmueWWq/L3d9ppp8yUKVMydd2gQYPKvPcff/yx0NWCBfbxxx9nVltttTL/npdZZpnMK6+8UpQtOv/fu1tuuSXTuHHjCv8utWzZMvPyyy+Xe6zHH388u98aa6xRrdefM2dOpk2bNtnfGzVqVN72zz77LLttlVVWSc5V/fr1q/Rv55prrpl55513qnzt2bNnZ4499thM/fr1Kz3ekksumRkwYECV59yqHrH+5fnll18yu+++e5W/H+vx0EMPVfqe4muU7h/b7pFHHsm0aNGiwmM2bdo088QTT2SqI34X+Nvf/lZlPbfaaqvM119/XeFx4rmxdN8DDjigyted/99AReJn0aBBg2p9Fvvss0+NvFeo7RoUOpyANIp39rt27RpeeumlbFm8axHv9Me7Nh9//HEyhjWuof3dd98ld2cGDRoUevfuXelx44RYO+ywQ/j000+T9DzeBYk9Bn755ZfkrkvpXYiY4sc6DB48uFr1Peigg5LkPdpiiy2SO/IzZ85M7v7H1yq9AxLf03PPPReWXnrpRf6+4z477rhjePXVV7Nl6623XvKId0rinaTvv/8+vPnmm8mx/qyjjz46+W+8Y/Dtt98mz+Ps5G3atCmzb7zrNr9rrrkmmem89G5DvBOx9dZbh5VWWil5D++++27SdnF7HMsc7xjFNow9C4DiFu9ix79ZPXr0SO5Gl4p32+Od5ccffzz5/3SxiueCI488Mnkee15tttlmyV35eDd24sSJyd+leBc99nh67733ygyl2H777ZO/ZV999VX46KOPkt4UHTt2rPQ1hw8fHr755pvkebw7m3sHvjynnXZasmxkFP++x7v98Y7ya6+9Fv73v/9le2yUnn/iMcsTe47FOSMee+yxbFk8V8XzZPxvfA/xPBmXppwyZUpyhzueM2OPilzxHBjPC/E9lJ4X43ls1113LfOaLVu2LFMWz0uxrrE9c88dsfdAPD/EeSviv6n4byjWI97Fjnez5+9hUZ5Ro0aFI444Ijm3xHN/PNfEXiCfffZZ0iNwzpw5Yfr06ckxY9vFO+IVeeihh5LXjHfTo9i7L96Jj3fy69evn7T5888/nxwzfheIrxXPZbHX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7r/52KukKn91GGD8/hGHGz799NN5kzQ+/vjjefs5T0NZwgGoYbnL4AwcOLDKi/l4cVt6Ms1d1qg88ctGXMapMnHCptzunnFCn6rcc889Ve4T30tlx1yU77sy8fdyxyPGHgV/RqxDVZNy5cqdiTuuDPHjjz/+qdcF6o44SWoc5pQ7Y3zpCi/xzuefDS+LRbwoK+36HruGDxgwIK/XwF577bVA8whU9/wTXye3jee/cM89/8S5D2bMmFHp8eLqBG+99Val57QFPSfEwGKdddbJ/jz/hI3FIvfcNWrUqIUyX09uWBPnCajq/B+HoSwMjRo1yg51Ke/8vyjeK9R2wgEoQLfL0vHw8QtInLG6sq51p556at4Xq6pmI46z91f2xeeUU07JjqVcfvnlkyWoqhJXBchdTml+9913X95dljgx1aJ+39WdPTp2S80d05vbvXRB5H6Z/+abb6rcPw5xaNu2bXbc7L777lutL5BRrG91x8UCtUtcdi3eSY/LseWKwUAMCKpay77Yxb//pRfnceLF3OC4vHNDVeJ8DZXd7Y9tOWjQoEpfY++9987evY49NM4///wKjxcnUoy9znKDgfLmSFjQc0J02mmnZZ9fd911ybCS6orj6mtCXEI4BixRvIiP5644bKM6YtuVN4N/DEVy2z/e0a9IXPo3PioTX6O68xLkDiOZ//y/KN4r1HoZoMYdeeSRMTZPHg0aNMjceOONmblz5+bt8/HHH2e22GKL7H7NmzfPfPrpp2WOde6552b3adSoUfLf7t27Z7799tu8/WbMmJE58cQTs/vGxx133FFu/UaPHl3mmKuttlrmpZdeKrPv3XffnWncuHF2/3333bdG3neXLl0yO+ywQ+bBBx/MTJs2rdzX++KLLzI9evTIHmuNNdYod7/cNqnIZZddlt1nxx13zMybNy9TlZEjR2bq16+f/b2tttqq3DYs9eabb2ZOP/30zFJLLZV5++23M3XVoEGD8to8Pn788cdCVwtq1Oeff578TZr//wvx///PP//8Invd6vy9y9WpU6fs/vHcUB3dunUr877WX3/9av3uZ599lv2dhg0bJv9t2bJlZvjw4WX2HTZsWNJepft37Nixwr/Nl19+eV59zjrrrMzMmTPz9vn++++T80rueeqFF14o93jx3NWsWbPsvi+++GKV723OnDmZrl275p1f47mlonPYb7/9lrn//vuT813v3r3L3WeVVVbJHi+2XVUOOOCA7P533XVXufvE88/iiy+e3W+ttdZKzmcV+eijjzIXXXRRZoUVVsg8/vjj5e5z8MEHZ4+30korZd5555287fFzi98nFltssbzvFPH9zS/We/XVV89cccUV5X4/iKZPn5655pprMiUlJdljTZw4sUbeK9RmJfF/Ch1QQNrEO8kxrc6dHCfeRYp3jeKsyvEufVyir3SZnLhGb7wz0rt37zLHOu+887J3QeLSfnHIwGeffZZMfBVfY+WVV04muxo9enTepFfxznac3b88cWhCaTfKOBY23iGJM2vHu0Exaf/73/+epObPP/98Xo+CNdZYIymbv8vsonjf8Thjx47NdmWN8xysueaaSQ+DOIFVnEwqzoNQenchTpL4xBNPhJ49e5Y5Vm4X1Ir+JMZxs/HuUen2+HrbbLNN3ljKPffcM7krmCsuoXTkkUfmLXkU2ymOgY2TNsaJEuMdobiiQe7Qg9i9Mb5GXRS79cbeILnie/+zvTqgtordnOPfpPj///lnUY+zp8fJChe26vy9q+hvbTyPlN5prapbeFyqMVe8U17ejPHziyu1lHZDj8vQ7bbbbuGaa65Jft5ggw2y8wfEHmi53cBbt26d9DD429/+Vu5x47kgrhKQO+48nqviuS7+Lf7qq6+S95e7vGR83XherUi80xx7zkVxuET8LOM5t3RlijikLU6SlysOl4td3V9//fVsWfzdOCdB/N3YFT7ekf7www/Du+++m+1xVtE5O64SUTp5Yjz3x58rE4d9lPbmiD07KloBIZ4v42eYu2LESiutFDbffPNkTp/4HeCnn35Khgnkzp8Q2ze3u37u5xrPaaW94uJ5O36/WH311ZO79fGzi3f5Y9vddttt2R4g8d/A/Kv3xGEkBx10UPbn2G7x30b8NxD/Tcdzajz/597Zj5OCxl4oNfFeoVYrdDoBaRXvCOyxxx5l7q7M/1h++eUzTz31VIXHye05EJ+/9957mbXXXrvSY+63336ZWbNmVXjM3J4D8a7Rr7/+munVq1elx9x0000zX3/9dY2975122qnKY5Q+WrdunRk6dOhfvpMW7zRV9joV3YV59tlny71DWNHj73//e+abb77J1FV6DsD/mTx5cqZdu3Zl/g7Eu8pDhgyplT0H4h35Vq1aZX8v3gmeNGnSAvcciHeN47nqsMMOq/RvZtu2bavV22r27NmZY445Jq9HV3mPFi1aVPj3PNeXX36Z3EGu6Djl3fWO/vjjj0y/fv2SngnVOSc0bdo0c8kll9RYz4FSb7zxRnJur+65a9VVV828/vrrFR4v9vSIPQMq+v3YUzD+m5//38D8HnroobweAZU96tWrlznqqKMq/c6zKN4r1FbCASiw5557Luluv8466yRfSOIXwvhlI3aHv/766yvsblhROFB6AX7dddclXziXXXbZ5JgrrrhiclH+zDPPVFmn+cOB0i5/8YQcL8pjl8B4zPjlL3aRvPPOO5PukjX5vmN9Xn311aRb4e67755Zd911ky8W8Utf/PIRv1DsvPPOmVtuuSUzderUhfZlOX656dOnTzLMYv4vOZV90YpdUB9++OHMQQcdlLzn2BU21nWJJZZIvtjGdo1f/tLwZUM4APl+//33TM+ePcu9sOnfv3+tCwfm70a+5557Vvv3KrowfPrppzN9+/ZN/vY2adIks/TSS2e22WabpOt47EK+IP73v/9lTjrppMyGG26YHCcOX4jnyg4dOmQuvfTSzM8//1ztY/3000+Zc845Jxk2Fv+u517wVxQO5L7XCy+8MBk20KZNm+R9lZ5bt9xyy8zhhx+eGTx4cKXnsEUZDpQaMWJEcr7eYIMNMssss0zyHuOQiniBHM/Z8f3HLvvVGW4XA5Xjjjsu6b4fz6HxHBgD8TikLg4FLG2XqtowDgGJwxCOOOKIpO3jTYDYdqXtF7//nHbaaWWGL9Tke4XayLACqOVyhxWce+65yc9/1fzDCqpaAQEWhGEFUFbsurz//vuHwYMHl9l29dVXhxNPPLHWNFvMIGJ38dLu4HFZw+oOkZh/WMH8XcoBWHSsVgAAUGBxrHkcv37EEUeUuwrN2WefXa05AopBXBau9KI+joHv1q1boasEQDUIBwAAikCcjO2WW24Jp59+epltF110UbLEXnWXcCuk66+/Pvs8hh25kyACULyEAwAARSJeSF966aXh8ssvL7PtpptuSoYelM5gX4wee+yx7IoAcRWaww47rNBVAqCaGlR3RwAAasapp56aLLEX77znDieIQw+mTp2aLBfYtGnTgn8ccQna2NshLtcal98bNmxYdtspp5xS4dK2ABQf4QAAQBGKd92XXHLJZI323N4CcV327bffPrlL37x584LW8auvvgpXXXVVmfJ27dqVOzwCgOJlWAEAQJHq06dPEgLM30tg7NixyaoyP/30UyimSRXXWmutcM455yQrFMSfAag9LGUIQI2ylCEsuIkTJ4Ydd9wxGVKQK16MxwvxlVZaSbMC8JfoOQAAUORiN/3YW2DZZZfNK//ggw+SbXG8PwD8FcIBAIBaYMMNNwzjx48Pq6yySplx/+3btw+vv/56weoGQO0nHAAAqCXWWGONZIjBOuusk1ce5x7o3LlzmDBhQsHqBkDtJhwAAKhF2rRpE8aNGxc222yzvPJff/019OjRIzz11FMFqxsAtZdwAACglllmmWXCqFGjkt4CuaZPnx7+8Y9/JBN/AsCCEA4AANRCzZs3D8OGDQu9evXKK58zZ07Ye++9w6233lqwugFQ+wgHAABqqSZNmoQhQ4aE/fbbL688k8mEI488Mlx66aXJcwCoinAAAKAWa9CgQRgwYEA49thjy2z717/+FU477TQBAQBVEg4AANRy9erVC9ddd10477zzymz797//HQ4//PAwd+7cgtQNgNpBOAAAUAeUlJSEc889N1x77bVltt1xxx1hr732CjNnzixI3QAofsIBAIA65Pjjj0+GGdSvXz+v/KGHHkomL/z9998LVjcAipdwAACgjjnggAPCww8/HBo1apRX/vTTT4fu3buHyZMnF6xuABQn4QAAQB20yy67JEsdLr744nnlzz//fOjUqVP4/vvvC1Y3AIqPcAAAoI7q2rVrGDVqVFh66aXzyt9+++3Qvn378PnnnxesbgAUF+EAAEAdtsUWW4Tx48eHFVZYIa/8k08+Ce3atQvvvvtuweoGQPEQDgAA1HHrrrtumDhxYvjb3/6WV/7tt9+GDh06hJdffrlgdQOgOAgHAABSYNVVVw0TJkwI66+/fl75L7/8kgw/GD16dMHqBkDhCQcAAFJiueWWC2PHjg1bb711Xvm0adPC9ttvHx599NGC1Q2AwhIOAACkyFJLLRVGjhwZevTokVc+c+bMsPvuu4e77767YHUDoHCEAwAAKdOsWbPw2GOPhT59+uSVz507NxxwwAHhuuuuK1jdACgM4QAAQAo1btw4DBo0KBx66KFltp1wwgnhvPPOC5lMpiB1A6DmCQcAAFKqfv364T//+U845ZRTymw7//zzk5Bg3rx5BakbADVLOAAAkGIlJSXhiiuuCJdeemmZbddff3046KCDwpw5cwpSNwBqjnAAAIBw+umnh1tuuSUJC3LFCQrjRIUzZszQSgB1mHAAAIBEv379wv333x8aNGiQ1yJx8sIddtgh/Pbbb1oKoI4SDgAAkLXnnnuGRx99NDRp0iSvVUaPHh26du0afv75Z60FUAcJBwAAyBN7CTz99NOhefPmeeWvvPJK6NixY/jmm2+0GEAdIxwAAKCMDh06hDFjxoRWrVrllb/33nuhXbt24eOPP9ZqAHWIcAAAgHJtvPHGYcKECWGllVbKK//iiy9C+/btw5tvvqnlAOoI4QAAABVac801w8SJE8Naa62VV/7DDz+Ezp07h+eee07rAdQBwgEAACoVew6MHz8+bLLJJnnlU6ZMCdtuu20YMWKEFgSo5YQDAABUKc49EFcsiBMS5po+fXrYeeedw4MPPqgVAWox4QAAANUSVy8YPnx42GmnnfLKZ8+enSyBePvtt2tJgFpKOAAAQLU1bdo0/Pe//w377LNPXnkmkwmHH354+Pe//601AWoh4QAAAAukYcOG4e677w5HH310mW2nnnpqOOOMM5KwAIDaQzgAAMCCf4msVy/ccMMN4ayzziqz7bLLLgtHHnlkmDt3rpYFqCWEAwAA/CklJSXhwgsvDFdddVWZbbfddlsy9GDWrFlaF6AWEA4AAPCXnHTSSeHOO+9MehPkGjx4cNhll13CH3/8oYUBipxwAACAv+zggw8ODz30UGjUqFFe+bBhw0KPHj3ClClTtDJAERMOAACwUOy2227hySefDM2aNcsrnzhxYujSpUv44YcftDRAkRIOAACw0Gy77bZh1KhRYamllsorf+ONN0KHDh3CF198obUBipBwAACAhWrLLbcM48aNC8svv3xe+UcffRTat28f3n//fS0OUGSEAwAALHTrrbdemDBhQlhttdXyyr/++uukB8Grr76q1QGKiHAAAIBFYvXVV08CghgU5Pr555+TOQjGjBmj5QGKhHAAAIBFZoUVVghjx45Nhhrk+u2330LPnj3D448/rvUBioBwAACARWrppZcOzzzzTDJZYa6ZM2eGXXfdNdx7770+AYACEw4AALDILb744uGJJ55IljvMNXfu3LDffvuFm266yacAUEDCAQAAakTjxo3D4MGDw0EHHVRm2zHHHBMuuuiikMlkfBoABSAcAACgxjRo0CDccccd4cQTTyyz7eyzzw4nn3xymDdvnk8EoIYJBwAAqNkvoPXqhauuuirpKTC/a665JhxyyCFhzpw5PhWAGiQcAACgxpWUlIQzzzwz3HjjjWW2DRgwIOyxxx5hxowZPhmAGiIcAACgYI4++uhktYL69evnlT/yyCNhp512CtOmTStY3QDSRDgAAEBB7bPPPmHo0KGhSZMmeeWjRo1Klj/85ZdfClY3gLQQDgAAUHCxl8Dw4cPDEksskVf+4osvho4dO4Zvv/22YHUDSAPhAAAARaFTp05h9OjRYZlllskrf+edd0L79u3DJ598UrC6AdR1wgEAAIrGpptuGsaPHx9WXHHFvPLPPvssCQjefvvtgtUNoC4TDgAAUFTWXnvtMGHChLDGGmvklX///fdJ74IXXnihYHUDqKuEAwAAFJ1VVlklCQg22mijvPLJkyeHbt26hZEjRxasbgB1kXAAAICi1Lp16zBmzJhkOEGuP/74I5nA8L///W/B6gZQ1wgHAAAoWi1atAgjRowI22+/fV75rFmzQp8+fUL//v0LVjeAukQ4AABAUVtsscXC0KFDQ9++ffPK582bFw455JBw9dVXF6xuAHWFcAAAgKLXqFGjcN9994V+/fqV2XbyySeHs846K2QymYLUDaAuEA4AAFAr1K9fP9x8883hjDPOKLPt4osvDsccc0zSmwCABSccAACg1igpKQmXXHJJuOKKK8psi8HBfvvtF2bPnl2QugHUZsIBAABqnVNOOSXcfvvtoV69/K+z999/f9h1113D9OnTC1Y3gNpIOAAAQK106KGHhsGDB4eGDRvmlT/55JOhZ8+eYerUqQWrG0BtIxwAAKDW6t27d3j88ceTFQ1yjRs3LnTt2jX89NNPBasbQG0iHAAAoFbbbrvtwsiRI8OSSy6ZV/7aa6+FDh06hC+//LJgdQOoLYQDAADUettss00YO3ZsWHbZZfPKP/jgg9C+ffvkvwBUTDgAAECdsMEGG4QJEyaEVVddNa/8q6++SnoQvP766wWrG0CxEw4AAFBntG3bNgkI1l133bzyOPdA586dw/jx4wtWN4BiJhwAAKBOadOmTTIh4eabb55X/uuvv4YePXqEp556qmB1AyhWwgEAAOqcli1bhlGjRoUuXbrklc+YMSP84x//CIMGDSpY3QCKkXAAAIA6aYkllkh6CcQwINecOXPCPvvsE2655ZaC1Q2g2AgHAACos5o0aRIefvjhsP/+++eVZzKZcNRRR4VLLrkkeQ6QdsIBAADqtAYNGoS77rorHHfccWW2nXnmmeHUU08VEACpJxwAAKDOq1evXrj22mvD+eefX2bblVdeGQ477LAwd+7cgtQNoBgIBwAASIWSkpJwzjnnhOuuu67MtjvvvDPsueeeYebMmQWpG0ChCQcAAEiVOLxg4MCBoX79+nnlcW6CXr16hd9//71gdQMoFOEAAACpEycoHDJkSGjcuHFe+dNPPx26d+8eJk+eXLC6ARSCcAAAgFSKSxwOGzYsLL744nnlzz//fOjUqVP47rvvClY3gJomHAAAILW6dOkSnn322dCyZcu88rfffjt06NAhfPbZZwWrG0BNEg4AAJBqm2++eRg3blxo06ZNXvknn3wS2rVrF955552C1Q2gpggHAABIvXXXXTdMmDAhtG3bNq8t4tCCjh07hpdeein1bQTUbcIBAAAIIay66qph/PjxYYMNNshrj19++SV069YtGX4AUFcJBwAA4P+33HLLhTFjxoRtttkmr02mTZsWtt9++zB06FBtBdRJwgEAAMix1FJLJUsabrfddnntMmvWrLD77ruHgQMHai+gzhEOAADAfJo1axYee+yx0KdPn7zyefPmhQMPPDBcd9112gyoU4QDAABQjkaNGoVBgwaFww47rMy2E044IZx77rkhk8loO6BOEA4AAEAF6tevH2677bZw6qmnltl2wQUXhOOPPz7pTQBQ2wkHAACgEiUlJeHyyy8Pl112WZltN9xwQzLMYPbs2doQqNWEAwAAUA2nnXZauPXWW5OwINc999wTevfuHWbMmKEdgVpLOAAAANV0xBFHJPMQNGjQIK88Tl4Ylzr89ddftSVQKwkHAABgAfTt2zcJA5o2bZpXPmbMmNCtW7fw888/a0+g1hEOAADAAoq9BJ5++unQokWLvPJXXnkldOzYMXz99dfaFKhVhAMAAPAntG/fPukt0Lp167zy9957L9n20UcfaVeg1hAOAADAn7TRRhuF8ePHh5VXXjmv/IsvvggdOnQIb775prYFagXhAAAA/AVrrrlmmDhxYlh77bXzyn/44YfQqVOnZBtAsRMOAADAX7TiiiuGcePGhU033TSvfOrUqaF79+5h+PDh2hgoasIBAABYCFq1ahWeffbZpLdArunTp4devXqFwYMHa2egaAkHAABgIWnevHkYNmxY2HnnnfPKZ8+eHfbaa6/wn//8R1sDRUk4AAAAC1HTpk3DkCFDwr777ptXnslkwhFHHBEuv/xy7Q0UHeEAAAAsZA0bNgwDBw4MxxxzTJltp59+evKIYQFAsRAOAADAoviiXa9euP7668PZZ59dZlvsPdCvX78wd+5cbQ8UBeEAAAAsIiUlJeGCCy4IV199dZltcf6BvffeO8yaNUv7AwUnHAAAgEXsxBNPDP379096E+R68MEHwz/+8Y/wxx9/+AyAghIOAABADTjooIPCww8/HBo1apRXPnz48NCjR48wZcoUnwNQMMIBAACoIbvuumt46qmnQrNmzfLKJ06cGDp37hx++OEHnwVQEMIBAACoQd26dQujRo0KSy21VF75m2++Gdq3bx+++OILnwdQ44QDAABQw7bccsswbty4sPzyy+eVf/zxx6Fdu3bhvffe85kANUo4AAAABbDeeuuFCRMmhNVXXz2v/JtvvgkdOnQIr7zyis8FqDHCAQAAKJAYDMSAIAYFuSZNmhS6dOkSxowZ47MBaoRwAAAACigOLRg7dmzYaqut8sqnTZsWevbsGR577LGC1Q1ID+EAAAAU2NJLLx1GjhwZunfvnlc+c+bMsNtuu4V77723YHUD0kE4AAAARWDxxRcPjz/+eNh9993zyufOnRv222+/cOONNxasbkDdJxwAAIAi0bhx4/DAAw+Egw8+uMy2Y489Nlx44YUhk8kUpG5A3SYcAACAItKgQYNwxx13hJNPPrnMtnPOOSecdNJJYd68eQWpG1B3CQcAAKDIlJSUhH//+9/hoosuKrPt2muvDYccckiYM2dOQeoG1E3CAQAAKNKA4Mwzzww33XRT8jzXgAEDQp8+fcKMGTMKVj+gbhEOAABAETvqqKOS1QricINcQ4cODTvuuGP47bffClY3oO4QDgAAQJHbe++9kzCgSZMmeeXPPvts2HbbbcOkSZMKVjegbhAOAABALRB7CYwYMSI0b948r/yll14KnTp1Ct9++23B6gbUfsIBAACoJTp27BhGjx4dlllmmbzyd955J7Rr1y588sknBasbULsJBwAAoBbZZJNNwvjx48NKK62UV/7555+H9u3bh7feeqtgdQNqL+EAAADUMmuvvXaYMGFCWHPNNfPKv//++2SIwfPPP1+wugG1k3AAAABqoZVXXjnpQbDxxhvnlU+ZMiWZpHDkyJEFqxtQ+wgHAACglmrdunUyB0GHDh3yyv/4449kAsMhQ4YUrG5A7SIcAACAWqxFixZh+PDhYYcddsgrnz17dthjjz1C//79C1Y3oPYQDgAAQC232GKLhaFDh4a99torr3zevHnhkEMOCVdddVXB6gbUDsIBAACoAxo2bBjuueee0K9fvzLb/vnPf4YzzzwzZDKZgtQNKH7CAQAAqCPq168fbr755vCvf/2rzLZLLrkkHH300UlvAoD5CQcAAKAOKSkpCRdffHH497//XWbbLbfcEvbdd99kPgKAXMIBAACog+JQgjvuuCPUq5f/lX/QoEFhl112SVY0ACglHAAAgDoqTkY4ePDgZD6CXE899VTo2bNnmDp1asHqBhQX4QAAAPxJcYK/eKEdVwlYY401klUDll9++dC5c+dw9913hzlz5hS8bXv37h2efPLJpG65xo8fH7p06RJ+/PHHgtUNKB4lGVOWAlCDHnjggTJLbcUvpq1atfI5ALXKJ598ktyZHzt2bIX7xLvzDz/8cGjWrFkotOeffz7ssMMOYcqUKXnla665Zhg5cmRYeeWVC1Y3oPD0HAAAgAX0+uuvh8033zwbDLRs2TLsvvvu4cADDwzrrbdedr/hw4eHE044oSjad+utt07qu+yyy+aVf/jhh6F9+/bhgw8+KFjdgMITDgAAwAKIF9HdunULkydPTpYOPO+888I333yT9BC46667wttvv523UsCdd94Z3nzzzaJo4w022CBMmDAhrLrqqnnlX331VRIQvPbaawWrG1BYwgEAAKimuATg3nvvnQQD0W233RbOPffc0Lhx4zIrBWy77bbJ8ziK9/777y+aNm7btm0SEKy77rp55T///HMyB8G4ceMKVjegcIQDAABQTZdddln27nocQhDnHKjIwQcfnDe8oJi0adMmCQG22GKLvPJff/01bLfddskEhkC6CAcAAKAaYm+Bq666KnnepEmTJCioTJzor9Snn35adG0c50l45plnQteuXfPKZ8yYEXbZZZcwaNCggtUNqHnCAQAAqIbrrrsuTJ06NdtrYP6J/ea3xBJLZJ9PmzYtuStfbGIdYy+BGAbkiksw7rPPPuGWW24pWN2AmiUcAACAKsR5AwYMGJD9+dBDD62yzeIFdt4X73rF+dU79oJ46KGHwgEHHFDmPR911FHh4osvTp4DdVtx/oUCAIAiEifw++KLL7LDBTbddNMqf+e3334rcxFerBo0aBD69+8fjj/++DLbzjrrrHDKKacICKCOEw4AAEAVHn300ezzXr16Vau9Jk2alH3eokWL5AK8mMWeDddcc0244IILymyLcy3E3hJz584tSN2ARU84AAAAVRg7dmz2+ZVXXhlKSkqqfOy4447Z31ljjTVqRRvHep999tnh+uuvL7Mt9izo27dvmDlzZkHqBixawgEAAKhEnEzw9ddf/0ttVFvCgVLHHntsuOeee0L9+vXzyocMGRJ23nnnpE2AuqW4+zYBAECBvfnmm9nu9K1btw59+vSp1u8NHDgwexG9ySabhNpm3333Dc2bNw977LFHXm+BkSNHhu7duyerHCy99NIFrSOw8AgHAACgEh999FH2eZyI8MYbb6yyvX755Zdw8803Z3/u0KFDrWzjOL/CsGHDkv/m9hZ44YUXQqdOncLTTz8dll9++YLWEVg4DCsAAIBqhgMrrrhitdpqzJgx2dn9mzVrVq3VDYpVly5dwujRo0PLli3zyv/3v/+F9u3bh08//bRgdQMWHuEAAABUc9WB+S+QK/LYY49ln++0005Fv1JBVTbbbLMwfvz40KZNm7zyGAzEgOCdd94pWN2AhUM4AAAAlcgdb7/YYotV2VazZs3KW/owjt2vC9ZZZ50wceLE0LZt27zy7777LnTs2DG8+OKLBasb8NcJBwAAoBKlwwOiOXPmVNlWDz74YJgyZUryfIUVVgjbbbddnWnfVVZZJUyYMCFsuOGGZeZY6NatWxg1alTB6gb8NcIBAACoRLzAz70Irsy8efPCVVddlf35zDPPDA0bNqxT7bvssssmcyq0a9cur/z3338PO+ywQ3jkkUcKVjfgzxMOAABAJVZfffXs81dffbXStrrzzjvDG2+8kTxfbbXVwqGHHlon23bJJZcMI0aMCD179iwzpKJ3795hwIABBasb8OcIBwAAoBK5wwLiEn5xlv7yvPbaa+GEE05IntevXz/cfffdoVGjRnW2beMqDHFuhT322KNM74mDDjooXHvttQWrG7DghAMAAFCJlVZaKXTo0CE7/8A+++wTfvzxx7x9Ylf6OOb+jz/+SH6+8MILk1n867oYftx///3h8MMPL7PtxBNPDOecc07enA1A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fsQRR2SDgThu/frrr0/mFIhd4UuHFZQ+DjjggOzvxq7485s2bVr2eVyerzrieP6F4fbbb88LBnbaaadwzz33JN3y48V1HFaQ+15yu/eX915yw4/S+Qn+jIVxl37OnDmVbq9sWUkAKI+eAwBA1jXXXJO98Nxhhx3C0KFD8+4wV6e3QK7ci+g//vijWi39+++/L5RP5Morr8w+v/jii8O//vWvSvev6r3Ecfqld+xzQ48FlRt+nHDCCUmbA0Ch6TkAAGSNGjUq+/zCCy+sNBiIvvjii0q3t2rVKvs8TnpXHV999dVf/kTiMT766KPkeRwecOqpp1a6f5ygsKqu+ssuu2yZiRj/jNzjlNYRAApNOAAAlDse/u9//3uV3ePfeuutSvfZaKONyp3QryKxe/+LL764UN/HWmutVeVSgRMmTKhyjoWtttoq+/zZZ5/903XLnZhx7NixZVZNKCaGJwCkh3AAAPi/LwY5y/dVNQzgjjvuqHIiu9xZ/eMSfu+//36l+8eL7oWxUsGCvI/olltuqXKf7bffPvv8gQceKHd1hupo165ddqWBODwhzo1QrJo0aZJ9btJCgLpNOAAAlDsL/6OPPlphy8Tu8Oeff36VLbfuuuvm3XGPY+zLm+wvmjFjRvjnP/+5UD6N1VZbLXvXO05A+Mknn1S47+DBg8MTTzxR5TF322237KSF8aL+oIMOqnJiwPI0btw4aYdScS6Et99+u9q/n7tqwqKWu9xhXD4RgLpLOAAA5M3oX+qkk04KI0aMKHdegs6dOycT+FVnZYE4GWCpeLz9998/GeOfK66EsMsuu4Q33ngjNGrU6C9/Issss0y2+34MI/r06VNmycBYftNNN4X99tsv1K9fP+8ueXni0IS4f2noEAOF7bbbrsLeEJ9//nk455xzwt13311m28knn5wdthHbsX379kkPglmzZpV7rEmTJiU9NTbddNPw73//O9SU9ddfP/v84YcfXuDlLQGoPaxWAABknXjiieHOO+8MP/30UzJBX8+ePcMmm2yS9ACIF8WvvfZaeOedd5J944Vx69atk+UBK9O1a9fkuKWz8t93333hscceS8rj78c70nE4Qew5sOqqq4Z//OMf4brrrvvLn8pFF10UevTokYQAr7/+enKhG7v0x94R8c7/+PHjw3fffZcNMP7zn/9UOcHijjvuGC699NJw+umn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", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 410, "width": 515 } }, "output_type": "display_data" } ], "source": [ "# Use matplotlib to plot a triangle\n", "fig, ax = pyplot.subplots()\n", "ax.plot([0, 1, 0, 0], [0, 0, 1, 0], 'k')\n", "ax.set_title('Figure 1.7.1')\n", "pyplot.xlim(-1, 1.5)\n", "pyplot.ylim(-0.5, 1.5)\n", "pyplot.vlines(0, 0, 1, color='black')\n", "pyplot.gca().spines['top'].set_visible(False)\n", "pyplot.gca().spines['right'].set_visible(False)\n", "pyplot.gca().spines['bottom'].set_visible(False)\n", "pyplot.gca().spines['left'].set_visible(False)\n", "pyplot.text(0.25, -0.125, 'adjacent', fontsize=12, color='black')\n", "pyplot.text(-0.5, 0.5, 'opposite', fontsize=12, color='black')\n", "pyplot.text(0.55, 0.5, 'hypoteneuse', fontsize=12, color='black')\n", "pyplot.text(0.75, 0.047, r'$\\theta$', fontsize=12, color='black')\n", "pyplot.xticks([])\n", "pyplot.yticks([])\n", "pyplot.show()" ] }, { "cell_type": "markdown", "id": "6bbf694e", "metadata": {}, "source": [ "The trigonometric functions sine, cosine, tangent, cosine, secant, and cotangent are defined in __Equation 1.7.1__." ] }, { "cell_type": "markdown", "id": "106d5f22", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\text{Sine: } \\sin{\\theta} = \\frac{\\text{opposite}}{\\text{hypotenuse}} \\\\ \\\\\n", "&\\text{Cosine: } \\cos{\\theta} = \\frac{\\text{adjacent}}{\\text{hypotenuse}} \\\\ \\\\\n", "&\\text{Tangent: } \\tan{\\theta} = \\frac{\\text{opposite}}{\\text{adjacent}} \\\\ \\\\\n", "&\\text{Cosecant: } \\csc{\\theta} = \\frac{\\text{hypotenuse}}{\\text{opposite}} \\\\ \\\\\n", "&\\text{Secant: } \\sec{\\theta} = \\frac{\\text{hypotenuse}}{\\text{adjacent}} \\\\ \\\\\n", "&\\text{Cotangent: } \\cot{\\theta} = \\frac{\\text{adjacent}}{\\text{opposite}}\n", "\\end{align*}\n", "\\tag{Equation 1.7.1}\n", "$$" ] }, { "cell_type": "markdown", "id": "27264c1d", "metadata": {}, "source": [ "It is common to use $\\pi$ when dealing with trigonometric functions. We can express $pi$ as a numerical approximation using the `numpy` package and as an exact value using the `sympy` package." ] }, { "cell_type": "code", "execution_count": 120, "id": "8c28f6cb-2469-4d89-ae96-eb1a437c7995", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 3.14159265358979$" ], "text/plain": [ "3.141592653589793" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpy.pi" ] }, { "cell_type": "code", "execution_count": 121, "id": "44f1c93e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAMlJREFUeJyV0T1KQ0EUxfHfC5Y2SS1WFoIBo9uwstIF2LgBq8DlFhauIJUbELGys3UBfoKFW7AQbATJk8ATJo8E805zhjP85x7mVnVd66q1v0NmHuC2E4RPTHCKV1wXd9s4wj3uqrJeZh7iBucRMS7yM1zgJCIue63Jo8YfWvl+mS+DHhdAP3hZBn3hvai2ji28RcT3HJSZfWziKSLKPeyhKiv3VqzmP6j9CcPGn7tMGjS+k5kbbWgX0/LFRlf4mO0Ox7Ngbrmr6hdQADhgCY6HTwAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\pi$" ], "text/plain": [ "π" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.pi" ] }, { "cell_type": "markdown", "id": "4ea5bd1b", "metadata": {}, "source": [ "There are two common measures of any angle $\\theta$. We can use degrees or radians. Degrees span a circle from $0^{\\circ}$ to $360^{\\circ}$. Radians span a circle from $0$ to $2\\pi$. We can convert between degrees and radians using __Equation 1.7.2__." ] }, { "cell_type": "markdown", "id": "b146abce", "metadata": {}, "source": [ "$$\n", "\\begin{align*}\n", "&\\text{Degrees to radians: } \\theta \\times \\frac{\\pi}{180} \\\\ \\\\\n", "&\\text{Radians to degrees: } \\theta \\times \\frac{180}{\\pi}\n", "\\end{align*}\n", "\\tag{Equation 1.7.2}\n", "$$" ] }, { "cell_type": "markdown", "id": "5a4a8be1", "metadata": {}, "source": [ "We can also use code to convert between degrees and radians. We use the `radians` function from the `numpy` package to convert degrees to radians. We use the `degrees` function from the `numpy` package to convert radians to degrees." ] }, { "cell_type": "code", "execution_count": 122, "id": "a3626e15-9f8d-485b-adbf-ebbd6dcf70ef", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 3.14159265358979$" ], "text/plain": [ "np.float64(3.141592653589793)" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpy.radians(180)" ] }, { "cell_type": "code", "execution_count": 123, "id": "faab1700-c8d9-4844-beca-e22d7169ad0c", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADoAAAAQCAYAAABHjGx4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAs1JREFUeJzll0nITmEUx3/f7ZMiQxlSlCnjwpwhZc6cKXYkC0OIDKGo019ZsDBGlhI7xUKScSFjsSRjChkyJBmy8OnUeet+j2+492XnX7fTfZ73/M8953nO8NbU1dXxP6A2/yJpITAeGAIMBtoAJ81scWMEkmYB64GBQAfgNXAX2GtmNxvR6QbsBKbndM74lpl9KuNAUa4s0dsBrA1HXxUwshs4CwwDzgMHgHvAXOC6pD8CJKl3BGIZcAfYBzyLYN2U1KGEk4W5ahPdDcBL4Emc7NUmjHQBNgNvgUFm9i63NxG4EpE+kageAToD68zsUE5nb9jfBawq6GthriyvZWZXzeyxmRVJ3O6hfzvvZIUH+AJ0SoLTC5gKPAcOJ3wGfAWWSGrdnPGyXBnV4zHwExgpqWPyEeMivy8lOpNCXjCzX/W+zMwDcx1oBYwuYL8UV20VDlbIPkra6kUHuC/JC8AHwPNmDnARWJmo9Qv5qIng+Sn1BS438wmluDL+Ama2H1gQAVsObAMWAS+AY+mVBtqF/NwIZWW9fQHzpbgy/gKStgCn3Kk4Sc+H4VH5TkraU5KyJuS/aO41ea6qr66kCYC3l9NmtjG3dU/S/LhSmyQdNTN3PB/lymmkaJv8rimU4sqoHrND/tGCzOxb9DXnH5rbehjS86Yh9Gkm76iWK6N6tAxZr4XkUFn3ykwSlKmS6tmW5FV6LPAduFXAfimujOpxLeQKSV0TQzPC0A/gRmXdzJ56OwB6AGsSPkWOHzezrwlfb0n9JbWolqs2IZwH+OPwyccxRpIXG8d7M/NpiChC3ienAA8knQbeAAPiWnsx2GZm3nLyWB3OH5Q02XWBUcDEuGbbGwjq5RhQesaAUJorSwh9xl0az7RY65VbW5iLqDfpmTFq3Qe8AG2KBn3O9c3MZ996iJMYEZV6VOh4xT7oQW0gMI2iDFfN//I37TfEnCBLLDxNgQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 180.0$" ], "text/plain": [ "np.float64(180.0)" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpy.degrees(numpy.pi)" ] }, { "cell_type": "markdown", "id": "c2424563", "metadata": {}, "source": [ "__Problem 1.7.1__ Calculate the sine of $\\pi$ radians." ] }, { "cell_type": "markdown", "id": "49c84b96", "metadata": {}, "source": [ "The `sympy` package contains functions for all the trigonometric functions. These functions use angles is radians. We use the `sin` function to calculate the sine of $\\pi$." ] }, { "cell_type": "code", "execution_count": 124, "id": "561043e3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAARRJREFUeJyVkk8rhFEUxn/vZGVilLKiRMY3QFmhJl/CXqOUtcXTo2wtiA/gE7C1sSLfgBkpOyskTXZevboz3bnN68/ZPHXP+Z1zO+fJ8jznvzGUPtieBPaAdWAceALOipSk16ImiyfZngWugQngHLgDFoAVoAUsS3pOJ50EYFvSUdTsANgB9oHNSpSYARrAI3CcNBPQATZsV3sQsBr0QtJnHyG9A1fAMLAUQ/NB2yVLuw9aj6Fa0LcSqPs+FkO/RRY0rwzoVCuBRrt1MdQKWi+B5oK2Y+gyaMN237dtjxSHBT6Am15S0kOxbmAa2EqmGKgCp5I6qSOawUaHtteAW2Ax2Kg4xe73RlKX2576wbAvA6G/xBeerVLc1xXligAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculate the sime of pi radians\n", "sympy.sin(sympy.pi)" ] }, { "cell_type": "markdown", "id": "e5f886b0", "metadata": {}, "source": [ "__Problem 1.7.2__ Calculate the cosine of $\\dfrac{\\pi}{2}$ radians." ] }, { "cell_type": "markdown", "id": "f3732f40", "metadata": {}, "source": [ "We use the `cos` function from the `sympy` package to calculate the cosine." ] }, { "cell_type": "code", "execution_count": 125, "id": "c2de27a1", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAARRJREFUeJyVkk8rhFEUxn/vZGVilLKiRMY3QFmhJl/CXqOUtcXTo2wtiA/gE7C1sSLfgBkpOyskTXZevboz3bnN68/ZPHXP+Z1zO+fJ8jznvzGUPtieBPaAdWAceALOipSk16ImiyfZngWugQngHLgDFoAVoAUsS3pOJ50EYFvSUdTsANgB9oHNSpSYARrAI3CcNBPQATZsV3sQsBr0QtJnHyG9A1fAMLAUQ/NB2yVLuw9aj6Fa0LcSqPs+FkO/RRY0rwzoVCuBRrt1MdQKWi+B5oK2Y+gyaMN237dtjxSHBT6Am15S0kOxbmAa2EqmGKgCp5I6qSOawUaHtteAW2Ax2Kg4xe73RlKX2576wbAvA6G/xBeerVLc1xXligAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# calculate the cosine of a half pi radians\n", "sympy.cos(sympy.pi / 2)" ] }, { "cell_type": "markdown", "id": "b378e350", "metadata": {}, "source": [ "__Problem 1.7.3__ Calculate the tangent of $\\dfrac{\\pi}{6}$." ] }, { "cell_type": "markdown", "id": "f45464d6", "metadata": {}, "source": [ "We use the `tan` function from the `sympy` package to calculate the tangent." ] }, { "cell_type": "code", "execution_count": 126, "id": "a17e0b8b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAAaCAYAAAD1wA/qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAArBJREFUeJzdmFuIjVEUx3/zzSHlMmVcJvEyZSJv4oGEPAyRe969ePGg1FCU/hYReVK8eFSmeHBcYgYTkcsjRilKUtJMcjdIc9GqPdOZ6fvO+c5F5zT/l6/2Xuu/9lp77bXWOXVDQ0OMB2SKETazqcD3ShmXVFcVR4C1wDpJt6gxREXKrwbuUYOI0gqaWT1QL+kvNYioCNnlwGNqFFERsuuBm4wDRxolfaJGkUkjZGbzgVcJeyeBJUALMAP4DbwDrgBn0jhvZrOBD8BZSXtK4U17I5uA6wl7e4HJwB3gNHAB6AcOA91mNi8F/+ZwlmypvGn7SIuk1wl70yT9GbtoZseAg8ABYHcB/q2AR/hBqbwjjpiZR+QI8EhSR8769GAkFnHGAi4Fg56WiTCzBmAN0C5poFTe3NRqBZYBOypUrTaGb3cBuQ3AROByObwjNyKp08x6gNt+O5IGw5Y7116I3czagClAQ3ikK4KxEynSqi+8hZJ5R70RSc/M7Fdofg/NbAIwkONUPrhBrz7D6AR2SvqYpGBmk3x2AzrypFJbGt64qnUtVJHh2ep+Cic8CE1hmm0CtgHNwFMzW5xHrTVEO1subxSjezXHETdU1KQrqVdSNug2AucLpJXPbjfK5Y1idPwGZprZQq/jkn4W40iOYW9eL4FFZuYNLW4I9Yd7V9K3cnmjGMH+UKUOAS8oD3PCd6Ss5mBliGy2EryZBEFPr4vA/nxsZrYA+CqpZ8y6B+goMMsnZklfYtQ93weDrbJ5Mwln9Ib4RNL7fI6EinPKzLwjvwmN0yvMqvAo/SC7EnS3hMP0VoI3irMg6UdoVIXQBZwLKeIR3gdsBz57AD2PJXk+j4KZLQXm5kmrrmJ566rxL4qZHQ+zUrOkt9X4zV4peNl9XiknqnYj/wNRtQ9QKfwDI08WjCyIWJIAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{\\sqrt{3}}{3}$" ], "text/plain": [ "√3\n", "──\n", "3 " ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# calculate the tangent of pi over 6\n", "sympy.tan(sympy.pi / 6)" ] } ], "metadata": { "kernelspec": { "display_name": "mathematics_python3_13", "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.13.9" } }, "nbformat": 4, "nbformat_minor": 5 }