A stochastic preconditioner based on applying the approximate Schur complement preconditioner as defined by Sousedik, Ghanem, and Phipps, Numerical Linear Algebra and Applications, 2012.
More...
#include <Stokhos_ApproxSchurComplementPreconditioner.hpp>
|
virtual int | SetUseTranspose (bool UseTranspose) |
| Set to true if the transpose of the operator is requested. More...
|
|
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. More...
|
|
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. More...
|
|
virtual double | NormInf () const |
| Returns an approximate infinity norm of the operator matrix. More...
|
|
virtual const char * | Label () const |
| Returns a character string describing the operator. More...
|
|
virtual bool | UseTranspose () const |
| Returns the current UseTranspose setting. More...
|
|
virtual bool | HasNormInf () const |
| Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
|
|
virtual const Epetra_Comm & | Comm () const |
| Returns a reference to the Epetra_Comm communicator associated with this operator. More...
|
|
virtual const Epetra_Map & | OperatorDomainMap () const |
| Returns the Epetra_Map object associated with the domain of this matrix operator. More...
|
|
virtual const Epetra_Map & | OperatorRangeMap () const |
| Returns the Epetra_Map object associated with the range of this matrix operator. More...
|
|
A stochastic preconditioner based on applying the approximate Schur complement preconditioner as defined by Sousedik, Ghanem, and Phipps, Numerical Linear Algebra and Applications, 2012.
Definition at line 63 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
◆ Cijk_type
◆ ApproxSchurComplementPreconditioner() [1/2]
Stokhos::ApproxSchurComplementPreconditioner::ApproxSchurComplementPreconditioner |
( |
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 |
|
) |
| |
◆ ~ApproxSchurComplementPreconditioner()
Stokhos::ApproxSchurComplementPreconditioner::~ApproxSchurComplementPreconditioner |
( |
| ) |
|
|
virtual |
◆ ApproxSchurComplementPreconditioner() [2/2]
Private to prohibit copying.
◆ setupPreconditioner()
void Stokhos::ApproxSchurComplementPreconditioner::setupPreconditioner |
( |
const Teuchos::RCP< Stokhos::SGOperator > & |
sg_op, |
|
|
const Epetra_Vector & |
x |
|
) |
| |
|
virtual |
◆ SetUseTranspose()
int Stokhos::ApproxSchurComplementPreconditioner::SetUseTranspose |
( |
bool |
UseTranspose | ) |
|
|
virtual |
◆ Apply()
int Stokhos::ApproxSchurComplementPreconditioner::Apply |
( |
const Epetra_MultiVector & |
Input, |
|
|
Epetra_MultiVector & |
Result |
|
) |
| const |
|
virtual |
◆ ApplyInverse()
int Stokhos::ApproxSchurComplementPreconditioner::ApplyInverse |
( |
const Epetra_MultiVector & |
X, |
|
|
Epetra_MultiVector & |
Y |
|
) |
| const |
|
virtual |
◆ NormInf()
double Stokhos::ApproxSchurComplementPreconditioner::NormInf |
( |
| ) |
const |
|
virtual |
◆ Label()
const char * Stokhos::ApproxSchurComplementPreconditioner::Label |
( |
| ) |
const |
|
virtual |
◆ UseTranspose()
bool Stokhos::ApproxSchurComplementPreconditioner::UseTranspose |
( |
| ) |
const |
|
virtual |
◆ HasNormInf()
bool Stokhos::ApproxSchurComplementPreconditioner::HasNormInf |
( |
| ) |
const |
|
virtual |
◆ Comm()
const Epetra_Comm & Stokhos::ApproxSchurComplementPreconditioner::Comm |
( |
| ) |
const |
|
virtual |
◆ OperatorDomainMap()
const Epetra_Map & Stokhos::ApproxSchurComplementPreconditioner::OperatorDomainMap |
( |
| ) |
const |
|
virtual |
◆ OperatorRangeMap()
const Epetra_Map & Stokhos::ApproxSchurComplementPreconditioner::OperatorRangeMap |
( |
| ) |
const |
|
virtual |
◆ multiply_block()
void Stokhos::ApproxSchurComplementPreconditioner::multiply_block |
( |
const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > & |
cijk, |
|
|
double |
alpha, |
|
|
const EpetraExt::BlockMultiVector & |
Input, |
|
|
EpetraExt::BlockMultiVector & |
Result |
|
) |
| const |
|
protected |
◆ divide_diagonal_block()
void Stokhos::ApproxSchurComplementPreconditioner::divide_diagonal_block |
( |
int |
row_begin, |
|
|
int |
row_end, |
|
|
const EpetraExt::BlockMultiVector & |
Input, |
|
|
EpetraExt::BlockMultiVector & |
Result |
|
) |
| const |
|
protected |
◆ operator=()
Private to prohibit copying.
◆ label
std::string Stokhos::ApproxSchurComplementPreconditioner::label |
|
protected |
◆ sg_comm
Teuchos::RCP<const EpetraExt::MultiComm> Stokhos::ApproxSchurComplementPreconditioner::sg_comm |
|
protected |
◆ sg_basis
◆ epetraCijk
◆ base_map
Teuchos::RCP<const Epetra_Map> Stokhos::ApproxSchurComplementPreconditioner::base_map |
|
protected |
◆ sg_map
Teuchos::RCP<const Epetra_Map> Stokhos::ApproxSchurComplementPreconditioner::sg_map |
|
protected |
◆ prec_factory
◆ mean_prec
Teuchos::RCP<Epetra_Operator> Stokhos::ApproxSchurComplementPreconditioner::mean_prec |
|
protected |
◆ useTranspose
bool Stokhos::ApproxSchurComplementPreconditioner::useTranspose |
|
protected |
◆ sg_op
◆ sg_poly
◆ Cijk
Teuchos::RCP<const Cijk_type > Stokhos::ApproxSchurComplementPreconditioner::Cijk |
|
protected |
int Stokhos::ApproxSchurComplementPreconditioner::P |
|
protected |
◆ block_indices
Teuchos::Array<int> Stokhos::ApproxSchurComplementPreconditioner::block_indices |
|
protected |
◆ upper_block_Cijk
Teuchos::Array< Teuchos::RCP<Cijk_type> > Stokhos::ApproxSchurComplementPreconditioner::upper_block_Cijk |
|
protected |
◆ lower_block_Cijk
Teuchos::Array< Teuchos::RCP<Cijk_type> > Stokhos::ApproxSchurComplementPreconditioner::lower_block_Cijk |
|
protected |
◆ scale_op
bool Stokhos::ApproxSchurComplementPreconditioner::scale_op |
|
protected |
◆ symmetric
bool Stokhos::ApproxSchurComplementPreconditioner::symmetric |
|
protected |
◆ only_use_linear
bool Stokhos::ApproxSchurComplementPreconditioner::only_use_linear |
|
protected |
◆ max_num_mat_vec
int Stokhos::ApproxSchurComplementPreconditioner::max_num_mat_vec |
|
protected |
◆ tmp
Teuchos::RCP<Epetra_MultiVector> Stokhos::ApproxSchurComplementPreconditioner::tmp |
|
mutableprotected |
◆ rhs_block
Teuchos::RCP<EpetraExt::BlockMultiVector> Stokhos::ApproxSchurComplementPreconditioner::rhs_block |
|
mutableprotected |
◆ j_ptr
Teuchos::Array<double*> Stokhos::ApproxSchurComplementPreconditioner::j_ptr |
|
mutableprotected |
◆ mj_indices
Teuchos::Array<int> Stokhos::ApproxSchurComplementPreconditioner::mj_indices |
|
mutableprotected |
The documentation for this class was generated from the following files: