SymPy is an open source 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.
Features include:
- Core functionality:
- Basic arithmetic: Support for operators such as +, -, *, /, ** (power).
- 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:.
- Numbers: arbitrary precision integers, rationals, and floats.
- Non-commutative symbols.
- Pattern matching.
- Polynomials.
- Calculus:
- Limits: limit(x*log(x), x, 0) -> 0
- Differentiation
- Integration: It uses extended Risch-Norman heuristic.
- Taylor (Laurent) series
- Solving polynomial, algebraic, differential, difference, systems of, and diophantine equations.
- Combinatorics – permutations, combinations, partitions, subsets, permutation groups, and Prufer and Gray codes.
- Discrete mathematics – binomial coefficients, summations, products, number theory, and logic expressions.
- Matrices – basic arithmetic, eigenvalues / eigenvectors, determinants, inversion, solving, and abstract expressions.
- Geometric algebra.
- Geometry – points, lines, rays, segments, ellipses, circles, polygons. Intersection, tangency, and similarity are also supported.
- Plotting – coordinate modes, plotting geometric entities, 2D and 3D, interactive interface, colours, and mathplotlib support.
- Physics – units, mechanics, quantum, Gaussian optics, and Pauli algebra.
- Statistics:
- Random variable types:
- Normal distributions.
- Uniform distributions.
- Bernoulli distributions.
- Binomial distributions.
- Hypergeometric distributions.
- Probability.
- Expected value and variance.
- Probability density.
- Random variable types:
- Cryptography:
- Shift cipher.
- Affine cipher.
- Bifid ciphers.
- Vigenere’s cipher.
- Substitution ciphers.
- Hill’s cipher.
- RSA.
- Kid RSA.
- Linear feedback shift registers.
- ElGamal encryption.
- Parsing:
- Conversion from Python objects to SymPy objects.
- Optional implicit multiplication and function application parsing.
- Limited Mathematica and Maxima parsing.
- Custom parsing transformations.
- Printing, with pretty printing, code generation (C, Fortran, Python), and Theano interaction.
Website: www.sympy.org
Support: Documentation, Mailing List, Gitter, GitHub Code Repository
Developer: SymPy Development Team
License: New BSD License
SymPy is written in Python. Learn Python with our recommended free books and free tutorials.
Return to Python Maths Tools | Return to Computer Algebra Systems
Popular series | |
---|---|
The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. | |
Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. | |
Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. | |
New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. | |
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. | |
Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. | |
Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
These best free books accelerate your learning of every programming language. Learn a new language today! | |
These free tutorials offer the perfect tonic to our free programming books series. | |
Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |