|
Ifpack2 Templated Preconditioning Package Version 1.0
|
Partial specialization for stub=false (the default). More...
#include <Ifpack2_Details_DenseSolver_decl.hpp>

Public Types | |
Public typedefs | |
| typedef MatrixType | matrix_type |
| The first template parameter of this class. | |
| typedef MatrixType::scalar_type | scalar_type |
| The type of entries in the input (global) matrix. | |
| typedef MatrixType::local_ordinal_type | local_ordinal_type |
| The type of local indices in the input (global) matrix. | |
| typedef MatrixType::global_ordinal_type | global_ordinal_type |
| The type of global indices in the input (global) matrix. | |
| typedef MatrixType::node_type | node_type |
| The Node type of the input (global) matrix. | |
| typedef Teuchos::ScalarTraits< scalar_type >::magnitudeType | magnitude_type |
The type of the absolute value (magnitude) of a scalar_type. | |
| typedef Tpetra::RowMatrix< scalar_type, local_ordinal_type, global_ordinal_type, node_type > | row_matrix_type |
| Specialization of Tpetra::RowMatrix used by this class. | |
| typedef Tpetra::Map< local_ordinal_type, global_ordinal_type, node_type > | map_type |
| Specialization of Tpetra::Map used by this class. | |
| Public Types inherited from Ifpack2::Preconditioner< MatrixType::scalar_type, MatrixType::local_ordinal_type, MatrixType::global_ordinal_type, MatrixType::node_type > | |
| typedef Teuchos::ScalarTraits< MatrixType::scalar_type >::magnitudeType | magnitude_type |
| The type of the magnitude (absolute value) of a matrix entry. | |
Public Member Functions | |
Constructor and destructor | |
| DenseSolver (const Teuchos::RCP< const row_matrix_type > &matrix) | |
| Constructor. | |
| virtual | ~DenseSolver () |
| Destructor (declared virtual for memory safety of derived classes). | |
| Teuchos::RCP< const map_type > | getDomainMap () const |
| Implementation of Tpetra::Operator. | |
| Teuchos::RCP< const map_type > | getRangeMap () const |
| The range Map of this operator. | |
| void | apply (const Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &X, Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, scalar_type alpha=Teuchos::ScalarTraits< scalar_type >::one(), scalar_type beta=Teuchos::ScalarTraits< scalar_type >::zero()) const |
| Apply the preconditioner to X, putting the result in Y. | |
| void | setParameters (const Teuchos::ParameterList ¶ms) |
| Set the solvers's parameters. | |
| void | initialize () |
| Set up the graph structure of this preconditioner. | |
| bool | isInitialized () const |
| True if the preconditioner has been successfully initialized, else false. | |
| void | compute () |
| Set up the numerical values in this preconditioner. | |
| bool | isComputed () const |
| True if the preconditioner has been successfully computed, else false. | |
| Teuchos::RCP< const row_matrix_type > | getMatrix () const |
| The input matrix given to the constructor. | |
| void | setMatrix (const Teuchos::RCP< const row_matrix_type > &A) |
| Change the matrix to precondition. | |
| int | getNumInitialize () const |
| The number of calls to initialize(). | |
| int | getNumCompute () const |
| The number of calls to compute(). | |
| int | getNumApply () const |
| The number of calls to apply(). | |
| double | getInitializeTime () const |
| The total time (in seconds) spent in initialize(). | |
| double | getComputeTime () const |
| The total time (in seconds) spent in compute(). | |
| double | getApplyTime () const |
| The total time (in seconds) spent in apply(). | |
| Public Member Functions inherited from Ifpack2::Preconditioner< MatrixType::scalar_type, MatrixType::local_ordinal_type, MatrixType::global_ordinal_type, MatrixType::node_type > | |
| virtual | ~Preconditioner () |
| Destructor. | |
| virtual void | apply (const Tpetra::MultiVector< MatrixType::scalar_type, MatrixType::local_ordinal_type, MatrixType::global_ordinal_type, MatrixType::node_type > &X, Tpetra::MultiVector< MatrixType::scalar_type, MatrixType::local_ordinal_type, MatrixType::global_ordinal_type, MatrixType::node_type > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, MatrixType::scalar_type alpha=Teuchos::ScalarTraits< MatrixType::scalar_type >::one(), MatrixType::scalar_type beta=Teuchos::ScalarTraits< MatrixType::scalar_type >::zero()) const=0 |
| Apply the preconditioner to X, putting the result in Y. | |
| virtual void | setZeroStartingSolution (bool zeroStartingSolution) |
| Set this preconditioner's parameters. | |
| Public Member Functions inherited from Ifpack2::Details::CanChangeMatrix< Tpetra::RowMatrix< MatrixType::scalar_type, MatrixType::local_ordinal_type, MatrixType::global_ordinal_type, MatrixType::node_type > > | |
| virtual void | setMatrix (const Teuchos::RCP< const Tpetra::RowMatrix< MatrixType::scalar_type, MatrixType::local_ordinal_type, MatrixType::global_ordinal_type, MatrixType::node_type > > &A)=0 |
| Set the new matrix. | |
| virtual | ~CanChangeMatrix () |
| Destructor. | |
Implementation of Teuchos::Describable | |
| std::string | description () const |
| A one-line description of this object. | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
| Print the object with some verbosity level to the given FancyOStream. | |
Partial specialization for stub=false (the default).
| typedef MatrixType Ifpack2::Details::DenseSolver< MatrixType, false >::matrix_type |
The first template parameter of this class.
This must be a Tpetra::RowMatrix specialization.
| typedef MatrixType::scalar_type Ifpack2::Details::DenseSolver< MatrixType, false >::scalar_type |
The type of entries in the input (global) matrix.
| typedef MatrixType::local_ordinal_type Ifpack2::Details::DenseSolver< MatrixType, false >::local_ordinal_type |
The type of local indices in the input (global) matrix.
| typedef MatrixType::global_ordinal_type Ifpack2::Details::DenseSolver< MatrixType, false >::global_ordinal_type |
The type of global indices in the input (global) matrix.
| typedef MatrixType::node_type Ifpack2::Details::DenseSolver< MatrixType, false >::node_type |
The Node type of the input (global) matrix.
| typedef Teuchos::ScalarTraits<scalar_type>::magnitudeType Ifpack2::Details::DenseSolver< MatrixType, false >::magnitude_type |
The type of the absolute value (magnitude) of a scalar_type.
| typedef Tpetra::RowMatrix<scalar_type, local_ordinal_type, global_ordinal_type, node_type> Ifpack2::Details::DenseSolver< MatrixType, false >::row_matrix_type |
Specialization of Tpetra::RowMatrix used by this class.
| typedef Tpetra::Map<local_ordinal_type, global_ordinal_type, node_type> Ifpack2::Details::DenseSolver< MatrixType, false >::map_type |
Specialization of Tpetra::Map used by this class.
| Ifpack2::Details::DenseSolver< MatrixType, false >::DenseSolver | ( | const Teuchos::RCP< const row_matrix_type > & | matrix | ) |
Constructor.
| matrix | [in] The original input matrix. |
|
virtual |
Destructor (declared virtual for memory safety of derived classes).
|
virtual |
Implementation of Tpetra::Operator.
The domain Map of this operator.
The domain Map describes the distribution of valid input vectors X to the apply() method.
|
virtual |
The range Map of this operator.
The range Map describes the distribution of valid output vectors Y to the apply() method.
| void Ifpack2::Details::DenseSolver< MatrixType, false >::apply | ( | const Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > & | X, |
| Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > & | Y, | ||
| Teuchos::ETransp | mode = Teuchos::NO_TRANS, | ||
| scalar_type | alpha = Teuchos::ScalarTraits<scalar_type>::one(), | ||
| scalar_type | beta = Teuchos::ScalarTraits<scalar_type>::zero() ) const |
Apply the preconditioner to X, putting the result in Y.
If the result of applying this preconditioner to a vector X is \(M^{-1} \cdot X\), then this method computes \(\beta Y + \alpha M^{-1} \cdot X\). The typical case is \(\beta = 0\) and \(\alpha = 1\).
|
virtual |
Set the solvers's parameters.
|
virtual |
Set up the graph structure of this preconditioner.
If the graph structure of the constructor's input matrix has changed, or if you have not yet called initialize(), you must call initialize() before you may call compute() or apply().
Thus, initialize() corresponds to the "symbolic factorization" step of a sparse factorization, whether or not the specific preconditioner actually does a sparse factorization.
|
virtual |
True if the preconditioner has been successfully initialized, else false.
|
virtual |
Set up the numerical values in this preconditioner.
If the values of the constructor's input matrix have changed, or if you have not yet called compute(), you must call compute() before you may call apply().
Thus, compute() corresponds to the "numeric factorization" step of a sparse factorization, whether or not the specific preconditioner actually does a sparse factorization.
|
virtual |
True if the preconditioner has been successfully computed, else false.
|
virtual |
The input matrix given to the constructor.
| void Ifpack2::Details::DenseSolver< MatrixType, false >::setMatrix | ( | const Teuchos::RCP< const row_matrix_type > & | A | ) |
Change the matrix to precondition.
|
virtual |
|
virtual |
The number of calls to compute().
|
virtual |
The number of calls to apply().
|
virtual |
The total time (in seconds) spent in initialize().
|
virtual |
The total time (in seconds) spent in compute().
|
virtual |
The total time (in seconds) spent in apply().
| std::string Ifpack2::Details::DenseSolver< MatrixType, false >::description | ( | ) | const |
A one-line description of this object.
| void Ifpack2::Details::DenseSolver< MatrixType, false >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel = Teuchos::Describable::verbLevel_default ) const |
Print the object with some verbosity level to the given FancyOStream.