44 #ifndef ROL_TYPEP_ALGORITHMFACTORY_H
45 #define ROL_TYPEP_ALGORITHMFACTORY_H
75 std::string retString;
82 default: retString =
"INVALID EAlgorithmP";
131 template<
typename Real>
138 = parlist.sublist(
"Step").sublist(
"Line Search").sublist(
"Descent Method").get(
"Type",
"Newton-Krylov");
139 if (desc==
"Newton-Krylov" || desc==
"Newton")
140 return makePtr<InexactNewtonAlgorithm<Real>>(parlist);
141 else if (desc==
"Quasi-Newton Method" || desc =
"Quasi-Newton")
142 return makePtr<QuasiNewtonAlgorithm<Real>>(parlist);
144 return makePtr<ProxGradientAlgorithm<Real>>(parlist);
149 default:
return nullPtr;
Ptr< Algorithm< Real > > AlgorithmFactory(ParameterList &parlist)
EAlgorithmP & operator--(EAlgorithmP &type)
Contains definitions of custom data types in ROL.
std::string removeStringFormat(std::string s)
int isValidAlgorithmP(EAlgorithmP alg)
Verifies validity of a AlgorithmP enum.
std::string EAlgorithmPToString(EAlgorithmP alg)
EAlgorithmP
Enumeration of bound constrained algorithm types.
EAlgorithmP & operator++(EAlgorithmP &type)
EAlgorithmP StringToEAlgorithmP(std::string s)