Features
Core capabilities
Documentation
- 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: example
- Numbers:
arbitrary precision integers,
rationals,
and floats
- Noncommutative symbols
- Pattern matching
Polynomials
Documentation
- Basic arithmetic: division, gcd, ...
- Factorization
- Square-free decomposition
- Gröbner bases
- Partial fraction decomposition
- Resultants
Combinatorics
Documentation
- Permutations
- Combinations
- Partitions
- Subsets
- Permutation Groups: Polyhedral, Rubik, Symmetric, ...
- Prufer and Gray Codes
Discrete math
- Binomial coefficients
- Summations
- Products
- Number theory: generating prime numbers, primality testing, integer factorization, Diophantine equation solving...
- Logic expressions
Matrices
Documentation
- Basic arithmetic
- Eigenvalues/eigenvectors
- Determinants
- Inversion
- Solving
- Abstract expressions
Geometry
Documentation
- points, lines, rays, segments, ellipses, circles,
polygons, ...
- Intersection
- Tangency
- Similarity
Plotting
Documentation
- Coordinate modes
- Plotting Geometric Entities
- 2D and 3D
- Interactive interface
- Colors
- Matplotlib support
Physics
Documentation
- Units
- Mechanics
- Quantum
- Gaussian Optics
- Pauli Algebra
IPython Notebook Examples
Statistics
Documentation
- Random variable types:
- Normal distributions
- Uniform distributions
- Bernoulli distributions
- Binomial distributions
- Hypergeometric distributions
- More…
- Probability
- Expected value and variance
- Probability density
Cryptography
Documentation
- Shift cipher
- Affine cipher>
- Bifid ciphers>
- Vigenere’s cipher>
- Substitution ciphers>
- Hill’s cipher>
- RSA>
- Kid RSA>
- Linear feedback shift registers>
- ElGamal encryption>
Parsing
Documentation
- Conversion from Python objects to SymPy objects
- Optional implicit multiplication and function application parsing
- Limited Mathematica and Maxima parsing: example on SymPy Live
- Custom parsing transformations
Printing
Documentation
- Pretty printing: ASCII/Unicode pretty printing, LaTeX
- Code generation: C, Fortran, Python
- Theano interaction