Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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. More...
 
 PCECovarianceOp (const Teuchos::RCP< const EpetraExt::BlockVector > &X, const Stokhos::OrthogPolyBasis< int, double > &basis)
 Constructor with block-vector X. More...
 
 PCECovarianceOp (const Teuchos::RCP< const Epetra_MultiVector > &X, const Stokhos::OrthogPolyBasis< int, double > &basis)
 Constructor with multi-vector X. More...
 
virtual ~PCECovarianceOp ()
 Destructor. More...
 
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested. More...
 
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. More...
 
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. More...
 
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix. More...
 
virtual const char * Label () const
 Returns a character std::string describing the operator. More...
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator. More...
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator. More...
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator. More...
 
const Epetra_BlockMapCoeffMap () const
 Returns PCE coefficient map. More...
 

Protected Attributes

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

Private Member Functions

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

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 32 of file Stokhos_PCECovarianceOp.hpp.

Constructor & Destructor Documentation

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

Constructor with polynomial X.

Definition at line 17 of file Stokhos_PCECovarianceOp.cpp.

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

Constructor with block-vector X.

Definition at line 37 of file Stokhos_PCECovarianceOp.cpp.

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

Constructor with multi-vector X.

Definition at line 56 of file Stokhos_PCECovarianceOp.cpp.

Stokhos::PCECovarianceOp::~PCECovarianceOp ( )
virtual

Destructor.

Definition at line 69 of file Stokhos_PCECovarianceOp.cpp.

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

Private to prohibit copying.

Member Function Documentation

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

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

Implements Epetra_Operator.

Definition at line 74 of file Stokhos_PCECovarianceOp.cpp.

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 81 of file Stokhos_PCECovarianceOp.cpp.

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 104 of file Stokhos_PCECovarianceOp.cpp.

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

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 112 of file Stokhos_PCECovarianceOp.cpp.

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

Returns a character std::string describing the operator.

Implements Epetra_Operator.

Definition at line 119 of file Stokhos_PCECovarianceOp.cpp.

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 125 of file Stokhos_PCECovarianceOp.cpp.

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 131 of file Stokhos_PCECovarianceOp.cpp.

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 137 of file Stokhos_PCECovarianceOp.cpp.

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 142 of file Stokhos_PCECovarianceOp.cpp.

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 148 of file Stokhos_PCECovarianceOp.cpp.

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

Returns PCE coefficient map.

Definition at line 154 of file Stokhos_PCECovarianceOp.cpp.

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

Private to prohibit copying.

Member Data Documentation

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

Label for operator.

Definition at line 113 of file Stokhos_PCECovarianceOp.hpp.

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

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

Definition at line 116 of file Stokhos_PCECovarianceOp.hpp.

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

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

Definition at line 119 of file Stokhos_PCECovarianceOp.hpp.

bool Stokhos::PCECovarianceOp::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 122 of file Stokhos_PCECovarianceOp.hpp.

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

Map needed for temporary vector.

Definition at line 125 of file Stokhos_PCECovarianceOp.hpp.

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

Temporary vector needed for apply.

Definition at line 128 of file Stokhos_PCECovarianceOp.hpp.


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