{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# [Goulib](../notebook.ipynb).expr\n", "\n", "math expressions\n", "(see [polynomials](polynomials.ipynb) for more)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from Goulib.notebook import *\n", "from Goulib.expr import *\n", "from Goulib.table import Table\n", "from math import pi,sin\n", "from Goulib.math2 import sqrt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Expr can be created from:\n", "* numbers\n", "* text (python-like formula)\n", "\n", "Expr has LaTeX representation in notebooks" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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2rXL77hnzpwx48aNM5GRkSYyMtKMGzfOnD17tplWVft5HD58uNp6jTFm1qxZJi4uzly9erXaMd99913Tp08fExERYdq0aWMSExPNK6+84vcRI82prms8cuSIGTx4sImOjjZhYWGmW7duZsqUKdU+kytYz2FBQUGN/6YlmcOHDxtjAn8Of/e735muXbuasLAwk5SU5Lvyasw3V54nTJjgN37t2rWmR48eJjQ01PTs2dOsW7fOb39tnpPNqS7r69q1a43nas6cOcYYYy5evGjS0tJMhw4dTGhoqImPjzcTJkwwR44caeZV/X91Wd8zzzxj4uPjTVhYmOnQoYNJS0szW7durdMxA6Gu/0b3799vJJn333+/2rFa2jm80feIa2uaMGGCGTJkiN99Nm/ebO677z4TFhZm7rzzTrNs2bJqx21p5zBYOIz5v9+iBAAAgBX4HEAAAADLEIAAAACWIQABAAAsQwACAABYhgAEAACwDAEIAABgGQIQAADAMgQgAACAZQhAAAAAyxCAAAAAliEAAQAALEMAAgAAWIYABAAAsAwBCAAAYBkCEAAAwDIEIAAAgGUIQAAAAMsQgAAAAJYhAAEAACxDAAIAAFiGAAQAALAMAQgAAGAZAhAAAMAyBCAAAIBlCEAAAADLEIAAAACWIQABAAAsQwACAABYhgAEAACwDAEIAABgGQIQAADAMv8PLmb0lcKmknoAAAAASUVORK5CYII=\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${243}$" ], "text/latex": [ "${243}$" ], "text/plain": [ "243" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Expr(3**5) # is evaluated before Expr is created" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "as LaTeX (default) : ${3^5}$" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "as math formula : 3^5\n", "as python code : 3**5\n", "evaluated : 243\n" ] } ], "source": [ "e=Expr(3)**Expr(5) # combine Expr essions\n", "h('as LaTeX (default) :',e)\n", "print('as math formula :',e)\n", "print('as python code :',repr(e))\n", "print('evaluated :',e())\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "as LaTeX (default) : ${5^3-3^2}$" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "as math formula : 5^3-3^2\n", "as python code : 5**3-3**2\n", "evaluated : 116\n" ] } ], "source": [ "e=Expr('5**3+(-3^2)') # ^ and ** are both considered as power operator for clarity+compatibility\n", "h('as LaTeX (default) :',e)\n", "print('as math formula :',e)\n", "print('as python code :',repr(e))\n", "print('evaluated :',e())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Functions" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "an Expr may contain variables : ${x^2}$" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "and be evaluated as a function : for x=2, ${x^2}$ = 4" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "e=Expr('x^2')\n", "h('an Expr may contain variables :',e)\n", "h('and be evaluated as a function : for x=2, ',e,'=',e(x=2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "all functions defined in math module can be used:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
absabs(x)abs(x)${\\lvert{x}\\rvert}$
acosacos(x)acos(x)${\\arccos\\left(x\\right)}$
acoshacosh(x)acosh(x)${\\cosh^{-1}\\left(x\\right)}$
asinasin(x)asin(x)${\\arcsin\\left(x\\right)}$
asinhasinh(x)asinh(x)${\\sinh^{-1}\\left(x\\right)}$
atanatan(x)atan(x)${\\arctan\\left(x\\right)}$
atan2atan2(x)atan2(x)${\\atan2\\left(x\\right)}$
atanhatanh(x)atanh(x)${\\tanh^{-1}\\left(x\\right)}$
ceilceil(x)ceil(x)${\\left\\lceil{x}\\right\\rceil}$
copysigncopysign(x)copysign(x)${\\copysign\\left(x\\right)}$
coscos(x)cos(x)${\\cos\\left(x\\right)}$
coshcosh(x)cosh(x)${\\cosh\\left(x\\right)}$
degreesdegrees(x)degrees(x)${x\\cdot\\frac{360}{2\\pi}}$
erferf(x)erf(x)${\\erf\\left(x\\right)}$
erfcerfc(x)erfc(x)${\\erfc\\left(x\\right)}$
expexp(x)exp(x)${e^{x}}$
expm1expm1(x)expm1(x)${e^{x}-1}$
fabsfabs(x)fabs(x)${\\lvert{x}\\rvert}$
factorialfact(x)x!${x!}$
factorial2'factorialk'
floorfloor(x)floor(x)${\\left\\lfloor{x}\\right\\rfloor}$
fmodfmod(x)fmod(x)${\\fmod\\left(x\\right)}$
frexpfrexp(x)frexp(x)${\\frexp\\left(x\\right)}$
fsumfsum(x)fsum(x)${\\fsum\\left(x\\right)}$
gammagamma(x)gamma(x)${\\Gamma\\left(x\\right)}$
gcdgcd(x)gcd(x)${\\gcd\\left(x\\right)}$
hypothypot(x)hypot(x)${\\hypot\\left(x\\right)}$
iscloseisclose(x)isclose(x)${\\isclose\\left(x\\right)}$
isfiniteisfinite(x)isfinite(x)${\\isfinite\\left(x\\right)}$
isinfisinf(x)isinf(x)${\\isinf\\left(x\\right)}$
isnanisnan(x)isnan(x)${\\isnan\\left(x\\right)}$
ldexpldexp(x)ldexp(x)${\\ldexp\\left(x\\right)}$
lgammalog(abs(gamma(x)))log(abs(gamma(x)))${\\ln\\lvert\\Gamma\\left({x}\\rvert)\\right)}$
loglog(x)log(x)${\\ln\\left(x\\right)}$
log10log10(x)log10(x)${\\log_{10}\\left(x\\right)}$
log1plog1p(x)log1p(x)${\\ln\\left(1-{x}\\rvert)}$
log2log2(x)log2(x)${\\log_2\\left(x\\right)}$
modfmodf(x)modf(x)${\\modf\\left(x\\right)}$
powpow(x)pow(x)${\\pow\\left(x\\right)}$
radiansradians(x)radians(x)${x\\cdot\\frac{2\\pi}{360}}$
remainderremainder(x)remainder(x)${\\remainder\\left(x\\right)}$
sinsin(x)sin(x)${\\sin\\left(x\\right)}$
sinhsinh(x)sinh(x)${\\sinh\\left(x\\right)}$
sqrtsqrt(x)sqrt(x)${\\sqrt{x}}$
tantan(x)tan(x)${\\tan\\left(x\\right)}$
tanhtanh(x)tanh(x)${\\tanh\\left(x\\right)}$
trunctrunc(x)trunc(x)${\\left\\lfloor{x}\\right\\rfloor}$
\n" ], "text/plain": [ "Table(len=47,titles=[],data=[['abs', 'abs(x)', 'abs(x)', abs(x)], ['acos', 'acos(x)', 'acos(x)', acos(x)], ['acosh', 'acosh(x)', 'acosh(x)', acosh(x)], ['asin', 'asin(x)', 'asin(x)', asin(x)], ['asinh', 'asinh(x)', 'asinh(x)', asinh(x)]])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functions=default_context.functions # functions known by default to Expr\n", "t=Table()\n", "for n in functions:\n", " f=functions[n][0] # get the function itself\n", " try:\n", " e=Expr(f)\n", " t.append([n,repr(e),str(e),e])\n", " except Exception as e:\n", " t.append([n,e])\n", "t" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "as LaTeX (default) : ${\\sqrt{x}}$" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "as math formula : sqrt(x)\n", "as python code : sqrt(x)\n", "evaluated : sqrt(x)\n" ] } ], "source": [ "e=Expr(sqrt) #(Expr(pi))+Expr(1/5)\n", "h('as LaTeX (default) :',e)\n", "print('as math formula :',e)\n", "print('as python code :',repr(e))\n", "print('evaluated :',e())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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/d9PP/00YmNjtccePXr0lmMjIiJanam5uf6wdetWrFu37pZtbbVezXG37G25XpKS4hdvhuReN3EolUrh7u4ucnJytL/MTUtLE0IIER0dfctNCevWrdNJnldeeeWWmxIWLlx4133Dw8NFUlLSLduuXr0qhBBCo9GIF154QcTGxuotV0VFhWhoaBBCCFFaWiq8vLy0v/yWcr0aGxtFZGSk+PDDD297TJfrda/Xyx8+/fTTW27ieOihh4QQQqSlpd1yE4e7u7vObuJoTq7ffvtNeHh4aG92+cO9nlN95Prj+RFCiISEBBEeHi6EuHlTgpubm6ioqBAVFRXCzc1NlJeX6y2XEEJkZmaKPn36CI1Go93Wluv1h9zc3LvexLFnz55bbuIICwsTQrTtekmpwxZYQkKC6NmzpzA3NxeOjo5i9OjRQoibd6mNGzdOu9/evXuFt7e38PDwEKtWrdJuz87OFmFhYcLT01NER0drX7StVVZWJiIjI4WXl5eIjIzUvshOnz4tnnzySe1+ubm5wsXFRajV6luOHz58uAgKChKBgYHikUceETU1NXrLdeLECREUFCQUCoUICgoSmzZt0h4v5Xp9/fXXwtTUVPTt21f739mzZ4UQul+vO71eli9fLhITE4UQQtTX14vo6Gjh6ekpwsLCRHZ2tvbYVatWCQ8PD+Hj4yP27dvXqhwtzTVixAjh6OioXZ9JkyYJIe79nOoj1+LFi0VAQIBQKBQiIiJCnD9/Xnvs559/Ljw9PYWnp6f44osv9JpLCCFef/31277haev1mjlzpnBychKmpqaiZ8+eYtOmTWLDhg1iw4YNQoib34g999xzwsPDQwQFBd3yzXlbrpdUOImDiIhkiXchEhGRLLHAiIhIllhgREQkSywwIiKSJRYYERHJEguMiIhkiQVGRESyxAIjIiJZYoEREZEsscCIiEiWWGBERCRLLDAiIpIlFhgREckSC4yIiGSJBUZERLLEAiMiIlligRERkSyxwIiISJZYYEREJEssMCIikqX/B3tBNs/x8+xMAAAAAElFTkSuQmCC\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${3x+2}$" ], "text/latex": [ "${3x+2}$" ], "text/plain": [ "3*x+2" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1=Expr('3*x+2') #a very simple expression defined from text\n", "e1" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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/d9PP/00YmNjtccePXr0lmMjIiJanam5uf6wdetWrFu37pZtbbVezXG37G25XpKS4hdvhuReN3EolUrh7u4ucnJytL/MTUtLE0IIER0dfctNCevWrdNJnldeeeWWmxIWLlx4133Dw8NFUlLSLduuXr0qhBBCo9GIF154QcTGxuotV0VFhWhoaBBCCFFaWiq8vLy0v/yWcr0aGxtFZGSk+PDDD297TJfrda/Xyx8+/fTTW27ieOihh4QQQqSlpd1yE4e7u7vObuJoTq7ffvtNeHh4aG92+cO9nlN95Prj+RFCiISEBBEeHi6EuHlTgpubm6ioqBAVFRXCzc1NlJeX6y2XEEJkZmaKPn36CI1Go93Wluv1h9zc3LvexLFnz55bbuIICwsTQrTtekmpwxZYQkKC6NmzpzA3NxeOjo5i9OjRQoibd6mNGzdOu9/evXuFt7e38PDwEKtWrdJuz87OFmFhYcLT01NER0drX7StVVZWJiIjI4WXl5eIjIzUvshOnz4tnnzySe1+ubm5wsXFRajV6luOHz58uAgKChKBgYHikUceETU1NXrLdeLECREUFCQUCoUICgoSmzZt0h4v5Xp9/fXXwtTUVPTt21f739mzZ4UQul+vO71eli9fLhITE4UQQtTX14vo6Gjh6ekpwsLCRHZ2tvbYVatWCQ8PD+Hj4yP27dvXqhwtzTVixAjh6OioXZ9JkyYJIe79nOoj1+LFi0VAQIBQKBQiIiJCnD9/Xnvs559/Ljw9PYWnp6f44osv9JpLCCFef/31277haev1mjlzpnBychKmpqaiZ8+eYtOmTWLDhg1iw4YNQoib34g999xzwsPDQwQFBd3yzXlbrpdUOImDiIhkiXchEhGRLLHAiIhIllhgREQkSywwIiKSJRYYERHJEguMiIhkiQVGRESyxAIjIiJZYoEREZEsscCIiEiWWGBERCRLLDAiIpIlFhgREckSC4yIiGSJBUZERLLEAiMiIlligRERkSyxwIiISJZYYEREJEssMCIikqX/B3tBNs/x8+xMAAAAAElFTkSuQmCC\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${3x+2}$" ], "text/latex": [ "${3x+2}$" ], "text/plain": [ "3*x+2" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1=Expr(lambda x:3*x+2) #the same expression defined from a lambda function\n", "e1" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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/d9PP/00YmNjtccePXr0lmMjIiJanam5uf6wdetWrFu37pZtbbVezXG37G25XpKS4hdvhuReN3EolUrh7u4ucnJytL/MTUtLE0IIER0dfctNCevWrdNJnldeeeWWmxIWLlx4133Dw8NFUlLSLduuXr0qhBBCo9GIF154QcTGxuotV0VFhWhoaBBCCFFaWiq8vLy0v/yWcr0aGxtFZGSk+PDDD297TJfrda/Xyx8+/fTTW27ieOihh4QQQqSlpd1yE4e7u7vObuJoTq7ffvtNeHh4aG92+cO9nlN95Prj+RFCiISEBBEeHi6EuHlTgpubm6ioqBAVFRXCzc1NlJeX6y2XEEJkZmaKPn36CI1Go93Wluv1h9zc3LvexLFnz55bbuIICwsTQrTtekmpwxZYQkKC6NmzpzA3NxeOjo5i9OjRQoibd6mNGzdOu9/evXuFt7e38PDwEKtWrdJuz87OFmFhYcLT01NER0drX7StVVZWJiIjI4WXl5eIjIzUvshOnz4tnnzySe1+ubm5wsXFRajV6luOHz58uAgKChKBgYHikUceETU1NXrLdeLECREUFCQUCoUICgoSmzZt0h4v5Xp9/fXXwtTUVPTt21f739mzZ4UQul+vO71eli9fLhITE4UQQtTX14vo6Gjh6ekpwsLCRHZ2tvbYVatWCQ8PD+Hj4yP27dvXqhwtzTVixAjh6OioXZ9JkyYJIe79nOoj1+LFi0VAQIBQKBQiIiJCnD9/Xnvs559/Ljw9PYWnp6f44osv9JpLCCFef/31277haev1mjlzpnBychKmpqaiZ8+eYtOmTWLDhg1iw4YNQoib34g999xzwsPDQwQFBd3yzXlbrpdUOImDiIhkiXchEhGRLLHAiIhIllhgREQkSywwIiKSJRYYERHJEguMiIhkiQVGRESyxAIjIiJZYoEREZEsscCIiEiWWGBERCRLLDAiIpIlFhgREckSC4yIiGSJBUZERLLEAiMiIlligRERkSyxwIiISJZYYEREJEssMCIikqX/B3tBNs/x8+xMAAAAAElFTkSuQmCC\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${3x+2}$" ], "text/latex": [ "${3x+2}$" ], "text/plain": [ "3*x+2" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def f(x):\n", " return 3*x+2\n", "Expr(f) #the same expression defined from a regular (simple...) function" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${\\sqrt{3x+2}}$" ], "text/latex": [ "${\\sqrt{3x+2}}$" ], "text/plain": [ "sqrt(3*x+2)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e3=Expr(sqrt)(e1) #Expr can be composed\n", "e3" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.23606797749979\n", "1.2533141373155001\n" ] } ], "source": [ "print(e3(x=1)) # Expr can be evaluated as a function\n", "print(e3((pi-4)/6)) #the x variable is implicit" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[-4, 5, 2, 5, 8]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e1([-2,1,0,1,2]) # Expr can be evaluated at different x values at once" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e3.plot() # Expr can be also plotted. Note the X axis is automatically restricted to the definition domain" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Expr('1/x').plot(x=range(-100,100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## multivariable" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${\\frac{-b+\\sqrt{b^2-4ac}}{2a}}$" ], "text/latex": [ "${\\frac{-b+\\sqrt{b^2-4ac}}{2a}}$" ], "text/plain": [ "(-b+sqrt(b**2-4*a*c))/(2*a)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e=Expr('(-b+sqrt(b^2-4*a*c))/(2*a)') #laTex is rendered with some simple simplifications\n", "e" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${\\frac{-b+\\sqrt{b^2-4ac}}{2a}}$" ], "text/latex": [ "${\\frac{-b+\\sqrt{b^2-4ac}}{2a}}$" ], "text/plain": [ "(-b+sqrt(b**2-4*a*c))/(2*a)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e(a=1) # substitution doesn't work yet ..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## complex" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${e^{ipi}}$" ], "text/latex": [ "${e^{ipi}}$" ], "text/plain": [ "e**(i*pi)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e=Expr(\"e**(i*pi)\")\n", "e" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/html": [ "${e^ipi}$" ], "text/latex": [ "${e^ipi}$" ], "text/plain": [ "e**i*pi" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e() # should be -1 one day..." ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }