Ifpack2 Templated Preconditioning Package  Version 1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members
Ifpack2::Details::DenseSolver< MatrixType, stub > Class Template Reference

"Preconditioner" that uses LAPACK's dense LU. More...

#include <Ifpack2_Details_DenseSolver_decl.hpp>

Inheritance diagram for Ifpack2::Details::DenseSolver< MatrixType, stub >:
Inheritance graph
[legend]

Additional Inherited Members

- 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. More...
 
- Public Member Functions inherited from Ifpack2::Preconditioner< MatrixType::scalar_type, MatrixType::local_ordinal_type, MatrixType::global_ordinal_type, MatrixType::node_type >
virtual ~Preconditioner ()
 Destructor. More...
 
virtual void setParameters (const Teuchos::ParameterList &List)=0
 Set this preconditioner's parameters. More...
 
virtual void setZeroStartingSolution (bool zeroStartingSolution)
 Set this preconditioner's parameters. More...
 
virtual void initialize ()=0
 Set up the graph structure of this preconditioner. More...
 
virtual bool isInitialized () const =0
 True if the preconditioner has been successfully initialized, else false. More...
 
virtual void compute ()=0
 Set up the numerical values in this preconditioner. More...
 
virtual bool isComputed () const =0
 True if the preconditioner has been successfully computed, else false. More...
 
virtual Teuchos::RCP< const
Tpetra::RowMatrix
< MatrixType::scalar_type,
MatrixType::local_ordinal_type,
MatrixType::global_ordinal_type,
MatrixType::node_type > > 
getMatrix () const =0
 The input matrix given to the constructor. More...
 
virtual int getNumInitialize () const =0
 The number of calls to initialize(). More...
 
virtual int getNumCompute () const =0
 The number of calls to compute(). More...
 
virtual int getNumApply () const =0
 The number of calls to apply(). More...
 
virtual double getInitializeTime () const =0
 The time (in seconds) spent in initialize(). More...
 
virtual double getComputeTime () const =0
 The time (in seconds) spent in compute(). More...
 
virtual double getApplyTime () const =0
 The time (in seconds) spent in apply(). More...
 
virtual Teuchos::RCP< const
Tpetra::Map
< MatrixType::local_ordinal_type,
MatrixType::global_ordinal_type,
MatrixType::node_type > > 
getDomainMap () const =0
 The domain Map of this operator. More...
 
virtual Teuchos::RCP< const
Tpetra::Map
< MatrixType::local_ordinal_type,
MatrixType::global_ordinal_type,
MatrixType::node_type > > 
getRangeMap () const =0
 The range Map of this operator. More...
 
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_typealpha=Teuchos::ScalarTraits< MatrixType::scalar_type >::one(), MatrixType::scalar_typebeta=Teuchos::ScalarTraits< MatrixType::scalar_type >::zero()) const =0
 Apply the preconditioner to X, putting the result in Y. More...
 
- 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. More...
 
virtual ~CanChangeMatrix ()
 Destructor. More...
 

Detailed Description

template<class MatrixType, const bool stub = ! LapackSupportsScalar<typename MatrixType::scalar_type>::value>
class Ifpack2::Details::DenseSolver< MatrixType, stub >

"Preconditioner" that uses LAPACK's dense LU.

Template Parameters
MatrixTypeA specialization of Tpetra::RowMatrix.
stubWhether this is a stub implementation. The default is false. If true, then this class does nothing and its constructor throws an exception. You should always use the default value. This template parameter is an implementation detail; it prevents this class from using LAPACK for types that LAPACK does not support.
Warning
This class only works for the four types supported by LAPACK. Using any other type will result in a run-time error.

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