44 #ifndef ROL_SCALEDSTDVECTOR_H
45 #define ROL_SCALEDSTDVECTOR_H
61 template <
class Real,
class Element=Real>
62 class PrimalScaledStdVector;
64 template <
class Real,
class Element=Real>
65 class DualScaledStdVector;
67 template <
class Real,
class Element>
81 const Ptr<std::vector<Element> > & scaling_vec) :
87 const std::vector<Element>& xval = *ex.getVector();
89 uint dimension = yval.size();
91 for (
uint i=0; i<dimension; i++) {
92 val += yval[i]*xval[i]*(*scaling_vec_)[i];
97 Ptr<Vector<Real> >
clone()
const {
99 return makePtr<PrimalScaledStdVector>(
100 makePtr<std::vector<Element>>(dimension),
scaling_vec_ );
106 dual_vec_ = makePtr<DualScaledStdVector<Real>>(
107 makePtr<std::vector<Element>>(n),
111 for (
uint i = 0; i < n; i++) {
122 template <
class Real,
class Element>
136 const Ptr<std::vector<Element> > & scaling_vec) :
142 const std::vector<Element>& xval = *ex.getVector();
144 uint dimension = yval.size();
146 for (
uint i=0; i<dimension; i++) {
147 val += yval[i]*xval[i]/(*scaling_vec_)[i];
154 return makePtr<DualScaledStdVector>(
155 makePtr<std::vector<Element>>(dimension),
scaling_vec_ );
161 primal_vec_ = makePtr<PrimalScaledStdVector<Real>>(
162 makePtr<std::vector<Element>>(n),
166 for (
uint i = 0; i < n; i++) {