10 #ifndef ROL_POLYHEDRALPROJECTIONFACTORY_H
11 #define ROL_POLYHEDRALPROJECTIONFACTORY_H
41 std::string retString;
46 case PPA_NEWTON: retString =
"Semismooth Newton";
break;
49 case PPA_LAST: retString =
"Last Type (Dummy)";
break;
50 default: retString =
"INVALID EPolyProjAlgo";
101 template<
typename Real>
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;
std::string EPolyProjAlgoToString(EPolyProjAlgo alg)
EPolyProjAlgo StringToEPolyProjAlgo(std::string s)
EPolyProjAlgo & operator++(EPolyProjAlgo &type)
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)
std::string removeStringFormat(std::string s)
Defines the linear algebra or vector space interface.
EPolyProjAlgo
Enumeration of polyhedral projecdtion algorithm types.
EPolyProjAlgo & operator--(EPolyProjAlgo &type)
int isValidPolyProjAlgo(EPolyProjAlgo alg)
Verifies validity of a PolyProjAlgo enum.
Provides the interface to apply upper and lower bound constraints.
Defines the general constraint operator interface.