{ "cells": [ { "cell_type": "markdown", "id": "07feb33a-1934-486d-b241-2bff4448588d", "metadata": {}, "source": [ "# Overview of the Equation class" ] }, { "cell_type": "code", "execution_count": 1, "id": "6471bb8c-f5c2-461e-9add-adc1c7c50a90", "metadata": {}, "outputs": [], "source": [ "from sympy import *\n", "from sympy_equation import Equation, Eqn, solve\n", "init_printing()" ] }, { "cell_type": "markdown", "id": "2d3081d7-6f24-4d4b-a89e-2ab56fb074f0", "metadata": {}, "source": [ "In this overview we are going to explore the capabilities of the `Equation` class.\n", "Note that:\n", "\n", "1. ``Eqn`` is an alias for ``Equation``.\n", "2. the second line of code imports ``solve`` from ``sympy_equation``: this function is aware of objects of type ``Equation``. It is just a wrapper to SymPy's ``solve``." ] }, { "cell_type": "markdown", "id": "7cc711eb-fc53-4b49-a53a-8c138bafbbec", "metadata": {}, "source": [ "## Defining equations" ] }, { "cell_type": "code", "execution_count": 2, "id": "d4085bd0-2084-475a-b15b-90091c54aa53", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFIAAAAQCAYAAACFvCj8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACQklEQVRYCdWY7VHCQBCGI2MBjnagHfhRgdqB2gFDB/qXf452oFag2IF24EcJdiDSAT7PkctAIANIQuLObPbYu8u+t18HbAyHw6TJ1O12t8DXgw/hPp/36sYLhv0U0wHjgXg26wY1z34K9BT5wdr3eeurmse+AX2A+7BB3YUzarwjM6RJYhZcj31eeogzTti0i7xfdjN7zLxz9zG+RIgno1Y2avAA4DpAeh2JPz/NKrl0+heO5NSn8FeaFaU7oYwXTpQ2QK37G0HD3/AzfIb+FlknmZGf4LCkpCP4kc/iawRljgSUYL0dvYl0ZIJ8QZwg72F7RCExf8ek71iGdE7oO0WbmLcUYz9qiyPV/SD34IC1aP+69MGRKTCdeJUDJsiFSop9nYpAx+AcYyMEU5mOz7BZd7WEYwdHMrKctwCXv808RN3lY380c/MVYabuwFPE2qLq2HYx87OCPrc6pgyNKaIjL9BN3IgYE6g90/Kuk6aCCTZ10ttITD4LHJWgN4P9+lN6Fm/yUh0m5x2mczU+4WB1s4h1RVkwa3nULZIFBjPvsNhXF8IWjVUpY0ZqI9+0Q0k5gZOMpIfOr3E6EHOzyiVOryozu9gx6Aa5w3iw6ovL2t9KwRhZIx8InY7zpow/yfyJlh1mtGptT3v04Zg1L8Un8OT7+diSyoexN4eeq7WYkZbKA+D8nuaiR9iMvEl1lm1d1Maw2Pyzwmzs1eVE7BpEKfZosZhgLxtN//cnwC7pwaEru2xaJWH8L6+xp1bSV38BdcTBkw/m8RwAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a = b + 1$" ], "text/plain": [ "Equation(a, b + 1)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAQCAYAAABqfkPCAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACKElEQVRYCeWX0VHCQBCGA0MBoB1QglqCdKC2YAf6ypujHSgVqHQgHeikA+lAhw7w+44LIgQIDgzR7Mxm7/b27vb+7O4ltfF4nJSRut3uEX49w8e0RyX2sYdvbfipViYwAa2JUzr3CZ/AAtoqK5j4Fgj/jMjzRuxvVbD4KQu2kQ+bLBxBO3cO7SuEYJaa8NOzSoP6RG79aYTJVaAOhxwaCLsCswogZmc0Mgd2FtIchG/RfzgIWfjf0KWhV/EHOHjRiM8QFiNBtBTdwN9gRsMXdNe0+w4i7xHWMEO59BT9zWpYUX9T5oU6vWoCNq6bfV0IZoJOvKSFyHSgj0EAMpgkyQUyoB77pRb4frkLB1nX+i+QBloAMu5j25dhBk8ik44RaAj/AA59S6NlFOflRcKBcxjPO1yhSFi25570pnaT88x/nXj2afA1onNG4ADjgHDUrRVLwErQnzHZT6O7tYv8DYOAz6yrnM1oNQCzVE8aUenAVEn7TxJnMcPyMmXVeVZmygp8BDhhPNRL24I5gm3nRiVjp7MTNCwr4WdeWdmWu7O10jW9lMNXDvuaiWldLWQtWLjRMLJW+Gu3DzqMm4b6uw8H3BMMDDKjz5QOFMHzk+gtqjrohtN/czoCJ71PRPiDeYiLRVUxETf7Vc1krremZLpafnz7RsULY/MXAOrdE/vqRw9+hX3Jj7Agi5k675t0CiaKrREL/7cLqBA2WZoXMt7AyLcmV4q+AAjmwe3kzuyfAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle c + 1 = d$" ], "text/plain": [ "Equation(c + 1, d)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "var(\"a:d\")\n", "# first mode: instantiate the Equation class directly\n", "e1 = Eqn(a, b + 1)\n", "# second mode: short syntax\n", "e2 =@ c + 1 = d\n", "display(e1, e2)" ] }, { "cell_type": "markdown", "id": "cbd2d3f5-afe3-4750-866b-64097c743c9f", "metadata": {}, "source": [ "The above cell created two equations:\n", "\n", "* ``e1`` was created by explicitly instanting the ``Equation`` class. While it might be longer to type, it is more readable as it clearly indicates what the code is doing.\n", "* ``e2`` was created with the short syntax ``=@``. This symbol combination was chosen to avoid conflicts with reserved python symbols while minimizing impacts on syntax highlighting and autoformatting. The short syntax is only available on interactive shells (like IPython, Jupyter Notebook)." ] }, { "cell_type": "markdown", "id": "5ab933c3-84f9-425c-99a1-b022e35525ae", "metadata": {}, "source": [ "## Mathematical operators\n", "\n", "Objects of type ``Equation`` supports the following mathematical operations:" ] }, { "cell_type": "code", "execution_count": 3, "id": "1f141a00-ae1f-4da0-875a-301f38c004a6", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALwAAAAQCAYAAACslxU+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD0UlEQVRoBe2a71XbMBTF3ZwMQNsNYIOWTtCwAe0GHDaAr/nGoRsUJqCwAd2gKRuUDUqzQXp/quQ6imQcW7Ld0+gcIenpz7t67/pZcnixWq2KXWpmgfl8/kYjb5Xfqr5sNivPKOnfs1gOVT6pfZBHU7tVra2uNXtf+Yvap+1Waj/LYljz17T9cv/HTBkNYuG4J2XIhQMHT8LFA3ek8rvKxeCAPADC9SARgYGIeu91Z2tKX62/shJeymfa2b7Kq2w7bLBwFxyaC7E+oEb1MxVE+TEl8Fx0AdTFPnV67boM+Vo3zu/rgkdza/018ZUlbvO0kYdOY8GR1A5tCRUAkcs+R9L1aEkYUBsV5cJT5CZ8dEe7jiQWaEuoJMobLMIbfqvo3mDNTkPWjjR6EjmfXio/Kv9UvlM+lvyTykGSdIMHLKSl8kIyzoe7VBQQ6kH24KhFeqd8ozZ+6zVJp88diN75uJV6EyXhBRjjuRsthC8k47IxU3mlDNl6S9KHAdF/rrpxoMrPanOeJrL9E8lixrbbJEhs7g2xSernte/uEydqL63sl8oDZePD2PyUcumKcQc144vw1lCQHXJVDUW9zRmMjXZNkP1OeKrR6qNknS5oXUFtO1/4c32Ocw/Re+kwwYjS1o+Fs5e3svTx4MW4w4Pba6B8zj9TO4Bjw57A+V9TMGqVcMH1NI/I6xxQHfOKhvpDTo9GMbseEX6N3JK/rC7u1+28ZDj89UfW5i0XIhQEfB3Cmsk+rbmTCU9o66XMEZ7IufbqERgM544V5YRQRWNDhC4kJ9LwWXLbaGPwaN5W0UHjU+MIbXcsso1gpP27h/1bCGQm+7TmTiY8oa2XsqmUQmyy/+MAGynUv/YgIMuZavDkVJttbe0n9var0xl9+1UmEYx8Yrtzfy8+q/HVINyp2CZadRGeAdWzO23zyqSijRGpcYI/hu6kSTo4h7JmMLqrb6bci0NTbExYg2+dFGtrjdIf0kPQgminqgdtl0hnaJkSh+0chDshYL5sYo0DgYgYJkkGwfkCsPgjMT9h+5uyXVkK7hIuWpUKhIvzIj/xD5Xc2djcTYYCYfVytzqsYODiyP+s+PewypC01ZFyp7rJDX+5CA+5rrWBM5UMulHmKb20Ml7LvSXpJEqhG4L/sIqJYBeS9R29CumETCR3Rr6VjABwr7I3ghkEf/+cqIrP+KcxbAOmIbCMijuYR3aI+ssQXgMg0UZEjchYM3sSpvPsShoqEJaQbRrOzjOsxmd5FEZWrcExmM3q/DWJ7COVmAep94gcAD8WHAFooxCNzT7Z8PwGThCWxIw7vtUAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a + c + 1 = b + d + 1$" ], "text/plain": [ "Equation(a + c + 1, b + d + 1)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1 + e2" ] }, { "cell_type": "code", "execution_count": 4, "id": "faba88d8-fecd-4119-8973-52da52d8c99b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALwAAAAQCAYAAACslxU+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADoElEQVRoBe2a7VHcMBCGj5srgCQdQAeBVJCjA0gHGTpI/t6/TNJBoAIIHUAqyEEHoYMQOri8j5A8ss42Pp0lm4l3RiNp9bGr3der1cHOarWajNTOAovF4q1m/lA5UPux3ao0syR/1+pyqPpB/f00kuJ2tbY61+o9lUv1T+N2il9ldSj5axa/3f+xUkYDWDjuQQVw4cDeSXrxwR2pvlW97F2hQAHpdScWgYGIeh0MJ+tKXqO/RsA/Y3oZEGCdME3tT6qI8kMi9PkyJIWcLrLX3LZvHK9NbdftqT5rM9+fozWN/pr6k8f2y7JALKAynvJIsu4tCDcRS5SmdE4j4Ds3adYNYwGVS0ki/EbRPbVipZRGXyL56VeVe5U/Klcqx+J/U90LSTb6oAvEdbUUj/xwpMkEQN3JHqRa0DuVC/XxW1aSzBA7AH1w6VYBeCmM8dyLFsBPxOOxMVd9pgLYspHkYUDkf1bbOFD1d/XJp4lsL4Kszth2EwLE5t1Qt0jjXPnuPfFR/UfL+6t6X8X4sG59l3zJqsMOYoYX4a2hADvg8g1FOyYH46DbEmC/kj5+tPog3iAfaHWHlf6pfo5zH9F7yTDBiNq2j6VPlltZ8vjw6rDDh5s1UNb5wfFntkHasCvlwlcxRvUB59aVanvon+xRGmjunGhdZWoiPpGcCF8Ct/ivmrbsWo8mWQMY45arAhQ+eFOlXyL7RGPH+tl9uL7Kr+lovCpYPHv7+RuFbQd4Imfp6rHGcWlFuK7U11y+4oMSc7uO0cfu23qnBHq0lt3DxLVgpPM78Pyq0ieRfaKxI32qAD0RnxuKnyU7v6Vm2pSIQAn/OMBBEF76EOClpAZ9UopNtrfOw23lgNhWTpsoRjAKge3y/iw+a/BVL9hpY1wX4Znr5+70zZVJQwfji8MJ4RyGOyXJIA9lT26NNdLYXCWLQ9eERzCka2UUi9iqaknhD8khaAG0U7UrbVe1QUe8Qg+7Xy/YaXOWqTUOACJiGBIPgPMLwPKJY/6EHR7KDiWpeEu4aFUIkF7ki/yJvy9yubHJMftSwsrlbXXo6cDDkf9ZCd9h3pRumwPFjn/INX/t8M9jUpzocK7CFcmkCxWiBACDd6M5lQ9MjSUhyUM29PupMmlX9p9HkS1dABNEaoKtsAUB4Fpj2QAmeQVJrvMZetC+7UMXT4/OsKM9t8rhtb7WXwbwhRXHxmiBAVhgW8A3HWHaNDiOjRboyQJkF5TO6R/313J6OOe/sAAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle a - c - 1 = b - d + 1$" ], "text/plain": [ "Equation(a - c - 1, b - d + 1)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1 - e2" ] }, { "cell_type": "code", "execution_count": 5, "id": "39637072-e21c-43f5-a2da-8e638184b590", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALAAAAAVCAYAAADmZmQDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEzUlEQVRoBd2a61HcMBDHL8wVAEkH0AGPCgIdAB0wdAAf4RtDOgAq4NEBSQUhdBA6CKED8v8pkkf4JNnnk3W+2xmd5LW02rfWPo/e399HOdvZ2dl6TnqlaS06/yl9LbpsIf5XRhnh/Pz8ROQ2M5KcB6l1K8c89u5tz2W1zSciNgdIQfuis6P+NAe9PmmIR4LsXm1L47f6XsIRiG/qr+v3hnJtZbgRP+tqd7o+jvGmexO2EW5V89HBttqrrjdi60vixcdUtsniwFYZP9RvlRR2mr0sjxj8VQ2joag14SccWPiR8L/UfY3dZ84QQPyRgQ7UP4T4ER5HjdpG95HzSX00AEJ0c+Isj51sM87EyKXoXGWiFSUjQXd1kyN+6syoNTjqAcQ1blPqIA9yzc2w8JoCyYE+gO//u+Bvk20I5IvgyimQlpfitslVAx9KgKmdagr9uKlkE1rvYOVBriL7dRRoT+texCPBGYOobbSuTQDE6Nbxc7HNzA4sJVBfvdSlWZJr5DocsCw4YDT7trBNmwAYqvjGNmOfOwnMAwFHDjf/qFFX7Qv/TX0MUEJUif4i0YE2dAGyBrXXs7ka5g9yIV+J0yWpgYBt4K3p+G+yDQHwLNqUVMCO2q2ug/W0mTGcH2ObyoHFNMK4J3OTUYV7FG5X/bVa7JjigShZ/2otgQGtU42NctSzhpoUJQ8Vfosx9NIIVp5Wcz1iOI+pyz3cxFBzYrZhbip5RG0jmhz5BABwpGveuoD7q35DzfiAuTvMH2ObMbxZxnFeHMxnnHFTjYXQPNmnAOd9EG0/sjmaZ354SG2a4R5yEXyNINl6edhrsA0BEEss8JyyjQu26k0LtCw9ysLUqduojwITjG2MA2szjvZVMV8/KhHSd7oQX5+FjCpRNMm0OMEHZxV+LUQMnF3jFOxPYy/uh5ylVTbzibUYE8A4wTyhL9tw8oUCAHm/xAQemm2cA5MNPxxFYhRB3NEfk6cN3tAWvaiT14lEHHQkPJmBVzWlskMyOOt893Tdl20mkpP06pLGz5gsmhNKHiPh52KbsTbGUWkc8z6gOBj74Nj+BDsmlbN+AhK0J+YOFIFcTeWRYV2yctI4B2grTvLUSOhvZtuIQZJT3VFdPd5k87by9TnP2MZlYDbya1+uzRHDQIokulB2fQ63wQXrRM2npmLOGz910L1dtSEriwwckrkuykhyBDPTxMRuiDoPM9vGslHRFf84BIFxrHHQXt1Y722Vsc2KZRYnqpxQOBx2U+3Jbr8nXCWsxbnuWQNev8SAutpFdjVH9KjtWmW3alG+gavxUEIK+Gsc+eYCPduGZ5ttTzAe4vmmov4c5E0pMpzKNi4D42A3Yv5EPQRu1YjyS4tLvSZjLsIHQeuJaOjgsLz6AIj2C+GKRrr2c3y6o/5eOALzUX3IcMzrM7OKfCP0ZZsj7YzN+YgHe6CLkA4aGcwxQXt3sk2uj3lwTD4o6TVbiX6xBwXtxYmEYw/iK62uTiL+l9o2K10VU1tHdi2RqcjYpbI2n4Ui16LDUtsmSwbGwop03mJQLsRq5YVxBMlA9r1STxm18LDMtsmVgTEytVqqVl4kR0COEidKKZ0srW2yZWAsYTNX08c/pYzWaR/JwIMsf3sv/EniK2BZbfMP/5ArTN4hss4AAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a \\left(c + 1\\right) = d \\left(b + 1\\right)$" ], "text/plain": [ "Equation(a*(c + 1), d*(b + 1))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1 * e2" ] }, { "cell_type": "code", "execution_count": 6, "id": "24ccd829-a1fa-4ffb-b33e-28966461e5eb", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAtCAYAAACOEBSVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEo0lEQVR4Ae2c7VHcMBCG75gUQJIOSAf5qCDQAUkHGTpIfsK/DOkgUAGBDqADCB0kHYShA/I+iuTR2T5i+9a2bLQzQvLakvZDu1r7tCwfHh4WGbpJ4OjoaFs9z1Xeqtzp+lW3kex6iYbXGg2a3qh9H4/8LL7I7XYS8MLcU/1TPW/a9bZ7WvOz6E5V7lRYeDsqFcjKroikEwJr+tqpp+8khe2quaP6pO046oMFf6Cf2p9VQU8FtiqYjGglAQkXJQFX/6rOf7FOSm+Qlb25aPc0xG9vXZuP1uMI5m5cTLNfHCMAlT8qFyr7wn9TPUfAsm/FH+4TeKdypmv4TgpMLVsMwjjByhe1KSj4u8qx2r26KM0xOHie2B9Z4Cee309qn6sNLikwU7ZnnJAfJWPVAWhPws0FglvUYb9+L54Jkha+pr3fYpxBHrV047jubTFbjiYRSHIuzUi67Ne4cKfoaEy82MvoumjqWTxdWCQFXo0XXOj+QYz0beZw0XbNvcYoS2V/1KwrEakIhGnc2WVjiqb1YGUhi+egyOs6VtYocyE8noBXr95iGxM3LgJRKqWsVBYAjKwsAnAzARZyWanBApPj2UTZkeLivRq0c3M0pHAicoQzNyh4Fn8seBb4gdr3qTFqomzPGCu5UKZwuCUi1fAZkc+KhWBSE0RHeohF+DwZgAD1h/gsxy3h/hB1iBVcDBBPaLln475OxSjvm0x4poJl89oFjsBkbsBrFjzzAwhWzSvXKIrWvCw0IMQM0IJxXQaalvlXLyeg0f9IIdMI0EaX1DwIYI/vdZ/Plj2PhdKIC5MArdFM+aHRJZCVPboKhiMgK3s4WY8+k+Wr1+jMxAQoul33DTp+rNw2+QZdHjSV6xygpaKJAejIbnwAIacyxfLw8HByZ4nlopdjC1A0TE5us3Xjec+umsNslV1lNWPynv2E1kBWdlb2E5LAE2I16Y8qCrI4/MDvtJUktbnryPNO/taOCgci6g4ithJDcsoWUxwC+G+SWisuJ/iw5HArslnkvOKVz/Z14qgXZYvAXVHTa5JaJ24n1snLEapNDi/2FaBhnZQMm0mAY11mCRZ9KXszFnPvIAE8pIlVM2DFjct1kNlBQh7AMZkb4dg/MvQoAcmYQCxOiETJBKgb5X3HJBfK9pMRCJCr5dJ1VPMzIadGcScZepKA5IwFh7cOd9xauBCUmVl27MYZ/CIo2vPFgfcwqUflylICkjexDYquS4isyyPrPL2zbE2IBeNGVlyG8M8fG9n3Y1WWwR1Q1/26d8NZHxAoC6LB9WAJkcGNY8FXUg57dGNYo8yF8L2fgW5MZPoPOtnHZEp+WDvGZ+pVt/zADG46cEx8btdL4BHZswAWum+2XzMeyg7WHGrwBeh+nZsu7ueGiQTKOXAExO4NSPI3S4gMARr5SSHVtKBeE7Gf8L+1xoK1SWpjEWQ5rzc0rBeX7QDlqsErl3lCZHF4wSuWCX/xR4Br5/+E1Fq8e2LNH09w58Ry9Y+T1KCDVb6SpLZm6smhxSv8napcq4SESGSOoYEjljL5zlEoW4OawabKNiMkD7QigeDGV5AGF6xMSoaEJPAXAZN2W9TBYNcAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{a}{c + 1} = \\frac{b + 1}{d}$" ], "text/plain": [ "Equation(a/(c + 1), (b + 1)/d)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1 / e2" ] }, { "cell_type": "code", "execution_count": 7, "id": "e4a6ca10-1d69-4ccd-891d-2b8c938746ca", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHUAAAAaCAYAAACJphMzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEXElEQVRoBe2Z/1HbMBSAA8cAtN0ANoAyQWEDYAPKBuX6H//12g0KE1DYgHaCUjYoG5SyAf0+Y/kcIzlWmsQJl3enSHqSn95vPccrj4+PgyUsngZOT0/X4fpjyflG2R+Bf1hbPHGWHJca+IwBj4M2GH9l/Iu2uZIbqW0eEg5Y9tPXAHYwxe7Rf/c0eqP1N217nEhNeojElzAzDRilN7HTVmPIEbj3eMVubc9nxhvgtmq45XDKGkDfZ7SH2jEa+Q7c7ThGTXpI7YDehwgXiofeecllIJd39htQ+7Rtz8o2KgSSHiLBeQB4/AAfi5w5zHzKMBLYp/OaLbcZF5GbXSjVT4GIirusE6yv9zGGJz12h/4knM/Y8l8+39LumW+Gtb56eGjVHesa9YH+LMUjaxr0hL6ogsv5YGyjlgQsow8Y13N7ioep4+FD4/2gL9JQ80Dwlvw39IUSmuvTnpf8nXPOPU0H07CvwEf1V/L7LrYOToOq/8p5GSvXyTjV76AkqIfsQSTM7e+c9wimIQVNgUr8lFrsikdOC0VTZDKKYrTYr/EOXGPc5YpQFmWKOaEOqhPbVwDd42yj8lDlIYxVklB4yNOw199DhYpxAD5U7MV7XWxPBk5l2qYK8Gz98pdmAOkQFTB/VU0ag2yj8nzSQxq0ZzpFSO/StkxhVrHkH1LOTJkc7zBlOqR1zgpDRkXgUElJ6A/tirYP/gt9AYyTHhL29NRrtLYoNFJv4T9UlTvML5gr4zyDMilbvlERTqFDJVt4PLhrcLv0zdcY0PkAHe8Iz8kBDVHcQyMesvCI3qc8b6oMV0Xxp3eJM7Vt0toifMSxU1/2r78sna3JUimgBjV31wV0PLGUBe3ofScPEwANZ1UZg6CUqpKEF18XTMWm7SoTxR7uGadMZtDOUBiV3VZY6wjZDHGVMe/pKQj7mkHqvjR9GfHNdR3hTSDQ7NmfyiyeNWA95qRdM0vzuNTcwJLPzhCM6kU8dB/BsIT0EFPwosMz50Q+ccLPp+75b8JoA/BGt680s4jwNmd9zjSYNRjTeLam8TS0AgwZW9y4AK2U57eR7Or5pqmUR+ucTeOFe3pi8rUJ8R9rypS6VqJkQ6S6WL9LnRcpywHG0DNVbnOPy52B52PpqvPzIzbKW9vdU/EOHypKpz1m/DCCbt/LRmrFexdmVkuh9NZKIeA04hYtfK/zY2wW4S6HT3jPLfR8TYmBdcHb2oJF4TdkatYQtS1TH4a7vLifW07zL09l6wwhUk1F5wjpO5yHXdCMVD+Ii4u+KoCfJ5BnjRWDI5DK5x/5RullXwbl3MBjuNPlxYC5TvDkvqwMN/Yf+hw0d4BSfKfzA0OWZ+cKAv2ZFEqcUxSq9FlflVZzBZrz/ak/vyfNtvfwLO5iv8AoUxa8qEhVcrzaKt4CaN5rgFZDwb9R+pXeazALXlqkKrz1wSLUAKMMpQxZd2kg+OIiVcFKLx/6EBEEXoQe/i1Or+jHyjb/AOxxliCpjnaWAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle a^{2} = \\left(b + 1\\right)^{2}$" ], "text/plain": [ "Equation(a**2, (b + 1)**2)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1**2" ] }, { "cell_type": "code", "execution_count": 8, "id": "1bf7c6c4-4047-46de-af09-9ff1d7e45f8f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFQAAAATCAYAAAAONioVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACpElEQVRYCeWX7VHbQBCG5QwFkKQD6IBABXE6SNIBoYNk8sv+SzoASiAdmA746MB0EIYOnOdRdJqLbKyTLVtivDOrPe3d7b23u7cnDWazWbYLNB6Pj9jnFfxE+1Mbe8bOPna+wme0P2jzjY9dIDb8wD4fYWUtMf5i2SD6DdA3WKfKOe2Fxo7IIfv8mLjXg2XjigA9ID/H4xo5lMlG4ic8hW2/hy/QG/leExjNKDEPaevYE/iU9jOyNUo+8iwsmHtYB14ib+Dv8GshnWjgL8H/C3kLn8OtUp6hLGB6/ygsHyOffEcf1xsXv0EXZ+Nz5b0wsV2RiN+L6JyxISOV7rVV2ivAmHXlzUdb592rg81EydvsS9769zDioS9Sb7cJPpMhBb/OC0kjSG/lPDmw4QWknZiO0U9iBe1rdJ7OF8kM1Xln8QgmmZ3eYNfwW9oedznOTgPgAuozpBHvgmrxF6D2wRifOBPk1D70/+2/0E3Ql0mmLoWsoWbalMm5Y6JJZp8gDmCdVTqMdwu883SwwLqkWvwFuMewR6TJcof83TZwM1THHWG8dFhlkeBoj7uZ68WU11ikETQYL82le+PUBL811C+UDNk4++KdMN8SYWYbUJPOk/In809pEY9GoylM1+L+vuvXxc/8ySp7NEPnCG97pI1AXMTnxjVRYNPCbzSbkB/O8UWYNLcl/PF9kbSugwZGoUoA8listJmqrS7eu8Q/51DA5J8QyLVqTBeOdM2u8XvLlwQYb793r9iZneMvayhO9Cf/EFnWLNrW0Qy5Uj1xbiBsbLSGYn+j+MM+6mTuUMB4CZ0gq5eQIJf+GdQtEPqxPffxHPrWldvAn4pxwOeBWegv1qLfyCFgD1ONdTEOfL3Cb4bqTEFZf6oU/6pV+/ry3iv8fwEFcgc1GZBZEwAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 2^{a} = 2^{b + 1}$" ], "text/plain": [ "Equation(2**a, 2**(b + 1))" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2**e1" ] }, { "cell_type": "code", "execution_count": 9, "id": "75f1f901-559b-4cc1-b349-0ad1799cd95d", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIoAAAAaCAYAAABo4cQnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEyElEQVRoBe2a/1UUMRCADx4F+LQD7ACwArADxArUDuTxH//5tAO0AoQOpAOVDqADkQ7w+5Zk395edrms92Pv3s57c8lOssnMZGYyyd7Gw8PDaIBBAykNnJ6efob+EdzdTHUYaIMGggbOLDGY660+qARGnsHHEfiB+m4feBp4KDRwyO+VtbkbCgt/Bn4opk380LYD+SA0aTADLEkDrIX6PwFvQOtvwXNwtIitZ9uJmgDmrsEvtN829Rno89dAMJLfzKRjf6U0kujE/xdRGMxE5w94Dz4Li011PQH5tsGVNOYpeXc9r+oy8nztinaKKLxsaPpBaST4BRqu1haQ08xf71pV0MiVoQ3MES8qHUwHimgiLTtHYUIz4VvKOIhetu9g6wjIaUL3glKnKIC6+7dK3QPveH5ZNCzxBx40ZHnapW6UL4FnI8UO+B50WxkDaMojViPma54NBtLzDYV3tLw3viwwkEwV4Ym6RlTPSfag/7BvBS6gTTBcae9FFR5V0gnl2EmMZ2V+TemebkRdCgT+vjH5HajR1nVf8kXfL/ILfgflvwSfqzTq8YBxTCfX+3t2ROEllVe1PB4fgQkmTjfQtEqtcxXBfVvjbwIV+qmpcVo6+jHMuz1kOQ/9XfDCaam7tTy1PSqLMk2sUxjnmHE0fg1PI/HUc+M8XQzF6KHllsbCQJ9BB143OEKulFJH0F1cIW7Bj0/dfnU+ca4Az1/Bv6AGoZGVwLNyNMrSxVC0YCeKYU4BO3tVGMfFiF5VnKaglzkBbQsH5jc3KZ0hwYBR0lxtTOGJfn0jKZPbSVb0GjOUsGgulIN59L0ED6uLRt22pJdBz4YwXh+jkYbQ6GG0adjeARnyhVfgOc/qrM+gTMrWzVAQUMFj1lx4EjST0ANKQ1ZXzynGYpyZAzy558p3Dri4ZTLe8qLJYTI/4X2jaMwH3qmbQDOsvwTnJnMLv9M2ebWRq7PHU08QUiNxS6kKaf2/wivjzSz61DUxz7GZS2MwqUtBVPQ+PBQOZBnqbllL3TZTDFdoyhTThgq5vboVmt1uvF2thyMV0vdQ2i5h99bnvNoURQ3dRqZ6u8b1omlK+jdFQOca0Z5yqmkjYNO0dbrOL59ZEA3F5GZsP4ZpB9Py6ncgWROsaecJB0Jf0oSfj8Xkb4MhjKAbhTweLyIStTnAJNOBsgVzGoRYNwiNRyHGDEhaXwDemjy0jcVpPdQQ3eR5OlDdIGLe01t9BaUoU9OWGrpMFjGi2FLNTXwuwqsVFkSLV8H1PjYvDeAnFapnxY+ytu3lpS7gQ+XrWP6f5n5WDMxpHCNKyfu0c2wGwfSCUinQNIwdMF5Pe12dPfi0TPS03zV8eeRNgXnbXqXBg4BX4/Ucr9Jl7tWYGxX5Tstsfo5QtiyIEcWw+Q1BvRNwwnPQiOKNq7TkMRH6OoM60ABS8A6i+vJjoNFkad+u4CHyGHMkedGp/XSSMlz7ZUfijeHP1aitAVC0dw5vKLM9sGHIJJnxF5LMMk9xOKHM/tq9meR8IEYNeG2Q7X3x5YzSvGYRuY034MqUDUNEeUJleJ+nQZPUlc7RQjTxb46mFNkwRJSnVWb+tg45mjJ0jo5DRHnaUEbBG8c+jk7xWm+6wL8HkkvKzlHxHyxnr/YHE/5nAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle a^{c + 1} = \\left(b + 1\\right)^{d}$" ], "text/plain": [ "Equation(a**(c + 1), (b + 1)**d)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1**e2" ] }, { "cell_type": "markdown", "id": "412a4632-c7e1-48b5-b35a-5637d095d614", "metadata": {}, "source": [ "## Applying functions to Equation\n", "\n", "We can apply mathematical functions (or user defined functions) to an ``Equation`` (or to a particular side) with the following methods:\n", "\n", "* ``eq.apply(func, *args, **kwargs)``: apply to both side of the equation, where ``*args, **kwargs`` are additional positional and keyword arguments to the function.\n", "* ``eq.applylhs(func, *args, **kwargs)``: apply to the LHS of the equation.\n", "* ``eq.applyrhs(func, *args, **kwargs)``: apply to the RHS of the equation." ] }, { "cell_type": "code", "execution_count": 10, "id": "dcef7a0a-4f51-4a01-b019-f326cc4b779a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFIAAAAQCAYAAACFvCj8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACQklEQVRYCdWY7VHCQBCGI2MBjnagHfhRgdqB2gFDB/qXf452oFag2IF24EcJdiDSAT7PkctAIANIQuLObPbYu8u+t18HbAyHw6TJ1O12t8DXgw/hPp/36sYLhv0U0wHjgXg26wY1z34K9BT5wdr3eeurmse+AX2A+7BB3YUzarwjM6RJYhZcj31eeogzTti0i7xfdjN7zLxz9zG+RIgno1Y2avAA4DpAeh2JPz/NKrl0+heO5NSn8FeaFaU7oYwXTpQ2QK37G0HD3/AzfIb+FlknmZGf4LCkpCP4kc/iawRljgSUYL0dvYl0ZIJ8QZwg72F7RCExf8ek71iGdE7oO0WbmLcUYz9qiyPV/SD34IC1aP+69MGRKTCdeJUDJsiFSop9nYpAx+AcYyMEU5mOz7BZd7WEYwdHMrKctwCXv808RN3lY380c/MVYabuwFPE2qLq2HYx87OCPrc6pgyNKaIjL9BN3IgYE6g90/Kuk6aCCTZ10ttITD4LHJWgN4P9+lN6Fm/yUh0m5x2mczU+4WB1s4h1RVkwa3nULZIFBjPvsNhXF8IWjVUpY0ZqI9+0Q0k5gZOMpIfOr3E6EHOzyiVOryozu9gx6Aa5w3iw6ovL2t9KwRhZIx8InY7zpow/yfyJlh1mtGptT3v04Zg1L8Un8OT7+diSyoexN4eeq7WYkZbKA+D8nuaiR9iMvEl1lm1d1Maw2Pyzwmzs1eVE7BpEKfZosZhgLxtN//cnwC7pwaEru2xaJWH8L6+xp1bSV38BdcTBkw/m8RwAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a = b + 1$" ], "text/plain": [ "Equation(a, b + 1)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1" ] }, { "cell_type": "code", "execution_count": 11, "id": "1c09cfa1-3464-4718-b58a-5cc15a9548ea", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKsAAAAVCAYAAAA5KB4cAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFHklEQVRoBeWa7XHUMBCGj0wK4KOD0EGACggd8FFBQgcw/Er+MdABUEGADpIOgHQAHRDSQXgejeXx+eSP89k+BXZmT7asXa3eXa0knxfX19eLXPj4+HhviC1D5Yb0dZNkbjIuKdt3FpnQycnJK0zZH2jOXiE/UPzfE9sQzxwAWfHpLTNFFzHwPdr8gF9z/bGr/brP0fkUmUeUr9eVje2RNdivprAv9jFWiY2z40mft7H/C/wQvuT+/ljjGaoHG0xO2vSA66u6HuqWfNo3swqug31QV7jpPQap9w3l4EDVBuTfU7ws9FmVM82OJ7g4kZ8Ayi/4fFvg6B/4C/wBGz7BYpEk2iz5tFewIuTg7lC+TGrdrPId4ho+BqlHfVnTlvE0m51tAhD2H8BHQ3Qg56R5BhtLpz10lD7tFawqtJMeioc0eY7uUbYWhR71ma2zpm3gSZ8HBSibZlbxnQXjqk97B+sUnscQ96ouS2OS+p6PqfCm6OqBZ9gG0G6qxDMVVMGnu2rHeJcGZ52DiDPmBfVufPeocxNsec79M8oFpTJxz/GZa5dfg096BH+jjXuONhK81lmODvtVtwb/hr/CT1t0q0+9o2Rr9KxNBTY54qlNF9jnwUXST6fci2nOFHy6i6EG5ztKHVwS92F/SmmQGLS+DSiJ+wturP9JeRfe5zoEJ6WB/IPyK6x8E3kybdyvIiu48bQY9FDnfuuA8iOcyhDao1wnIW/fvdpWlOnsMGErdeUlz7LEs7BLv0iH3Lt31NY/lPfhNj8FoS3+BJ/uYoAB81DD4arz60F02WCsgzR4SgdyrUNtbiC0ZTjBSupF3mcGqq/LqkB6/Yu6qq1UlaQ+s3EnoWOKA2OWeAJGnJSPI3aWxbUrYtcq2InnhA2CT82sLu3eOMNMt2YuM+I6xn9vMNSAayMzclPQufQ7gerBLuhty5bB3NUvTaYhMYRzxNOV0yRSx1us7qXQoG3TyqPfFjxPTfbWlSfVT4+64NPdoqHvT9/AzjCDxG2By2zKGB7PQh6Slvaz2COwZs22Vy9tE2AWw+kkRzxXJjl4xmz7LQVMk/+pN078h2mdhJbqom9d8KmZVedfUvpSPryY59p3aB8o5Yu+Gge0MwOtZEH6tE6uB2U45fN8KYhr/Sqn3k5yfDSKDutsXzRozRzozA7Pwm7tqgdl3Lq14dkXlynbBZ+aWfdhB1LOEgA3q7psuP+aMlhN7/bdRD6vUljKrMA+Z7eBU2/jLKzXKbJCyE6xctwIPBm7AeDk91+/qxVw8qoIPt0pbPLvTo2vkvf1GVdvY3sVDSUngq9PlqgAz77LQKbO4DQQ4v74CXWpoHQJnnKCob6TssKzsNZ9vsknkofXz2BYPxPE53OUca/cFUPBp2ZWZ5UGH2E4RSCVuG/11G2AuJ8NA+XeQR7CBpL1PvdUaf1b2PqYsXSaH6jE5YZHS3TKnXIpUuYTsr4T1B7bmlm1yzqX8BS5rMf+U8+nrssVT30mnn7AYtLx//mtBCr9Rp/rK0lbTDxnDTYFn/b66iqom+gH43yH5n/FG2dDdDhRHPDWvyiaCK5OtWPi2dQZfbjKzXLAqvp0p8mgGet9+zBWJvSAqL7/mcbEswlHVw95Dip9uvXM6miZPZ763ein9qC9AClmoG8v3Cr81zQGnjkAWPdpDplVXNyfNu1B++Km/FgZum+fubYbA88cxrbk0ywyq6gUs6jtA5VG8JD1wNX1HUKj/L/4YBM8c8Aj5dO/Z2tpS9YV0tYAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\sin{\\left(a \\right)} = \\sin{\\left(b + 1 \\right)}$" ], "text/plain": [ "Equation(sin(a), sin(b + 1))" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1.apply(sin)" ] }, { "cell_type": "code", "execution_count": 12, "id": "4efede0b-95a5-4474-84be-92836d099a88", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH8AAAAVCAYAAABv0jEvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEmklEQVRoBe2Z63ETMRCATcYF8OjAdMCjAkIHJFSQ0AEMv5J/DHRAqCAkHSQdQNIB6YCQDsL3idPN+Xxv62wT2BlZOml3tdqX9s6T29vbyaa0g4OD2RBZhtIN2esu0WxNNgQODw/fIsqTgeLMMvqB5P8m2T09uQ1Q7AycC9o7xkdt+H3X4fkKmuf07/rSRnxodZ6bMeSLe3TtkeE+uCe0Z7Rrnh93pR0LDxkMLGV6yvjGfab+dACN74GedsDthZIp6j39Uryh/0S7oH2lhcP1EiQhcrb/S+WB7feErHuxYn9t9oV2TdMRtWMOndI+TM6heED/JqdMN/gIq8+J2MlHfpsCRtvZMsKg823a/hAe0JkJd2ja7bjMo5PxJZJRmTjR8y68k1wlGR/56fFrBWTYzgQwcJYBzzLKeTobfxnp62hRkHf9Vd36wHn57Q6kTUn2EmZXnHGsoFla1nDnI6DpSU9V0Ohlr5m3OJgxZ6Fgf87zDv2EXhrvE+e/0ky3GlN4TvsGzqfwVP+jghojAx7yl7dG/Uk7pb1q4C0/+SbJJvAZCurzEjktRAV1csyz8m8ETBFGY3+kV2E58Bzud3qVrhNYvOTA8yUPzv+gf0h7wjgYm17HsPg6pTVFtkVI7X0PrQqMFWrgw5x3qPfgEa0qqpRHulaA3r074RaYadAQAIW5uSHr6lQdCHvKmc39on9Ma9LJH6oV/E7ZQwM8UzhaUZllo1gxVoEH0Ri5QhirIHFVbFMEqqRKvtC7puF9vSwqy3FTOpWf2aIV4DtGAeu+0aFesEfQqX02Nju2ZcRW2VMgGPmmchWmV5oyjSwjto+Ada8zGrAJzBhBORVIpnodsuw8KrYpdeocbftWbJd0yixqAJTPplyPqnYCty4LqaMJ61WO2pqFqvaKc9Ns4Dv2e5peqdK9BkyrVRuyvBKwaJurB5BH5RnVTa9PTQ61EsHZZMFBkT1mg29VQtTpmnlt4hfMPsFYtcXCnJGvMq/p/boWvrAx9r3yM73tcoEq3YQZZyFK2dM5W9nIoYpnfc4pSuJIJ99W8HwgRaO04mcIXaJNnZaNHK/FJtm7ypAEz8i3MFHY3LNQilFv6rIeGNP4pmj3roPiXS9OSKcOkM+I0BBlHCO/PCfJAkA7ZmbLZWAfHVLHfcP4ZkGQNU1sZfv6eVUBi+Bz2UvLOOKHO6lI2GOsY/kKNAeZgtw7dwzmNLaOGusLP5/mCi4w8Aob02ELW9UOrUkMnAgWrn52LtcvcX0Vfaw1cnsZ+XqiQu0jHF0AEb33rapVuPVAOAzPHmSPpmGcd91K1vkPNOdjROlU/mETUx5Lc3DMk3RVIM0XaH1PVh5xjXzlcs6UXQWm8bh/1foq5tSPsvuHjgFzwngthmffqF/1IiiLQXPW6V+9QDLSD4L4Xu7356WjFR463hn92v9FS6UuzmLGG6Xg20ol5BJ8fLtIFakWrPK7S2BmtiWHtUe+J8K7reothqru8E6Hhtao9+3Eq+E/dNDAJkS+Ynq/193hHY4RUKRPlUG67vlX421E5KvBLHKb/rCpVTS0FoBt/yPU0v+rC78BkZ8Xv08rgFoAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\sin{\\left(a \\right)} = b + 1$" ], "text/plain": [ "Equation(sin(a), b + 1)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1.applylhs(sin)" ] }, { "cell_type": "code", "execution_count": 13, "id": "996934db-9287-4b85-9964-d1951ebcf945", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH4AAAAVCAYAAACAEFoRAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEZUlEQVRoBe2Z61HbQBCAFYYCSNKB6YBHBYEOgFQAdBCGX/AvAx0AFfDoADogcQehgzjugHyfotNYykmyMbIw451Z393eaW/fd5KT5+fnZIHNNjg5OenNq51isi8lC2i0wOnp6TcWrTUufLsLepkOuYQfjOJ5BhTqIf9P8Ij+5WvrAs8deG7SHgXe9Ffo34Ib4IDxapjrqkUGA1OZ1ukPy3JAM3iHtKmNlssL5nCs43XE+mvLjpHke0xb4M1Yw27TGnA/Xnvfcfll8l2xfgAahNoiCqw9V17wBhzOfalHiQc0/Uh7GNV4OuIZj1/UsDDL7mvmG6eQews8aFwYWcBzZvAuqO7XkSVlkrqoUzL3jlcJDWDbAuzBO3p8QN/K9jPwpgGritg6ZLqo08q7cHwbFsM4nu1PNby3nWddW0FXs/VUU+q0VzjjUaIH0VLg5G/wDtyBfk7bCbC35dTs0sAhM75C9xKjvF5obB8Y79ImtD7j2Sf9BlQnHSlsgo+sadJJx9ZlszL14eOlSZDvNWNt9pZBnbZzxyOwioRbYRrp0Dy/PIMuwdrIZt7zQx6TgIZLnRV7iDkdfUarE3JgnJ7ntMppAHjJyoFxn4H0X7SfwDX6qaNpDQovOXdgqifjGHhZip7vPKdc8hH2GXvWSvtDuwrW8U0f6vBHm2yljs+E1um+Eo0KbX+scsZzbVyuNP6G8oGjgVd2iLfaGCi/gZsHF32DzbUGafT8dhLQkVV8Q4B/CXLZZn0rS1M1kX9XoE691PF0LIUat2wIFeysdCGP5VtBzSRLlBXITJ3EsFWvWzq2DqwUo8E2utYKZACV5+X5eXRh6LO2qiK6T8J8LHFqK2LgPWFrMqwEx+8xKJxnCKISnpFTva7w/LTgO/QxaCYZoJZ+j56YoZieCfyXEMgjTXj81xR/q+SFrl5+WZskmIvMJxulAb3MhjpYLDvYYEiYLwSEtBiwriqiY8sDrTai4WngDWj9apZ+OaPvO++F+4H9wKiF1kqjXWKgXGUHh+NkLHvFmM6Ipk6DkPHuOXq2O07LmR0MbFTqpPIap1Ngro0M9AKlkfNsYB+zXdk2wDYdr67uXQW5LZBHY5ooh/SHVQ+8EboZ/7SUCWqU5kpC09EaPZyPfp7MFYU+S/CTaTnzHJczq7xGGVXypWBQ+YoWA+89Bl4AL8Z+Ci3fkcL8LNpwt2jS2aOzHzLeMnWF4L6TyuAaNKs8T6WVb9GQZgJmj8Y8QI6wofIpl28bBqfnf+oExjpgHzSIpTvvbVv6d1B6qEwGlH++hBLNVAG0gc/FwD20l3/OGHC39DtxOvsGGcMdQ1lM0vsKmVx3OPf/zqFEa4DhfOf1W3hrRwq8ra4zudyxl4FvQKwutWa198HYt4hQIdrSyKomzgK8IKtTssj4BnOTHb7teGnr6o7TIOF401m2+ybkEf4+/p0bT/UXr/IO0NUd58VCRx5Uh7x6LTI+YqEyKcuWTv+sKss0yRj5vaAX/pv4C2ToFkIlphBpAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle a = \\sin{\\left(b + 1 \\right)}$" ], "text/plain": [ "Equation(a, sin(b + 1))" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1.applyrhs(sin)" ] }, { "cell_type": "code", "execution_count": 14, "id": "aa98606f-058a-48b0-bb1a-ca99b641231f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAArCAYAAAA65tviAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACf0lEQVRoBe2Y23FTMRCGj5kUECYdOB1wqYCkA0MJpARe/QodECoIuIO4g1w6IB0Q0oH5Po10Rjm2D+EBrGW8MxutLnPy/1rtauXJarXqIsh8Pj8E5zf0FXpP/7jG/azutGwD/AE9BeMduhxiDUOkAv4C+7LqJzMUETxykgmE90g6Wh6zoUcmUYJd4BC4oTFGruwjr9ELxhdhiADWrPUTvUXf0Df4y9hxpBgp8ZFIQKaTDI06i0TE+LjN4DF70StHkYjokUfZClLFS1eRiEwhUoK8uONtNpaRiIjZjJUEb3ik3qFnHrdIRBaAts4qYt31FRLnDkRLv1/ArFf0xk0hgR2HiGDHJNLRGuPR7YmMbs8OJv8bjxzUm0cWmNL/iJoZfqCmvBnjn2iblj79Atbr3tz8EjtdPLS+xBx/jm1xtlWY/8xkKRm2rhtMWDuV23kw9Wfd5BE+Zl6WxAfs/vakr33H2CgJ1nSsObPdlZQY8TgdAibdkhUYd9jj1bwkj4DSmmVYWeolY2btoc/YPxU2+Le/WR2wSMDqELDkOuYfEXRsk7Dur8UI355s+p/1WPGIY3Vs2E8PGQ0+NKMxMIdrnE7C3G5jBAAGsrvuMUqSgfv70XUeOh0jkdfstEnpF5AeLStLHy5H6AUqQZOAY0vW+OhvVvp7pFmETwRW0u8Tl7e7bE+kNd/sPdKaR+oLsTVsW/FwFXgt+MxQvCauQ6VfCHhpW0pZpadiltbSaBotRiSxKCSwFWvCyzAeyTv/HtAbH3mRPJKeGhAyJtYkBBHAWwuqw6dGTygKkeKF0vYENCB6EoJIRu0zfO2HCkiYiu/DBLtkMmjN7/5BPG7njD/8AuBC3bUqhWQSAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle a = \\frac{b}{c}$" ], "text/plain": [ "Equation(a, b/c)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq3 = Eqn(a, b / c)\n", "eq3" ] }, { "cell_type": "markdown", "id": "99d80506-ee64-4740-ae9a-5b2d98b65244", "metadata": {}, "source": [ "Compute the first cubic root:" ] }, { "cell_type": "code", "execution_count": 15, "id": "813d8300-0175-465f-ae28-d1fef16831b1", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\sqrt[3]{a} = \\sqrt[3]{\\frac{b}{c}}$" ], "text/plain": [ "Equation(a**(1/3), (b/c)**(1/3))" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq3.apply(root, 3)" ] }, { "cell_type": "markdown", "id": "567e8c6a-9c7f-4ef0-8e3f-5d73e5631cef", "metadata": {}, "source": [ "Compute the second cubic root, only on the RHS:" ] }, { "cell_type": "code", "execution_count": 16, "id": "877b7e31-e6c1-4e69-b879-51668e812409", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle a = \\left(-1\\right)^{\\frac{2}{3}} \\sqrt[3]{\\frac{b}{c}}$" ], "text/plain": [ "Equation(a, (-1)**(2/3)*(b/c)**(1/3))" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq3.applyrhs(root, 3, 1)" ] }, { "cell_type": "markdown", "id": "e99d3a0c-cca9-44d4-b5a3-75eabad7df7d", "metadata": {}, "source": [ "Compute the third cubic root, only on the LHS:" ] }, { "cell_type": "code", "execution_count": 17, "id": "4af330e2-68c3-4e61-a67e-93cd6a3fda1e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIEAAAArCAYAAABfJ+vYAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFcElEQVR4Ae2b7VHcMBCGD4YCSOgAOgikghwdAKkg0AFM/vEvk3QAVECgA0gFfHQAHYTQAXkfRfL5dHfGF1tnWWhnhGRJlnZXr3ZX8rH08vIyyJS2Bo6Pj1cl4YXSltKTnjfKEi+XH3I5TQ1o0Z+VtiXdo9K1L2UGga+RtJ8/SLwrX8QMAl8jiT7LEgytaNkSJLrGdcQy7gDX4HdeyoGhr5I0n7X4d5KMmODGSvhR+bnqLzMIrEZSzrTQnA7+KN0rfcIalOo2ckyQ8uqPZHPxgAEA1QBBGWkngwCNpE/EA/d24cvSYiHWMgjKKkm3jCUYOxUIEM463Kx0LbeY4ez6WelwUbxozqVFzRXJPOviwwWEjqVdW7juHARi5LvSkRbmyHHXh9yCl4i7FkUAPE4GhsQLbmBP6UDl52AgsErirhraVDpRHdFpQbbPwK8vOsRdALybPeH9UryyFk7/fEf4Kd5PlQ+CgUBjux1OQLKj5zMlwFCmr3qgXxQkPnFNlcCFUduP3Ck1Cv4rmPiitjPxy4cjrMCFygYAvBMSBLuaiPMo/giff8KEjmz9uvKxgMW1N801LgsK4tmtHIXqUB3gMk5U4H1NMCu/iwEmugcDARMrAYCh0pPSrTc7MUCrcYDmA+VYHOZjRzP/PFQJXAayMgUD7zzMttU3JAhQFMHIqVXcg/J3Su62akvlg7YEYRzGVmYQrzKnDaxBbeJ9pSrgMlbr4K3NYKCOyyHGlSLZkQ+lsXkuE2b3W7kihjIAUHpUwl/C452VxbBny4A3iAvrSgdBLIGUxI7i+LEvwQAAHyu2bT3PQ9qVR0PixwHX3SH4wIXXKMHbVIlBQABTUmoRfXpMRhlUid+ZwLXyVIJX7+NGAAku8LcSx7Id1f9QHjW1CgIJzFEQZVaZSxQz9hu3WDQkvmYBFxZnglfvDdXuTiLmUkZ1/IIHi0dM9MwAs0jtnJwYYx7i6D0z4p9noNZAIIYIxFAUSvDvAwxPtg8CR0Xi67/Bq3exEACAW08DACscZeKLSgDQV306dY0rYgAhfimR1yWOUsVFicpE4eyiNaVDnsvtpUGJE2ZaAbU15qU0V62i5mwKXlzAqsbxrQg7G5cQPQECkDp159blXmMYQCgn4ndKHTNVaiNIrLQCbfBSl2f6ab42wLunocbcn8YFzMQIEz/qVN1CSby8+j8FrbkDJNOExAPsiH3l7p7ACc35uhHY3EBt5eKxEXj1PotN8hcbYAzUPgYO6qaR+gWLCTS2O+1Mm9rUtQoCOwvmkV3PohtfJ0bwuZfKsTrREXwpNQFvORZAPvMjDgoaF9kJ4vw+NBtSW6cxwbJjpK3cCssOwBqwSyACRlzFIon4BHr/L3v1L+CFiqts8V8JXrUDamTF9Buy7+Bm3DU59yMzAWBf6zQL8kNTCU1QhIlEoSgARSwE7ZqHSB2CB0CIyYeHK7X5wZuqR6R2c6xTjbve5vcCxe/yRj1HJb3DHGdKN0oA71wJcAAq6q7Vpwii9RwdBQEBUkpwFMgOYQE4TUS9G8QjPHcGXubvilp3ByVBMP/sEs7K0QMAvsUnpp1di/siORehYroUDARSKGdkFFr42J6osXfgbarXYO6gKWNdvi8A48p64cLa0FMGQRta7PkYwdxBz/XyptgPcVn0phTYN2Hl6gh2+dQNcZS9ze7A6CL9P1p8juvm7sYG7QPlXFevZ3eQ/vo7CQEAV/flL5t847jKlsCpKOHc7ni+55ibUF/UbAl8jaT5bD53CwzEABOUQTChkrQqtPDc2pJwB1Mpg2CqWtKpLO3+qVZA7cMMgnTWu0oSvp6O/dKLzgIAx8WnHBiijTdAdsGR1P1TEC7C/BL6L3lQJ9ingA4bAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle - \\sqrt[3]{-1} \\sqrt[3]{a} = \\frac{b}{c}$" ], "text/plain": [ "Equation(-(-1)**(1/3)*a**(1/3), b/c)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq3.applylhs(root, 3, 2)" ] }, { "cell_type": "markdown", "id": "2dacb1cc-3045-4717-b30f-a3a18582b3d1", "metadata": {}, "source": [ "Apply a custom function:" ] }, { "cell_type": "code", "execution_count": 18, "id": "a9c879b1-0bc9-4ac5-853b-05e71b3476ce", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJAAAAAuCAYAAADHhpC9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFNklEQVR4Ae2c3VHcMBSFlwwFQNIBdABJBVk6IOkg0AEMb7xlSAeBCgh0EDoI0EHoIIQOyPmMtON1bGm9tmyJlWaEZUmWju49uvpl156fnyfZjSuB09PTDSE4MSi2zPOL4p/GReavfd2fJecYQAJnIsuhrUfh7wrfyW/buFifb2IFtmK4DkSaaanNZwpvKW6nFBdlMBMoDrVgfW7jgNIOxVqeA7UTWNvcsiLMb67k38s/6t07LCkPFmh/kbzKF9T58GcLFFT8k4kU8CS/p2oe5G981Skvw9a+/K4v7xDpPvyZQENo4aUOiPHTVZ2UtaV0rM8uinPlHSGtFn9ehQ2gCZHBTpAbLZAhz7GeWKuJeeeJ5RrVCUMj/kygYVRTDGFSRK1VUTyWh6U7BLIrLybWx8PA89bSiD8TyCu7XjLQg+9FjiNT2gc9L/V+bd7Z82GyzXPmlD7bG5pFjhNoxJ9XYYEVIhJAjL/y9/If9c6k2sZtKzz6EOUSQQlrLf48iXZJr580ei+uIA8BKYWhDM9qK3bnxJ8JFF59zB8YviBM2WGF3pUjIg078a+3BW1MWpIHf23b2lN+erCd6xRFSoa2V//qqY6QxTjxtyaQkCZ78BdSyo6yWWFVifLJ5G9c1jvKGzrJiX+ZIeyg1INoTDIHf0NLvlTfbKJsLPhnpR0qXB3WSp9EFWzEvwyBkj34G0klDF+cg1nHudgPkefcRkT+dOLvvIyXIKI5+ItREcbiXAgbvZiJ811C5Jn48HcikApn15QeFePZjWBlF1oCywxhBSaRh8lVrAd/oeWWyzcSWGYVhlmDPL0c/KksloncvktlTpAMeYaQbWsCGfL0efDHvACfXf8SCC7b1gRSG2M/+OtfDbnERgnMEchYF+Y1rBj+yLOE42rlNz0Lp/CmDcfyXAR3LFhfG44ZgaSEqRpnV1TFxpHiuEE31fNc/inGxnfBrW8Ziml3G8e5lt1JbvPdq8xbEEgCYayEPEyMZ7uOeif8oLhYydMJt9oVy30biTlNZy0Qw9aGBFpdCdE75w4Cl22mym7q7W8ps0GZvt4eHPey7TVt6u3ffiWftSYsgWSLTrz4LYE4m5k72NPH9G6W686L4E2NqsarvNrernjuxLCMn82zqt863oPjdtTtTVKbGpXu/bhFhkCynSyCf12ZIAq+ShSUQyFzxCIuBtcHbpXRZBVdTfRZRde3ry7NWiAaVp778F5cJCIgQWMlEFw1D8ljuyqmhXGrPbVWcewGpVQ/Fog7ulgZhqvC6R3CcM5lrc+e4nqZC73U0P1vqrjrWq62MAKcmDSrh6R+nYNl6YUacqQn1ywv5enJXB4jDlMfo0sVd1WWyV7SK4YwerNaVLe3URdXbfxo76nirhEYl/Su5K3FZ3VJ3I48/w0RrXsTATLIi19lF+qSXnDZdroPtMoaD9l2WR0sUBS/zuFrZwwWyIdxpdIZtiCPfBS/zuETfiaQT0IDpos8rMCwPsnc8CzvAw0oqtWsygxN3HLAMT+5VVwxSTbk6eWSXlF6gD91+DOBAgi6WqQhBzv9EKTYT9OTrRFWueyxYXl4J50hDMfEOopf5zD4avFnAhW6Cv4H4V9LEeXNWI6KvpqaY7+k14g/r8ICc0ekwbIcyG8qnNx2hQ9/nkQHJpCKx9LcpEgeIxon/kyggAQSaTZUPJ4hIDm3CP5MoIBqLVmd2qFL6dOA1XcuehH8mUCdxewtgFue/50pSjns9zx6vx4/gxN/nkQPoCBDFmr6bapjWIv2HxUMxtnDhf8frpVD9yTZuPoAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a^{2} + a = \\frac{b^{2}}{c^{2}} + \\frac{b}{c}$" ], "text/plain": [ "Equation(a**2 + a, b**2/c**2 + b/c)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def add_square(expr):\n", " return expr + expr**2\n", "\n", "eq3.apply(add_square)" ] }, { "cell_type": "code", "execution_count": 19, "id": "19439886-dc0e-48e9-aa36-e95ab68d3ad3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJAAAAAuCAYAAADHhpC9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFNklEQVR4Ae2c3VHcMBSFlwwFQNIBdABJBVk6IOkg0AEMb7xlSAeBCgh0EDoI0EHoIIQOyPmMtON1bGm9tmyJlWaEZUmWju49uvpl156fnyfZjSuB09PTDSE4MSi2zPOL4p/GReavfd2fJecYQAJnIsuhrUfh7wrfyW/buFifb2IFtmK4DkSaaanNZwpvKW6nFBdlMBMoDrVgfW7jgNIOxVqeA7UTWNvcsiLMb67k38s/6t07LCkPFmh/kbzKF9T58GcLFFT8k4kU8CS/p2oe5G981Skvw9a+/K4v7xDpPvyZQENo4aUOiPHTVZ2UtaV0rM8uinPlHSGtFn9ehQ2gCZHBTpAbLZAhz7GeWKuJeeeJ5RrVCUMj/kygYVRTDGFSRK1VUTyWh6U7BLIrLybWx8PA89bSiD8TyCu7XjLQg+9FjiNT2gc9L/V+bd7Z82GyzXPmlD7bG5pFjhNoxJ9XYYEVIhJAjL/y9/If9c6k2sZtKzz6EOUSQQlrLf48iXZJr580ei+uIA8BKYWhDM9qK3bnxJ8JFF59zB8YviBM2WGF3pUjIg078a+3BW1MWpIHf23b2lN+erCd6xRFSoa2V//qqY6QxTjxtyaQkCZ78BdSyo6yWWFVifLJ5G9c1jvKGzrJiX+ZIeyg1INoTDIHf0NLvlTfbKJsLPhnpR0qXB3WSp9EFWzEvwyBkj34G0klDF+cg1nHudgPkefcRkT+dOLvvIyXIKI5+ItREcbiXAgbvZiJ811C5Jn48HcikApn15QeFePZjWBlF1oCywxhBSaRh8lVrAd/oeWWyzcSWGYVhlmDPL0c/KksloncvktlTpAMeYaQbWsCGfL0efDHvACfXf8SCC7b1gRSG2M/+OtfDbnERgnMEchYF+Y1rBj+yLOE42rlNz0Lp/CmDcfyXAR3LFhfG44ZgaSEqRpnV1TFxpHiuEE31fNc/inGxnfBrW8Ziml3G8e5lt1JbvPdq8xbEEgCYayEPEyMZ7uOeif8oLhYydMJt9oVy30biTlNZy0Qw9aGBFpdCdE75w4Cl22mym7q7W8ps0GZvt4eHPey7TVt6u3ffiWftSYsgWSLTrz4LYE4m5k72NPH9G6W686L4E2NqsarvNrernjuxLCMn82zqt863oPjdtTtTVKbGpXu/bhFhkCynSyCf12ZIAq+ShSUQyFzxCIuBtcHbpXRZBVdTfRZRde3ry7NWiAaVp778F5cJCIgQWMlEFw1D8ljuyqmhXGrPbVWcewGpVQ/Fog7ulgZhqvC6R3CcM5lrc+e4nqZC73U0P1vqrjrWq62MAKcmDSrh6R+nYNl6YUacqQn1ywv5enJXB4jDlMfo0sVd1WWyV7SK4YwerNaVLe3URdXbfxo76nirhEYl/Su5K3FZ3VJ3I48/w0RrXsTATLIi19lF+qSXnDZdroPtMoaD9l2WR0sUBS/zuFrZwwWyIdxpdIZtiCPfBS/zuETfiaQT0IDpos8rMCwPsnc8CzvAw0oqtWsygxN3HLAMT+5VVwxSTbk6eWSXlF6gD91+DOBAgi6WqQhBzv9EKTYT9OTrRFWueyxYXl4J50hDMfEOopf5zD4avFnAhW6Cv4H4V9LEeXNWI6KvpqaY7+k14g/r8ICc0ekwbIcyG8qnNx2hQ9/nkQHJpCKx9LcpEgeIxon/kyggAQSaTZUPJ4hIDm3CP5MoIBqLVmd2qFL6dOA1XcuehH8mUCdxewtgFue/50pSjns9zx6vx4/gxN/nkQPoCBDFmr6bapjWIv2HxUMxtnDhf8frpVD9yTZuPoAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a^{2} + a = \\frac{b^{2}}{c^{2}} + \\frac{b}{c}$" ], "text/plain": [ "Equation(a**2 + a, b**2/c**2 + b/c)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "add_square(eq3)" ] }, { "cell_type": "markdown", "id": "c602d469-33d1-4d96-aade-3f233e73bcd9", "metadata": {}, "source": [ "## Expression manipulation\n", "\n", "``factor(eq), simplify(eq), collect(eq)`` works on both sides of the ``Equation``. The same is true for ``eq.factor(), eq.simplify(), eq.collect()``." ] }, { "cell_type": "code", "execution_count": 20, "id": "c93fde89-f2ce-430d-b26e-45e3ef8bccb4", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 2^{x^{2} + 2 x + 1} = x y^{2} + 2 x y$" ], "text/plain": [ "Equation(2**(x**2 + 2*x + 1), x*y**2 + 2*x*y)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var(\"x, y\")\n", "eq4 = Eqn(2**(x**2 + 2*x + 1), x * y**2 + 2*y*x)\n", "eq4" ] }, { "cell_type": "code", "execution_count": 21, "id": "fc10951d-abab-4806-8d03-9bf8a7898e7b", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 2^{x^{2} + 2 x + 1} = x y \\left(y + 2\\right)$" ], "text/plain": [ "Equation(2**(x**2 + 2*x + 1), x*y*(y + 2))" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq4.factor()" ] }, { "cell_type": "code", "execution_count": 22, "id": "393244c2-ef64-4159-a447-7bc7f97328e8", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 2^{\\left(x + 1\\right)^{2}} = x y \\left(y + 2\\right)$" ], "text/plain": [ "Equation(2**((x + 1)**2), x*y*(y + 2))" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq4.factor(deep=True)" ] }, { "cell_type": "code", "execution_count": 23, "id": "fa96389c-e03b-4163-914a-91b02afd8e28", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 2^{x \\left(x + 2\\right) + 1} = x y \\left(y + 2\\right)$" ], "text/plain": [ "Equation(2**(x*(x + 2) + 1), x*y*(y + 2))" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "simplify(eq4)" ] }, { "cell_type": "code", "execution_count": 24, "id": "eb51b0ce-ed8b-4158-92b4-3b8abdd53127", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 2^{x^{2} + 2 x + 1} = x \\left(y^{2} + 2 y\\right)$" ], "text/plain": [ "Equation(2**(x**2 + 2*x + 1), x*(y**2 + 2*y))" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq4.collect(x)" ] }, { "cell_type": "markdown", "id": "273e4a5a-2a94-431b-893d-08eb61fdd3f7", "metadata": {}, "source": [ "In addition to the ``apply(), applylhs(), applyrhs()`` methods, it is also possible to work directly on a specified side of the equation and perform a complex sequence of manipulations by chaining different methods of the ``Expr`` class. This can be done with the following machinery:\n", "\n", "* ``do``: work on both sides of the Equation.\n", "* ``dolhs``: work on the LHS.\n", "* ``dorhs``: work on the RHS.\n", "\n", "These are not attributes, in the sense that they don't return anything useful to the user. They are just machinery that allows to work on a particular side. For example:" ] }, { "cell_type": "code", "execution_count": 25, "id": "f90e220a-96fa-4878-86c6-ae3557f0cd2c", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\sin{\\left(x \\right)} = x - \\frac{x^{3}}{6} + \\frac{x^{5}}{120} + O\\left(x^{6}\\right)$" ], "text/plain": [ "Equation(sin(x), x - x**3/6 + x**5/120 + O(x**6))" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq5 = Eqn(sin(x), series(sin(x), x, 0))\n", "eq5" ] }, { "cell_type": "code", "execution_count": 26, "id": "9b6f96bf-1c9f-4577-987f-ce57503bd17d", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\sin{\\left(x \\right)} = \\frac{x \\left(x^{4} - 20 x^{2} + 120\\right)}{120}$" ], "text/plain": [ "Equation(sin(x), x*(x**4 - 20*x**2 + 120)/120)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq5 = eq5.dorhs.removeO().factor()\n", "eq5" ] }, { "cell_type": "code", "execution_count": 27, "id": "2f926c21-01a4-442f-84f3-d776d94d9477", "metadata": {}, "outputs": [ { "data": { "image/png": "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srIy8PrLmT17Ns8++2xg7Ha7adu27RXlFBG5kajYSdMVaf1f2ZOgSElJISUl5bq8t91up1WrVmzevDlQ5NxuN7t27WLy5MkA9O7dG6fTyd69e+nevTsAW7Zswefz0bNnzx987+joaKKjG2/7HBGRpuLGuXmniDRpJSUlOBwOSkpKqK+vx+Fw4HA4qK6uDszJyspi7dq1ABiGwbRp03j55ZdZt24dRUVFjB07lvT0dEaMGAFAdnY2gwcPZsKECezevZsdO3YwZcoU8vLyGnxFrIhIONGKnYhcEy+88AIrV64MjG+/3X9v3a1btzJgwAAADh8+jMvlCsyZOXMmNTU1TJw4EafTSd++fSkoKAjsYQewatUqpkyZwsCBAwMbFC9ZsqRxPpSIyA1G+9iJSMjTPnYiEi50KlZEREQkRKjYiYiIiIQIFTsRERGREKFiJyIiIhIiVOxEREREQoSKnYiIiEiIULETERERCREqdiIiIiIhQsVOREREJESo2ImIiIiECBU7ERERkRChYiciIiISIlTsREREREKEip2IiIhIiFCxExEREQkRKnYiIiIiIcIwTdMMdggRkevJNE2qqqpISEjAMIxgxxERuW5U7ERERERChE7FioiIiIQIFTsRERGREKFiJyIiIhIiVOxEREREQoSKnYiIiEiIULETERERCREqdiIiIiIh4r9JSDaJMNCO/QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(*eq5.args, (x, -pi, pi), legend=True)" ] }, { "cell_type": "markdown", "id": "342aaf79-92bb-401c-b26f-c3e6e786256f", "metadata": {}, "source": [ "## Substitution and numerical evaluation" ] }, { "cell_type": "markdown", "id": "fbe74963-317a-4238-85fc-b34704a5dd44", "metadata": {}, "source": [ "``Equation.subs()`` is just a wrapper to SymPy's ``Basic.subs()`` in order to make it aware of objects of type ``Equation``. The following modes of operation are supported:\n", "\n", "* ``eq.subs(old, new)``\n", "* ``eq.subs([(old1, new1), (old2, new2), ...])``\n", "* ``eq.subs({old1: new1, old2: new2, ...})``\n", "* ``eq.subs(other_eq)``: here, ``other_eq.lhs`` is the old value to replace, while ``other_eq.rhs`` is the new value to use.\n", "* ``eq.subs(eq2, eq3)``: substitute multiple equations. Here, the order of the arguments is important." ] }, { "cell_type": "code", "execution_count": 28, "id": "ad4e57a0-b1d6-4b0f-95de-57128c975c53", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFYAAAAqCAYAAAAptqxNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE5ElEQVRoBe2b7XETMRCGHQ8FZEIH0AGQCiAdBKgA0gFM/uVfBjoAKuCjg4QKCHQAHRDSQXge5VbcXXSOjW0SYe+MsvrYk7Sv9lYrnbNxfn4+qpEODg5eMO8d0qNm/sfwM9JmU5a9Qe5TlMnb9rUp/4ArL927YKN23R3qlLeP10371GyjVmBDQ5TWMo7hgpyJssB8J30i/9gGuIuxTXpGPkC1/hd1p/C78EyUP1I4gr/NlVNmxlPK3UgxFA5LO+pPkDatTyveJS/I0jb5x6Q2qGGZyvbpPRX2MzNVDSzatt1ASfmtqGzAvbQArT5KbYJ+En3MwmsH9qnKAtq3vtLUac0m3YRWdwdeeqXDhZQs9hvPZOvujzGpfGtSYwVtCbj+PAFDS9M/tv1rCTgf1ep/lACkLj9DXjnHSz4avkXaI/0kuTj64rzJVQtsoyj65E3J7G2SoJ6S9KWXLJn6TLQr687/IVcOZ3aQf0nSZbwjfbGsONw34RfchUw+uVpgUSRe4b1QBi5IKi1g02w6WqFU8q8XLfylX+VCJvVNXbZO2rReyfET1Qysyp6hYAaQvP5QSzUE2ycli4IPUSxOfuUHBE/smyRwAqsLaJMuQspzGV+Uq/yrMpcAaZRXIQG4ilycon9tPyioTVn5EeX+uG6inY2uSmBRLCmIMvF6qm9QtOlnB4k+BF4L7IM0+AwNCcCCwC51b6ynX/scVQks804nKXhp03HXljx1JULZeFWjSh4LUFqctlw77zOdhaBvQZViLrqg+oBFES3tiZMfoAyo7cgLhs/0KfxkB6i+UJSbcbVGT2Ntsu/kBpB5Tj61V3VXwMRftTVq8t+p7wT+lH0tHzRKuumk9uZ5gRCgsFiBPSMZPrV3eqr+EG3KeyHTv0+wr3ckLd/7hnTpUxWwTLwaGlcz08omugZ2SQu2BnYN7JIQWFK3t6JfdjNjPXe+uL1x97QcFxudW3fq1zQBgQwsMk8B19sbr9s+kw7Jp/ADbphjfZytyXYJGUMcF2IWMv6LYH+W5268bAIW5bTWL81stVTPz/kjHGWDbr8XDRLyEXAPyqxSQ1isQMbdpSAf9kAwCB4hs0kymP7nxLhVfU4Oi01gMfl4lfvHPF2AJ5hrAdVVZOyNf76acwwYFhtdCGDpGk3AO8fGeCA4iq99bIAB7wMrgB1rBTAvFrTUiZfGyK19LCAFZWABZpNK/Wu+x6TOjUxAH5K/NjfA+NVRBpaZa62SIVdEAMawfkTLnxySxPrPlQi0gdW/GlcaHUSEcGUHN12gMRJv/n0bJV1d5zddViJnu7F6Cjfh/h7hr91bvjakE2NVP99O9KXIVEfopJvz91kazv0hBWjzrfWr79yHlrGD0JEDu1JxSLD6vyH0c38wqeMkWgioDjBmUL/ZeISV9ikbBfyP5D6hARUJvd1X+gejouw0ldkVTCNcswzA6T81orvkO5sxZS1Za12YG0yuoGbAZph7gFlyB68WCapzWiVg3ZylDrAAquvz1LhQWiVgw2LzV9bGBegaOqfNRSDcjmMX0d9N7iN+QBzxrHPVBcwdWpWUXhmLBUDDLSm5AspLcQEXQ6yWj1Vn3YG/7DbsWooLcBBplVyB+iZg4R8Bd/Azk4Lz0sq4ggao2MBKP1WaF8vO86sGrP889xZrXXgU0EGVwm+fOp+PChgSYAAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle p = \\frac{R T n}{V}$" ], "text/plain": [ "Equation(p, R*T*n/V)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var(\"p V n R T\")\n", "ideal_gas_law = Eqn(p * V, n * R * T)\n", "pressure = ideal_gas_law / V\n", "pressure" ] }, { "cell_type": "code", "execution_count": 29, "id": "20cefc2a-ae27-4325-9f5d-689525c44191", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle p = 0.9334325 atm$" ], "text/plain": [ "Equation(p, 0.9334325*atm)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var(\"L atm mol K\") # units\n", "d = {R: 0.08206*L*atm/mol/K, T: 273*K, V: 24*L, n: 1*mol}\n", "pressure.subs(d)" ] }, { "cell_type": "code", "execution_count": 30, "id": "2a4ecc73-47a1-4520-a668-ec0a349baaca", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHoAAAASCAYAAACU/srTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFYElEQVRoBe2ZQXJUNxCGH84cAMwqSyAnAGfvqpgbQDiB4Qam2HmXIjeAnICCG0CqvDfmBnFOkIlv4HyfRi303uh53qTKEyblrtJIav2tlrpbLT371uXlZbcNdHx8/Dqv8y/qB5TX8M6nrh3smwq7S/sQ3kXF6+jfp/8i825T21fPp8xL1VRcLfNft29tg6Mx7BmG+oX6gwaj1gnyHtO+0tkV9g3tX7P8Q+rfKY9CPuN0aji6o/0EzHvKU9q17pU4ZNYmdEze17qT76wrsGk8m3+OztthaPXT9iRq+PqUOtSi32DuIpOcLID2F6rPlFpePc8Z07lBcZJfBYN6Kq4Smdw8AGkWmU+WmAj85h3NPp5SdMyQTmEc4BhPwVWk41qn3jlrefsGkCURc5d28Kin4iqRyc3HIM9H9E6epAWctZjfGM8of9tYUzjP8ZRWh5gqCObDMfre9dIe5RNYT+8dGUHw4nSXkz8VF3OsWY/uZc15luDF0WzAe0tFP1IOKaYQ+3dze+nxAv9aiTWtOq3q92HVJOQvKI61MO5Lcp9LhJx79wH4gnYr0JLMKhzjzu88BqbBZVA+gR/vBfX4LnCvYh8y5rvgdIDRP+Eb96OM85kFPoqliHlGkWyXh+QssRY/zwC+pKjEh4qPn1iMC5XvpE0Ca9S76HXoC3Km5jFyQ1IrhS5GFgaKdqvWsK11aQipF0ysR754jWqa9i5foik4MM6j3epH30f6XhlvKQaimcSMYvaQ37Kxj059o6xvDoPgJXVHbRD+Ta2NTPvBdz51pyw1oyHYzZ3ahowqBep0+Ae8IwfHCHx5rY5hrokfJ3NserPTn6xPI6bHFbX7jeCJKyDJM6ZzLR1tjXVGXV7d8iV4V+IYN4A0tA6qddhu3cM6OOmlLoSswaKDpfBNeVjC200jiwdrPB5lyS9BvJNBtWM1wrvMjyoJ5MUHbxP1/AolscG4a5tQ1qxD71F01hHF7KTBIrBrJ8D+SmANduXf0y5G+4pYtEZw6vFrYZj2dVx9iGI6+bWjgv+ZOTzx6nfdzluT/pKGeh7BK4ETJ9rNdEymMmmo0GgzzSRcQmzgR30UNbWMHLxRR8US87p7GQdeGCzJ008Goy7GyfKmbu1i+TAVB/ZnSs+OyLpmnRUnlGaye5Ofxy4SaKG/Y47enIylTAA/cBme9Bfnz4Kba4VaacVNFqGBTOqi6DruaOd2YxpnSHGihxsf4sb6OtaTEgY6E0j/TsVrya7EIa/jLD2H0tf56hiuWfv2+M5BibU57CNrGITyUwDaCEJOnvrT14JzzWIw1wJ6iwDkHwhUmC75jFuqwPVOzBLg3zO85+L01bOk1ITe2hj1eGoz7j3rA+ZeYKk1gnt1jiDnqR0f/L3cCLtMxSk2zDblHs7r8jEqpvAVymPya8e63t5hA+c+ljIEPH2R5gbj+MEOP4mykFFeTk8G6eCfaLvBjRN63dycWoclou0GPR2HC04yjifgkpJOXPCp3c+86ts0ePxsqg3pPnsnkHF1qkts7H8lLmMNjNqWzqV9vQqk+s+3Zqe4QtR3v14bbeeR/45S01iGEBuBmT4Py9+6mcyFaACj3OiR7lL8G/EwMtPgpn7Q78I91RcUH19++vj5Vzuqo+/Xgaeyl13oR0ZwHsnHVRhiweEXnvuuP/c0cPkWDeAUHBh1mUl89GlHneT6XYs815nWT60e06z27+gPT67r0g/+M6cQ/SM6D6iH+419aA/fFee1o1W0B7NOZ2XSm8Z2W2CnWr5RsBTl1fhNc4stkBzNKTbNmD5MKTf0P7TAd+zJu9m75HvKDycnJ93+/v7wQcPQDW2zBf4BMcxjyuq/+S4AAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle p = 0.933 atm$" ], "text/plain": [ "Equation(p, 0.933*atm)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pressure.evalf(subs=d, n=3)" ] }, { "cell_type": "markdown", "id": "13cef021-56bf-4695-a39c-4a73768f0997", "metadata": {}, "source": [ "An example showing the substitution of an equation into another:" ] }, { "cell_type": "code", "execution_count": 31, "id": "8f9c1996-f72c-408b-8a00-6db1f9277273", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHMAAAArCAYAAABLnrd8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFc0lEQVR4Ae2b21HdMBCGgaEAknQAHXCpINAB0AGhA3jljSEdECrg0gGkAggdhA5C6ID8n5CEbCT7wJGJzGhnhGRZXu3ur13J68Ps4+PjTKXyLXBwcLAgKc9VVlXudb3Ulnqu3VGvy7SAwHtQ2ZB0dypXMSkrmDGrlN23LPEuYyJWMGNWKbRPnrluRaueWShGrxHLhFlCbuyh2XoAipmlzD6B+EuSsWdeWwnXVJ+q/4LrGmatVUqvBBinWfbLRZUfuv6uekflXG36KpgYYSTk9suvAs+EWVvT3kSH6pkjQVJisl/eOiADsfHYL1xXMAOrFN7EMxunWAHrvNXsoRXMwhEMxGNfdAcf171lGwbkCqYzyzhqTrKG5JWE122VXRd6s4MpxqygUVLhsvP6QV7WEXnaM8n8w3XMu0aOWoz3xIfV41dQDr7vyGNROmyqcOwvjXgNOZFsJNjxSl5JPJAImy1pgBHEb031Powd6dpMrOtktt+NLaGWvCxIktoNQ5UgW58MWcC0gP1UvZKaUPfIXtyo3k2NKaXfyurf50qRq0+OXHvmkSY67pksme3vec7flpHXVb75juEa6IJOo6JcYG7LyMmwBAjWKo33pDdYipBNGZSsLug0+Fw5FZkaTCnMXtl34OnM9udUKCMvdOLoPxpqnGYFzKIkJ7ygyB8VjsN9pzuA6vM4PJNUFIcLqJHtf+p6v7+SAx3RD3pQYS+/NVfPf9AJ3ZIR53loGS0PppTB4Ly7rKhtPE01X7TZp8jSo3SMOKUm90s9R6hiv4R24GP7/qpeUunz6qcnM/zVXCxWdNpX23w2Uo3sZFIALqTfusAmvWR5TDQ2YMbidhmcoPvtTQOmmGJwgETJ0Li079SXApKZefaeRoKckv50CD/LkxD9nu90AHmhuQ2QVl5C6aFthxU6AX4viV8RJ3QDpqQl7CxIqHZIAYhQ8Zhin9XZBTYrvjPb32YqOfAWtwjC28w1kzBe50q3PAGnAZz6P4UTBG0WMgt1NOTAZHU29j0piSIuLE2j0IsFId4OqHbi2Myj+9GVrn48mSzNW7zZ6KhnuxZeqGffIg3HDtaWvBP/FnZegwGN0v7FF8rP6H4DZPpaRDji+RSxINqgub2ij3eK56v6O3Ts4oNOXduHf1b8U5HEj4k0OiOJGy/es67dVzvPZFy4V3JtwiMNMcQjmLw9htv09e0t/jnxwEgsFJ/tV3tQ0pzs0czxEJtI99ZV2gsLz/Ryx55zfXo2Gknc/feq5yQICqKIB0R9gLescqMCbagvpdit7vOqkSL23NXgJgetRrY/uDdkk/OAiwh+HunFeSHmgaQm0W005DwTJcnI76nmJwinKnjmke1LvnrYsQCUoh3d6Mz2px7M2S89iAToA3i8dkBEiUP1xTyWfb0Ij0PQSShXoh3jbMkog65k8Z/mADSJPcwYzUOUulT94v85JmbyHwY6z5x2alY7q3jolYwHxbxoWvnbz/MZD52KJi02tsITFRbfWRbPRGMx5jRMKEvtrQwrniQ/hjlWzTYzCpKsvL5szWWUln23a2/NONWgrNBh6AiTTQEByd4OXWUDU0wJf3gmh6hRkpV9bNGFCGJSrtnC7CjR+wBCawH6X3DkOgB9ALOUr4KAYz/nYMa5hE945Ac4BB2qzFQwscIISECyN/I+3/5EifQme5Vtz4RjpWEsICAXxBkgY58o/RepCuYw9s/NldCa+kTpc8oVzNxmH4YfHyY8aExhvZU91H/tqmBimYLJgkaY9aBZcQEYUD3I9QBkLTOCqp1Z4/3S5MIFqPlEWT2zcBQFFMkYvI+QasiC9+ITZU0aOAsVXAs8wiwJ9WsV94kSkDkY0XelMbf/AFQv2zpf8egiAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle a \\left(b + c\\right) = \\frac{b}{d}$" ], "text/plain": [ "Equation(a*(b + c), b/d)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFwAAAAQCAYAAACbdRhPAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADKUlEQVRYCe2Y7VEbMRCGD8YFkKQD6CAhFQQ6COkg0EGY/PO/DOkgUAEfHcQdBNxB3EEIHTjPI0sa3c2dsR1/MCE7I7Ra7a5Wr1arw1vj8bjq9/s7VVVd0/Zp94z36P9TRAA8dmFP4lCsHJ8hH0RZZ4fOayYvaNpcbQl4Iibv4G/pk/M09Wx7sBBgwc2YwL9HZoIewd/MAg56An203VD2NL43ZHMPcX5AO57b8GkauI9j9iPIiVJmf06Cab14xPlBBrwUTjOecc6ssP0LNGQTD7GF/YCV43noEOWRdr3CKgsL2bNnAclsflECgSxl+7dSPoU3w8OtKAFXOMTZp2j4lv6S8Uw1KtosrWPdM5z9ig7NKN8Ws22jRAziZGwn8OfNYJD5ODo/ohm/QFuqv9CqADhKXn+F0kfGD1H2m36PpvFaiLUM2HfkFD4cNr2ZdETzFrZS1BGMecgE0++jhJ746N9E9OBvaTVCx3kf0zfwATP69CbWMjwF+g6FUJ/sI+/1+VrzvNqBAd6wdnmzPiALGdK1NPr5K6JL52/k+BfkcMPgxeSOPn+lwJu0gm2ilAkq78EGXHsMJDMnC4Nk8kcnr4pxjcWJmZcOq5x76YD5NhA6syr6M8Nr4CKv1dByoU3wxGNCCOC1sUXeMrID3ywz4pOTJwFeE7oJDBOQPxy3ETptgGprBuzSz3szzOQBdiEb2tZct4xYQqmlb74flhQxStiF2Mv4sDFhU4kMU72ooLAJbKptofZEvZV1MTgDTDVvrrWw77pt0/x03rbCyH8GK/ynTC6mJuyU2D0EbTOGCXDlue5EByr7Eq8l21yHZhyt6zF3QMuBq1gSc623rdRZkDeetlu3H/2VMWUM41wo1fLE560fbscJa0xyoMjif4VSsx45t0pyvXSz8jrEYX28z4L1MqcsV7t1ETxvY0hIxuFQGFspAkUdy5GlRzpENgq/pcBofEHzhOR9gRcGOy62SA2vsBVc6eekC/GcI3dTGyHWtk6XiSCwtR+v0EkYWpr90LikGbP7UeYtGdZ+vEK4FMLxoo/mUtZ/yk5SSVl2jJ7sxjJy2ZtZpr8/hm9AjHd28EsAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle b + c = 3 d$" ], "text/plain": [ "Equation(b + c, 3*d)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "var(\"a:d\")\n", "eq_a = Eqn(a * (b + c), b / d)\n", "eq_b = Eqn(b + c, 3 * d)\n", "display(eq_a, eq_b)" ] }, { "cell_type": "code", "execution_count": 32, "id": "e54fa716-2e3f-4120-8fda-8eafdcecf2ea", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEkAAAArCAYAAAA0T6WNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADzklEQVRoBe2a7VHcMBCGTYYCYNIB6SCQCgIdQDoIlMDk3/3LkA4CFQDpINdBAiWQCsLQweV5ZEvjj+OOg3PwjLwzOkvr1Up6vbuSFjZms1mRM00mky3Wf03Zo9zTftfG402bkVsbUB4oB6z7jjKdt/7sQaqB8p76z1o7VUeQgAJL2q8QGS0pmUa3EtxN1+u+KoqN3AO3oADODQ9j0i/b0AfKJfwfNrJ3N4BwdzMe7VDOaX/j+ZlyTV3eCBIYxHj0EVCCu1VP64cjSCJQFMaj2whQ4JQ/Wthbq9m7GxhoSY1dDcCidYUYNYJUxqIYsDUc6ah8lOCNIJVouLMFwop0s0+Uk+iCI0hF4TbvvS2S97grADqPjOzPSZXlXACI1qQV3dQBEqgEEi92aJ/IhBS2fQa/EdR8+RJCn2cSJ6V+v1gc8yVqe+0bQGKigiIgacLUPSNoekfUw8lznTNBpzmaXnSvc57qijHpmPpxBUwcI1rQl8hY15Nx4hYbx1iX6l70RJBu0f5QlTAQC7HdFy28UPY16HP1btoRQPyi23Ul8MKRHN73On9N9c4Bbk16e1ETQGprBiAXcUbxrJC2wigHLwR12u4IfynGrEP4Xg4bNEfWD2Lw/toQHHCjARILcvICZKpAF/xNaRAyvjeg71IPhzCeZvT2eXqLTm5K/TFZdS6NR/TXitWxCnkPiyfmVfo9KpuOAG0JBursbvDcBf9QTqknC6MeFsMzJdGXyO7xfrc95lDbMXB35scidCGtwryK4Ei64BbtBFDgll+7fUxYJLvUiiq9g3hsOgsWrZv51MXqpLtp7hZB8E7TWCB9BNAY1U6iryJL9/9LzPvJf0sLIDE905eCtE3RejoEXzAs88CwbwJvFdnOQDUGenqLSejeqA21sBpBEpgpHdsAxYtfAgC5dGOuNIeklXX6G8e0xnvb0FJZ+rRlyp788i7dABLzFSoxJp0ydsNCqgVrOSFlQDsASVvXClTJ6Kq6pXQA724V2bLbsH/T7sbCjDv1rVMwGhdcZATtgmKSytTmJUXwDNLytMYQ11aRpd+gKYE06Fm+8uRiTHrlaQxreLzAEKLH6E1XoyUt+D6AFdI5MXAvEM3zFQAZo6XpCFIJxLzflM4ZQZoHT8nTksL5cAzcIIFrGaA9xniwNfUjOAbvkM7JHqQq9sxL/YBRaUlZuxsAeTgWIFM/9euR9fT/AVmDBBBPSufkDtKT0jnZglS5mu7WuNjTFriC9ynzkX3gBo96LBKfTuonZ0sye6G17IiMhPWYD+ukfrK+uwGK7rY09fMPLV2JDz1u5a4AAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 3 a d = \\frac{b}{d}$" ], "text/plain": [ "Equation(3*a*d, b/d)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq_a.subs(eq_b)" ] }, { "cell_type": "markdown", "id": "f7ba5430-c3ec-4a0c-b956-4a3b87b45a41", "metadata": {}, "source": [ "## Differentiation and Integration\n", "\n", "``diff(eq, *args, **kwargs)`` and ``integrate(eq, *args, **kwargs)`` works on both sides of the ``Equation``. The same is true for ``eq.diff(*args, **kwargs)`` and ``eq.integrate(*args, **kwargs)``.\n", "\n", "Use ``eq.applylhs`` or ``eq.applyrhs`` (or ``eq.dolhs, eq.dorhs``) to differentiate only one side of the equation." ] }, { "cell_type": "code", "execution_count": 33, "id": "518da9e0-426a-4f82-b357-42cacc10d8dc", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle a x^{2} y + b x y^{2} = - c + x y$" ], "text/plain": [ "Equation(a*x**2*y + b*x*y**2, -c + x*y)" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e = Eqn(a * x**2 * y + b * x * y**2, x*y - c)\n", "e" ] }, { "cell_type": "code", "execution_count": 34, "id": "0a8eb8ad-f322-490b-a76b-21b10774e11b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIoAAAAXCAYAAADUf9f5AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE/UlEQVRoBe2Z63HTQBDHBeMCeHQAHfCogNABjwoCHcDwLd8Y6CBQAZAOSAcBOoAOCO4g/H7n2xtJWIlkbEVJvDPnW+29dvf+t7eSr52cnFSbpL29vRvM/yavcSfXu8jnm1x3O/d6PTBb73RLZ3sHKF5GC/w+/HfK3ZBt6+l74PoIKr4AHDu1dd7B30F2rybbshP3wBhAMZp8m7gftuqd4YFrm85R2usTSYwoT6i3V0/bORN+HiNHKebn6+YJgvtFODKDDibUr/OyD6iPfUb+I8sqeBPwL5TUzvOVB/VoEQVnu0Emsk/hz+WNJ3SgfoweieCNcK8oj+EPF9LFL88m3d+oSzJeb79K/Bg5SoWj0ymmdjPmPmfZYF8zbofyYvDAxQBB0dh05jK6CFwjSJtMuL+2hVfxeeNAyYAwkuzD37PAuzmG/FXIa8GyCvn29RMd2uONJDeyrmle+HhTa0SZVRa9DGPGyFEM326MdSE2onGyS8NmGTddsM47lqkDyOvp1yl9O6a4nOIGUHCKV4Th+RflN+WA4hvKe+pCPOvQCP8P4Xcpjn1OkY7o49iK+qb1FAhdnnbokb7p0F4SWvoZUX4gM3+RtPMTz8kuBfBD/BB9TYy/M/aDc0h5no/UXfotOm7oN69/6n4WoNBZx3hP34cXKBW19/MO9QfKXFmm8rUVuY78SBEcvj14zQi24lD4yRL6ChJBHm9CFTI3NYGHOv3dkGV/qO9Skn9oG+KHN4zTP7716a8CFPhnFOWdxDj96h4NIYHeB3xn2pGAwmQ6RpBoSDhBheQb4Zd2kScQggSQRhpVpFuUensSTvhHuw+wqx41Y0MeIU8HxDrz2voevrcf6CvojrIPvNLa+ZmyU3Mh5tjIVd3XjgQUlHRjTebqKEeUENyODL4u1sHkNxGRGw7tg2DnPpWYr+sECcSK9mWO63uC0tp5DQ9CW2c3rtiUOi9+PFC38/MQP7hGXGtGj7d5jqgEZlsWbZuue9kRQFH5BqIxTKcYkhuvhzWDw4BlhkfbyjXrLANChdwT7et1PQIMXofxRoRb1IKiTW5c44DQT5mUIgPPsfEL6eL6WLrZ9I1D5Bz6tRxI2ow2yhr+53kU6mvHjI4qaWkAgmcBUNHeaQBtYXhxap7PcXPHT5HQTbCZa5RIAu+hqKiNlvJxVSiWou8//mBMXz84RztSOdZrrQ081yxEe1eELX2WMEMjbKcds9rk9etEcQq/MiipYzXkmOKdbvKjwzz1Glkfm5I25JMkdPUEP6QuyWtWVBvLSYcvNtHXg+TBeQmvvT6v4gcBWOaFl87MT+zEmksjrG2r0hA7ZnTWcDc9nSgX5Vmn6dA4PX5RNeFTLupMenWWwCmEzLb2SSzt582gnza6wYfwntA67SCL68wI+YASp9wxn2kPIGnnKn4QJCnHoq6YL+ZZOwicvwfF+mfu5yxPZkj0Pf4VtcnaJ4pIN3IoC6cKHJ3lAhrqCftKsd0Pasfw5Rqyz8TI61WwxDeDunoBCmW7FP3hN48UPeADJLav6gejmPP68uB3qvizMQ4kolGptx2j/Sm4LvNxslHtv5PZdenzP/NkwBjJzu3f9L76X+/bcUL95uhiuVAkKCjlbwx4I5WRbemb0tSMi6tnanp16oODzytMd+rUs8FIGFe4Q9LXWeyZ8lVdTLtwV0/R/IIxAEKgmMgaScxNvlwk0P8F49g9+eoCD9cAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a x^{2} + 2 b x y = x$" ], "text/plain": [ "Equation(a*x**2 + 2*b*x*y, x)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.diff(y)" ] }, { "cell_type": "code", "execution_count": 35, "id": "ca3a3315-4310-4f2e-a6c9-cf83c0767f6a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEUAAAASCAYAAAANBhNmAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADC0lEQVRYCd2XP04bURCHF+IDWOYGoU0VQm8JcwPCEZIbBKVzF5EyHXaXDkGZLi5cQBXBDeIbkPgGzve97Kx21xuTSCw4HmmYefPm/ZnfmxmzW4vFIhsOh8+zLDuBpVfwD/gE+62GTSRiO83jukPuwqfYZtqewQJyhuG43+9/gUfT6fQFts/Ia8bJkfHGELHeEMw58hPxXRPnFeMrpPH/3GYgYm/hgnA2a+bwRWHcEIXY3hBKF3kZIaEbq+MzbYIygL8z0dVQogm6i82kTaLXBNPUFr5hH4iDoBj8LEcLdYnqYC05/GcGk8CeWadoE4MOYIhcE73UyHwFVcZmjiXnJjYp0+4I+0dkInSBNE1tYDeMR2mCP/ncGPmnc8P1wWV+9n379jpNHiwWEIOPX6Tkhl2U7TN76AlZ5FfGpt0Itjal9+j+eh2hj+ECFPRjWPtKYq317Xn/QresWwV2L98s7tm0d7cRFDwN/JID6q+v3WAj1dxUvSg/5gTU+pQO4XqqarNkVxL7VJr/SueHndyxp1SIy/hCBllH3JKx8ZZf3bW+ZtHJ0V0bY7MidXRkkP5m11NQ/YHKd4gsuquAQjD2gR7S16yTAVZeGD97h2VWBIktpSbS4J0vQMRmFmmr7MP4USjuxmHeoU5hmxXlwwLrfBdZZAi6AUsi7KIieI2QQGX4NQXpPtb4XJ+cBGqOrdK8Y7Is8Wmjp3iEd424ykdGpkwSKFzAF9xHVhorNoEqXhq93EsYpp6RAmStvoIQPh4cur7SX/UTHdmnrZ5iX4x/8T0qaA8lPWKHw728jhP0pfrHlpotsoIwY0EQzMiSQ2zRSzAnQAL9jDmzRG4rWM+8l7iHv5LplxGZ7ou0Csz6AzcwUywJgbGf1Kmc5paD/1+8Q+7A57Av74eUtjqgZp3+vkp8dKEWIKo/FZkV3nsf6d2UB4xTvFt+JT8G5eAMkF5orWm7jdsJAOyXaCJ009NM/PDbst5/WwGFkO03llfQGMVaLvecmFs72Ur5ELyg2GTNEL9/LrBFQ2a43vQL8aois25bAPIAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle 2 a y = 0$" ], "text/plain": [ "Equation(2*a*y, 0)" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.diff(x, 2)" ] }, { "cell_type": "code", "execution_count": 36, "id": "cdbc8d22-e168-4900-bc8a-3c61cc052a15", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\frac{3 a x^{2}}{2} + \\frac{7 b x}{3} = - c + \\frac{3 x}{2}$" ], "text/plain": [ "Equation(3*a*x**2/2 + 7*b*x/3, -c + 3*x/2)" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.integrate((y, 1, 2))" ] }, { "cell_type": "code", "execution_count": 37, "id": "c6ae7cd7-770d-45bc-a6d0-94411f0ce16e", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle 2 a x y + b y^{2} = - c + x y$" ], "text/plain": [ "Equation(2*a*x*y + b*y**2, -c + x*y)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.applylhs(diff, x)" ] }, { "cell_type": "code", "execution_count": 38, "id": "0cc5cfde-ea2e-4134-adec-b52b35616cab", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJQAAAAXCAYAAADtGGaiAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEuklEQVRoBe2a7VHcMBCGDXMFkKQD6CCQCgIdkKQCoAMY/vGPgQ4CFRDSAemAjxLoIJd0QN5Hp9XIPh+WbWyfJ7czOkkrabX7arWSDGsvLy9Zl3R2drYh+ad+jk2fH4j/t8t5xyx7zJhNegD+QgAd2Twqf1f5UWnLeKt8DoHRYrY+Z8rbMw7lRLuR2AuVN8X7GPFWxTwCo8WsD4ciOj3k8VrVKhAYLWZrXd+hisApMhGh9pWvjrwiOAvqY8KsjztUgMkfc/tibAfmEhakJw+JW6UdpemQzj8WzGwZ+zjy3FwChhce0Wlb5aV+4aGf0p50fVb6pTQIjQkzA6iXCOWBOfGLlPk6OQvWGUk+jwEeAFcNJ+HhcN5wbKth0pkN2DtmrZTW4M4dygPDpwLAsZcdl86TtsonjOfoItUm6YozQr1HqIExm1nd8Ldzh5JefHNiUckDCTScapnJHXnSc4jjeayY5SOU3xnccziKfiv9VOJFdqk8kOo4yKFnfFJ+oESI/uZ59+rD2Ez5O89bmEXyePk9qh6OKN92rfzLQgHdNBChnjTvsRePnTeqO7vgqVwHB+tbaaPkVmLmdeo1S7E3RCh1BkBeNlya3d1G+Z3qu8qvlOKdGr7kig/g10o4EccaxxtOGYBXuYpO/VhegMgKDqXyVyX4vZF0YfHteHZ/JvK8P8q3lOzuVweHXmyUbuDPWtYhNk7Khq201zmUhAEgzoRDGFgoRPlZvOBMKhOZcBgj2lhwohT0Xilud8xFP5LHwt37do6ZaaEvvL7vMbYgn812cl/G1kuVk3FQ395s1FydXCVS7XUOJYBwgA0NiiODWM7Ti5HmQf1ip+ObEh7unE55iqcj2wiHffIVolHxVcXiFnk21uUav2hX4tyZ2stAfm1X4sTBJjfJ7IeN98HX6+DQ2sZIh6GKSfaaQ7GQuSigRQA87kUce4HEt8U3XpkTWFtlLnnmiDgOcwanVhs7G15ON9VzpH5lDpOJTzThs0HuDpgbXF5Bl9xGkgx4kIumqifjoL6tbZxNPdxvqr0TdWTBSDnHUR1HydS+cDHVZk4QwPfyGOdAREYiEdmKUQH5HDXFxUsU2bgbG8mOYRNikXcOD+mXikPnNkqXRdHa7CjLX4vWc/1fs3cS9Y6PMdgu7FOQAHY6izpV4q7F5QxgiQwseDzWXT7Fr0ssYiyH8UPcn0zvoIvsY8OxwY5Uxl7qTXDo3EbpVhqtzagmeR171wFIk+AcGOtIPByI4+Zhxsn2xANgdiJp6ifBwQKJR1txZ4f2ikJYQPp5WcgrRs4KMW/STMTdiSThPD+kkx3HTXFYJhsj8yqLyfZOvChCMd96jpVz6bxRIjoQieARRiEcD1CZIFMbO/ZOiXY+xuFo4fijTw3iyzk68EDgG5j9N8LcEVNDZtOuBxqILujgopHK5kzIbIrDMtmIHamUbG/v/76SaoF3rF3ljf8zQWObXspT1WzV7y1sbKVAB4PXO5BZWyTAKhHhHKlMVOA7z/mM0/iX45w0OHVo4+C2xQrYkRfzhigTSexYZX73tVyL0PT4dDZo/BDHpZu75KcTG0vmGZS1FEeeFh6w+QhJZOLecrtkziCV2tH/YCMI/QOjb2RHkuFTRAAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle a x^{2} y + b x y^{2} = x$" ], "text/plain": [ "Equation(a*x**2*y + b*x*y**2, x)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.dorhs.diff(y)" ] }, { "cell_type": "code", "execution_count": 39, "id": "f5954f83-b536-4314-ae82-b3009bff907c", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle a x^{2} y + b x y^{2} = - c x + \\frac{x^{2} y}{2}$" ], "text/plain": [ "Equation(a*x**2*y + b*x*y**2, -c*x + x**2*y/2)" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.dorhs.integrate(x)" ] }, { "cell_type": "markdown", "id": "ab76be3f-b00b-4daa-9033-c6718dc29d56", "metadata": {}, "source": [ "## Attributes and Methods\n", "\n", "* ``eq.swap``: swap the LHS with RHS.\n", "* ``eq.cross_multiply()``\n", "* ``eq.as_expr()``: convert the ``Equation`` to a symbolic expression by writing ``LHS - RHS``.\n", "* ``eq.as_Boolean()``: convert the ``Equation`` to a SymPy's ``Equality`` (which does not support mathematical operations).\n", "* ``eq.check()``: verify if the LHS is mathematically equivalent to the RHS." ] }, { "cell_type": "code", "execution_count": 40, "id": "874d824b-a1ef-48ac-93f3-ba4f38dda0b3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAlCAYAAADmxXHWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/0lEQVRYCe2Z7W3bMBCG7SADJOgG7gb9mKD1Bkk2KLJB+9P+V7QbNJ0gHxvUGyTxBs0GDbqB+zw0qVKS3SQIXFOCDzgfeSTl99WRlHQcLhaLQZLpdDqi/AW9Q3+hV+gR/q/YYgV8Yhav8hu9wTcfJnJU3uO8RF9TltwA+wOj/5Cyg4oSMBkMMX6ibCAG2G+YEXa8Fx0HWInZKRDTj1i+w1ccsYBuSewKfIFY9J1gJTzYjw7DekCns1hPxqjlA5N/6xasIUIA+ZyDwX+Y6iFyVGQ7S04tnYxmCnveVEo5YAbn2lm1F0lIJIQyQ+5gSdZIZ+1bK/4Dcw1TipzOfK1ZH6NzC1zMHdMoFiFgSdFKtoaLdpfTwMjZwehU4PEdUX+F3qDKGF+T/LJle7/uD8fNvwen+8e9/vAowOG0/I5eoy/Qc1TSdtQ3o0+IIuViJBIRz88ISh5n+MW+JBcbemfyNbcj16U7sItcl6KVY+115NK7ZU742WW2Yt/7woP0CRebM6713HrC+FbX6pOn1dIDx3Aymfz9Wn2AEHd2+ECXjTeD4dF4ex253Zrb+Fzb0B/0+lHQa3K1NcdO5CeDiaI36D31lxuaMRu5LHj9BvXTbYRerNwt6XRLo7m/U2znBNw+Lo7XTUvvQDOn0gmSEEtvRrMWubyxE2zaIM39hFxrixwNVWN7XCc8Ri5k7GobSoRuoy+xH2P9LfacenHJWTC5cZjnMXnlWYGkXFIhUVuLHJ3dLW10kIkWD0A+oJfxQhTLEPAYBDc+jwBUsUpUCZGrkcPpAOUdnUMGKVrLpvuKEDClR9aqsw1nXcDeJBcSsakxY+LFTPmVIkZo3dlGiJpAm+SMXNVoB4imaJq/LEUedbbRJDcCfZNE+jqukd4WS262s0htPodbZxv7K0BWafN4IQedUg7zeEX/bbkqnBFAWFKWwer+MG9Gzu3e98okvmde0Ll5bpfa/7uNN9lZ5CwLEsm4y9fONmrvlnQy3L54elcs35ZEDDxBMpwuobVnG38A5oobfpOjhREAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{a}{b} = \\frac{c}{d}$" ], "text/plain": [ "Equation(a/b, c/d)" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var(\"a:d\")\n", "e = Eqn(a/b, c/d)\n", "e" ] }, { "cell_type": "code", "execution_count": 41, "id": "a1848ec2-ed65-41a0-bd55-34da5c24b3f6", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAlCAYAAADmxXHWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC70lEQVRYCe2Z7XETMRCGzxkKSIYOTAd8VADpgNABkw7gp/2PgQ4IFYSkA9JBEneAOyCTDszzyJIin2OfGTy24vHOyCutJPtdvdLead2bTCZNW4bD4Vdsf6L9Hn2DbdQet+02mPpgEOuYIt5Lynvs39BNr3QuDv6F/TN1Bzbo76g++th2LQKed2C5oLyirnMNWuzaj6jfH2gsxM5LOoJj0f4Brb0aAd8hYHRMEoJjEZz1sY7ZfhaNDYbAEO0vyabGflS2K6m7FQ/BdtbCI2uZmJI5GbpiQvC6Nam2ZsBaggK3bHoG8y4LzsUOO3NHObGm+hKsOtzQf5XwJucSW0mn/qCZIN21SXnWxGbACxEdvEbMfrkt3b8njiqFQe7vu9K2zTp4JEB23IJBdIbKS8rN1NIcYxu3HwU6ovyeqsateha/MJq2r8Ajrh+Ua8pzyjlFp8WvzdgxmnEO405JuS13yjGd2Tv3VCndM/dUmcvvlut0gDDse+q/PvhHzJt7zv4Prp1+FPQGg8H8bXXBcrGyvQVdGzODYWW8O83c/sxtbM+t+Yf2z7k1L+jGvm7pmSMyeUfyatGn/KR9ujFkHT8EFq89JoleU+5ov2hP6XLOm62pM8NvVSkIMHl/81J6i06XVKoP0nnmmJzeNHJu4mF6FTV316ML3+kcE81N5FxgFe5EEF0Lv4pzMlcra0sXfubMsRIGDvMQZpbMveuUtM8kamnXIi68L9yfIqA36HPaITGbmYsUezhNUVv8MyEljKpjDnxGSxdeQkxiifcj5YK6tmmaIQ5clHt3ZYxMtUkKdG8TvqjFaqov51BkaFHuvTrWBI6EJGxybGoKnzJqui87t1LuPUyt52Mu0OFoYtPcZXOAQU8t7WfFXO7dCRWJ5yo4UWBKN/mw23JAYUBn7r34klqqGXMkSUJO01aVOQ+gnoYII2psj+be7atIDPe+VyYxIPr+m/+zCzdxDG5LX5CleWHunb5qpMAse+K/LR0T6F/cAx7ys17WpwAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\frac{c}{d} = \\frac{a}{b}$" ], "text/plain": [ "Equation(c/d, a/b)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.swap" ] }, { "cell_type": "code", "execution_count": 42, "id": "08973172-d3fe-425c-8690-1e01c04fe923", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAOCAYAAAB0DKHBAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACW0lEQVRIDcWX7VEbMRCGD8YFwKQD6CAfFQQ6IGmBDpK//sckHQQqINBB6CCGDkIHcdyB8zyylpE853CHz5edkVdavSvt161gb7lcNkPQdDp9zTlXjCPGd9bnQ5zb9QzuOwB7w3jLmLM+7qobuElMtuVc/sAZb+BG98e25/XV594FOqfwe/isr774/ZcobdLBkJO8d7cJM4LcCn1RMgYNBkacMh5zlkbwu75i22QMHQwr439WxVbJqHoGkbX5fWE8Mn4zbhlnyL/CK2rBGgRL9KICjrswGQ/Y9ilf+w5+zVo/KkKmn/oo2W9me/GasOlBdmOboMFo4H57yg+Zq5CIeWds6JQc/W+sPaMP6eSHTQrs+Zr8YdjI37NeFLJj5uGTCdevz8hSkODaczThp2HhQQZCQFJSDjmvesAzWA1+Clo6oeUHzC6e3QhuCoTXaku254xlVLeBuEVeVstHZBcpGEwsmQMAl/CSvKBUcq8Ptjxr13P7RVsyTPQrL8e/VAFMq08Z+aH70UCNTNX4AHhIlJTYoD7Y0BmDm7h1H6JafmYDku341lq9k+y0jq+/zSo27D9d0AebL29lnDN4z+AiExdOx73RY+7+YXtgm/hMFJS9wnUqOycc5DdnY5q7hp7ForOOWWnyy94uekZlF3eYYBN6zjxVAlxMa1Wwd7KfgWbfyCZCpvM+k7OVJP2ZG420Ezbrjcnsbf5fEuSD4P9IZR90HtUSuAaMfXCenlYWRvGKYZnZbK4ZRlCQMsvMylCxM1b8WFTYZUVq4z2yMhDJFGT6JP1asYS9RL74C4nKEQp+QaO5AAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle a d = b c$" ], "text/plain": [ "Equation(a*d, b*c)" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.cross_multiply()" ] }, { "cell_type": "code", "execution_count": 43, "id": "7e456320-06d6-4dda-b94d-0b24ec6bbe2d", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADUAAAAlCAYAAADiMKHrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC70lEQVRYCe2Z7XEaMRCGD48LsCcdkA7yUUFCByYdZNxB8hP+ZZIO4lTgjw5MKohNB3EH8aQD8jyLRHQH2PziDoadWVba1cH7aiXd3dKbzWZVlvF43Kf9FX1A/6A36Bn+b9jOCbjEKk7lL3qHb9rLpOi8x3mNvqYtqQp7i9F/StuLOiFgcfLF9pm2E19hv2P62MFRcpxgJeSgIKQfsf2ArzOEAtWc0A24glDyfcBKtDpODtN4wqCL1M/GLJUXZn9rFoyREQB8KUHgP839yBQdWU6yU8sgs5fTXIbabgdW8K1dPUcJvAQidQViL5ZcjWwR33rzCaw1LDlTOsu9ZH+ATm3wZZ6AZq1VAUPOTrY1PMTdLpWZcoDZWIDGd0b/FXqHKgN8TdLzyPY/3ffD5s+Cz3PhUX8c6Thcfj/QX+gL9BKVrAP1TRgTWaPduiQC4vidwIj/Ar+Y56RSYG9MuacOpLo8A4dMdTk7JbZDpsrZ6HJ7LzPVG41G/98Sn5l+bm69Z4ZUjPFG+BPVbipDrnvy5k58Y5yLl8RNf30Xxu3l8juQ2oWlJ8a9zFSuUUQS0sllAeYN+kj/ZQQ6/gFO3/18deqjVytPPwbdE7SGdo7dGQGvx/5w3fKTebNm0WlyEIpXeUBOlkiVwU6zWAZnTSVqlEukCCyCy9d12mOmovJVOygSZINTMvYp9d9iL+l3pqgJFg8E6ycWg6ylS8YtEwXOWqYY7POaQS+ykOEfAx/R6/RFNNsVcDjpHmSWyFUxSlCJTNVI4fQC5R2DozKTrG3LZq0KWJz0dTV/V1dgbpKKAmYOFgz8MktnbYsZWVfzjywJsEnKTC2CDoBgzp71v7Zlo5p/k1Qf1E3wuRpaI7ttdkyuq0Vt3j+Xav7HK8Atysvpi7zonHas1xXjt+1a4Es/HFvGNhjd99Nmpjy2fe7L4qa8YnDzf6sc35pNk+pqcTWFJBKe1rWaf+3Zj0Gm1wdDZ8P2fRcIgSOkwOcWWVvz/wfFihCCuhjgPgAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\frac{a}{b} - \\frac{c}{d}$" ], "text/plain": [ "a c\n", "─ - ─\n", "b d" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.as_expr()" ] }, { "cell_type": "code", "execution_count": 44, "id": "df040ad9-91b8-46cd-a1a4-07482c61916e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAlCAYAAADmxXHWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/0lEQVRYCe2Z7W3bMBCG7SADJOgG7gb9mKD1Bkk2KLJB+9P+V7QbNJ0gHxvUGyTxBs0GDbqB+zw0qVKS3SQIXFOCDzgfeSTl99WRlHQcLhaLQZLpdDqi/AW9Q3+hV+gR/q/YYgV8Yhav8hu9wTcfJnJU3uO8RF9TltwA+wOj/5Cyg4oSMBkMMX6ibCAG2G+YEXa8Fx0HWInZKRDTj1i+w1ccsYBuSewKfIFY9J1gJTzYjw7DekCns1hPxqjlA5N/6xasIUIA+ZyDwX+Y6iFyVGQ7S04tnYxmCnveVEo5YAbn2lm1F0lIJIQyQ+5gSdZIZ+1bK/4Dcw1TipzOfK1ZH6NzC1zMHdMoFiFgSdFKtoaLdpfTwMjZwehU4PEdUX+F3qDKGF+T/LJle7/uD8fNvwen+8e9/vAowOG0/I5eoy/Qc1TSdtQ3o0+IIuViJBIRz88ISh5n+MW+JBcbemfyNbcj16U7sItcl6KVY+115NK7ZU742WW2Yt/7woP0CRebM6713HrC+FbX6pOn1dIDx3Aymfz9Wn2AEHd2+ECXjTeD4dF4ex253Zrb+Fzb0B/0+lHQa3K1NcdO5CeDiaI36D31lxuaMRu5LHj9BvXTbYRerNwt6XRLo7m/U2znBNw+Lo7XTUvvQDOn0gmSEEtvRrMWubyxE2zaIM39hFxrixwNVWN7XCc8Ri5k7GobSoRuoy+xH2P9LfacenHJWTC5cZjnMXnlWYGkXFIhUVuLHJ3dLW10kIkWD0A+oJfxQhTLEPAYBDc+jwBUsUpUCZGrkcPpAOUdnUMGKVrLpvuKEDClR9aqsw1nXcDeJBcSsakxY+LFTPmVIkZo3dlGiJpAm+SMXNVoB4imaJq/LEUedbbRJDcCfZNE+jqukd4WS262s0htPodbZxv7K0BWafN4IQedUg7zeEX/bbkqnBFAWFKWwer+MG9Gzu3e98okvmde0Ll5bpfa/7uNN9lZ5CwLEsm4y9fONmrvlnQy3L54elcs35ZEDDxBMpwuobVnG38A5oobfpOjhREAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{a}{b} = \\frac{c}{d}$" ], "text/plain": [ "a c\n", "─ = ─\n", "b d" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "equality = e.as_Boolean()\n", "print(type(equality))\n", "equality" ] }, { "cell_type": "markdown", "id": "a3916e9e-1c6e-48bb-94ea-9e7ea19d4b54", "metadata": {}, "source": [ "Note that there is nothing stopping us from writing \"wrong\" equations. For example:" ] }, { "cell_type": "code", "execution_count": 45, "id": "a98f38fe-dd0c-416f-b841-b007b2afc264", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC8AAAAOCAYAAAC/10U/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABS0lEQVRIDc2W3W3CQBCEDaIAK3RAOghJB9AB0EGSNvwWuYSQChDpIHSA7BLoAEQH5hvkQcgyCPLA3UjjvR9bN96bPbtTVVViZFmW1+0t8RnmjG08HzKi44X1l3BIey8tPV0EBgrCF/G37qfEgv4YBnkB1pWGH7iDr3AAT+iqxU0fhJR4FF6P6e3U/1Y/BNCzh1P4yfqLpoajeAansGxO0l/DEQ8rA9HB4kco09Y0YbtoPjp0b8zqU3TKEaSCtTB5/BKu2oYEqC7u3Z2S52TXf0Pib0H/2k2IUEE9HPJ8m9ctxLuicz86yPO2S5s1PObCjeoFbJsVqgYtypx5zV9EaM/rs+tfg3ORQzoqLO/O+dypHdLzCYvPUbIjTqyItiwzg+8eCxx9aNgNScc/ZrVYZV9ZVoG+Qf3rtH15mXoMWF+uEHQUK6HSoxr8OwD36WRDC2nYVQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle 0 = 1$" ], "text/plain": [ "Equation(0, 1)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = Eqn(0, 1)\n", "f" ] }, { "cell_type": "markdown", "id": "7683fa5b-0c4e-4e60-81b9-fe287b8bd407", "metadata": {}, "source": [ "To verify if the two sides are mathematically equivalent let's execute:" ] }, { "cell_type": "code", "execution_count": 46, "id": "fd84d214-0b66-449b-96c3-818b20410a33", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAPCAYAAABwfkanAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACVUlEQVRIDdWW21FbMRCGZYYCGKgASsCkAkwHMHSQdJAMT/YbAx1AKgjQAVABIR3EHYS4A+f7BJvRuZhzDsMLO7NnV9K/F61WskfT6XQ3pXQCKzdh6e5Z5O8G3x041rZns9miWG9VwejvO6ztHeOjVuAbJkfL5TKb4XSCcgsb4KDu62X9mvl99F/19VVjsI+szZHvlvRaEWz+ordWkaBW/xts5YbQ0xBwH2yZdB/8FaChSffxOwjTmTQV3oHt64RsPYVBEd8BvN7Dh71ua+SESfxcG+RnRN4Mcss56LTPxsB4SfWrz/BxzPyYcSZ0T9R2/A3rf4O5L8j0atKFYfmaJOYPsT2Dx+j5LiAvGN87B68kcCZ5hqxcdsY5IQ3R3VT2hR7+v6I/wuO29piwcC1jKPftYbG72HXh98DtgYsKM8zkpoP0dQUmHoeE7gnr/7Ct0pU3FVDpLDtl7gZFTugGN5FK5VxrI/D690X5q470mb1Bj7azym7cp7JOPrWf2pKuA3XaIILkY2ZhE/4BPzRAqydsIX/Qos1sl0vYFomTsvW8NyVZwJ+dSWOYK1paMmcwf+2O0HO/I61QJ4EzqSekl0xO6CZ3gTSpaIlbxo3Y4tf8vIGi58oLasUzEey13nZzlQqCv2TOBO11W2ABH8MNYn1SJh0XI2TDoGMiKq19HPEqkxOC1+M4jiLso/sgTEoHjH2x5qPiD5OBDLyAw9h3151XiDlx9qR97HFqa7WiTz1mfTiOwI5tB7Fe2j9wkO+w7RBxE7q43D7IeKttofn/P0xh/RHkP0QG2/u59wGyAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\text{False}$" ], "text/plain": [ "False" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.check()" ] }, { "cell_type": "markdown", "id": "157c1028-9200-4308-b6a5-2c67fb013d7c", "metadata": {}, "source": [ "If the equivalence can't be determited, an object of type ``Equality`` will be returned:" ] }, { "cell_type": "code", "execution_count": 47, "id": "036758a4-190d-4b0f-b3e1-0a44d8aef474", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAlCAYAAADmxXHWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/0lEQVRYCe2Z7W3bMBCG7SADJOgG7gb9mKD1Bkk2KLJB+9P+V7QbNJ0gHxvUGyTxBs0GDbqB+zw0qVKS3SQIXFOCDzgfeSTl99WRlHQcLhaLQZLpdDqi/AW9Q3+hV+gR/q/YYgV8Yhav8hu9wTcfJnJU3uO8RF9TltwA+wOj/5Cyg4oSMBkMMX6ibCAG2G+YEXa8Fx0HWInZKRDTj1i+w1ccsYBuSewKfIFY9J1gJTzYjw7DekCns1hPxqjlA5N/6xasIUIA+ZyDwX+Y6iFyVGQ7S04tnYxmCnveVEo5YAbn2lm1F0lIJIQyQ+5gSdZIZ+1bK/4Dcw1TipzOfK1ZH6NzC1zMHdMoFiFgSdFKtoaLdpfTwMjZwehU4PEdUX+F3qDKGF+T/LJle7/uD8fNvwen+8e9/vAowOG0/I5eoy/Qc1TSdtQ3o0+IIuViJBIRz88ISh5n+MW+JBcbemfyNbcj16U7sItcl6KVY+115NK7ZU742WW2Yt/7woP0CRebM6713HrC+FbX6pOn1dIDx3Aymfz9Wn2AEHd2+ECXjTeD4dF4ex253Zrb+Fzb0B/0+lHQa3K1NcdO5CeDiaI36D31lxuaMRu5LHj9BvXTbYRerNwt6XRLo7m/U2znBNw+Lo7XTUvvQDOn0gmSEEtvRrMWubyxE2zaIM39hFxrixwNVWN7XCc8Ri5k7GobSoRuoy+xH2P9LfacenHJWTC5cZjnMXnlWYGkXFIhUVuLHJ3dLW10kIkWD0A+oJfxQhTLEPAYBDc+jwBUsUpUCZGrkcPpAOUdnUMGKVrLpvuKEDClR9aqsw1nXcDeJBcSsakxY+LFTPmVIkZo3dlGiJpAm+SMXNVoB4imaJq/LEUedbbRJDcCfZNE+jqukd4WS262s0htPodbZxv7K0BWafN4IQedUg7zeEX/bbkqnBFAWFKWwer+MG9Gzu3e98okvmde0Ll5bpfa/7uNN9lZ5CwLEsm4y9fONmrvlnQy3L54elcs35ZEDDxBMpwuobVnG38A5oobfpOjhREAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{a}{b} = \\frac{c}{d}$" ], "text/plain": [ "a c\n", "─ = ─\n", "b d" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res = e.check()\n", "print(type(res))\n", "res" ] }, { "cell_type": "markdown", "id": "11a76d46-3d73-4d01-89d9-acf378b0df44", "metadata": {}, "source": [ "## Solving equations" ] }, { "cell_type": "markdown", "id": "4b9a46b7-a600-4015-8858-ecb32f924661", "metadata": {}, "source": [ "If one or more objects of type ``Equation`` are provided to ``solve()``, then the output will contains object of the same type:" ] }, { "cell_type": "code", "execution_count": 48, "id": "336b7ba7-da64-4384-9a2d-ddc6312cb900", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIAAAAATCAYAAABYzAUmAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADmElEQVRoBe2Y61EbMRCAD4YCSNIBdBBIBTEdQFIB0EEY/vEvAx0AFZDQQUgFPDoIHcShA/J9QtLIxsY3mDtzjHdmLWmlk/atlRfu7++rJuHg4GCZ/ffjGSux3YZ+1+S5873raWCp3rKpVh1i7N20A/1j+tfgaqLN29lpYLGFo3cweq8455D+CrSPBW3enZEG2nAAo/9qRvLNj52ggYWma4Dh84l8M8Am7fwKGFbODMZt1ABZrJj2NyGsZWIHO8hhYfsTXAf7XXbmNq6AYGKU5AvA6F+j3+kXgPyDG8hyC16AnYVWMkA0/l5UWhXHtiqwy2Ah+73LAjTuANHYPv10gFT5WxjudVlxyJJeNvMMMMGQvvm9M20zoMD830AmdqsTrgDk6PR1NvAKQJh0T5ua/4LnoBX7UWkbxhp0J9I+0W6Dfvs10i5Z47dvFpBPh1ZPl1FI9XA2Sm5o1j7qU9BhrqDdhFGLP6P4yFcAk6Y0K1uLtHA30/5i3KM9AUtPz//uQf/GmlNQo5vmTfcKPLUDxL1SqmXLWnDDd1u1Vj5zEfsbAOk6C39rR9o/2lUw6c+gUIfqJeiDVv3InxmkFeDMsXwEB2CBAml8GQ3MR87s30LLxqdv5GvgBM75tDMLCO/Bcj4Qn/PDWa/1mkhO+Tnpxjb21UXKmBr/HHoZDF+gtV04juUjOAAMabBlGD2hLUFBS+adM32VTuKb3qgLTkLbaPTJwLQAjzr8b9C2LmzxXUrbRm+WudjA/T44Zq2RbuQNGBv6O+dHAXPT8vVo20l8JAfQKweq2chMSh15Y+hJCYk2C49OZz+rRYY7Ppzmz6hHgcGe0oRUEwSdxrMeZib8vgBfo054ko8lDtXrRNNECX5YMT/gGOUC5hTab3OWiPv5nUqeCtjDKEqKrbtX4zUAjBgYydCJr5T5LqIORuk0rW2lrcPHUsFJmdYlhzRnh42814z8PmitYBGoY3hHe/eV3+4zfpE3Pvu81hoAsassM3xqbANml35wfFqG1cggYK4Hjg0sP3wJkJdJfCy6iMNkRq8OAE2DW+VePVCqDWgKbDSKfcYKrUNkgObccGTk+TfUMeOtF/IYFD+Qv6yh7KeskJeyxnprQG95spnOk3yE/wGiMU85X+NZxJyBOobMSjOtmVo1urQ/YMX4CNRZzBa+i3WMfB0wfpOAjOpBfRkU9q+hlcaHFPSjroSgL1rXDj+pnW8U4G0sH/8Bs2p2Mdrj8hIAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle a x^{2} = - b c - c$" ], "text/plain": [ "Equation(a*x**2, -b*c - c)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e = Eqn(a*x**2, -b*c - c)\n", "e" ] }, { "cell_type": "code", "execution_count": 49, "id": "d9e9b453-d9e5-4b4f-96a1-69915468e50b", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[ x = - \\sqrt{- \\frac{c \\left(b + 1\\right)}{a}}, \\ x = \\sqrt{- \\frac{c \\left(b + 1\\right)}{a}}\\right]$" ], "text/plain": [ "[x = -sqrt(-c*(b + 1)/a), x = sqrt(-c*(b + 1)/a)]" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(e, x)" ] }, { "cell_type": "markdown", "id": "3bf6ca98-9412-409a-b439-c05d703b0387", "metadata": {}, "source": [ "Differently, if equations are converted to expressions, than ``solve()`` will behave exactly like SymPy's ``solve()``:" ] }, { "cell_type": "code", "execution_count": 50, "id": "cf57a01e-99d2-4b19-b5a0-d463aadf2421", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[ - \\sqrt{- \\frac{c \\left(b + 1\\right)}{a}}, \\ \\sqrt{- \\frac{c \\left(b + 1\\right)}{a}}\\right]$" ], "text/plain": [ "⎡ _____________ _____________⎤\n", "⎢ ╱ -c⋅(b + 1) ╱ -c⋅(b + 1) ⎥\n", "⎢- ╱ ─────────── , ╱ ─────────── ⎥\n", "⎣ ╲╱ a ╲╱ a ⎦" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(e.as_expr(), x)" ] }, { "cell_type": "markdown", "id": "a7fc7a16-32f1-4893-aaed-7e9ff1c897bb", "metadata": {}, "source": [ "Solving multiple equations:" ] }, { "cell_type": "code", "execution_count": 51, "id": "a976b4d1-0448-4ede-81f3-11fb7cbf4186", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[ \\left[ x = \\frac{1}{2}, \\ y = -6\\right], \\ \\left[ x = 2, \\ y = 0\\right]\\right]$" ], "text/plain": [ "[[x = 1/2, y = -6], [x = 2, y = 0]]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1 = Eqn(x**2 * y, -2 + x)\n", "e2 = Eqn(y**2 * x, -3 * y)\n", "solve([e1, e2], [x, y])" ] }, { "cell_type": "code", "execution_count": 52, "id": "6a54bca0-c3b9-4a20-8225-d09d0ac55bf7", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[ \\left( \\frac{1}{2}, \\ -6\\right), \\ \\left( 2, \\ 0\\right)\\right]$" ], "text/plain": [ "[(1/2, -6), (2, 0)]" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve([e.as_expr() for e in [e1, e2]], [x, y])" ] }, { "cell_type": "code", "execution_count": 53, "id": "14e4585d-78d3-48e3-928e-ea4256a21831", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[ \\left\\{ x : \\frac{1}{2}, \\ y : -6\\right\\}, \\ \\left\\{ x : 2, \\ y : 0\\right\\}\\right]$" ], "text/plain": [ "[{x: 1/2, y: -6}, {x: 2, y: 0}]" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve([e.as_expr() for e in [e1, e2]], [x, y], dict=True)" ] }, { "cell_type": "markdown", "id": "c97f0cc8-7767-49a1-9d3a-05d42beb775d", "metadata": {}, "source": [ "## Configuration options\n", "\n", "``equation_config`` is an object containing a few properties to customize the behaviour of the module:" ] }, { "cell_type": "code", "execution_count": 54, "id": "f5e8edc7-b04b-4b1f-a2ff-525f2017b6c8", "metadata": {}, "outputs": [], "source": [ "from sympy_equation import equation_config" ] }, { "cell_type": "markdown", "id": "2cda00c1-3e3a-47df-8a21-867de4e3b106", "metadata": {}, "source": [ "Arguably the most useful options are :\n", "\n", "* ``equation_config.show_label``\n", "* ``equation_config.integers_as_exact``" ] }, { "cell_type": "markdown", "id": "3980a450-e267-435c-8313-19a8bd087cd5", "metadata": {}, "source": [ "### Hide/Show the equation label\n", "\n", "By default, the equation's label will be hidden:" ] }, { "cell_type": "code", "execution_count": 55, "id": "cb9e3d98-4b9c-48a9-8d29-285b2eb6692c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "equation_config.show_label" ] }, { "cell_type": "code", "execution_count": 56, "id": "f9c9a771-f484-440d-88ef-2b1657ed2b86", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAlCAYAAADmxXHWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/0lEQVRYCe2Z7W3bMBCG7SADJOgG7gb9mKD1Bkk2KLJB+9P+V7QbNJ0gHxvUGyTxBs0GDbqB+zw0qVKS3SQIXFOCDzgfeSTl99WRlHQcLhaLQZLpdDqi/AW9Q3+hV+gR/q/YYgV8Yhav8hu9wTcfJnJU3uO8RF9TltwA+wOj/5Cyg4oSMBkMMX6ibCAG2G+YEXa8Fx0HWInZKRDTj1i+w1ccsYBuSewKfIFY9J1gJTzYjw7DekCns1hPxqjlA5N/6xasIUIA+ZyDwX+Y6iFyVGQ7S04tnYxmCnveVEo5YAbn2lm1F0lIJIQyQ+5gSdZIZ+1bK/4Dcw1TipzOfK1ZH6NzC1zMHdMoFiFgSdFKtoaLdpfTwMjZwehU4PEdUX+F3qDKGF+T/LJle7/uD8fNvwen+8e9/vAowOG0/I5eoy/Qc1TSdtQ3o0+IIuViJBIRz88ISh5n+MW+JBcbemfyNbcj16U7sItcl6KVY+115NK7ZU742WW2Yt/7woP0CRebM6713HrC+FbX6pOn1dIDx3Aymfz9Wn2AEHd2+ECXjTeD4dF4ex253Zrb+Fzb0B/0+lHQa3K1NcdO5CeDiaI36D31lxuaMRu5LHj9BvXTbYRerNwt6XRLo7m/U2znBNw+Lo7XTUvvQDOn0gmSEEtvRrMWubyxE2zaIM39hFxrixwNVWN7XCc8Ri5k7GobSoRuoy+xH2P9LfacenHJWTC5cZjnMXnlWYGkXFIhUVuLHJ3dLW10kIkWD0A+oJfxQhTLEPAYBDc+jwBUsUpUCZGrkcPpAOUdnUMGKVrLpvuKEDClR9aqsw1nXcDeJBcSsakxY+LFTPmVIkZo3dlGiJpAm+SMXNVoB4imaJq/LEUedbbRJDcCfZNE+jqukd4WS262s0htPodbZxv7K0BWafN4IQedUg7zeEX/bbkqnBFAWFKWwer+MG9Gzu3e98okvmde0Ll5bpfa/7uNN9lZ5CwLEsm4y9fONmrvlnQy3L54elcs35ZEDDxBMpwuobVnG38A5oobfpOjhREAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{a}{b} = \\frac{c}{d}$" ], "text/plain": [ "Equation(a/b, c/d)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var(\"a:d\")\n", "e = Eqn(a / b, c / d)\n", "e" ] }, { "cell_type": "markdown", "id": "a1799d3c-65d8-47dc-ae0d-ee7561770130", "metadata": {}, "source": [ "When it's True, a label with the name of the equation in the python environment will be shown on the screen." ] }, { "cell_type": "code", "execution_count": 57, "id": "fd9faffc-35c3-4457-911e-f8e8cca3b881", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAlCAYAAABiQ5b4AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFNElEQVR4Ae2b7XHUMBCGLxkKCFABoQM+KiDpANIBkw5g+Jd/DHQAVBCSDhIqIKQD0gGQDsLz6CyfrfNd7sMXy+Cd0UmWLPn1rnZXWvm2bm5uRpGOjo52KX8gXZF+kU5JL6n/SJ4tgU/M4pWuSRfUXYar4afkwFYUNszZo/aE9JSywh6Rn5FZf5+yTMyKwOTkFONbyk7MEfknsl3yfa8HmnBg2yKM2SFT0DItCNp6yPIVddkJOqAbC/oUfEHQRd0BuRNgoIQD94przeAOTPuctKvVVUYmzd1dgjVoMAjeV1FQf796PZQnHAiazaXacD6pLrU9mslqUy7lgBnh5mp1cuFTiWMbZmnCTanpk5kj2muTwLquaQ7mrqFl/fyo2YKs+mqvXeCEFS3MdUWulmdBYInaHPMaLtp1PwMlHFCzZZjaWwqTupdcPyFdkKR96tLJMG7p7tf1xav08eB0/fE7re/zNe9UymbR92jqE7ZeNGjGv5C+kx6SjklOAhln3Tn3ZLdvBZP4pJ/jLLijz9Q3anxxT68y3uUNgN0RLbVQ5n6t2xPyMkZS7rN7xYH/BCyC0sI+J3+7yivTz4lyTR52WYOwV+HiHfRBQFrbb+RP13kc/X/Q/wX5dXWBts6YQ9/2OaCLMpawLjlGcHeDZq/Lyg31RxP/kFoJEDkWMB8Nmr0hYa0zLMLRV7e5+3GsgxguXQfb0Ld9DhjjmBvMYkLo09+R4mnfY8qebTTtRBxrfyPC5oH6iWUDG5f0m9o3M87/SM946Zn+Gj7JW9tfUY6BL+MiCr9p5e7WdG9Twj5k8IFW54Ba2xgYQrgGWAxtH0ZBF49xAqQh76IpjLV7jw6Trxdi04yce7dmNN1Zdd/wrsiYB/RrMscOFzXeU0r30ZKBsDOuZ5l+ffaOwu5cgKJdlPqGd9H3WuI+Ndgz/DIytkDfMHk2ZcadfYJahgafPeGWJlxTPosMYS9DwS1sStiDz15GFNP3anb1zU1km2Z7itB2TyebYuhq9tVGhD2FYqhYlgOusJ/P6GQ0rKZMCFjNtT5Eyhr6GXK9HITdwJkMqo7B4DeBU4RgPdVzcaZgy9M+rmsTIOmoSz2shUsdhEof4j7vN9du1HtD4HWv6VGtJvDrLQzI+r3AriDLffSqYBknbNXIH29XB6HC4zCjN/qFWcv4apesymB3kafJctLO2nNmhXkOGDV3nrbO6VprMsgSzHtN2JVb1JBeMgtha7Kk3k3WMezxL+/hGbTfv6uZK1HR1zHCefaUsGnoO7OCZeI9rlfiUF6dDB/HIMoqyOxbWocpYdPYd2Y5WXut1VGqxYQ1LBojZbHp1rzoY19dcqDaAs0aGv2ywRvixt0twDH1Tfs3mrojMGni9Efi9fRHIYvfhU12eMHVKdU0Gwa5sNFfy0SX+IbkXpNOCsZSzIPAowYrWI/1TGINCxHyf0KzeY9WqSZsRo7+Onyz5JNgor7P5IF6FgQmJ6VbxKb/prkiF+9ACQdSYeuvm5glcxtDdMl4d3WpBhtYCKvMykP/GX9deafWiqmwp5gFQ6O2Rx/e2sPXGOiAvjVTXWi77qeXW8Y1eLFw11TYMisVavx6pMbchZ/Q8o2FULU0qVCdACPas8DZ8mu3MlwqbActl+oFY2WiS/jc/GCJs+BEcEGWwZrVf9MKfJ1nqbDdrhgXj+QiyBhz6htj+53nxaRTe7VCgRQuBXcRF+OaLP+bVkDrLqvts2Ga5vELSa2x/CMnQYMnUAWnLseF4zFJy+PCzbos/5sGrk7pL61otQoDOnxRAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\frac{a}{b} = \\frac{c}{d}\\qquad (e)$" ], "text/plain": [ "Equation(a/b, c/d)" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "equation_config.show_label = True\n", "e" ] }, { "cell_type": "markdown", "id": "52e6bbdf-5cf8-4633-a499-f7d182474731", "metadata": {}, "source": [ "### Integer as exact\n", "\n", "When it's True and we are running in an IPython/Jupyter environment, it preparses the content of a code line in order to convert integer numbers to sympy's Integer. In doing so, we can write 2/3, which will be converted to Integer(2)/Integer(3), which then SymPy converts to Rational(2, 3). If False, no preparsing is done, and Python evaluates 2/3 to 0.6666667, which will then be converted by SymPy to a Float." ] }, { "cell_type": "code", "execution_count": 58, "id": "17921522-ce6f-4e66-8ccf-496de210f4e7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "equation_config.integers_as_exact" ] }, { "cell_type": "code", "execution_count": 59, "id": "6e9d7f64-790f-4f68-b606-d690fab70822", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle a + 0.5 = b + 0.75\\qquad (e)$" ], "text/plain": [ "Equation(a + 0.5, b + 0.75)" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e = Eqn(a + 1 / 2, b + 3 / 4)\n", "e" ] }, { "cell_type": "code", "execution_count": 60, "id": "de08ad16-4357-41c2-b412-fb7cecd32e0b", "metadata": {}, "outputs": [], "source": [ "equation_config.integers_as_exact = True" ] }, { "cell_type": "code", "execution_count": 61, "id": "09411306-2ec6-4718-8c87-fac6062ecc87", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle a + \\frac{1}{2} = b + \\frac{3}{4}\\qquad (e)$" ], "text/plain": [ "Equation(a + 1/2, b + 3/4)" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e = Eqn(a + 1 / 2, b + 3 / 4)\n", "e" ] }, { "cell_type": "markdown", "id": "01bf8552-ba93-4445-ae0a-e154a68fb980", "metadata": {}, "source": [ "It is reccommended to set this options to ``True`` only when executing purely symbolic computations, not when using other numerical\n", "libraries, such as Numpy, because it will create hard to debug situations. Consider executing this: ``np.cos(np.pi / 4)``.\n", "If ``integers_as_exact = True``, this will raise an error because 4 is first replaced with sympy's Integer(4), then\n", "``np.pi / Integer(4)`` becomes a symbolic expression and ``np.cos`` is unable to evaluate it." ] }, { "cell_type": "code", "execution_count": 62, "id": "c89f8daa-80fc-42ad-8c5f-0ffab7d8c060", "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "loop of ufunc does not support argument 0 of type Float which has no callable cos method", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mAttributeError\u001b[39m Traceback (most recent call last)", "\u001b[31mAttributeError\u001b[39m: 'Float' object has no attribute 'cos'", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[62]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnumpy\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnp\u001b[39;00m \n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m \u001b[43mnp\u001b[49m\u001b[43m \u001b[49m\u001b[43m.\u001b[49m\u001b[43mcos\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mnp\u001b[49m\u001b[43m \u001b[49m\u001b[43m.\u001b[49m\u001b[43mpi\u001b[49m\u001b[43m \u001b[49m\u001b[43m/\u001b[49m\u001b[43mInteger\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[32;43m4\u001b[39;49m\u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[31mTypeError\u001b[39m: loop of ufunc does not support argument 0 of type Float which has no callable cos method" ] } ], "source": [ "import numpy as np\n", "np.cos(np.pi / 4)" ] }, { "cell_type": "markdown", "id": "3c043975-8021-4895-8b6f-9c6a1479dcc8", "metadata": {}, "source": [ "## Example 1\n", "\n", "Given the equations of the volume and mass of a cylindrical pressure vessel, rewrite the mass in terms of the volume and the ratio $L/D$.\n", "\n", "Parameters:\n", "* V: volume;\n", "* M: mass;\n", "* D: diameter;\n", "* p: pressure inside the vessel;\n", "* sigma: stress level on the thin walls;\n", "* rho: density of the material." ] }, { "cell_type": "code", "execution_count": 63, "id": "abf1f2ee-1511-4801-a888-1d72797c6eef", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle V = \\frac{\\pi D^{3}}{6} + \\frac{\\pi D^{2} L}{4}$" ], "text/plain": [ "Equation(V, pi*D**3/6 + pi*D**2*L/4)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle M = \\frac{\\pi D^{2} p \\rho \\left(\\frac{D}{2} + L\\right)}{2 \\sigma}$" ], "text/plain": [ "Equation(M, pi*D**2*p*rho*(D/2 + L)/(2*sigma))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "equation_config.show_label = False\n", "var(\"D, L, V, M, rho, p, sigma\")\n", "Veq = Eqn(V, pi * D**3 / 6 + pi * D**2 * L / 4)\n", "Meq = Eqn(M, pi * D**2 * rho * p / (2 * sigma) * (L + D / 2))\n", "display(Veq, Meq)" ] }, { "cell_type": "code", "execution_count": 64, "id": "151d16cc-8482-4f17-b074-b82109e1be22", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIQAAAAqCAYAAAByUvM5AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGjElEQVR4Ae2c65XVNhCAd/ekAAIdLB3AUgFLBzwqSOgATn7t/tsDHQAVLNABUEESOoBUEEIHm+/zWo4f8vM+LAfPObLskSyNZkYzI0v3Hl5dXR20wfn5+TPKnpDu5HU+kr8C/z5/zjKeLX9HOiZ9JX0E95R8hZk5kMvwHmQ8zEn5TK6MPlD2OscV2WGXQliLl26Q/UP6zP1dcTGg7BT8U/JHsfIVNy8HkIsz/yv57S5KjroKLaOB72QmZ38XrMrQxZ0Zy5BhsPAVyx4jqVch8pc0MVqKKNChruUiWrgiU+CA1lv4cJ21X8cohNaiYSVy3C1yfdMKaXLAOFD5GQN2wk+dpf8VaiEEFSLcZwguL+hocXEDNL+A9l9JrZaPstfUSyI43pBeXcagCTtUIb7QoFCxEBApQ19lJQu65MyVYhVZhTAKvySd5M/ZTKLeICbyzk5hE3p5N7iLXuvgIIYqRLAKRYRKRyrHbfLG0mWn3Nmwceh1tvxOngVY5MY/LqWNwGWeS+YkFMGhQsum9D6wHaA3frDSUIX4w8pAiFa9X6qrUNhlgT+A6S8dEKClSErBc+XchN7MQtBOq4Wg7AbJleTBkZc+CJWpl7kMnhfpKurjZBwqeMaIvOxOaaz16rM/T6TXMZYVqjKOXJY3A3KQQuSVdRvHNKDP1VW0alxofAG5AWPZlGYKnzDdo+hFRpl1YDzGR22ghQwhwTALkbcUXnpHA8/bWl8KnjGo2Fq6t2WaS0wso2e/n0hviB+ik5c2jZ/KE2KSQrhc+z+AymAgWXYZjiswMbUxTqE3279gjA2XAU45mioTYmhQKXP+JLkuj2qbFRYGCr5u6Xo/7c44xkH0Ih8t3xuS7i/EfG48BhAXFgfvqV+ZEL2bW6GVNf8xOHD0YwxzHeVQDqwKMZRTE+phjk9J+v7FwKoQuxWV/ty0GFgVYjGi2g+hq0Lsh8+L6WXMsnNvg8LvuoMavrIN7dcjfovbhh86uH3VS1UhkjiDsC8hpNTP4dnZWfux6x1Qyiw+3EGzg5uk/9Hj7aOZ8jaLFjaNvkUI7LVoU2iN9DMKtX6YGsWucZURqJ+O3RAM2+vjGpihdqouo23GdbGod8Z1vbyWXXMgVYVYY4iZNHSrCoFpPGYcpyR9pveeQLoA39htA79CghzYqkIwPrdT3VLOjqGRu9/+ifQzaYUFcKChELkQ3Wp1pgtud4ct0vAZ1ufn1A2HZqwnXFxnxfUWd7EIu6iQwg3jqJ/xuASXrFWDNrev/aVc1LWCdyJOkmFMIYyIX9KoyzMDNRuuADg3bL6QPyIVZwi4rzPRKLvO7Epbcz5Ar27NswIqd3bOg9xnU3HCnPup4MQJk2lqG7H3pK/O66IeY5gsw+inaxoMBygui15KN5TrEkwexGgA5c9IHqjxeHtSp5hrxMpYrUH50I9WsG75aq8Ne7TdbY+f9pz9vUC9STKMKgS9ld1FW+cy0+Pbje1dcGrofZIHOAcNoK2TXeGhS+sl0yoKC16aG1ZxV3SMaRe6pHeo1ZkkwzaFyBgCAa1mCcLCLIqaVt6VcI+o+fuNoK08JgP63+85nckQ1UPIE+itKHBH/UkybMQQeQdqV9mMxvrVtAr64QMI9fkv0n3ugyKpFMIJKeAyRAIXaXJFpLL6Y9i/SSq3p8r7xk61/QI0aWnH/GxytAwdUcNC5AyyrHI8W0QNZKiQWQreU/jfwrMFgESJf+tDYqACCyfQblBpIK3VUCF0J8kA9DjptGbBKnfSRr1gkUfJ0EZjFkIhCn2zJPjZcqduP/8GQc42wQ9Td3kOliJDzn2BnqAM/lKrboJV3jfgDQhTodslZv2EeBcbJ8swphBDfI/EOIvU2kJxuNctpOYapLUNYjPO1ZGBshawGFtbA7vGw1NpGeMqJGmyDBsug8bUrk5G5ETa8RittX4SAP1h5oc8RlcWG8UK9oWDTmlwJRdT3C4yJsuwYiHouNf3UEdz68emra+xu0a4gzKVvkvoY4WwAxIz+u7Bc5f4ZVBObquLNzAuJib3G8mwohA0rmYJXRYiEBFiiOs3lnfVDNcZ7Sj8p72KKxQ5ByBc5dCQBXj/FdAJGTsyuJEM6y7D5dcBHTXiAHD+xsB/klEjW/+e0PeXAIzBT+4ytfi0zr3W7zHpl8THIJ2mGGwkw+zEFIxwpthB0K5ifyLH27Em1I9MKZhS6dkK5AoRmHuTRpPdrodWrZpuriwn/w3HJfNWZPgvIalzGS4qvh8AAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{V}{D^{3}} = \\frac{\\pi}{6} + \\frac{\\pi L}{4 D}$" ], "text/plain": [ "Equation(V/D**3, pi/6 + pi*L/(4*D))" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Veq = (Veq / D**3).expand()\n", "Veq" ] }, { "cell_type": "code", "execution_count": 65, "id": "69815825-a1f0-42cf-b136-fb25b8af725d", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\frac{V}{D^{3}} = \\pi \\left(\\frac{1}{6} + \\frac{L}{4 D}\\right)$" ], "text/plain": [ "Equation(V/D**3, pi*(1/6 + L/(4*D)))" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Veq = Veq.collect(pi)\n", "Veq" ] }, { "cell_type": "code", "execution_count": 66, "id": "d9d6f371-517a-4215-92f3-01edb4ce78ec", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\frac{M}{D^{3}} = \\frac{\\pi p \\rho}{4 \\sigma} + \\frac{\\pi L p \\rho}{2 D \\sigma}$" ], "text/plain": [ "Equation(M/D**3, pi*p*rho/(4*sigma) + pi*L*p*rho/(2*D*sigma))" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Meq = (Meq / D**3).expand()\n", "Meq" ] }, { "cell_type": "code", "execution_count": 67, "id": "bc0b94d1-063d-4eba-b6fd-adf7db5f361c", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\frac{M}{D^{3}} = \\frac{\\pi p \\rho \\left(\\frac{1}{4} + \\frac{L}{2 D}\\right)}{\\sigma}$" ], "text/plain": [ "Equation(M/D**3, pi*p*rho*(1/4 + L/(2*D))/sigma)" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Meq = Meq.collect(pi * rho * p / sigma)\n", "Meq" ] }, { "cell_type": "code", "execution_count": 68, "id": "bc5f66c4-37f2-412b-aa03-f9918cc5eca7", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle D^{3} = \\frac{V}{\\pi \\left(\\frac{1}{6} + \\frac{L}{4 D}\\right)}$" ], "text/plain": [ "Equation(D**3, V/(pi*(1/6 + L/(4*D))))" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# isolate D**3\n", "Veq = 1 / Veq * V\n", "Veq" ] }, { "cell_type": "code", "execution_count": 69, "id": "616fe770-e67c-478c-8552-cf7c4216d39e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAARgAAAAxCAYAAAABWrbGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAMeUlEQVR4Ae2d7ZXcNBSGJ3umgLDpIHQAoQKWDiCpIKEDOPxK/uVAByQVAOkAqCAkHQQqIGwH4X20uo5sS7I945m1Z+49Rytbn1evXl192OO98+HDh42LI+AIOAKHQGB7iEKPUeazZ8+eqJ6/5f/RrU9hdxX2UO5bXX/ejV/ivfS8Ql+5r+Veyb1W2E/yR4vS/yxHGS4zIiBMnWsdPMdy7aKTbxW3ahyD8HP5OePymeIgBEYGtwqJbXktZa91/Y3cJOMSG/mj8v2+igavREnh6VzL99Uorq3OwKjDMRo/yM/O1Ap/K8fg/DuPy6JDv5J2PaM5VmO1mzb/Jv+7sXk8XRkB4ehcK8AzlmurMzBq729yPxfavfZgtkl7rUDU8S9UBlvD1azeFtxpzrVK54zh2ixnMKqILck3cgwQhCU+5whFUTyz7I9y13LM2r+MyHNf6R4oHTP9SYnaxNYO2XkFc5M9/MUAv5SjT1x2QED94Vwbh1uVa7OsYNQZL+KgN6NC5xQlDqYvYgKM0aBBimm/l88MfYqCceb8ZY6tHRh9rbJ8FbM7U5xr47Crcm0WA4MeIjNGheU9K5JP5WrywCKVb8qMzUppry2E1TvFl45XctR9SMmev6jeu9Q/pWKlpw/eyvEkzWU3BJxrI3Ab4tpsBka6MAgwFszAjQHRdUukEB33q5ylb8WXbpTPthB/ldIcMJyVwKFXA+CRM54/KHyXNpPHt0gCYao416YiFviZ5dqcBobHxhgXiM1qpieKJ5w0l3IM2NyAUnBWGIC898LsfFKSELq1mlM4j0jv79jmd8pbNPQnBeD8jXGuTcO0yLWtlSMSc+DK6qI2U3PWkn08bOXIp7JSGZwL/CRn243WgErKyF1yZjNoXFQ2RgwdIQmDk3b9S73yFyfSi8PuR1Exnv5wCX4YB1Ztux5os0Vie4UbxE1pjy7SazTnlBYs6FN48FiOfub+Xrx+nGunwkjD7AoG5PleYUPnXM41ATVBilzbUogAp6MROgJyA/AvcpCc+2AIlI6CeqJwOu5NjAidR5hc05G6Zja2A9owaBSWLa9XwU0AerwvxDXBsU4O6FYh0hfDdwjjZ1jRN1NwPgpuavdUzj1SHowDj47/lHsesdvIpyzCW8Y4hmNgw6QoH2MDTz+Rq4lzrYZOP67ItQuBzszAa+l0HoYEQvLKOaQMxoXreK+grNBxthoxo0K5QZSXcjbyr29Cwsxj6WPQoHepFJZ/MLEnaLACt0WJeDCJc5Y+NgJ+slV+lTSKVTMcbETxTGismNMVN9v3MYfmzrUGyVEXNi57XNuqAzAk6Qz3lcJsRmUlY6uOWk2cv4R0lCdHWohg8sTKlE84BmfK+QvlkMcsJfc9UdmDv9xUmju9jDFAcTzTbxE1RgXgFJ+S1Yqhvaz8qqI0g7pVC6hEquxcm6pYVYo7eJT0nco5DIpxFOP0vKMk3NgoTbodfKmg7krWOBnSd8pIb1fLNWFwbJ6BW5Fr2xRVKUfnXSdhnyksvU+iqpfkCY+qlZ+ZJJ1tbABPXcFQZs9CplqortxAS5NUr5U/Z0A2sQ1s+czwVsvJRSrvXrrlyhwIM6yKnT+Q/yjRwmWQc0oTOCi/xB22RteddHcV9munEZbfjFUnurldLdeEwbF5BmhFrl00kN5cMMDSlYVZ/E6yj7dqEASx8xeLYJvEgKSTN/Jt28StkWGok0nrsjsCAXtlZ7AsWaZwDu7kniRiOFJjwoqSlWW37Rymkz/lo4Jc9kSgyLWtFSzQScTTndYBmMKv5GqrDTo3XaFQJB1IeLM1IjAK4bXyLF3Xp0xrSDeudy+dOfj7N0Ywu43Z6vXKOWSAdHoj1/uchMLAiOU9PnrbQKH9GH3Oy4YMdHFWUf5FiNowlXM97qgMOAs+6XYol46JENfDW2FdmcQ1yyxdsv1p8cfyI668P4XYIqH3lE3p5uAZdRS5tiU2Ch2Vmx2YNWoGgUer3a3Da+Xpbo02SkcHQ6p0laTbUUKZBlo1g+phRQWgzGLUyf2iDIz04vE0uvVEcX/IQQxWga1tWwwPRNZ1bSYmf7Nt6FWyjIDRnFNb4Q14NVu+iAWG5UtdY2Q2MR1tv+QeiWE8ZYKrQ4aZLKO5RmJE5Rb78ybFUf/yKYWGN7rmbJEx0HrDXuFz8IyGFbl2QWwUDEk6CxDcXZnEpAFQPgvA6T2DAMJDFhM6kVk2DAD5V3J0MA4JjxsVBmnGCmVyiFfNo3hWLn/JD0SKPm1bjEgnZo6acUDXrGFXXvKxHYA0NWGmrk0MtbzHipvCOTBD4M53OF0ziHgokRqNXDo4we/dxk4yo7imMoOo3DH9acmP4T+JOlldtJ9xmpvQ9uUZdRS5tjUNVHlvECqs+HRkIA5iN+RW2ta91TnFpww5ZqkHadmZMjB0kAmrCqDka3TJpD9qkHTBQKLXENkh7eOCchj2h4U4CwanISNkaW/FFxZTOEdaVqQM/tSgdHW3dBji7sq6mzZ7D1/kxnBto3Rj+zNb14ECMbw8kh8j+/KMOopcS1cwY5S57TTM3D1SmlKxs+lw0uBjWFgupqsrBU0WyIabQ5hdqsRXPMbR9M/VyVL3fS6CMOUnL0YMvE5FGAhjJoqx6YZwqXItyTzYn0naMZd7c039zxv3KV8xOOmj/qCH0uzFMwpRGVWubUNN6/nDjMxbnN2tnLXgMl68U8PDLCeftP/JZ1Ya2pZYOS2fvK2AHW9UTu9cqlAUgyR3HmbJia/N4qxuXqm+lGSWd3W+2gGJGQycjRRlbLpiAe2IIa5tVN/Y/myXXLlTmbNwzapQeUw06Jk73N6XZ1RT5dqqVjACi0GFoQCwnijcDEizPFSYDTLAvDWRHgyQy0THmi6swLJEU34IQ1klI0u5xNXiSbMKUXvpayYVhE+l1lajD26S5bGLcaM81TPEtSn9OarOuROpDejI+Qsvwto4SKvZl2eUVeXaNq1tJdePpSeEKx1AY2RsJZM2yYxPGnbMa2bhT9XRdDjC/Sbe81ONtD0Yw5KBCG+oKn22PQpnAPJTj2w8da5JIi4pNjX1mVg49M0Nplq+UlyNa1P6s1T+wcKFQZiE5GNENvEeP+XFzjyLZQ5y7c4a/y+SQGJW+0J+bxAqjEZjscNjOvnM+Dzxaj2iA6DbFOkDATis/UTXzYBIwjFGDRl0DaF5Cve7rrNnODEvxiWQSmld9kRAWBa5lhYdse/1Z5rmWNfGA9WXjg/GA0/gAtcSfSfzjHZYHfKrXFulgYkNxJBwTtHbSiiMR5j35HjRDsPSAKvrWxfph+50DOTlaRJGgzMT9H4kh1FMjQjGBeHAujE6N0Ef/yqOc4NFtfWjduu9Eq5FrtGqGN/rz9tqsfT5T3UbZxo1FB5+RiB/L55RoMoYxbXVGpgGNb+YHYFInqlnVqN+9Dm7sl7gohFwA7Po7nHlHIF1I3CxbvVde0fAEVgyAneePn16sO9HLLnh56qbtj+38XP+FtzSwTnXQuR0b3yLdLp9u3PL/AxmZ+g8YwcBNzAdQPzWEXAE5kPAz2Dmw9JLcgQcgQ4CbmA6gPitI+AIzIeAG5j5sPSSHAFHoIPAGn+L1GlC+VaHlekbiyTkrV9epW/9tkX34ecEirsvx5uy/KAy/NRA1y6OgCOwIwInf8grQ8Er07w6zZumuZ+sB+gUx5urfFKx+JGtkND/OAKOwGgETn6LJIPBj7twrE5q4salho7HOQI7IHDyBiZiwran9+Mvw0tGiK3Uc7t33xFwBOZB4JwMzEaGpLeKiWH35Ne+EDcP2l6KI3BmCJz0IW/Sl/aJAwyMXVs0n0DwcxdDw/1ZEBCnWDHzcbGHcrnVM9/NPfkHCeeyguFDQEhrBaMO5jsffNfCxRGYDQHxiqeS/8QCmbxwnAPyFJMHDc0H0XR90nJuK5jmq3YiAcaGr3kN/fuQkyaAN25eBMQnVit80pV//Ne8DqHrS4XxisRZbcXPxcDwrVaEmcXEt0aGhPtzIsC2iC8tNsYlFt7dms9Z52LLOostkjqb5SkStki6963RDR7+d34EStxicjs7I3MWBiZyiM7l32eyhGVr1PuWb0znniOwEwLiVJjAlDnHLb61nAvfqa61ZDqXLRL9EQyMfP7DQPVL6GvpPNdzcQi8jxqZH27FN1YvGJ8vY/zZeOe2gqFj7f8SnU0ne0OPg4AMiT0purIa46qGfzfD/0u3rbpFn7x/TiuYN+pN3j04u2XqybN4WQ3kkTQPEGy7xL/PKf1nxWVpfgBt/gf5sQuNhl1taQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\frac{\\pi M \\left(\\frac{1}{6} + \\frac{L}{4 D}\\right)}{V} = \\frac{\\pi p \\rho \\left(\\frac{1}{4} + \\frac{L}{2 D}\\right)}{\\sigma}$" ], "text/plain": [ "Equation(pi*M*(1/6 + L/(4*D))/V, pi*p*rho*(1/4 + L/(2*D))/sigma)" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq = Meq.subs(Veq)\n", "eq" ] }, { "cell_type": "code", "execution_count": 70, "id": "4eee928b-96c0-47fc-b309-31535c575cc6", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\pi M \\sigma \\left(\\frac{1}{6} + \\frac{L}{4 D}\\right) = \\pi V p \\rho \\left(\\frac{1}{4} + \\frac{L}{2 D}\\right)$" ], "text/plain": [ "Equation(pi*M*sigma*(1/6 + L/(4*D)), pi*V*p*rho*(1/4 + L/(2*D)))" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq = eq.cross_multiply()\n", "eq" ] }, { "cell_type": "code", "execution_count": 71, "id": "7407ae87-4fcd-4856-a707-dd329317b8ef", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle M \\left(\\frac{1}{6} + \\frac{L}{4 D}\\right) = \\frac{V p \\rho \\left(\\frac{1}{4} + \\frac{L}{2 D}\\right)}{\\sigma}$" ], "text/plain": [ "Equation(M*(1/6 + L/(4*D)), V*p*rho*(1/4 + L/(2*D))/sigma)" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq = eq / (pi * sigma)\n", "eq" ] }, { "cell_type": "code", "execution_count": 72, "id": "3367005c-e71c-4ed1-b7df-8815bfc802d3", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle M = \\frac{V p \\rho \\left(\\frac{1}{4} + \\frac{L}{2 D}\\right)}{\\sigma \\left(\\frac{1}{6} + \\frac{L}{4 D}\\right)}$" ], "text/plain": [ "Equation(M, V*p*rho*(1/4 + L/(2*D))/(sigma*(1/6 + L/(4*D))))" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res = eq / eq.lhs * M\n", "res" ] }, { "cell_type": "code", "execution_count": null, "id": "121b1549-6e0a-4687-9e2e-8630f04d2677", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.7" } }, "nbformat": 4, "nbformat_minor": 5 }