42 #ifndef STOKHOS_PCE_COVARIANCE_OP_HPP 43 #define STOKHOS_PCE_COVARIANCE_OP_HPP 45 #include "Teuchos_RCP.hpp" 46 #include "Teuchos_Array.hpp" 48 #include "EpetraExt_BlockVector.h" 102 virtual const char*
Label ()
const;
148 Teuchos::RCP<const Epetra_MultiVector>
X;
151 Teuchos::Array<double>
s;
160 mutable Teuchos::RCP<Epetra_MultiVector>
tmp;
166 #endif // STOKHOS_PCE_COVARIANCE_OP_HPP
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 ...
const Epetra_BlockMap & CoeffMap() const
Returns PCE coefficient map.
virtual bool UseTranspose() const
Returns the current UseTranspose setting.
virtual const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this matrix operator. ...
virtual double NormInf() const
Returns an approximate infinity norm of the operator matrix.
Teuchos::RCP< Epetra_MultiVector > tmp
Temporary vector needed for apply.
virtual const Epetra_Comm & Comm() const
Returns a reference to the Epetra_Comm communicator associated with this operator.
PCECovarianceOp(const Stokhos::VectorOrthogPoly< Epetra_Vector > &X_poly)
Constructor with polynomial X.
std::string label
Label for operator.
An Epetra operator representing the covariance operator of a polynomial chaos expansion.
PCECovarianceOp & operator=(const PCECovarianceOp &)
Private to prohibit copying.
Top-level namespace for Stokhos classes and functions.
virtual const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this matrix operator.
virtual const char * Label() const
Returns a character std::string describing the operator.
virtual ~PCECovarianceOp()
Destructor.
bool useTranspose
Flag indicating whether transpose was selected.
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 ...
Teuchos::RCP< const Epetra_MultiVector > X
Multivector X defining A = X*S*X^T.
virtual bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Teuchos::RCP< Epetra_Map > tmp_map
Map needed for temporary vector.
Teuchos::Array< double > s
Scaling vector in A = X*S*X^T.
virtual int SetUseTranspose(bool UseTranspose)
Set to true if the transpose of the operator is requested.