EpetraExt  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
EpetraExt_BlockDiagMatrix Class Reference

EpetraExt_BlockDiagMatrix: A class for storing distributed block matrices. More...

#include <EpetraExt_BlockDiagMatrix.h>

Inheritance diagram for EpetraExt_BlockDiagMatrix:
Inheritance graph
[legend]

Public Member Functions

 EpetraExt_BlockDiagMatrix (const Epetra_BlockMap &Map, bool zero_out=true)
 Constructor - This map is the map of the vector this can be applied to. More...
 
 EpetraExt_BlockDiagMatrix (const EpetraExt_BlockDiagMatrix &Source)
 Copy constructor. More...
 
virtual ~EpetraExt_BlockDiagMatrix ()
 Destructor. More...
 
EpetraExt_BlockDiagMatrixoperator= (const EpetraExt_BlockDiagMatrix &Source)
 = Operator. More...
 
double * operator[] (int index)
 Block access function. More...
 
const double * operator[] (int index) const
 Block access function. More...
 
- Public Member Functions inherited from Epetra_BLAS
 Epetra_BLAS (void)
 
 Epetra_BLAS (const Epetra_BLAS &BLAS)
 
virtual ~Epetra_BLAS (void)
 
float ASUM (const int N, const float *X, const int INCX=1) const
 
double ASUM (const int N, const double *X, const int INCX=1) const
 
float DOT (const int N, const float *X, const float *Y, const int INCX=1, const int INCY=1) const
 
double DOT (const int N, const double *X, const double *Y, const int INCX=1, const int INCY=1) const
 
float NRM2 (const int N, const float *X, const int INCX=1) const
 
double NRM2 (const int N, const double *X, const int INCX=1) const
 
void SCAL (const int N, const float ALPHA, float *X, const int INCX=1) const
 
void SCAL (const int N, const double ALPHA, double *X, const int INCX=1) const
 
void COPY (const int N, const float *X, float *Y, const int INCX=1, const int INCY=1) const
 
void COPY (const int N, const double *X, double *Y, const int INCX=1, const int INCY=1) const
 
int IAMAX (const int N, const float *X, const int INCX=1) const
 
int IAMAX (const int N, const double *X, const int INCX=1) const
 
void AXPY (const int N, const float ALPHA, const float *X, float *Y, const int INCX=1, const int INCY=1) const
 
void AXPY (const int N, const double ALPHA, const double *X, double *Y, const int INCX=1, const int INCY=1) const
 
void GEMV (const char TRANS, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *X, const float BETA, float *Y, const int INCX=1, const int INCY=1) const
 
void GEMV (const char TRANS, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *X, const double BETA, double *Y, const int INCX=1, const int INCY=1) const
 
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
 
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
 
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
 
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
 
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const float ALPHA, const float *A, const int LDA, float *B, const int LDB) const
 
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const double ALPHA, const double *A, const int LDA, double *B, const int LDB) const
 
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float BETA, float *C, const int LDC) const
 
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double BETA, double *C, const int LDC) const
 

Attribute set methods

virtual int SetUseTranspose (bool)
 SetUseTranspose - not implemented. More...
 
virtual int SetParameters (Teuchos::ParameterList &List)
 SetParameters. More...
 
virtual int Compute ()
 Computes the inverse / factorization if such is set on the list. More...
 

Attribute access functions

virtual const char * Label () const
 Returns a character std::string describing the operator. More...
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const Epetra_CommComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator. More...
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator. More...
 
virtual const Epetra_BlockMapBlockMap () const
 Returns the Epetra_BlockMap object associated with the range of this operator. More...
 
double * Values () const
 Returns a pointer to the array containing the blocks. More...
 
int BlockSize (int LID) const
 Returns the size of the given block. More...
 
int DataSize (int LID) const
 Returns the size of the data in the given block. More...
 
bool ConstantBlockSize () const
 Returns true if the element size is constant. More...
 
int NumMyBlocks () const
 Returns the number of local blocks. More...
 
int NumGlobalBlocks () const
 Returns the number of global blocks. More...
 
long long NumGlobalBlocks64 () const
 
