23 #include "ROL_ParameterList.hpp"
26 #include "Teuchos_GlobalMPISession.hpp"
34 int main(
int argc,
char **argv)
36 Teuchos::GlobalMPISession mpiSession(&argc, &argv);
39 int iprint = argc - 1;
40 ROL::Ptr<std::ostream> outStream;
43 outStream = ROL::makePtrFromRef(std::cout);
45 outStream = ROL::makePtrFromRef(bhs);
58 std::string paramfile =
"parameters.xml";
59 auto parlist = ROL::getParametersFromXmlFile(paramfile);
62 ROL::Ptr<ROL::Step<RealT>>
63 step = ROL::makePtr<ROL::LineSearchStep<RealT>>(*parlist);
64 ROL::Ptr<ROL::StatusTest<RealT>>
65 status = ROL::makePtr<ROL::StatusTest<RealT>>(*parlist);
69 ROL::Ptr<std::vector<RealT> > x_ptr = ROL::makePtr<std::vector<RealT>>(
dim, 0.0);
71 for (
int i=0; i<
dim; i++) {
78 algo.
run(x, obj,
true, *outStream);
81 ROL::Ptr<std::vector<RealT> > xtrue_ptr = ROL::makePtr<std::vector<RealT>>(
dim, 0.0);
88 *outStream << std::scientific <<
"\n Absolute Error: " << abserr;
89 if ( abserr > sqrt(ROL_EPSILON<RealT>()) ) {
93 catch (std::logic_error& err) {
94 *outStream << err.what() <<
"\n";
99 std::cout <<
"End Result: TEST FAILED\n";
101 std::cout <<
"End Result: TEST PASSED\n";
void axpy(const Real alpha, const Vector< Real > &x)
Compute where .
virtual std::vector< std::string > run(Vector< Real > &x, Objective< Real > &obj, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout)
Run algorithm on unconstrained problems (Type-U). This is the primary Type-U interface.
Defines a no-output stream class ROL::NullStream and a function makeStreamPtr which either wraps a re...
basic_nullstream< char, std::char_traits< char >> nullstream
Real norm() const
Returns where .
Provides the ROL::Vector interface for scalar values, to be used, for example, with scalar constraint...
Provides an interface to run optimization algorithms.
int main(int argc, char *argv[])