Ifpack2 Templated Preconditioning Package Version 1.0
Classes | Enumerations | Functions
Ifpack2 Namespace Reference

Preconditioners and smoothers for Tpetra sparse matrices. More...

Classes

class  AdditiveSchwarz
 Additive Schwarz domain decomposition for Tpetra sparse matrices. More...
class  BlockRelaxation
 Block relaxation preconditioners (or smoothers) for Tpetra::RowMatrix and Tpetra::CrsMatrix sparse matrices. More...
class  BorderedOperator
 Ifpack2 bordered operator. More...
class  Chebyshev
 Diagonally scaled Chebyshev iteration for Tpetra sparse matrices. More...
class  Container
 Interface for creating and solving a local linear problem. More...
class  DenseContainer
 Store and solve a local dense linear problem. More...
class  DiagonalFilter
 Ifpack2_DiagonalFilter: Filter to modify the diagonal entries of a given Tpetra_RowMatrix. More...
class  DropFilter
 Ifpack2::DropFilter: Filter based on matrix entries. More...
class  Factory
 "Factory" for creating Ifpack2 preconditioners. More...
class  IdentitySolver
 "Identity" preconditioner. More...
class  IlukGraph
 Construct a level filled graph for use in computing an ILU(k) incomplete factorization. More...
class  ILUT
 ILUT (incomplete LU factorization with threshold) of a Tpetra sparse matrix. More...
struct  BelosScalarType
 Traits class for determining the scalar type to use for Belos. More...
class  Krylov
 Wrapper for iterative linear solvers (e.g., CG or GMRES). More...
class  LinearPartitioner
 A class to define linear partitions. More...
class  LocalFilter
 Access only local rows and columns of a sparse matrix. More...
class  OverlapGraph
 Construct an overlapped graph from a given nonoverlapping graph. More...
class  OverlappingPartitioner
class  OverlappingRowMatrix
 Sparse matrix (Tpetra::RowMatrix subclass) with ghost rows. More...
class  Partitioner
 Ifpack2::Partitioner: More...
class  Preconditioner
 Interface for all Ifpack2 preconditioners. More...
class  Relaxation
 Relaxation preconditioners for Tpetra::RowMatrix and Tpetra::CrsMatrix sparse matrices. More...
class  ReorderFilter
 Wraps a Tpetra::RowMatrix in a filter that reorders local rows and columns. More...
class  RILUK
 ILU(k) factorization of a given Tpetra::RowMatrix. More...
class  SingletonFilter
 Ifpack2_SingletonFilter: Filter based on matrix entries. More...
class  SparseContainer
 Store and solve a local sparse linear problem. More...
class  SparsityFilter
 Drop entries of a matrix, based on the sparsity pattern. More...

Enumerations

enum  CondestType { Cheap, CG, GMRES }
 Ifpack2::CondestType: enum to define the type of condition number estimate. More...
enum  ScalingType
 Ifpack2 scaling type selector. More...

Functions

template<class MatrixType >
std::ostream & operator<< (std::ostream &os, const Ifpack2::Container< MatrixType > &obj)
 Print information about the given Container to the output stream os.
template<class GraphType >
Teuchos::RCP< const GraphType > createOverlapGraph (const Teuchos::RCP< const GraphType > &inputGraph, const int overlapLevel)
 Construct an overlapped graph for use with Ifpack2 preconditioners.
template<class GraphType >
TEUCHOS_DEPRECATED
Teuchos::RCP< const GraphType > 
CreateOverlapGraph (const Teuchos::RCP< const GraphType > &inputGraph, int OverlapLevel)
 Construct an overlapped graph for use with Ifpack2 preconditioners.
template<class MatrixType >
Teuchos::RCP< const MatrixType > createOverlapMatrix (const Teuchos::RCP< const MatrixType > &inputMatrix, const int overlapLevel)
 Construct an overlapped matrix for use with Ifpack2 preconditioners.
template<class MatrixType >
TEUCHOS_DEPRECATED
Teuchos::RCP< const MatrixType > 
CreateOverlapMatrix (const Teuchos::RCP< const MatrixType > &inputGraph, int overlapLevel)
 Construct an overlapped matrix for use with Ifpack2 preconditioners.
bool supportsUnsymmetric (const std::string &prec_type)
 true if the specified preconditioner type supports nonsymmetric matrices, else false.
template<typename Ordinal , typename SizeType >
void add_to_heap (const Ordinal &idx, Teuchos::Array< Ordinal > &heap, SizeType &heap_len)
template<typename Ordinal , typename SizeType , class Compare >
void add_to_heap (const Ordinal &idx, Teuchos::Array< Ordinal > &heap, SizeType &heap_len, Compare comp)
template<typename Ordinal , typename SizeType >
void rm_heap_root (Teuchos::Array< Ordinal > &heap, SizeType &heap_len)
template<typename Ordinal , typename SizeType , class Compare >
void rm_heap_root (Teuchos::Array< Ordinal > &heap, SizeType &heap_len, Compare comp)
void getValidParameters (Teuchos::ParameterList &params)
 Fills a list which contains all the parameters possibly used by Ifpack2.
