Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
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:
Inheritance graph
[legend]

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_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
 
const Epetra_BlockMapCoeffMap () const
 Returns PCE coefficient map.
 
- Public Member Functions inherited from Epetra_Operator
virtual ~Epetra_Operator ()
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 

Protected Attributes

std::string label
 Label for operator.
 
Teuchos::RCP< const Epetra_MultiVectorX
 Multivector X defining A = X*S*X^T.
 
Teuchos::Array< doubles
 Scaling vector in A = X*S*X^T.
 
bool useTranspose
 Flag indicating whether transpose was selected.
 
Teuchos::RCP< Epetra_Maptmp_map
 Map needed for temporary vector.
 
Teuchos::RCP< Epetra_MultiVectortmp
 Temporary vector needed for apply.
 

Private Member Functions

 PCECovarianceOp (const PCECovarianceOp &)
 Private to prohibit copying.
 
PCECovarianceOpoperator= (const PCECovarianceOp &)
 Private to prohibit copying.
 

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.

Definition at line 64 of file Stokhos_PCECovarianceOp.hpp.

Constructor & Destructor Documentation

◆ PCECovarianceOp() [1/4]

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

Constructor with polynomial X.

Definition at line 48 of file Stokhos_PCECovarianceOp.cpp.

◆ PCECovarianceOp() [2/4]

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

Constructor with block-vector X.

Definition at line 68 of file Stokhos_PCECovarianceOp.cpp.

◆ PCECovarianceOp() [3/4]

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

Constructor with multi-vector X.

Definition at line 87 of file Stokhos_PCECovarianceOp.cpp.

◆ ~PCECovarianceOp()

Stokhos::PCECovarianceOp::~PCECovarianceOp ( )
virtual

Destructor.

Definition at line 101 of file Stokhos_PCECovarianceOp.cpp.

◆ PCECovarianceOp() [4/4]

Stokhos::PCECovarianceOp::PCECovarianceOp ( const PCECovarianceOp )
private

Private to prohibit copying.

Member Function Documentation

◆ SetUseTranspose()

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

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

Implements Epetra_Operator.

Definition at line 106 of file Stokhos_PCECovarianceOp.cpp.

◆ 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.

Implements Epetra_Operator.

Definition at line 113 of file Stokhos_PCECovarianceOp.cpp.

◆ ApplyInverse()

int Stokhos::PCECovarianceOp::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const
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 136 of file Stokhos_PCECovarianceOp.cpp.

◆ NormInf()

double Stokhos::PCECovarianceOp::NormInf ( ) const
virtual

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 144 of file Stokhos_PCECovarianceOp.cpp.

◆ Label()

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

Returns a character std::string describing the operator.

Implements Epetra_Operator.

Definition at line 151 of file Stokhos_PCECovarianceOp.cpp.

◆ UseTranspose()

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 157 of file Stokhos_PCECovarianceOp.cpp.

◆ HasNormInf()

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

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements Epetra_Operator.

Definition at line 163 of file Stokhos_PCECovarianceOp.cpp.

◆ Comm()

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

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

Implements Epetra_Operator.

Definition at line 169 of file Stokhos_PCECovarianceOp.cpp.

◆ OperatorDomainMap()

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

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

Implements Epetra_Operator.

Definition at line 174 of file Stokhos_PCECovarianceOp.cpp.

◆ OperatorRangeMap()

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

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

Implements Epetra_Operator.

Definition at line 180 of file Stokhos_PCECovarianceOp.cpp.

◆ CoeffMap()

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

Returns PCE coefficient map.

Definition at line 186 of file Stokhos_PCECovarianceOp.cpp.

◆ operator=()

PCECovarianceOp & Stokhos::PCECovarianceOp::operator= ( const PCECovarianceOp )
private

Private to prohibit copying.

Member Data Documentation

◆ label

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

Label for operator.

Definition at line 145 of file Stokhos_PCECovarianceOp.hpp.

◆ X

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

Multivector X defining A = X*S*X^T.

Definition at line 148 of file Stokhos_PCECovarianceOp.hpp.

◆ s

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

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

Definition at line 151 of file Stokhos_PCECovarianceOp.hpp.

◆ useTranspose

bool Stokhos::PCECovarianceOp::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 154 of file Stokhos_PCECovarianceOp.hpp.

◆ tmp_map

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

Map needed for temporary vector.

Definition at line 157 of file Stokhos_PCECovarianceOp.hpp.

◆ tmp

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

Temporary vector needed for apply.

Definition at line 160 of file Stokhos_PCECovarianceOp.hpp.


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