SDPSolver.cpp
// Centering parameter \beta_c for the corrector step
Centering parameter \beta_c for the corrector step
Centering parameter \ beta_c for the corrector step
Real correctorCenteringParameter(const SDPSolverParameters &parameters,
                                 const BlockDiagonalMatrix &X,
                                 const BlockDiagonalMatrix &dX,
                                 const BlockDiagonalMatrix &Y,
                                 const BlockDiagonalMatrix &dY,
                                 const Real &mu,
                                 const bool isPrimalDualFeasible) {
  Real r = frobeniusProductOfSums(X, dX, Y, dY) / (mu * X.dim);
  Real beta = r < 1 ? r*r : r;
  if (isPrimalDualFeasible)
    return min(max(parameters.feasibleCenteringParameter, beta), Real(1));
  else
    return max(parameters.infeasibleCenteringParameter, beta);
}
Real correctorCenteringParameter ( const SDPSolverParameters & parameters , const BlockDiagonalMatrix & X , const BlockDiagonalMatrix & dX , const BlockDiagonalMatrix & Y , const BlockDiagonalMatrix & dY , const Real & mu , const bool isPrimalDualFeasible ) { Real r = frobeniusProductOfSums ( X , dX , Y , dY ) / ( mu * X . dim ) ; Real beta = r < 1 ? r * r : r ; if ( isPrimalDualFeasible ) return min ( max ( parameters . feasibleCenteringParameter , beta ) , Real ( 1 ) ) ; else return max ( parameters . infeasibleCenteringParameter , beta ) ; }
Centering parameter \beta_c for the corrector step
Centering parameter \ beta_c for the corrector step