@@ -11,16 +11,15 @@ mutable struct NLSProjector{T, S} <: AbstractNLSModel{T, S}
1111 nls_meta:: NLSMeta{T, S}
1212 counters:: NLSCounters
1313 d:: S
14- function NLSProjector (model:: AbstractNLSModel{T, S} , d:: S ; name = " Projection over $(model. meta. name) " ) where {T, S}
14+ function NLSProjector (
15+ model:: AbstractNLSModel{T, S} ,
16+ d:: S ;
17+ name = " Projection over $(model. meta. name) " ,
18+ ) where {T, S}
1519 nvar = length (d)
1620 x0 = d # fill!(S(undef, nvar), zero(T))
1721 meta = NLPModelMeta {T, S} (nvar, x0 = x0, name = name)
18- nls_meta = NLSMeta {T, S} (
19- nvar,
20- nvar,
21- nnzj = nvar,
22- nnzh = 0 ,
23- )
22+ nls_meta = NLSMeta {T, S} (nvar, nvar, nnzj = nvar, nnzh = 0 )
2423 return new {T, S} (model, meta, nls_meta, NLSCounters (), d)
2524 end
2625end
@@ -36,14 +35,18 @@ function NLPModels.jac_structure_residual!(
3635 cols:: AbstractVector{<:Integer} ,
3736)
3837 @lencheck model. nls_meta. nnzj rows cols
39- for i= 1 : model. meta. nvar
38+ for i = 1 : ( model. meta. nvar)
4039 rows[i] = i
4140 cols[i] = i
4241 end
4342 return rows, cols
4443end
4544
46- function NLPModels. jac_coord_residual! (model:: NLSProjector{T, S} , x:: AbstractVector , vals:: AbstractVector ) where {T, S}
45+ function NLPModels. jac_coord_residual! (
46+ model:: NLSProjector{T, S} ,
47+ x:: AbstractVector ,
48+ vals:: AbstractVector ,
49+ ) where {T, S}
4750 @lencheck model. meta. nvar x
4851 @lencheck model. nls_meta. nnzj vals
4952 increment! (model, :neval_jac_residual )
@@ -89,7 +92,21 @@ function NLPModels.hprod_residual!(::NLSProjector, x, i, v, Hiv)
8992 return Hiv
9093end
9194
92- for meth in [:cons! , :jth_congrad! , :jth_sparse_congrad , :jac_structure! , :jac_coord! , :jprod! , :jtprod! , :jth_hess_coord! , :jth_hprod! , :ghjvprod! , :hess_structure! , :hess_coord! , :hprod! ]
95+ for meth in [
96+ :cons! ,
97+ :jth_congrad! ,
98+ :jth_sparse_congrad ,
99+ :jac_structure! ,
100+ :jac_coord! ,
101+ :jprod! ,
102+ :jtprod! ,
103+ :jth_hess_coord! ,
104+ :jth_hprod! ,
105+ :ghjvprod! ,
106+ :hess_structure! ,
107+ :hess_coord! ,
108+ :hprod! ,
109+ ]
93110 premeth = Symbol (" NLPModels." , meth)
94111 @eval begin
95112 $ premeth (model:: NLSProjector , args... ; kwargs... ) = $ meth (model. model, args... ; kwargs... )
0 commit comments