ROL
ROL::SmoothedPOE< Real > Class Template Reference

Provides the implementation of the smoothed probability of exceedance. More...

#include <ROL_SmoothedPOE.hpp>

Inheritance diagram for ROL::SmoothedPOE< Real >:

Public Member Functions

 SmoothedPOE (const Real threshold, const Real eps)
 SmoothedPOE (ROL::ParameterList &parlist)
void updateValue (Objective< Real > &obj, const Vector< Real > &x, const std::vector< Real > &xstat, Real &tol)
Real getValue (const Vector< Real > &x, const std::vector< Real > &xstat, SampleGenerator< Real > &sampler)
void updateGradient (Objective< Real > &obj, const Vector< Real > &x, const std::vector< Real > &xstat, Real &tol)
void getGradient (Vector< Real > &g, std::vector< Real > &gstat, const Vector< Real > &x, const std::vector< Real > &xstat, SampleGenerator< Real > &sampler)
void updateHessVec (Objective< Real > &obj, const Vector< Real > &v, const std::vector< Real > &vstat, const Vector< Real > &x, const std::vector< Real > &xstat, Real &tol)
void getHessVec (Vector< Real > &hv, std::vector< Real > &hvstat, const Vector< Real > &v, const std::vector< Real > &vstat, const Vector< Real > &x, const std::vector< Real > &xstat, SampleGenerator< Real > &sampler)

Private Member Functions

Real smoothHeaviside (const Real x, const int deriv=0) const

Private Attributes

Real threshold_
Real eps_

Detailed Description

template<class Real>
class ROL::SmoothedPOE< Real >

Provides the implementation of the smoothed probability of exceedance.

Let \((\Omega,\mathcal{F},\mathbb{P})\) be a complete space. Here, \(\Omega\) is the set of outcomes, \(\mathcal{F}\subseteq 2^\Omega\) is a \(\sigma\)-algebra of events and \(\mathbb{P}:\mathcal{F}\to[0,1]\) is a probability measure. Moreover, let \(\mathcal{X}\) be a class of random variables.

ROL's SmoothedPOE class inherits from ROL::RandVarFunctional which is written in a way to exploit parallel sampling.

Definition at line 32 of file ROL_SmoothedPOE.hpp.

Constructor & Destructor Documentation

◆ SmoothedPOE() [1/2]

template<class Real>
ROL::SmoothedPOE< Real >::SmoothedPOE ( const Real threshold,
const Real eps )
inline

Definition at line 70 of file ROL_SmoothedPOE.hpp.

References eps_, and threshold_.

◆ SmoothedPOE() [2/2]

template<class Real>
ROL::SmoothedPOE< Real >::SmoothedPOE ( ROL::ParameterList & parlist)
inline

Definition at line 74 of file ROL_SmoothedPOE.hpp.

References eps_, and threshold_.

Member Function Documentation

◆ smoothHeaviside()

template<class Real>
Real ROL::SmoothedPOE< Real >::smoothHeaviside ( const Real x,
const int deriv = 0 ) const
inlineprivate

Definition at line 51 of file ROL_SmoothedPOE.hpp.

References eps_.

Referenced by updateGradient(), updateHessVec(), and updateValue().

◆ updateValue()

template<class Real>
void ROL::SmoothedPOE< Real >::updateValue ( Objective< Real > & obj,
const Vector< Real > & x,
const std::vector< Real > & xstat,
Real & tol )
inline

Definition at line 81 of file ROL_SmoothedPOE.hpp.

References ROL::ROL_EPSILON(), smoothHeaviside(), and threshold_.

◆ getValue()

template<class Real>
Real ROL::SmoothedPOE< Real >::getValue ( const Vector< Real > & x,
const std::vector< Real > & xstat,
SampleGenerator< Real > & sampler )
inline

Definition at line 92 of file ROL_SmoothedPOE.hpp.

References ROL::SampleGenerator< Real >::sumAll().

◆ updateGradient()

template<class Real>
void ROL::SmoothedPOE< Real >::updateGradient ( Objective< Real > & obj,
const Vector< Real > & x,
const std::vector< Real > & xstat,
Real & tol )
inline

Definition at line 100 of file ROL_SmoothedPOE.hpp.

References ROL::ROL_EPSILON(), smoothHeaviside(), and threshold_.

◆ getGradient()

template<class Real>
void ROL::SmoothedPOE< Real >::getGradient ( Vector< Real > & g,
std::vector< Real > & gstat,
const Vector< Real > & x,
const std::vector< Real > & xstat,
SampleGenerator< Real > & sampler )
inline

Definition at line 112 of file ROL_SmoothedPOE.hpp.

References ROL::SampleGenerator< Real >::sumAll().

◆ updateHessVec()

template<class Real>
void ROL::SmoothedPOE< Real >::updateHessVec ( Objective< Real > & obj,
const Vector< Real > & v,
const std::vector< Real > & vstat,
const Vector< Real > & x,
const std::vector< Real > & xstat,
Real & tol )
inline

Definition at line 120 of file ROL_SmoothedPOE.hpp.

References ROL::ROL_EPSILON(), smoothHeaviside(), and threshold_.

◆ getHessVec()

template<class Real>
void ROL::SmoothedPOE< Real >::getHessVec ( Vector< Real > & hv,
std::vector< Real > & hvstat,
const Vector< Real > & v,
const std::vector< Real > & vstat,
const Vector< Real > & x,
const std::vector< Real > & xstat,
SampleGenerator< Real > & sampler )
inline

Definition at line 141 of file ROL_SmoothedPOE.hpp.

References ROL::SampleGenerator< Real >::sumAll().

Member Data Documentation

◆ threshold_

template<class Real>
Real ROL::SmoothedPOE< Real >::threshold_
private

◆ eps_

template<class Real>
Real ROL::SmoothedPOE< Real >::eps_
private

Definition at line 35 of file ROL_SmoothedPOE.hpp.

Referenced by SmoothedPOE(), SmoothedPOE(), and smoothHeaviside().


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