@@ -196,77 +196,12 @@ void hiopIterate::setEqualityDualsToConstant(const double& v)
196196 yd->setToConstant (v);
197197}
198198
199- // double hiopIterate::normOneOfBoundDuals() const
200- // {
201- // #ifdef HIOP_DEEPCHECKS
202- // assert(zl->matchesPattern(nlp->get_ixl()));
203- // assert(zu->matchesPattern(nlp->get_ixu()));
204- // assert(vl->matchesPattern(nlp->get_idl()));
205- // assert(vu->matchesPattern(nlp->get_idu()));
206- // #endif
207- // // work locally with all the vectors. This will result in only one MPI_Allreduce call instead of two.
208- // double nrm1 = zl->onenorm_local() + zu->onenorm_local();
209- // #ifdef HIOP_USE_MPI
210- // double nrm1_global;
211- // int ierr = MPI_Allreduce(&nrm1, &nrm1_global, 1, MPI_DOUBLE, MPI_SUM, nlp->get_comm());
212- // assert(MPI_SUCCESS == ierr);
213- // nrm1 = nrm1_global;
214- // #endif
215- // nrm1 += vl->onenorm_local() + vu->onenorm_local();
216- // return nrm1;
217- // }
218-
219- // double hiopIterate::normOneOfEqualityDuals() const
220- // {
221- // #ifdef HIOP_DEEPCHECKS
222- // assert(zl->matchesPattern(nlp->get_ixl()));
223- // assert(zu->matchesPattern(nlp->get_ixu()));
224- // assert(vl->matchesPattern(nlp->get_idl()));
225- // assert(vu->matchesPattern(nlp->get_idu()));
226- // #endif
227- // // work locally with all the vectors. This will result in only one MPI_Allreduce call instead of two.
228- // double nrm1 = zl->onenorm_local() + zu->onenorm_local();
229- // #ifdef HIOP_USE_MPI
230- // double nrm1_global;
231- // int ierr = MPI_Allreduce(&nrm1, &nrm1_global, 1, MPI_DOUBLE, MPI_SUM, nlp->get_comm());
232- // assert(MPI_SUCCESS == ierr);
233- // nrm1 = nrm1_global;
234- // #endif
235- // nrm1 += vl->onenorm_local() + vu->onenorm_local() + yc->onenorm_local() + yd->onenorm_local();
236- // return nrm1;
237- // }
238-
239- // void hiopIterate::normOneOfDuals(double& nrm1Eq, double& nrm1Bnd) const
240- // {
241- // #ifdef HIOP_DEEPCHECKS
242- // assert(zl->matchesPattern(nlp->get_ixl()));
243- // assert(zu->matchesPattern(nlp->get_ixu()));
244- // assert(vl->matchesPattern(nlp->get_idl()));
245- // assert(vu->matchesPattern(nlp->get_idu()));
246- // #endif
247- // // work locally with all the vectors. This will result in only one MPI_Allreduce call
248- // nrm1Bnd = zl->onenorm_local() + zu->onenorm_local();
249- // #ifdef HIOP_USE_MPI
250- // double nrm1_global;
251- // int ierr = MPI_Allreduce(&nrm1Bnd, &nrm1_global, 1, MPI_DOUBLE, MPI_SUM, nlp->get_comm());
252- // assert(MPI_SUCCESS == ierr);
253- // nrm1Bnd = nrm1_global;
254- // #endif
255- // nrm1Bnd += vl->onenorm_local() + vu->onenorm_local();
256- // nrm1Eq = yc->onenorm_local() + yd->onenorm_local();
257-
258- // nlp->log->printf(hovWarning,
259- // "sc=--- sd=--- volume_n=--- nrm zl=%12.5e zu=%12.5e vl=%12.5e vu=%12.5e yc=%12.5e yd=%12.5e\n",
260- // zl->onenorm(), zu->onenorm(), vl->onenorm(), vu->onenorm(), yc->onenorm(), yd->onenorm());
261-
262- // }
263-
264199// / @brief Computes scaling factors sc and sd; also returns the "norms" of duals
265200bool hiopIterate::compute_sc_sd (double & sc, double & sd, double & nrmDualsEq, double & nrmDualsBou) const
266201{
267- const auto nrmzl = nlp->inner_prod ()->norm_M_one (*zl);
268- const auto nrmzu = nlp->inner_prod ()->norm_M_one (*zu);
269- const auto volume_n = nlp->inner_prod ()->volume ();
202+ const auto nrmzl = nlp->vec_space ()->norm_M_one (*zl);
203+ const auto nrmzu = nlp->vec_space ()->norm_M_one (*zu);
204+ const auto volume_n = nlp->vec_space ()->volume ();
270205 const auto nrmvl = vl->onenorm_local ();
271206 const auto nrmvu = vu->onenorm_local ();
272207 nrmDualsBou = nrmzl + nrmzu + nrmvl + nrmvu;
@@ -278,7 +213,7 @@ bool hiopIterate::compute_sc_sd(double& sc, double& sd, double& nrmDualsEq, doub
278213 nrmDualsEq = nrmyc+nrmyd;
279214 sd = (nrmDualsBou+nrmDualsEq)/(volume_n+volume_m);
280215
281- nlp->log ->printf (hovWarning ,
216+ nlp->log ->printf (hovScalars ,
282217 " sc=%g sd=%g volume_n=%12.5e norms zl=%12.5e zu=%12.5e vl=%12.5e vu=%12.5e yc=%12.5e yd=%12.5e\n " ,
283218 sc, sd, volume_n, nrmzl, nrmzu, nrmvl, nrmvu, nrmyc, nrmyd);
284219 return true ;
@@ -568,11 +503,8 @@ bool hiopIterate::adjustDuals_primalLogHessian(const double& mu, const double& k
568503
569504double hiopIterate::evalLogBarrier () const
570505{
571- double barrier;
572- // barrier = sxl->logBarrier_local(nlp->get_ixl());
573- // barrier += sxu->logBarrier_local(nlp->get_ixu());
574- barrier = nlp->inner_prod ()->log_barrier_eval_local (*sxl, nlp->get_ixl ());
575- barrier += nlp->inner_prod ()->log_barrier_eval_local (*sxu, nlp->get_ixu ());
506+ auto barrier = nlp->vec_space ()->log_barrier_eval_local (*sxl, nlp->get_ixl ());
507+ barrier += nlp->vec_space ()->log_barrier_eval_local (*sxu, nlp->get_ixu ());
576508#ifdef HIOP_USE_MPI
577509 double res;
578510 int ierr = MPI_Allreduce (&barrier, &res, 1 , MPI_DOUBLE, MPI_SUM, nlp->get_comm ());
@@ -590,8 +522,8 @@ void hiopIterate::addLogBarGrad_x(const double& mu, hiopVector& gradx) const
590522 // gradx = grad - mu / sxl = grad - mu * select/sxl
591523 // gradx.addLogBarrierGrad(-mu, *sxl, nlp->get_ixl());
592524 // gradx.addLogBarrierGrad(mu, *sxu, nlp->get_ixu());
593- nlp->inner_prod ()->log_barrier_grad_add (-mu, *sxl, nlp->get_ixl (), gradx);
594- nlp->inner_prod ()->log_barrier_grad_add ( mu, *sxu, nlp->get_ixu (), gradx);
525+ nlp->vec_space ()->log_barrier_grad_add (-mu, *sxl, nlp->get_ixl (), gradx);
526+ nlp->vec_space ()->log_barrier_grad_add ( mu, *sxu, nlp->get_ixu (), gradx);
595527}
596528
597529void hiopIterate::addLogBarGrad_d (const double & mu, hiopVector& gradd) const
@@ -602,11 +534,10 @@ void hiopIterate::addLogBarGrad_d(const double& mu, hiopVector& gradd) const
602534
603535double hiopIterate::linearDampingTerm (const double & mu, const double & kappa_d) const
604536{
605- // double term;
606537 // term = sxl->linearDampingTerm_local(nlp->get_ixl(), nlp->get_ixu(), mu, kappa_d);
607538 // term += sxu->linearDampingTerm_local(nlp->get_ixu(), nlp->get_ixl(), mu, kappa_d);
608- double term = nlp->inner_prod ()->linear_damping_term_local (*sxl, nlp->get_ixl (), nlp->get_ixu (), mu, kappa_d);
609- term += nlp->inner_prod ()->linear_damping_term_local (*sxu, nlp->get_ixu (), nlp->get_ixl (), mu, kappa_d);
539+ double term = nlp->vec_space ()->linear_damping_term_local (*sxl, nlp->get_ixl (), nlp->get_ixu (), mu, kappa_d);
540+ term += nlp->vec_space ()->linear_damping_term_local (*sxu, nlp->get_ixu (), nlp->get_ixl (), mu, kappa_d);
610541#ifdef HIOP_USE_MPI
611542 double res;
612543 int ierr = MPI_Allreduce (&term, &res, 1 , MPI_DOUBLE, MPI_SUM, nlp->get_comm ());
@@ -628,7 +559,7 @@ void hiopIterate::addLinearDampingTermToGrad_x(const double& mu,
628559
629560 const double ct = kappa_d * mu * beta;
630561 // grad_x.addLinearDampingTerm(nlp->get_ixl(), nlp->get_ixu(), 1.0, ct);
631- nlp->inner_prod ()->add_linear_damping_term (nlp->get_ixl (), nlp->get_ixu (), ct, grad_x);
562+ nlp->vec_space ()->add_linear_damping_term (nlp->get_ixl (), nlp->get_ixu (), ct, grad_x);
632563}
633564
634565void hiopIterate::addLinearDampingTermToGrad_d (const double & mu,
0 commit comments