17 label(
"Stokhos Fully Assembled Preconditioner"),
18 prec_factory(prec_factory_),
36 prec = prec_factory->compute(Teuchos::rcp_dynamic_cast<Epetra_CrsMatrix>(fa_op));
37 label = std::string(
"Stokhos Fully Assembled Preconditioner:\n") +
38 std::string(
" ***** ") +
39 std::string(prec->Label());
46 return prec->SetUseTranspose(UseTheTranspose);
53 return prec->Apply(Input, Result);
60 return prec->ApplyInverse(Input, Result);
67 return prec->NormInf();
75 return const_cast<char*
>(label.c_str());
82 return prec->UseTranspose();
89 return prec->HasNormInf();
102 return prec->OperatorDomainMap();
109 return prec->OperatorRangeMap();
virtual bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
FullyAssembledPreconditioner(const Teuchos::RCP< Stokhos::AbstractPreconditionerFactory > &prec_factory, const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null)
Constructor.
virtual const char * Label() const
Returns a character string describing the operator.
virtual const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this matrix operator.
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 ...
virtual int SetUseTranspose(bool UseTranspose)
Set to true if the transpose of the operator is requested.
virtual ~FullyAssembledPreconditioner()
Destructor.
virtual void setupPreconditioner(const Teuchos::RCP< Stokhos::SGOperator > &sg_op, const Epetra_Vector &x)
Setup preconditioner.
virtual double NormInf() const
Returns an approximate infinity norm of the operator matrix.
virtual bool UseTranspose() const
Returns the current UseTranspose setting.
virtual const Epetra_Comm & Comm() const
Returns a reference to the Epetra_Comm communicator associated with this operator.
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 ...
virtual const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this matrix operator. ...
An Epetra operator representing the block stochastic Galerkin operator generated by fully assembling ...