Ifpack Package Browser (Single Doxygen Collection)  Development
Public Member Functions | Private Attributes | List of all members
Ifpack_SingletonFilter Class Reference

Ifpack_SingletonFilter: Filter based on matrix entries. More...

#include <Ifpack_SingletonFilter.h>

Inherits Epetra_RowMatrix.

Public Member Functions

 Ifpack_SingletonFilter (const Teuchos::RefCountPtr< Epetra_RowMatrix > &Matrix)
 Constructor. More...
 
virtual ~Ifpack_SingletonFilter ()
 Destructor. More...
 
virtual int NumMyRowEntries (int MyRow, int &NumEntries) const
 Returns the number of entries in MyRow. More...
 
virtual int MaxNumEntries () const
 Returns the maximum number of entries. More...
 
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 Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 
virtual int ApplyInverse (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 long long NumGlobalNonzeros64 () const
 
virtual long long NumGlobalRows64 () const
 
virtual long long NumGlobalCols64 () const
 
virtual long long NumGlobalDiagonals64 () 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
 
int SetUseTranspose (bool UseTranspose_in)
 
bool UseTranspose () const
 
bool HasNormInf () const
 
const Epetra_Comm & Comm () const
 
const Epetra_Map & OperatorDomainMap () const
 
const Epetra_Map & OperatorRangeMap () const
 
const Epetra_BlockMap & Map () const
 
const char * Label () const
 
int SolveSingletons (const Epetra_MultiVector &RHS, Epetra_MultiVector &LHS)
 
int CreateReducedRHS (const Epetra_MultiVector &LHS, const Epetra_MultiVector &RHS, Epetra_MultiVector &ReducedRHS)
 
int UpdateLHS (const Epetra_MultiVector &ReducedLHS, Epetra_MultiVector &LHS)
 

Private Attributes

Teuchos::RefCountPtr< Epetra_RowMatrix > A_
 Pointer to the matrix to be preconditioned. More...
 
std::vector< int > Indices_
 Used in ExtractMyRowCopy, to avoid allocation each time. More...
 
std::vector< double > Values_
 Used in ExtractMyRowCopy, to avoid allocation each time. More...
 
char Label_ [80]
 Label for this object. More...
 
int NumSingletons_
 
std::vector< int > SingletonIndex_
 
std::vector< int > Reorder_
 
std::vector< int > InvReorder_
 
std::vector< int > NumEntries_
 
int NumRows_
 
int NumRowsA_
 
int MaxNumEntries_
 
int MaxNumEntriesA_
 
int NumNonzeros_
 
Teuchos::RefCountPtr< Epetra_Map > Map_
 
Teuchos::RefCountPtr< Epetra_Vector > Diagonal_
 

Detailed Description

Ifpack_SingletonFilter: Filter based on matrix entries.

Definition at line 58 of file Ifpack_SingletonFilter.h.

Constructor & Destructor Documentation

◆ Ifpack_SingletonFilter()

Ifpack_SingletonFilter::Ifpack_SingletonFilter ( const Teuchos::RefCountPtr< Epetra_RowMatrix > &  Matrix)

Constructor.

Definition at line 54 of file Ifpack_SingletonFilter.cpp.

◆ ~Ifpack_SingletonFilter()

virtual Ifpack_SingletonFilter::~Ifpack_SingletonFilter ( )
inlinevirtual

Destructor.

Definition at line 65 of file Ifpack_SingletonFilter.h.

Member Function Documentation

◆ NumMyRowEntries()

virtual int Ifpack_SingletonFilter::NumMyRowEntries ( int  MyRow,
int &  NumEntries 
) const
inlinevirtual

Returns the number of entries in MyRow.

Definition at line 68 of file Ifpack_SingletonFilter.h.

◆ MaxNumEntries()

virtual int Ifpack_SingletonFilter::MaxNumEntries ( ) const
inlinevirtual

Returns the maximum number of entries.

Definition at line 74 of file Ifpack_SingletonFilter.h.

◆ ExtractMyRowCopy()

int Ifpack_SingletonFilter::ExtractMyRowCopy ( int  MyRow,
int  Length,
int &  NumEntries,
double *  Values,
int *  Indices 
) const
virtual

Definition at line 151 of file Ifpack_SingletonFilter.cpp.

◆ ExtractDiagonalCopy()

int Ifpack_SingletonFilter::ExtractDiagonalCopy ( Epetra_Vector &  Diagonal) const
virtual

Definition at line 176 of file Ifpack_SingletonFilter.cpp.

◆ Multiply()

int Ifpack_SingletonFilter::Multiply ( bool  TransA,
const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
virtual

Definition at line 184 of file Ifpack_SingletonFilter.cpp.

◆ Solve()

int Ifpack_SingletonFilter::Solve ( bool  Upper,
bool  Trans,
bool  UnitDiagonal,
const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
virtual

Definition at line 231 of file Ifpack_SingletonFilter.cpp.

◆ Apply()

int Ifpack_SingletonFilter::Apply ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
virtual

Definition at line 239 of file Ifpack_SingletonFilter.cpp.

◆ ApplyInverse()

int Ifpack_SingletonFilter::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
virtual

Definition at line 247 of file Ifpack_SingletonFilter.cpp.

◆ InvRowSums()

virtual int Ifpack_SingletonFilter::InvRowSums ( Epetra_Vector &  x) const
inlinevirtual

Definition at line 96 of file Ifpack_SingletonFilter.h.

◆ LeftScale()

virtual int Ifpack_SingletonFilter::LeftScale ( const Epetra_Vector &  x)
inlinevirtual

Definition at line 101 of file Ifpack_SingletonFilter.h.

◆ InvColSums()

virtual int Ifpack_SingletonFilter::InvColSums ( Epetra_Vector &  x) const
inlinevirtual

Definition at line 106 of file Ifpack_SingletonFilter.h.

◆ RightScale()

virtual int Ifpack_SingletonFilter::RightScale ( const Epetra_Vector &  x)
inlinevirtual

Definition at line 111 of file Ifpack_SingletonFilter.h.

◆ Filled()

virtual bool Ifpack_SingletonFilter::Filled ( ) const
inlinevirtual

Definition at line 116 of file Ifpack_SingletonFilter.h.

◆ NormInf()

virtual double Ifpack_SingletonFilter::NormInf ( ) const
inlinevirtual

Definition at line 121 of file Ifpack_SingletonFilter.h.

◆ NormOne()

virtual double Ifpack_SingletonFilter::NormOne ( ) const
inlinevirtual

Definition at line 126 of file Ifpack_SingletonFilter.h.

◆ NumGlobalNonzeros()

virtual int Ifpack_SingletonFilter::NumGlobalNonzeros ( ) const
inlinevirtual

Definition at line 132 of file Ifpack_SingletonFilter.h.

◆ NumGlobalRows()

virtual int Ifpack_SingletonFilter::NumGlobalRows ( ) const
inlinevirtual

Definition at line 137 of file Ifpack_SingletonFilter.h.

◆ NumGlobalCols()

virtual int Ifpack_SingletonFilter::NumGlobalCols ( ) const
inlinevirtual

Definition at line 142 of file Ifpack_SingletonFilter.h.

◆ NumGlobalDiagonals()

virtual int Ifpack_SingletonFilter::NumGlobalDiagonals ( ) const
inlinevirtual

Definition at line 147 of file Ifpack_SingletonFilter.h.

◆ NumGlobalNonzeros64()

virtual long long Ifpack_SingletonFilter::NumGlobalNonzeros64 ( ) const
inlinevirtual

Definition at line 153 of file Ifpack_SingletonFilter.h.

◆ NumGlobalRows64()

virtual long long Ifpack_SingletonFilter::NumGlobalRows64 ( ) const
inlinevirtual

Definition at line 158 of file Ifpack_SingletonFilter.h.

◆ NumGlobalCols64()

virtual long long Ifpack_SingletonFilter::NumGlobalCols64 ( ) const
inlinevirtual

Definition at line 163 of file Ifpack_SingletonFilter.h.

◆ NumGlobalDiagonals64()

virtual long long Ifpack_SingletonFilter::NumGlobalDiagonals64 ( ) const
inlinevirtual

Definition at line 168 of file Ifpack_SingletonFilter.h.

◆ NumMyNonzeros()

virtual int Ifpack_SingletonFilter::NumMyNonzeros ( ) const
inlinevirtual

Definition at line 173 of file Ifpack_SingletonFilter.h.

◆ NumMyRows()

virtual int Ifpack_SingletonFilter::NumMyRows ( ) const
inlinevirtual

Definition at line 178 of file Ifpack_SingletonFilter.h.

◆ NumMyCols()

virtual int Ifpack_SingletonFilter::NumMyCols ( ) const
inlinevirtual

Definition at line 183 of file Ifpack_SingletonFilter.h.

◆ NumMyDiagonals()

virtual int Ifpack_SingletonFilter::NumMyDiagonals ( ) const
inlinevirtual

Definition at line 188 of file Ifpack_SingletonFilter.h.

◆ LowerTriangular()

virtual bool Ifpack_SingletonFilter::LowerTriangular ( ) const
inlinevirtual

Definition at line 193 of file Ifpack_SingletonFilter.h.

◆ UpperTriangular()

virtual bool Ifpack_SingletonFilter::UpperTriangular ( ) const
inlinevirtual

Definition at line 198 of file Ifpack_SingletonFilter.h.

◆ RowMatrixRowMap()

virtual const Epetra_Map& Ifpack_SingletonFilter::RowMatrixRowMap ( ) const
inlinevirtual

Definition at line 203 of file Ifpack_SingletonFilter.h.

◆ RowMatrixColMap()

virtual const Epetra_Map& Ifpack_SingletonFilter::RowMatrixColMap ( ) const
inlinevirtual

Definition at line 208 of file Ifpack_SingletonFilter.h.

◆ RowMatrixImporter()

virtual const Epetra_Import* Ifpack_SingletonFilter::RowMatrixImporter ( ) const
inlinevirtual

Definition at line 213 of file Ifpack_SingletonFilter.h.

◆ SetUseTranspose()

int Ifpack_SingletonFilter::SetUseTranspose ( bool  UseTranspose_in)
inline

Definition at line 218 of file Ifpack_SingletonFilter.h.

◆ UseTranspose()

bool Ifpack_SingletonFilter::UseTranspose ( ) const
inline

Definition at line 223 of file Ifpack_SingletonFilter.h.

◆ HasNormInf()

bool Ifpack_SingletonFilter::HasNormInf ( ) const
inline

Definition at line 228 of file Ifpack_SingletonFilter.h.

◆ Comm()

const Epetra_Comm& Ifpack_SingletonFilter::Comm ( ) const
inline

Definition at line 233 of file Ifpack_SingletonFilter.h.

◆ OperatorDomainMap()

const Epetra_Map& Ifpack_SingletonFilter::OperatorDomainMap ( ) const
inline

Definition at line 238 of file Ifpack_SingletonFilter.h.

◆ OperatorRangeMap()

const Epetra_Map& Ifpack_SingletonFilter::OperatorRangeMap ( ) const
inline

Definition at line 243 of file Ifpack_SingletonFilter.h.

◆ Map()

const Epetra_BlockMap& Ifpack_SingletonFilter::Map ( ) const
inline

Definition at line 248 of file Ifpack_SingletonFilter.h.

◆ Label()

const char* Ifpack_SingletonFilter::Label ( ) const
inline

Definition at line 253 of file Ifpack_SingletonFilter.h.

◆ SolveSingletons()

int Ifpack_SingletonFilter::SolveSingletons ( const Epetra_MultiVector &  RHS,
Epetra_MultiVector &  LHS 
)

Definition at line 254 of file Ifpack_SingletonFilter.cpp.

◆ CreateReducedRHS()

int Ifpack_SingletonFilter::CreateReducedRHS ( const Epetra_MultiVector &  LHS,
const Epetra_MultiVector &  RHS,
Epetra_MultiVector &  ReducedRHS 
)

Definition at line 276 of file Ifpack_SingletonFilter.cpp.

◆ UpdateLHS()

int Ifpack_SingletonFilter::UpdateLHS ( const Epetra_MultiVector &  ReducedLHS,
Epetra_MultiVector &  LHS 
)

Definition at line 304 of file Ifpack_SingletonFilter.cpp.

Member Data Documentation

◆ A_

Teuchos::RefCountPtr<Epetra_RowMatrix> Ifpack_SingletonFilter::A_
private

Pointer to the matrix to be preconditioned.

Definition at line 270 of file Ifpack_SingletonFilter.h.

◆ Indices_

std::vector<int> Ifpack_SingletonFilter::Indices_
mutableprivate

Used in ExtractMyRowCopy, to avoid allocation each time.

Definition at line 273 of file Ifpack_SingletonFilter.h.

◆ Values_

std::vector<double> Ifpack_SingletonFilter::Values_
mutableprivate

Used in ExtractMyRowCopy, to avoid allocation each time.

Definition at line 275 of file Ifpack_SingletonFilter.h.

◆ Label_

char Ifpack_SingletonFilter::Label_[80]
private

Label for this object.

Definition at line 277 of file Ifpack_SingletonFilter.h.

◆ NumSingletons_

int Ifpack_SingletonFilter::NumSingletons_
private

Definition at line 279 of file Ifpack_SingletonFilter.h.

◆ SingletonIndex_

std::vector<int> Ifpack_SingletonFilter::SingletonIndex_
private

Definition at line 280 of file Ifpack_SingletonFilter.h.

◆ Reorder_

std::vector<int> Ifpack_SingletonFilter::Reorder_
private

Definition at line 282 of file Ifpack_SingletonFilter.h.

◆ InvReorder_

std::vector<int> Ifpack_SingletonFilter::InvReorder_
private

Definition at line 283 of file Ifpack_SingletonFilter.h.

◆ NumEntries_

std::vector<int> Ifpack_SingletonFilter::NumEntries_
private

Definition at line 285 of file Ifpack_SingletonFilter.h.

◆ NumRows_

int Ifpack_SingletonFilter::NumRows_
private

Definition at line 287 of file Ifpack_SingletonFilter.h.

◆ NumRowsA_

int Ifpack_SingletonFilter::NumRowsA_
private

Definition at line 288 of file Ifpack_SingletonFilter.h.

◆ MaxNumEntries_

int Ifpack_SingletonFilter::MaxNumEntries_
private

Definition at line 289 of file Ifpack_SingletonFilter.h.

◆ MaxNumEntriesA_

int Ifpack_SingletonFilter::MaxNumEntriesA_
private

Definition at line 290 of file Ifpack_SingletonFilter.h.

◆ NumNonzeros_

int Ifpack_SingletonFilter::NumNonzeros_
private

Definition at line 291 of file Ifpack_SingletonFilter.h.

◆ Map_

Teuchos::RefCountPtr<Epetra_Map> Ifpack_SingletonFilter::Map_
private

Definition at line 292 of file Ifpack_SingletonFilter.h.

◆ Diagonal_

Teuchos::RefCountPtr<Epetra_Vector> Ifpack_SingletonFilter::Diagonal_
private

Definition at line 294 of file Ifpack_SingletonFilter.h.


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