int NumMyUnknowns () const
 Returns the number of local unknowns. More...
 
int NumGlobalUnknowns () const
 Returns the number of global unknowns. More...
 
long long NumGlobalUnknowns64 () const
 
int NumData () const
 Returns the size of the total Data block. More...
 
int GetApplyMode ()
 Gets apply mode info. More...
 
virtual void Print (std::ostream &os) const
 Print method. More...
 

Mathematical functions

virtual int Apply (const Epetra_MultiVector &, Epetra_MultiVector &) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y. More...
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y. More...
 
virtual double NormInf () const
 NormInf - Not Implemented. More...
 
void PutScalar (double value)
 PutScalar function. More...
 
virtual const Epetra_BlockMapDataMap () const
 Returns the Epetra_BlockMap object with the distribution of underlying values. More...
 

Additional Inherited Members

Detailed Description

EpetraExt_BlockDiagMatrix: A class for storing distributed block matrices.

A dense-block block-diagonal matrix with inversion/factorization capabilities.

This class has a rigid map structure — the Domain and Range maps must be the same.

Definition at line 66 of file EpetraExt_BlockDiagMatrix.h.

Constructor & Destructor Documentation

EpetraExt_BlockDiagMatrix::EpetraExt_BlockDiagMatrix ( const Epetra_BlockMap Map,
bool  zero_out = true 
)

Constructor - This map is the map of the vector this can be applied to.

Definition at line 56 of file EpetraExt_BlockDiagMatrix.cpp.

EpetraExt_BlockDiagMatrix::EpetraExt_BlockDiagMatrix ( const EpetraExt_BlockDiagMatrix Source)

Copy constructor.

Definition at line 80 of file EpetraExt_BlockDiagMatrix.cpp.

EpetraExt_BlockDiagMatrix::~EpetraExt_BlockDiagMatrix ( )
virtual

Destructor.

Definition at line 71 of file EpetraExt_BlockDiagMatrix.cpp.

Member Function Documentation

EpetraExt_BlockDiagMatrix & EpetraExt_BlockDiagMatrix::operator= ( const EpetraExt_BlockDiagMatrix Source)

= Operator.

Parameters
InA - EpetraExt_BlockDiagMatrix to copy.
Returns
EpetraExt_BlockDiagMatrix.

Definition at line 150 of file EpetraExt_BlockDiagMatrix.cpp.

double* EpetraExt_BlockDiagMatrix::operator[] ( int  index)
inline

Block access function.

Returns
the pointer V[Index].

Definition at line 92 of file EpetraExt_BlockDiagMatrix.h.

const double* EpetraExt_BlockDiagMatrix::operator[] ( int  index) const
inline

Block access function.

Returns
the pointer V[Index].

Definition at line 97 of file EpetraExt_BlockDiagMatrix.h.

virtual int EpetraExt_BlockDiagMatrix::SetUseTranspose ( bool  )
inlinevirtual

SetUseTranspose - not implemented.

Implements Epetra_Operator.

Definition at line 105 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::SetParameters ( Teuchos::ParameterList &  List)
virtual

SetParameters.

Definition at line 127 of file EpetraExt_BlockDiagMatrix.cpp.

int EpetraExt_BlockDiagMatrix::Compute ( )
virtual

Computes the inverse / factorization if such is set on the list.

Definition at line 175 of file EpetraExt_BlockDiagMatrix.cpp.

virtual const char* EpetraExt_BlockDiagMatrix::Label ( ) const
inlinevirtual

Returns a character std::string describing the operator.

Implements Epetra_Operator.

Definition at line 120 of file EpetraExt_BlockDiagMatrix.h.

virtual bool EpetraExt_BlockDiagMatrix::UseTranspose ( ) const
inlinevirtual

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 123 of file EpetraExt_BlockDiagMatrix.h.

virtual bool EpetraExt_BlockDiagMatrix::HasNormInf ( ) const
inlinevirtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements Epetra_Operator.

Definition at line 126 of file EpetraExt_BlockDiagMatrix.h.

virtual const Epetra_Comm& EpetraExt_BlockDiagMatrix::Comm ( ) const
inlinevirtual

Returns a pointer to the Epetra_Comm communicator associated with this operator.

