Python | Getting started with SymPy module

21 Apr, 2022
SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python. SymPy only depends on mpmath, a pure Python library for arbitrary floating point arithmetic, making it easy to use. Installing sympy module:  
 pip install sympy 
 
SymPy defines following numerical types: Rational and Integer. The Rational class represents a rational number as a pair of two Integers, numerator and denominator, so Rational(1, 2) represents 1/2, Rational(5, 2) 5/2 and so on. The Integer class represents Integer number.Example #1 :  
Python3
# import everything from sympy modulefrom sympy import * a = Rational(5, 8)print("value of a is :" + str(a)) b = Integer(3.579)print("value of b is :" + str(b))
Output:  
 
value of a is :5/8
value of b is :3
SymPy uses mpmath in the background, which makes it possible to perform computations using arbitrary-precision arithmetic. That way, some special constants, like exp, pi, oo (Infinity), are treated as symbols and can be evaluated with arbitrary precision.Example #2 :  
Python3
# import everything from sympy modulefrom sympy import * # you can't get any numerical valuep = pi**3print("value of p is :" + str(p)) # evalf method evaluates the expression to a floating-point numberq = pi.evalf()print("value of q is :" + str(q)) # equivalent to e ^ 1 or e ** 1r = exp(1).evalf()print("value of r is :" + str(r)) s = (pi + exp(1)).evalf()print("value of s is :" + str(s)) rslt = oo + 10000print("value of rslt is :" + str(rslt)) if oo > 9999999 :    print("True")else:    print("False")
Output:  
value of p is :pi^3
value of q is :3.14159265358979
value of r is :2.71828182845905
value of s is :5.85987448204884
value of rslt is :oo
True
 In contrast to other Computer Algebra Systems, in SymPy you have to declare symbolic variables explicitly using Symbol() method.Example #3 :  
Python3
# import everything from sympy modulefrom sympy import * x = Symbol('x')y = Symbol('y') z = (x + y) + (x-y)print("value of z is :" + str(z))
Output:  
value of z is :2*x 
   
The real power of a symbolic computation system such as SymPy is the ability to do all sorts of computations symbolically. SymPy can simplify expressions, compute derivatives, integrals, and limits, solve equations, work with matrices, and much, much more, and do it all symbolically. Here is a small sampling of the sort of symbolic power SymPy is capable of, to whet your appetite.Example #4 : Find derivative, integration, limits, quadratic equation. 
Python3
# import everything from sympy modulefrom sympy import * # make a symbolx = Symbol('x') # make the derivative of sin(x)*e ^ xans1 = diff(sin(x)*exp(x), x)print("derivative of sin(x)*e ^ x : ", ans1) # Compute (e ^ x * sin(x)+ e ^ x * cos(x))dxans2 = integrate(exp(x)*sin(x) + exp(x)*cos(x), x)print("indefinite integration is : ", ans2) # Compute definite integral of sin(x ^ 2)dx# in b / w interval of ? and ?? .ans3 = integrate(sin(x**2), (x, -oo, oo))print("definite integration is : ", ans3) # Find the limit of sin(x) / x given x tends to 0ans4 = limit(sin(x)/x, x, 0)print("limit is : ", ans4) # Solve quadratic equation like, example : x ^ 2?2 = 0ans5 = solve(x**2 - 2, x)print("roots are : ", ans5)
Output :  
derivative of sin(x)*e^x :  exp(x)*sin(x) + exp(x)*cos(x)
indefinite integration is :  exp(x)*sin(x)
definite integration is :  sqrt(2)*sqrt(pi)/2
limit is :  1
roots are :  [-sqrt(2), sqrt(2)]
 
kartikiyer2892
sumitgumber28
python-modules
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to iterate through Excel rows in Python?
Rotate axis tick labels in Seaborn and Matplotlib
Deque in Python
Queue in Python
Defaultdict in Python
Check if element exists in list in Python
Python Classes and Objects
Bar Plot in Matplotlib
reduce() in Python
Python | Get unique values from a list