Skip to content

Instantly share code, notes, and snippets.

@jaantollander
Last active October 4, 2023 11:16
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save jaantollander/39a6ce5ba66d310b55d33812354256c2 to your computer and use it in GitHub Desktop.
Save jaantollander/39a6ce5ba66d310b55d33812354256c2 to your computer and use it in GitHub Desktop.
SymPy examples.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# SymPy Examples"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This example is related to the article [*Computer Algebra with Jupyter and SymPy*](https://jaantollander.com/post/computer-algebra-with-sympy-and-jupyter/). It contains a showcase of the essential features of SymPy. The Sympy webpage contains the full list of [features](https://www.sympy.org/en/features.html) and [documentation](https://docs.sympy.org/latest/index.html)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Imports and Printing"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import SymPy and initialize the printing of SymPy expressions with MathJax."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from sympy import *\n",
"init_printing(\"mathjax\") # sympy expression printing"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import SymEngine and initialize the printing of SymEngine expressions with MathJax. SymEngine is a fast symbolic manipulation library written in C++ instead of Python. SymEngine has Python wrappers that integrate with Sympy, although Symengine does not yet support all of SymPy's functionality. We can override some of the SymPy functions with SymEngine variants for improved performance. It is wise to import only computationally critical functions."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#from symengine import * # overrides some sympy functions\n",
"#init_printing(\"mathjax\") # symengine expression printing"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Define Symbols and Functions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`symbols`, `Symbol`, `Function`, `sympify`, `S`"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"x = symbols(\"x\")\n",
"a,b,c = symbols(\"a,b,c\", real=True)\n",
"i,j,n = symbols(\"i,j,n\", integer=True)\n",
"f = symbols(\"f\", cls=Function)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAADEAAAAUCAYAAAAk/dWZAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABnUlEQVRIDdWX61HCQBSFF8YCGEtICT46wA60Be0Aa5AO1BIsQUoQOyAdKHQQv2/HdZL8CCRIJrkzh927m5s9h7uvhKIoQkIIIQP3yR9iKT95lrnVBbyXO4daR8RbWUhZxLrcURdA3y3Yglm977/9fWPJAazTuGc4YTKZmKIPGnP9ZLT78Cv4BudA/yTWZix47nh+BRbUlzETsNqAyjxLKlNJ/wIUoI9M7B1LHmArvylqXMyKqWTBtiEbfHfwy+E/n1Jxrq+GTLiBm7zvFHEDXNRjNJfBlSKcTi7cMZq8Z4pw13F+jdFcx5kiRm+KiCkZqRJnUa4IU6IzRssgvVPEJ7g8RgF79QwUoO9dTt7xeJhT2aSTuV7S9wy8cHlv8sSWqH7ltovvdic6n+jEHjRW4sjzcrk4+NqRAptKXujB2Xh9aYpv0+c4IP75TiftCTzG2nE/1xDp6/ryAFUzF6IIBn6hnjGnVdfJXBcEfnUKbhn0O9Yc3ssYmlKIo4DOH0XEVtZIeu8pSnnKN73776PIBjtAb2QSiTal/ORZjvkB8A8tkPeOqQsAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle \\left( 1, \\ 1\\right)$"
],
"text/plain": [
"(1, 1)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sympify(1), S(1)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAOCAYAAADjXQYbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAnklEQVQYGX2QURHCQAxEcx0EVEOxgAQkFAtIqIdWQi0UB0hgkFAsIOF4m8kd/aBkZptNdm9ue5Zzti3MbAF37RrIr5LBkhx7tXfS/X/FgywppZZ2BUewctVEN09KG+PuM/wtLjSc6lg8gOoCXs7i0xYns6IPda7ErA/xa96IT8RFM+WGEkhpte1D9IDlP0+yI9wi4Kq5Ph9Lf/Awzeof6UJo7lefkfsAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle i$"
],
"text/plain": [
"ⅈ"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"I # imaginary unit"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Notations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`Rational`, `Sum`, `Product`, `I`"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAArCAYAAACuAHIQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABM0lEQVQ4Ee2V4VHCQBCFcw4FMJYQO6AG7IAatAOpgRIYSsAOrEE7wBJMCfH7wm0Ml+jkD38cduZxe+9eNsft3ia1bVvNtbtSmFLagAYsy7WFRF444H6BezASwlWV2xgC6kUaLIe8/mgbiH61m3h4NNc7jT57vG4PjqABZvA9z58ik0lnrl1vz7fIwxwkJrOz8u8z2LUvj4cWVjNs9TF9bUsJf5xdfnM929uOUeSZ27kM1sGH2Bsy6m1w3pqmFEuegowRziBGX8lFPX9C1FM9Gf7HIsrUiOoEjNxtsb/dpRjBOgt3sfaX2KgXJzRZSOzdHmKgZ8ew+IMxNzl+JkbCThD7ccQ2YF9wZrOW6yMTcQX5CHnx6hyAgZLwCYQ+/QZeJbNZAn7mTMhDxynGbII6U+gz+w1oEw0oh1QE2wAAAABJRU5ErkJggg==\n",
"text/latex": [
"$\\displaystyle \\frac{1}{2}$"
],
"text/plain": [
"1/2"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Rational(1, 2)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAA6CAYAAADybArcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEkklEQVRoBe2ai1EbMRCGcYYCwOkAOoChgkAHMOkAOiAlZEgHhAoS6IB0kEAH0EGCOyD/J2s1in3nk86S7zLDzgjp9NjdX4/dlczk9fV1K4Umk8m5+h0qPSj9UjpWgvbF42JeHPAvQFKSVAQIyoP83Mao/KK0Z99D5RMEd5FWY099/igB5kJj9m2M2mCwq7qZ1Q2Rb6cIlZLP9JPSR8qubYy+WaHZ0CDQ550plZij+I+o75nK3/kWqIOofuPFpK3lFWV7PWn2J6allH9SmYO+o/Sstkdr23SesyIAuVtQkG12ojQdEgQ6Ja8IncdMOSsyZhzZh320YN5WZGxL87YiY1sR9CGaJV6qmS7lZ5KC05x+0vlS6ZoxeOlTpVslo8Mc5ybvjleHpko4TRJOknDG2ojHdvVdlHxYBO9nN0viDhBbEcKQIrMnnkTLhDHwPi3Ft4lPUDgSiNDbps5968SPUOah7/iUcTEQoldbFfJweUph1NXHgzno6pfSLl5sW85HmPAABAYitkIMpujNT7yLHHrxuVLi/KHrjtN9cQbUcO870KnYeVmU0/dbOmFMAIGRCvr9syIO2bwT93BbGWfe+gquNU76MeFhhZeAeDDsQQNCXtXi5IKVPmFbqezOXWOIIsZcZ78oGd1E/sLqhsyZ6EfpOVP+EUVWXqykPF7f7uIM5F2rCvmJwthAPHJ8UuI8IP+90m/Jd5Pr+96ojkcRtv7cIarQtsVYwvi8XLX1XadeMpATeKtsjtSdAX3jVFf6oUYAsVJigHWIz8tx3F6iLP7OnBov/43MuWmd67DSFXQCgbkIz2xgWCEnwASvmy/y0zdb+j6HbxIQD8ZiJgCFbZAjLLWv+CMjmNaUcTlAOHgIAFDRFYkVFW8LlbLCmUbzK2ZNxFnB3J1IMHkxkhU69ZYInphWJjg89qntMmqneZni2Wgra5Q5yKxZauMX10e8ndPVtwuRrI++2QmdAexKPyIG9qbL4TsT88WXRrqsRX6m8Qk/PaOvyjG/vPgjl9WhbjUZ8qZcI82PZB28Jl6161auiGaLGeFxmlf3UVMrEIFgr04FolpYUnJmGq2WQOBpOWQfSgoTXyxfFVoCImEcNFJRM+v5VgHhmMaHUBVVzKzn+xLLKl0Onl3C2Ep47mKXKPHC6lmcVvWm6YB4gQSDa8dQ4sGEcBbitzImqLgzjVfVWS3tX8wsMU4IC1ROJWZ9qkTeRpjw8JN2W6d16rcFgqUHBGT5/KvcX2RUpVY/UlVqBeZL5reCjI2wfAOykWnOELK0Ijr8XGKKHE7xOVByoXiGTr26bjeM4nFurXsHAMSDf+3oMssN4vtVVbVaAoRjxMlW9SFAX9pa/eZj+FFha2n2CBjZEkeawdFfpBanLgBRAz9gfla6Eiiee2Z0VpmYaY9yBxEUdt+tO5j0bXZApCyKAoJVIS5yIGD6v6yOAyJl7V/9sDRFTC+TsEkKW4vtJMGsyJnKhNwuEs7YWt80Jv5NZZM4tgIQD8L9eCLl+fHEASmwtfAl9UmKxpcrDrZ7eLD6Prl4cObYovbwDd+qb2N/AXNR3z3kmRxOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$\\displaystyle \\sum_{i=1}^{n} x^{i}$"
],
"text/plain": [
" n \n",
" ___ \n",
" ╲ \n",
" ╲ i\n",
" ╱ x \n",
" ╱ \n",
" ‾‾‾ \n",
"i = 1 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Sum(x**i, (i, 1, n))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFkAAAA6CAYAAADba/VbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFaUlEQVR4Ae2ci1HcMBCGcxkKIKSDowMeFeTSAUwqIHRAhgoY6ABSAYEOuA4gdACpIOQ6IP8nJI98ls/22L7TYe2MsKyXV79Wq9VKx+j19fVDFY1Go+8qs6vwW+FBYaIAbav+8Vs0/S1DYNQA5Gc1cqdwrDpXNCjw/+mxq3fyEpUgUAmygByr7osC0gzA264t5TENPilt5tLSs4jARjEpn+KkVIDuK+fS5eodlTFLADtEyp8fy7MKOYA69VIPFf/FuwDf8dJTdA6BSnVBeYGIyniS1I5cfaU9Kc6it6nwrLxHl5eeeQTqSjIg3+arGtXxVWlbCeA5ZOZea0nyXJ302hCBupLcsNlU3Ecggeyj0VM8gdwTsH6zCWQfjZ7iCeSegPWbTSD7aPQUN9tqbSxw9LCp6ItwIg12s2LsZLujGwthdnAHHtJso+u6Mtl2Z74NxQH1TGHwu0EjyZIyXJWEqQDHnQlgEA6gWm5M1cNT59MX1U3eOSES0sldTGukNwFsRS4Esi+NS42jthTwW68twT/98DsQDciWsUvNAHPq4jNJXPk3CqiyqMnyf+4DHQ3IQu5GoWqRpcw60JGYzHiNAmSNOiriQVJQusgq77BMyqtQV/sHCidV5brKF5+sRxgR5pvGuuiq8Rbt/FBdfNPviTBf/yhcrFySNdpjkF0kxeSvG1lpflb/JjFIMpsf/+www1MMsgtFlXBCzvHXRZa5xIjHB1/lQJmZh3BwtvlZ4W8Jb/TrcOWSLCZQE1yaCdGpZZ5F5DRUoO80C7Dhw/KChUPYse8IybcSPjgH3YtBkpGI+d2iO7y9t8xzMl66KNoyfT0YXPSrI2YVPDtTE6ku28DRr80YQN4SI6Hd4YskxR3eojLozEKS1J2rwCRQCLWzpfyQxLE7ZRDL6Ez5Pn+0P3VpHo+h+gjGOAaQQ8yxEJqOCRjnsHKSEyxPouoEB8K2MVZ+Y53u+PA+ih4Ofscrk4vGoJPNlMpxlX9hut7SWYGFRK6M9H13iSe4UAcYY5Y+xwAyUwpmCmRBpWPXNnPpix+zwBtco4o04JkOVt6Jlz/fB3T3LAaQYZhruSHaI1GdulVHYJjVemmkbwIqlo0BV8/chsnytOg+IP2axqCTMYcuFQokcNmaArDxzOm9Ui8XGmmXwF1sFl+8g2yRWSDxssGvMTsreEJIjlYOsgXSmGyKF8w0pS1a+dWH/kjfZvGd/36txVMDwczbVBuPMagLUML0arRiU6kBsVA5c7BBtVZF8SiaGbpySaYbGu0rjfwdo694QZpbdfWtfSTSmIRt26pTX/3ACpqoL2atiUWS4T0b+TodibwMi2WmZqIB2UrwsaTALHKRg1jKnuWfn31kMzIKdeE4towt24Jwn+/kqT4U+I9GkjvpYaSNhEB2W0dY9uNVXdj3CmBXovwTgYDEm8dYAUAxOUjwA5uFiQIrvynvnkoDSOphgvl1iGOs49wp1HP1h/J017Rq3YUTKNkPcwQeGwg3ALwuonQXbhE6Ka89AiGd3L7V1EIOgQRyDo5+XhLI/eCaazUHshYyHNBBt2OuVo0XtbOjUHYKXaOF91NkfsfX2lsFuIIHP8SWQrKVBUJvv0gV2NjI5zL7sn/doPdBUk5dDBKBJXTaqAtJHTs6pvm+JC9z0S3h+4P4hNPJHBByS4bLyxyZzOi94vhFx8QrqPTydkW9QWRvCEhABGCkOfdbjyTV3cjAhoA0zmWB/Z5OJrpBp6NWnE7G1EKSDwU2txXN5Y0G6uJadWqd4nbE91o143QyAD8KKK5CcSnPgKz3tosgtvLgybk6keSfCqgOFrHsfKopQhokdDzH+wwccY7i74cs6f8BnUqLzanaMyQAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle \\prod_{i=1}^{n} \\left(i + x\\right)$"
],
"text/plain": [
" n \n",
"─┬─┬─ \n",
" │ │ i + x\n",
" │ │ \n",
"i = 1 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Product(x+i, (i, 1, n))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Evaluate Expressions Numerically"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`N`"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABOElEQVQ4EZ2Ti1HDMBBEZYYCMpRgOkgNKYG0AB2QoYSUQFpwCdQAHUAHgDsw+4RWIzLGlnIzp9Pv1nurc5imKdR6CGErH1LsFe9x8qtB4uUQdkpUVvbBJK612Wp7JXzgAhmdfAnQKIA3AzheArTvug6tsFv5ITJzjTVRSQi8813NEfuFdZPYBnAUCMwQv7/SUG0qaZBvigREx/omRkr4JqlgRKkw2jQxUsJJ/iW3PWhyEvDYgd5iKu2Y7lMirXBg/Qco1f+k/U8OZTzvUZetRdycHWCUWNH+7/JzDQBa1dIgiIaQd07SHOrP8q33lqI723XfqLxHJWP8R79dG5crA1+RMeQ/eenL/52Vz78u6AIpA1HGrBWlzp7nzVQauryWtLW22PkVy/Pzee6j9GX6hhaIDHWZTq6yH5Xwt1KSY61wAAAAAElFTkSuQmCC\n",
"text/latex": [
"$\\displaystyle e^{5}$"
],
"text/plain": [
" 5\n",
"ℯ "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"exp(5)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAADYAAAAPCAYAAACvMDy4AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACPklEQVRIDd2W/U0bMRiHOcQAEWyQbtCKDegGIDaADVoxAt2AMgGEDZINqrIBsEGbDcLzXO3Il7MdX//E0nu2f36//drnbrPZHPxv67ruM7LX6LhOdYDPmF8F7ITe+QK+VcAmdSU7VSUGFgnGc+gvNItYrYfvBVru8oDdZbAF+Pku3jIv2Ymy6oUGfh+F7N6z8Ac6hszu3obcN5jkf02ZwTXyO8XC+Du9wT1l1opQxY5+Fv0+JOo1dAFZTr+KFpIFjM2ZrqFBUIHllP4ijNPOxDUlLQrV7Ozz+zAqmdh7rn4WZJbgZzi1hNJAbsBvCzIluGanJNPjR9XVzCLOeincZZZ6iIBX8Fhufd0zthI+QS+VZPSy6WefnZQ3N560YxhzB7xYciW41c+6pfgjACbhDHoM871dq52aokmBoegGp6PDRb045m55Dr9CJsHfwhu4Aba0Jjs1Rc2BBWcfaspcg89SvXTXoBVkGXojutsL1tNzBzRsrXaGUuNZU2DBmVOcfB6rGCFeEAaybci5y18ggyru2kQ7W/25QevloTNzDPsfSpsltg64vwpvyuwZNCnwean47yu1JjshUSUd/3CY0peHP13fWK0vD//2g5cHc7F5qjeO5S2tRZ5cH3QO7KR8rI/8bipFBEstd168EUdnid3y7Olcf6Myn0EbKPdK2bWXs7PLM5wbOc0r2TIz2wIac36VZiaOwT1HZl9eacDL3BIVU6+8/ZUf5WMP7lvTx/G2atJxkK3ZKfrdqegjtncNi/SnqMPVcwAAAABJRU5ErkJggg==\n",
"text/latex": [
"$\\displaystyle 148.41$"
],
"text/plain": [
"148.41"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"N(_, 5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Manipulate Expressions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`expand`, `collect`, `factor`, `simplify`, `.subs`, `.doit`"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAUCAYAAAB8roTFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEWElEQVRoBe2ai1EVMRSGuXcsgMEKxA5UKhA6AK1A6ADGChjsAKxAtAOhAoEOwApUOsD/yz1Zsg92s7vZxYubmZBsnidfTk4e3Nnd3d2Kd7PZbF3xTaWd+LT/PRSTXTE4E5ObtiwmngtilQxRPFM+lO67/57CBRdj81Vs1tswoXxqnmpvlTbl/8hft5HnsctK3hzDmYFdkVZeKnNH361Xtuo9aSc2TPi52LyOHeiQPK3tG8mzEyvPY5crMpwjkBLZTi6WRekk77b8/lgwxeVWfZ3F9jkCz1eS50vf8Y/JscjwmQl/oHCr70CeeP1Dje+n/KeIcQ7GU8qyaf2fRcjxrxXJGM41EM4inPOmLbZmmmzF3gQTX1l6BJ4YCLZZrPBSuZAhFm9bftDVY5OBFQAW56Vr+Y/yLx4DoORBBo4XuA15ZGMBsoU9l/8luaosG5w4V9XxGponFu9KY/BHjZf65lL4TeFoLgFDd0valeDudps6FAlAcQvLboWKc5FRV936VF0md79LfdVD6Y58XcVRQBaCa8/ilz4/DK1sZZ4vpzLcOgfhqXaRnfcv+K3SJ6E8kYyvl6UpVJ1OHK3PXgy5XLDSf8snd7YquEYfCEK4lV8orc5qJJclaBBLy1nDOywGDPzbJdbvodsinJjoOjcYT3Xqz3dvxfMWIXyo6B7fI7neDNlq1+TdIIpCm+KcK70Jtq9KOx8E48oSjqzuqS9gIQCPC2mlT/VPfQ87zEeeNeW/DxMt3vTMcBhMFlVonwdix0Bh3ZbF4kGx6tyQPDnfXXlZEcLmqE4eyqTm2JshivegswFGv11VNPROadmkkm+gmLxGi6f+sT4lpzbYIthaqs5hpfJhQjhpls65rrKfsF6KeAKebyQHu0XoSMP9WATlv6k5pmA4l5gx20d5NA0ppmBYJm/9fA1nwSR8Md3njxZKRpQO17gIFsXc7hAeGSw5FwzC03pAXs53ofPHgtgxhHV7x7syRPEAyfYwlCuuRM4iTumwXPJNW1dSuaxPFgSutAiUvy/v8xel7v8iq9uS75NKsaF5ZopvcrKr7FVYoZJgqRJSMETxUII+22nleAwEbWeKJYG5QfLt4W2onI9XtpMyUf2jaFx2nMIpzD2aK98pVs0kwqnJsgzCU/3iOH9mPBVnLKeS11+M9DmsS8VwJjGZhGMJz+0uqZOQWI7P8lg93sf4Nw8Wg8MuaRyUmyZSxfJO7XY64xXkoVEmjMXA2N0WVjeJqk+Z8PKkz7xTmaF5wo7nHydznbx5ycpfXTimYuh+JKDGGMiWBjGa9SljiE/pAiy+9eqS6hNLw0Nt4wJdFp5jcwwZzg0zq2iUm131tLZOxUrWPXu0bjCiAmfTxicga2dZeI7NMWMY/iyKF3cOqUth9SIUJVkRrVSODG1/FjXxDGagyNBbPIpk2hiUn6ILAhzi/bNFLJOJZ55UjmFm8Shje/D00/cAmJhw+Zh++h4waRutYvgXEdD9SOTL7jUAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle \\left(- a + x\\right) \\left(- b + x\\right)$"
],
"text/plain": [
"(-a + x)⋅(-b + x)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(x-a)*(x-b)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAKAAAAAWCAYAAABHXJdFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADwUlEQVRoBe2aj3HTMBjFk14HCGUCkg3CdQO6QYAJaDdIjwm4skFhghY2aJmgNBuQDbh6g/B+ij7jOGliObYSiL47Wf+l970+S7Ka7mw26yRLDLTNQLfbvdIcPYW+wlThUtrLukmAoiJZqwx48V1Lawivo/w3RX3lXycBtkp9GhwGJLhfis4KAhwq/6gwONIjWWIgBgNsvWaZT/SPrSTFiYG2GNDKNyiNzQqI/Uwr4JyI9IzLAB8k7iMkWIDaz3sKdwpPfm+PC/0/me1QeZTfiO9eq+Jn/pTBAlTHTOFMffmimTBIsnAGDpFHie9cTPXk+4UxFixA66iYffymkE/JegzshEeJYaQwrgc5vJfmeqNeAxMfeYVhLQH6wUBxHw4l9TAGDoVHhCaf2XoflEb4I6UvFaZ1v4LdFsw2okGS1WfgUHj8IYr4LwgX0LmhnwUBSpl91aJMhEUHLhA/KrwqiY3ldKL2toTzmX2nNt8VR7WqmNUOfziDYKcK+Im/vJ0vFX4LvzsYKx3LNvK4p7i5XK7Mp3h98SyhquwQZJDxpMC/SKyM22pl53nfjonpQB0HSkVOrCTyvsU+baU1XwjmK8OhfgiRl2vs8ZN+tPoYsebbyKNv0wpujc026PwP9bdJXCY0yEB850Uwyl8rsLK5dsQygJNw4rM6X5aTZeVtxcyvUBUz548cr9Lkcx+UxqfYL89GHj3OVnB7n+sKsDE+jwUEcwMqvnW5vw9WGERYNM4tEwkrs0K/HFt2Kfb1dg5Yql9RwNgfNMe6a54QzJ+KeDU2fnEX5XxQvPHo0IIPVXhsAjc84W/ZeIFP5Nf7coXyU3HydkW5FW2NywayFZCVpLzSAZBVYigwxRWQrZdfNhTLcJC2o2J5m2nNVRlzGYfHWuvtL49VNy8MwTw2iVtj1d6Cyz5vg+vIv9mIrbzauLdGk5XLObRDXtHsbYlyLVMDc45VfcGPRcE6n2rlM4jHPcK94My2uIr3gA8LI3c63FY78WkS7m74YjRzv+sio3LE+07hQmLNKItolTB7/ODEll4s1Y+9H/MW8Z5redxX3E3iOvKiQWi5wDQBX4nkjaBTtbM056W8rdLc7dyq/oviKBaCWb4gODA64Snm7JWb6vEl82Pm5RESa3ncV9xN43I/SNWgrA5fFVhRuBO7UWA14wBLGR8dbsvybSnn6oL7P64voolP8zmrirnUjr5g5QVz2CnYIf5neWwbt8a3L/+gu8+mcaVfRKPAA7S6AmyaqiTAphn9R8bzK9mJVn87Wu0E+R8pb/5KkVIungAAAABJRU5ErkJggg==\n",
"text/latex": [
"$\\displaystyle a b - a x - b x + x^{2}$"
],
"text/plain": [
" 2\n",
"a⋅b - a⋅x - b⋅x + x "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"expand(_)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAKgAAAAZCAYAAACl3WVkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFFUlEQVR4Ae2ajVEUMRTHuRsLAK1A6ACkA+0AtAKxAxgrYLADtQLQDoAKRDoQK1DpAP+/8LKTW7O5u93sl7NvJpfv95WXl5fszR4eHjYmmDTQtwZms9mZeNhU2la6UzqRbd7PJgOVKiboVQNmnB9lixjmhupflG2rvjcZaK9LMxFHAzLIH8peBQa6q/p3pZ25fiaYNDAEDXC0e7i3wvYT3zLlkwb60oA8506JNh4UuMnqQeWqt5WOHnGP+xc5kGfcUoyWey5M7pKUzUBtMQl0P4VqUfum0qXSHyVijVGAyXEmnnszUtEepe6aLLBkxjivpP8P4Ml2SRJigtpDIXY3MZCHYP136j8M24dcxkDE37V43uuTzzHqro6+JCen7570/c7Pz+JBDfFNlXEaMeKKc094DLnkIVi/knzHPfPbue4k80GXcovWS+l4xxsndaXdLB5UiBaeCcqLacQv1b5li14eMti6eMeL/hTfW30w2ZfuRPdA8vIW6Y7aNmUXLTbgZ6XTgA5e9LDxLV7IXYwmQaJHuxF8pZzj3T8fBHwMuwjPkvFO6aXKVz1wO1rdraGra43FEfBAXwC6XzBQM7YTjcCQmIBnfK/0PGFc7LRlC4f7vhV+f1TyrHApnF+Vdwaij0z+lWFfZWRlg7GDnyn9Ek8xj4F8xM7L5NSQ7LBUdw3kys6sR7gOT9J59emkzg2SAEX8UcKt+zYuPqo+1mO5+jm6j2J9tAkwCgrg2iy1FbSq5udqNz7OPD7VMVQ24LHxRPm77w9zGxvtC8flLovuUt3ZmFpypfgVXhyP001qXKwvJ0/eEFEExrlgaKp/VMLTuXGxXP0s7EGsjzb6lCg44/TjrK1QrG9vKxc992cEj9/qBV+q+5jrH1mt74ef21VudAsePV210+Z0R65U6NbqxRzVK+Xy+GK5zatroNl48ke8QyimLpRCwKtipCl4qs77xABiqFspoRhj7r9yivVfawAbZxUA91vRuE0MPg150Dhk473N8aU8FW4QXyffQ1vieRXdNZGL7+CsPbooA7p/qv435Q7Vlz0XNuIppOcN9LUai8VigCmcRWkad70QjhtwBkAb8O0xW/w1o8n69ugNMaBE3EkMmgXa4FmMLdVdU7k0P6oDrb/3vLGYPKmzpjyFyOdmiOyWsvdxu0rEyu3hfMq/lZhfBRgC8WcI/rG+qfGHOFcuS2Z4AlalzymReqVwyFr4WUt3NeRqgeVFlE15mgfoyt6MdyhnnCLCo23VEcfCsYApKBZXeDBmPPa7yE5L4WjUZzL4jfTP5lP/sfEWo4Ps97GODtqSumsoVyvs5+RpbkaCIRYGKALccKl75exrnC+XhWJu6jgmtitwq8xb14XwLXyzV1trIHkwSOg6w1RObFeA+p0BJjYM8q3qbQu8GQpJ3WWQKwOLiyhy8+S+JAkpnoWXfLwo74HnSngMAmjauOREF8gY4k8i5b9MaVoRy4KH2z5jeK7pzDhFz8fTXj6aoM8mdPzQkOJJMhKiLLuEgSYr2LpU6q60btBeS64Us8JdKwbNzVMnnzpTihh6nxSOd+WpLboBh85/Xf7qGmhdelXz5lUda7azy6O3wTXxDHE4sfiyp7Yh8t2UJ07M1NNbU/wrzc/iQaGkHccXJS4+VbHqSgwNaZAdV73/3W5IOumal1weFL7/R0/Dxco/iXW9NhM9aSCbB0WbFq/xr59OL0FtrKRk4RLFx4v/5kRoQ09t4/wL26wJvkW3ol4AAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle a \\left(b - x\\right) - b x + x^{2}$"
],
"text/plain": [
" 2\n",
"a⋅(b - x) - b⋅x + x "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"collect(_, a)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAUCAYAAAB8roTFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEWElEQVRoBe2ai1EVMRSGuXcsgMEKxA5UKhA6AK1A6ADGChjsAKxAtAOhAoEOwApUOsD/yz1Zsg92s7vZxYubmZBsnidfTk4e3Nnd3d2Kd7PZbF3xTaWd+LT/PRSTXTE4E5ObtiwmngtilQxRPFM+lO67/57CBRdj81Vs1tswoXxqnmpvlTbl/8hft5HnsctK3hzDmYFdkVZeKnNH361Xtuo9aSc2TPi52LyOHeiQPK3tG8mzEyvPY5crMpwjkBLZTi6WRekk77b8/lgwxeVWfZ3F9jkCz1eS50vf8Y/JscjwmQl/oHCr70CeeP1Dje+n/KeIcQ7GU8qyaf2fRcjxrxXJGM41EM4inPOmLbZmmmzF3gQTX1l6BJ4YCLZZrPBSuZAhFm9bftDVY5OBFQAW56Vr+Y/yLx4DoORBBo4XuA15ZGMBsoU9l/8luaosG5w4V9XxGponFu9KY/BHjZf65lL4TeFoLgFDd0valeDudps6FAlAcQvLboWKc5FRV936VF0md79LfdVD6Y58XcVRQBaCa8/ilz4/DK1sZZ4vpzLcOgfhqXaRnfcv+K3SJ6E8kYyvl6UpVJ1OHK3PXgy5XLDSf8snd7YquEYfCEK4lV8orc5qJJclaBBLy1nDOywGDPzbJdbvodsinJjoOjcYT3Xqz3dvxfMWIXyo6B7fI7neDNlq1+TdIIpCm+KcK70Jtq9KOx8E48oSjqzuqS9gIQCPC2mlT/VPfQ87zEeeNeW/DxMt3vTMcBhMFlVonwdix0Bh3ZbF4kGx6tyQPDnfXXlZEcLmqE4eyqTm2JshivegswFGv11VNPROadmkkm+gmLxGi6f+sT4lpzbYIthaqs5hpfJhQjhpls65rrKfsF6KeAKebyQHu0XoSMP9WATlv6k5pmA4l5gx20d5NA0ppmBYJm/9fA1nwSR8Md3njxZKRpQO17gIFsXc7hAeGSw5FwzC03pAXs53ofPHgtgxhHV7x7syRPEAyfYwlCuuRM4iTumwXPJNW1dSuaxPFgSutAiUvy/v8xel7v8iq9uS75NKsaF5ZopvcrKr7FVYoZJgqRJSMETxUII+22nleAwEbWeKJYG5QfLt4W2onI9XtpMyUf2jaFx2nMIpzD2aK98pVs0kwqnJsgzCU/3iOH9mPBVnLKeS11+M9DmsS8VwJjGZhGMJz+0uqZOQWI7P8lg93sf4Nw8Wg8MuaRyUmyZSxfJO7XY64xXkoVEmjMXA2N0WVjeJqk+Z8PKkz7xTmaF5wo7nHydznbx5ycpfXTimYuh+JKDGGMiWBjGa9SljiE/pAiy+9eqS6hNLw0Nt4wJdFp5jcwwZzg0zq2iUm131tLZOxUrWPXu0bjCiAmfTxicga2dZeI7NMWMY/iyKF3cOqUth9SIUJVkRrVSODG1/FjXxDGagyNBbPIpk2hiUn6ILAhzi/bNFLJOJZ55UjmFm8Shje/D00/cAmJhw+Zh++h4waRutYvgXEdD9SOTL7jUAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle \\left(- a + x\\right) \\left(- b + x\\right)$"
],
"text/plain": [
"(-a + x)⋅(-b + x)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"factor(_)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJkAAAAUCAYAAACecp+8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEGElEQVRoBe2ai3ETMRCGcYYCMqECQgdhqICkAwcqIOkgGSpgoINABYR0gFMBiTuIqQBwB+b/ztob3cN3uvPJ59fOyDrppNWvX6vVwzeYzWbPTAaDwbGeT5X31fJ2MRYPF+r3SDxMmvZ/1zks5Q4jc4aGgf209K7H4uKHwnETHijfNYfSd4hOhX8KT03w9FVWODPcDQCCyAIfFZ0r3Xj2Jgq27Ed8MLj34uN1aNdicuh0T4TnPBRPX+Xy3B0ARJksDw+bYmDCO1S4ikmiuJhK/yi0nRVweCI835ftcx/cPXegrxWfLduBLaz/SX36rfAloG/ROJRhnLr2RwE41qVIyt2BOsA+gn3ZfpnMDY/zZhNvkHMl5skVcIgDYKnEu26E+NzhyYYKUWeIGwRmOiSx13lS+Kjwsk/ihOuzMPxRMOFEObaEi+GGfVAVR7E5xJONhde2CK+U5pB2p7gXachdcnK5EODklNl1LAYgiJNRelLTM4cMNdWuTdVlUK+WqI/3xtCHpkPPYHq0tMXKY79ayLf3xBJOf1E4lF4mJY2A79C1Z3kppz6eqmfpWDl3bPwh/K9C5yJrhwyOs9fquL8cPyivyjN0jiWnkAG7EybfE4CPfURe4IZ+VEk0DtWo7cfeCu8UEBbr8ZL0iqUxdyyXRwoJ+DxYZyT3yq8j2aqi54NIsCWH5Yi6t1bAxRB3k8srJJ1LNpL99+g80vv3fqZ7rjzmqw7tUj9jUMK86GoA48OIqiQmh+zHxp5hcRsA/kpZN+5Yyrjl73y5lF50Zy54lYYg3P9J2zZVt7XLV90Cpioc4FRQkcX8OJ2xOMRz3PjtK83Eg8N0ufffVz1TR6HVVkP1WnHHchmyHKhYM3GzDYMyr2YKEs8kIvL59j5aXIGpqk28lL/Ul5WNwqFrCCPH0Hwxr7uyLccy3GFkEAiRseRXTjH7iMTABJxL1bqlKFe9fVKGPXW12fQXBDyFzPlSafVKXidZsTlMjdwN9ju1eun1ZxGuzvK9thpzh5Ex4MF/nYSidqDQnRqRCOKkRtpIe6Ny9hyqetly/PmfuXhm4BTYq5VhgZs6jxGFQ9dRDicph3rmIHUr3vr4iKEVdwMBTjbhAs3dS6fiZt03KcWbvVDgbxG8AgcC8tjQ1g2gimVFevE4HN9DbuKzlZVSfdpHbFZyNVCqS2VZqvzDTFLR/1GZ2ByCF6yMEdcprQ2sD+6SP8jVMB04E/iymaxX6yXLEhXaG7WDB+HgUjsBN4XDPrg7cIQzU7iR3xTB+/l3XLFws3+svWpxjW8Khyvnzv/Uh1trNpMb4c1iWZXp1YznZNz0U589hyItz515MrhtMmspv+3CBtuuCkL7uudwzlSGu9ST8U4WyB5k//n1/vPruam0+JUNFT5d/w/9mjbyizbuSAAAAABJRU5ErkJggg==\n",
"text/latex": [
"$\\displaystyle \\left(- a + c\\right) \\left(- b + c\\right)$"
],
"text/plain": [
"(-a + c)⋅(-b + c)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"_.subs(x, c)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAHgAAAAUCAYAAABGUvnzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADuUlEQVRoBe2ajXXTMBDH6zwGaGECygZ8TEC7QWAD2g3oYwIebECZgLYbECagzQYNEwDdIPx/imQUSbZsk7ixH/eeIun0df876XxWXCyXyz1HRVEcqnwk3rnjDS0XhhPJPBOGRRfZh6yDJHYMbI2Mcb+6+pBz4bhUOmyLgTGhDlTfh6f0W+m27Zx995eMa9iNcRFCdKPUWil9A2iynnBglJsmff0+dTqwbZd+/10sh9gnYuzZo30tgTu5NebYJRKOO8kzE663TeVqoIOnmutL0/nuq1+IvWAXCtytBDoei4FRrjBxin8I0wH1HNXpQG1HGo+bPtB8bJ6dJh/7RBWeO7jqUZxep3lriIU1jmMn8wY6ONbAxRCMC0Af+wPVp0ozGqrIKuBM7exeTgYn/p3S4/sCLZk+aP2fSo6InOeuYnNwvVKqxaf2nA44wXOt6Vz+E9UJSK+U904tsRvXcyJhy4DLL0t6wBFBlgGYygRk6pYes00+ciixwaZuHZWRJwqqxOOVKeK7cS5XH9xvUgfis6GJQlljnzHkShRKnbi5tpmznlIr7ARZDPqlFJF2CkAIu88kuO/Cr8XLnYpovg0xUPSV5PFPD7K9T8wPLjDkqFIHGsgGh15qzTsKLlfxlHqP1Bo7LvqhkhE8IShuEAVdBG2A/hTwoqrdIN/U0ETJjEeON1Jg6GppI3BiTeZaM6b644ZThOExXo7qdMDzd+4Z1QVwtXPuCnYMXEev1cizDcUbsoKjtOwJtuOe2aGbyCJ5NjFpZo7nasdj+QQP+r7K4t9dwT6RaEk3Zg3JaQlPk3FZAhDyY5Qb5NTIU7cKJ9N/tFT1TerAdub9F9fok/MY2U3uD+pa/hfsGBgFoIgqCncpzx1jXC08VWriAqvmbsz3vAhBRkTIEjFX7rn0Pol2x8rpoNwkVtl4klNPJjfPVnJvndbYMTDGityonZS20oACR1RK3QF+oX6uLPbWiT9BeCaWhMKVeDan5ABXk1OW1IFdhGCu1IHKBJ0Xwt33HzKdsBcS1gRMEph3uzWyu/WzmJziR0pc1XEiCL7gEXw0UaC6boYkE2tDbjfz6vJxxVr/VV9ca2XQ5nqrX04HrMl66IjXrr6Na0Ttgn3MV5WcOi4joo1rtBX8SHkYcBTXtcJSYp9YnOxQbqrGRMQK2Vc5D/CYdPAXu3a4ucESUG5zer2ZcWtvOhcOov/sDVa47hh0EGIvryfV4I51yQsVMJR6V0ONQQchdvMMFtOQ9d3/P9kZ6GdLsl/0udIfGb++hFtoasIAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle \\left(a - c\\right) \\left(b - c\\right)$"
],
"text/plain": [
"(a - c)⋅(b - c)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simplify(_)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAA6CAYAAADybArcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEkklEQVRoBe2ai1EbMRCGcYYCwOkAOoChgkAHMOkAOiAlZEgHhAoS6IB0kEAH0EGCOyD/J2s1in3nk86S7zLDzgjp9NjdX4/dlczk9fV1K4Umk8m5+h0qPSj9UjpWgvbF42JeHPAvQFKSVAQIyoP83Mao/KK0Z99D5RMEd5FWY099/igB5kJj9m2M2mCwq7qZ1Q2Rb6cIlZLP9JPSR8qubYy+WaHZ0CDQ550plZij+I+o75nK3/kWqIOofuPFpK3lFWV7PWn2J6allH9SmYO+o/Sstkdr23SesyIAuVtQkG12ojQdEgQ6Ja8IncdMOSsyZhzZh320YN5WZGxL87YiY1sR9CGaJV6qmS7lZ5KC05x+0vlS6ZoxeOlTpVslo8Mc5ybvjleHpko4TRJOknDG2ojHdvVdlHxYBO9nN0viDhBbEcKQIrMnnkTLhDHwPi3Ft4lPUDgSiNDbps5968SPUOah7/iUcTEQoldbFfJweUph1NXHgzno6pfSLl5sW85HmPAABAYitkIMpujNT7yLHHrxuVLi/KHrjtN9cQbUcO870KnYeVmU0/dbOmFMAIGRCvr9syIO2bwT93BbGWfe+gquNU76MeFhhZeAeDDsQQNCXtXi5IKVPmFbqezOXWOIIsZcZ78oGd1E/sLqhsyZ6EfpOVP+EUVWXqykPF7f7uIM5F2rCvmJwthAPHJ8UuI8IP+90m/Jd5Pr+96ojkcRtv7cIarQtsVYwvi8XLX1XadeMpATeKtsjtSdAX3jVFf6oUYAsVJigHWIz8tx3F6iLP7OnBov/43MuWmd67DSFXQCgbkIz2xgWCEnwASvmy/y0zdb+j6HbxIQD8ZiJgCFbZAjLLWv+CMjmNaUcTlAOHgIAFDRFYkVFW8LlbLCmUbzK2ZNxFnB3J1IMHkxkhU69ZYInphWJjg89qntMmqneZni2Wgra5Q5yKxZauMX10e8ndPVtwuRrI++2QmdAexKPyIG9qbL4TsT88WXRrqsRX6m8Qk/PaOvyjG/vPgjl9WhbjUZ8qZcI82PZB28Jl6161auiGaLGeFxmlf3UVMrEIFgr04FolpYUnJmGq2WQOBpOWQfSgoTXyxfFVoCImEcNFJRM+v5VgHhmMaHUBVVzKzn+xLLKl0Onl3C2Ep47mKXKPHC6lmcVvWm6YB4gQSDa8dQ4sGEcBbitzImqLgzjVfVWS3tX8wsMU4IC1ROJWZ9qkTeRpjw8JN2W6d16rcFgqUHBGT5/KvcX2RUpVY/UlVqBeZL5reCjI2wfAOykWnOELK0Ijr8XGKKHE7xOVByoXiGTr26bjeM4nFurXsHAMSDf+3oMssN4vtVVbVaAoRjxMlW9SFAX9pa/eZj+FFha2n2CBjZEkeawdFfpBanLgBRAz9gfla6Eiiee2Z0VpmYaY9yBxEUdt+tO5j0bXZApCyKAoJVIS5yIGD6v6yOAyJl7V/9sDRFTC+TsEkKW4vtJMGsyJnKhNwuEs7YWt80Jv5NZZM4tgIQD8L9eCLl+fHEASmwtfAl9UmKxpcrDrZ7eLD6Prl4cObYovbwDd+qb2N/AXNR3z3kmRxOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$\\displaystyle \\sum_{i=1}^{n} x^{i}$"
],
"text/plain": [
" n \n",
" ___ \n",
" ╲ \n",
" ╲ i\n",
" ╱ x \n",
" ╱ \n",
" ‾‾‾ \n",
"i = 1 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Sum(x**i, (i, 1, n))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\begin{cases} n & \\text{for}\\: x = 1 \\\\\\frac{x - x^{n + 1}}{1 - x} & \\text{otherwise} \\end{cases}$"
],
"text/plain": [
"⎧ n for x = 1\n",
"⎪ \n",
"⎪ n + 1 \n",
"⎨x - x \n",
"⎪────────── otherwise\n",
"⎪ 1 - x \n",
"⎩ "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"_.doit()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Define Equations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`Eq`"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAHMAAAAWCAYAAADzeqMPAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADpUlEQVRoBe2ZjVEbMRCFfQwFOEkFMR04oQPSgdMC6QAmFWRIByQVAOkAUwHgDuIOSNyB8z5Zq9H92Mxxd7JNTjOLpD1J+3ZXu5JMtlwuB12XLMsuJGMoGonmonPJXajuS4sWyLp2pnfkpeTgxIH6N6pG6n9oUY9+KVngIIEVJgUZ39Qfy6lEaV9atEAKZwI3dpyl15jXokr/71KHXauudHpUkDH2/YcCv+82tECqyIxhchnqL0CxRVpqd34BinHarVbR+iXmp2pLPjdqLmAfRX8qskYqKJ3ISRaZMuSpNBhuy5FYT7IXok9qcrOewXtNJYkz5cgTGe3IHElfZGdnLXtq3kR0VmtSeTCyr8rs/eZ07kzvNM7Je+8InirnIvfuTG0+YWBjUaar6vX87fw2K1PdieysCpYj5YVO2oZLs1uU35m2OWdq144kiajB0Djgt+ir6H2svMbxjTOQcixiDnNJX+9ETxr/XTXn1BvqHSpE5kw6WKrm6XQrnL8MYx39bE7qWhjJdk+R3CnGdiQmSv4V8VOb8R7VV3fVp1bBkRfGUxun4vQz/532o31vu9bapGknq+7amgd2lEAvLmOqAs/p7fuN9NMaGBoZdYifPIM/1rW1JkGDjSc2JsiJFMKRpzbA8y/FY9cGIeoD1BnCj6GPVcw4GDtsiHhuG22t3cSZzA1YDY/nOQeqvVX9DNO6WvjwU9hsjFPhuTWxCMRpVUqGiLPFNS440i/E7ss53MY2qbXmut0NJhSq2vU3m2RqDnrmsob6Fq3mzCT6bcK57pvHX/KTjTdnYpycQyIlxza4qtY4Fn9R2qta7zmeZDWJTDZALp2pz/GCDiFtxRj8t2T6xbKLbWEp+Skec+gPe3Zn8RGNkji7yIftiubaW3FfrvngJTrj8tl3Sjq8VD9/OWHT1Skz2dqwlOZt8FNurKWZ3M7UiFuRS0mqAWYXBNp2PnIjFIbcmQovl6ri703bWrtJZBKBJ4YBnCJ2e7grqL1V/QxbVS1s4A9Y4zHgPhBjoQbRxy3JFe0Cbqj07WF/rHFz8YlWDlsXtap5s4Wi78xZ+DUDf4caPD+Cnmqjy7Xw/gDjHugHzqLNh8JNtpm7H9rVYYf+FN2LeCdeiXAylxB4pIBpYZzYAxbH8bzVOI8IU2cY2l0UYbAs4d6xdWR4/OjEJcphjvHugn7P6SOM4KegA4Us6GyR9L8mK9nN/jZxZjPJuz97H51JFnmr3WhHwO5bORHCf6OPDGTXjhYmAAAAAElFTkSuQmCC\n",
"text/latex": [
"$\\displaystyle a x^{2} + b x = c$"
],
"text/plain": [
" 2 \n",
"a⋅x + b⋅x = c"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Eq(a*x**2+b*x, c)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Solve Equations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`solve`"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAHEAAAAWCAYAAAD3j3MyAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADr0lEQVRoBe2Zj1EUMRSHuRsLAKzAowOECtQOTkuQDmCswIEOwApQOxArUK4DrwOQDvD7cslO2GUcbm+zLHpvJpfk5d/vvZe8vOyNbm9vN0rTaDQ6Zo1N0oQ0Jx2x7g35mjrQwKi0EaMBT1lH421Q/0I2of6yA/zrKdDAuActTGtrfKS+izE9lWvqQAN9GFGYucGSG815HYjy/07xrLTouM2d2hq7sf6zxl9XW2qgr5OYwzPIWQc2uUZWLBcPbHJ8KUrldB7k/L7KrG+EbGC1R7q+x0v0BaXTdXo7iSjwPcg3H8uAao21b0hvKBopz+T9C9SLETHga5S1kwxonZTuxqX0yLgp6XCpQc3Orn3eZJfjdIT7XoDFjRiN5T34Iwrik+OIFN6N96IqyASDG0q6WGRP/7d4dIqKvpPSXVRpTNdWVfotBHf6iOt3Lu0dI7JLJ6zgKVHBKv4X6QPpRS40/WzzjpP2SY5xrG7qOemK/ifk3kNb5gMiT+IMGZJL9gn0DZxfE8Zl5Etj+srBple7yta7UMkhwVS43yQ/iSXeJXWqi7o5pAGPE4+yxtTYh7Hd8mVq7zpnbt1xWGvZuRkndoVQLoMssooX5I71zuVj3ta4I04PibqdJrkpK8dlOIlx5xl6+37L7yof5NeknDyZfjpL5E52gbPI8FQONfJzo0qvkPPGgjnyW/TZI/ahyqfBzsBbeQzq2uo8vBMR4pSKJ2orCUfZj9Va3o/XwTVGnjs4KCDWndw3l3dNZ8Tauo2k9HxeT9M2Kd9sqX0OjrepUs+jnHv0qT6+w3M+PdAJ/CPr5K3lK4i7YZ9KPgBbVgjvheBGI0/hbNzN+fVy7NPKvdXnekid9Vq7Jca64dyUuZxuFOWs3FSt3baV5XP+tvMwrmGfHOM47kQNVneB4RTQuc6n64IYm956TyVcF6+GzCmd3IYMQ5DvL/apZBhXJd5xWdmid0QwIBP5wPbe08Va1uhSw9C0HWbti17D+q3ccMT5DngHbNbgQuENSr6EC4xebQ0S7zh20ljBSPaiQf9rPQm8T785fI1mABSMR37nHqTdMX7aCgqhPDQyKKjkpKwsn8EbgrIByye+uq43wWssM0+BjSfrE8nT6DvPT1IaInxpIZ8h6AWD8n6wQ0SqwY1Qg5tKCrGxBIHBu8XnQBVsPXSdiF+Z3NUBc463pHyr4FY+xotbSifSACzooNd/MRYYVvtdVRmrrd5+dEncT9GIeoNtdmFy9e012+NIjFgM9x+M0GTVx5SzrwAAAABJRU5ErkJggg==\n",
"text/latex": [
"$\\displaystyle a x^{2} + b x + c$"
],
"text/plain": [
" 2 \n",
"a⋅x + b⋅x + c"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a*x**2 + b*x + c "
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAAA/CAYAAADXJbKgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAALHElEQVR4Ae2di3XURhSGbQ4FEFJB7A7gpIJAB5BUYOiAHCrIgQ4gFUDowKSCgDsIHYTQgfN/yoxWK8ur18x4dv3POdrVjOZx55u7d6+utNrjo6OjR9rOtfXTxeXl5cN+ofMmYAImYALLCRwfH2Nvsbv99PRup+RpZ5/db728syZgAiZgAusJvFIXb3rd/EG+Ncjyhj/0KjhrAiZgAiaQmIBs7cd+l/KaGwf4Tv+A8yZgAiZgAjdDoPWQb2b4/RtV32Qnkvrv/ZN8PyWWN3G8n5LXL7V1uewaTdFlG+T5a0L85/HQacf8rtxCRgGe97TxRfdF269i6+sXAlEgWZcTQk6hyzbIMxYkeBQnNsYzoO2oGhT4jXhiiI+U58LGn9p8dw9AMibrclq4qXTZMeR56/Krqv82r4lr7yDwpHcMtg+CsegdcjYxAetyWqBJdLmoQdYH7Z62c23/aturOCyya/0eyZvLdjeKxsAY9W+HSas2hXqDl7Ypa02oIqYYquiWxWNVvc+YX1VyIwyy6826PHFlZqx1V28X6XLRkEWIDT7WBD+LRXOaOpFJDdWIt+FV5Eycsu8bl0EeU9ZadU57jR+E/KdeeXXZKfOrTuiNQNblDYvRvSlrnUqXi3rInZnzwXvXyc/elVF/ou3F7IYLGvANqWa5PQrmcn+BeNmaJGI8Z60bQxE+ANnmlbjjOfMbHDoR58G++4XW5T6RWfk5a71Il4sbZCnEo4Dgys3Rs9CUrfxSwwE4SxITTnU4xTkI7zhCmrPWqgvfjzLGr2P72t/nzK+iuViXFyzGnLVeo8vFDbJYPNb2ZV+8IMHFO34ied8uWMepTZ5n7n+qHKnrTVprMX6mge+JwfPUAmTub9L8MsswuXvr8mRUQxUnrfVaXS4aQw6zxEO+kOAx3EAc8VwfxmwXy4bozijDWOT0jul/9EKeeOFFE8PGk+ZLgouieDs/iB1lW0n1kfmfTiHe50UnX2J3dK0lJ3VOozEO+a83IOsSHqPzW9JpxjbW5eVwR9c6hS7fXS7f/JYSGENCHIZ0hiEJZdx1wYey6Cl7AHikcXeFT/Be+xef/p/BytcwdzzDnfMOcnLB72GsqzIujNJ2yxirHMPN06T4gUXzJRfq/kJ7bUWSxhxda9VBF/ji+E378bYhvOT+g66KyDxnkCnzm9Pf2rqSB4NhXV4LcqD9lLVWnSS6XNQga66N0uj9p2hIeNdkwMAHMfddDIzTJI2Jh46HiTEcNFShzqj32nS47OWl5r9zzpIBw4YxxsB2DTd3InwdGBZD/VZ1u2cctHs3UDdn0ZS15kcgcX6tLOhEm6l3Z8r8ikhvXc6OecpaJ9Hlu3OmEoxDHHhKUz5YeMLxVJk4DM9Zbj9woc9r+9JxPKgIpFuPD/J9Hcfz6ydi1Nd6WWqDFxljwq+U5w6KIS/5Wu9YbRh/MQu1xyOcYiSZP2O919ZNMNn6slCf5KnLDyzatIsFldQuOWN1O7rWkuu7Vsj92xmdX39KOTirT+tyB3QOxup+dK1T6jIfbPV3yUvWTePgvfFT2XYc5Zvx9c6Fs7Z8bJ/62l6M1dt1XO0xXpfaiGFvja2yJt7WL0+RD+O+6velcvhsyaL8vwNlUe4H3T6G6naPz91Xf4sZq22ytZ4rd4n6Kee3hnOcq/qIOrGlPxxXsi5XrstaIz7nT+6yWgUTcZYtr0756MkOeahZRZOyEi7BU36Gp6F8NyRAKGEwlJFAKL6ETjQmoYhugg8yUf6XNmTjgxbPMLTbJNrzBdKWqw31huo2DW7gpaq1zjD/quZnXc6wwpsui611aYPMFFujF4zIzyojNPBtM/+ie5yu40FggJvbriQX+Q+5ZFK/xHe7MV5lm9AB35KfdLz5kgp8OIRx7ibkbIyx6uDFEgb6on3q/M1LP1EvjNs/lDNf21qnnmtt87Mup17hTX9F1vrOZrwiexghYl4x4Qm+l6GI8dxYXuwdQ6bBkAsvGQ+ThHHeisM2pflf4vjNSJKNLykMb8tMMvJlQT4qyI9hDipqPGriXW1iTto4K4n122OZd6pb68TzrW5+1uXEK7zprtha41Jx+kvcKfuDwIPB41scL45byT5r3EXGWH3hGRJmWP3LLvXFKQkxT/rCG+V5x423rP3sSePDBBmaUITeUQDW5G1g9rvyyPW9tnfaMNS0oQzvuA33hL5U3HrK3Bq3iJH6Wsw4yJ1krZlMbSnl/NZw7nNRX9blPhTl1zBOudYDojVFGoOz47OiBvk6YZaUrwE8NJ76wyBHz7O9LW+o7m0pS834tnCbO8/UnK3LV1cgNeOrI6wrkXyNQb6JGPI6yTet8Qrvb7Kr9whREEIhhosH6qRnSwhCSsZmOkwgNWfr8lXOqRlfHSFByd56yAnmfqWL4Fk8lUEuHW+9IosLTGANAevyGnrl2x6Ch5ycmgxxrtvcksvqDk1gFwHr8i469R67U69olswETMAEbhcBG+Tbtd6erQmYQMUEbJArXhyLZgImcLsI2CDfrvX2bE3ABComsM+3vVWM1aLVSEBXsvkl5OIn9NU4J8t0WAQmG2Qpc/PYqMOavmdTOwHdLZDsF6Tqi/vLV99J489C7VpTp3xTdHmyQZ7SWZ0YLJUJpCXgz0Janu5tQ8Ax5A0L75mACZjAjRKwQb5R/B58DgFiwIQLtPHcEScTODgCNsgHt6SHO6EQA+Zn7RhmLtA5mcBBEZgcQz6oWXsye0tARvlUxpjHgvLQIz8Eam9X0oIPEbBBHqIyo0zG4UTVeaA9iX0S/xDd/r3S/0V+TUiAh/LzzGinggSs6/lh2yCvYBxOm/mz0vi/gPEfnD/rGA+555F/TgkJBOb/JOzSXU0gYF2fAClBFT9+cwVEKSnPTz6T4d06dVY5D5vmT0j3+W/uV5DJ11Rsn4nron+ZySfV4fdsXc+7xsFmnPmi3jrOj9R86Io/njEXnvg7HaeEBGyME8Kc15V1fR6vRbVtkBdhaxtxxf9EhtdX/Fsk3jlQAtb1AgvrGPIKyPLWrvsZbvSMt/55RIY7XgAkxIER589eX2r7QX1thT1U5mQC1RCwrpdZChvkxJxldDm1w/C+7hrZUE7M+aHKG0OtMsId/Cu0jbFAOO0XAet6+vWyQU7P9I26/CAjG2+F484LvGGMMbfDdb3mTyr7qs3JBPaRgHU98ao5hpwQqAwvCvpRRre9DS50/0rvGOX3IR/f8KbPY8bvJrAvBKzreVbKBjkRVynoC7qSMX4+0OXPKsNQt6GJ4DUT2vC9ygPAXFQvAet6vrVxyCIBWykoP+U97RpjlWFsSYQk8I77v9zDO8aA98spdjKBKglY1/Muiz3klXyloNxRwa/y+p4xRrqb/upmtE/9xhij5B0D3qvmrAnUQcC6nn8d7CGvYByMKBfrPmifODEJb5gH3zyQkX5NgY5heKPHTP5ZyEfv2M9mAJRTtQSs62WWxj+dXsFZSspta/Ge435PX2SQTylUPYz079rwkr/X9k4b8WSMOGUXqutYskA41UnAup53XcSXxy2c2SDn5ezeTcAETGCUQDTIjiGPonIFEzABEyhDwAa5DGePYgImYAKjBGyQRxG5ggmYgAmUIWCDXIazRzEBEzCBUQI2yKOIXMEETMAEyhCwQS7D2aOYgAmYwCgBG+RRRK5gAiZgAmUI2CCX4exRTMAETGCUgA3yKCJXMAETMIEyBFqDrF+KXPa2oT/vLCOVRzEBEzCBAyUgO3ves7WXmiqPVzjip9PsNI+CpKCTvvn5Ch0a3jUBEzCBBARkjLG3jQHudXfxHwmDeNEosTz/AAAAAElFTkSuQmCC\n",
"text/latex": [
"$\\displaystyle \\left[ \\frac{- b + \\sqrt{- 4 a c + b^{2}}}{2 a}, \\ - \\frac{b + \\sqrt{- 4 a c + b^{2}}}{2 a}\\right]$"
],
"text/plain": [
"⎡ _____________ ⎛ _____________⎞ ⎤\n",
"⎢ ╱ 2 ⎜ ╱ 2 ⎟ ⎥\n",
"⎢-b + ╲╱ -4⋅a⋅c + b -⎝b + ╲╱ -4⋅a⋅c + b ⎠ ⎥\n",
"⎢─────────────────────, ────────────────────────⎥\n",
"⎣ 2⋅a 2⋅a ⎦"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve(_, x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Solve Systems of Equations"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"z = symbols(\"z_{0:2}\")"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\left[ \\left\\{ z_{0} : - \\frac{a}{2} - \\frac{\\sqrt{a^{2} + 4 b}}{2}, \\ z_{1} : - \\frac{a}{2} + \\frac{\\sqrt{a^{2} + 4 b}}{2}\\right\\}, \\ \\left\\{ z_{0} : - \\frac{a}{2} + \\frac{\\sqrt{a^{2} + 4 b}}{2}, \\ z_{1} : - \\frac{a}{2} - \\frac{\\sqrt{a^{2} + 4 b}}{2}\\right\\}\\right]$"
],
"text/plain": [
"⎡⎧ __________ __________⎫ ⎧ __\n",
"⎢⎪ ╱ 2 ╱ 2 ⎪ ⎪ ╱ \n",
"⎢⎨ a ╲╱ a + 4⋅b a ╲╱ a + 4⋅b ⎬ ⎨ a ╲╱ a\n",
"⎢⎪z_{0}: - ─ - ─────────────, z_{1}: - ─ + ─────────────⎪, ⎪z_{0}: - ─ + ─────\n",
"⎣⎩ 2 2 2 2 ⎭ ⎩ 2 \n",
"\n",
"________ __________⎫⎤\n",
"2 ╱ 2 ⎪⎥\n",
" + 4⋅b a ╲╱ a + 4⋅b ⎬⎥\n",
"────────, z_{1}: - ─ - ─────────────⎪⎥\n",
" 2 2 2 ⎭⎦"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve([z[0] + z[1] + a, z[0] * z[1] + b], z, dict=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Solve Recurrence Relations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`rsolve`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{aligned}\n",
"y_0&=1, \\\\\n",
"y_1&=4, \\\\\n",
"y_n &= 2y_{n-1} + 5y_{n-2}\n",
"\\end{aligned}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAbYAAAA/CAYAAACMwe3UAAAACXBIWXMAAA7EAAAOxAGVKw4bAAATMUlEQVR4Ae2dj7XctBLGk3tSQAgVvNBBEioIdBCggpAO4KQCDukAqCAvdBCogJAO4FUAuR3kfT9Hs/H1+o/+eVdej87xvWuvNJ75Rp9GkmXt7ffv39+KSbdv3/6OfMr/Iib/3vMIry+EwVfC69nesXD7T4uAczUeb+dpPFZbynk7JrDJ+U9k1I/K+9mWjDu3rsLttXR47Z2Bc3tiP/d3rqb72nmajlnrJRYDm5x+X0b8qeOxGui3rRvUkn7C7q70+Z8ORm6/taSb63J5CDhX83zqPM3DreVSVxHKMer4wYNaBFKDLMLsWpe+0vEqNDqDHH7qCFRFwLmaAafzNAO0xovMjtjUGP8o/b+Q4x82bsdq6oWA9FfsDYTV7WFeyfhJ1x7tGcchJn5eF4G9czXwtHtkEovskKvO01jk2s83GdhCRaFB/1IVYLfTaMLhlTD4qQQDyWBK8p0OpiR/1X9PjkA1BJyrt245T6tVp4sQNBfYmNZgFeSXF2FphhGhwXglDIpHrJLF6PdbyfokQxUv4ghMIqC6tWuuOk8nq8Zuvxh9xqaKwpCe5erf7xaZD4Zj/w+VMEDOXWHbvTZRSaaL2TkCztWuAjhPd86DofmjIzaRhVWQjNaKRyrDG27lXBgwffinMDh6xUHfMfoi/aPjUx0vlW9xxWgoR2D7RPlZWOLJEShCYO9cneMpwOZw1XlaVCWbKHw0YpNTH0gzDhY8JCWVfaLjnQ6CwtYTwevGiBW7dBD0eTftex28rI6tv+iISYbp1zGZPY8jMIeA6qJzVe/XCqMbPAWzQq46T+cq3ga+OxqxqUKwWOKJGu2j1X1j9lCBdJ2G/V8d93QwjbnpEUmw6Wi0pus8y/hb2Bx2EwnXop9FKv/uR8PC0FMFBFSXds1V2U/bc8RToA28zOaq87RCBT2jiDv9e4eKQmCKXrmnRv5a+XlXi8rENBvlt56eywCbbuxskW08c+S4MTUp+1MX17xEtuTdV9m/O+H+pwkE5JNvpQjT73Q+3ujA36TP+p2ZD5fO+1e60qjvnatHPMUrlbjqPD1vFZ+8ewxPh1ORNkVmQ/FJ4Zf6hTUYash+HtjIdMd1hWBkcg+jvsF9ik5xenB8kZytF8aPOhjRpKbu9Q4V4r3DFxz6/LVk3U8VtHL+XXMV/wpfZpaMT324a3DV5DpP+8hW/rwWT4eBrRt5qbLs9r01+Y1e+43RWvAlvfe/5YgHOhhxfafjJx3Wqw/Z5v8JW0a4LDThPlUTOkngswmyV71X68ICzvinm/pd0lf5CFz/1cFzK6awrGGjKI0oU+0tpb1zdYqn+KiYq87T01T1tXh6Z6A+FWJxdd+gzGZOLQgJzLnATWC4Md2ocjRslujJHx5W6zsWyzzVtejpWwni/gTGBypXBW/JwndMzfxHhychIGx/Ey4vdfAuYhcIpoDR9920sPJ+rjyHGYuAKyN1OiQtpYvlasC8898M4Ec8Ja/K1uSq83TGAbW+WoOnhxGbVSYpO9fo17Ll5HJkH6MZppnGRmOdPiHPoVEbUZLePL36fuL8lwGh+t+Pfe5eqNUXNE7FKdwb29iourUGuNi+EgHCg6nE+8IodoSMT/ocICB2PpcM/H/2JD2s3vT1PLteNRSQbTV4iio1uOo8reHUCBm1eXoIbLq3LYIwZ0aos40sIgvTTEwt8ZI0U4nWMAwNoBdIQ3gj9YIFU1TDwMFUF73ERzcKzZ+wMIFkmH84y//7i4r+Jt2qjP7y1Wi2JMGJacl+b/5I2VBP7g5wpK6wiXVLi6Ks3lwUVwP+2TzFoT1+1uCq8/SIJateqMbTfmCzxt6cuaoFpxSuym6V3J6bHKYSTQ+Rih793HQiU1XDoGbF+U/wjEqBfMhLCYajsqU3PVMa3SObRgts9CKNno73sUffTPyvc3xLB2Au4cNhHWAETyC5JzmtdBwukquVeIp/q3DVeQqUaSnwlMcsyVytylMJo5eD9vz5y85z/qs80wjIodfbyW3tv3SjoUJHltsfdNQ5Gz5P6q3vmOp71y/DZyUCIh/4FYSDvKXPyo+8Iz2Wyg2/lwxGjDxDir73FvMGvJIw7tup8nQAwHvSx/38LX8Odlw0V2VjFk/xm1I1rgZZztPI9iXgdXaediM2oiy1QYmezqUne8Z2GOHI/m60JlLMjciYxmQJ+XA6i/eerlU29XmHYW2972Tcg99osA+2JAvZQIFgJx2RVIwP1qksoy2O2Gdth7ItfQhYoJLVn5bUq6lLLk/RoSZXDWfn6YJ3W+JpF9ikL40jyZz44ewC/6qBw0amm3jfy4IUgQEyTKbQMFLuuWUK5b/W+VO7lvDffuPtxgrMhPJkRW+mWS/db4v+icSNUcDBf5FlWsu2C67m8hRnVeaq8zSeAc3w9E7Q2UZs5sR4U5RTDTwNxj0d1qv5XddobNlT0Z5r6bSZRBDjudRz6fmH/rPwYm601imuPF8pP++wYS8Jm1mJmPPsxYKRYd8JTPxDUJ0NyInymssurOl8MLXxrIJyjPgYdSMve/RXQY8SEVZf9sDVLJ4CbkWuOk8jamtrPLXAZqOGxcZ9zMZKjc6Y6FWuSd+3coRNSxGMH8feSGXpldRIRYSR/jRwNPpbbaBjMWRKahRzYWDTVf8oz+KvLMh3vGBPHWcxyFZx2w1XS3gq/xLcRusN3yUk52kcWJM8pXgKV2vw9CrobL1Ac2KcKdvORW+QwPBGQGYF9BLzcV4ob9iniutGx5ITNVpUxdrcLy9IZ/zD6OrGSkWu62DRTM6vLBDQbGYhFfMW8lt9sfrTgk5r6rArngLk1rg6xdNgSy5Xi3hqIzam1Eh7IQu9uV/lEIKC9fo7AM7wh8Y7J7FoZdZfocKxxP1fHfg4914qepbE87Ax/7DqjQ5Jf9RFg4+dS4mp55O+k0ZDpXuy+OXoHcklZUe+b5KrlW08mL0HnmLsGlxdyycH53z8MMVTcuRytYinFtisFxjTMHw0Z+OfRBqCwzkTI8VupaV04XNKYtQxG9iCTF56hDi8inHSBp375qZAdDa5tam3TpSuYzfHjevKZy8tL92yw0xytvrrCrvjqnx70Tylwm6Vq1M8xaZCrhbx9AoFlLqefAD3wxX/ewoErCNhvfCUe9LAzQa2FGEN5mVZ/thojecmvF6Ra7uVe9CgzTEqOVdjUKqbx3k6jecUTylRwtUintqIbVpt/6ZlBLJWxp3boNCTo5fan0ocqjW6ya0yMVpj8Q+B6RsdLBxh9MZL6nPylKVLRpiczoTJ8P+OQAoCe+Qp+JRwtYinHthSqmf9vDb92PXCY8WH4T/ZrXxs0bPnk+5MiTInT8UdnWIKeeyVioPOPbu5lvUrC8xKSA7lkzCngKfdImA8S6ozvfpq5TcDYOBgFk8xsmc7p8lcLeXp1UABlPB0OgRypzg2OdpQXWP6tGiT2+AaRmvdjvs9V3Ge8isLn/bKbuKjc/VsbnKejkM/umn8IGspV7N42h+xna1XEQj7uwCJ7RGhK7+B9nYA4l5ODScjXHW71/CJ/NVNL0g2wc3ee7kxfajvuu3Nxgzq9eJsU+t+Npb/U/aRjhsy+5l6nw3D3qWyj9Idm5h+GSbudU/fM3U6TNjSLfAZfjFzTv0/SzqhjWexr/JNrY6txlP0re2TUp6iU0WuGoaIjU79wBZdyDIK0G7HUTuf+y9Du/mfsTyAoOuj01Jj+VOupeiYIncq75ydU2UKrq82clvTJ8iWXwhubGs2XJ3IA+e5ukBwnGvYbdVgAax5RWUXuh8l2Vhzuf+R/JgLKTyYq8Nr2ZiiX4y9S3nmbFwqm/H9ajxFl7V8IrklPEW1s3HVVkWiRHJkpHLEHtzgHClWv1r5TmTjXMN+IhWKb2MrHg/BQI1bN1qTL+bsY5Q+F7y6UeGUdrqH1fO5e0wVb+W62RCtT0r9jhZaMWOKfjXyVlR9TtSW65jZlctTymdztZSnVwuNiBnn/9dBILcnZ1MbyQ3cOmakS1W9IwAlb0atMt1OFL2KbzdnlBfzKwuG+eZWqjlXzdUn/291JvXGe+YpWJVw1TDP4ml/xJbqNM9fDwEjQJTEXgOX9WA16ianyUTFJ7EZNdN1i5tRy3Z6gSW/smCdgSTMUdLT7hFIqjN75ik1pZCrRTwtesa2+2peDoA5L0fStQrNTcl1MhUwWDZP78cWNTTzywtUfOlHoGIKEv0e61hMKlfyKwvWEwQ/T45ADAKr8xQlWuVqLk+xqYCrRTy1wAbJc7d2Qn9PZQjkNLJvdMvFwKaK9axMtdVLM2qz/eSicZBdh2dziRoaZuC3xeRcPZ/XoutnT8UonpK/ca5m8TTYlcPVIp5eBQckDbFDmcM/9TTu09sIx2v953hwyLDBD+iPPSur3vVKVKFnFzxM6MBIx5w/kaX9y7KdaUVssYfUayvNLiU8i8tppHJ14/UD7KyRWuVqTRuTcDoBV7fK02o+2RpPLbBZw5rcUKpS3VUt/FGG87IeB5vR0lD9qe9s+iupojaSmVFEMh6JuoNdbmL3626UnSuglXKqMw91WB1cW63uWd7aN+nLl20le1v2RfHZcEqum2tytbKNQ5uXztfm6iZ5WtsnkrcZnhYHNtU4fhblab/mCQCGnvSIqXCbS2oA2PbJ5nhX0T80Msi2hir1PvYSMr+i7SkCgYA5AeF1RPZWs1h9SQ5sMsi5muhV52kiYBWy1+CpBTZbUplDFkZl7PowTDS8jCg2NSUpfcGAoGwNyNCuWueGddZ96I1JETCO/bmWWnpvWY7NIFinYIu2OFeD107EVefp6VlSzNOroLM1rjnLxynLM7aS4frpoZu+I9Op7IqxdioiTFCOEbFVgrX1vQT53TS5/Gv1fYs2me7O1Vu3TsFV5+npWVLM02FgMydGm6JGgnlXdiBhBNFPNlIzIva/a/KzgjPLztdeMGK2G9Zjo13Ls/SfjX8ZFfPcyNMyAkzbnsq/y9rk5TA+Wf2JluJcjYaqn9Fwdp72UVn3czFPr4J+2WQZs08NLaMIKsSLkYA3VuTs18KI8670NSzW1sl+ATp72XnAlueZz9dWduvy5V+em7Kk+hSj8TXhsvppDW7RvZyri/A5TxchqpehFk8ZaXVaSSBz92xIO7lZcaz6QdZbyUrdtTz2FtXzSWdWdh7et9A5PbR/dW2VZ1hB/oNKeL+Tro8li9WonkYQEN5g9L0w2npg40Ve5+qJuOo8HSHTipdq8dRGbKjaPVCXYJtCzFJf5ZnqYWukLQU1pvJeZhmcXwicrfedL+VDSQIyK948jSCgOslojZ+H2XxQC+Y5V0f8vNIl5+lKwA7F1uRpP7DZEuhHwxvGngfFWn+D/oY50plFL5+fcrSje1rnocrqPGuwDf8bBu78RJgwZcdU7WY6WhEuc65GgFSaxXlaimB8+do8vdO7tU1jMfWW3LOVYox6PlMje9jCKShLoKs1MumpW+1j9zxQug7fuSP4XIfrf8iGF9Xu+HElozVQNUSzzyIvxTNaNl/WkLtZGcKCTgsY86O0LdfBVIzNv87VD8itxVVbcew8Ta2hCfnX4OnhGRt66AY8h+C5kj0wjVJP5ahY3c4j/QK6zhTQr1tsVAIWb6R79Wdskk0QfSLZxc8zB3gzOoGEX24R874tNT4LZ7B4JSySO2o17r+mjFA/nasCeS2uOk/XrMEfZa/B02FgY78+ghEjr6gerpSyxrS/Fx495Xs6WByRFCRVpokku1hVw+hnjcBGB2KtoIk/WN1pvfom8Dy1EvIfdfCRcKgy3Xtq/ZfuJ/ucqwGktbgquc7TpYpY+P1aPB0GNhpFVlyxTP+wQnBOdynG6kFGbGOJB/abCmyyhwYDe2wagoD9WnZU6fVLPnIZSbBCr+b0pkR62gsCqkfO1RW56jzdNpNuBDZMkUMJVPT4NxWQtuIG4dtNQ0rfT4Tx9Vb0dj3bQ8C5up5PnKfrYXsKyVcjN2G5PltkTY3CRor4pQQEWGTzswe1BMQ86xQCztUpZMqvO0/LMTybhKPApgbXpty+OZtWF3pjdRbYsotEg+TJEShCwLlaBN9kYefpJDSb+eJoKhLN5Vh7MO3TZRVdKVy7/ebUID2sKNZF7RgB52p95ztP62N6aolHIzYUUMPLwhGe//Biq6cKCIgsLBphevdpBXEuwhHoEHCu1q0IztO6eJ5L2uiIDWXkYNvp3kdtFbwjPFltyusDhxfYK4h1EY6Ac7ViHXCeVgTzjKImAxs6BSfzgnXU0v8z2tH0rYUjD6JZDemdhKY9tV3lnKvlvnOelmPYioSlwMbUGc+Fol/YbsWwlvQQYS5mZ/mWcHVdPiKgOuZc/QhH1ifnaRZsTRaaDWxoLGczJcnLxP5eW4YLhV+3B6Xwu6RNeDOQ8CJrI+BczUfYeZqPXYslFwMbSgensy+dPx9K8KI3NAlgedYqCDhX02F0nqZj1nqJqMCGEXI+U5I/KLj194Rs3b6z6Se82PIIzB4Ks6h9N8+mrN/4ohBwrsa703kaj9WWcqYENjaV5Re2d725bqxzA2Fa/8meWHM834YQUN1zrkb6y3kaCdTGsv0ffei7eiDQN/kAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle \\left(\\frac{1}{2} - \\frac{\\sqrt{6}}{4}\\right) \\left(1 - \\sqrt{6}\\right)^{n} + \\left(\\frac{1}{2} + \\frac{\\sqrt{6}}{4}\\right) \\left(1 + \\sqrt{6}\\right)^{n}$"
],
"text/plain": [
"⎛1 √6⎞ n ⎛1 √6⎞ n\n",
"⎜─ - ──⎟⋅(1 - √6) + ⎜─ + ──⎟⋅(1 + √6) \n",
"⎝2 4 ⎠ ⎝2 4 ⎠ "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y = Function('y')\n",
"f = y(n) - 2*y(n-1) - 5*y(n-2)\n",
"rsolve(f, y(n), [1, 4])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Differential Calculus"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`limit`, `series`, `diff`, `integrate`, `Derivative`, `Integral`"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAArCAYAAABM3GlpAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABH0lEQVRIDe2V7xHBQBDFnVGAoQM6MKMDOlCDEqKG6AAlKIEODB0ogeggfu/cZpILM/LBF5Odebm93Xd/N7fr8jzvNJHuO7JzbgEy0I/9PTME547+HQxAjey52lIMHAnQXvux7+2W/EwfPu2ADxdTMf/+lipRZu0N2IMMKNLn0F9axJ2UJvL7M7QrfBMPB6lR5NpIf3Ot//DzxfVhGQ4+pV2BEZiAIbjx/tc+a9BR8UgtM6Br4BUkIUlIP3s9GFIMRfFAV78oKOgLMCoPKMhhAuWjg/QYPg4YHxDKon0fygbTa4GjOIosOb6a6tcPgKQya1VzJgqrXoyKLzF/F0UE5VNPpJ0bUS1+Xe3Dtq0nqplVn09AsgW61jHQ4bWabF6efVGdE1QqEeIAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle \\frac{1}{x}$"
],
"text/plain": [
"1\n",
"─\n",
"x"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"diff(log(x))"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\frac{\\log{\\left(x^{2} + x + 1 \\right)}}{2} + \\frac{\\sqrt{3} \\operatorname{atan}{\\left(\\frac{2 \\sqrt{3} x}{3} + \\frac{\\sqrt{3}}{3} \\right)}}{3}$"
],
"text/plain": [
" ⎛2⋅√3⋅x √3⎞\n",
" ⎛ 2 ⎞ √3⋅atan⎜────── + ──⎟\n",
"log⎝x + x + 1⎠ ⎝ 3 3 ⎠\n",
"─────────────── + ────────────────────\n",
" 2 3 "
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"integrate((x**2-1)/(x**3-1))"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\frac{\\sqrt{3} \\pi}{18} + \\frac{\\log{\\left(3 \\right)}}{2}$"
],
"text/plain": [
"√3⋅π log(3)\n",
"──── + ──────\n",
" 18 2 "
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"integrate((x**2-1)/(x**3-1), (x, 0, 1))"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"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": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"series(sin(x), x)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPCAYAAADZCo4zAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAX0lEQVQYGWP8//8/Az7AhCzJyMgYAsTvgVgAJs4C5cwGCrwDYiEghkuCFYGsgGGgQBkQg+wUgImhWAHWgUaMKoAECCMoxIDBPRPIBQWzCxCDgvocEN8D4t1gBUAGTgAAQFIgDGUiF8EAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle 1$"
],
"text/plain": [
"1"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"limit(sin(x)/x, x, 0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Solve Differential Equations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`dsolve`"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"f = Function(\"f\")"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle a \\frac{d}{d x} f{\\left(x \\right)} + b f{\\left(x \\right)} + c + \\frac{d^{2}}{d x^{2}} f{\\left(x \\right)}$"
],
"text/plain": [
" 2 \n",
" d d \n",
"a⋅──(f(x)) + b⋅f(x) + c + ───(f(x))\n",
" dx 2 \n",
" dx "
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"diff(f(x), x, 2) + a*diff(f(x), x) + b*f(x) + c"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAasAAAAvCAYAAABdR+UXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAOYklEQVR4Ae2di7XUNhCGc++hAAIVBDogpAKggyRUAHQAhwo4pAOgggQ6CFQASQchFYTcDsj/aSVHsuW317Z2R+d4besxGv0aaTSSrL34+vXrN+ZOB4GLi4tbKs191evr0kol3p+K55eF8P1EfL4Xzp8L4Xf3bJYquya364jWtXWysVzWQMA39lfqQB+skd+SeYj3+6J3U7xf9NFV3DuK89DH4/nJFkpDfLzV9WyLvPswKi1cODLIKk52xbfJ7UrCdqGGtlJWls2xEVDD+UN5/FRi5ynef/e8X/XhRFyV0Slk31nQyd3uS7d0uPK+LpoflPf3S9M+N3rCskjZRRZVV7Q5k9sjC+3lkekb+ZUQUKN5rKw+qdEUNy0l3n8U7yig3gbv4bwRwfpJz7dEA8WxqvP8vlfeTF+am4hAqbJrcjuxwqcmU4P7xq7yMVD9/6XrVol1Kb5RVJPkUGlRdH9NTR+ngw9d14Ofnpni+VfXneBXvxOfOHV/ex9en8JvddlVni/n1pFomNxObLdTsDfLShJXutMIj/l+OvsSrSoswrdT6kDlRlE81zV7jc6P7u/GfAjP97zr/mfsHz8rDGvws9Kj2MyNRGBD2Z1liXt5MbkdWd9zopuymoPeftJiXbiOdT8sDeaE+f7ROxfVWdDZvNF1T+lnKWmvaJhO/BJz7TvSIbTB/qc4rT0PRqBU2TW5HVzFy0S8tgwZo3IsBHyHSYO+qesfXYzkH6iDjjtHLItJozylazjlibUTRp7QHrSA3CAkD88/02jv6uEKY63nVd2f9y4eFAZvbHF/5uMypeOeeR/jPC2mT1l7qidlpyG8wCcbONjIkbOymMZiK7u5CAHhhsW/muwqP5PbA/6nKbdqfJPWCizdOrjR2MFajmkmN0euezLfrnc6Sxdvbr1AJ6av58nrMUoLzygVClCtBfnyoHCyc/7y7+RB4ZQXmuGavGYlGk8DZp5uxafeUaSPPb90vH+EuPFd/vA7mYeY1ik9gwvlkTu67JKXrqpd6DmRW71TlwzowoUMhWfuVfvRs8ntDvXCNVWMuR0joMYeLBJGS2wAYHBRtyLYHYfFlXUacQZLJBsuT5RGyIc1oEdEVDryTKYXx9ASTdJisdD4oRvzjRJr+wC4kwfR7dymPpRHX76bugc+wPG53n9VHlhQdyMewSKZJtR7cEwVunXD4GF3J6dBpsButOwOrUePdZ/MJJavaGMlJ36hzkxuAxI7u6tizLLaMQYSFzda1J3GzskUSJAb7Ye60zs71lxY8Jt6Fx1GnM660J1OnCmwatQ5ha7So6xgPNClY3/bRkthi/PQllfsr3zBMbasKksKfnVlMZY/nbFIWVuKMRAmq8mu8holM4qPsurs+xTH5LYHoz4Mp4YjO7roe8J1xywrobFzxzdEzMWjrB7omY4xsXb0zogf62kJx2gT64LGzxrZD7parTaF9ToJLNYVlgoCCH3usZWl18QtzkNCvfYi3sCOkbmzQPVOJ4u19Ixn3cEBa6uOu7ydu6HfIRsxfPSzua0pu4vLjMnt+nKq9sZAlr6Ok2GcZS4/Phh/aCdYrF8fi+eoyqRysVRG76pbnJkWguKRUapTuLpzPFK8QaQlVRneKhuDCcpkJ1mMrLKtZFf5tk4DxkUwuY3ROP6z8GZ247XaUjWYlR+zGr+aZXV8/NfIAatl1x2lhC9YVyiszjWnNQBbOA+wb7O6Fs7q5MhtJbuvhiBpcjsEpWXiMIAQJWY3XsQUVQduYGvKKkal3GcUwKDGt3ER2bjBus+pTZmxEcNtStkY3xKz30R2JYMoyaHO5HYoUvPi/azk/JNBdtnBlNU8cHeRWpXrvhHSyITvhXarCHwHMaaT2AW+XUyAucLZlHFS5eoq85JhJciuye2SNZ6npXaERcXV2o4u80nNt0AE+jYtFFikIlhmYb8Eq3bPYJrsrl87u5JbDQiCNcXGroaTMvvRlFUDljI9VNlsrmD3FSN9cysg4EeDTGv+skJ2J5uFye66VbtjuaUPexCjAa+6GAx+nr0bUIToHGmwk3aiKT07qewfV+Mamvjs64JdTkmFTyRnyXoQEN6st2zyx489rBUXbLK7XpXtWW7FG1Y2LlhYTLG7wWCrslIi5g9JSCJ2b4VvT/R4cEsJmOiwNXG3/7jqsUCpogSCuQoInPzw2uNAp1VttyRwC+d5mTx42ILnEvMUzkUMskx2S5Su4/FcitxmEVAHm/2KW5FRICgrztzi9IHGKQby42Ot2f+hJBooxuq0gDaetvAXX3xBzd7/5NQIeJEDG0zUbPhcfkWXTOwqDIO59b5UesmOyW5hsrNle19K7o5FJ7sb0I/G6IixJD5xFwPJdyReQy/yz7SifSV67GjjUNFdzP97DFDYTHN+B4+6J05+7xQPjFC2CT5JxIkvot84Bnwiqd0kE16cwPHQM8SzTaNFtSN8aHcMACe3A5PdCNCFHk1uFwJyBpnsNKBvMJyI0NpZKg7TgyixRbZK+wb2t+h9O6M8iyUVP1iNdKbfiqeGogoZKd59PYPVLvgOfO31LryYOnVrah471thO7SPhyfALkyWUlcnu5BrIJzS5zeOypm/bbkDOg2tVQqo4t+NMnUxrnLGFEC0Uwi7+cVXlY2oPRTXkf5y+KN5vuswNQ+BGFA2rnR2MWKbmFkDAZHcBEPMkTG7zuKzmm0wDStDDJgKshS96ZxrsixQJe/Jjx+ivddrLdz7QwqH42HiAgkMBuD8RFM3cNAc0OVqjlbbCjurEO3zC+2fxGP7ioCtPFHbYwdIVLwnzGD2X5z8+ILuJJUl0Ai/CND4WCjkD51bL9QSKvFoRTHaPB7XJ7fGwHUo5UVaqELafs7uNRf0Xes8pFGgzjYMia7jQCSut2xmndzp+d6QK9PTO9CGdU442YXXFKK+mEx0UBJ3dGMcaWx/9EI511etEj7Ikna14Qym/UVjcMVe0FA7f0K+mUeWHkiTvzXcUioejO5X3ujJBWbspwaNneB4ZzJJd1QltinpBFhmEsUO3LttnLbsmt5KKjVyirODBd5o8dlk3CDPTXzlHB/QiCsBiIH74DovOuO1IDWjSWHqdGtGxOnWsRlxX+Q8xar/CDiVFh8GUQbYcHl8U/SOVwU2j+gZAeQYpSMUr2vnyvlEh7tU7w6ILtj3zc2QXRcX6YZBJZPSDrmrAde6ya3K7rYA3NlioQhD4vs0VbNVmPafRoVOhcQekdxZ7mUrsHUErLp09W9hbN3Yo/KhOPFA2FE3nxorARL28+MsPDPkurbFxQGF0AoxOUU5BoV3p+bcYN72fpAMvFYyOkYvByXOV+1gDD5HfpxMOlB85qDvwYbDjlEYtkClTdwJ1zd+9iuZk2VXaZMOU3l1bFOHbyjNWYGcpu8LD5FbC4HFgEAMeQ9yVIjEwbzNQHA3Rdd8CdRFsWFaK3Lm5oosYYWIK5mKH0JfUGTnrLlOOuEzuWQCjlGjInRVRS0iad6IfLM1a8Mm/MnjB0g5rmuBXknwsUkGq/2yZvUxN3bo+V3bD9B9lDO049jtn2TW5lVD4frGythdpDAe6vQZKTlmhXPo6X9co+hhVw4MWrmGBHbwbvzfkkxtRNiKKNiNTGs8Y96fAbh2ZekLw+lj0h5xgzppTWCcYw8egMo4hWEpc4dWwNkvhvQA+J8tupl5C22XHZuzOUnYz+MSY2PMKCFxm8rgrv48Z/9gLgUWxNBwjQ13BRHTTHKroSvkp7GkUXk/PKC6M6OphybtosvjLFMWYq09RkQdKENephFQG4mVHxy51+09r+cCmPZmFGAK9CCwpu06+1b5ieY2fE2ZMdhM47OUICCTKyiuR68qnUi4teRLeMAWVHuUU1mRImqxTKdwpo1oDIF5w0BxqhYU0i97FG4oYpYZSDVNVVR7yQxmzEYLdkq2Nt0rQfGDziVPiIUj0wsnCQ7bKh2R2NwQSBJaSXckjiorDpes7dk12E8TtZU0E6tOAWFW4uul/8P3/t+3fPUlHh8uHnlgJdPpMqdG5M+fLnGfXWg35PyLelk48cowSJ1K81J2yBqXE9CebTzqtri7e6QBEk4VKMGFR29GeQ7MrPws7LwTmyq7kkgEam6QaMm6ye16ytLfSJrsBJaiMqO5IKBOLKMe04ia7h3JxxviJHlYXR/EUv6ahsrCWlt0NOAYTi3t+CHjZmbrBYhZgyhuLn3VYN73t39nJ2zfTMitfS2wIgIDkjVk9ZuYwWpC7RBdc0jh0EQEXpvEOb92/bk67O8qoUEZyp/SdUXZNbxQiFvkcEWAafPXpYPUBbKigTX/0fQIDLpTWWW6oULnNrYyAlNOVLgwlZK4xQGK7IBZSWKfhG6dEmyms1UmomSKbfWq26KBRPyjvxjpYa+Y7DFA5sA5p4Ch9nul0Pqpc9bl/eZszBPaDgGQ3fKOVMCXZ7d1SnCSwF0NgJgKSRb654jveZNCGILo5at1RUo0/WJRfq/Od8+x/phWdRZReK6MWYAgYAoaAIbB7BKQLGOijDxqHMiRrVlNK4hXW5H+mVXqUpf2t/RTwLY0hYAgYAieEgPQBU9H80W9jhm+2sjohnKwohoAhYAgYAhsiIGXFrnGWpcK3vigtNt69M2W1YcVY1oaAIWAIGAIHBKSo2LvA2imbK9wh15Hf7ctDNPs1BAwBQ8AQMAQ2RYD1KpxTVDzIonLfoerxiSkrEDFnCBgChoAhsDUCbFvn/NagoMK3V44vU1ZbV4/lbwgYAoaAIQACfAz8qQYFfriPpqwOQNivIWAIGAKGwLYI8GG6O5YvYiMcPv7elFWEij0aAoaAIWAIbIpAdWKK31zxs7jh4IkrU1ab1otlbggYAoaAIeAR4MSKWxEaHAPIP6i7w89t63qEjD0aAoaAIWAIbIOAt6T4KJgjAPm+iuP/qn/p+A8wOlblARrfewAAAABJRU5ErkJggg==\n",
"text/latex": [
"$\\displaystyle f{\\left(x \\right)} = C_{1} e^{\\frac{x \\left(- a - \\sqrt{a^{2} - 4 b}\\right)}{2}} + C_{2} e^{\\frac{x \\left(- a + \\sqrt{a^{2} - 4 b}\\right)}{2}} - \\frac{c}{b}$"
],
"text/plain": [
" ⎛ __________⎞ ⎛ __________⎞ \n",
" ⎜ ╱ 2 ⎟ ⎜ ╱ 2 ⎟ \n",
" x⋅⎝-a - ╲╱ a - 4⋅b ⎠ x⋅⎝-a + ╲╱ a - 4⋅b ⎠ \n",
" ────────────────────── ────────────────────── \n",
" 2 2 c\n",
"f(x) = C₁⋅ℯ + C₂⋅ℯ - ─\n",
" b"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dsolve(_)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"@webio": {
"lastCommId": null,
"lastKernelId": null
},
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment