10#ifndef ROL_SCALEDSTDVECTOR_H
11#define ROL_SCALEDSTDVECTOR_H
27template <
class Real,
class Element=Real>
30template <
class Real,
class Element=Real>
33template <
class Real,
class Element>
36 typedef typename std::vector<Element>::size_type
uint;
47 const Ptr<std::vector<Element> > & scaling_vec) :
53 const std::vector<Element>& xval = *ex.
getVector();
58 val += yval[i]*xval[i]*(*scaling_vec_)[i];
63 Ptr<Vector<Real> >
clone()
const {
65 return makePtr<PrimalScaledStdVector>(
72 dual_vec_ = makePtr<DualScaledStdVector<Real>>(
73 makePtr<std::vector<Element>>(n),
77 for (
uint i = 0; i < n; i++) {
101template <
class Real,
class Element>
104 typedef typename std::vector<Element>::size_type
uint;
115 const Ptr<std::vector<Element> > & scaling_vec) :
121 const std::vector<Element>& xval = *ex.
getVector();
126 val += yval[i]*xval[i]/(*scaling_vec_)[i];
133 return makePtr<DualScaledStdVector>(
140 primal_vec_ = makePtr<PrimalScaledStdVector<Real>>(
141 makePtr<std::vector<Element>>(n),
145 for (
uint i = 0; i < n; i++) {
Provides the std::vector implementation of the ROL::Vector interface that handles scalings in the inn...
Real dot(const Vector< Real > &x) const
DualScaledStdVector(const Ptr< std::vector< Element > > &std_vec, const Ptr< std::vector< Element > > &scaling_vec)
const Vector< Real > & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis,...
Ptr< PrimalScaledStdVector< Real > > primal_vec_
Real apply(const Vector< Real > &x) const
Ptr< Vector< Real > > clone() const
Clone to make a new (uninitialized) vector.
std::vector< Element >::size_type uint
Ptr< std::vector< Element > > scaling_vec_
Provides the std::vector implementation of the ROL::Vector interface that handles scalings in the inn...
PrimalScaledStdVector(const Ptr< std::vector< Element > > &std_vec, const Ptr< std::vector< Element > > &scaling_vec)
Real apply(const Vector< Real > &x) const
std::vector< Element >::size_type uint
Ptr< DualScaledStdVector< Real > > dual_vec_
Real dot(const Vector< Real > &x) const
Ptr< std::vector< Element > > scaling_vec_
const Vector< Real > & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis,...
Ptr< Vector< Real > > clone() const
Clone to make a new (uninitialized) vector.
Ptr< const std::vector< Element > > getVector() const
StdVector(const Ptr< std::vector< Element > > &std_vec)
int dimension() const
Return dimension of the vector space.
virtual Real dot(const Vector< Real > &x) const
Defines the linear algebra or vector space interface.