Stokhos Development
Loading...
Searching...
No Matches
Stokhos::PCECovarianceOp Class Reference

An Epetra operator representing the covariance operator of a polynomial chaos expansion. More...

#include <Stokhos_PCECovarianceOp.hpp>

Inheritance diagram for Stokhos::PCECovarianceOp:
Collaboration diagram for Stokhos::PCECovarianceOp:

Public Member Functions

 PCECovarianceOp (const Stokhos::VectorOrthogPoly< Epetra_Vector > &X_poly)
 Constructor with polynomial X.
 PCECovarianceOp (const Teuchos::RCP< const EpetraExt::BlockVector > &X, const Stokhos::OrthogPolyBasis< int, double > &basis)
 Constructor with block-vector X.
 PCECovarianceOp (const Teuchos::RCP< const Epetra_MultiVector > &X, const Stokhos::OrthogPolyBasis< int, double > &basis)
 Constructor with multi-vector X.
virtual ~PCECovarianceOp ()
 Destructor.
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested.
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.
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.
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix.
virtual const char * Label () const
 Returns a character std::string describing the operator.
virtual bool UseTranspose () const
 Returns the current UseTranspose setting.
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual const Epetra_Comm & Comm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_Map & OperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
virtual const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
const Epetra_BlockMap & CoeffMap () const
 Returns PCE coefficient map.

Protected Attributes

std::string label
 Label for operator.
Teuchos::RCP< const Epetra_MultiVector > X
 Multivector X defining A = X*S*X^T.
Teuchos::Array< double > s
 Scaling vector in A = X*S*X^T.
bool useTranspose
 Flag indicating whether transpose was selected.
Teuchos::RCP< Epetra_Map > tmp_map
 Map needed for temporary vector.
Teuchos::RCP< Epetra_MultiVector > tmp
 Temporary vector needed for apply.

Detailed Description

An Epetra operator representing the covariance operator of a polynomial chaos expansion.

If X is the matrix whose columns are the coefficients of a given polynomial chaos expansion, starting at order 1 (not including mean term), and S is a diagonal matrix whose entries are given by the norm-squared of the basis polynomials, then the covariance operator is A = X*S*X^T.

Constructor & Destructor Documentation

◆ PCECovarianceOp() [1/3]

Stokhos::PCECovarianceOp::PCECovarianceOp ( const Stokhos::VectorOrthogPoly< Epetra_Vector > & X_poly)

Constructor with polynomial X.

References label, s, Stokhos::ProductContainer< coeff_type >::size(), tmp, tmp_map, useTranspose, and X.

◆ PCECovarianceOp() [2/3]

Stokhos::PCECovarianceOp::PCECovarianceOp ( const Teuchos::RCP< const EpetraExt::BlockVector > & X,
const Stokhos::OrthogPolyBasis< int, double > & basis )

Constructor with block-vector X.

References label, s, Stokhos::OrthogPolyBasis< ordinal_type, value_type >::size(), tmp, tmp_map, useTranspose, and X.

◆ PCECovarianceOp() [3/3]

Stokhos::PCECovarianceOp::PCECovarianceOp ( const Teuchos::RCP< const Epetra_MultiVector > & X,
const Stokhos::OrthogPolyBasis< int, double > & basis )

Constructor with multi-vector X.

References label, s, tmp, tmp_map, useTranspose, and X.

Member Function Documentation

◆ Apply()

int Stokhos::PCECovarianceOp::Apply ( const Epetra_MultiVector & Input,
Epetra_MultiVector & Result ) const
virtual

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.

References s, tmp, tmp_map, and X.

◆ CoeffMap()

const Epetra_BlockMap & Stokhos::PCECovarianceOp::CoeffMap ( ) const

Returns PCE coefficient map.

References X.

◆ Comm()

const Epetra_Comm & Stokhos::PCECovarianceOp::Comm ( ) const
virtual

Returns a reference to the Epetra_Comm communicator associated with this operator.

References X.

◆ Label()

const char * Stokhos::PCECovarianceOp::Label ( ) const
virtual

Returns a character std::string describing the operator.

References label.

◆ OperatorDomainMap()

const Epetra_Map & Stokhos::PCECovarianceOp::OperatorDomainMap ( ) const
virtual

Returns the Epetra_Map object associated with the domain of this matrix operator.

References X.

◆ OperatorRangeMap()

const Epetra_Map & Stokhos::PCECovarianceOp::OperatorRangeMap ( ) const
virtual

Returns the Epetra_Map object associated with the range of this matrix operator.

References X.

◆ SetUseTranspose()

int Stokhos::PCECovarianceOp::SetUseTranspose ( bool UseTranspose)
virtual

Set to true if the transpose of the operator is requested.

References useTranspose.

◆ UseTranspose()

bool Stokhos::PCECovarianceOp::UseTranspose ( ) const
virtual

Returns the current UseTranspose setting.

References useTranspose.

Member Data Documentation

◆ label

std::string Stokhos::PCECovarianceOp::label
protected

Label for operator.

Referenced by Label(), PCECovarianceOp(), PCECovarianceOp(), and PCECovarianceOp().

◆ s

Teuchos::Array<double> Stokhos::PCECovarianceOp::s
protected

Scaling vector in A = X*S*X^T.

Referenced by Apply(), PCECovarianceOp(), PCECovarianceOp(), and PCECovarianceOp().

◆ tmp

Teuchos::RCP<Epetra_MultiVector> Stokhos::PCECovarianceOp::tmp
mutableprotected

Temporary vector needed for apply.

Referenced by Apply(), PCECovarianceOp(), PCECovarianceOp(), and PCECovarianceOp().

◆ tmp_map

Teuchos::RCP<Epetra_Map> Stokhos::PCECovarianceOp::tmp_map
protected

Map needed for temporary vector.

Referenced by Apply(), PCECovarianceOp(), PCECovarianceOp(), and PCECovarianceOp().

◆ useTranspose

bool Stokhos::PCECovarianceOp::useTranspose
protected

Flag indicating whether transpose was selected.

Referenced by PCECovarianceOp(), PCECovarianceOp(), PCECovarianceOp(), SetUseTranspose(), and UseTranspose().

◆ X

Teuchos::RCP<const Epetra_MultiVector> Stokhos::PCECovarianceOp::X
protected

The documentation for this class was generated from the following files: