Julia Symbolics
16 hours ago
- #Julia Programming
- #Computer Algebra System
- #Symbolic Computing
- JuliaSymbolics is a Julia organization building a high-performance Computer Algebra System (CAS) for Julia, with a layered architecture of packages.
- Top layer: Symbolics.jl for everyday symbolic computing, including arithmetic, simplification, differentiation, equation solving, and code generation.
- Middle layer: SymbolicUtils.jl for low-level expression representation and rule-based simplification.
- Foundation layers: Metatheory.jl for algebraic metaprogramming and TermInterface.jl for a generic interface to symbolic expressions.
- Many organizations use JuliaSymbolics as a foundation for symbolic packages, such as ModelingToolkit.jl for numerical systems and Catalyst.jl for chemical reactions.
- Other related packages include DataDrivenDiffEq.jl for equation identification, SymbolicRegression.jl for symbolic regression, and ReversePropagation.jl for automatic differentiation.