84 std::vector< Sparse_Vector_Element<T, Subscript> > s_;
94 std::vector< Sparse_Vector_Element<T, Subscript> >::const_iterator
98 const_iterator begin()
const {
return s_.begin(); }
99 const_iterator end()
const {
return s_.end(); }
101 inline const T& value(Subscript i)
const {
return s_[i].value(); }
102 inline Subscript index(Subscript i)
const {
return s_[i].index(); }
108 for ( const_iterator
p = begin();
p < end();
p++)
110 sum +=
p->value() *
x[
p->index()];
129 void insert(
const T&
val, Subscript i)
136 void insert(Subscript
nz,
const T*
Val,
const Subscript *
I)
146 void insert_base_one(
const T&
val, Subscript i)
151 void insert_base_one(Subscript
nz,
const T*
Val,
const Subscript *
I)
161 inline int dim()
const {
return dim_;}
162 int num_nonzeros()
const {
return num_nonzeros_;}
167 inline double norm()
const
171 for (const_iterator
p = begin();
p < end();
p++)
173 sum +=
p->value() *
p->value();
179 std::ostream & print(std::ostream &s)
const
181 for (
typename Sparse_Vector<T>::const_iterator
p = begin();
184 s <<
"( " <<
p->value() <<
", " <<
p->index() <<
" ) \n";
189 std::ostream & print_base_one(std::ostream &s)
const
191 for (
typename Sparse_Vector<T>::const_iterator
p = begin();
194 s <<
"( " <<
p->value() <<
", " <<
p->index()+1 <<
" ) \n";