44 #ifndef GLOBIPACK_MERIT_FUNC_1D_BASE_HPP
45 #define GLOBIPACK_MERIT_FUNC_1D_BASE_HPP
48 #include "GlobiPack_Types.hpp"
49 #include "Teuchos_Describable.hpp"
61 template<
typename Scalar>
97 template<
typename Scalar>
102 phi.
eval(alpha, Teuchos::outArg(phi_val), Teuchos::null);
111 template<
typename Scalar>
114 const bool compute_phi =
true,
const bool compute_Dphi =
false)
117 using Teuchos::outArg;
120 phi.
eval( alpha, compute_phi ? outArg(p.
phi) : null ,
121 compute_Dphi ? outArg(p.
Dphi) : null );
129 #endif // GLOBIPACK_MERIT_FUNC_1D_BASE_HPP
Scalar phi
The value of the merit function phi(alpha).
Scalar Dphi
The value of the derivative of the merit function Dphi(alpha).
virtual bool supportsDerivEvals() const =0
Determine if derivative evaluations are supported or not.
Scalar alpha
The value of the unknown alpha.
Represents the evaluation point of the merit function phi(alpha) and/or is derivative Dphi(alpha)...
PointEval1D< Scalar > computePoint(const MeritFunc1DBase< Scalar > &phi, const Scalar &alpha, const bool compute_phi=true, const bool compute_Dphi=false)
Compute a point as an object.
Base class for 1D merit fucntions used in globalization methods.
ScalarTraits< Scalar >::magnitudeType computeValue(const MeritFunc1DBase< Scalar > &phi, const Scalar &alpha)
Compute the value of the merit function phi(alpha).
virtual void eval(const Scalar &alpha, const Ptr< Scalar > &phi, const Ptr< Scalar > &Dphi) const =0
Evaluate the merit function at alpha.