adrhill / SparseConnectivityTracer.jl

Fast operator-overloading Jacobian & Hessian sparsity detection.
MIT License
26 stars 2 forks source link

Scalar operators to support #74

Closed gdalle closed 1 month ago

gdalle commented 4 months ago

I think we should look at the list on https://docs.julialang.org/en/v1.12-dev/base/math/

adrhill commented 4 months ago

Operators: https://github.com/JuliaLang/julia/blob/e89c21b3789ec5217e2b84a3ea4729b7b5c3d05b/base/exports.jl#L170-L210

Scalar math: https://github.com/JuliaLang/julia/blob/e89c21b3789ec5217e2b84a3ea4729b7b5c3d05b/base/exports.jl#L212-L371

adrhill commented 3 months ago

DiffRules' definitions could be helpful here: https://github.com/JuliaDiff/DiffRules.jl/blob/master/src/rules.jl

gdalle commented 2 months ago

According to @ChrisRackauckas, to transition the SciML ecosystem from Symbolics to SparseConnectivityTracer, we would need to support the equivalent of:

adrhill commented 1 month ago

DiffRules has a nice list of things we need to support: https://github.com/JuliaDiff/DiffRules.jl/blob/8842177391b07dcd8234ac7612b9ca8ca72d28e0/src/rules.jl

I guess this means adding package extensions for NaNMath, LogExpFunctions and more SpecialFunctions? Not sure what DataInterpolations requires, but some of the recently opened issues on round were related to it.

adrhill commented 1 month ago

With #178, #184 and #187, we are very close to supporting SciML. Some methods might be missing, but adding them to the existing extensions should be trivial.

adrhill commented 1 month ago

SparseConnectivityTracer v0.6.3 is now released! I'll close this in favor of more specific issues.