|
| 1 | +function jprod!(nlp::AbstractNLPModel, v::AbstractVector, Jv::AbstractVector) |
| 2 | + throw(MethodError(jprod!, (nlp, v, Jv))) |
| 3 | +end |
| 4 | +""" |
| 5 | + Jv = jprod_lin!(nlp, rows, cols, vals, v, Jv) |
| 6 | +
|
| 7 | +Evaluate the linear Jacobian-vector product, where the Jacobian is given by |
| 8 | +`(rows, cols, vals)` in triplet format. |
| 9 | +""" |
| 10 | +function jprod_lin!( |
| 11 | + nlp::AbstractNLPModel, |
| 12 | + rows::AbstractVector{<:Integer}, |
| 13 | + cols::AbstractVector{<:Integer}, |
| 14 | + vals::AbstractVector, |
| 15 | + v::AbstractVector, |
| 16 | + Jv::AbstractVector, |
| 17 | +) |
| 18 | + @lencheck nlp.meta.lin_nnzj rows cols vals |
| 19 | + @lencheck nlp.meta.nvar v |
| 20 | + @lencheck nlp.meta.nlin Jv |
| 21 | + increment!(nlp, :neval_jprod_lin) |
| 22 | + coo_prod!(rows, cols, vals, v, Jv) |
| 23 | +end |
| 24 | + |
| 25 | +""" |
| 26 | + Jtv = jtprod_lin!(nlp, rows, cols, vals, v, Jtv) |
| 27 | +
|
| 28 | +Evaluate the linear transposed-Jacobian-vector product, where the Jacobian is given by |
| 29 | +`(rows, cols, vals)` in triplet format. |
| 30 | +""" |
| 31 | +function jtprod_lin!( |
| 32 | + nlp::AbstractNLPModel, |
| 33 | + rows::AbstractVector{<:Integer}, |
| 34 | + cols::AbstractVector{<:Integer}, |
| 35 | + vals::AbstractVector, |
| 36 | + v::AbstractVector, |
| 37 | + Jtv::AbstractVector, |
| 38 | +) |
| 39 | + @lencheck nlp.meta.lin_nnzj rows cols vals |
| 40 | + @lencheck nlp.meta.nlin v |
| 41 | + @lencheck nlp.meta.nvar Jtv |
| 42 | + increment!(nlp, :neval_jtprod_lin) |
| 43 | + coo_prod!(cols, rows, vals, v, Jtv) |
| 44 | +end |
1 | 45 | using Base: @deprecate
|
2 | 46 |
|
3 | 47 | export obj, grad, grad!, objgrad, objgrad!, objcons, objcons!
|
|
453 | 497 | Evaluate ``Jv``, the linear Jacobian-vector product at `x` in place.
|
454 | 498 | """
|
455 | 499 | function jprod_lin!(nlp::AbstractNLPModel, v::AbstractVector, Jv::AbstractVector)
|
456 |
| - @lencheck nlp.meta.nvar v |
457 |
| - @lencheck nlp.meta.nlin Jv |
458 |
| - increment!(nlp, :neval_jprod_lin) |
459 |
| - coo_prod!(v, Jv) |
| 500 | + throw(MethodError(jprod_lin!, (nlp, v, Jv))) |
460 | 501 | end
|
461 | 502 |
|
462 | 503 | @deprecate jprod_lin!(nlp::AbstractNLPModel, x::AbstractVector, v::AbstractVector, Jv::AbstractVector) jprod_lin!(nlp, v, Jv)
|
|
580 | 621 | Evaluate ``Jtv``, the linear transposed-Jacobian-vector product at `x` in place.
|
581 | 622 | """
|
582 | 623 | function jtprod_lin!(nlp::AbstractNLPModel, v::AbstractVector, Jtv::AbstractVector)
|
583 |
| - @lencheck nlp.meta.nlin v |
584 |
| - @lencheck nlp.meta.nvar Jtv |
585 |
| - increment!(nlp, :neval_jtprod_lin) |
586 |
| - coo_prod!(v, Jtv) |
| 624 | + throw(MethodError(jtprod_lin!, (nlp, v, Jtv))) |
587 | 625 | end
|
588 | 626 |
|
589 | 627 | @deprecate jtprod_lin!(nlp::AbstractNLPModel, x::AbstractVector, v::AbstractVector, Jtv::AbstractVector) jtprod_lin!(nlp, v, Jtv)
|
|
0 commit comments