About
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 and does not require any external libraries.
Features
Core capabilities
- Basic arithmetic: Support for operators such
as
+,-,*,/,**(power) - Simplification
- Expansion
- Functions: trigonometric, hyperbolic, exponential, roots, logarithms, absolute value, spherical harmonics, factorials and gamma functions, zeta functions, polynomials, special functions, ...
- Substitution
- Numbers: arbitrary precision integers, rationals, and floats
- Noncommutative symbols
- Pattern matching
Polynomials
- Basic arithmetic: division, gcd, ...
- Factorization
- Square-free decomposition
- Gröbner bases
- Partial fraction decomposition
- Resultants
Calculus
-
Limits:
limit(x*log(x), x, 0) -> 0 - Differentiation
- Integration: It uses extended Risch-Norman heuristic
- Taylor (Laurent) series
Solving equations
- Polynomial equations
- Algebraic equations
- Differential equations
- Difference equations
- Systems of equations
Discrete math
- Binomial coefficients
- Summations
- Products
- Number theory: generating prime numbers, primality testing, integer factorization, ...
- Logic expressions
Matrices
- Basic arithmetic
- Eigenvalues/eigenvectors
- Determinants
- Inversion
- Solving
Geometric Algebra
Geometry
- points, lines, rays, segments, ellipses, circles, polygons, ...
- Intersection
- Tangency
- Similarity
Plotting
- Coordinate modes
- Plotting Geometric Entities
- 2D and 3D
- Interactive interface
- Colors
Physics
- Units
- Mechanics
- Quantum
- Gaussian Optics
- Pauli Algebra
Statistics
- Normal distributions
- Uniform distributions
- Probability
Printing
- Pretty printing: ASCII/Unicode pretty printing, LaTeX
- Code generation: C, Fortran, Python
SymPy