@@ -11,16 +11,15 @@ mutable struct NLSProjector{T, S} <: AbstractNLSModel{T, S}
11
11
nls_meta:: NLSMeta{T, S}
12
12
counters:: NLSCounters
13
13
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}
15
19
nvar = length (d)
16
20
x0 = d # fill!(S(undef, nvar), zero(T))
17
21
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 )
24
23
return new {T, S} (model, meta, nls_meta, NLSCounters (), d)
25
24
end
26
25
end
@@ -36,14 +35,18 @@ function NLPModels.jac_structure_residual!(
36
35
cols:: AbstractVector{<:Integer} ,
37
36
)
38
37
@lencheck model. nls_meta. nnzj rows cols
39
- for i= 1 : model. meta. nvar
38
+ for i = 1 : ( model. meta. nvar)
40
39
rows[i] = i
41
40
cols[i] = i
42
41
end
43
42
return rows, cols
44
43
end
45
44
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}
47
50
@lencheck model. meta. nvar x
48
51
@lencheck model. nls_meta. nnzj vals
49
52
increment! (model, :neval_jac_residual )
@@ -89,7 +92,21 @@ function NLPModels.hprod_residual!(::NLSProjector, x, i, v, Hiv)
89
92
return Hiv
90
93
end
91
94
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
+ ]
93
110
premeth = Symbol (" NLPModels." , meth)
94
111
@eval begin
95
112
$ premeth (model:: NLSProjector , args... ; kwargs... ) = $ meth (model. model, args... ; kwargs... )
0 commit comments