Lines Matching refs:gap
110 /* Compute the duality gap */
114 qp->gap = gap1 + gap2;
115 qp->dobj = qp->pobj - qp->gap;
117 qp->mu = qp->gap / (qp->m);
121 qp->rgap = qp->gap / (PetscAbsReal(qp->dobj) + PetscAbsReal(qp->pobj) + 1.0);
150 PetscReal gap[2], mu[2], nmu;
163 PetscCall(VecNorm(qp->GZwork, NORM_2, &gap[0]));
164 PetscCall(VecNorm(qp->TSwork, NORM_2, &gap[1]));
165 gap[0] *= gap[0];
166 gap[1] *= gap[1];
168 qp->pathnorm = PetscSqrtScalar(gap[0] + gap[1]);
243 PetscReal gap[4];
249 qp->gap = 10.0;
290 gnorm = PetscSqrtScalar(qp->gap + qp->dinfeas);
361 PetscCall(VecDot(qp->DZ, qp->DG, gap));
362 PetscCall(VecDot(qp->DS, qp->DT, gap + 1));
367 sigmamu = (pstep * pstep * (gap[0] + gap[1]) + (1 - pstep) * qp->gap) / qp->m;
436 PetscCall(VecDot(qp->G, qp->Z, gap));
437 PetscCall(VecDot(qp->T, qp->S, gap + 1));
439 /* Compute the duality gap */
441 qp->gap = gap[0] + gap[1];
442 qp->dobj = qp->pobj - qp->gap;
443 if (qp->m > 0) qp->mu = qp->gap / (qp->m);
444 qp->rgap = qp->gap / (PetscAbsReal(qp->dobj) + PetscAbsReal(qp->pobj) + 1.0);