EpetraExt Development
Public Member Functions
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]

List of all members.

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.
 EpetraExt_BlockDiagMatrix (const EpetraExt_BlockDiagMatrix &Source)
 Copy constructor.
virtual ~EpetraExt_BlockDiagMatrix ()
 Destructor.
EpetraExt_BlockDiagMatrixoperator= (const EpetraExt_BlockDiagMatrix &Source)
 = Operator.
double * operator[] (int index)
 Block access function.
const double * operator[] (int index) const
 Block access function.

Attribute set methods

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

Attribute access functions

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

Mathematical functions

virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
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.
virtual double NormInf () const
 NormInf - Not Implemented.
void PutScalar (double value)
 PutScalar function.
virtual const Epetra_BlockMapDataMap () const
 Returns the Epetra_BlockMap object with the distribution of underlying values.

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 137 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  UseTranspose) [inline, virtual]

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 114 of file EpetraExt_BlockDiagMatrix.cpp.

int EpetraExt_BlockDiagMatrix::Compute ( ) [virtual]

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

Definition at line 162 of file EpetraExt_BlockDiagMatrix.cpp.

virtual const char* EpetraExt_BlockDiagMatrix::Label ( ) const [inline, virtual]

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 120 of file EpetraExt_BlockDiagMatrix.h.

virtual bool EpetraExt_BlockDiagMatrix::UseTranspose ( ) const [inline, virtual]

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 123 of file EpetraExt_BlockDiagMatrix.h.

virtual bool EpetraExt_BlockDiagMatrix::HasNormInf ( ) const [inline, virtual]

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 [inline, virtual]

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

Reimplemented from Epetra_DistObject.

Definition at line 129 of file EpetraExt_BlockDiagMatrix.h.

virtual const Epetra_Map& EpetraExt_BlockDiagMatrix::OperatorDomainMap ( ) const [inline, virtual]

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 [inline, virtual]

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 [inline, virtual]

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 156 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumMyUnknowns ( ) const [inline]

Returns the number of local unknowns.

Definition at line 159 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumGlobalUnknowns ( ) const [inline]

Returns the number of global unknowns.

Definition at line 162 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumData ( ) const [inline]

Returns the size of the total Data block.

Definition at line 165 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::GetApplyMode ( ) [inline]

Gets apply mode info.

Definition at line 168 of file EpetraExt_BlockDiagMatrix.h.

void EpetraExt_BlockDiagMatrix::Print ( ostream &  os) const [virtual]

Print method.

Reimplemented from Epetra_DistObject.

Definition at line 294 of file EpetraExt_BlockDiagMatrix.cpp.

virtual int EpetraExt_BlockDiagMatrix::Apply ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const [inline, virtual]

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 187 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 218 of file EpetraExt_BlockDiagMatrix.cpp.

virtual double EpetraExt_BlockDiagMatrix::NormInf ( ) const [inline, virtual]

NormInf - Not Implemented.

Implements Epetra_Operator.

Definition at line 204 of file EpetraExt_BlockDiagMatrix.h.

void EpetraExt_BlockDiagMatrix::PutScalar ( double  value)

PutScalar function.

Definition at line 130 of file EpetraExt_BlockDiagMatrix.cpp.

virtual const Epetra_BlockMap& EpetraExt_BlockDiagMatrix::DataMap ( ) const [inline, virtual]

Returns the Epetra_BlockMap object with the distribution of underlying values.

Definition at line 210 of file EpetraExt_BlockDiagMatrix.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines