@@ -307,14 +307,14 @@ function prepare_vjp(::Val{false}, prob::AbstractNonlinearProblem,
307
307
@assert DI. check_inplace (autodiff) " Backend: $(autodiff) doesn't support in-place \
308
308
problems."
309
309
fu_cache = copy (fu)
310
- di_extras = DI. prepare_pullback (f, fu_cache, autodiff, u, (fu,), Constant (prob. p))
310
+ di_extras = DI. prepare_pullback (f, fu_cache, autodiff, u, (fu,), Constant (prob. p), strict = Val ( false ) )
311
311
return @closure (vJ, v, u, p) -> begin
312
312
DI. pullback! (f, fu_cache, (reshape (vJ, size (u)),), di_extras, autodiff,
313
313
u, (reshape (v, size (fu_cache)),), Constant (p))
314
314
return
315
315
end
316
316
else
317
- di_extras = DI. prepare_pullback (f, autodiff, u, (fu,), Constant (prob. p))
317
+ di_extras = DI. prepare_pullback (f, autodiff, u, (fu,), Constant (prob. p), strict = Val ( false ) )
318
318
return @closure (v, u, p) -> begin
319
319
return only (DI. pullback (
320
320
f, di_extras, autodiff, u, (reshape (v, size (fu)),), Constant (p)))
@@ -352,14 +352,14 @@ function prepare_jvp(::Val{false}, prob::AbstractNonlinearProblem,
352
352
@assert DI. check_inplace (autodiff) " Backend: $(autodiff) doesn't support in-place \
353
353
problems."
354
354
fu_cache = copy (fu)
355
- di_extras = DI. prepare_pushforward (f, fu_cache, autodiff, u, (u,), Constant (prob. p))
355
+ di_extras = DI. prepare_pushforward (f, fu_cache, autodiff, u, (u,), Constant (prob. p), strict = Val ( false ) )
356
356
return @closure (Jv, v, u, p) -> begin
357
357
DI. pushforward! (f, fu_cache, (reshape (Jv, size (fu_cache)),), di_extras,
358
358
autodiff, u, (reshape (v, size (u)),), Constant (p))
359
359
return
360
360
end
361
361
else
362
- di_extras = DI. prepare_pushforward (f, autodiff, u, (u,), Constant (prob. p))
362
+ di_extras = DI. prepare_pushforward (f, autodiff, u, (u,), Constant (prob. p), strict = Val ( false ) )
363
363
return @closure (v, u, p) -> begin
364
364
return only (DI. pushforward (
365
365
f, di_extras, autodiff, u, (reshape (v, size (u)),), Constant (p)))
@@ -375,7 +375,7 @@ function prepare_scalar_op(::Val{false}, prob::AbstractNonlinearProblem,
375
375
376
376
@assert autodiff!= = nothing " `autodiff` must be provided if `f` doesn't have \
377
377
analytic `vjp` or `jvp` or `jac`."
378
- di_extras = DI. prepare_derivative (f, autodiff, u, Constant (prob. p))
378
+ di_extras = DI. prepare_derivative (f, autodiff, u, Constant (prob. p), strict = Val ( false ) )
379
379
return @closure (v, u, p) -> DI. derivative (f, di_extras, autodiff, u, Constant (p)) * v
380
380
end
381
381
0 commit comments