41 virtual unsigned int Size()
const = 0;
43 virtual const double *
Data()
const = 0;
45 virtual double *
Data() = 0;
58 virtual const double &
operator[](
const int &i)
const = 0;
66 virtual void SetValues(
const std::vector<int> &
indices,
const std::vector<double> &values) = 0;
69 virtual double GetValue(
const int &i)
const = 0;
78 virtual void AddValues(
const std::vector<int> &
indices,
const std::vector<double> &values) = 0;
90 virtual double Norm()
const = 0;
108 const bool &
append =
false)
const = 0;
Eigen column vector.
Definition Eigen_Array.hpp:23
Interface used for column double Array.
Definition IArray.hpp:23
virtual double Dot(const IArray &v) const =0
virtual void Ones()=0
Put one-values in the Array.
virtual void Copy(const IArray &v)=0
Copy the content of vector v inside this.
virtual void AddValues(const std::vector< int > &indices, const std::vector< double > &values)=0
Add values in the indices to the Array.
virtual void ToBinaryFile(const std::string &filePath, const unsigned int &dataSizeToWrite=0, const unsigned int &dataStartingPositionToWrite=0, const bool &append=false) const =0
Write array to binary file.
virtual double GetValue(const int &i) const =0
virtual const double & operator[](const int &i) const =0
const operator []
virtual ~IArray()
Definition IArray.hpp:25
virtual void SetSize(const unsigned int &numCols)=0
Set the size the Array. Resize a Array for Eigen application.
virtual void Concatenate(const IArray &v, const IArray &w)=0
Concatenate vectors, equivalent u<< v, w.
virtual IArray & operator*=(const double &c)=0
virtual double & operator[](const int &i)=0
operator []
virtual double * Data()=0
virtual IArray & operator/=(const double &c)=0
virtual void SumMultiplication(const ISparseArray &A, const IArray &w)=0
Multiplication of matrix and vector, equivalent to v += A * w.
virtual void Zeros()=0
Put zero-values in the Array.
virtual std::ostream & Print(std::ostream &output) const =0
Print the array.
virtual void AddValue(const int &i, const double &val)=0
Add value to the Array.
virtual const double * Data() const =0
virtual std::vector< double > GetValues(const std::vector< int > &indices={}) const =0
virtual unsigned int Size() const =0
virtual void SubtractionMultiplication(const ISparseArray &A, const IArray &w)=0
Multiplication of matrix and vector and sum to local vector, equivalent to v -= A * w.
virtual void SetSizes(const unsigned int &numCols, const unsigned int &numLocalCols)=0
Set the size the Array. Resize a Array for Eigen application.
virtual void SetValue(const int &i, const double &val)=0
Set the Array Value.
virtual void Create()=0
Matrix create call. Last call to complete the matrix structure.
virtual IArray & operator-=(const IArray &v)=0
virtual void Constant(const double &c)=0
virtual void SetValues(const std::vector< int > &indices, const std::vector< double > &values)=0
Set the Array Values.
virtual double Norm() const =0
virtual IArray & operator+=(const IArray &v)=0
Interface used for sparse Array of double.
Definition ISparseArray.hpp:25
friend std::ostream & operator<<(std::ostream &output, const IArray &b)
operator <<
Definition IArray.hpp:119
Definition Eigen_Array.cpp:22