ForwardDiff.jl
ForwardDiff.jl copied to clipboard
Forward Mode Automatic Differentiation for Julia
Closes #591. Should reduce loading time by a factor of 5 or so. Needs https://github.com/JuliaDiff/DiffResults.jl/pull/22 Needs Julia 1.6. What thoughts on dropping Julia 1.0 support that in a patch release?...
According to @vtjnash in https://github.com/SciML/OrdinaryDiffEq.jl/issues/1750, method ambiguities can hurt performance. It seems that a major source is ForwardDiff, and so it would be good for these to get cleaned up....
This is based on https://github.com/julia-actions/julia-invalidations. Adding such checks came up in https://discourse.julialang.org/t/potential-performance-regressions-in-julia-1-8-for-special-un-precompiled-type-dispatches-and-how-to-fix-them/86359. I suggest to add this check here since this package is widely used as a dependency. See also...
I have some code which calls a root finding step, via the `Roots` package that I'd like to be able to differentiate. It appears that whether `ForwardDiff` "works" in this...
It doesn't seem to be possible to explicitly set the Tag when using StaticArrays to calculate an out-of-place Jacobian. This is needed when `f` uses preallocated internal buffer arrays, which...
A MWE: ```julia julia> using Random, ForwardDiff julia> N = 8; julia> x = Vector{ForwardDiff.Dual{Nothing,Float64,1}}(undef, N); julia> randn!(Xoshiro(1), x); julia> x[end].value -0.8260207919192974 julia> x = Vector{Float64}(undef, N); julia> randn!(Xoshiro(1), x);...
I have two examples in real use cases that can trigger perturbation confusion error in ForwardDiff.jl. The first example (Lagrangian): ```julia using ForwardDiff m,g = 1, 9.8 t = 1...
Fix for method ambiguity in https://github.com/JuliaDiff/ForwardDiff.jl/issues/686. Couldn't tell if/how tests should be updated to reflect this change, happy to do that too if someone more knowledgeable can give me a...
Just ran into this error: ```julia ERROR: MethodError: promote_rule(::Type{IrrationalConstants.Twoπ}, ::Type{ForwardDiff.Dual{ForwardDiff.Tag{OptimizationReverseDiffExt.OptimizationReverseDiffTag, Float64}, Float64, 12}}) is ambiguous. Candidates: promote_rule(::Type{S}, ::Type{T}) where {S
This PR adds Aqua tests.