Releases: JuliaSymbolics/SymbolicUtils.jl
Releases · JuliaSymbolics/SymbolicUtils.jl
v0.18.0
SymbolicUtils v0.18.0
- Added an
optimize
function that takes an expression and returns the optimized expression, using EGraphs from Metatheory.jl symbolicegraph
function to construct an egraph prepared for<:Symbolic
expressions.- Internal function
toterm
to transform Add, Mul, Pow, etc... into Term{T} - Internal function
unflatten
that takes associative n-ary terms and turns them into their binaryTerm{T}
representation (egraph rewriting works best with this representation) - An egraph cost function that computes the cost of operations of terms in CPU cycles (See https://arxiv.org/abs/2105.03949).
similarterm
for<:Symbolic
types can now dispatch against af::Symbol
operation, resolving the corresponding function object to support the EGraph backend
Merged pull requests:
v0.17.0
SymbolicUtils v0.17.0
Closed issues:
- Simplifying exponentials (#182)
- Consider adding a @capture macro that injects matches into the current scope. (#342)
- DynamicPolynomials promote error (#356)
- Use vectors instead of dicts for storing matches by using debrujin indexing for slot variables (#364)
- Port perf fix to master (#366)
Merged pull requests:
- add capture macro (#343) (@peterahrens)
- Pja/no export capture (#378) (@peterahrens)
- Add rules to simplify exponentials. (#382) (@kllrak)
- Unflatten * and + in toexpr (#383) (@YingboMa)