-
Notifications
You must be signed in to change notification settings - Fork 0
Quick examples
This page gives quick examples of common symbolic calculations in SymPy. Print it and keep it under your pillow!
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = map(Function, 'fgh')
Construct the formula ( \frac{3 \pi}{2} + \frac{e^{ix}}{x^2 + y}) :
>>> Rational(3,2)*pi + exp(I*x) / (x**2 + y)
3*pi/2 + exp(I*x)/(x**2 + y)
Calculate the value of ( e^{ix}) for ( x=\pi) :
>>> x = Symbol('x')
>>> exp(I*x).subs(x,pi).evalf() #doctest: +SKIP
-1.00000000000000
>>> expr = x + 2*y
>>> expr.__class__
<class 'sympy.core.add.Add'>
>>> expr.args
(2*y, x)
Calculate 50 digits of ( e^{\pi \sqrt{163}}) :
>>> exp(pi * sqrt(163)).evalf(50)
262537412640768743.99999999999925007259719818568888
Expand ( (x+y)^2 (x+1)) :
>>> ((x+y)**2 * (x+1)).expand()
x**3 + 2*x**2*y + x**2 + x*y**2 + 2*x*y + y**2
Simplify ( \frac{1}{x} + \frac{x \sin x - 1}{x}) :
>>> a = 1/x + (x*sin(x) - 1)/x
>>> simplify(a)
sin(x)
Find the roots of ( x^3 + 2x^2 + 4x + 8) :
>>> solve(Eq(x**3 + 2*x**2 + 4*x + 8, 0), x)
[-2*I, 2*I, -2]
or more easily:
>>> solve(x**3 + 2*x**2 + 4*x + 8, x)
[-2*I, 2*I, -2]
For details, see: Finding roots of polynomials.
Solve the equation system ( \left(x+5y=2, -3x+6y=15\right)) :
>>> solve([Eq(x + 5*y, 2), Eq(-3*x + 6*y, 15)], [x, y])
{x: -3, y: 1}
or
>>> solve([x + 5*y - 2, -3*x + 6*y - 15], [x, y])
{x: -3, y: 1}
Evaluate ( \sum_{n=a}^b 6 n^2 + 2^n) :
>>> a, b = symbols('a b')
>>> s = Sum(6*n**2 + 2**n, (n, a, b))
>>> s
Sum(2**n + 6*n**2, (n, a, b))
>>> s.doit()
-2**a + 2**(b + 1) - 2*a**3 + 3*a**2 - a + 2*b**3 + 3*b**2 + b
Evaluate ( \prod_{n=1}^b n (n+1)) :
>>> product(n*(n+1), (n, 1, b))
RisingFactorial(2, b)*b!
Evaluate ( \lim_{x\to 0} \frac{\sin x - x}{x^3}) :
>>> limit((sin(x)-x)/x**3, x, 0)
-1/6
Find the Maclaurin series of ( \frac{1}{\cos x}) up to the ( O(x^6)) term:
>>> (1/cos(x)).series(x, 0, 6)
1 + x**2/2 + 5*x**4/24 + O(x**6)
Differentiate ( \frac{\cos(x^2)^2}{1+x}) :
>>> diff(cos(x**2)**2 / (1+x), x)
-4*x*sin(x**2)*cos(x**2)/(x + 1) - cos(x**2)**2/(x + 1)**2
Calculate the indefinite integral ( \int x^2 \cos x , dx)
>>> integrate(x**2 * cos(x), x)
x**2*sin(x) + 2*x*cos(x) - 2*sin(x)
Calculate the definite integral ( \int_0^{\pi/2} x^2 \cos x , dx) :
>>> integrate(x**2 * cos(x), (x, 0, pi/2))
-2 + pi**2/4
Solve ( f''(x) + 9 f(x) = 1,!) :
>>> f = Function('f')
>>> dsolve(Eq(Derivative(f(x),x,x) + 9*f(x), 1), f(x))
f(x) == C1*cos(3*x) + C2*sin(3*x) + 1/9
You can also use .diff()
, like here (an example in isympy
)
>>> f = Function("f")
>>> Eq(f(x).diff(x, x) + 9*f(x), 1)
9*f(x) + Derivative(f(x), x, x) == 1
>>> dsolve(_, f(x))
f(x) == C1*cos(3*x) + C2*sin(3*x) + 1/9