MLAPI::DistributedMatrix Class Reference

#include <MLAPI_DistributedMatrix.h>

Inheritance diagram for MLAPI::DistributedMatrix:

Inheritance graph
[legend]
Collaboration diagram for MLAPI::DistributedMatrix:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 DistributedMatrix (const Space &RowSpace, const Space &ColSpace)
virtual int NumMyRowEntries (int MyRow, int &NumEntries) const
virtual int MaxNumEntries () const
virtual int ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const
virtual int ExtractDiagonalCopy (Epetra_Vector &Diagonal) const
virtual int Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual int Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual int InvRowSums (Epetra_Vector &x) const
virtual int LeftScale (const Epetra_Vector &x)
virtual int InvColSums (Epetra_Vector &x) const
virtual int RightScale (const Epetra_Vector &x)
virtual bool Filled () const
virtual double NormInf () const
virtual double NormOne () const
virtual int NumGlobalNonzeros () const
virtual int NumGlobalRows () const
virtual int NumGlobalCols () const
virtual int NumGlobalDiagonals () const
virtual int NumMyNonzeros () const
virtual int NumMyRows () const
virtual int NumMyCols () const
virtual int NumMyDiagonals () const
virtual bool LowerTriangular () const
virtual bool UpperTriangular () const
virtual const Epetra_Map & RowMatrixRowMap () const
virtual const Epetra_Map & RowMatrixColMap () const
virtual const Epetra_Import * RowMatrixImporter () const
virtual const Epetra_Map & OperatorDomainMap () const
virtual const Epetra_Map & OperatorRangeMap () const
virtual const Epetra_Map & Map () const
virtual int SetUseTranspose (bool what)
int Apply (const MultiVector &X, MultiVector &Y) const
 Applies this operator to LHS, returns the result in RHS.
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual const char * Label () const
virtual bool UseTranspose () const
virtual bool HasNormInf () const
virtual const Epetra_Comm & Comm () const
std::ostream & Print (std::ostream &os, const bool verbose=true) const
 Prints basic information about this object.
Space GetDomainSpace () const
 Returns a reference to the internally stored domain space.
Space GetRangeSpace () const
 Returns a reference to the internally stored range space.
double & operator() (const int GRID, const int GCID)
void ReplaceElement (const int GRID, const int GCID, const double value)
void FillComplete ()
bool IsFillCompleted () const

Private Member Functions

 DistributedMatrix (const DistributedMatrix &rhs)
DistributedMatrixoperator= (const DistributedMatrix &rhs)

Private Attributes

std::vector< int > rows_
std::vector< int > cols_
std::vector< double > vals_
Epetra_FECrsMatrix * Matrix_
Space ColSpace_
Space RowSpace_
Epetra_Map * DomainMap_
Epetra_Map * RangeMap_
bool FillCompleted_


Constructor & Destructor Documentation

MLAPI::DistributedMatrix::DistributedMatrix ( const Space RowSpace,
const Space ColSpace 
) [inline]

MLAPI::DistributedMatrix::DistributedMatrix ( const DistributedMatrix rhs  )  [inline, private]


Member Function Documentation

virtual int MLAPI::DistributedMatrix::Apply ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const [inline, virtual]

int MLAPI::DistributedMatrix::Apply ( const MultiVector X,
MultiVector Y 
) const [inline, virtual]

Reimplemented from MLAPI::Operator.

virtual int MLAPI::DistributedMatrix::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const [inline, virtual]

virtual const Epetra_Comm& MLAPI::DistributedMatrix::Comm (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::ExtractDiagonalCopy ( Epetra_Vector &  Diagonal  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::ExtractMyRowCopy ( int  MyRow,
int  Length,
int &  NumEntries,
double *  Values,
int *  Indices 
) const [inline, virtual]

void MLAPI::DistributedMatrix::FillComplete (  )  [inline]

virtual bool MLAPI::DistributedMatrix::Filled (  )  const [inline, virtual]

Space MLAPI::DistributedMatrix::GetDomainSpace (  )  const [inline]

Reimplemented from MLAPI::Operator.

Space MLAPI::DistributedMatrix::GetRangeSpace (  )  const [inline]

Reimplemented from MLAPI::Operator.

virtual bool MLAPI::DistributedMatrix::HasNormInf (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::InvColSums ( Epetra_Vector &  x  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::InvRowSums ( Epetra_Vector &  x  )  const [inline, virtual]

bool MLAPI::DistributedMatrix::IsFillCompleted (  )  const [inline]

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

virtual int MLAPI::DistributedMatrix::LeftScale ( const Epetra_Vector &  x  )  [inline, virtual]

virtual bool MLAPI::DistributedMatrix::LowerTriangular (  )  const [inline, virtual]

virtual const Epetra_Map& MLAPI::DistributedMatrix::Map (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::MaxNumEntries (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::Multiply ( bool  TransA,
const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const [inline, virtual]

virtual double MLAPI::DistributedMatrix::NormInf (  )  const [inline, virtual]

virtual double MLAPI::DistributedMatrix::NormOne (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumGlobalCols (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumGlobalDiagonals (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumGlobalNonzeros (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumGlobalRows (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumMyCols (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumMyDiagonals (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumMyNonzeros (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumMyRowEntries ( int  MyRow,
int &  NumEntries 
) const [inline, virtual]

virtual int MLAPI::DistributedMatrix::NumMyRows (  )  const [inline, virtual]

double& MLAPI::DistributedMatrix::operator() ( const int  GRID,
const int  GCID 
) [inline]

DistributedMatrix& MLAPI::DistributedMatrix::operator= ( const DistributedMatrix rhs  )  [inline, private]

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

virtual const Epetra_Map& MLAPI::DistributedMatrix::OperatorRangeMap (  )  const [inline, virtual]

std::ostream& MLAPI::DistributedMatrix::Print ( std::ostream &  os,
const bool  verbose = true 
) const [virtual]

Reimplemented from MLAPI::Operator.

void MLAPI::DistributedMatrix::ReplaceElement ( const int  GRID,
const int  GCID,
const double  value 
) [inline]

virtual int MLAPI::DistributedMatrix::RightScale ( const Epetra_Vector &  x  )  [inline, virtual]

virtual const Epetra_Map& MLAPI::DistributedMatrix::RowMatrixColMap (  )  const [inline, virtual]

virtual const Epetra_Import* MLAPI::DistributedMatrix::RowMatrixImporter (  )  const [inline, virtual]

virtual const Epetra_Map& MLAPI::DistributedMatrix::RowMatrixRowMap (  )  const [inline, virtual]

virtual int MLAPI::DistributedMatrix::SetUseTranspose ( bool  what  )  [inline, virtual]

virtual int MLAPI::DistributedMatrix::Solve ( bool  Upper,
bool  Trans,
bool  UnitDiagonal,
const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const [inline, virtual]

virtual bool MLAPI::DistributedMatrix::UpperTriangular (  )  const [inline, virtual]

virtual bool MLAPI::DistributedMatrix::UseTranspose (  )  const [inline, virtual]


Member Data Documentation

std::vector<int> MLAPI::DistributedMatrix::cols_ [mutable, private]

Epetra_Map* MLAPI::DistributedMatrix::DomainMap_ [private]

Epetra_FECrsMatrix* MLAPI::DistributedMatrix::Matrix_ [private]

Epetra_Map* MLAPI::DistributedMatrix::RangeMap_ [private]

std::vector<int> MLAPI::DistributedMatrix::rows_ [mutable, private]

std::vector<double> MLAPI::DistributedMatrix::vals_ [mutable, private]


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