Implements Epetra_Operator.

Definition at line 129 of file EpetraExt_BlockDiagMatrix.h.

virtual const Epetra_Map& EpetraExt_BlockDiagMatrix::OperatorDomainMap ( ) const
inlinevirtual

Returns the Epetra_Map object associated with the domain of this operator.

Implements Epetra_Operator.

Definition at line 132 of file EpetraExt_BlockDiagMatrix.h.

virtual const Epetra_Map& EpetraExt_BlockDiagMatrix::OperatorRangeMap ( ) const
inlinevirtual

Returns the Epetra_Map object associated with the range of this operator.

Implements Epetra_Operator.

Definition at line 135 of file EpetraExt_BlockDiagMatrix.h.

virtual const Epetra_BlockMap& EpetraExt_BlockDiagMatrix::BlockMap ( ) const
inlinevirtual

Returns the Epetra_BlockMap object associated with the range of this operator.

Definition at line 138 of file EpetraExt_BlockDiagMatrix.h.

double* EpetraExt_BlockDiagMatrix::Values ( ) const
inline

Returns a pointer to the array containing the blocks.

Definition at line 141 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::BlockSize ( int  LID) const
inline

Returns the size of the given block.

Definition at line 144 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::DataSize ( int  LID) const
inline

Returns the size of the data in the given block.

Definition at line 147 of file EpetraExt_BlockDiagMatrix.h.

bool EpetraExt_BlockDiagMatrix::ConstantBlockSize ( ) const
inline

Returns true if the element size is constant.

Definition at line 150 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumMyBlocks ( ) const
inline

Returns the number of local blocks.

Definition at line 153 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumGlobalBlocks ( ) const
inline

Returns the number of global blocks.

Definition at line 157 of file EpetraExt_BlockDiagMatrix.h.

long long EpetraExt_BlockDiagMatrix::NumGlobalBlocks64 ( ) const
inline

Definition at line 159 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumMyUnknowns ( ) const
inline

Returns the number of local unknowns.

Definition at line 162 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumGlobalUnknowns ( ) const
inline

Returns the number of global unknowns.

Definition at line 166 of file EpetraExt_BlockDiagMatrix.h.

long long EpetraExt_BlockDiagMatrix::NumGlobalUnknowns64 ( ) const
inline

Definition at line 168 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumData ( ) const
inline

Returns the size of the total Data block.

Definition at line 171 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::GetApplyMode ( )
inline

Gets apply mode info.

Definition at line 174 of file EpetraExt_BlockDiagMatrix.h.

void EpetraExt_BlockDiagMatrix::Print ( std::ostream &  os) const
virtual

Print method.

Reimplemented from Epetra_DistObject.

Definition at line 307 of file EpetraExt_BlockDiagMatrix.cpp.

virtual int EpetraExt_BlockDiagMatrix::Apply ( const Epetra_MultiVector ,
Epetra_MultiVector  
) const
inlinevirtual

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.

Parameters
InX - A Epetra_MultiVector of dimension NumVectors to multiply with matrix.
OutY -A Epetra_MultiVector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.

Implements Epetra_Operator.

Definition at line 193 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const
virtual

Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.

Parameters
InX - A Epetra_MultiVector of dimension NumVectors to solve for.
OutY -A Epetra_MultiVector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.
Warning
In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.

Implements Epetra_Operator.

Definition at line 231 of file EpetraExt_BlockDiagMatrix.cpp.

virtual double EpetraExt_BlockDiagMatrix::NormInf ( ) const
inlinevirtual

NormInf - Not Implemented.

Implements Epetra_Operator.

Definition at line 210 of file EpetraExt_BlockDiagMatrix.h.

void EpetraExt_BlockDiagMatrix::PutScalar ( double  value)

PutScalar function.

Definition at line 143 of file EpetraExt_BlockDiagMatrix.cpp.

virtual const Epetra_BlockMap& EpetraExt_BlockDiagMatrix::DataMap ( ) const
inlinevirtual

Returns the Epetra_BlockMap object with the distribution of underlying values.

Definition at line 216 of file EpetraExt_BlockDiagMatrix.h.


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