PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
Gedim::IArray Class Referenceabstract

Interface used for column double Array. More...

#include <IArray.hpp>

Inheritance diagram for Gedim::IArray:
[legend]

Public Member Functions

virtual ~IArray ()
 
virtual void Create ()=0
 Matrix create call. Last call to complete the matrix structure.
 
virtual void Destroy ()=0
 
virtual void SetSize (const unsigned int &numCols)=0
 Set the size the Array. Resize a Array for Eigen application.
 
virtual void SetSizes (const unsigned int &numCols, const unsigned int &numLocalCols)=0
 Set the size the Array. Resize a Array for Eigen application.
 
virtual unsigned int Size () const =0
 
virtual const doubleData () const =0
 
virtual doubleData ()=0
 
virtual void Zeros ()=0
 Put zero-values in the Array.
 
virtual void Ones ()=0
 Put one-values in the Array.
 
virtual void Constant (const double &c)=0
 
virtual doubleoperator[] (const int &i)=0
 operator []
 
virtual const doubleoperator[] (const int &i) const =0
 const operator []
 
virtual void SetValue (const int &i, const double &val)=0
 Set the Array Value.
 
virtual void SetValues (const std::vector< int > &indices, const std::vector< double > &values)=0
 Set the Array Values.
 
virtual std::vector< doubleGetValues (const std::vector< int > &indices={}) const =0
 
virtual double GetValue (const int &i) const =0
 
virtual void AddValue (const int &i, const double &val)=0
 Add value to the Array.
 
virtual void AddValues (const std::vector< int > &indices, const std::vector< double > &values)=0
 Add values in the indices to the Array.
 
virtual void SumMultiplication (const ISparseArray &A, const IArray &w)=0
 Multiplication of matrix and vector, equivalent to v += A * w.
 
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 Concatenate (const IArray &v, const IArray &w)=0
 Concatenate vectors, equivalent u<< v, w.
 
virtual double Norm () const =0
 
virtual double Dot (const IArray &v) const =0
 
virtual void Copy (const IArray &v)=0
 Copy the content of vector v inside this.
 
virtual std::ostream & Print (std::ostream &output) const =0
 Print 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 IArrayoperator+= (const IArray &v)=0
 
virtual IArrayoperator-= (const IArray &v)=0
 
virtual IArrayoperator*= (const double &c)=0
 
virtual IArrayoperator/= (const double &c)=0
 

Friends

std::ostream & operator<< (std::ostream &output, const IArray &b)
 operator <<
 

Detailed Description

Interface used for column double Array.

Constructor & Destructor Documentation

◆ ~IArray()

virtual Gedim::IArray::~IArray ( )
inlinevirtual

Member Function Documentation

◆ AddValue()

virtual void Gedim::IArray::AddValue ( const int i,
const double val 
)
pure virtual

Add value to the Array.

Parameters
ithe i_th global position starting from 0
valelement to add

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ AddValues()

virtual void Gedim::IArray::AddValues ( const std::vector< int > &  indices,
const std::vector< double > &  values 
)
pure virtual

Add values in the indices to the Array.

Parameters
indicesthe indices
valuesthe values

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Concatenate()

virtual void Gedim::IArray::Concatenate ( const IArray v,
const IArray w 
)
pure virtual

Concatenate vectors, equivalent u<< v, w.

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Constant()

virtual void Gedim::IArray::Constant ( const double c)
pure virtual

◆ Copy()

virtual void Gedim::IArray::Copy ( const IArray v)
pure virtual

Copy the content of vector v inside this.

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Create()

virtual void Gedim::IArray::Create ( )
pure virtual

Matrix create call. Last call to complete the matrix structure.

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Data() [1/2]

virtual const double * Gedim::IArray::Data ( ) const
pure virtual
Returns
the const pointer of the array

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Data() [2/2]

virtual double * Gedim::IArray::Data ( )
pure virtual
Returns
the pointer of the array

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Destroy()

virtual void Gedim::IArray::Destroy ( )
pure virtual

◆ Dot()

virtual double Gedim::IArray::Dot ( const IArray v) const
pure virtual
Returns
the dot product

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ GetValue()

virtual double Gedim::IArray::GetValue ( const int i) const
pure virtual

◆ GetValues()

virtual std::vector< double > Gedim::IArray::GetValues ( const std::vector< int > &  indices = {}) const
pure virtual

◆ Norm()

virtual double Gedim::IArray::Norm ( ) const
pure virtual
Returns
the l2 norm of array

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Ones()

virtual void Gedim::IArray::Ones ( )
pure virtual

Put one-values in the Array.

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ operator*=()

virtual IArray & Gedim::IArray::operator*= ( const double c)
pure virtual

◆ operator+=()

virtual IArray & Gedim::IArray::operator+= ( const IArray v)
pure virtual

◆ operator-=()

virtual IArray & Gedim::IArray::operator-= ( const IArray v)
pure virtual

◆ operator/=()

virtual IArray & Gedim::IArray::operator/= ( const double c)
pure virtual

◆ operator[]() [1/2]

virtual const double & Gedim::IArray::operator[] ( const int i) const
pure virtual

const operator []

Parameters
ithe i_th position starting from 0
Returns
the const reference to i_th element

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ operator[]() [2/2]

virtual double & Gedim::IArray::operator[] ( const int i)
pure virtual

operator []

Parameters
ithe i_th position starting from 0
Returns
the reference to i_th element

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Print()

virtual std::ostream & Gedim::IArray::Print ( std::ostream &  output) const
pure virtual

◆ SetSize()

virtual void Gedim::IArray::SetSize ( const unsigned int numCols)
pure virtual

Set the size the Array. Resize a Array for Eigen application.

Parameters
numColsthe number of cols

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ SetSizes()

virtual void Gedim::IArray::SetSizes ( const unsigned int numCols,
const unsigned int numLocalCols 
)
pure virtual

Set the size the Array. Resize a Array for Eigen application.

Parameters
numColsthe number of cols
numLocalColsthe local size for the Array (It can be set for each process. For PETSC applciation when not specified is set to PETSC_DECIDE)

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ SetValue()

virtual void Gedim::IArray::SetValue ( const int i,
const double val 
)
pure virtual

Set the Array Value.

Parameters
ithe i_th global position starting from 0
valelement to set

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ SetValues()

virtual void Gedim::IArray::SetValues ( const std::vector< int > &  indices,
const std::vector< double > &  values 
)
pure virtual

Set the Array Values.

Parameters
indicesthe indices
valuesthe values

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Size()

virtual unsigned int Gedim::IArray::Size ( ) const
pure virtual
Returns
the size of the array

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ SubtractionMultiplication()

virtual void Gedim::IArray::SubtractionMultiplication ( const ISparseArray A,
const IArray w 
)
pure virtual

Multiplication of matrix and vector and sum to local vector, equivalent to v -= A * w.

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ SumMultiplication()

virtual void Gedim::IArray::SumMultiplication ( const ISparseArray A,
const IArray w 
)
pure virtual

Multiplication of matrix and vector, equivalent to v += A * w.

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ ToBinaryFile()

virtual void Gedim::IArray::ToBinaryFile ( const std::string &  filePath,
const unsigned int dataSizeToWrite = 0,
const unsigned int dataStartingPositionToWrite = 0,
const bool append = false 
) const
pure virtual

Write array to binary file.

Parameters
filePaththe file Path
dataSizeToWritethe size of data to write, default 0 means all the vector
dataStartingPositionToWritethe file starting position, default 0
appendtrue if append operation, default false

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.

◆ Zeros()

virtual void Gedim::IArray::Zeros ( )
pure virtual

Put zero-values in the Array.

Implemented in Gedim::Eigen_Array< Eigen_ArrayType, Eigen_SparseArrayType >.


The documentation for this class was generated from the following file: