45 #include "GlobiPack_TestLagrPolyMeritFunc1D.hpp"
46 #include "GlobiPack_BrentsLineSearch.hpp"
63 using GlobiPack::brentsLineSearch;
64 using GlobiPack::computeValue;
66 using Teuchos::inOutArg;
67 using Teuchos::outArg;
70 using Teuchos::rcpFromRef;
74 using Teuchos::parameterList;
77 double g_tol_scale = 100.0;
83 "tol", &g_tol_scale,
"Floating point tolerance scaling of eps." );
101 typedef typename ST::magnitudeType ScalarMag;
103 const RCP<TestLagrPolyMeritFunc1D<Scalar> > phi = quadPhi<Scalar>();
105 RCP<BrentsLineSearch<Scalar> > linesearch = brentsLineSearch<Scalar>();
107 linesearch->setOStream(rcpFromRef(out));
109 const PointEval1D<Scalar> point_k =
computePoint(*phi, ST::zero());
110 PointEval1D<Scalar> point_kp1 =
computePoint(*phi, as<Scalar>(8.0));
113 const bool linesearchResult = linesearch->doLineSearch(
114 *phi, point_k, inOutArg(point_kp1), outArg(numIters) );
118 as<Scalar>(g_tol_scale*ST::squareroot(ST::eps())));
120 as<Scalar>(g_tol_scale)*ST::eps());
135 typedef typename ST::magnitudeType ScalarMag;
137 const RCP<TestLagrPolyMeritFunc1D<Scalar> > phi = quadPhi<Scalar>();
139 RCP<BrentsLineSearch<Scalar> > linesearch = brentsLineSearch<Scalar>();
141 const RCP<ParameterList> pl = parameterList();
142 pl->sublist(
"Minimize").set(
"Relative Tol", as<double>(g_tol_scale*ST::eps()));
143 pl->sublist(
"Minimize").set(
"Bracket Tol", as<double>(ST::eps()));
144 linesearch->setParameterList(pl);
146 linesearch->setOStream(rcpFromRef(out));
148 const PointEval1D<Scalar> point_k =
computePoint(*phi, ST::zero());
149 PointEval1D<Scalar> point_kp1 =
computePoint(*phi, as<Scalar>(8.0));
152 const bool linesearchResult = linesearch->doLineSearch(
153 *phi, point_k, inOutArg(point_kp1), outArg(numIters) );
157 as<Scalar>(g_tol_scale*ST::squareroot(ST::eps())));
159 as<Scalar>(g_tol_scale)*ST::eps());