73 size_t size()
const {
return nlin(); }
75 bool empty()
const {
return value->empty(); }
77 double*
data()
const {
return value->data; }
81 return value->data[i];
86 return value->data[i];
89 Vector subvect(
size_t istart,
size_t isize)
const;
92 void operator+=(
const Vector& v);
93 void operator-=(
const Vector& v);
94 void operator*=(
double x);
96 Vector operator+(
double i)
const;
97 Vector operator-(
double i)
const;
110 double mean()
const {
return sum()/size(); }
113 void save(
const char *filename)
const;
114 void load(
const char *filename);
116 void save(
const std::string& s)
const {
save(s.c_str()); }
117 void load(
const std::string& s) {
load(s.c_str()); }
127 OPENMEEGMATHS_EXPORT std::ostream&
operator<<(std::ostream& f,
const Vector &M);
131 om_assert (istart+isize<=nlin());
133 for (
size_t i=0; i<isize; i++)
134 a(i) = (*this)(istart+i);
139 om_assert(nlin()==v.
nlin());
144 for(
size_t i=0; i<nlin(); i++ )
145 p.data()[i]=data()[i]+v.
data()[i];
151 om_assert(nlin()==v.
nlin());
156 for(
size_t i=0; i<nlin(); i++ )
157 p.data()[i]=data()[i]-v.
data()[i];
163 om_assert(nlin()==v.
nlin());
167 for(
size_t i=0; i<nlin(); i++ )
168 data()[i]+=v.
data()[i];
173 om_assert(nlin()==v.
nlin());
177 for(
size_t i=0; i<nlin(); i++ )
178 data()[i]-=v.
data()[i];
183 om_assert(nlin()==v.
nlin());
188 for(
size_t i=0; i<nlin(); i++ )
189 s+=data()[i]*v.
data()[i];
200 for(
size_t i=0; i<nlin(); i++ )
201 p.
data()[i]=x*data()[i];
210 for(
size_t i=0; i<nlin(); i++ )
218 return BLAS(dnrm2,DNRM2)(
sizet_to_int(nlin()),data(),1);
220 std::cout <<
"'Vector::norm' not implemented" << std::endl;
Vector subvect(size_t istart, size_t isize) const
Vector operator*(double x) const
double operator()(const size_t i) const
utils::RCPtr< LinOpValue > value
std::istream & operator>>(std::istream &is, Conductivity< REP > &m)
double & operator()(const size_t i)
std::ostream & operator<<(std::ostream &os, const Conductivity< REP > &m)
Vect3 operator*(const double &d, const Vect3 &v)
Vector operator/(double x) const
Vector(const Vector &A, const DeepCopy)
Vector operator-(const Vector &v) const
void save(const std::string &s) const
void operator+=(const Vector &v)
void operator*=(double x)
OPENMEEGMATHS_EXPORT BLAS_INT sizet_to_int(const size_t &num)
void reference_data(const double *array)
Vector operator+(const Vector &v) const
void operator-=(const Vector &v)
void operator/=(double x)
void load(const std::string &s)