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 as a calculator:
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 :
value of a is :1/2 value of b is :3
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 :
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 :
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.
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)]
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Python | Plotting Area charts in excel sheet using XlsxWriter module
- Internal working of Python
- Convert Text to Speech in Python
- Python | Pandas.Categorical()
- Python | globals() function
- Python | Pandas str.join() to join string/list elements with passed delimiter
- Python | Pandas Series.str.cat() to concatenate string
- Python | Pandas Categorical DataFrame creation
- Why Python is called Dynamically Typed?
- Find length of a string in python (4 ways)