Python-symbolic is a small project written in pure Python that allows you to perform symbolic mathematics on your computer. The focus is on readability and simplicity.
- Default type definitions
- Expression tree implementation
- Transformation of infix strings to expression trees
- Visualization of expression trees
- Expansion of expressions (e.g.,
a*(a+b)
toa^2 + ab
)
- Create a type (BinOperator) for exponents
- Implement complex numbers
- Modify expression trees, including:
- Factorization of expressions (e.g.,
a^2 + 2ab + b^2
to(a+b)^2
) - Easy simplification (e.g.,
sin(x)² + cos(x)²
to1
)
- Factorization of expressions (e.g.,
- Define calculus types:
- Derivative
- Integral
- Sum
- Product
- Limit
Exemple of visualation of the expression tree (launch tree_visual.py to see)