44 #ifndef ROL_SUPERQUANTILEQUADRANGLE_HPP 45 #define ROL_SUPERQUANTILEQUADRANGLE_HPP 48 #include "ROL_GaussLegendreQuadrature.hpp" 49 #include "ROL_Fejer2Quadrature.hpp" 97 TEUCHOS_TEST_FOR_EXCEPTION((alpha_ < 0 || alpha_ >= 1), std::invalid_argument,
98 ">>> ERROR (ROL::SuperQuantileQuadrangle): Confidence level not between 0 and 1!");
99 TEUCHOS_TEST_FOR_EXCEPTION(
plusFunction_ == Teuchos::null, std::invalid_argument,
100 ">>> ERROR (ROL::SuperQuantileQuadrangle): PlusFunction pointer is null!");
104 Teuchos::RCP<Quadrature1D<Real> > quad;
106 quad = Teuchos::rcp(
new GaussLegendreQuadrature<Real>(
nQuad_));
109 quad = Teuchos::rcp(
new Fejer2Quadrature<Real>(
nQuad_));
113 Real sum(0), half(0.5), one(1);
114 for (
int i = 0; i <
nQuad_; ++i) {
117 for (
int i = 0; i <
nQuad_; ++i) {
128 Teuchos::ParameterList &list
129 = parlist.sublist(
"SOL").sublist(
"Risk Measure").sublist(
"Super Quantile Quadrangle");
131 alpha_ = list.get<Real>(
"Confidence Level");
132 nQuad_ = list.get(
"Number of Quadrature Points",5);
133 useGauss_ = list.get(
"Use Gauss-Legendre Quadrature",
true);
143 const bool useGauss =
true)
SuperQuantileQuadrangle(const Real alpha, const int nQuad, const Teuchos::RCP< PlusFunction< Real > > &pf, const bool useGauss=true)
void checkInputs(void) const
SuperQuantileQuadrangle(Teuchos::ParameterList &parlist)
Teuchos::RCP< PlusFunction< Real > > plusFunction_
Provides an interface for the risk measure associated with the super quantile quadrangle.
Provides an interface for spectral risk measures.
void buildMixedQuantile(const std::vector< Real > &pts, const std::vector< Real > &wts, const Teuchos::RCP< PlusFunction< Real > > &pf)