| 
    Stokhos Package Browser (Single Doxygen Collection)
    Version of the Day
    
   | 
 
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>

Public Member Functions | |
| 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 > ¶ms) | |
| Constructor.  More... | |
| virtual | ~ApproxSchurComplementPreconditioner () | 
| Destructor.  More... | |
  Public Member Functions inherited from Stokhos::SGPreconditioner | |
| SGPreconditioner () | |
| Constructor.  More... | |
| virtual | ~SGPreconditioner () | 
| Destructor.  More... | |
Protected Types | |
| typedef Stokhos::Sparse3Tensor < int, double >  | Cijk_type | 
| Short-hand for Cijk.  More... | |
Protected Member Functions | |
| void | multiply_block (const Teuchos::RCP< const Stokhos::Sparse3Tensor< int, double > > &cijk, double alpha, const EpetraExt::BlockMultiVector &Input, EpetraExt::BlockMultiVector &Result) const | 
| void | divide_diagonal_block (int row_begin, int row_end, const EpetraExt::BlockMultiVector &Input, EpetraExt::BlockMultiVector &Result) const | 
Protected Attributes | |
| std::string | label | 
| Label for operator.  More... | |
| Teuchos::RCP< const  EpetraExt::MultiComm >  | sg_comm | 
| Stores SG parallel communicator.  More... | |
| Teuchos::RCP< const  Stokhos::OrthogPolyBasis< int, double > >  | sg_basis | 
| Stochastic Galerking basis.  More... | |
| Teuchos::RCP< const  Stokhos::EpetraSparse3Tensor >  | epetraCijk | 
| Stores Epetra Cijk tensor.  More... | |
| Teuchos::RCP< const Epetra_Map > | base_map | 
| Stores base map.  More... | |
| Teuchos::RCP< const Epetra_Map > | sg_map | 
| Stores SG map.  More... | |
| Teuchos::RCP < Stokhos::AbstractPreconditionerFactory >  | prec_factory | 
| Stores factory for building mean preconditioner.  More... | |
| Teuchos::RCP< Epetra_Operator > | mean_prec | 
| Stores mean preconditioner.  More... | |
| bool | useTranspose | 
| Flag indicating whether transpose was selected.  More... | |
| Teuchos::RCP< Stokhos::SGOperator > | sg_op | 
| Pointer to the SG operator.  More... | |
| Teuchos::RCP < Stokhos::EpetraOperatorOrthogPoly >  | sg_poly | 
| Pointer to the PCE expansion of Jacobian.  More... | |
| Teuchos::RCP< const Cijk_type > | Cijk | 
| Pointer to triple product.  More... | |
| int | P | 
| Total polynomial order.  More... | |
| Teuchos::Array< int > | block_indices | 
| Starting block indices.  More... | |
| Teuchos::Array< Teuchos::RCP < Cijk_type > >  | upper_block_Cijk | 
| Triple product tensor for each sub-block.  More... | |
| Teuchos::Array< Teuchos::RCP < Cijk_type > >  | lower_block_Cijk | 
| bool | scale_op | 
| Flag indicating whether operator be scaled with <^2>  More... | |
| bool | symmetric | 
| Use symmetric Gauss-Seidel.  More... | |
| bool | only_use_linear | 
| Limit Gauss-Seidel loop to linear terms.  More... | |
| int | max_num_mat_vec | 
| Maximum number of matvecs in Apply.  More... | |
| Teuchos::RCP< Epetra_MultiVector > | tmp | 
| Temporary vector for storing matrix-vector products.  More... | |
| Teuchos::RCP < EpetraExt::BlockMultiVector >  | rhs_block | 
| Temporary vector for storing rhs in Gauss-Seidel loop.  More... | |
| Teuchos::Array< double * > | j_ptr | 
| Teuchos::Array< int > | mj_indices | 
Private Member Functions | |
| ApproxSchurComplementPreconditioner (const ApproxSchurComplementPreconditioner &) | |
| Private to prohibit copying.  More... | |
| ApproxSchurComplementPreconditioner & | operator= (const ApproxSchurComplementPreconditioner &) | 
| Private to prohibit copying.  More... | |
Stokhos::SGPreconditioner methods | |
| virtual void | setupPreconditioner (const Teuchos::RCP< Stokhos::SGOperator > &sg_op, const Epetra_Vector &x) | 
| Setup preconditioner.  More... | |
Epetra_Operator methods | |
| 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 31 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Short-hand for Cijk.
Definition at line 170 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
| 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 | ||
| ) | 
Constructor.
Definition at line 17 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Destructor.
Definition at line 123 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  private | 
Private to prohibit copying.
      
  | 
  virtual | 
Setup preconditioner.
Implements Stokhos::SGPreconditioner.
Definition at line 129 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Set to true if the transpose of the operator is requested.
Implements Epetra_Operator.
Definition at line 141 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  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 152 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  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 159 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Returns an approximate infinity norm of the operator matrix.
Implements Epetra_Operator.
Definition at line 227 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Returns a character string describing the operator.
Implements Epetra_Operator.
Definition at line 235 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Returns the current UseTranspose setting.
Implements Epetra_Operator.
Definition at line 242 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Implements Epetra_Operator.
Definition at line 249 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Returns a reference to the Epetra_Comm communicator associated with this operator.
Implements Epetra_Operator.
Definition at line 256 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Returns the Epetra_Map object associated with the domain of this matrix operator.
Implements Epetra_Operator.
Definition at line 262 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  virtual | 
Returns the Epetra_Map object associated with the range of this matrix operator.
Implements Epetra_Operator.
Definition at line 269 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  protected | 
Definition at line 276 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  protected | 
Definition at line 328 of file Stokhos_ApproxSchurComplementPreconditioner.cpp.
      
  | 
  private | 
Private to prohibit copying.
      
  | 
  protected | 
Label for operator.
Definition at line 137 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Stores SG parallel communicator.
Definition at line 140 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Stochastic Galerking basis.
Definition at line 143 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Stores Epetra Cijk tensor.
Definition at line 146 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Stores base map.
Definition at line 149 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Stores SG map.
Definition at line 152 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Stores factory for building mean preconditioner.
Definition at line 155 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Stores mean preconditioner.
Definition at line 158 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Flag indicating whether transpose was selected.
Definition at line 161 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Pointer to the SG operator.
Definition at line 164 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Pointer to the PCE expansion of Jacobian.
Definition at line 167 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Pointer to triple product.
Definition at line 173 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Total polynomial order.
Definition at line 176 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Starting block indices.
Definition at line 179 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Triple product tensor for each sub-block.
Definition at line 182 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Definition at line 183 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Flag indicating whether operator be scaled with <^2>
Definition at line 186 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Use symmetric Gauss-Seidel.
Definition at line 189 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Limit Gauss-Seidel loop to linear terms.
Definition at line 192 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  protected | 
Maximum number of matvecs in Apply.
Definition at line 195 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  mutableprotected | 
Temporary vector for storing matrix-vector products.
Definition at line 198 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  mutableprotected | 
Temporary vector for storing rhs in Gauss-Seidel loop.
Definition at line 201 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  mutableprotected | 
Definition at line 203 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
      
  | 
  mutableprotected | 
Definition at line 204 of file Stokhos_ApproxSchurComplementPreconditioner.hpp.
 1.8.5