147 = parlist.sublist(
"Step").sublist(
"Line Search").sublist(
"Descent Method").get(
"Type",
"Newton-Krylov");
149 = parlist.sublist(
"Step").sublist(
"Trust Region").get(
"Subproblem Model",
"Lin-More");
152 if (desc==
"Newton-Krylov" || desc==
"Newton")
153 return makePtr<NewtonKrylovAlgorithm<Real>>(parlist);
154 else if (desc==
"Quasi-Newton Method")
155 return makePtr<QuasiNewtonAlgorithm<Real>>(parlist);
157 return makePtr<GradientAlgorithm<Real>>(parlist);
159 if (trmod==
"Kelley-Sachs")
160 return makePtr<KelleySachsAlgorithm<Real>>(parlist);
161 else if (trmod==
"SPG")
162 return makePtr<TrustRegionSPGAlgorithm<Real>>(parlist);
164 return makePtr<LinMoreAlgorithm<Real>>(parlist);
169 default:
return nullPtr;