You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's becoming common in the ecosystem to add ChainRules rules for functions that use features that are problematic or slow for certain AD packages, like mutation, loops, or control flow. Maybe we should do this to, at least to add projections and such. JuliaDiff/ChainRules.jl#540 should probably be finished first.
We already have ChainRulesCore as an indirect dependency via DualNumbers and then SpecialFunctions, so this would not make this package heavier.
The text was updated successfully, but these errors were encountered:
Since JuliaDiff/ChainRules.jl#540 has stalled, we should probably just defensively use ChainRulesCore.@opt_out for functions that we implement and that we know depend on the quaternion product so that ChainRules-compatible ADs don't just silently do the wrong thing here.
I think this is one of the next things we should do. It involves adding ChainRulesCore as a dependency, but it's already an indirect dependency of much of the ecosystem, so I don't think this is a problem.
I propose also that we implement RealDot.realdot. for quaternions and real numbers, since this is used internally in some ChainRules rules. RealDot has a single function and no dependencies, so this is not an issue.
It's becoming common in the ecosystem to add ChainRules rules for functions that use features that are problematic or slow for certain AD packages, like mutation, loops, or control flow. Maybe we should do this to, at least to add projections and such. JuliaDiff/ChainRules.jl#540 should probably be finished first.
We already have ChainRulesCore as an indirect dependency via DualNumbers and then SpecialFunctions, so this would not make this package heavier.
The text was updated successfully, but these errors were encountered: