GlobiPack Package Browser (Single Doxygen Collection)  Version of the Day
Private Attributes | Related Functions | List of all members
GlobiPack::BrentsLineSearch< Scalar > Class Template Reference

Linesearch subclass implementing a function-value-only approximate minimization algorithm using bracketing and then Brent's 1D minimization method. More...

#include <GlobiPack_BrentsLineSearch_decl.hpp>

Inheritance diagram for GlobiPack::BrentsLineSearch< Scalar >:
Inheritance graph
[legend]

Private Attributes

GoldenQuadInterpBracket< Scalar > bracket_
 
Brents1DMinimization< Scalar > brentsMin_
 

Related Functions

(Note that these are not member functions.)

template<typename Scalar >
const RCP< BrentsLineSearch< Scalar > > brentsLineSearch ()
 Nonmember constructor. More...
 

Constructor/Initializers/Accessors

 BrentsLineSearch ()
 Construct with default parameters. More...
 
const GoldenQuadInterpBracket< Scalar > & bracket () const
 For unit testing only . More...
 
const Brents1DMinimization< Scalar > & brentsMin () const
 For unit testing only . More...
 

Overridden from ParameterListAcceptor (simple forwarding functions)

void setParameterList (RCP< ParameterList > const &paramList)
 
RCP< const ParameterListgetValidParameters () const
 

Overrridden from LineSearchBase.

virtual bool requiresBaseDeriv () const
 Returns true. More...
 
virtual bool requiresDerivEvals () const
 Returns false. More...
 
virtual bool doLineSearch (const MeritFunc1DBase< Scalar > &phi, const PointEval1D< Scalar > &point_k, const Ptr< PointEval1D< Scalar > > &point_kp1, const Ptr< int > &numIters) const
 

Additional Inherited Members

- Public Member Functions inherited from Teuchos::Describable
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
virtual std::string description () const
 
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
- Public Member Functions inherited from Teuchos::LabeledObject
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
- Public Member Functions inherited from Teuchos::VerboseObject< LineSearchBase< Scalar > >
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterListgetValidVerboseObjectSublist ()
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void setupVerboseObjectSublist (ParameterList *paramList)
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel)
 
void readVerboseObjectSublist (ParameterList *paramList, VerboseObject< LineSearchBase< Scalar > > *verboseObject)
 
 VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual const VerboseObjectsetVerbLevel (const EVerbosityLevel verbLevel) const
 
virtual const VerboseObjectsetOverridingVerbLevel (const EVerbosityLevel verbLevel) const
 
virtual EVerbosityLevel getVerbLevel () const
 
- Public Member Functions inherited from Teuchos::VerboseObjectBase
virtual ~VerboseObjectBase ()
 
 VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual const VerboseObjectBasesetOStream (const RCP< FancyOStream > &oStream) const
 
virtual const VerboseObjectBasesetOverridingOStream (const RCP< FancyOStream > &oStream) const
 
virtual VerboseObjectBasesetLinePrefix (const std::string &linePrefix)
 
virtual RCP< FancyOStreamgetOStream () const
 
virtual RCP< FancyOStreamgetOverridingOStream () const
 
virtual std::string getLinePrefix () const
 
virtual OSTab getOSTab (const int tabs=1, const std::string &linePrefix="") const
 
- Public Member Functions inherited from Teuchos::ParameterListAcceptor
virtual ~ParameterListAcceptor ()
 
virtual void setParameterList (const RCP< ParameterList > &paramList)=0
 
virtual RCP< const DependencySheetgetDependencies () const
 
- Static Public Member Functions inherited from Teuchos::VerboseObject< LineSearchBase< Scalar > >
static void setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel)
 
static EVerbosityLevel getDefaultVerbLevel ()
 
- Static Public Member Functions inherited from Teuchos::VerboseObjectBase
static void setDefaultOStream (const RCP< FancyOStream > &defaultOStream)
 
static RCP< FancyOStreamgetDefaultOStream ()
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 
- Protected Member Functions inherited from Teuchos::VerboseObject< LineSearchBase< Scalar > >
void initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
 
- Protected Member Functions inherited from Teuchos::VerboseObjectBase
void initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual void informUpdatedVerbosityState () const
 
- Protected Member Functions inherited from Teuchos::ParameterListAcceptorDefaultBase
void setMyParamList (const RCP< ParameterList > &paramList)
 
RCP< ParameterListgetMyNonconstParamList ()
 
RCP< const ParameterListgetMyParamList () const
 
RCP< ParameterListgetNonconstParameterList ()
 
RCP< ParameterListunsetParameterList ()
 
RCP< const ParameterListgetParameterList () const
 

Detailed Description

template<typename Scalar>
class GlobiPack::BrentsLineSearch< Scalar >

Linesearch subclass implementing a function-value-only approximate minimization algorithm using bracketing and then Brent's 1D minimization method.

This lineserach class is designed for more accurate linesearches and it will march forward (as well as backward) from the given initial guess for the step length in order to find it. This linesearch is therefore more appropriate for optimization algorithms like steppest decent and nonlinear CG what require more accurate linesearches and where the scaling of the step is not well know. Also, this linesearch likely satisifies the Strong Wolf Conditions but there are not checks for this at all so in the end it may not.

ToDo: Finish Documentation!

Definition at line 73 of file GlobiPack_BrentsLineSearch_decl.hpp.

Constructor & Destructor Documentation

◆ BrentsLineSearch()

template<typename Scalar >
GlobiPack::BrentsLineSearch< Scalar >::BrentsLineSearch ( )

Construct with default parameters.

Definition at line 59 of file GlobiPack_BrentsLineSearch_def.hpp.

Member Function Documentation

◆ bracket()

template<typename Scalar >
const GoldenQuadInterpBracket< Scalar > & GlobiPack::BrentsLineSearch< Scalar >::bracket ( ) const

For unit testing only .

Definition at line 65 of file GlobiPack_BrentsLineSearch_def.hpp.

◆ brentsMin()

template<typename Scalar >
const Brents1DMinimization< Scalar > & GlobiPack::BrentsLineSearch< Scalar >::brentsMin ( ) const

For unit testing only .

Definition at line 73 of file GlobiPack_BrentsLineSearch_def.hpp.

◆ setParameterList()

template<class Scalar >
void GlobiPack::BrentsLineSearch< Scalar >::setParameterList ( RCP< ParameterList > const &  paramList)

Definition at line 83 of file GlobiPack_BrentsLineSearch_def.hpp.

◆ getValidParameters()

template<class Scalar >
RCP< const ParameterList > GlobiPack::BrentsLineSearch< Scalar >::getValidParameters ( ) const
virtual

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 99 of file GlobiPack_BrentsLineSearch_def.hpp.

◆ requiresBaseDeriv()

template<typename Scalar >
bool GlobiPack::BrentsLineSearch< Scalar >::requiresBaseDeriv ( ) const
virtual

Returns true.

Implements GlobiPack::LineSearchBase< Scalar >.

Definition at line 122 of file GlobiPack_BrentsLineSearch_def.hpp.

◆ requiresDerivEvals()

template<typename Scalar >
bool GlobiPack::BrentsLineSearch< Scalar >::requiresDerivEvals ( ) const
virtual

Returns false.

Implements GlobiPack::LineSearchBase< Scalar >.

Definition at line 129 of file GlobiPack_BrentsLineSearch_def.hpp.

◆ doLineSearch()

template<typename Scalar >
bool GlobiPack::BrentsLineSearch< Scalar >::doLineSearch ( const MeritFunc1DBase< Scalar > &  phi,
const PointEval1D< Scalar > &  point_k,
const Ptr< PointEval1D< Scalar > > &  point_kp1,
const Ptr< int > &  numIters 
) const
virtual

Friends And Related Function Documentation

◆ brentsLineSearch()

template<typename Scalar >
const RCP< BrentsLineSearch< Scalar > > brentsLineSearch ( )
related

Nonmember constructor.

Definition at line 138 of file GlobiPack_BrentsLineSearch_decl.hpp.

Member Data Documentation

◆ bracket_

template<typename Scalar >
GoldenQuadInterpBracket<Scalar> GlobiPack::BrentsLineSearch< Scalar >::bracket_
private

Definition at line 127 of file GlobiPack_BrentsLineSearch_decl.hpp.

◆ brentsMin_

template<typename Scalar >
Brents1DMinimization<Scalar> GlobiPack::BrentsLineSearch< Scalar >::brentsMin_
private

Definition at line 128 of file GlobiPack_BrentsLineSearch_decl.hpp.


The documentation for this class was generated from the following files: