@@ -83,6 +83,21 @@ function preprocess(stp::NLPStopping, PData::TPData, workspace::TRARCWorkspace,
8383 return PData
8484end
8585
86+ function preprocess (
87+ stp:: NLPStopping ,
88+ PData:: PDataIterLS ,
89+ workspace:: TRARCWorkspace{T,S,Hess} ,
90+ ∇f,
91+ norm_∇f,
92+ α,
93+ ) where {T,S,Hess<: HessGaussNewtonOp }
94+ max_hprod = stp. meta. max_cntrs[:neval_jprod_residual ]
95+ Fx = workspace. Fx
96+ Jx = jac_op_residual! (stp. pb, workspace. xt, workspace. Hstruct. Jv, workspace. Hstruct. Jtv)
97+ PData = ARCTR. preprocess (PData, Jx, Fx, norm_∇f, neval_jprod_residual (stp. pb), max_hprod, α)
98+ return PData
99+ end
100+
86101function compute_direction (
87102 stp:: NLPStopping ,
88103 PData:: TPData ,
@@ -132,21 +147,21 @@ function hessian!(workspace::TRARCWorkspace, nlp, x)
132147end
133148
134149function TRARC (
135- nlp_stop:: NLPStopping{Pb, M, SRC, NLPAtX{Score, T, S}, MStp, LoS} ;
136- TR:: TrustRegion = TrustRegion (T (10.0 )),
137- hess_type:: Type{Hess} = HessOp,
138- pdata_type:: Type{ParamData} = PDataKARC,
139- kwargs... ,
140- ) where {Pb, M, SRC, MStp, LoS, Score, S, T, Hess, ParamData}
141- nlp = nlp_stop. pb
142-
143- if ParamData == PDataNLSST
144- PData = PDataNLSST (S, T, nlp. meta. nvar, nlp. nls_meta. nequ; kwargs... )
145- else
146- PData = ParamData (S, T, nlp. meta. nvar; kwargs... )
147- end
148- workspace = TRARCWorkspace (nlp, Hess)
149- return TRARC (nlp_stop, PData, workspace, TR; kwargs... )
150+ nlp_stop:: NLPStopping{Pb,M, SRC,NLPAtX{Score,T, S},MStp,LoS} ;
151+ TR:: TrustRegion = TrustRegion (T (10.0 )),
152+ hess_type:: Type{Hess} = HessOp,
153+ pdata_type:: Type{ParamData} = PDataKARC,
154+ kwargs... ,
155+ ) where {Pb,M, SRC,MStp,LoS,Score,S,T, Hess,ParamData}
156+ nlp = nlp_stop. pb
157+
158+ if ParamData in ( PDataNLSST, PDataLSKARC)
159+ PData = ParamData (S, T, nlp. meta. nvar, nlp. nls_meta. nequ; kwargs... )
160+ else
161+ PData = ParamData (S, T, nlp. meta. nvar; kwargs... )
162+ end
163+ workspace = TRARCWorkspace (nlp, Hess)
164+ return TRARC (nlp_stop, PData, workspace, TR; kwargs... )
150165end
151166
152167"""
0 commit comments