template<typename T >
void getParameter (const Teuchos::ParameterList &params, const std::string &name, T &value)
 Set a value from a ParameterList if a parameter with the specified name exists.

Detailed Description

Preconditioners and smoothers for Tpetra sparse matrices.


Enumeration Type Documentation

Ifpack2::CondestType: enum to define the type of condition number estimate.

Enumerator:
Cheap 

cheap estimate

CG 

Uses AztecOO's CG.

GMRES 

Uses AztecOO's GMRES.

Ifpack2 scaling type selector.

Selects the type of scaling used (if any) for Ifpack2 preconditioners.


Function Documentation

template<class MatrixType >
std::ostream& Ifpack2::operator<< ( std::ostream &  os,
const Ifpack2::Container< MatrixType > &  obj 
) [inline]

Print information about the given Container to the output stream os.

template<class GraphType >
Teuchos::RCP<const GraphType> Ifpack2::createOverlapGraph ( const Teuchos::RCP< const GraphType > &  inputGraph,
const int  overlapLevel 
)

Construct an overlapped graph for use with Ifpack2 preconditioners.

Template Parameters:
GraphTypeA specialization of Tpetra::RowGraph or Tpetra::CrsGraph.
Warning:
This function is an implementation detail of Ifpack2. Its interface may change or it may go away at any time.
Note:
This method has only been tested with GraphType = Tpetra::CrsGraph. It should also work with GraphType = Tpetra::RowGraph, but I have not tested this case.
Parameters:
inputGraph[in] The input graph. We assume that its row Map is nonoverlapping.
overlapLevel[in] The level of overlap. Zero means no overlap, in which case this function just returns the original inputGraph.
template<class GraphType >
TEUCHOS_DEPRECATED Teuchos::RCP<const GraphType> Ifpack2::CreateOverlapGraph ( const Teuchos::RCP< const GraphType > &  inputGraph,
int  OverlapLevel 
)

Construct an overlapped graph for use with Ifpack2 preconditioners.

Warning:
This function is DEPRECATED, because it does not comply with Tpetra and Ifpack2 naming standards. Please call createOverlapGraph() instead.
template<class MatrixType >
Teuchos::RCP<const MatrixType> Ifpack2::createOverlapMatrix ( const Teuchos::RCP< const MatrixType > &  inputMatrix,
const int  overlapLevel 
)

Construct an overlapped matrix for use with Ifpack2 preconditioners.

Template Parameters:
MatrixTypeA specialization of Tpetra::CrsMatrix.
Parameters:
inputMatrix[in] The input matrix. We assume that its row Map is nonoverlapping.
overlapLevel[in] The level of overlap. Zero means no overlap, in which case this function just returns the original inputMatrix.
template<class MatrixType >
TEUCHOS_DEPRECATED Teuchos::RCP<const MatrixType> Ifpack2::CreateOverlapMatrix ( const Teuchos::RCP< const MatrixType > &  inputGraph,
int  overlapLevel 
)

Construct an overlapped matrix for use with Ifpack2 preconditioners.

Warning:
This function is DEPRECATED, because it does not comply with Tpetra and Ifpack2 naming standards. Please call createOverlapMatrix() instead.
bool Ifpack2::supportsUnsymmetric ( const std::string &  prec_type)

true if the specified preconditioner type supports nonsymmetric matrices, else false.

template<typename Ordinal , typename SizeType >
void Ifpack2::add_to_heap ( const Ordinal &  idx,
Teuchos::Array< Ordinal > &  heap,
SizeType &  heap_len 
)

Add idx to heap, don't assume heap occupies entire vector.

template<typename Ordinal , typename SizeType , class Compare >
void Ifpack2::add_to_heap ( const Ordinal &  idx,
Teuchos::Array< Ordinal > &  heap,
SizeType &  heap_len,
Compare  comp 
)

Add idx to heap, don't assume heap occupies entire vector. Also take custom comparator.

template<typename Ordinal , typename SizeType >
void Ifpack2::rm_heap_root ( Teuchos::Array< Ordinal > &  heap,
SizeType &  heap_len 
)

Remove heap root, don't shorten vector but update a heap_len parameter.

template<typename Ordinal , typename SizeType , class Compare >
void Ifpack2::rm_heap_root ( Teuchos::Array< Ordinal > &  heap,
SizeType &  heap_len,
Compare  comp 
)

Remove heap root, with custom comparator, don't assume heap occupies entire vector.

void Ifpack2::getValidParameters ( Teuchos::ParameterList params)

Fills a list which contains all the parameters possibly used by Ifpack2.

template<typename T >
void Ifpack2::getParameter ( const Teuchos::ParameterList params,
const std::string &  name,
T &  value 
)

Set a value from a ParameterList if a parameter with the specified name exists.

If the specified name does not name a parameter in the list, then 'value' is not referenced.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends