| 
    queso-0.52.0
    
   | 
 
Class for representing block matrices using GSL library. More...
#include <GslBlockMatrix.h>


Public Member Functions | |
| virtual unsigned int | numRowsLocal () const | 
| Not implemented yet.  More... | |
| virtual unsigned int | numRowsGlobal () const | 
| Not implemented yet.  More... | |
| virtual unsigned int | numCols () const | 
| Not implemented yet.  More... | |
| virtual int | chol () | 
| Not implemented yet.  More... | |
| virtual void | zeroLower (bool includeDiagonal=false) | 
| Not implemented yet.  More... | |
| virtual void | zeroUpper (bool includeDiagonal=false) | 
| Not implemented yet.  More... | |
| GslMatrix & | getBlock (unsigned int i) const | 
Return block i in the block diagonal matrix.  More... | |
| unsigned int | numBlocks () const | 
| Return the number of blocks in the block diagonal matrix.  More... | |
| void | invertMultiply (const GslVector &b, GslVector &x) const | 
This function calculates the inverse of this matrix, multiplies it with vector b and stores the result in vector x.  More... | |
Constructor/Destructor methods  | |
| GslBlockMatrix (const std::vector< unsigned int > &blockSizes, const GslVector &v, double diagValue) | |
Creates a square matrix with size defined by v and diagonal values all equal to diagValue.  More... | |
| ~GslBlockMatrix () | |
| Destructor.  More... | |
I/O methods  | |
| virtual void | print (std::ostream &os) const | 
| Print method. Defines the behavior of operator<< inherited from the Object class.  More... | |
Private Attributes | |
| std::vector< VectorSpace < GslVector, GslMatrix > * >  | m_vectorSpaces | 
| std::vector< GslMatrix * > | m_blocks | 
  Private Attributes inherited from QUESO::Matrix | |
| const BaseEnvironment & | m_env | 
| QUESO environment variable.  More... | |
| const Map & | m_map | 
| Mapping variable.  More... | |
| bool | m_printHorizontally | 
| Flag for either or not print this matrix.  More... | |
| bool | m_inDebugMode | 
| Flag for either or not QUESO is in debug mode.  More... | |
Additional Inherited Members | |
  Private Member Functions inherited from QUESO::Matrix | |
| Matrix () | |
| Default constructor.  More... | |
| Matrix (const BaseEnvironment &env, const Map &map) | |
| Shaped constructor.  More... | |
| Matrix (const Matrix &rhs) | |
| Copy constructor.  More... | |
| virtual | ~Matrix () | 
| Virtual Destructor.  More... | |
| Matrix & | operator= (const Matrix &rhs) | 
| Operator for copying a matrix.  More... | |
| Matrix & | operator*= (double a) | 
| Operator for multiplication of the matrix by a scalar.  More... | |
| Matrix & | operator+= (const Matrix &rhs) | 
| Operator for addition (element-wise) of two matrices.  More... | |
| Matrix & | operator-= (const Matrix &rhs) | 
| Operator for subtraction (element-wise) of two matrices.  More... | |
| const BaseEnvironment & | env () const | 
| const Map & | map () const | 
| unsigned int | numOfProcsForStorage () const | 
| void | setPrintHorizontally (bool value) const | 
| Determines whether the matrix should be printed horizontally.  More... | |
| bool | getPrintHorizontally () const | 
| Checks if matrix will be is printed horizontally.  More... | |
| void | setInDebugMode (bool value) const | 
| Determines whether QUESO will run through this class in debug mode.  More... | |
| bool | getInDebugMode () const | 
| Checks if QUESO will run through this class in debug mode.  More... | |
| virtual void | copy (const Matrix &src) | 
Copies matrix src to this matrix.  More... | |
Class for representing block matrices using GSL library.
This class provides basic 'invertMultiply' support for matrices of block diagonal structure. Each block is implemented as a GslMatrix object.
Definition at line 50 of file GslBlockMatrix.h.
| QUESO::GslBlockMatrix::GslBlockMatrix | ( | const std::vector< unsigned int > & | blockSizes, | 
| const GslVector & | v, | ||
| double | diagValue | ||
| ) | 
Creates a square matrix with size defined by v and diagonal values all equal to diagValue. 
The blockSizes array determines the sizes of each (square) block. 
Definition at line 29 of file GslBlockMatrix.C.
References m_blocks, QUESO::Matrix::m_env, and m_vectorSpaces.
| QUESO::GslBlockMatrix::~GslBlockMatrix | ( | ) | 
Destructor.
Definition at line 43 of file GslBlockMatrix.C.
References m_blocks, and m_vectorSpaces.
      
  | 
  virtual | 
Not implemented yet.
Implements QUESO::Matrix.
Definition at line 73 of file GslBlockMatrix.C.
References queso_not_implemented.
| GslMatrix & QUESO::GslBlockMatrix::getBlock | ( | unsigned int | i | ) | const | 
Return block i in the block diagonal matrix. 
Definition at line 93 of file GslBlockMatrix.C.
References m_blocks.
Referenced by QUESO::GaussianLikelihoodBlockDiagonalCovariance< V, M >::GaussianLikelihoodBlockDiagonalCovariance(), QUESO::GaussianLikelihoodBlockDiagonalCovarianceRandomCoefficients< V, M >::GaussianLikelihoodBlockDiagonalCovarianceRandomCoefficients(), and print().
This function calculates the inverse of this matrix, multiplies it with vector b and stores the result in vector x. 
It checks for a previous LU decomposition of each block matrix and does not recompute it if m_MU != NULL for each block.
Definition at line 105 of file GslBlockMatrix.C.
References m_blocks, m_vectorSpaces, queso_error_msg, and QUESO::GslVector::sizeLocal().
| unsigned int QUESO::GslBlockMatrix::numBlocks | ( | ) | const | 
Return the number of blocks in the block diagonal matrix.
Definition at line 99 of file GslBlockMatrix.C.
References m_blocks.
Referenced by QUESO::GaussianLikelihoodBlockDiagonalCovariance< V, M >::GaussianLikelihoodBlockDiagonalCovariance(), QUESO::GaussianLikelihoodBlockDiagonalCovarianceRandomCoefficients< V, M >::GaussianLikelihoodBlockDiagonalCovarianceRandomCoefficients(), and print().
      
  | 
  virtual | 
Not implemented yet.
Implements QUESO::Matrix.
Definition at line 66 of file GslBlockMatrix.C.
References queso_not_implemented.
      
  | 
  virtual | 
Not implemented yet.
Implements QUESO::Matrix.
Definition at line 59 of file GslBlockMatrix.C.
References queso_not_implemented.
      
  | 
  virtual | 
Not implemented yet.
Implements QUESO::Matrix.
Definition at line 53 of file GslBlockMatrix.C.
References queso_not_implemented.
      
  | 
  virtual | 
Print method. Defines the behavior of operator<< inherited from the Object class.
Implements QUESO::Matrix.
Definition at line 148 of file GslBlockMatrix.C.
References getBlock(), numBlocks(), and QUESO::GslMatrix::print().
Referenced by QUESO::operator<<().
      
  | 
  virtual | 
Not implemented yet.
Implements QUESO::Matrix.
Definition at line 80 of file GslBlockMatrix.C.
References queso_not_implemented.
      
  | 
  virtual | 
Not implemented yet.
Implements QUESO::Matrix.
Definition at line 86 of file GslBlockMatrix.C.
References queso_not_implemented.
      
  | 
  private | 
Definition at line 105 of file GslBlockMatrix.h.
Referenced by getBlock(), GslBlockMatrix(), invertMultiply(), numBlocks(), and ~GslBlockMatrix().
      
  | 
  private | 
Definition at line 104 of file GslBlockMatrix.h.
Referenced by GslBlockMatrix(), invertMultiply(), and ~GslBlockMatrix().