1
+ using Base: @deprecate
2
+
1
3
export obj, grad, grad!, objgrad, objgrad!, objcons, objcons!
2
4
export cons, cons!, cons_lin, cons_lin!, cons_nln, cons_nln!
3
5
export jth_con, jth_congrad, jth_congrad!, jth_sparse_congrad
@@ -266,10 +268,10 @@ function jac_coord!(nlp::AbstractNLPModel, x::AbstractVector, vals::AbstractVect
266
268
increment! (nlp, :neval_jac )
267
269
if nlp. meta. nlin > 0
268
270
if nlp. meta. nnln == 0
269
- jac_lin_coord! (nlp, x, vals)
271
+ jac_lin_coord! (nlp, vals)
270
272
else
271
273
lin_ind = 1 : (nlp. meta. lin_nnzj)
272
- jac_lin_coord! (nlp, x, view (vals, lin_ind))
274
+ jac_lin_coord! (nlp, view (vals, lin_ind))
273
275
end
274
276
end
275
277
if nlp. meta. nnln > 0
@@ -307,36 +309,40 @@ function jac(nlp::AbstractNLPModel, x::AbstractVector)
307
309
end
308
310
309
311
"""
310
- vals = jac_lin_coord!(nlp, x, vals)
312
+ vals = jac_lin_coord!(nlp, vals)
311
313
312
- Evaluate ``J(x)``, the linear constraints Jacobian at `x` in sparse coordinate format,
314
+ Evaluate the linear constraints Jacobian in sparse coordinate format,
313
315
overwriting `vals`.
314
316
"""
315
317
function jac_lin_coord! end
316
318
319
+ @deprecate jac_lin_coord! (nlp:: AbstractNLPModel , x:: AbstractVector , vals:: AbstractVector ) jac_lin_coord! (nlp, vals)
320
+
317
321
"""
318
- vals = jac_lin_coord(nlp, x )
322
+ vals = jac_lin_coord(nlp)
319
323
320
- Evaluate ``J(x)``, the linear constraints Jacobian at `x` in sparse coordinate format.
324
+ Evaluate the linear constraints Jacobian in sparse coordinate format.
321
325
"""
322
- function jac_lin_coord (nlp:: AbstractNLPModel{T, S} , x:: AbstractVector ) where {T, S}
323
- @lencheck nlp. meta. nvar x
326
+ function jac_lin_coord (nlp:: AbstractNLPModel{T, S} ) where {T, S}
324
327
vals = S (undef, nlp. meta. lin_nnzj)
325
- return jac_lin_coord! (nlp, x, vals)
328
+ return jac_lin_coord! (nlp, vals)
326
329
end
327
330
331
+ @deprecate jac_lin_coord (nlp:: AbstractNLPModel , x:: AbstractVector ) jac_lin_coord (nlp)
332
+
328
333
"""
329
- Jx = jac_lin(nlp, x )
334
+ Jx = jac_lin(nlp)
330
335
331
- Evaluate ``J(x)``, the linear constraints Jacobian at `x` as a sparse matrix.
336
+ Evaluate the linear constraints Jacobian as a sparse matrix.
332
337
"""
333
- function jac_lin (nlp:: AbstractNLPModel , x:: AbstractVector )
334
- @lencheck nlp. meta. nvar x
338
+ function jac_lin (nlp:: AbstractNLPModel )
335
339
rows, cols = jac_lin_structure (nlp)
336
- vals = jac_lin_coord (nlp, x )
340
+ vals = jac_lin_coord (nlp)
337
341
sparse (rows, cols, vals, nlp. meta. nlin, nlp. meta. nvar)
338
342
end
339
343
344
+ @deprecate jac_lin (nlp:: AbstractNLPModel , x:: AbstractVector ) jac_lin (nlp)
345
+
340
346
"""
341
347
vals = jac_nln_coord!(nlp, x, vals)
342
348
@@ -390,9 +396,9 @@ function jprod!(nlp::AbstractNLPModel, x::AbstractVector, v::AbstractVector, Jv:
390
396
increment! (nlp, :neval_jprod )
391
397
if nlp. meta. nlin > 0
392
398
if nlp. meta. nnln == 0
393
- jprod_lin! (nlp, x, v, Jv)
399
+ jprod_lin! (nlp, v, Jv)
394
400
else
395
- jprod_lin! (nlp, x, v, view (Jv, nlp. meta. lin))
401
+ jprod_lin! (nlp, v, view (Jv, nlp. meta. lin))
396
402
end
397
403
end
398
404
if nlp. meta. nnln > 0
@@ -427,23 +433,26 @@ function jprod!(
427
433
end
428
434
429
435
"""
430
- Jv = jprod_lin(nlp, x, v)
436
+ Jv = jprod_lin(nlp, v)
431
437
432
438
Evaluate ``J(x)v``, the linear Jacobian-vector product at `x`.
433
439
"""
434
- function jprod_lin (nlp:: AbstractNLPModel{T, S} , x :: AbstractVector , v:: AbstractVector ) where {T, S}
435
- @lencheck nlp. meta. nvar x v
440
+ function jprod_lin (nlp:: AbstractNLPModel{T, S} , v:: AbstractVector ) where {T, S}
441
+ @lencheck nlp. meta. nvar v
436
442
Jv = S (undef, nlp. meta. nlin)
437
- return jprod_lin! (nlp, x, v, Jv)
443
+ return jprod_lin! (nlp, v, Jv)
438
444
end
439
445
440
446
"""
441
- Jv = jprod_lin!(nlp, x, v, Jv)
447
+ Jv = jprod_lin!(nlp, v, Jv)
442
448
443
449
Evaluate ``J(x)v``, the linear Jacobian-vector product at `x` in place.
444
450
"""
445
451
function jprod_lin! end
446
452
453
+ @deprecate jprod_lin (nlp:: AbstractNLPModel , x:: AbstractVector , v:: AbstractVector ) jprod_lin (nlp, v)
454
+ @deprecate jprod_lin! (nlp:: AbstractNLPModel , x:: AbstractVector , v:: AbstractVector , Jv:: AbstractVector ) jprod_lin! (nlp, v, Jv)
455
+
447
456
"""
448
457
Jv = jprod_lin!(nlp, rows, cols, vals, v, Jv)
449
458
@@ -527,18 +536,18 @@ function jtprod!(nlp::AbstractNLPModel, x::AbstractVector, v::AbstractVector, Jt
527
536
@lencheck nlp. meta. ncon v
528
537
increment! (nlp, :neval_jtprod )
529
538
if nlp. meta. nnln == 0
530
- (nlp. meta. nlin > 0 ) && jtprod_lin! (nlp, x, v, Jtv)
539
+ (nlp. meta. nlin > 0 ) && jtprod_lin! (nlp, v, Jtv)
531
540
elseif nlp. meta. nlin == 0
532
541
(nlp. meta. nnln > 0 ) && jtprod_nln! (nlp, x, v, Jtv)
533
542
elseif nlp. meta. nlin >= nlp. meta. nnln
534
- jtprod_lin! (nlp, x, view (v, nlp. meta. lin), Jtv)
543
+ jtprod_lin! (nlp, view (v, nlp. meta. lin), Jtv)
535
544
if nlp. meta. nnln > 0
536
545
Jtv .+ = jtprod_nln (nlp, x, view (v, nlp. meta. nln))
537
546
end
538
547
else
539
548
jtprod_nln! (nlp, x, view (v, nlp. meta. nln), Jtv)
540
549
if nlp. meta. nlin > 0
541
- Jtv .+ = jtprod_lin (nlp, x, view (v, nlp. meta. lin))
550
+ Jtv .+ = jtprod_lin (nlp, view (v, nlp. meta. lin))
542
551
end
543
552
end
544
553
return Jtv
@@ -566,24 +575,26 @@ function jtprod!(
566
575
end
567
576
568
577
"""
569
- Jtv = jtprod_lin(nlp, x, v)
578
+ Jtv = jtprod_lin(nlp, v)
570
579
571
580
Evaluate ``J(x)^Tv``, the linear transposed-Jacobian-vector product at `x`.
572
581
"""
573
- function jtprod_lin (nlp:: AbstractNLPModel{T, S} , x:: AbstractVector , v:: AbstractVector ) where {T, S}
574
- @lencheck nlp. meta. nvar x
582
+ function jtprod_lin (nlp:: AbstractNLPModel{T, S} , v:: AbstractVector ) where {T, S}
575
583
@lencheck nlp. meta. nlin v
576
584
Jtv = S (undef, nlp. meta. nvar)
577
- return jtprod_lin! (nlp, x, v, Jtv)
585
+ return jtprod_lin! (nlp, v, Jtv)
578
586
end
579
587
580
588
"""
581
- Jtv = jtprod_lin!(nlp, x, v, Jtv)
589
+ Jtv = jtprod_lin!(nlp, v, Jtv)
582
590
583
591
Evaluate ``J(x)^Tv``, the linear transposed-Jacobian-vector product at `x` in place.
584
592
"""
585
593
function jtprod_lin! end
586
594
595
+ @deprecate jtprod_lin (nlp:: AbstractNLPModel , x:: AbstractVector , v:: AbstractVector ) jtprod_lin (nlp, v)
596
+ @deprecate jtprod_lin! (nlp:: AbstractNLPModel , x:: AbstractVector , v:: AbstractVector , Jtv:: AbstractVector ) jtprod_lin! (nlp, v, Jtv)
597
+
587
598
"""
588
599
Jtv = jtprod_lin!(nlp, rows, cols, vals, v, Jtv)
589
600
@@ -736,37 +747,37 @@ function jac_op!(
736
747
end
737
748
738
749
"""
739
- J = jac_lin_op(nlp, x )
750
+ J = jac_lin_op(nlp)
740
751
741
- Return the linear Jacobian at `x` as a linear operator.
752
+ Return the linear Jacobian as a linear operator.
742
753
The resulting object may be used as if it were a matrix, e.g., `J * v` or
743
754
`J' * v`.
744
755
"""
745
- function jac_lin_op (nlp:: AbstractNLPModel{T, S} , x:: AbstractVector ) where {T, S}
746
- @lencheck nlp. meta. nvar x
756
+ function jac_lin_op (nlp:: AbstractNLPModel{T, S} ) where {T, S}
747
757
Jv = S (undef, nlp. meta. nlin)
748
758
Jtv = S (undef, nlp. meta. nvar)
749
- return jac_lin_op! (nlp, x, Jv, Jtv)
759
+ return jac_lin_op! (nlp, Jv, Jtv)
750
760
end
751
761
762
+ @deprecate jac_lin_op (nlp:: AbstractNLPModel , x:: AbstractVector ) jac_lin_op (nlp)
763
+
752
764
"""
753
- J = jac_lin_op!(nlp, x, Jv, Jtv)
765
+ J = jac_lin_op!(nlp, Jv, Jtv)
754
766
755
- Return the linear Jacobian at `x` as a linear operator.
767
+ Return the linear Jacobian as a linear operator.
756
768
The resulting object may be used as if it were a matrix, e.g., `J * v` or
757
769
`J' * v`. The values `Jv` and `Jtv` are used as preallocated storage for the
758
770
operations.
759
771
"""
760
772
function jac_lin_op! (
761
773
nlp:: AbstractNLPModel{T, S} ,
762
- x:: AbstractVector{T} ,
763
774
Jv:: AbstractVector ,
764
775
Jtv:: AbstractVector ,
765
776
) where {T, S}
766
- @lencheck nlp. meta. nvar x Jtv
767
777
@lencheck nlp. meta. nlin Jv
778
+ @lencheck nlp. meta. nvar Jtv
768
779
prod! = @closure (res, v, α, β) -> begin # res = α * J * v + β * res
769
- jprod_lin! (nlp, x, v, Jv)
780
+ jprod_lin! (nlp, v, Jv)
770
781
if β == 0
771
782
res .= α .* Jv
772
783
else
@@ -775,7 +786,7 @@ function jac_lin_op!(
775
786
return res
776
787
end
777
788
ctprod! = @closure (res, v, α, β) -> begin
778
- jtprod_lin! (nlp, x, v, Jtv)
789
+ jtprod_lin! (nlp, v, Jtv)
779
790
if β == 0
780
791
res .= α .* Jtv
781
792
else
@@ -786,6 +797,8 @@ function jac_lin_op!(
786
797
return LinearOperator {T} (nlp. meta. nlin, nlp. meta. nvar, false , false , prod!, ctprod!, ctprod!)
787
798
end
788
799
800
+ @deprecate jac_lin_op! (nlp:: AbstractNLPModel , x:: AbstractVector , Jv:: AbstractVector , Jtv:: AbstractVector ) jac_lin_op! (nlp, Jv, Jtv)
801
+
789
802
"""
790
803
J = jac_lin_op!(nlp, rows, cols, vals, Jv, Jtv)
791
804
0 commit comments