Shashi Gowda
Shashi Gowda
> we can only call these rules if number of args to + have length >=3, for example. Or we can maybe build in that optimization into the general matcher...
We just need to reduce the overhead of adding new rules. Now that we have a hierarchy of rules, we could make some sub rulesets (at the leaf level) be...
I now think the right way to implement this is to have a polynomial factorization step. I've added support for using AbstractAlgebra.jl's multivariate polynomial library to "normalize" or expand any...
Also see [SymbolicSAT.jl](https://github.com/JuliaSymbolics/SymbolicSAT.jl). Needs some resurrecting though.
https://github.com/JuliaSymbolics/SymbolicUtils.jl/issues/256 may alleviate some of the confusion here.
I'm thinking of adding a variant of `@rule` called `@numrule` which sets up the LHS in the right way to be able to match this.
This code is not thread safe! But shouldn't be hard to make it.
PolyForm uses some global state to reuse DynamicPolynomials variables.
```julia using ModelingToolkit, LinearAlgebra, SparseArrays # Define the constants for the PDE const α₂ = 1.0 const α₃ = 1.0 const β₁ = 1.0 const β₂ = 1.0 const β₃...
Ok most of the time for that right now is taken up by `expand_derivatives`. It seems that https://github.com/SciML/ModelingToolkit.jl/pull/485 actually slows it down?? Which is confusing me so much.