diff --git a/src/jacobian.jl b/src/jacobian.jl index 0cd45097..b8e663c9 100644 --- a/src/jacobian.jl +++ b/src/jacobian.jl @@ -14,6 +14,7 @@ function ConstructSparseJacobian(f!::BVPJacobianWrapper, S::BVPSystem, y) similar(y),similar(y),similar(y)) function fg!(x::Vector, fx::Vector, gx) DiffEqDiffTools.finite_difference_jacobian!(gx, f!, x, jac_cache) + f!(fx,x) end g!(x::Vector, gx::Array) = (fx = similar(x); fg!(x, fx, gx)) J = bzeros(eltype(S.y[1]), S.M*S.N, S.M*S.N, S.M-1, S.M-1) @@ -26,6 +27,7 @@ function ConstructJacobian(f!::BVPJacobianWrapper, S::BVPSystem, y) similar(y),similar(y),similar(y)) function fg!(x::Vector, fx::Vector, gx) DiffEqDiffTools.finite_difference_jacobian!(gx, f!, x, jac_cache) + f!(fx,x) end g!(x::Vector, gx::Array) = (fx = similar(x); fg!(x, fx, gx)) NLsolve.DifferentiableMultivariateFunction(f!.loss, g!, fg!)