@@ -290,13 +290,13 @@ function OptimizationBase.instantiate_function(
290
290
adtype, soadtype = OptimizationBase. generate_sparse_adtype (adtype)
291
291
292
292
if g == true && f. grad === nothing
293
- extras_grad = prepare_gradient (_f , adtype. dense_ad, x, Constant (p))
293
+ extras_grad = prepare_gradient (f . f , adtype. dense_ad, x, Constant (p))
294
294
function grad (res, θ)
295
- gradient! (_f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
295
+ gradient! (f . f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
296
296
end
297
297
if p != = SciMLBase. NullParameters () && p != = nothing
298
298
function grad (res, θ, p)
299
- gradient! (_f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
299
+ gradient! (f . f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
300
300
end
301
301
end
302
302
elseif g == true
@@ -307,17 +307,17 @@ function OptimizationBase.instantiate_function(
307
307
308
308
if fg == true && f. fg === nothing
309
309
if g == false
310
- extras_grad = prepare_gradient (_f , adtype. dense_ad, x, Constant (p))
310
+ extras_grad = prepare_gradient (f . f , adtype. dense_ad, x, Constant (p))
311
311
end
312
312
function fg! (res, θ)
313
313
(y, _) = value_and_gradient! (
314
- _f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
314
+ f . f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
315
315
return y
316
316
end
317
317
if p != = SciMLBase. NullParameters () && p != = nothing
318
318
function fg! (res, θ, p)
319
319
(y, _) = value_and_gradient! (
320
- _f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
320
+ f . f , res, extras_grad, adtype. dense_ad, θ, Constant (p))
321
321
return y
322
322
end
323
323
end
@@ -330,16 +330,16 @@ function OptimizationBase.instantiate_function(
330
330
hess_sparsity = f. hess_prototype
331
331
hess_colors = f. hess_colorvec
332
332
if h == true && f. hess === nothing
333
- prep_hess = prepare_hessian (_f , soadtype, x, Constant (p))
333
+ prep_hess = prepare_hessian (f . f , soadtype, x, Constant (p))
334
334
function hess (res, θ)
335
- hessian! (_f , res, prep_hess, soadtype, θ, Constant (p))
335
+ hessian! (f . f , res, prep_hess, soadtype, θ, Constant (p))
336
336
end
337
- hess_sparsity = extras_hess . coloring_result. S
338
- hess_colors = extras_hess . coloring_result. color
337
+ hess_sparsity = prep_hess . coloring_result. S
338
+ hess_colors = prep_hess . coloring_result. color
339
339
340
340
if p != = SciMLBase. NullParameters () && p != = nothing
341
341
function hess (res, θ, p)
342
- hessian! (_f , res, prep_hess, soadtype, θ, Constant (p))
342
+ hessian! (f . f , res, prep_hess, soadtype, θ, Constant (p))
343
343
end
344
344
end
345
345
elseif h == true
@@ -351,14 +351,14 @@ function OptimizationBase.instantiate_function(
351
351
if fgh == true && f. fgh === nothing
352
352
function fgh! (G, H, θ)
353
353
(y, _, _) = value_derivative_and_second_derivative! (
354
- _f , G, H, θ, prep_hess, soadtype, Constant (p))
354
+ f . f , G, H, θ, prep_hess, soadtype, Constant (p))
355
355
return y
356
356
end
357
357
358
358
if p != = SciMLBase. NullParameters () && p != = nothing
359
359
function fgh! (G, H, θ, p)
360
360
(y, _, _) = value_derivative_and_second_derivative! (
361
- _f , G, H, θ, prep_hess, soadtype, Constant (p))
361
+ f . f , G, H, θ, prep_hess, soadtype, Constant (p))
362
362
return y
363
363
end
364
364
end
@@ -371,11 +371,11 @@ function OptimizationBase.instantiate_function(
371
371
if hv == true && f. hv === nothing
372
372
prep_hvp = prepare_hvp (_f, soadtype. dense_ad, x, zeros (eltype (x), size (x)))
373
373
function hv! (H, θ, v)
374
- hvp! (_f, H , prep_hvp, soadtype. dense_ad, θ, (v,), Constant (p))
374
+ hvp! (f . f, (H,) , prep_hvp, soadtype. dense_ad, θ, (v,), Constant (p))
375
375
end
376
376
if p != = SciMLBase. NullParameters () && p != = nothing
377
377
function hv! (H, θ, v, p)
378
- hvp! (_f, H , prep_hvp, soadtype. dense_ad, θ, (v,), Constant (p))
378
+ hvp! (f . f, (H,) , prep_hvp, soadtype. dense_ad, θ, (v,), Constant (p))
379
379
end
380
380
end
381
381
elseif hv == true
@@ -411,15 +411,15 @@ function OptimizationBase.instantiate_function(
411
411
cons_jac_prototype = f. cons_jac_prototype
412
412
cons_jac_colorvec = f. cons_jac_colorvec
413
413
if cons != = nothing && cons_j == true && f. cons_j === nothing
414
- prep_jac = prepare_jacobian (cons_oop, adtype, x, Constant (p) )
414
+ prep_jac = prepare_jacobian (cons_oop, adtype, x)
415
415
function cons_j! (J, θ)
416
- jacobian! (cons_oop, J, prep_jac, adtype, θ, Constant (p) )
416
+ jacobian! (cons_oop, J, prep_jac, adtype, θ)
417
417
if size (J, 1 ) == 1
418
418
J = vec (J)
419
419
end
420
420
end
421
- cons_jac_prototype = extras_jac . coloring_result. S
422
- cons_jac_colorvec = extras_jac . coloring_result. color
421
+ cons_jac_prototype = prep_jac . coloring_result. S
422
+ cons_jac_colorvec = prep_jac . coloring_result. color
423
423
elseif cons != = nothing && cons_j == true
424
424
cons_j! = (J, θ) -> f. cons_j (J, θ, p)
425
425
else
@@ -428,10 +428,10 @@ function OptimizationBase.instantiate_function(
428
428
429
429
if f. cons_vjp === nothing && cons_vjp == true && cons != = nothing
430
430
extras_pullback = prepare_pullback (
431
- cons_oop, adtype. dense_ad, x, (ones (eltype (x), num_cons),), Constant (p) )
431
+ cons_oop, adtype. dense_ad, x, (ones (eltype (x), num_cons),))
432
432
function cons_vjp! (J, θ, v)
433
433
pullback! (
434
- cons_oop, (J,), extras_pullback, adtype. dense_ad, θ, (v,), Constant (p) )
434
+ cons_oop, (J,), extras_pullback, adtype. dense_ad, θ, (v,))
435
435
end
436
436
elseif cons_vjp == true
437
437
cons_vjp! = (J, θ, v) -> f. cons_vjp (J, θ, v, p)
@@ -441,10 +441,10 @@ function OptimizationBase.instantiate_function(
441
441
442
442
if f. cons_jvp === nothing && cons_jvp == true && cons != = nothing
443
443
extras_pushforward = prepare_pushforward (
444
- cons_oop, adtype. dense_ad, x, (ones (eltype (x), length (x)),), Constant (p) )
444
+ cons_oop, adtype. dense_ad, x, (ones (eltype (x), length (x)),))
445
445
function cons_jvp! (J, θ, v)
446
446
pushforward! (
447
- cons_oop, (J,), extras_pushforward, adtype. dense_ad, θ, (v,), Constant (p) )
447
+ cons_oop, (J,), extras_pushforward, adtype. dense_ad, θ, (v,))
448
448
end
449
449
elseif cons_jvp == true
450
450
cons_jvp! = (J, θ, v) -> f. cons_jvp (J, θ, v, p)
@@ -482,7 +482,7 @@ function OptimizationBase.instantiate_function(
482
482
483
483
function lag_h! (H:: AbstractMatrix , θ, σ, λ)
484
484
if σ == zero (eltype (θ))
485
- cons_h (H, θ)
485
+ cons_h! (H, θ)
486
486
H *= λ
487
487
else
488
488
hessian! (lagrangian, H, lag_extras, soadtype, θ,
0 commit comments