42 #ifndef EPETRAEXT_BLOCKDIAGMATRIX_H 
   43 #define EPETRAEXT_BLOCKDIAGMATRIX_H 
  120   virtual const char * 
Label()
 const{
return "EpetraExt::BlockDiagMatrix";}
 
  156 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 
  165 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 
  177   virtual void Print(std::ostream & os) 
const;
 
  234                      int * PermuteFromLIDs,
 
virtual const Epetra_BlockMap & DataMap() const 
Returns the Epetra_BlockMap object with the distribution of underlying values. 
bool ConstantBlockSize() const 
Returns true if the element size is constant. 
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...
int NumGlobalUnknowns() const 
Returns the number of global unknowns. 
int * Pivots_
Pivots for factorization. 
int NumMyBlocks() const 
Returns the number of local blocks. 
int PackAndPrepare(const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor)
Epetra_BlockMap * DataMap_
Map for the data. 
double * Values() const 
Returns a pointer to the array containing the blocks. 
bool ConstantElementSize() const 
virtual const Epetra_Map & OperatorDomainMap() const 
Returns the Epetra_Map object associated with the domain of this operator. 
virtual const Epetra_Comm & Comm() const 
Returns a pointer to the Epetra_Comm communicator associated with this operator. 
virtual bool UseTranspose() const 
Returns the current UseTranspose setting. 
int NumMyUnknowns() const 
Returns the number of local unknowns. 
EpetraExt_BlockDiagMatrix & operator=(const EpetraExt_BlockDiagMatrix &Source)
= Operator. 
int NumGlobalBlocks() const 
Returns the number of global blocks. 
virtual double NormInf() const 
NormInf - Not Implemented. 
virtual ~EpetraExt_BlockDiagMatrix()
Destructor. 
double * operator[](int index)
Block access function. 
EpetraExt_BlockDiagMatrix: A class for storing distributed block matrices. 
int BlockSize(int LID) const 
Returns the size of the given block. 
virtual void Print(std::ostream &os) const 
Print method. 
int NumData() const 
Returns the size of the total Data block. 
int FirstPointInElement(int LID) const 
EpetraExt_BlockDiagMatrix(const Epetra_BlockMap &Map, bool zero_out=true)
Constructor - This map is the map of the vector this can be applied to. 
virtual int SetUseTranspose(bool)
SetUseTranspose - not implemented. 
virtual const Epetra_BlockMap & Map() const =0
int CopyAndPermute(const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor, Epetra_CombineMode CombineMode=Zero)
int UnpackAndCombine(const Epetra_SrcDistObject &Source, int NumImportIDs, int *ImportLIDs, int LenImports, char *Imports, int &SizeOfPacket, Epetra_Distributor &Distor, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor)
virtual int Compute()
Computes the inverse / factorization if such is set on the list. 
virtual int Apply(const Epetra_MultiVector &, Epetra_MultiVector &) const 
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y. 
virtual int SetParameters(Teuchos::ParameterList &List)
SetParameters. 
const Epetra_Comm & Comm() const 
double * Values_
Actual Data values. 
virtual const Epetra_Map & OperatorRangeMap() const 
Returns the Epetra_Map object associated with the range of this operator. 
Teuchos::ParameterList List_
bool HasComputed_
Has Computed? Needed for Inverse/Factorization modes. 
long long NumGlobalBlocks64() const 
int DoCopy(const EpetraExt_BlockDiagMatrix &Source)
virtual const char * Label() const 
Returns a character std::string describing the operator. 
long long NumGlobalUnknowns64() const 
int ApplyMode_
Which Apply Mode to use. 
int DataSize(int LID) const 
Returns the size of the data in the given block. 
int GetApplyMode()
Gets apply mode info. 
virtual bool HasNormInf() const 
Returns true if the this object can provide an approximate Inf-norm, false otherwise. 
int CheckSizes(const Epetra_SrcDistObject &Source)
virtual const Epetra_BlockMap & BlockMap() const 
Returns the Epetra_BlockMap object associated with the range of this operator. 
void PutScalar(double value)
PutScalar function.