High-performance symbolic-numerics via multiple dispatch
Not on the map. Why?
Abstract (arXiv)
As mathematical computing becomes more democratized in high-level languages, high-performance symbolic-numeric systems are necessary for domain scientists and engineers to get the best performance out of their machine without deep knowledge of code optimization. Naturally, users need different term types either to have different algebraic properties for them, or to use efficient data structures. To this end, we developed Symbolics.jl, an extendable symbolic system which uses dynamic multiple dispatch to change behavior depending on the domain needs. In this work we detail an underlying abstract term interface which allows for speed without sacrificing generality. We show that by formalizing a generic API on actions independent of implementation, we can retroactively add optimized data structures to our system without changing the pre-existing term rewriters. We showcase how this can be used to optimize term construction and give a 113x acceleration on general symbolic transformations. Further, we show that such a generic API allows for complementary term-rewriting implementations. We demonstrate the ability to swap between classical term-rewriting simplifiers and e-graph-based term-rewriting simplifiers. We showcase an e-graph ruleset which minimizes the number of CPU cycles during expression evaluation, and demonstrate how it simplifies a real-world reaction-network simulation to halve the runtime. Additionally, we show a reaction-diffusion partial differential equation solver which is able to be automatically converted into symbolic expressions via multiple dispatch tracing, which is subsequently accelerated and parallelized to give a 157x simulation speedup. Together, this presents Symbolics.jl as a next-generation symbolic-numeric computing environment geared towards modeling and simulation.
Key facts. Cited by 6 papers in the map (data through 7 Oct 2026). Builds on 2 of its 11 references that are in the map. First posted on arXiv 9 May 2021.
Builds on
2 of 11 references.
References · 2
Built on by
Citing papers per year: 2021: 1; 2022: 0; 2023: 2; 2024: 1; 2025: 2.
6 papers.
- 2023Interpretable Machine Learning for Science with PySR and SymbolicRegression.jlcited by 36
- 2021Learning Stable Deep Dynamics Models for Partially Observed or Delayed Dynamical Systemscited by 17
- 2023MINN: Learning the dynamics of differential-algebraic equations and application to battery modelingcited by 10
- 2025Sparser, Better, Faster, Stronger: Sparsity Detection for Efficient Automatic Differentiationcited by 4
- 2024Disciplined Geodesically Convex Programmingcited by 1
- 2025A Common Interface for Automatic Differentiationcited by 0
- 2025A Common Interface for Automatic Differentiation8 May 2025
- 2025Sparser, Better, Faster, Stronger: Sparsity Detection for Efficient Automatic Differentiation29 Jan 2025
- 2024Disciplined Geodesically Convex Programming7 Jul 2024
- 2023Interpretable Machine Learning for Science with PySR and SymbolicRegression.jl2 May 2023
- 2023MINN: Learning the dynamics of differential-algebraic equations and application to battery modeling27 Apr 2023
- 2021Learning Stable Deep Dynamics Models for Partially Observed or Delayed Dynamical Systems27 Oct 2021