Symbolics.jl
Symbolic programming for the next generation of numerical software
...It enables users to define, manipulate, and analyze mathematical expressions symbolically, with strong support for symbolic differentiation, simplification, equation solving, and code generation. Designed for use in scientific computing, machine learning, and engineering, Symbolics.jl integrates smoothly with Julia’s numerical ecosystem, allowing symbolic expressions to be compiled and optimized for high-speed evaluation.