Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Stokhos::ApproxJacobiPreconditioner Class Reference

A stochastic preconditioner based on applying two iterations of approximate Jacobi. More...

#include <Stokhos_ApproxJacobiPreconditioner.hpp>

Inheritance diagram for Stokhos::ApproxJacobiPreconditioner:
Inheritance graph
[legend]

Public Member Functions

 ApproxJacobiPreconditioner (const Teuchos::RCP< const EpetraExt::MultiComm > &sg_comm, const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &sg_basis, const Teuchos::RCP< const Stokhos::EpetraSparse3Tensor > &epetraCijk, const Teuchos::RCP< const Epetra_Map > &base_map, const Teuchos::RCP< const Epetra_Map > &sg_map, const Teuchos::RCP< Stokhos::AbstractPreconditionerFactory > &prec_factory, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor.
 
virtual ~ApproxJacobiPreconditioner ()
 Destructor.
 
- Public Member Functions inherited from Stokhos::SGPreconditioner
 SGPreconditioner ()
 Constructor.
 
virtual ~SGPreconditioner ()
 Destructor.
 
- Public Member Functions inherited from Epetra_Operator
virtual ~Epetra_Operator ()
 

Epetra_Operator methods

std::string label
 Label for operator.
 
Teuchos::RCP< const EpetraExt::MultiComm > sg_comm
 Stores SG parallel communicator.
 
Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > sg_basis
 Stochastic Galerking basis.
 
Teuchos::RCP< const Stokhos::EpetraSparse3TensorepetraCijk
 Stores Epetra Cijk tensor.
 
Teuchos::RCP< const Epetra_Mapbase_map
 Stores base map.
 
Teuchos::RCP< const Epetra_Mapsg_map
 Stores SG map.
 
Teuchos::RCP< Stokhos::AbstractPreconditionerFactoryprec_factory
 Stores factory for building mean preconditioner.
 
Teuchos::RCP< Epetra_Operatormean_prec
 Stores mean preconditioner.
 
bool useTranspose
 Flag indicating whether transpose was selected.
 
int num_iter
 Number of Jacobi iterations.
 
Teuchos::RCP< Stokhos::SGOperatorsg_op
 Pointer to the SG operator.
 
Teuchos::RCP< Stokhos::EpetraOperatorOrthogPolysg_poly
 Pointer to the PCE expansion of Jacobian.
 
Teuchos::RCP< Stokhos::SGOperatormat_free_op
 SG operator to implement SG mat-vec.
 
Teuchos::RCP< EpetraExt::BlockMultiVector > rhs_block
 Temporary vector for storing rhs in Gauss-Seidel loop.
 
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested.
 
virtual int Apply (const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix.
 
virtual const char * Label () const
 Returns a character string describing the operator.
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting.
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
 
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
 
 ApproxJacobiPreconditioner (const ApproxJacobiPreconditioner &)
 Private to prohibit copying.
 
ApproxJacobiPreconditioneroperator= (const ApproxJacobiPreconditioner &)
 Private to prohibit copying.
 

Stokhos::SGPreconditioner methods

virtual void setupPreconditioner (const Teuchos::RCP< Stokhos::SGOperator > &sg_op, const Epetra_Vector &x)
 Setup preconditioner.
 

Detailed Description

A stochastic preconditioner based on applying two iterations of approximate Jacobi.

Definition at line 63 of file Stokhos_ApproxJacobiPreconditioner.hpp.

Constructor & Destructor Documentation

◆ ApproxJacobiPreconditioner() [1/2]

Stokhos::ApproxJacobiPreconditioner::ApproxJacobiPreconditioner ( const Teuchos::RCP< const EpetraExt::MultiComm > & sg_comm,
const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > & sg_basis,
const Teuchos::RCP< const Stokhos::EpetraSparse3Tensor > & epetraCijk,
const Teuchos::RCP< const Epetra_Map > & base_map,
const Teuchos::RCP< const Epetra_Map > & sg_map,
const Teuchos::RCP< Stokhos::AbstractPreconditionerFactory > & prec_factory,
const Teuchos::RCP< Teuchos::ParameterList > & params )

Constructor.

Definition at line 46 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ ~ApproxJacobiPreconditioner()

Stokhos::ApproxJacobiPreconditioner::~ApproxJacobiPreconditioner ( )
virtual

Destructor.

Definition at line 94 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ ApproxJacobiPreconditioner() [2/2]

Stokhos::ApproxJacobiPreconditioner::ApproxJacobiPreconditioner ( const ApproxJacobiPreconditioner & )
private

Private to prohibit copying.

Member Function Documentation

◆ setupPreconditioner()

void Stokhos::ApproxJacobiPreconditioner::setupPreconditioner ( const Teuchos::RCP< Stokhos::SGOperator > & sg_op,
const Epetra_Vector & x )
virtual

Setup preconditioner.

Implements Stokhos::SGPreconditioner.

Definition at line 100 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ SetUseTranspose()

int Stokhos::ApproxJacobiPreconditioner::SetUseTranspose ( bool UseTranspose)
virtual

Set to true if the transpose of the operator is requested.

Implements Epetra_Operator.

Definition at line 114 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ Apply()

int Stokhos::ApproxJacobiPreconditioner::Apply ( const Epetra_MultiVector & Input,
Epetra_MultiVector & Result ) const
virtual

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

Definition at line 126 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ ApplyInverse()

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

Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

Definition at line 133 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ NormInf()

double Stokhos::ApproxJacobiPreconditioner::NormInf ( ) const
virtual

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 188 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ Label()

const char * Stokhos::ApproxJacobiPreconditioner::Label ( ) const
virtual

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 196 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ UseTranspose()

bool Stokhos::ApproxJacobiPreconditioner::UseTranspose ( ) const
virtual

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 203 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ HasNormInf()

bool Stokhos::ApproxJacobiPreconditioner::HasNormInf ( ) const
virtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements Epetra_Operator.

Definition at line 210 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ Comm()

const Epetra_Comm & Stokhos::ApproxJacobiPreconditioner::Comm ( ) const
virtual

Returns a reference to the Epetra_Comm communicator associated with this operator.

Implements Epetra_Operator.

Definition at line 217 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ OperatorDomainMap()

const Epetra_Map & Stokhos::ApproxJacobiPreconditioner::OperatorDomainMap ( ) const
virtual

Returns the Epetra_Map object associated with the domain of this matrix operator.

Implements Epetra_Operator.

Definition at line 223 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ OperatorRangeMap()

const Epetra_Map & Stokhos::ApproxJacobiPreconditioner::OperatorRangeMap ( ) const
virtual

Returns the Epetra_Map object associated with the range of this matrix operator.

Implements Epetra_Operator.

Definition at line 230 of file Stokhos_ApproxJacobiPreconditioner.cpp.

◆ operator=()

ApproxJacobiPreconditioner & Stokhos::ApproxJacobiPreconditioner::operator= ( const ApproxJacobiPreconditioner & )
private

Private to prohibit copying.

Member Data Documentation

◆ label

std::string Stokhos::ApproxJacobiPreconditioner::label
protected

Label for operator.

Definition at line 156 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ sg_comm

Teuchos::RCP<const EpetraExt::MultiComm> Stokhos::ApproxJacobiPreconditioner::sg_comm
protected

Stores SG parallel communicator.

Definition at line 159 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ sg_basis

Teuchos::RCP<const Stokhos::OrthogPolyBasis<int,double> > Stokhos::ApproxJacobiPreconditioner::sg_basis
protected

Stochastic Galerking basis.

Definition at line 162 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ epetraCijk

Teuchos::RCP<const Stokhos::EpetraSparse3Tensor> Stokhos::ApproxJacobiPreconditioner::epetraCijk
protected

Stores Epetra Cijk tensor.

Definition at line 165 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ base_map

Teuchos::RCP<const Epetra_Map> Stokhos::ApproxJacobiPreconditioner::base_map
protected

Stores base map.

Definition at line 168 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ sg_map

Teuchos::RCP<const Epetra_Map> Stokhos::ApproxJacobiPreconditioner::sg_map
protected

Stores SG map.

Definition at line 171 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ prec_factory

Teuchos::RCP<Stokhos::AbstractPreconditionerFactory> Stokhos::ApproxJacobiPreconditioner::prec_factory
protected

Stores factory for building mean preconditioner.

Definition at line 174 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ mean_prec

Teuchos::RCP<Epetra_Operator> Stokhos::ApproxJacobiPreconditioner::mean_prec
protected

Stores mean preconditioner.

Definition at line 177 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ useTranspose

bool Stokhos::ApproxJacobiPreconditioner::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 180 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ num_iter

int Stokhos::ApproxJacobiPreconditioner::num_iter
protected

Number of Jacobi iterations.

Definition at line 183 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ sg_op

Teuchos::RCP<Stokhos::SGOperator> Stokhos::ApproxJacobiPreconditioner::sg_op
protected

Pointer to the SG operator.

Definition at line 186 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ sg_poly

Teuchos::RCP<Stokhos::EpetraOperatorOrthogPoly > Stokhos::ApproxJacobiPreconditioner::sg_poly
protected

Pointer to the PCE expansion of Jacobian.

Definition at line 189 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ mat_free_op

Teuchos::RCP<Stokhos::SGOperator> Stokhos::ApproxJacobiPreconditioner::mat_free_op
protected

SG operator to implement SG mat-vec.

Definition at line 192 of file Stokhos_ApproxJacobiPreconditioner.hpp.

◆ rhs_block

Teuchos::RCP<EpetraExt::BlockMultiVector> Stokhos::ApproxJacobiPreconditioner::rhs_block
mutableprotected

Temporary vector for storing rhs in Gauss-Seidel loop.

Definition at line 195 of file Stokhos_ApproxJacobiPreconditioner.hpp.


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