{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Symbolic Computing" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "**Symbolic computing** is a different paradigm compared to the\n", "numerical computing introduced in the lecture. In **symbolic\n", "computing software**, also known as **computer algebra systems (CASs)**, representations\n", "of mathematical objects and expressions are **manipulated and transformed analytically**.\n", "\n", "Symbolic computing is mainly about using computers to automate analytical\n", "computations that can in principle *be done by hand with pen and paper*. However, by\n", "*automating the book-keeping and the manipulations of mathematical expressions using\n", "a computer algebra system*, it is possible to take analytical computing much further than\n", "can realistically be done by hand. Symbolic computing is a great tool for checking and\n", "debugging analytical calculations that are done by hand, but more importantly it enables\n", "carrying out analytical analysis that may not otherwise be possible. We here rely on the package [SymPy](https://www.sympy.org/en/index.html)\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "import sympy" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ " The function `sympy.init_printing()` allows us to obtain nicely formatted expressions" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "sympy.init_printing()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "For the sake of convenience and readability of the example codes, we\n", "will also assume that the following frequently used symbols are explicitly imported from\n", "`SymPy` into the local namespace:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "from sympy import I, pi, oo" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "A core feature in `SymPy` is to represent mathematical symbols as Python objects. In\n", "the `SymPy` library, for example, the class `sympy.Symbol` can be used for this purpose.\n", "\n", "The first step in setting up and analyzing a problem with `SymPy` is to create symbols for the various mathematical\n", "variables and quantities that are required to describe the problem.\n", "\n", "Let's start!" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "x=sympy.Symbol(\"x\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The variable `x` now represents an abstract mathematical symbol `x` of which very little\n", "information is known by default. At this point, `x` could represent, for example, \n", "*a real number, an integer, a complex number, a function, and so on* " ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "y = sympy.Symbol(\"y\",real=True)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n" ] } ], "source": [ "print(y.is_real)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "x=sympy.Symbol(\"x\")\n", "y=sympy.Symbol(\"y\",positive=True)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACYAAAAVCAYAAAAq05ytAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACRklEQVRIDb2WgXEUMQxFbzMUkBk6SDoIQwehg9BC6OAyqYAJHSSUAB0kHUDoIHQAXAfHe17beDe+vfXeEM3oZFvStyzJ3uu22+1qKXVdd4Lv01L/Kb9XU8oZuhts3nG4hxm2TSZHTdaFcczWyf8Iym0OydgV/h+LWJuGHMxsH8O2w0/4ikNukD3ZY62Mp4BPrX7JHl+DMtthb8Zf4Mc0VzYHFZxWq1uALkqgljG+XpgysDPm3sK81txjlMBsnRPIV+QhZAkTpRLmtSU9dg2apVhMHOp05GzGpO+94LexBAf11q69CMPSrkt952QuUcY1tht87ub67LNLtxPMDwPbFCWL53Ka1yT6xTdxB94lmLc1XeixmAl7x/fkDfyMoo23sUroLbMbSW9h3zmb2f55Df8igE/IQNibiFPWQqbi/DfzH9EkOAtqmaxrNWus78wWOv1v0skZG2DumzjO7xRzg32ELwq+Z3ycMfKgBzew+7SWJGtulDdO60mqg/+B9nOxwhrSAPIbxfgPrH7ACU85uJUYWiqNM0gw6k+fNy4Bon6gw99sPDvg2G9qPg7MnjCw3JCMJ7NVA48Yg+tfs5taGwSmIeR3y0Eqg70yyMgkYN8/+p9N2e3THQEwpvSP4ZqbYm88ALIZG5Vz7WAvgORt88D5dqFbF3rV+6kWOV72iA2qnMwWegMxQ+GjjvR2AZv/Odgel2k+V1ZffjMAmCW9A2j4IrNYUszEZ9a+xXW/Cval30MPZpTNX4pqYIKxoaDvAfXRfXH6CyFf50V2wHG6AAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\sqrt{x^{2}}$" ], "text/plain": [ " ____\n", " ╱ 2 \n", "╲╱ x " ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.sqrt(x**2)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA10lEQVQoFW2RAQ3CMBRE2ymohuFgGoYDsDAJeEDCggQkgAPCHIADAg7KvU8/dGQ/ue737tre2pBzDqok7ISRL5xD81Z4CslINfuyaIPgxsKxidocmhgjKy8CtRbu1v0GuLNPk+8kguP+Y5DTuDpbLxKhrRZ3hesshiZeWzWTyDoGG7zETZgahlJkr43Qs7y1GSNXaKUfZ1dw+jAhRLJQEjEeBBY9hJUw8P1Gw7wEmXiga635oxxrQT2ncGS/ZL5JGFxQT87ZfaNZ5vIz3ClF1lGiXZcxZXgD8MK2GHYDweoAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle y$" ], "text/plain": [ "y" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.sqrt(y**2)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We now have two symbols, `x` and `y`, and computed the square root of the\n", "square of that symbol using the `SymPy` function `sympy.sqrt.` If nothing is known about\n", "the symbol in the computation, then no simplification can be done. If, on the other hand,\n", "the symbol is **known to be representing a positive number**, then obviously $\\sqrt{y^2} = y$ , and\n", "`SymPy` correctly recognizes this.\n" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "n1 = sympy.Symbol(\"n\")\n", "n2 = sympy.Symbol(\"n\", integer=True)\n", "n3 = sympy.Symbol(\"n\", even=True)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAUCAYAAAAwaEt4AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADhUlEQVRYCe2Y4VEbQQyFcx4KIKGCQAeQVBDTASYVxHSAhxKgA0gFIekAp4Jgd2CnghA6cN4nrw7d3vkyGRjf/Yhm9na10kpvJe2uoVitVq/6REVR7AvPULhutoVLPsfyNZXPZemTwPSlCRRBuesCj/x+xb/7Lhj0hZS5mbCMhOkpc1sCJ9+7cvVdvo9wOdiS37+6SeV830VQACe/j+qmwnEO35uKEaCF8Bx3FRgLxrpqfgrD615UjILC3ULWtn6E8Osk/1TNUniGOz4phjN2qYYQguci/GacPknnQsNfaW5PPTrTxKNzqPFQLdr5KB07u66X9SfiSxuZDJuUN9ja6EY+zlCQPv6P1Qj4RA3CB/Re7Yd0r4yrf8AxshdJAwz8VjvRAp9jg8zZTa0ennIvb250RXdq52nswTQbwdbCx019sjHeICMgNPyzOYIEXp5YH+eYrrElAluJL82BEWFljfvWPHZnHgReg5kLkwFAYOAw8QTlMuqkeQCbnnoyRTB3o554C1yci2PJsV0mxWWas2AEngB5ogiKYXM5fVyjMXbzfRHUcl9xbVrPvllnRwZFi3KuGJyhUwOf5MgsaOoxCm+ZUt+YmehHOgSTH3WVSst5bPqcxvzuqCQAmc/RqzFRsSueipBqsy/JLNEDDd6pQRal9bD2JcqQ3xtrrvrFIMRdwvl9o0aGFzrz1+qfRenuiv6plsib/TBH9RKB/O7i7pmbcsuHwNwn+UGLnr8WZGETcZtbAAVmonakVkiZC3GcLsRNax8kaLPNOuxQhU77stm2ZlMAOCqWqA3rSehyIPBEnQh65Wj4RFrM8UGOHs4qFDZMaVM1lGpJWsvfPLxsXnWlLAwIPIAaKW0Au7eZQiPmpHOqvlIt7CXJ3A4vbE7gfKRioJEaGahsSjxHwcvug8anmmPzkdC5UgAcxIV08kzCuzyu9TE+2p5zcC1TEn1NY6IQyj+bw2esMEQ81XPsSAebX5jMCBzTHSalyDF4q+Fn9Qi4b/bUuJDtGKmfJ9lEPaAgAHBsfNPMUyEEEGDwHFEuZj+OYmvEBtruISqVBERyn3HOx+AikLkOPrwAHtiTLwg9Vfjp/58EISJKJgHl5TsYhPmuh1SE/0rtCgsX/PpiVnS6AlHzq4xxpM6Eqe3Y1da9xEQ6+v37t0PaXJmxl9jsP9rgVeURMurNHVMCWp/zzv+1+Qdu6lFd6oYafgAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\cos{\\left(\\pi n \\right)}$" ], "text/plain": [ "cos(π⋅n)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.cos(n1 * pi)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADMAAAAXCAYAAACmnHcKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACFklEQVRYCdWXgVECMRBFPccCkBK0A9QOtAMdKxA60BosgRq0A7EDoAMpQegA3zsvJwM5kMjJsTPLJdlk8zf7Q5JsPp8fHYJkWdYF5wU6QofoNaqcE0MvLxnMIShgDcYAXP1uwEx5ip5Zz/xpupCVMzB+ogbUA/N5wIzNAE5pmx2HRr8OKtK52Fx72Tmdu2oigE4Ei/0K7Yd+jDFTs8JGzgqa0aizt1D/7y9zv4hh3bzYpVQn9KFsYH3rti8G48Za6yw4Sfni+xYVTCs23nZ0FLPZhrjYFH/2OPUP1Ozou5PTrKDWkI4TGncm+G2hL6greI8KOCrMLY0G9H2MdvgO5nXJpt8btM34cZ4ZKkZYW1ZcTUSQFqKZKfoY7NRyih6zEvnGY/BOswKorQUMZmcCpnCGbOVDmsm3wVaj6u0slruUKQxGzrn5myJS/jIFjMFIMw+kpohYKv8o1oE8wdhG5eqKwF2dvqO/da6fB7g/XnH2+wb3rgu8tRhMpRQb0svdQYg0S05rTRHKlKR/VoNxoA6aIlIsSvtNAA1GfjeJSmJJPio8oD7YH0mn7qZx+PbK4SXSe5k3AI8B6+WbZNFHYS8vk4u2TeV/u85sAqIdkWLJCyvNlGf0KS/t98fnr5lMk7BijH5Da71shrliX+b2LKt8AsTGLLeV+8RA0H0+zv68mGUwRlkEFN2Yy6uwyzrz+rb/Myu+AMTGGuN8hZiKAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left(-1\\right)^{n}$" ], "text/plain": [ " n\n", "(-1) " ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.cos(n2 * pi)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPCAYAAADZCo4zAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAX0lEQVQYGWP8//8/Az7AhCzJyMgYAsTvgVgAJs4C5cwGCrwDYiEghkuCFYGsgGGgQBkQg+wUgImhWAHWgUaMKoAECCMoxIDBPRPIBQWzCxCDgvocEN8D4t1gBUAGTgAAQFIgDGUiF8EAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 1$" ], "text/plain": [ "1" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.cos(n3 * pi)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We can also represent numbers such as `Integer`, `float`, and `rational`" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "i = sympy.Integer(19)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 8663234049605954426644038200675212212900743262211018069459689001$" ], "text/plain": [ "8663234049605954426644038200675212212900743262211018069459689001" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "i**50" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2/3\n" ] } ], "source": [ "a=sympy.Rational(2, 3)\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAArCAYAAACuAHIQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABlUlEQVQ4Ee2V0VHDMAyGa44BCiOUDTpD2aCsABvQGTpCZ4ANYITCBmUF2CD9P9kSdnDywCOH7hTZ0m9Flmw5DcOwgFJKK4kHm+TPWuIg+3PoChgghoWz5lsxnu5DV8CPxbB1Q9EDPrnuQhPoXfxVmDlhLW2Q9Xnoq8ZS1n4YHSBeT+J9bYsNoRSx0b0Y4EG8nAQ3hrzoUws2rm88u9KlgIBh+4Nlg4KUokjf0FEz4t+gveQjIkbSdSWvpLBLDgZw7ADZMEQdwvOOSU36C3kGvJOTD2yJzdggJeK6s0n+WBplf3VdgF0xJy0bc4Da9g/+dTaSVuYS1i4mxn++gn5TvDH6JeAsQxx8uyU2K4efS/nE2Flz+gdpbVsBQHHTUIoTawXhoFJGtwxjdoL3NTo//FxIegfhTJN76Umtop/g2UKMDY3BAnDbAUYnnQPjtclQ9yApdtotjuoHKTaIzUhA3pcfQDPWsUpByxq/WlRzBc5TR7l5927Hvy4OJEqvE5DVL+LvBzL35WvpKMiNpMWGeGM4wVHZMwBYpvTtkK+fAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\frac{3}{2}$" ], "text/plain": [ "3/2" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/a" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "and we have many useful mathematical constants" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAAJCAYAAAAGuM1UAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAnklEQVQYGX2QbRHCMBBEGwYB1RAJxULrAA3gAA9IqAZw0GqpBhyEt0w2HP3Bzby5j+zlLulKKZ3AbqDgH/NRypTSXR47Qa488SP0oFgXb/IDnMMkNecwdfDZpxaTKlpco/EBvXP5A4VmrKZpr1ZgOqKY/zYgvMISGjKX6A1f8zgqOtAPtRVqPlqzX+mCYNutoHUmaBbfoAN/rwWrA/s3iTxrkkPeQMcAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\pi$" ], "text/plain": [ "π" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.pi" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAjUlEQVQYGWP8//8/AwwwMjIKANmVQPwWKqYMpDsZQIqgCl2AAneBWAlJTAmuCCQBxO+BOARJAcjUmUBsxAIkQKATQjEIAa0sg7I/AOlyoKYPMKtADlsNMwWdZoLqAlH3kNgoTJgikNFYAdh6kNFAAHLHWWRrgHyYw5UYoYoYoA4GhQsoGMAmA+VmAdkMAKFtVIlFi96xAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle e$" ], "text/plain": [ "ℯ" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.E" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAOCAYAAADjXQYbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAnklEQVQYGX2QURHCQAxEcx0EVEOxgAQkFAtIqIdWQi0UB0hgkFAsIOF4m8kd/aBkZptNdm9ue5Zzti3MbAF37RrIr5LBkhx7tXfS/X/FgywppZZ2BUewctVEN09KG+PuM/wtLjSc6lg8gOoCXs7i0xYns6IPda7ErA/xa96IT8RFM+WGEkhpte1D9IDlP0+yI9wi4Kq5Ph9Lf/Awzeof6UJo7lefkfsAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle i$" ], "text/plain": [ "ⅈ" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.I" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAALCAYAAACd1bY6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA8UlEQVQoFX2SARWDMAxE6RSgYRKYBSSgAQmbBiSgAQlggTmYhuGA3YeEdayQ9+6RXq5H2yTM85zFEULIxU0xl8qTOjPLtaET3gLufGtqe4hvhF5oBfbcXbOIrVhspATiMB0jjh+OQuUcX0UhNJZnNUQssEIlHnVva4z+dFbD4yp8j5kw5EoYvs50bniR6DAkeqg4CMtfD4VrIT81izbT3UYdLCNuS+msFhNmky22oifiacRTuAkYduJSp+TNBu9me/BeGy8xXeP9GJvS9coxWrtpj8cxmRufHeboZwR2OjfFeDGiHkwkbg2uLI4rnUZK9wFvaOzw8wqH0QAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\infty$" ], "text/plain": [ "∞" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.oo" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Functions" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "x,y,z =sympy.symbols(\"x,y,z\")" ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "f=sympy.Function(\"f\")" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "sympy.core.function.UndefinedFunction" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(f)" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACUAAAAUCAYAAAAKuPQLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACUklEQVRIDa2Wi1ECMRCGD8YCUDvQDnx0gB1gCWoHOFbgYAdoCZYAHTjYAXQg0MH5f7nsTe7IhYNjZ5Yk+/hvs7tJyPI8z7pwlmVX4udjMfAFI/RvDEiGA/FUPPZjxREQEQHNQsBj5sL4Bst8U0FhOBGPxEQwMicbJVuISzCTHzoKgwQszC8alDcikKGfD83BRslJ+9TWXUdhkYAxOE1BueykPiSApbhzluwbwiJbG9Z9TWJ0L+EqpkDW6/XoJTbUaIP+EBLWVvYrYQ/PQkcJKMmDmLKttaav1nJ40RgSmZyHgnAuP3YNFsQGX8Vs5EZ8Kf4T5ofGOoH52FQ++snVV847NtLNxNFrQHICmpgfdmJKXfRLMS+b2uwYve2ikimk2qUrjaaNmZAOm7U4Rm8SvgeKa82x//Qysvbr5/UBzEEsC22afCPnnRPpdzuo7Z5ro9VdJjvKm/f1U6dkk9eN62sFRMOGxIcod2uKBQVIU3oNuEizrRpGtQJYUKoVCovi90LDKhbUnRQ/oWVkzlUAwA4pkJE/feg4xbRIuUnpxoEedUj03rYSlDfm9JQgoUcwR38brN1U/gTBNeKC0cj1UpL07qOREpsNmPMeTWnkQan/ecKRE8pHeWI4WSVJzoa+xJZpThxXAnY0PFmzU8iyQvLH5qly+iTg/Wl7Uk79zJDFJUnqKzp6gJRDlv5ilf5lA9w5pyJeDf4qOWLHlIzUu0iJtg17v86Psv92ectr7Wre+EcuFZx8SXmrcu/BISnl5lplZA8ggUXfwZSf6fANA0L+D3a7PkJMRHRIAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle f{\\left(x \\right)}$" ], "text/plain": [ "f(x)" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x)" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "g=sympy.Function(\"g\")(x,y,z)" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE0AAAAUCAYAAADIiLCPAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD9UlEQVRYCeWY/1UUMRDHOZ4FIFagdgDYAXQAzwqEDuBZAnaAloAdeFagRwecFSDXwfn5hE3I5naX3OIfCnlvyGR+fDMzySY5JsvlcuMxbTKZvMF/H5zPj8H5V33J75jYpuQ3TzFatLEEiAX7Ntb/f/Ejx0tzjfFOZMY2VmGG7xEY96swFuwf9iPPLcL7Tp67hrk5NtZm2/586gWzPuS4oJuS86nj0TsNgGv8D55D0UKh7nbbL/J9OWqnUTDPMlfgSX+W5hgbubrb5uS+/yIKY4/wEP4AcifZLMwJTspi02YaB2UPhmeAt47tHXQGWegd6BV0A94n+qqW4b3F4Tr3RSeuZ+vrJrEqTI3w3ae7gLYhz2Y/QWPcg+96DZjzUevmRHAOpdsQ3oC8KS4ASbbaQMe5LPLILdh5NrZ4LsCpsoafRX1Nj0/Ao3exbnMfxp4ziO7jq+HxMU7z0F+yeFLKv8RBZy6zvBAGZFZbuXEjOyxkFqEli3rkFj5hNOOEqx+Uru/o19drq496mkm1Cs7YxHsTHcBNMTbYzjOIg97Yr/Oi3ZZOjN2qRttKkrG2PmiTf+SRl8H46QwGE327+hwP3nnDjo22jI2vJYu62h5/87T4rdhL/8ZuuQnjt62T29VHXN785uc4Vx/42C5yAPgYUCGuG0a85vwxxq/Rs4nbYe/5Gm37+gb3I/P4Eihj73SLF8Feoy0n9/AvZZr+hkxgsP2NpLIJjuCvSCxfQBd1gewqs6tmic/P7T3+Yte0bYzmYafBWAQ/tTwgRQblti2bdgKsNAOBYkH1Fzclhe4006/4Dwg8c8r4+hZ1AOZOZZxw7q5WwZCXX1uOZQyLWLSwm3BQGFrmnBKOOnpl4SdFJotXuJOGYtHnzxT1YVICTZ8Bsi1oCXn2DTULFhcjzrWyqDV42HhkeGHN4M+hY8jF9ILzsulr5jxNvwhwMIAT6AfkW8rmreXbqNUaW58hLR1yk/oCiWHzreM1rV0oCj4r758mWEw2dvOCKogtw7Z4N5CYARuf1g58CA+9sZurxRfDAopxhrzrOEIVbM3hw8rth1OQofSzbL3Pos6e5qq0btVcvy4Plp9LNR62K8+PfM518XLfLt7YIB/W4byB39jJDRm7Y6xM57MiON6tcm9Rc7wanrnSg7i0R+cnn95n8DXx9eKV+DVj44PiAz0MLFB6o8C7yy4fAmvsqndHH55zQ71vLXTu6vQLBN74huwH8fri6JMzl3hp0SYMwrVLbyAqPSt8jKb3EOPOxnnglnW3tQ78TuMBoecKGCtnXXRB73nr4W0zPufsuqCCwUN4wWiNP+BZG39/h7MzXQRrYLRMAbRwz+rf3X8AyKojFucRM98AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle g{\\left(x,y,z \\right)}$" ], "text/plain": [ "g(x, y, z)" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g" ] }, { "cell_type": "code", "execution_count": 97, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAVCAYAAAD7NJjdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADQ0lEQVRYCe2Y600cMRCAOUQBiFQQ0gEJHUAH0AJ0ACVEpANICaQDKAHSAekAQQeX77PW1tj7uD3CnwAjjTyelz1jz6y1i+VyudHCYrE4gfcVvEd+1crfwpwY94jjFHwAr4jzuYrLxGREsN0pXmTeWx+J9wB8AvdirAsnGbqbcglvkXnvYSTuS+L8RtxWSYLNTHTjF8b6SjUKb3RqzFZLgTYxRfAOiZ0Y80diYjYC/ZGYkIxIbsXJKpomZR36KRf2wXNwF/TT9wl8pIH9YJwFwZ+97SHaItPvPfgZ/tp9D3u/NjZVS+QYH7fw3KdNdvUTBKX4ub7G0LdL4WUavkkpn3FoE+Qb4Eydjh60zT7aEZvkj/EIfIpy5mcgrP5eVvGwc683nQ/9mCDxZsgWvrFUa5UEIEibY6y+59kR/Atwu5mbkcRj1H43y1eN6mqjHuCmq6QyN7DBQGb4Lvvs/LvWpC/XB32qpJxApzJwE71HTlbqnLeL6WhysWjf0tgWf93a6eZlPXhmrOJl2TojPiwf4yvrjdmjY8WkKog3ZvAFOOHktTbuuvoqtw3aYOQN3t6xPbV87PV93fKH5uh50EW3JEZlBSoMGUYeOq+y8W7NoTKyL1Q9J64/h8be0i6BTtmg1+sxmzAj/GFi4+oBHf0IzDJPwqT+zorIzoI8s+eM1r/rRjhkchsZ69DuFf1D9ncc7eB78EPQe/G3idFop7XEYbqS8FNCGN14AeQG98xGnjMT3ja4BL2iU1AdBvquIdoXCsz1h5632Q/FPfQFeAJ6aPYOb+cs2JqltbFxh94vcNdFGD0JF0xlAO3tqd4GJgl5CprRxleSpn4A30I/0TGYR9DTE6obs4a/U3STD3xaIvp1H/Irn/DGAeXSZ9DSyT/VdvQnDaz7Ge/1nOhzXX/RdozGZy/uoVIymNeEfTbU9pDknxO9BkupQdvDPGVv0RiM+hszeAm/TYx1mBvsS/xVNl2glscY2A9i3dscz0nk4JWf4W9snVV8Y64Pr71eKHiC5enfyteZ4+dkSh+5TdaelZ/tk++WVf6m1hqTdXvwcXsQdao/eAgTcDLpc8fEN03VVDuV/34gRm+r/3z9KHwnTscCfwGLlQNOzpt/DgAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\left\\{x, y, z\\right\\}$" ], "text/plain": [ "{x, y, z}" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.free_symbols" ] }, { "cell_type": "code", "execution_count": 98, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAYAAABLy77vAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABAklEQVQ4Ec1UwQ3CMAyMmAAxAmzQGToCMzBCd+gInaEjMENHgBVgg3CHcGQ7jlqJTyNZds/nk5s4STnn5C2ldINN9JJD3P2wAf4ouHgjQgLsARuF4D1yPewF63TOC7ET5OsuNQYOu100dgCg1wUfbw00YnLYfVleqCQ2BCfN+UdI66T9C53R79P0HH9wRMxml+NH4gqr5kMfsY7BXWCTYIi/E3uH3yyiimfUsbtBdxROrBR5j2J2NAtehAgwQYIkWx6c6gb44+dG200EEKzqBngh1piJDURCKBIKiWvg/oXqiY3/iQdib4A/YhA4H1teyF7XmjmSBIR4XVpv9ohc9WZ/AHo5cVnynXQpAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left\\{\\right\\}$" ], "text/plain": [ "set()" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.free_symbols" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Expressions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The various symbols introduced before are the fundamental building\n", "blocks required to express mathematical expressions. In `SymPy`, mathematical\n", "expressions are represented as trees where **leaves are symbols** and **nodes are class\n", "instances** that represent mathematical operations. \n", "\n", "Examples are\n", "* Add\n", "* Mul\n", "* Pow \n", "* Sum\n", "* Product\n", "* Integral\n", "* Derivative\n", "for analytical mathematical operations. " ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAWCAYAAADgreP7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEQElEQVRoBd2Zj1FTQRCHE8YCECtQOoCxAqUDsAO1AxgrYKQDtAOlA7QC1A7ECtR0gN93uT0vT8gkeS/4XnZmc//v9ne7t7f3Mr65uRmtk8bj8Vvm/wnvwjvwS9ackG4MZYzbAHoCX8MnfcQ4Xqey2YRzgH9ljXeko1x+QvnA8iZQVvQ5mFSyGD+SiHG/b/i27kEgT3TQVzLPo7Ah6WEDxynlPZTuKe8VPVinNFj368b8WvunRt0mFMN9iyWuqLquFxjXquwaIZbunfYCflbXDz2PQdeeSzh7GdOXvmG7DzfuPXYM8M/wKZvzrW+b0LE8BqT9DtDyHVO7XS3UwOOiq81gDQO2/xagZYwnGU/cqSqmEwNkfhW9zXz1Pna1fe3nQTAnEbiKHQVTNvCw8VXUtU2Zy3Wc87DtXMuOZ02vkY/1OMoqR3me1/Wr5JnjFTyzh6vM09UYZFF/v2GNL+l1+jMa6Wb/UUKu+x6dl0ldBHaxvRhHPpS9kgExXgDHMd8yKeN8EhXgMZY6Zfwd5VVSxvvCeBtjc7ngjvpFUsa2wZgMmjn0oOJVpwXzFgVJNzbJbNl71oGS9UsTwBz3C67HC8TyB/i+SYX49GuSr4Nt8EZg1WyfW87j9BBX5A9l8l4V6d09d3DHje45fAR7jVw1p0/ROI0CfthodHMkrWRVOmLgazbAL2iPYE/2vkKR3je5+b5/tfQu1zfw3IY9SYU6XqPM2yaTlN2cwA2hTms9Q+j09Sv65DbvJ+kprBWrRE+GCv3JmDNSrwg9RifBj/O1IWS564tWnOhyEpfE2DwkbcRc71g2oQ7KVJpK/g57oou/t59luL6bVLp90z2a834eLXN2mWf+le+z2+RgPr2XwGpMG4ERTBGHFR3GnU1bOonXbIpPET8UTOAfWHm4c7u8gU/NZLKfBhKn31Ou6x4KadAXYq4E3jSMBdrcP0JQtJGq9JgNmejeTKdVKYgz4PlFXad/bLCO3qU2sljSU7cDF5cbDdYhx8KGxhoqWg808ybeFIzg8GS7jw+LzsiI2dPpx44Z90vdJWyHW9/FuW2lp1BzrUXKygG3Xs854IXexPQTf+s1F8FnH6hLjE5Y3HgEaN67Prf+WoEVc4i+EdgM6o8N5HYzd9nYcqKp09g19BmPMVSMd6kt7mxd8yfAFhedB6RNIJ8iajcK1pVKyc0ypkTbtB1X7dNePfpFNg30oFZ0Fk8DSESfQWMMHLelcbLrAKWAJqOyDdiu2QSV61vSe9Hv5TP3NO32ndxiMFT/f8ryKf8Fee8yKWIAv3adDR3jFNLdvyVAy0DrAEfl+SRJbpp2N+Y9HF9mjMB9ehmRpy9T9I2onKruCRk8gcYW6R2/zAqMVca4eppDDe52h45RUGAw8DSI9XCqMz2v19NlUTaF3lMbZfceXBZwnRiHpuzkdjmFM4HUUBS5iJzZu+ysA+MfPJ807Io0B6UAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 3 x^{3} + 2 x^{2} + 1$" ], "text/plain": [ " 3 2 \n", "3⋅x + 2⋅x + 1" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = sympy.Symbol(\"x\")\n", "expr = 1 + 2 * x**2 + 3 * x**3\n", "expr\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Such operations are usually stored in so-called expression trees\n", "![expression tree](https://docs.sympy.org/0.7.6.1/_images/graphviz-a15fbf4039d3f5488f10cf31b136816de047baa7.svg)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We want to use the symbolic computing power to help us to tasks that are easy to do wrong for complicated expressions." ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "expr = 2 * (x**2 - x) - x * (x + 1)" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALUAAAAZCAYAAAB3jW88AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFB0lEQVR4Ae2ai1HcMBCGOYYCIOkAOoBJB9ABlBDoAErIkA5ISiAdABUQ0gF0EKAD8n8ayeOHfJzlle0j1ozGliz9+9Ba2l178fb2tpGrLBaLS2Fvq+6qPqleiN6rrnOZNZBNA4tcRu0N+kr4GPOG2te67Kp9kE2aGXjWgDSwmVELxzXsb2rvy7jZtecyayCbBnIaNUyXDTi4HeW+bILNwP+vBrZyiS43Y6+Gve/bv2v9c3PWgKkGcu/UZWYJGtc+UMR9Uj0tC7bO98jy0VxCFyh6oS784gT3AAP8Y7FgwndZEOGdWeCNheH1RPB7NBYPOehKLoJ41tsF9TlovIdpbYOk3K4l0EaoamOE5PoOQ1/qVRjsahhCgb+u95LjQZUMzlrJIp4J2l9Ut2O806/6EHs2RJ+nb2aDCwHyln4V8yGQU9Ol4FACi7fDNaXo7TvUvCNhuFPAt5/VNjkBUnhKnSPeeTkPxPtgp41oYoy8RN+78q25GOpP1WfVT6pg7Qirss7qc0Xj2cj+ptDyEMkX0Ta3QYz3UcJUdh/1QYjder/+bJU281TZ2VBmqDe6j+4Wq2COOUZ8P6oOukt7vZ33lVs456qsZavueab60pdWynzoqprZINkP/CjyxwgcfYv1PKXcaRKK4uUoijGNAjfnjXTj4gzxPprPmVM+sFkXyfmkist5m5teDd/UBrckQNsXvpCCKxYSwxczIfL/onvcChacsZ9Vi+NLuMlui3DMSxfeI8Q5aVoXuid2hNxoXch4skzWHJxZ22DF5RC4a4txfGGOq8tSHwZdbmPcHMnuePT3owUbgc/YVbz14l3zcZtOc2DHMEOfaPIyDeJ+QBMZVSexhuIj2QbbjBpjjUWjhU+m5yFD4vrUZgEG9TnD4r939bwm86756OM4Rqcvdgwz9EFTdUijhl7Dtw38DHmFD9UkG2z80KSj9EpgGHslyueIVd8rzyhqEwSSyTDN2fqj/E7Y7K6rFHgie9OaUenLu+YTyJyIRsMF6YuNgMJgg2Bnqhd0QOaicAFLA57ED67Cu0X4BIrQaM1+AKJxLrgXLlmx1oLMemi6RmViwu9lgwSKRfHCNwyaARIU4ykXFBA+2JT7e917Om1+fhJ2Tt4tsIUR1aPWI5x+nVN6SYpacVKONQqkLWyw+EzuFbgnhosdWn18Eg5fGAPd8EbTbuxcxaCJ3kgeXkZKF97J9bI7LS2J2EsxB37YdioMwob0x0vc2wadUfvF4CNJYdBeCoi4AkHVsLDuqNT44sjXs/PS8zBtElcD3jn+WfBGMcBuYI7YwQZWP5EHYUd6ZLMxscFNgSEIuWTylJe+XulK35kM1+Uu/Zjg91X8aI/xqrGjKES8tRbxBs/I0od3Xt6GS2SE3cr7CA+QscsJZsKitx8zGyQgIOALR3KdSYKRPRFlh+aT670f8ENX0j/8Xsp8fG76JlcsePfGy/8rld9pLbCXKUz4vXxqzSfg4oThhWYNeTk5dW5i66XxrOXSoFvPzYuna2aDjeyHOccfBFCKJ8XE8RjLRGSRUjR7GXUXpkSLExtjr7y4XTCmMtb51FNhZuJ8kBKLZiky8o0r8CsjfhmaeMql0sqd63g/79QdVk27GV8WXZzRYdrkh0ouXJM77dKNuGHyzEcYnHfqiFKWdH2Y3awmI0HaSh9yavMm2Zx36o7L4n1P/mSbZGDcURy+ORDw3w4ZK3Tlsev4f/rQFs6oZb6bAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle 2 x^{2} - x \\left(x + 1\\right) - 2 x$" ], "text/plain": [ " 2 \n", "2⋅x - x⋅(x + 1) - 2⋅x" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE0AAAAUCAYAAADIiLCPAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC+0lEQVRYCd2Yj3XTMBCH6zwGaGECygbw2CDdIBmh6QbpDO0GhRFgg6YTQNig2YA2G4TvUyzVsR1isPIgufcUSafzT3fnn/44xWq1OskpRVGcgzcE91NO3H+FRTwT5p4RzyL6UORMWpmwOzAv4gT/c136e1Xx8T1t/f9a0Z1g94X+dUqcSctVAJ5TznPh7RNHPykmKMVPf0Rx6U1q+lN086gb0MkiJY2/A5xonAV4fyAmaILf1kHwPTLsOuqs0S+pZthOgz5mr28N2CPlIFhmrMiQ8mwdY6ctoxxMrKqNPdt/hUFv4Q1Idd/IobBMX2e4fFYL3kQqd+vq5Rf7JXEuKMOUNDpm2ZNC+UiRoibDzfEN5ScP3lK3iRTXiVbpid2KmVtZ+ngD7i1xbjv5jXEcNkEaJuwG49g3eS63qbqy3aBsxf4em43NszLWCzvi7KvGb4lhsoxXhp1um4sx8zKPSfKhZEzbvtkKOmqZtHW/YswJR22Toe+F3Ya5L13p68Y+V53LGCmP4Z4mNRlcoghC36vDE7pO9y3snWiMfWOJ9sXWITGoHijWXcRYLvHnRxfjqk0Zi6q31ZyoYMytas00BgPjYs2ALAtLM+p+V2O79e3Un/tT7Przufr44bJsrB50bjXG31g56EzaKh0EdIKU2bTdYM3aovX3Ce1OFvwlduuEGZRuKbLnjBchM7vIa4wWAy15cESJQYdjF6BEbcamlfE2cK8aAjYkA3YDM5PCRPlNWU+YDFRS/Otu+HVsOSAok+S3VUgW9cY+xngwbAHHNIkTfEi9spEJuw6bq++VyriT+ILpGO/Ld2YaDQ1jnBX8yLDPlG8UxTuKR+s7igeC+922e4vDMtWE+x3nM0nQ98ZOYHtolH6PK9AmzKtX69aEvfm4zPYvB4DuERdMeDBfBZVk7WwSnwm9lxiDndbdDbyPbXzodn/0ICz9Cyl8XmVjmmHzNjyur46NbcTlNvNAXGHfzsk085behp0jEg+MtPdlZZpJKtf+Uf/d/QuYRaYOtE4f2wAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle x \\left(x - 3\\right)$" ], "text/plain": [ "x⋅(x - 3)" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.simplify(expr)" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIMAAAAUCAYAAACu/o6dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFLUlEQVRoBe2ajVEVMRDHeYwFoHQAHYBWoHSAWgHQAQwVONgB2oHaAVoBYgfQAR8d4P8XdjOXXO7ecZcnjxl3JuSS7Nd/s7fJAbP7+/uV50qz2WxDvr8Thi9jMEh+X3I/JX81Rv6pZKbixu8idksGgnpq7Uw9bYu1sQ15tVu1w7E6+uSkF5/P+niGrEnHd3QN4V0Gnlq4wZJjZ2KNySZQjU/U4OatG5UQkiUZ0HEyVkefnPReqE3eROkA/0WfrWVaq4UbTDn2mSZ4M/a0eMeqk8oIbzWJ8NLnlqW3Erct3w5q+CR9JP+19H2uoW9ROmrjxs8cO5t+qUAkFUBzJAnpM+m4yPXWGOOv2uSq4L5IF9Xh1sfL2tfGDc4m9lUNuDxtKEMISDWSPnRu0aoplSL0ok9Aql36pIuqeCXd79C9jLQI3OBsYn+hwXYHeN/EYtBtkwmeHy8k00f0meNcSFn/ofZejY1E51c1NvSbmvPoceWN2rnk55XqXfH9RKBEsoEffCVA6DxSwx6219W6jgN04uc83RwpTcxcYsEYyOwfa3BtU9iEJ+q1OBRjZzKlrhc3ApOxy8nkeGAswlEeipc/zRPw1k1ec8lxozGXvORyavop83yxxC8NPbNh2Owt/1pHbr/Db/yKPsOnhq1gx56Ll0XjLa6Zz/jHkbrrtvVMgjEXfLZx6wjTfMSq50Gxcxvem44ibvNvMvZWIphiALU2seEYyUIQ1nzO5OLm2pggtPRojvnWGa05kqETsOnEt7ghmX3e2uiTnv2rKMwhp1ZMNltLkjnTTWInyWIy+BzuVerxLSajy7OuFvjUD4qdy3ovuU7c8IgmY28lg5SG3ze4E129OYcXIevVt4Jsa13JkATWAKEvSajcvtZJwuInr+ZjIpg+NrBVwXKdxhs2rGONtw7fTkvrTXnxdCUq8iFR1LOxvbHL7Yi/E7fZn4x9VUYi6cw5ZCDlQz7ZuGtwvr9SIysvJU8iDaWboYxD+eT3XcbLBpOsU+m1KWATu4hjBMp9eJh9+Ik/0NTYPWhp/KyBPSaDNpISutlMBM3xReAgo2mfE++RGt/7/L6CBNrXGmVwkUQS8ab2kvzwwMeLW6/AQ1IXL8uS+22ymz06XLbPN75YQjxHxG4Qbvwbiz0kgwnvyMG8IpAgJSLQfmMP65Ll7wPcqlvJExjq/SDor0rqhGNXzTcjJKX8+uO8WjtsrPu09/hdfKulg3n0eIVwmdBj1+zAt5MsaqB1f0H43c3Y2HXixh4+NLCNwr4qBQQBJ+/0fGLtVD1zBwLpGa9hQsfi8cD7AuP8Tcx5nHdsz6ZQZhOSLwQAnz3wyaZoPWy2bWwiawN05r43+fjspFImL4HGHJGecG/1/EFzXpVcHp7Psu36h8bO5emLuFmQvSrYKe9csnLnsQFdCUCrNJpxgs0ZymbfqcEXvqctGHxre2WhYuypsSH5/CebpyoBCl38JZHgt8hsc5FL/NI8fnxVOzchKhUbBx8YuQt1/nVT8vDwa3nfWEQSati40QLY19XwJb4w4gEjv9sAB8QYnpAIWgdjZ+wQKJHJtXDD2/BrEvaZnCzZXuo5gWcjONbiJkxxWPrYMBI5SbApOhchWxs3Pjaxry7C6X+gk7LL21eLqEqP+RKqZfexemrjxn7E/iwrAwiU0Xwy9t1pYJtL0sPx8ktVoXUPmSv8BAy1cON6jv25VgawxIxmMIG4dBbvJxN0LlK0Fm58TLA/28oAEmU2Z/3/f3sjGI8kxY7LdfIvf38BsmL1uhZNVZEAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 2 \\sin{\\left(x \\right)} \\cos{\\left(x \\right)}$" ], "text/plain": [ "2⋅sin(x)⋅cos(x)" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr = 2 * sympy.cos(x) * sympy.sin(x)\n", "expr" ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAAUCAYAAADStFABAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADTUlEQVRYCc2Yi1FbMRBFMZMCmKQD6MBMOoAOyKQD6AAmJZAOnHQQ0gF0wJAOTAcJ7sA5R9aK9xE8G2PMziz67edqtVo9M5rP5zvvgUaj0T44jsDzY5N48HOK/Rv83Bc/BmGIER7DD/D5kOxL1rFrAK67unl+QitfZx535VYdY+cK3g+9wQAoCBkEO5eh+Jotdu/gAir73GPuqulH/7A4zJilsNfk0Nf2Xay92FAYWLcFjOk56dphztPaq8ybkQ/d+VXH2DCgKbPfQxCmgGllgRuC3Oy0uznmDI4Ca10L9M2GFMxdOoNk0YLH8qDwCgLaVZyNPhapR33n9CvYVyd8zjB6j/2jD1rPmzui64Kk468IHmagFibXf8Nf4ND5SdeN/IJDhu7OZ/gW/e8OnqET1m5q6/quzTMXB1EClwPltZL0fQGLS9lP8N8nsOg77ccN1ypzKxWRsXi1ChWGmdoxna3c5eWgLwAXe2muTjDr6p3GeKhF1oPQbinQ9MXfHBsMMS3u+6JfimDTBzLKuq9k2PvXKkKMy6ZUhARcC4LzvULFnErPbpB1wZ40gT3Xz/ItDMxZ4Ar2PNZ3mqM126qHkdem6VQYCEbFdKK0PaW81gLQCE4v0tleK5DdDSJj8Jd67pBL3wsVGyUAGY8n28vsrl6WTU//LgqS98/7+xE2slPumU6XpX/LCr5EDizn6gH8rKvPXNSxWHJjHubStJsLnw4u4EN4hLbOTlnzDm6SDJ53+kkCg+l8AK4SADEH7qYicwZAqhbbxVLrr4d+byaoGJU1SeDQ73dfAgvcJskKL5Aq5U0dNwOQBQ1MImRO4AhkOjTk/zTWzxvrMR2t+5vFdfhWEdRwN6LhLIys2wq2+hSCR4B+GM3oX2ae0Dp3xkbTG59lImOPGRfKNmbIzspku6PvtEcNWAfMBu+ereNUsGjNlPhKs3jaNxi1eec8Je+ksha+XjEFVBRkfbee4saaBU4bNU46rIlDPOKWHdtaz9zH0Oukj/FIp9skTsuXyZQvHz9vgSdnia/IQVyHt/D7lA+zzi+8tyYL7eIFjPTbZgsYr0/v22RTmPDltSnfNu8hE8CTnuRVvkvUWYesI+k3g0a2XhNiJ/mObuXfa/8BfjLirrmOcMoAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\sin{\\left(2 x \\right)}$" ], "text/plain": [ "sin(2⋅x)" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.simplify(expr)" ] }, { "cell_type": "code", "execution_count": 115, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADgAAAAVCAYAAAATtC32AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB3UlEQVRYCd2Y7VFCMRBFeY4FIHYAHeDYgXZAC2oHMFbAaAdqCdqBWIEfHWgHIh3gOc/kTQb9IYHB4M5cNpuYZC+72USq+XzeypGqqi6Y1wZd8AZGrDVDFyVVDsFA7oq5Emth36K62AdFscOZnUyHBgvzxth9iBrNoiSXoCRSMjE1074iiO7meEEq9hbm9YP9tND/5+YqEUydt+D8nyKTMovVlKiepf2ltFeKIOROIdIuhRz+DMAH8PqqJesMOpNFjlC9SC7YU+yXeuUNfQQyN2w3BR3QkKtdwKHWsmCiReUZeF1E3NM2mkuvt6457D8EvlwaP3Ij+OAiwAu+ERyN10XT99eNhmAItWdKOQQj4L1mtPbBOwQu0UZoT70VYnogRuPCdrAl+gqGwbb9HMdL1foLfkzRcwZ8bkXxIjd616HDaG60eIR9V1YxRcdEJT0/VshJ7EPfrbwTC4RjEM/vb5bUpxP2z/5ya4KRSLKj586orVXCPhv9j+PbRc+3LDll8qW2+7MmCClfABYaxfS02DRpwdgwGXd4a2QHxyXkfVYTQx+n3jNusZn9kMbpnxXbrvDMyPnUeQxeWjm9JqykvlaMZqymmsUJQbjCqQ4wSPIx+/y14T7rJwsmbo18AlPJm1HW/rdGAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle x^{2} - 1$" ], "text/plain": [ " 2 \n", "x - 1" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr=x**2-1\n", "expr" ] }, { "cell_type": "code", "execution_count": 116, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH8AAAAUCAYAAACkjuKKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADMUlEQVRoBe2ajXETMRBG4wwFMKED00GADpIOYKggoQMzqSADHQAlkA7idJDQAe4Akg7Me0JyzrYc6y7mcj6zM+vTrX5u91tptbrzYDqd7iUaDAZDykfIvibZtl6x5RTdx9gyaWJDn7DQ/iweOj9OAB1/me77cMWe7/Cwri326RsW0cdzeATHx4qbJkDVBXaT7dH3LXwLP8+Nqxy+ydU9JLMPXHvSPDRmG3XoXAuPZ3RIIeEaBRuFSMdoiwhfOvQb/Bs+gL3PEvbc0X4Mjyh/zjZaEMbw2CoWPFOnOdmKdKyqTN/mePBAx/oZHz6LBMq7zug8gjUgu/KjbYJzW2oLbVvHgmfqfCfoozB3DLgYj31mjvubD+38qlfPuoRdd/SZYOfRur59x0L7q3gY9p11YytyFMOKmbP0Bv4IO2EO4RfwLwasHa7o1yZp3zt4pZ1RmV3AQlMDHvsUjmETnCWKjj/TudHBlzSSD+O9YL1f6tg9gaH8dYFau4CFMAQ8XPmuYpOnHJ0hPK9UvKRs+/QewCjwo1Lf1aL2rUwMK0rvAhaaG/DQ+WbM7os5OmeFV+vcN31xEmRcL3KdqrIYPa6QlYBvV8c+YexNTirzGR27jv41Fp9QQAwXSWwOwCoXRSdg4Za1SQp46PyVlJxcaeA+72ovpjjGq+IOHW24ISyy2OF0t89GR73HwLVP56KQiII6XlqXNP1t1a1fV3TJaWYXsNAzAQ+dLyjeLJEzEk7hOoQrVsAsHFM3qtQv9e+QwJDvdrKOdgELMQh46HyduRSWcarO9l1w2qPMhGdEfRggEw5nbTpU0L6SiLULWOiWgId7vke3L0oW6Jp7E7qhK5yrSccpZduGoyGOT1k/ovYo6mC0ShPzCpmr1g9TOZ085p0UaLh1WGhTUzwGgGVnz33HlEv2xQIMu9ME24xQTgqPqWvpKbDgma0lfFU8DPuSR5BsJhpqt/vnA+rnItsqq54CC7ektcfmVQrXlN/j4cqXIUPe1n3GTPrnrthjstrkk27vsIg+nsMjrXww2rufEd71g0xYm7wg6SMWenQOj7DnJz/H/eD/37gApE9Y6F/sWfpb2x+R3LorXOAvhAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\left(x - 1\\right) \\left(x + 1\\right)$" ], "text/plain": [ "(x - 1)⋅(x + 1)" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.factor(expr)" ] }, { "cell_type": "code", "execution_count": 122, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJgAAAASCAYAAACn6RefAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEK0lEQVRoBe2ZjVUbMQzHCY8BUjpBwwa03aBsUF4nKGwQXifg0Q1oR4ANYIM2bAAbULJB+v85lp/xXe4u9+FSEr3n2JZkW5Z0ku2MFovFzha2Gkg1MBqNJsKdeTxt4Ez+crdsNvvda8a25dokDci5xtrvhZzp2PYt3IXaM9VHwt8avq4e/Y8RTJv8rI1NJPv3ug3mor80mbrIo7FX0ttX6Xce60/4J/rCv4nxVe3dKuKWtrEa+KSdz0p2T+Qay9EOS2ilqK2Dlapl45EP0sBEjkSq7AThDOYnO/GzfVTNAY/DHd76VuXRUlLEeyD8veHV3hGNMXj/uzjECs9Xcamyr3Is2q1wzP1B7R+qs0EkP2tW7jWHUJE8jfU5pFyyx/sV81vkwgEDVNmWfAqjHeqsj6Pdq0w9nfaMtu9zABRqh7PQk+E9biqcmktej2P+GxVoFByNchPzNW1rHOs62ZqOMT6NW2uvNq6u7ijTWvqskwV6F3nK5td8BAgmdrIaj/qVtrUI9k2M5yoGfElEIossRDN3PZW3gv+lAhypPPNmjyvcMiQQvA78HJcxzmgZ6sZ7zSCLRfy19ZlDtmQNAsK1bGZPF4Ec2zG1rbtFCjkW09xGqE+K+xMPjGiBV3zcKs7FF25zwuHlvJcEnI2lFp0wy5WXNBnWhJaCeOHjy0mBr4ZUmzo3fA+aN1yvQcSgOYP84NVfudd4nLX7limWR+02+uxdR7ZXqyUXzkVaOjVcWS2+om01yKW9uGYulcoUJLqFTJ4LLHWyAGMPDRfXfsxVjGvT1jytU2S6npe3cq/pmLJ+V5m8btBdY32WyWG4rvJE87gjjfVX1V7+gm0tRYq+BO+FdAppzrNYRZS404JxFMHp5sIVXns1L07xRbSV0cUmzlWvsdccIq2lzxwCeZsdyGYhcgnHEYmAEuxeZdtdmGFQIe0ALiXFTiLaNKIvuZZntLCIR3LOKjgm8wvPC/Az5xKeB72sgCzRXpruNYeMGK6RPnMIIx2RjbBZcC6/LrYMgD7VWWnbXTGgZAztlA2zSgDR2ThRKT0voQxzSpyU8RRuiwGEt7zM3wwXKicqOCw3U5fbA/PADa3Zdq8DS+amb6TPHIJIT9gcn5irjc0olyrgTuUL7kNQv9a2exrwW+VahYc18i1RBifA+O41VxPabVKoANwmfoqPQ+ajCjdPII1gCORo4uX5A34EBJ/yCj0otN3roEL5yZvqM4csOBJOhj+k4JzLI2tt29t/kd4heTRd9UiXCtq6r7UIy6/6v8iu+nwpOmrlYBLeebg5k/qkSq7Y5OLBo5Jfb19rxV9Ta4ftY2AXmYbQZxd5+tCHzUGKbAOWe20sDsfb1+DOxYJah/NgeiaE9M+go0y967OjPL3psW0E47CMUgDOV7zKF54mHHX7U6sBRZtXq8+/l6iSMhEjQMgAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle x y z + x + y + 2 z$" ], "text/plain": [ "x⋅y⋅z + x + y + 2⋅z" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr = x + y + x * y * z+2*z\n", "expr" ] }, { "cell_type": "code", "execution_count": 123, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKoAAAAUCAYAAAAdtqaHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFI0lEQVRoBe2bjVEVMRCAfQ4FOJSAHaAlYAciFYgd4FiBIx2gJUAHYgX+dCAd+NMBfl9Ibu7u5X5fHu+B7Ey4u81md7O72SQLLK6vrx+VhMVisQe/A/h+LMl3m3kx52P0u2TOV9us513WbVEyUGOQnsHzxV02yhzdmfs5494+BGvTejEm3kasSUzQTj9uXkf+NFBLNUR+p+2V4rdNfJjXS9of2pOcXuJp33N9/ysu2uS8Pn9wH2hu4+66o2PvMQOKQNz+viF8q7Y/9HpJO5kzScY9oZ3Tzhh/RDMYs8C8/9JxOVdWYsr42fomHqWfK+j0CV1e1/XBTmZXbeUONBqKBSoSVcDVcm/A4KMd0t4wqa8jJvYemncj6P4XkgMm6i7bhksQJoH9dkfXd5FARWA4e+DQrcqmXZNeF97AhvcV9tBBD4AtMMIe9ujcicYaqQpUmdFOYnO7U8BB/P7gs4ep5zdXyRIwLvE9a/PgWxl/pKkP5Fu5P2NfcDrv+zRv19sO2uFwE0pin8m2XqeeLNxnNC/sLuA6pEzaSGzo3+n3HUc7QR7vYBhuZzEgPoPzBn/K90/eFXZKy4G3/K4zR+ALD4PZM0udhzgvJ9VEoi7q4blQOASn472k3YVqgrbyqLAJmGTrTSiIL0087sCnU/weApVBnqs8XyV4yovMUi3UwOkrJ0j7m9YAlBKfznYGWWMF8S1uKRPXAzLycMHchSBlOsEOLvxbhbm2vlUlb4SZgC7wZ0iKdfl1H7f9ngL1PURVVmOwUW8BO+B4XtQZZt53wdXHJ5LftbGvQNYXgzTKaSicZNqJsm4RXtAGt1JopZNfGwyaXfqP2h18XyFvkHdmXB8qnMv6COxbg76Tbd3WcQ06NUTA3yA1rpZ2nEG/Q7BUy4KZda6TXF8OB631xc66mH00eVY1Vt4NQnH7HTwd06jB5eiGcPDweDF6Ll385EFT32wdNY2jP8wrfU99Mn4lfRk/2dZDOq6qk/wB7efOuBRvdRw0Wb/vyKEORL2GFpa25Bt09qfbvpmrC8xaP1CovvWrkOWfpSMFOuisI/pKZ7su/Urid2FWn2dJ3mN4TbL1GIar0kR/PsWfVSYF57HQoK1s1ef3xxJLQEuBZgDJoAog+qwGpH6726AwHdQFKlUpFImy51N1of9FO0jBd13WumRuCu9c/25KOHJH2/o2dMRvJj79WQVplKufKxjy+w4EIdUywpXoWbRxaaE/GB5BfcY3qJ/RusAglU+AKFO5DeXBOynPmpbDfHqDdoFI16Dle1tBO0zZjUrPY5StSwvN8YuxY4K5iP6UTH+a1DzyhQrQGL/vMOAbzQC1puk5woA95t2Db/itAgzT7R9UFkIpK9tzg/TC9Ckq+4t3qwpC26FvkBX6oLVmarBqePFtWtDrh2gHDRt2Gp5fwKnT5w67PKfvNW1TMNbWt6GfQWqCMq7aoA0TDPq92F9P4Tyznym+rkBSpPGMzn8ObV8WboyZ+4EstxgvcfX67Vx2veOQpVMM4LQQe+lznaX1LWHr0jrl5j2EKxmoZkB/E9HYoplkWFUpKPk29VslMKjXniWjvF1kDS6gIWMN9SPLHeAXsmYvilX0ZexabL2KTkM2G92PUXvLBVP6EeoRoCpBORYw0x4nPrxLs3K5KPHblidzcgFu9M/8kH9vbV0so2IkqwdufY3fIoHzbOclSXBLtL+qKATsPfjBPF2AnrXWnrm7zHWfbV00UDVgDNaHf0XpiqYH/CwL/AOx+Um9L6mHKQAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle x \\left(y z + 1\\right) + y + 2 z$" ], "text/plain": [ "x⋅(y⋅z + 1) + y + 2⋅z" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.collect(x)" ] }, { "cell_type": "code", "execution_count": 124, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKAAAAAUCAYAAAAKlDZOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE4UlEQVRoBe2ajXHUMBBGuUwKyIQKSDrgp4PQARkqIHQQhgqY0EGgBOiAdABHB6QD4DoI7ymSsBU753POPidzO7OxvFpJu59WK1mX2dXV1aMtjYvAbDY7YMQjsP807sibHQ2/T7DgAr8vkyWzbQAmKMZ5xuA7B/eX44w4zijRr3dxNBeY9A4/f14Xr/+i9yXKr4PQANzyeBgA/hw+eEiY488e/KXqE+9nsNurmT7HGO/qzpNsh5fBiGh/BZ8ONkCPjjdpE2O7Bf0A/LwF9XBhkCZ3xOUzRr2pGoaPZsMFbMbLhFzZRYqLQQMwj7otJAScFDPDQ6MjHDKzl3SBYI9ge1pUfOD9vbJtABbIDPXKJIRz0RSz3xp8NqMf4KPb61KKWfAS/aPdpB0bu0VIL2BXq6AZvY/h3zT8yHMUqthzyIC/qmNTp12uuCfRmVFsSoMIHOVzeB8+xga3FHF6Trnty/YV9WaERqr4a/2t+Fd0J4ENPj9rdOo6dqxqOnKIxXE4HFIwcs/oKL0biL/gU2WxnA+OSW/Zk3aCHvpYplvW0y7YE/v4W623TxjR/8Nt13Lsr5dNjgGJ1TdYG2QDUf52mw3WwydNOshXwh/9tWNDn73nqsUnF6mA5biq6iE3xuYpA7ofuy8ncmWZZdJqNhvWPqeT4hBPVrhjf499e11RriBlrdkkthvsAZD5CiXa2uVaRZ/+tBjVGf+pY1Pxz0X5FayMnSYSi71wD2hKR3GRtHh3e/tTBTrVNT3R92BtxJfkynabKgNIvUv6P7ZQUtUeyn+p/4Bu3v6RubK8Y8qyhj7WalPZv+/Y4bbrOG7DGT/rSop+hO26oa4z/vSTdWOfK2FDmzFwMfjcot6WvqZ37BC7edhyUaw9bQv33qZSf/Rxp7RO+5TG870ZMg3XvqdpnFWetLuTTWks+tG22t1Xqmt6outCqt2JNekpg5bib19Rby3Y0Ne6cAnHkjbfkpzxwjzuUqhRjExlG9viKgaZIX9idDWDCvwC2WhHgoo9oQhGTtZrbGjM4KV+fA9bTktdFq+A/+SwibgcgkvOfMg8epjgqnOoaB++3LFkQ9jtUnKCbZAnmLrTSr3VY5HGl4Zv9PwnVtj0sgw+5LUL1waA9EPQb5B9VvDtiv+ksMF+M5q45OCLjopXE2n/YoeGOix4wXGe+YBN2eAMinR86xlH3QHISUsLQ1u0UfaLcnSKIHuGmlM+g09gF6c3BuHcc4tRLugb1xW07Yv/ZLDBB2PEGFpQFhf5HFb2ltgpkwjigMXFLoUf8FfYi0T3b1O7wApouN2mg/Q1jGhU8gvqM7Y46b9hv86lTR0PBDPYgE1eI2iX4CpfZpOLpilI++I/JWwMNIPQ+CmpKfjUeQ6/GfS/YZgk06+H5NavVS3pSnFReNl7I5Os0Mdabeo6rnrYb6Z0m2qblFW6q+neFZt1z1XNuOKFsQxW700Phw5At8/9PoBjZFhVKdh4ty+/JJ3AZdkGtWaK/fSyqbnH7lLGNms+w/7ynNS9EzSHwGZMXBgr7Gjg8LF2/YJgMu/gbLbIvxxQDr8+TMnGPrZEP/LVSc8+7i02+G8iyb+qDZoBGag3sUo8nPtlJXnu8teG/GUepPfwD365/XT55aTVu/uMDbabSPKHyWQDsBX9B1ARg3D7L/nM5T/Kt1ZSRXg/HwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle x + y + z \\left(x y + 2\\right)$" ], "text/plain": [ "x + y + z⋅(x⋅y + 2)" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.collect(z)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "and even partial fractions..." ] }, { "cell_type": "code", "execution_count": 126, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGkAAAAtCAYAAACtS0VAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEV0lEQVR4Ae2ci1EbMRCGbYYCDKkg0IEz6QA6MC2QDqCEDO6ApAToADpgoAPcQcAdOP8nS0JnBOge5sSNdmY5PVe7+0srnXzJeLVajQrl7YGdvNWrr914PJ6Jn8WT+r3z7LGbp1r1tLKA/FWvJ/G+eDAA4YlBrCSF7KX4RPxLNt1h2JBoECANCZCYLQWkmFcyKysgZQZITJ0CUswrmZUVkDIDJKZOASnmlczKCkiZARJTp4AU80pmZQWkzACJqTMeygWrroYuZSBXQkdiroUexAvxjWz8o+eXpcGA9GURSFC8hLsEJ/XdpIDUNwIJ4xeQEpzUd5MCUt8IJIxfQEpwUt9NCkh9I5AwfgEpwUl9Nykg9Y1AwvhjtSnfdCU4qs8m5cahT+8njl3CXaKj+mzW+Ls7XWheSHEuMg/EXGSe6yJzqWehjj3QKNxZgC4FCuCMlL/S40D5Hx3rV8TJA03D3WzDe7+VnwosVlWhjj3QONxJDxfmUMmFubCsY1XfFmcnB1+vOpoqwUq/dgU5P63+51ZHN9HZPvhNTOdv/auKtiwxrCyO8pO2sur215gYBSDeDuWdPqdheY5pfCa+CnVTnv0efx5R7g0LG9VNS9ij+KxuP9defXFqo/70E2PQzMnjacsew7JtpRlb3FR/9vNXk1tlzzA67yjRirRUQf1WwuatBDXvTEgg3LqQy0GG2Qn5snU2y7/83H8f0exWZRPZMm2zJ+GMUwQJoHA/iIy3vSKNjTF7GyNgOMR3D7kTJ2QOXfgxOqk8SHb24XTop5iNjHjPJvxN/C9cLWqPIw4dQDb/pPx6s1NlH2TtYHXPpUvlA5S6Nn6G/tLxrdcW/A4tzJ6kBOHhQh1cHrD8PmPT90E9AliixGLHN0q/iq2uz3tPK6NRTHdyJYMJBTjozQqq6EJenGyjk5vylNzGe1JMvuSxANhYjb4OFIzzRlFpG5kypVGCl1XXnk0NIRV29XWfVn4rkMIxJQ/90dGcjqizZck2hvI+Skt21yAx0fyJz9w4EAakiI+HyrNKCF3HenZGkovz3H4RymWW74vNDUZYQZn0ONko+zCrsQAJ+o5tXdj4GfprDLOPSueXfV4ZszrCpwxj6nU2s0PZsbTGajwT1Zcw51e5k68ywi92VI7mQX1nNjKGuLW/kCGuvPOhrz84qNKQkHQbFqemr0CEBk6aezLIR4P3FM/RRukE0P4gZm1iAq7fk2ggJuRAJhzJYH9KU91ZUL9ulc9fgOE9bRMgY6DqjB052yjdWBjHsuElxK39C3CjXTUAFN56ifvcdVX2IdVj7DLiBBVnQe7OyysDIMqgN/dfi5xttP7F/9dKs2dDLBj26Kn0n/PzOQX8Hwh3Yoh3C47gh2LzJqyGlfcNlXdKzqko1ESwBSE8XAAQx1cTslW/VRvb6K+++NhtMZvmc2g6bPR70qaktvk2RrYdu4v+29Y/F5DM8tasiR3Bu/DjVmUIpK3q/x/U7DEkXdL2WAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\frac{1}{x^{2} + 3 x + 2}$" ], "text/plain": [ " 1 \n", "────────────\n", " 2 \n", "x + 3⋅x + 2" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr=1/(x**2 + 3*x + 2)\n", "expr" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJAAAAAtCAYAAABBEuITAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD4klEQVR4Ae2cjVHbQBCFcYYCgHRgOkgmHYQOQgmBDmCoIGM6cFJC6IBQQUI6CB0E3IHzPefkEZI8lqWztCftzhw6ne5n7+3T6XaNNFkulwcujkBTBN40bdhVu8lk8on0QjrqaswhjNMVbocWwQpk+YZuz6QTkpOnhqH6wM3kCsRjdUE6J12C288a2HkVEOgDN5MEcjakg4ATKB1bmdTUCWTSLOko5QRKx1YmNXUCmTRLOko5gdKxlUlNnUAmzZKOUk6gdGxlUlMnkEmzpKPUhOilSW0Jy89RTD9jfCTpp4zfpCfSPTp/5ehSgUDXuJklUAU2XmQQAX+EGTRKSio5gVpYi8eF/tXkqkUXyTd1AiVvwn4n4ATqF//kR3cCJW/CfifgBOoX/+RHdwIlb8J+JzBheAXpHsKxjjYLKn0mmKfA3igET2vGRBXQLIqwU7BTAc6iPIHRebFwaOfRAomAbDOkXdNiGFs3004iN54GU9re7tQwVzl13KK9ldHEADkcR5tNHTffA42WunEm7gSKg+Noe3ECjdb0cSbuBIqD42h7ieaFWUYQT2eKftdBR+Ul12xgW4Ui6HflxtNPlRv/f5SB/x38ChSMPMPIlyGdYVMR55FrVbGd2ianP72CPXjygNPGD1wksQJpAli1UbyFtt9pq8CnAqBrofxFJ5QfrwsHlmmJm1bX/AcuZIPjIo6DX4GYtFaZR1JRflBwBMjvihf8vP6HGsZAID1iphBFd5RLZASiRaIzvYKhLsL5B47avGrjqjv9Lekvy2Dj0D/tdxLGer+hQbbymNjDWMNtA2al4qgECiDcYLSVx8O5iHRPmos0nP8hr71IZwRirJKghx5rIvUter3aG5Uqd1CQCm5VUEQlEAPckL7kBjolL0Nlr+GIWK1c51zfbbJ6ZeguI3qbjiK1TQW30nSjemG6k/J3NOfavD5TJtd5q1B/7/82wRgij7wvff3MhFjHDf304oBsU/LCoq5AefIEy2ifkQXwQtHmA+0r6zKBxm58frQAhCnySD/ruOUxLOb35oVhrGyTKne5dwkkPM2vPJTJO9Mj1oxYw20bMFEJJCORMndZG1XdXes9D9eucte36RbtOmOKzGd58oTOtbL1LuhnErc6wEQjECCIMIr6rojD8dW+h+u60xX679TrCeNKrwX5WUhzjirTzxu9uvHoYRI3sKklh7Vq1av0i2p3JD0WtOnS/wNfkNemdRUJxliZN0ZRZyKiiLxVb5D2Sp6AgFXcDoLtTtAzWxQeKBNm6w9cRPXCAiDRDygdZRMdXTHjHXaBWyoE0r7qpO/HjXG+lNSDQHvH7R8hG3L+jORWfwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle - \\frac{1}{x + 2} + \\frac{1}{x + 1}$" ], "text/plain": [ " 1 1 \n", "- ───── + ─────\n", " x + 2 x + 1" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.apart(1/(x**2 + 3*x + 2), x)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Calculus expressions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The derivative of a function describes its rate of change at a given point. In `SymPy` we can\n", "calculate the derivative of a function using `sympy.diff`. The argument to these functions is a symbol,\n", "or a number of symbols, with respect to which the function or the expression is to be\n", "derived. To represent the first-order derivative of an abstract function $f(x)$ with respect\n", "to x, we can do\n" ] }, { "cell_type": "code", "execution_count": 130, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAYAAADIWo5HAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEuUlEQVRoBd2ai3HUSBBAd7c2AAMZ+DIAHAEmA3MZwGUAdRFcQQZABMBlYGcAJgOcgT8ZmPek6SmtbH13zytdV7VGo+lp9X9mtLu4vb1dDMXFYvEUPAWvwY9D50+JfqkwY2G5XDr5FTz+Hctj3/NWYwVA+eM092wsjynMG20AhH8JXuD9mykoMlaGbQxgBMza+xpt3cdyhPshdO9AvX0JqriF8B9w3tBVkdFOT1vtD4OWe1cAC+BBPJtr25oCeP4AJb+B71DwgjbA+588m3X+q0yrARh/D2qEr2AV/hf5r0JdBvgTmrOqp1NUWBNMg9lDowGSonr/Z01Lve/ucfYrgHo0GsDBBN/jJrV/0RZGwUgnoNEwW2g0QAp7Fc0Kouyb1I+CeARd3M/SCI0GSNq8oD1C8begBfEH6A5w4TOaB60DvPMQ1AmjwLny2JiMBwefBnc9B4GsNR9BjWqb9xzxLp+Bp9Ef28LDZT3z74oAaB8EPvMW9xSmkx52l1kHBbf+bAuvYSCvEsZaclfzkELvu6t0dfH+uM6bZxplZ98d4GU6v/U9Uwj/E4RBluZUZPwXmMO2jbbPGLw09LW0U0iBI4RpXEmiaCFsIw3zBwG8inSD9/F60MwdEluRYeeKYuhf0TcvrxCunudGSOOmi3l6M1YGjemp1YJpHXkCXsLzA20d5PlqCilg/hf5iKB35GHMpfZNw5jKv48x6UDTpczv8v48xqttoj3fWwQggHsJPSU0epgxaa4kugf+5ln1m8Qf9KX/lGiNhvpWPg0VPA/uWLxqpf/6Hkn6FEC/RdxZGZQN2PgeQf8c7LVXgM4UuV3jhYITnZ0DQi47mLYWwI65Os9iVgWV0uu9Yd1DyN7MRhAqcFOIBjvD31xvBRwpL6EtnUqK8vqY5mJVfbKH++e883vHe13+FPYOoLSn0TCOq4lRkQ3KmGeYGK/Pt1bc7M0ASTCFywLXJUx9x5/Vx5ivwi6dheK0xSEt6BgvFLwnTYJEnmdb/TIUnMa0SQGXuEctQrpSqKDbYCt8Bp5rPM8QEUFWfpdB6SyGRkOsBnY3gPnSvN7bKsDL3Y/3rdi73gobHb8wUPtWGCs9BU/Ba9Bj6lYAD3PWsBUihMte+1VjDaru7eyKU2Wpj1boQpi5VJ500XWNw0NPGvaGb+GBrjkxnuZtfSBK7867wz7K6ykNsLHpCMGGtPAwRxs/erTxYp5h2ytlOvjogGzIPgYw/AZ5q02AbcaSEe49F/Thy3wdkJV3TucqQM5aLX9AXD+l8Xj+sK6qgLKGmcXmBrwE3VW5w6oeOFyazGGtKQw5gpYzpnSN0EEmc73zR1BoVH7UETTeNaW2qAFJKZXfyC/6LhW5Yio4YE3IBTH1c5Gk7wlvI8+mpHBdljCAimYlgohnLlvZ28kAWfnUt0ZsXZ3jnQ/drhBe6P0jKAJaH6pgjXBpmSWsUkEzr+uHEmuCEdJ4vGSuyguNNOXwdK8RAUoYh4qQ1mWvMAqK5h9B070GE8JI2XiMtx1By1kTuq5SSKuAS2ABKFFsGOjEp+jiR1Ceq/A2R9DyBRO6FhshFNOjcbT0U/IX0Fy34hsZ/h3mrEbH4+Ljo8bqdQR1wtTgN96mM1KCZCaMAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\frac{d}{d x} f{\\left(x \\right)}$" ], "text/plain": [ "d \n", "──(f(x))\n", "dx " ] }, "execution_count": 130, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = sympy.Function('f')(x)\n", "sympy.diff(f, x) " ] }, { "cell_type": "code", "execution_count": 131, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAYAAADIWo5HAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEuUlEQVRoBd2ai3HUSBBAd7c2AAMZ+DIAHAEmA3MZwGUAdRFcQQZABMBlYGcAJgOcgT8ZmPek6SmtbH13zytdV7VGo+lp9X9mtLu4vb1dDMXFYvEUPAWvwY9D50+JfqkwY2G5XDr5FTz+Hctj3/NWYwVA+eM092wsjynMG20AhH8JXuD9mykoMlaGbQxgBMza+xpt3cdyhPshdO9AvX0JqriF8B9w3tBVkdFOT1vtD4OWe1cAC+BBPJtr25oCeP4AJb+B71DwgjbA+588m3X+q0yrARh/D2qEr2AV/hf5r0JdBvgTmrOqp1NUWBNMg9lDowGSonr/Z01Lve/ucfYrgHo0GsDBBN/jJrV/0RZGwUgnoNEwW2g0QAp7Fc0Kouyb1I+CeARd3M/SCI0GSNq8oD1C8begBfEH6A5w4TOaB60DvPMQ1AmjwLny2JiMBwefBnc9B4GsNR9BjWqb9xzxLp+Bp9Ef28LDZT3z74oAaB8EPvMW9xSmkx52l1kHBbf+bAuvYSCvEsZaclfzkELvu6t0dfH+uM6bZxplZ98d4GU6v/U9Uwj/E4RBluZUZPwXmMO2jbbPGLw09LW0U0iBI4RpXEmiaCFsIw3zBwG8inSD9/F60MwdEluRYeeKYuhf0TcvrxCunudGSOOmi3l6M1YGjemp1YJpHXkCXsLzA20d5PlqCilg/hf5iKB35GHMpfZNw5jKv48x6UDTpczv8v48xqttoj3fWwQggHsJPSU0epgxaa4kugf+5ln1m8Qf9KX/lGiNhvpWPg0VPA/uWLxqpf/6Hkn6FEC/RdxZGZQN2PgeQf8c7LVXgM4UuV3jhYITnZ0DQi47mLYWwI65Os9iVgWV0uu9Yd1DyN7MRhAqcFOIBjvD31xvBRwpL6EtnUqK8vqY5mJVfbKH++e883vHe13+FPYOoLSn0TCOq4lRkQ3KmGeYGK/Pt1bc7M0ASTCFywLXJUx9x5/Vx5ivwi6dheK0xSEt6BgvFLwnTYJEnmdb/TIUnMa0SQGXuEctQrpSqKDbYCt8Bp5rPM8QEUFWfpdB6SyGRkOsBnY3gPnSvN7bKsDL3Y/3rdi73gobHb8wUPtWGCs9BU/Ba9Bj6lYAD3PWsBUihMte+1VjDaru7eyKU2Wpj1boQpi5VJ500XWNw0NPGvaGb+GBrjkxnuZtfSBK7867wz7K6ykNsLHpCMGGtPAwRxs/erTxYp5h2ytlOvjogGzIPgYw/AZ5q02AbcaSEe49F/Thy3wdkJV3TucqQM5aLX9AXD+l8Xj+sK6qgLKGmcXmBrwE3VW5w6oeOFyazGGtKQw5gpYzpnSN0EEmc73zR1BoVH7UETTeNaW2qAFJKZXfyC/6LhW5Yio4YE3IBTH1c5Gk7wlvI8+mpHBdljCAimYlgohnLlvZ28kAWfnUt0ZsXZ3jnQ/drhBe6P0jKAJaH6pgjXBpmSWsUkEzr+uHEmuCEdJ4vGSuyguNNOXwdK8RAUoYh4qQ1mWvMAqK5h9B070GE8JI2XiMtx1By1kTuq5SSKuAS2ABKFFsGOjEp+jiR1Ceq/A2R9DyBRO6FhshFNOjcbT0U/IX0Fy34hsZ/h3mrEbH4+Ljo8bqdQR1wtTgN96mM1KCZCaMAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\frac{d}{d x} f{\\left(x \\right)}$" ], "text/plain": [ "d \n", "──(f(x))\n", "dx " ] }, "execution_count": 131, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.diff(f, x)" ] }, { "cell_type": "code", "execution_count": 136, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\partial^{2}}{\\partial y\\partial x} g{\\left(x,y \\right)}$" ], "text/plain": [ " 2 \n", " ∂ \n", "─────(g(x, y))\n", "∂y ∂x " ] }, "execution_count": 136, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g = sympy.Function('g')(x, y)\n", "g.diff(x,y) # equivalent to sympy.diff(g, x, y)" ] }, { "cell_type": "code", "execution_count": 138, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\partial^{5}}{\\partial y^{2}\\partial x^{3}} g{\\left(x,y \\right)}$" ], "text/plain": [ " 5 \n", " ∂ \n", "───────(g(x, y))\n", " 2 3 \n", "∂y ∂x " ] }, "execution_count": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.diff(x, 3, y, 2)" ] }, { "cell_type": "code", "execution_count": 145, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKoAAAAWCAYAAABQfgeMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFGElEQVRoBe2ajXHbOBBGLU0KUHwVnNOBM1fBOR046eDsDuxJBR67A18JSTpwUoGTdBBfBfnpwPceBGBARk5MmpQIjXcGArEkF/thF4sFqNnt7e3OmDSbzc6R/5XyjLJL+Yc+f1BvDUWMCwDtUW4op9uGcdPGmo3pqBjwEoCf6ONfgcb2Hu0XmwY+VP/RSS/BpIOK8S2VGJ8P1cejnJ2d+RoGwUia6BMXB6mxJfVhC8cZ7X0c1uj6SAONwJOB5KwUQ1Q5bt0wyrxv8bahmZZ8saS0puRtA8aNYhjVUUtkRBhzuFeUv0t+7ddMxnLFEM5+xPSxdmxT0n8dS7952wmgP1DOMOznKQ3ACLq4eXzcTA08sHdupnAuI8PxiuW7twrIdHO1sc0U/bscl+mIGN0IvesNqngR+TrpYsgxK8Tf6zJiPI0Pi1dy4tQdIACws6oA7gvlatW9vjzkOXCehx32ldH3vdi3TpnxqkfU56jk97lGzhGlIb+PnIe8Q/+mV29LGbSdPI75Qcmf8jW6apfvFCd9sFc2WmJYQy7VPtjbUXnXQVPGfpLNdXLUXo7B+wI4SfK61L5H+WmSRN6XLrLazyLDk4zzxI/tjDvx71Pz7kMwejSWjZv6g6cdvqf2mHVf/dWbov6uutbaKmOZ02hQXDp+wAzngo2bHRoMhjK+UawTaQTbbxJjjbVLn31nfcC6iP1nXld9kGH6YNS65vrQwrVL74PGj/f7kBPGI8A2edKyiLq2702irb9QXlJMza7bSq3a9ZuXngKqzOXa7923/ZIHj5Hll6k/KEbU5ypFvVaiT431tNWphpWcxX3JTaIObxTItAmMdO7k8AzXSLT2Mc7gR7hoOCoAQ571q34cBO77nPQXxeihAxpZdMavDNIFtWmFUWySSXzEYSS8QM/w5UydpY4Y286/FLKBX3Dc9TVM20g5ynfBuHx1s7/ZUaPizsQMpq1afOY1z4RdJW0d9oriJuKCthswZ3JwVOrJETo6qVwtXKKNsmeUTNuAMYPhAjyuGmJ2QoYoWyPGeQFKB/ydg73m+dKwHnY7CCki6cAu95MlMN5QPK5Rdw33XzRm0rl6jAlIrE1r3om54FeHMZyjYiijiwbMyzQ8k/Jv8PIfSJyJtMOsFPSqZ+Q/lJDrkpzyx1LcgsYuZVXUV//Ok4S+3BFLf4ptmzCCRSc1BWvsN4bAiIzRbIRsT2iU/7T0N42fj1a4sTy3Wu4ef3k85RhQeh0XpX661PTlhOrVH+8Z+f3Y0DiSg2fq8tOxVXou3uvVZ5LRpaa/3hjLfpCjse91rjskxiH0j7o3jqfMUUMOgxc3dq3wTcCNMPKvGYRGWgA/Jei1/MnE/NlVoDFL5d1FFWIMUNBbZ3+GzXIkhedEdZI2VqNaMM5R3PzF86tGAZNL/MfID07qAFCMwFJYmrlfpgsnxf3lU9P5Fc979LUuKRgQRsBROUYnogHkBTizk0awOm+gGjHOk/Ir6uSQCZyOaXQNDkqdc1cfALwG99C27QjengK5mWisGhoMnnq7ubqhXTXGaAMxuhKex3JJLc/z8WoxPgFAgwQHIy3rBxGkedwbin/e2INn/uPG5YhrE/bwNYSBSLt/WNMidUNX8YQNRtROJzX6pPTFv+ZVixHddUgxaZ82pSV/shijbXZRPAXDD/DU++rOf0+1UU6hjdIhAuJYjXx5CroNpUPtGMfSvzZHNR3ZxVFTdBjKPyYjB0NXjXEs/f8HxHYoynBPTToAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 4 x^{3} + 3 x^{2} + 2 x + 1$" ], "text/plain": [ " 3 2 \n", "4⋅x + 3⋅x + 2⋅x + 1" ] }, "execution_count": 145, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr = x**4 + x**3 + x**2 + x + 1\n", "expr.diff(x,1)" ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 2 \\left(6 x^{2} + 3 x + 1\\right)$" ], "text/plain": [ " ⎛ 2 ⎞\n", "2⋅⎝6⋅x + 3⋅x + 1⎠" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.diff(x, x)" ] }, { "cell_type": "code", "execution_count": 146, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "a, b, x, y = sympy.symbols(\"a, b, x, y\")\n", "f = sympy.Function(\"f\")(x)" ] }, { "cell_type": "code", "execution_count": 147, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFkAAAAuCAYAAABDLLXWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFgUlEQVR4Ae2agVHcMBBFOYYCgHRAOiChg9ABSQeQDqAEhnRAqIChBOgggQ4gFXDQAfnPSI7sk+S1z9wNF2lG2LJ2v1Zf69XKx+Tl5WVtaJlMJufSfXb6p8Ly90MhV1JvY+isRPCxdLdVT1T/qO6oflUtpcXAIJJF8KZwzlT38V61p7r/1cIuTcfAIJKle4S+CL5x149cS4kzMBkSk+W594J7kO5+HLY8DRlYDxuWexFM7KVeW+SLzNpab5JF2oEj7q4QaGNgCMk+RPy2DVGkesdkhQsS62fF461Cn42BXp4sgncdbJVV2IYoUr1IFl1fHGUlJ+7hO31J9vG4bHo9SO4Vk108Bn5LMbl8pzASbfbkIB5zCFkowRp7R7U6ZRrn1RBDF4zGw0U2RBjH484qm5gkmcWVRb5LRjh8/+ArHh+auO7EdHiueh3r6/NMGFepMSw40mXT5wD2pHpu0fEyZk8WsI/HY216F8LkjXhQZQF95qLbRoGc740nwxqHUgNrUBFhd6pwgHP0O+16truuAuZ7BZ78pUu2q18YGFphufsopvogv5fX5MYWFl8Oj3MyuT7pkl1h92ZOrt3XGSZQANSB9x6gPaDD42iu23yYkgwLGw0jXbqxfmExj6dYn+WZdFmke4tsKGMNFz4/5qT3rIHmLXsCIEwki9+oNF5WLgkQ6XC2PwjbzycilX2EXu+D2EYW8l8npFDm+l7BLi8M4hrGTtUmRk41+VjMxduTE5IuXgkeBfv4hYZNktj+QfVRuD90bRcw+QUniY2C8MECE6d6VEUe7FPVuljssIaLW6ESKs5kuEknJ+ewsrFRMmwuRzEcPYfg2hbkVAktFaa7v03oIhvt8/LqxwnIIupQpXvsaYRLtU12mAhz4Axw4A0ZehUGHgLWbg5D/ZAWHU/PiY315uPaNQHoqdYEheO4vmRcVT/EQXBjgdUmzWwsjtomOzpJFpAnhUlEDQ8n0XUvDOumx0RTWUdNMOOp8KaZcmnJ8cpLLf5Gqg8y6wXzcnrGotdvjxvXZMe6FLtKnb8KeIxNqHPT6zJIdhAnw4KN/XLXULt5/03Nm3AMF3dxtsYYoYyDiNphIdlvemN9FMIQC9ZUcry62SICvBNkN7IAZFv3UWdxZDJm2z5iNO6fHCNnh4VkP4m5MguMdOWzrpZTI0RAyEzRhA4cIfR5Ampi1Hcc9Lf18cj2m9CWadtH9lPhu7HBIAMx2WEhGVIojVfl9VG/v27iMU+JATGpT+0OYUAqqV9Frq7+uF+Jqr8iMfIqV/36A2bUI50O41YkoiA8shHa3vv3JOdzbZMd2U+djhQ2IMrcnzcdQSxWJ5aT5Ujd+J8OZ9OFMLy3/dQ9RCDHBshrzbNokT4yh5KpPT8UbOGTb1+q4vlkEozJN4yblpwer6XtkEIyw5Ai3sJOO/goGuILB0NNWQB6KmMfq/HIZPoW2jrm/TozyRQfj6OvV0av7tKKE7d4rSj+VX9tdf9lUTh1jVWIraRoiy25FZMlkINLNRLznE67T7p4IyGCWNzbi5zuGPk54zcOE21b36pt9eR5MosqRGiCXBublNqWMpb34TB8s1h46dr4qsCoFZ4s3LJgQIUbYimnv+SGFojP3EqfjZEDhs8QZmTe8kGSZBlGPGYnxrghHviWdr8r7Fy48HloNNV5V7NcsrE5kv1xeu5DyJLnuPThc+HC56hLjcdLZ2gEA3KezGZTQsVbkew2PeAHH0JGsG1lIFKe7D8KXa7MTJc4kRTJpGz8Ml3CxQiLkyKZn4gGJf4j2LRyEDMkKx77/LiEipGWe12knqmSrvnCtwJOeSVUeEbmvG5In+Nz9TOPyyrw5JlfJOYc579W56Cxo4r3Pqqy4Z0ULxYLI5a/LwIiQCjVF5kAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\int f{\\left(x \\right)}\\, dx$" ], "text/plain": [ "⌠ \n", "⎮ f(x) dx\n", "⌡ " ] }, "execution_count": 147, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.integrate(f)" ] }, { "cell_type": "code", "execution_count": 148, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFkAAABKCAYAAADQSfiaAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAHLElEQVR4Ae2bj3HVOBDGk0wKAK6D0AEHHUAHgQ4OOgglMLkOgAoY6CDpgD8dkKuAkA5y389oPbIjySvbL8mMpRk9W9LuJ+mTvFrJfvvX19d73rC/v/9csqfIS+9vr97W5Q5rCBCx5yL6XDoPavS2LnswgwBm89kMvc2q7NeYC1jSTMa+PJbexWZZq+x4lbkINpkqjnXP9ZniPyL8ikQLaQZqzcUTwTCDP4jYf3X9qtgthLq2kGGgluQXwnkfzVxm8NMMdssODNSSDKE/IvZw45ptjghJ3daSjOv2LQJ6pftPUbrdJhioJbmftVr4Xgvvm0zHlwRuy4oYqPIupPdS8aMI7sgWwdjoFiYYqPaTJ/BacYKBWnORgGhZUww0kqcYWqG8kbwCiVMQtQvfAE8L4Htl2Jb6XbRJGchtPTGbZBF8IvIeKb5V/E/xSBHvo4URA7NIFsFsSjizeMHsVfpS95xjtJBgYBbJwmEjwtsRDvC5PubaQpqBWX6yZu5PwV2I3LYZSfM6yK32LkQwtpfY3o4MqMwnqkkW1HGAi0/j8jW0kr05JJuJiE/jGpUFBqptsswF7/iuZI8fFnBbUcRA1UwWwbx+InRexZ/b9jvFQBXJAnseAJtPPMVsVF5LstnjtuhFJE7dVtnkYI/BfCibbGcWU3Vsvtw9kyN7zCakEVwxddwkC9Ne/d+6qdAAHyl2W/mKvvWi6ILRZ9z2jWYlZw+TUe36rIj7duKRn5IRDodMHJVymsf1KKVDvuJZqqwmTxi0P1mHB0e6eFbscn8r8u3JJGcm4xfc2+O8ApKfm/KSq3DoNCd57CDBPU7hKf+74mxyDFMYDOp3S8+9CiPb1hymi+TQQMCJD3Jg3vwID5eQzicHTvmYiKpZU2qDsBjU2U+idGlvNQdekm22/S51wlumhnZ4U/KS4+lZPIutHmExoLP7IF0G6afhea/ehY+vNwlrnVeA138o0yGPfmyhUkeKciO1YlJYVxK4ELZtqoryiUL0qne7hwmgVJY1apFnwSovcDY04F0qjV2+VOff6DoOzPZsh6TLrDSPg0HjNRiLJAvUX4q/hMuXp+MAJq/JstgoCB8sMBmYX4rIg/1OsQ+ednjNhdnj5OKkzrhwTE4tBK9oG1XOSv7adOKr8iH41PKQU8S0dJjhPrnIBdlkWYTHJMCL6E2V7mnPwB4r7WrHJDlUFMCpoK/UGlR7jfCelHQlB2nJQVU+trFfgEO6JwA9xWRbQ1nWrqoc4iB4MMBK42YOBkdpVzs8JNuiJ07qZmxKXg3zLnp0NOd19ARThwJunsuXlhyPfLYvKoPMfsCsD8pj0PunJ9Traodn4bNFb5E9VgMtTC56Jpi7qoPYyTjYRiHOm3vP58DncR3B7vJED165xTKhsmQ7PCSjSFjLswDPM2CXkuPRLQYRYO0rLmQRyCPdJz2WQCZ1jtvXLfwiNVtHqR0ekp+GBg5GMWp07S14Xx1KEAEhN4I6xB+DbACMgJ4YlZ1E5WN9ZuT4SRjLjNuH99Phh7rBwANxtaNIcmiodSY7iuMW5tIRXk9ITlb5yNz416swIBXXryNXVzvj1m3vel0lHuWuXD9gJvsSdKi3IxEF1YfnQtpm/zPJma/takfxPDl0iBlMoxe/04vwJs+jgyxb6sGHM8pn0D8q2mz7oHuIQI4FkFWNvGSQPjL8LS450CN8/O1Pisx8PAnq/CFd/pnrb4cUsh6GADkhY6X9XJLzlgmHhrq8ADAV1t5WMyOz7pu3H7VyRXOhBplnMdsea8SxWzxWBHvU/6SmfxkUdl1rBWwrLtrthtKoqCXMJKZUcePgwGCQeLyqZ5F00E1uLEr1jstC/YPNxFhmV+kpm9w9s6q8+4+vGlodNIuxlxCMzcSZtwXEhSV9HnFs82CBcylHQsJhsN7U1h9BzL9VpUmbLET8T0h229Ac1tJ8tQGiB9vcGkx0wajRWVP2UJXngrlIyVU4p7SLfHWY2Z/1GKbqlP5s3SlsT3lp4Vu86HkasAWZrE2WDTP3abY93gKBnj6WZjJ28M5NhacT910mSbJmce2hy33v5522L0myWmSHQmwpW1jIQI5kfFLOK5q5WEgw6jmSeXtxp27PCn27NxA3SJY9Nv+4mYqVhulApJ4Gd80gOUTh9UszFcbIwis7PjyJ7g1E8CqYyTcOyxfWs2l1NhpHisxePuBgwXvbZrFYWDFkd3wr1rF5qBsL3+YZ2QEBjeQdkDqGbCSPGdlBupG8A1LHkI3kMSM7SOMnd0E+Mu/heDvMOTIH9keK2e8TVNaCk4GO5EAwH328xEcOmxLSVS89nXVuTszMBTN4vJVuf4pcaToYyXwuGn/Awta6nV2sRXIwFdjjmFS212eUhfKVqtsmzIFs8JW6ToRovmLkwIiZjD1+Fcp128JcBrqzCxELqRwS8dUi5OJZdF9JiuR2eC8yloT/AaS/Vf/qZebbAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\int\\limits_{a}^{b} f{\\left(x \\right)}\\, dx$" ], "text/plain": [ "b \n", "⌠ \n", "⎮ f(x) dx\n", "⌡ \n", "a " ] }, "execution_count": 148, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.integrate(f, (x, a, b))" ] }, { "cell_type": "code", "execution_count": 151, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAUCAYAAAAnStuxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADQ0lEQVRYCd2Yi1EbQQyGc0wKIEkH0AEkFcR0gJMKYjowQwnQAUkJSQc4FQSnA5wKIO7A+T9Zuts73zJwPg+Z08zePiT9Wmm1D7tYrVavhkpFURzIt5F8/NrFR+lPpDeT/qLUJ2BDLHKQYN1s65swvoMVOAWNIZKyYy6/xvKvyo4OjgpnX2o/hXOM+l4HjP9exbfS7bbBwlFhLFXNhDmlP8gMk3N38u2kj4BZkNZZ9kd4bwaXYQoWZxeZsdVWBCNIWGTZQtij1zHYZy1g9v2lCoYg+hzAP6ynj8tcqHnvY+9UIzPzPjJHao9UUpzPkrHzJOQa9an6JUaDF3a5/aAPKucqBBlbzOFe+FeqmwTmuPcbUqAY/6tyKsOGrzaTYcxuG++zbcrbB1nRjcrU2xHk2hzFvwvcttoxJhkemJfBU5vAMY+wSXse/LR22XltMqlA1zYGm0bVZ9WJyBG4IiZWTjxswVcxOdVkFkHeD77rmnPpWNqWPNjlYjV4ZH2JpzZ97NmYauZZW8TQdx7Ytl1wks5TCrLmeIBF7VhM4DrGmjW6KsjknIJnwVTNfOhb5qludSa1IRmCzGN1Ixk0XgYLvghfnvRWk9x63m3AXccESlYwk2wWiBfZlnPKAuQO2RaSDo4xTskuhutkA9b0y/Gyc03lJWsB6/uWvBUwdLiuWr9xexGMHHEjxW13rokfqxQSPlOZiMfC5OhBjMewTc8vFNrZC8IEq89bNRe9BkxOLQX6W+V9ZadqaZJsQ/jInVScdSsJBD9HWNG4zUxAuvwm5Ka1YNrg5ocFwbkNwr5KBNOC7vMxWfGmCb+pj81lrwFzC2PVBzJcc1Z9DliCBX1U+aQxgpISMldyIlb9osUBHA5+qhttbGw8O4RDgFiIyM7agolvAZFtFrONwJzt5KXvTn6TgQcVDm7eN5w9sR15DzFB3kAxQfrIWDDcQZxCnyAhx1avvdXUr5HrgVM7FpI5/XIFspVFRY4zkksi+6+G9JH5spOAYfwlSc4R5D5/GrGYLNTh3ks6tkPbbG2yty/isrkGbJAZZo4VBW+3M2VFeQww/lzyrTzsv3c8KGVWPDdIDXkuCi4yo8FmGN4pOzh7ev2L+h+pG0CJtUBE1wAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle - \\cos{\\left(x \\right)}$" ], "text/plain": [ "-cos(x)" ] }, "execution_count": 151, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.integrate(sympy.sin(x))" ] }, { "cell_type": "code", "execution_count": 152, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB8AAAAsCAYAAACdQGM6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACr0lEQVRYCeWY7VHbQBCG7UwKcFKC6YCUEOgAWiAdmKGCDOkgNUAHUEKgA9IC6UB5HqHVCOlk607yL25mfZ+77773sXfyqqqq1RxZrVZbZIdUufIJhbnpFgPPEFjnyizw9Xot6y2gjyUMZoEDeI38LAFWx6kq0oX1BsUn9E+KDKA0h7lrLfPiVMR8CdZ6XMr8Bl2ZDxKO7ZDqgPxW8fNA+0BDw/oitdb0hUPfMFOfBPJ75Axxj1g2rvw1zw4wqBhQrtyoXaHtFNGpup2yjngMyWqd0+iLvG9AD8+iM5XT/5Jq77cx7iHaKN8hm6hH3oLTKaNXxOPTtnfLzZhdty1VZpyzcBd9lJMOxxS5Pq5JxOgk+zEjARI549xQ7dJQdu7HmavogGZgO2Udg1f03UZ9LO/YaMEamwNCg+lloF7rSb1ZAoT6C9IajPZ+zhhn7900U3c5B46nznkclzZ6cYRkfQ/QP/JD6ZwBYSPGpi+evufWSe7Odp0oT2KdsrWvLcVc8LipbmB9Qf0RI1NYqzs5jcZ2QJ+w4ikwGn0/BvgYc72Xvbv/zzGABRjs9u4a0V2z77YtWR6d9tqzI//sm/YjQ5ff54s4tsZKfbAXsZZhhL3Dk+MtqGSoLTf04675x2Ve8nrdsuXiurVsumbjPr8VM35zwiVmjfXt26w5Kd7dHtfBS+WQ7b2xva8sMDJ4zdDmS+W1P/5QPXfD+bT2suknXyobrmFfrZNTLrh3+xYQp392WiTC4YzPLDffF6Z68osnl/mALcAuhcC/coA1NJt5w9r/ZC41mJNmgQNcf+oC/CMHNMYWTzvAfhx4VIuA1S0CB9jn9EkXmDZPgWs/OWWDA+BZPu8CN2g6lJWy1rxh9gBC/Q9Dg+SZ/4r48Z/3zxQKk0MsAEY343hK3n0cTrH7HzUVMUawQmHtAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\frac{\\sqrt{\\pi}}{2}$" ], "text/plain": [ "√π\n", "──\n", "2 " ] }, "execution_count": 152, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.integrate(sympy.exp(-x**2), (x, 0, oo))" ] }, { "cell_type": "code", "execution_count": 153, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "x, y = sympy.symbols(\"x, y\")\n", "f = sympy.Function(\"f\")(x)" ] }, { "cell_type": "code", "execution_count": 159, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle f{\\left(0 \\right)} + x \\left. \\frac{d}{d x} f{\\left(x \\right)} \\right|_{\\substack{ x=0 }} + \\frac{x^{2} \\left. \\frac{d^{2}}{d x^{2}} f{\\left(x \\right)} \\right|_{\\substack{ x=0 }}}{2} + \\frac{x^{3} \\left. \\frac{d^{3}}{d x^{3}} f{\\left(x \\right)} \\right|_{\\substack{ x=0 }}}{6} + O\\left(x^{4}\\right)$" ], "text/plain": [ " ⎛ 2 ⎞│ ⎛ 3 ⎞│ \n", " 2 ⎜ d ⎟│ 3 ⎜ d ⎟│ \n", " x ⋅⎜───(f(x))⎟│ x ⋅⎜───(f(x))⎟│ \n", " ⎜ 2 ⎟│ ⎜ 3 ⎟│ \n", " ⎛d ⎞│ ⎝dx ⎠│x=0 ⎝dx ⎠│x=0 ⎛ 4⎞\n", "f(0) + x⋅⎜──(f(x))⎟│ + ────────────────── + ────────────────── + O⎝x ⎠\n", " ⎝dx ⎠│x=0 2 6 " ] }, "execution_count": 159, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.series(f, x,n=4)" ] }, { "cell_type": "code", "execution_count": 160, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle f{\\left({x_0} \\right)} + \\left(x - {x_0}\\right) \\left. \\frac{d}{d \\xi_{1}} f{\\left(\\xi_{1} \\right)} \\right|_{\\substack{ \\xi_{1}={x_0} }} + O\\left(\\left(x - {x_0}\\right)^{2}; x\\rightarrow {x_0}\\right)$" ], "text/plain": [ " ⎛ d ⎞│ ⎛ 2 ⎞\n", "f({x_0}) + (x - {x_0})⋅⎜───(f(ξ₁))⎟│ + O⎝(x - {x_0}) ; x → {x_0}⎠\n", " ⎝dξ₁ ⎠│ξ₁={x_0} " ] }, "execution_count": 160, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x0 = sympy.Symbol(\"{x_0}\")\n", "f.series(x, x0, n=2) " ] }, { "cell_type": "code", "execution_count": 164, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle x - \\frac{x^{3}}{6} + \\frac{x^{5}}{120} + O\\left(x^{6}\\right)$" ], "text/plain": [ " 3 5 \n", " x x ⎛ 6⎞\n", "x - ── + ─── + O⎝x ⎠\n", " 6 120 " ] }, "execution_count": 164, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.sin(x).series()" ] }, { "cell_type": "code", "execution_count": 167, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADwAAAAUCAYAAADRA14pAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACE0lEQVRYCd2YjVHCQBBGE8cCwA6EDnDsIHbgTwVCB1CCIx2AJWgHSgUiHYAVONIBvi9zZEJykRiyZMbMLMnt5Xb33V42F4IgCIbIEvlAepvNJvhPAlPfsYkxCvl5RF6BfONc2xGGYQdjg5TBHtcT/LykdEe7JJ6Y89TCo4MdAZcAo7vG1zPnAfpp3X6d/SfsnmN/XWT/pKjjQL3g+i6I2FQqs6MDbSfDsd9CNIkTlHdIK+ksuLACXuBPs5zMtIJzMSS6gphKq5VJ5AbRSnovM9BkSROA6kE7E0Dk2spGY4dVhneAXHZVNMZMRu3P746zPQ1TYEA7iED1ylPWH/bEY95tCkw2V4iqdRcSPbufTMB2aZvD+Rx4n2G3BGcM2BYa39i0TjD3gKlYeQ+BY1ebAFXVX18dXgM1Kb3ABCeAi6o+AOpoLHZWGRtz2sqwpJENiBc4E2SVprZxAeBtN3lVbJiMsQLWCpl7YOPM01e49E0oU0atgHO7KbKt3ZeAVcTipY5ONeIbWaCr/AgxvvRhAkzwU2AiJL3JEOwVfclHCtdr7hG8togttUtH7m50Ps5oRk41czb1QZR755sAy7EDS+BcMLkT93UJUNlX0H8GZnzygZIz7lGceHRNqC4JPFvRTeJoHFhLGbIvEzqP0caBiemW7I49sZmoBKzZnTDTS0T/Shz1ADZXWOoMAKah2LCpOhH8APfCTECjyL2UAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left[ -3, \\ 1\\right]$" ], "text/plain": [ "[-3, 1]" ] }, "execution_count": 167, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = sympy.Symbol(\"x\")\n", "sympy.solve(x**2 + 2*x - 3)" ] }, { "cell_type": "code", "execution_count": 166, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGgAAAAWCAYAAAAsNNkQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADdklEQVRoBe2ZgVUUMRCGOR4FgFYgdIDPDqCDswSxAyjBBx2gJUAHYgUIHUAHKh3g94Uk5taF5+b2bveeN+/lkkySyZ9MZjLZmzw+Pm7U0GQyOWXcNmmXdE86QdYD+Zp63IFJjYKics4Zq2I2qF+Q7VJ/2yO2tSh2YLNyF6aNcZ+o76MorWlNPe5ArYKEUCojubaS1yPM/1fUVs3ScWV7jXH7sf69wV9X59yBeSyonNqAYR0klDvSU7kqSCjnTtEcVvWx5C+zHO++kzhncrMemNtl4qiZK2Iv905vZAB2GeRR2KhNCDiKwqpl1M6dxjG/of5FqptDWrSFg5I/tjL4PEwqI+8fdQMwsR+FtZSNXcoIOCCdpjGxvp/qXXLGCuq4y5jUl3GG+NupnnJ4v0ypPsYcfMcklTEt8UXenbyqOwiz1Aw9pdeUpybKupjwLiJfJnlQblomvIK3HbG2NI+CpQs2Ak5RsG9KPYIUeFVRHIO/kRTk6c2ExvNEmbn4gofCN5hWNMT81SsEr4dopyHAAyed+5MVFDXnnSK9I2kR+kit5TXpBwLPyPWXTaGyByGwPPf1IoX+2aq7rHGIxUR8eqYz1vU5YKBgrjWU94mKuiOFeyGWb+y7iIT86juoDQ/yPIUurFzToGtsw5l44NQQVIx7ruXkOzVseGz8w3zq7AIDj9wN9FvbqijIhbZFdoOt8V/3DtwqygAnRKDhHdT039S9dH8i9JC8N0KukycfW8r1dL8iZXdUNN6D431Rf7HIHMF3M6Z8W4TLF16+o7qukf5iTHfvixhio3N9YM7ObzHmUkHSm1aLoEHrqQp7AdQq8yU+c/Xi4sRMmnlXPDcv/Za6xjYcYNC1/eWZ4H2N+KY5SIARCO2ly9UIY2UI3Cp5j43IlgPPDfDAzFjmiNaoK9a6d8CYrVteok0LLo6kCUvBBTEgmyZtx0X7U68R/YLNQ3VYKifCU2mB6DPGNaqUqxblhINF2+0WwFWI7xn9vN9/Zu4d2u380CIE9vAU8Yn/krJ3nORh807zy8bZiNeYvh+KORBYQ0BGxW+J9xMKLuYL6ZokGX8bZvuXQnih0/EpJoexCEqg3Myu8hkrxuSWm8MNMPboM/gam8BSHWwaSBkEaRA+D8IVM/fX7DTRPPk8Cppn3lUYOxYFBZfEqZm5zFdhAxeN8Tf5ey697XcIoAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle x^{2} + 2 x - 3$" ], "text/plain": [ " 2 \n", "x + 2⋅x - 3" ] }, "execution_count": 166, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr=x**2 + 2*x - 3\n", "expr" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3", "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.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }