44 #ifndef ROL_QUANTILERADIUSQUADRANGLE_HPP 45 #define ROL_QUANTILERADIUSQUADRANGLE_HPP 51 #include "Teuchos_Array.hpp" 52 #include "Teuchos_ParameterList.hpp" 75 TEUCHOS_TEST_FOR_EXCEPTION((
prob_>one ||
prob_<zero), std::invalid_argument,
76 ">>> ERROR (ROL::QuantileRadiusQuadrangle): Confidence level out of range!");
77 TEUCHOS_TEST_FOR_EXCEPTION((
coeff_<zero), std::invalid_argument,
78 ">>> ERROR (ROL::QuantileRadiusQuadrangle): Coefficient is negative!");
93 Teuchos::ParameterList &list
94 = parlist.sublist(
"SOL").sublist(
"Risk Measure").sublist(
"Quantile-Radius Quadrangle");
96 prob_ = list.get<Real>(
"Confidence Level");
97 coeff_ = list.get<Real>(
"Coefficient");
114 vec_.assign(2,static_cast<Real>(0));
129 void update(
const Real val,
const Real weight) {
130 Real half(0.5), one(1);
138 sampler.
sumAll(&val,&cvar,1);
144 Real half(0.5), one(1);
156 std::vector<Real> var(2);
168 Real half(0.5), one(1);
182 std::vector<Real> var(2);
void checkInputs(void) const
void update(const Real val, const Vector< Real > &g, const Real gv, const Vector< Real > &hv, const Real weight)
Update internal risk measure storage for Hessian-time-a-vector computation.
Real getValue(SampleGenerator< Real > &sampler)
Return risk measure value.
void reset(Teuchos::RCP< Vector< Real > > &x0, const Vector< Real > &x, Teuchos::RCP< Vector< Real > > &v0, const Vector< Real > &v)
Reset internal risk measure storage. Called for Hessian-times-a-vector computation.
void sumAll(Real *input, Real *output, int dim) const
void getHessVec(Vector< Real > &hv, SampleGenerator< Real > &sampler)
Return risk measure Hessian-times-a-vector.
Defines the linear algebra or vector space interface.
QuantileRadiusQuadrangle(const Real prob, const Real coeff, const Teuchos::RCP< PlusFunction< Real > > &pf)
void setVector(const Vector< Real > &vec)
void update(const Real val, const Vector< Real > &g, const Real weight)
Update internal risk measure storage for gradient computation.
std::vector< Real > xvar_
Teuchos::RCP< Vector< Real > > dualVector_
void setStatistic(const Real stat)
void getGradient(Vector< Real > &g, SampleGenerator< Real > &sampler)
Return risk measure (sub)gradient.
void reset(Teuchos::RCP< Vector< Real > > &x0, const Vector< Real > &x)
Reset internal risk measure storage. Called for value and gradient computation.
void update(const Real val, const Real weight)
Update internal risk measure storage for value computation.
std::vector< Real > vvar_
virtual void reset(Teuchos::RCP< Vector< Real > > &x0, const Vector< Real > &x)
Reset internal risk measure storage. Called for value and gradient computation.
Teuchos::RCP< PlusFunction< Real > > plusFunction_
Provides the interface to implement risk measures.
QuantileRadiusQuadrangle(Teuchos::ParameterList &parlist)