44 #ifndef ROL_CVARVECTOR_HPP 45 #define ROL_CVARVECTOR_HPP 55 Teuchos::RCP<Vector<Real> >
vec_;
62 : var_(var), vec_(vec) {
63 dual_vec1_ = vec->dual().clone();
73 void scale(
const Real alpha ) {
75 this->vec_->scale(alpha);
81 this->var_ += alpha*xs.
getVaR();
82 this->vec_->axpy(alpha,*(xs.
getVector()));
92 return sqrt( this->
dot(*
this) );
99 Teuchos::RCP<const Vector<Real> >
getVector()
const {
103 Teuchos::RCP<Vector<Real> >
clone()
const {
105 Teuchos::RCP<Vector<Real> > vec = Teuchos::rcp_dynamic_cast<
Vector<Real> >(
106 Teuchos::rcp_const_cast<
Vector<Real> >(this->vec_->clone()));
107 return Teuchos::rcp(
new CVaRVector( var, vec ) );
111 dual_vec1_->set(vec_->dual());
121 this->vec_->set(vec);
Teuchos::RCP< CVaRVector< Real > > dual_vec_
Teuchos::RCP< Vector< Real > > dual_vec1_
Teuchos::RCP< Vector< Real > > vec_
Real norm() const
Returns where .
void scale(const Real alpha)
Compute where .
Defines the linear algebra or vector space interface.
const Real getVaR() const
void axpy(const Real alpha, const Vector< Real > &x)
Compute where .
Teuchos::RCP< const Vector< Real > > getVector() const
const Vector< Real > & dual(void) const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
void setVaR(const Real var)
void plus(const Vector< Real > &x)
Compute , where .
void setVector(const Vector< Real > &vec)
Teuchos::RCP< Vector< Real > > clone() const
Clone to make a new (uninitialized) vector.
CVaRVector(const Real var, const Teuchos::RCP< Vector< Real > > &vec)
Real dot(const Vector< Real > &x) const
Compute where .