108 ParameterList &list) {
109 std::string projectionType = list.sublist(
"General").sublist(
"Polyhedral Projection").get(
"Type",
"Dykstra");
112 case PPA_DAIFLETCHER:
return makePtr<DaiFletcherProjection<Real>>(xprim,xdual,bnd,con,mul,res,list);
break;
113 case PPA_DYKSTRA:
return makePtr<DykstraProjection<Real>>(xprim,xdual,bnd,con,mul,res,list);
break;
114 case PPA_DOUGLASRACHFORD:
return makePtr<DouglasRachfordProjection<Real>>(xprim,xdual,bnd,con,mul,res,list);
break;
115 case PPA_NEWTON:
return makePtr<SemismoothNewtonProjection<Real>>(xprim,xdual,bnd,con,mul,res,list);
break;
116 case PPA_RIDDERS:
return makePtr<RiddersProjection<Real>>(xprim,xdual,bnd,con,mul,res,list);
break;
117 case PPA_BRENTS:
return makePtr<BrentsProjection<Real>>(xprim,xdual,bnd,con,mul,res,list);
break;
118 default:
return nullPtr;
Ptr< PolyhedralProjection< Real > > PolyhedralProjectionFactory(const Vector< Real > &xprim, const Vector< Real > &xdual, const Ptr< BoundConstraint< Real > > &bnd, const Ptr< Constraint< Real > > &con, const Vector< Real > &mul, const Vector< Real > &res, ParameterList &list)