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;
Abstract base class for multivariate orthogonal polynomials.
An Epetra operator representing the covariance operator of a polynomial chaos expansion.
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 bool UseTranspose() const
Returns the current UseTranspose setting.
Teuchos::RCP< const Epetra_MultiVector > X
Multivector X defining A = X*S*X^T.
PCECovarianceOp & operator=(const PCECovarianceOp &)
Private to prohibit copying.
Teuchos::RCP< Epetra_MultiVector > tmp
Temporary vector needed for apply.
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::Array< double > s
Scaling vector in A = X*S*X^T.
virtual double NormInf() const
Returns an approximate infinity norm of the operator matrix.
std::string label
Label for operator.
Teuchos::RCP< Epetra_Map > tmp_map
Map needed for temporary vector.
virtual const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this matrix operator.
virtual ~PCECovarianceOp()
Destructor.
virtual const char * Label() const
Returns a character std::string describing the operator.
virtual const Epetra_Comm & Comm() const
Returns a reference to the Epetra_Comm communicator associated with this operator.
const Epetra_BlockMap & CoeffMap() const
Returns PCE coefficient map.
virtual bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual int SetUseTranspose(bool UseTranspose)
Set to true if the transpose of the operator is requested.
virtual const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this matrix operator.
bool useTranspose
Flag indicating whether transpose was selected.
PCECovarianceOp(const PCECovarianceOp &)
Private to prohibit copying.
A container class storing an orthogonal polynomial whose coefficients are vectors,...
Top-level namespace for Stokhos classes and functions.