# Python-symbolic 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. ## Features ### Done: - Default type definitions - Expression tree implementation - Transformation of infix strings to expression trees - Visualization of expression trees ### To-Do: - Create a type (BinOperator) for exponents - Implement complex numbers - Modify expression trees, including: - Expansion of expressions (e.g., `a*(a+b)` to `a^2 + ab`) - Factorization of expressions (e.g., `a^2 + 2ab + b^2` to `(a+b)^2`) - Easy simplification (e.g., `sin(x)² + cos(x)²` to `1`) - Define calculus types: - Derivative - Integral - Sum - Product - Limit Exemple of visualation of the expression tree (launch tree_visual.py to see) ![Screenshot from 2024-02-20 00-14-07](https://github.com/Crizomb/Python-symbolic/assets/62544756/ac3f547a-36f0-4e0f-84aa-0855018198ae)