-
-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Q: Using TermInterface to set up Metatheory #173
Comments
Hi! I'm sorry for the late reply, it will take me a while to look at this, as I'm currently slowly working on the internals, I'm focusing on achieving good performance and to solidify the package. Please note that with #177 TermInterface.jl has been temporarily deprecated, and there's no more I'm using an internal version Please keep an eye on the "custom expression types" tutorial page for more developments :) |
No worries.
Thank you for your update and detailed explanation. Appreciated. Will await an announcement of a new Metatheory release. While you clearly have more than enough to keep you currently busy, I would like to suggest that at some point in the future considering the specific case of Horner optimization with common subexpression elimination for multivariate polynomials. I think that this would be of general interest. The reference for the method I'm currently using is Why Local Search Excels in Expression Simplification (https://doi.org/10.48550/arXiv.1409.5223) In my work, I can attain up to an order of magnitude reduction in the number of basic floating point operations. The authors give examples wherein the reductions are multiple orders of magnitude. |
@Audrius-St TermInterface 0.4 has been released and now #185 uses it. You can use the Metatheory version on that branch! |
Thank you for your work and update. |
Hello,
While I have been using Symbolics and SymbolicUtils for some time now [and greatly appreciate, having switched from Sympy], I am a novice in the use of Metatheory.
My first attempt to set up Metatheory using TermInterface as described in the documentation is the code below. The test expression is part of a much larger expression which I previously simplified using Symbolics.
Several questions regarding implementation regarding which I would appreciate any insights:
@commutative_monoid (*) 1
mean?@theory
term-rewriting, does my addition(a / c) + (b / c) --> (a + b) / c
make sense?:h
in and the[4]
correspond to inhcall = MyExpr(:h, [4], "hello")
[2]
correspond to inex = MyExpr(:f, [MyExpr(:z, [2]), hcall])
for my use case?
Julia 1.9.4
Metatheory 2.0.2
The text was updated successfully, but these errors were encountered: