44 #ifndef OPTIPACK_UNCONSTRAINED_OPT_MERIT_FUNC_1D_DEF_HPP
45 #define OPTIPACK_UNCONSTRAINED_OPT_MERIT_FUNC_1D_DEF_HPP
50 #include "Thyra_ModelEvaluatorHelpers.hpp"
51 #include "Thyra_VectorStdOps.hpp"
53 #include "Teuchos_Assert.hpp"
62 template<
typename Scalar>
69 template<
typename Scalar>
73 const int responseIndex
77 model.assert_not_null();
82 paramIndex_ = paramIndex;
83 responseIndex_ = responseIndex;
87 template<
typename Scalar>
90 const RCP<Thyra::VectorBase<Scalar> > &p,
91 const RCP<Thyra::VectorBase<Scalar> > &g_vec,
92 const RCP<Thyra::VectorBase<Scalar> > &g_grad_vec
96 pointEvaluator.assert_not_null();
98 g_vec.assert_not_null();
101 pointEvaluator_ = pointEvaluator;
104 g_grad_vec_ = g_grad_vec;
111 template<
typename Scalar>
118 template<
typename Scalar>
123 typedef Thyra::ModelEvaluatorBase MEB;
124 using Thyra::get_ele;
126 using Thyra::eval_g_DgDp;
127 pointEvaluator_->computePoint(alpha, p_.ptr());
130 "Error, g_grad_vec has not been implemented yet!.");
136 eval_g( *model_, paramIndex_, *p_, responseIndex_, g_vec_.ptr() );
137 *phi = get_ele(*g_vec_, 0);
145 #endif // OPTIPACK_UNCONSTRAINED_OPT_MERIT_FUNC_1D_DEF_HPP