{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SymPy: Open Source Symbolic Mathematics\n", "\n", "This notebook uses the [SymPy](http://sympy.org) package to perform symbolic manipulations,\n", "and combined with numpy and matplotlib, also displays numerical visualizations of symbolically\n", "constructed expressions.\n", "\n", "We first load sympy printing extensions, as well as all of sympy:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from IPython.display import display\n", "\n", "from sympy.interactive import printing\n", "printing.init_printing(use_latex='mathjax')\n", "\n", "from __future__ import division\n", "import sympy as sym\n", "from sympy import *\n", "x, y, z = symbols(\"x y z\")\n", "k, m, n = symbols(\"k m n\", integer=True)\n", "f, g, h = map(Function, 'fgh')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Elementary operations

" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\frac{3 \\pi}{2} + \\frac{e^{i x}}{x^{2} + y}$$" ], "text/plain": [ " \u2148\u22c5x \n", "3\u22c5\u03c0 \u212f \n", "\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\n", " 2 2 \n", " x + y" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Rational(3,2)*pi + exp(I*x) / (x**2 + y)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$-1.0$$" ], "text/plain": [ "-1.00000000000000" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp(I*x).subs(x,pi).evalf()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "e = x + 2*y" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"Add(Symbol('x'), Mul(Integer(2), Symbol('y')))\"" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "srepr(e)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$262537412640768743.99999999999925007259719818568888$$" ], "text/plain": [ "262537412640768743.99999999999925007259719818568888" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp(pi * sqrt(163)).evalf(50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Algebra

" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\left(x + 1\\right) \\left(x + y\\right)^{2}$$" ], "text/plain": [ " 2\n", "(x + 1)\u22c5(x + y) " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq = ((x+y)**2 * (x+1))\n", "eq" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$x^{3} + 2 x^{2} y + x^{2} + x y^{2} + 2 x y + y^{2}$$" ], "text/plain": [ " 3 2 2 2 2\n", "x + 2\u22c5x \u22c5y + x + x\u22c5y + 2\u22c5x\u22c5y + y " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expand(eq)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\frac{1}{x} \\left(x \\sin{\\left (x \\right )} - 1\\right) + \\frac{1}{x}$$" ], "text/plain": [ "x\u22c5sin(x) - 1 1\n", "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\n", " x x" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = 1/x + (x*sin(x) - 1)/x\n", "a" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\sin{\\left (x \\right )}$$" ], "text/plain": [ "sin(x)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "simplify(a)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$x^{3} + 2 x^{2} + 4 x + 8 = 0$$" ], "text/plain": [ " 3 2 \n", "x + 2\u22c5x + 4\u22c5x + 8 = 0" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq = Eq(x**3 + 2*x**2 + 4*x + 8, 0)\n", "eq" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\begin{bmatrix}-2, & - 2 i, & 2 i\\end{bmatrix}$$" ], "text/plain": [ "[-2, -2\u22c5\u2148, 2\u22c5\u2148]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(eq, x)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\sum_{n=a}^{b} \\left(2^{n} + 6 n^{2}\\right)$$" ], "text/plain": [ " b \n", " ___ \n", " \u2572 \n", " \u2572 \u239b n 2\u239e\n", " \u2571 \u239d2 + 6\u22c5n \u23a0\n", " \u2571 \n", " \u203e\u203e\u203e \n", "n = a " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a, b = symbols('a b')\n", "Sum(6*n**2 + 2**n, (n, a, b))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Calculus

" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$- \\frac{1}{6}$$" ], "text/plain": [ "-1/6" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "limit((sin(x)-x)/x**3, x, 0)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$1 + \\frac{x^{2}}{2} + \\frac{5 x^{4}}{24} + \\mathcal{O}\\left(x^{6}\\right)$$" ], "text/plain": [ " 2 4 \n", " x 5\u22c5x \u239b 6\u239e\n", "1 + \u2500\u2500 + \u2500\u2500\u2500\u2500 + O\u239dx \u23a0\n", " 2 24 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(1/cos(x)).series(x, 0, 6)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$- \\frac{4 x \\cos{\\left (x^{2} \\right )}}{x + 1} \\sin{\\left (x^{2} \\right )} - \\frac{\\cos^{2}{\\left (x^{2} \\right )}}{\\left(x + 1\\right)^{2}}$$" ], "text/plain": [ " \u239b 2\u239e \u239b 2\u239e 2\u239b 2\u239e\n", " 4\u22c5x\u22c5sin\u239dx \u23a0\u22c5cos\u239dx \u23a0 cos \u239dx \u23a0\n", "- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", " x + 1 2\n", " (x + 1) " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diff(cos(x**2)**2 / (1+x), x)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$-2 + \\frac{\\pi^{2}}{4}$$" ], "text/plain": [ " 2\n", " \u03c0 \n", "-2 + \u2500\u2500\n", " 4 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(x**2 * cos(x), (x, 0, pi/2))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$9 f{\\left (x \\right )} + \\frac{d^{2}}{d x^{2}} f{\\left (x \\right )} = 1$$" ], "text/plain": [ " 2 \n", " d \n", "9\u22c5f(x) + \u2500\u2500\u2500(f(x)) = 1\n", " 2 \n", " dx " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$f{\\left (x \\right )} = C_{1} \\sin{\\left (3 x \\right )} + C_{2} \\cos{\\left (3 x \\right )} + \\frac{1}{9}$$" ], "text/plain": [ "f(x) = C\u2081\u22c5sin(3\u22c5x) + C\u2082\u22c5cos(3\u22c5x) + 1/9" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eqn = Eq(Derivative(f(x),x,x) + 9*f(x), 1)\n", "display(eqn)\n", "dsolve(eqn, f(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Illustrating Taylor series\n", "\n", "We will define a function to compute the Taylor series expansions of a symbolically defined expression at\n", "various orders and visualize all the approximations together with the original function" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# You can change the default figure size to be a bit larger if you want,\n", "# uncomment the next line for that:\n", "#plt.rc('figure', figsize=(10, 6))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def plot_taylor_approximations(func, x0=None, orders=(2, 4), xrange=(0,1), yrange=None, npts=200):\n", " \"\"\"Plot the Taylor series approximations to a function at various orders.\n", "\n", " Parameters\n", " ----------\n", " func : a sympy function\n", " x0 : float\n", " Origin of the Taylor series expansion. If not given, x0=xrange[0].\n", " orders : list\n", " List of integers with the orders of Taylor series to show. Default is (2, 4).\n", " xrange : 2-tuple or array.\n", " Either an (xmin, xmax) tuple indicating the x range for the plot (default is (0, 1)),\n", " or the actual array of values to use.\n", " yrange : 2-tuple\n", " (ymin, ymax) tuple indicating the y range for the plot. If not given,\n", " the full range of values will be automatically used. \n", " npts : int\n", " Number of points to sample the x range with. Default is 200.\n", " \"\"\"\n", " if not callable(func):\n", " raise ValueError('func must be callable')\n", " if isinstance(xrange, (list, tuple)):\n", " x = np.linspace(float(xrange[0]), float(xrange[1]), npts)\n", " else:\n", " x = xrange\n", " if x0 is None: x0 = x[0]\n", " xs = sym.Symbol('x')\n", " # Make a numpy-callable form of the original function for plotting\n", " fx = func(xs)\n", " f = sym.lambdify(xs, fx, modules=['numpy'])\n", " # We could use latex(fx) instead of str(), but matploblib gets confused\n", " # with some of the (valid) latex constructs sympy emits. So we play it safe.\n", " plt.plot(x, f(x), label=str(fx), lw=2)\n", " # Build the Taylor approximations, plotting as we go\n", " apps = {}\n", " for order in orders:\n", " app = fx.series(xs, x0, n=order).removeO()\n", " apps[order] = app\n", " # Must be careful here: if the approximation is a constant, we can't\n", " # blindly use lambdify as it won't do the right thing. In that case, \n", " # evaluate the number as a float and fill the y array with that value.\n", " if isinstance(app, sym.numbers.Number):\n", " y = np.zeros_like(x)\n", " y.fill(app.evalf())\n", " else:\n", " fa = sym.lambdify(xs, app, modules=['numpy'])\n", " y = fa(x)\n", " tex = sym.latex(app).replace('$', '')\n", " plt.plot(x, y, label=r'$n=%s:\\, %s$' % (order, tex) )\n", " \n", " # Plot refinements\n", " if yrange is not None:\n", " plt.ylim(*yrange)\n", " plt.grid()\n", " plt.legend(loc='best').get_frame().set_alpha(0.8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With this function defined, we can now use it for any sympy function or expression" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "gg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_taylor_approximations(sin, 0, [2, 4, 6], (0, 2*pi), (-2,2))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "tYbY1r+2UgAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_taylor_approximations(cos, 0, [2, 4, 6], (0, 2*pi), (-2,2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This shows easily how a Taylor series is useless beyond its convergence radius, illustrated by \n", "a simple function that has singularities on the real axis:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# For an expression made from elementary functions, we must first make it into\n", "# a callable function, the simplest way is to use the Python lambda construct.\n", "plot_taylor_approximations(lambda x: 1/cos(x), 0, [2,4,6], (0, 2*pi), (-5,5))" ] } ], "metadata": {}, "nbformat": 4, "nbformat_minor": 0 }