12#ifndef __ISPARSEArray_HPP
13#define __ISPARSEArray_HPP
69 virtual void Triplet(
const unsigned int &i,
const unsigned int &j,
const double &
val) = 0;
72 virtual void Triplets(
const std::vector<unsigned int> &i,
const std::vector<unsigned int> &j,
const std::vector<double> &
val) = 0;
75 virtual double Norm()
const = 0;
Eigen column vector.
Definition Eigen_Array.hpp:23
Interface used for sparse Array of double.
Definition ISparseArray.hpp:25
virtual ISparseArray & operator+=(const ISparseArray &A)=0
virtual ISparseArray & operator/=(const double &c)=0
virtual void Reset()=0
Put zero-values in the Matrix.
virtual void Flush()=0
Intermediate flush of the Matrix during creation.
virtual ~ISparseArray()
Definition ISparseArray.hpp:44
virtual void Create()=0
Matrix Allocation is implemented in child classes.
virtual void Triplets(const std::vector< unsigned int > &i, const std::vector< unsigned int > &j, const std::vector< double > &val)=0
Given the row indices i and the column indices j the values val are put into the Matrix in ADD or INS...
virtual ISparseArray & operator*=(const double &c)=0
virtual unsigned int NonZeros() const =0
virtual ISparseArray & operator-=(const ISparseArray &A)=0
SparseArrayTypes
Definition ISparseArray.hpp:28
virtual double Cond(const ISparseArray::ConditionNumberAlgorithm &algorithm=ISparseArray::ConditionNumberAlgorithm::SVDLapack) const =0
ConditionNumberAlgorithm
Definition ISparseArray.hpp:37
virtual void SetSize(const unsigned int &numRows, const unsigned int &numCols, const SparseArrayTypes &type=SparseArrayTypes::None)=0
Resize the Matrix.
virtual std::ostream & Print(std::ostream &output) const =0
Print the array.
virtual SparseArrayTypes Type() const =0
virtual void Triplet(const unsigned int &i, const unsigned int &j, const double &val)=0
Given the row index i and the column index j the value val is put into the Matrix in ADD or INSERT mo...
virtual double Norm() const =0
virtual void ToBinaryFile(const std::string &filePath, const bool &append=false) const =0
Write sparse array to binary file.
friend std::ostream & operator<<(std::ostream &output, const ISparseArray &b)
operator <<
Definition ISparseArray.hpp:101
Definition Eigen_Array.cpp:22