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.
- Basic arithmetic: Support for operators such
- Simplification Trigonometry, Polynomials
- Expansion: of a polynomial
- Functions: trigonometric, hyperbolic, exponential, roots, logarithms, absolute value, spherical harmonics, factorials and gamma functions, zeta functions, polynomials, special functions, ...
- Substitution: example
- Numbers: arbitrary precision integers, rationals, and floats
- Noncommutative symbols
- Pattern matching
- Basic arithmetic: division, gcd, ...
- Square-free decomposition
- Gröbner bases
- Partial fraction decomposition
- Limits: limit(x*log(x), x, 0) -> 0
- Integration: It uses extended Risch-Norman heuristic
- Taylor (Laurent) series
- Polynomial equations
- Algebraic equations
- Differential equations
- Difference equations
- Systems of equations
- Permutation Groups: Polyhedral, Rubik, Symmetric, ...
- Prufer and Gray Codes
- Binomial coefficients
- Number theory: generating prime numbers, primality testing, integer factorization, ...
- Logic expressions
- Basic arithmetic
- Abstract expressions
- points, lines, rays, segments, ellipses, circles, polygons, ...
- Coordinate modes
- Plotting Geometric Entities
- 2D and 3D
- Interactive interface
- Gaussian Optics
- Pauli Algebra
- Normal distributions
- Uniform distributions
- Pretty printing: ASCII/Unicode pretty printing, LaTeX
- Code generation: C, Fortran, Python