44 #ifndef ROL_BPOEOBJECTIVE_HPP 45 #define ROL_BPOEOBJECTIVE_HPP 55 Teuchos::RCP<RiskMeasure<Real> >
bpoe_;
60 const Real order,
const Real threshold,
64 const bool storage =
true ) {
65 bpoe_ = Teuchos::rcp(
new BPOE<Real>(threshold,order));
70 const Real order,
const Real threshold,
73 const bool storage =
true ) {
74 bpoe_ = Teuchos::rcp(
new BPOE<Real>(threshold,order));
79 const Real order,
const Real threshold,
81 const bool storage =
true ) {
82 bpoe_ = Teuchos::rcp(
new BPOE<Real>(threshold,order));
87 riskObj_->update(x,flag,iter);
91 return riskObj_->value(x,tol);
95 riskObj_->gradient(g,x,tol);
100 riskObj_->hessVec(hv,v,x,tol);
105 riskObj_->precond(Pv,v,x,tol);
Provides the interface to evaluate objective functions.
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol)
Compute gradient.
Provides the implementation of the buffered probability of exceedance.
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update objective function.
BPOEObjective(const Teuchos::RCP< Objective< Real > > &pObj, const Real order, const Real threshold, const Teuchos::RCP< SampleGenerator< Real > > &vsampler, const Teuchos::RCP< SampleGenerator< Real > > &gsampler, const Teuchos::RCP< SampleGenerator< Real > > &hsampler, const bool storage=true)
Teuchos::RCP< Objective< Real > > riskObj_
virtual void precond(Vector< Real > &Pv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply preconditioner to vector.
Teuchos::RCP< RiskMeasure< Real > > bpoe_
Defines the linear algebra or vector space interface.
BPOEObjective(const Teuchos::RCP< Objective< Real > > &pObj, const Real order, const Real threshold, const Teuchos::RCP< SampleGenerator< Real > > &sampler, const bool storage=true)
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply Hessian approximation to vector.
Real value(const Vector< Real > &x, Real &tol)
Compute value.
BPOEObjective(const Teuchos::RCP< Objective< Real > > &pObj, const Real order, const Real threshold, const Teuchos::RCP< SampleGenerator< Real > > &vsampler, const Teuchos::RCP< SampleGenerator< Real > > &gsampler, const bool storage=true)