2021
DOI: 10.48550/arxiv.2105.03949
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

High-performance symbolic-numerics via multiple dispatch

Abstract: 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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
20
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
3
1

Relationship

3
4

Authors

Journals

citations
Cited by 8 publications
(20 citation statements)
references
References 8 publications
0
20
0
Order By: Relevance
“…On the lowest level, TermInterface.jl and Metatheory.jl packages [17,10,16] provide an efficient expression rewriting engine and rule definition eDSL. Rules are written as regular Julia expressions, thus parsed into S-expressions and then efficiently compiled to callable functions that perform pattern matching and support advanced conditional selection [18,10,16].…”
Section: Rule-based Integrationmentioning
confidence: 99%
See 2 more Smart Citations
“…On the lowest level, TermInterface.jl and Metatheory.jl packages [17,10,16] provide an efficient expression rewriting engine and rule definition eDSL. Rules are written as regular Julia expressions, thus parsed into S-expressions and then efficiently compiled to callable functions that perform pattern matching and support advanced conditional selection [18,10,16].…”
Section: Rule-based Integrationmentioning
confidence: 99%
“…On the lowest level, TermInterface.jl and Metatheory.jl packages [17,10,16] provide an efficient expression rewriting engine and rule definition eDSL. Rules are written as regular Julia expressions, thus parsed into S-expressions and then efficiently compiled to callable functions that perform pattern matching and support advanced conditional selection [18,10,16]. JuliaSymbolics also supports the definition of equational (bidirectional) rewrite rules that can be executed through an e-graph rewriting engine (adopted from [19]), performing equality saturation.…”
Section: Rule-based Integrationmentioning
confidence: 99%
See 1 more Smart Citation
“…• chapter 3 discusses a few real-world applications of the expression rewriting framework. We developed an example optimizer for functional streams in Julia, and we then discuss some results we have obtained when optimizing symbolic-numeric computations through e-graph rewriting, manipulating expressions from the Julia computer algebra system Symbolics.jl [19].…”
Section: Structure and Organization Of The Thesismentioning
confidence: 99%
“…Up until version 4, the Julia CAS (Computer Algebra System) Symbolics.jl [19] (section 3.2) was designed with a partially monolithic architecture. The underlying package for term rewriting, SymbolicUtils.jl, provided a generic interface for symbolic terms that allowed programmers to use the classical term rewriting utilities offered by the package on their own expression types.…”
Section: A Layered Architecture For Julia Symbolicsmentioning
confidence: 99%