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.

Atribute 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.
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.

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

EpetraExt_BlockDiagMatrix::EpetraExt_BlockDiagMatrix ( const EpetraExt_BlockDiagMatrix Source  ) 

Copy constructor.

Definition at line 37 of file EpetraExt_BlockDiagMatrix.cpp.

EpetraExt_BlockDiagMatrix::~EpetraExt_BlockDiagMatrix (  )  [virtual]

Destructor.

Definition at line 28 of file EpetraExt_BlockDiagMatrix.cpp.


Member Function Documentation

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

= Operator.

Parameters:
In A - EpetraExt_BlockDiagMatrix to copy.
Returns:
EpetraExt_BlockDiagMatrix.

Definition at line 94 of file EpetraExt_BlockDiagMatrix.cpp.

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

Block access function.

Returns:
the pointer V[Index].

Definition at line 81 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 86 of file EpetraExt_BlockDiagMatrix.h.

virtual int EpetraExt_BlockDiagMatrix::SetUseTranspose ( bool  UseTranspose  )  [inline, virtual]

SetUseTranspose - not implemented.

Implements Epetra_Operator.

Definition at line 94 of file EpetraExt_BlockDiagMatrix.h.

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

SetParameters.

Definition at line 71 of file EpetraExt_BlockDiagMatrix.cpp.

int EpetraExt_BlockDiagMatrix::Compute (  )  [virtual]

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

Definition at line 119 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 109 of file EpetraExt_BlockDiagMatrix.h.

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 112 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 115 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 118 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 121 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 124 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 127 of file EpetraExt_BlockDiagMatrix.h.

double* EpetraExt_BlockDiagMatrix::Values (  )  const [inline]

Returns a pointer to the array containing the blocks.

Definition at line 130 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::BlockSize ( int  LID  )  const [inline]

Returns the size of the given block.

Definition at line 133 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 136 of file EpetraExt_BlockDiagMatrix.h.

bool EpetraExt_BlockDiagMatrix::ConstantBlockSize (  )  const [inline]

Returns true if the element size is constant.

Definition at line 139 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumMyBlocks (  )  const [inline]

Returns the number of local blocks.

Definition at line 142 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumGlobalBlocks (  )  const [inline]

Returns the number of global blocks.

Definition at line 145 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumMyUnknowns (  )  const [inline]

Returns the number of local unknowns.

Definition at line 148 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumGlobalUnknowns (  )  const [inline]

Returns the number of global unknowns.

Definition at line 151 of file EpetraExt_BlockDiagMatrix.h.

int EpetraExt_BlockDiagMatrix::NumData (  )  const [inline]

Returns the size of the total Data block.

Definition at line 154 of file EpetraExt_BlockDiagMatrix.h.

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

Print method.

Reimplemented from Epetra_DistObject.

Definition at line 251 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:
In X - A Epetra_MultiVector of dimension NumVectors to multiply with matrix.
Out Y -A Epetra_MultiVector of dimension NumVectors containing result.
Returns:
Integer error code, set to 0 if successful.

Implements Epetra_Operator.

Definition at line 172 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:
In X - A Epetra_MultiVector of dimension NumVectors to solve for.
Out Y -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 175 of file EpetraExt_BlockDiagMatrix.cpp.

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

NormInf - Not Implemented.

Implements Epetra_Operator.

Definition at line 189 of file EpetraExt_BlockDiagMatrix.h.

void EpetraExt_BlockDiagMatrix::PutScalar ( double  value  ) 

PutScalar function.

Definition at line 87 of file EpetraExt_BlockDiagMatrix.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 09:57:54 2011 for EpetraExt by  doxygen 1.6.3