28 #include <queso/Environment.h>
29 #include <queso/Vector.h>
95 virtual unsigned int numCols ()
const = 0;
100 virtual int chol () = 0;
107 virtual void zeroLower (
bool includeDiagonal =
false) = 0;
111 virtual void zeroUpper (
bool includeDiagonal =
false) = 0;
116 virtual void print (std::ostream& os)
const = 0;
139 #ifdef QUESO_CLASSES_INSTANTIATE_NEW_MAPS
160 #endif // UQ_MATRIX_H
virtual void print(std::ostream &os) const =0
Print this matrix.
Matrix()
Default constructor.
virtual void copy(const Matrix &src)
Copies matrix src to this matrix.
void setInDebugMode(bool value) const
Determines whether QUESO will run through this class in debug mode.
unsigned int numOfProcsForStorage() const
void setPrintHorizontally(bool value) const
Determines whether the matrix should be printed horizontally.
const BaseEnvironment & env() const
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
virtual unsigned int numCols() const =0
Returns the number of columns local of the matrix.
virtual unsigned int numRowsLocal() const =0
Returns the number of rows local of the matrix.
Matrix & operator-=(const Matrix &rhs)
Operator for subtraction (element-wise) of two matrices.
bool m_inDebugMode
Flag for either or not QUESO is in debug mode.
virtual ~Matrix()
Virtual Destructor.
const Map & m_map
Mapping variable.
bool getInDebugMode() const
Checks if QUESO will run through this class in debug mode.
bool m_printHorizontally
Flag for either or not print this matrix.
virtual void zeroUpper(bool includeDiagonal=false)=0
Sets to zero all the elements above (including or not) the diagonal of the matrix.
Matrix & operator+=(const Matrix &rhs)
Operator for addition (element-wise) of two matrices.
Matrix & operator=(const Matrix &rhs)
Operator for copying a matrix.
virtual int chol()=0
Performs Cholesky factorization of the matrix.
virtual unsigned int numRowsGlobal() const =0
Returns the number of rows global of the matrix.
virtual void zeroLower(bool includeDiagonal=false)=0
Sets to zero all the elements bellow (including or not) the diagonal of the matrix.
Class for matrix operations (virtual).
Matrix & operator*=(double a)
Operator for multiplication of the matrix by a scalar.
A class for partitioning vectors and matrices.
const BaseEnvironment & m_env
QUESO environment variable.
bool getPrintHorizontally() const
Checks if matrix will be is printed horizontally.