JuliaSymbolics / SymbolicUtils.jl

Symbolic expressions, rewriting and simplification
https://docs.sciml.ai/SymbolicUtils/stable/
Other
541 stars 108 forks source link

`broadcastable` for `Symbolics`. #495

Open manuelbb-upb opened 1 year ago

manuelbb-upb commented 1 year ago

Suppose the issue in JuliaSymbolics/Symbolics.jl#455 is fixed, e.g., via #493. Then simplify(sum(x.^2)) fails.

The error results from a call to broadcastable on the arguments of (x.^2).value.term. E.g., the first argument is a Term{Any} with Ref as operation and ^ as its sole argument. I have added a broadcastable for any Symbolic that catches this case and falls back to unspecialized broadcastable otherwise.

Because of the discussion in #409 I am not certain whether this solution is clever. It's also the reason for the separate pull request.