Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
Stokhos::EpetraOperatorOrthogPoly Class Reference

A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...

#include <Stokhos_EpetraOperatorOrthogPoly.hpp>

Inheritance diagram for Stokhos::EpetraOperatorOrthogPoly:
Inheritance graph
[legend]

Public Types

typedef double value_type
 Typename of values. More...
 
typedef int ordinal_type
 Typename of ordinals. More...
 
- Public Types inherited from Stokhos::VectorOrthogPoly< Epetra_Operator >
typedef ProductContainer
< Epetra_Operator >
::traits_type 
traits_type
 Typename of traits. More...
 
typedef ProductContainer
< Epetra_Operator >
::value_type 
value_type
 Typename of values. More...
 
typedef ProductContainer
< Epetra_Operator >
::ordinal_type 
ordinal_type
 Typename of ordinals. More...
 
- Public Types inherited from Stokhos::ProductContainer< Epetra_Operator >
typedef
Stokhos::ProductContainerTraits
< Epetra_Operator
traits_type
 Typename of traits. More...
 
typedef traits_type::value_type value_type
 Typename of values. More...
 
typedef traits_type::ordinal_type ordinal_type
 Typename of ordinals. More...
 
- Public Types inherited from Stokhos::ProductEpetraOperator
typedef double value_type
 Typename of values. More...
 
typedef int ordinal_type
 Typename of ordinals. More...
 

Public Member Functions

 EpetraOperatorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &basis, const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Create a polynomial for basis basis where each coefficient is generated from the supplied map. More...
 
 EpetraOperatorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &basis, const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const Epetra_Map > &range_product_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Create a polynomial for basis basis where each coefficient is given by a created block vector. More...
 
 EpetraOperatorOrthogPoly (const EpetraOperatorOrthogPoly &v)
 Copy constructor. More...
 
virtual ~EpetraOperatorOrthogPoly ()
 Destructor. More...
 
EpetraOperatorOrthogPolyoperator= (const EpetraOperatorOrthogPoly &v)
 Assignment. More...
 
- Public Member Functions inherited from Stokhos::VectorOrthogPoly< Epetra_Operator >
 VectorOrthogPoly ()
 Constructor with no basis. More...
 
 VectorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &basis, const Teuchos::RCP< const Epetra_BlockMap > &map)
 Create a polynomial for basis basis with empty coefficients. More...
 
 VectorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &basis, const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner)
 Create a polynomial for basis basis where each coefficient is generated through a clone operation as implemented by the traits class for the coefficient. More...
 
 VectorOrthogPoly (const VectorOrthogPoly &)
 Copy constructor. More...
 
virtual ~VectorOrthogPoly ()
 Destructor. More...
 
VectorOrthogPolyoperator= (const VectorOrthogPoly &)
 Assignment. More...
 
void reset (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &new_basis, const Teuchos::RCP< const Epetra_BlockMap > &new_map, const typename traits_type::cloner_type &cloner)
 Reset to a new basis. More...
 
Teuchos::RCP< const
Stokhos::OrthogPolyBasis
< ordinal_type, value_type > > 
basis () const
 Get basis. More...
 
Epetra_Operatorterm (ordinal_type dimension, ordinal_type order)
 Get term for dimension dimension and order order. More...
 
const Epetra_Operatorterm (ordinal_type dimension, ordinal_type order) const
 Get term for dimension dimension and order order. More...
 
void evaluate (const Teuchos::Array< value_type > &basis_values, Epetra_Operator &result) const
 Evaluate polynomial at supplied basis values. More...
 
void sumIntoAllTerms (const value_type &weight, const Teuchos::Array< value_type > &basis_values, const Teuchos::Array< value_type > &basis_norms, const Epetra_Operator &vec)
 Evaluate polynomial at supplied basis values. More...
 
std::ostream & print (std::ostream &os) const
 Print polynomial. More...
 
- Public Member Functions inherited from Stokhos::ProductContainer< Epetra_Operator >
 ProductContainer ()
 Default constructor. More...
 
 ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Create a container with container map map. More...
 
 ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner)
 Create a container container map map where each coefficient is generated through a clone operation as implemented by the traits class for the coefficient. More...
 
 ProductContainer (const ProductContainer &)
 Copy constructor. More...
 
virtual ~ProductContainer ()
 Destructor. More...
 
ProductContaineroperator= (const ProductContainer &)
 Assignment. More...
 
void reset (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to new map map. More...
 
void reset (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner)
 Resize to new map map and create coefficients from cloner. More...
 
void resize (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to map map. More...
 
void reserve (ordinal_type sz)
 Reserve space for a size sz container. More...
 
ordinal_type size () const
 Return size. More...
 
Teuchos::RCP< const
Epetra_BlockMap
map () const
 Return container map. More...
 
const Teuchos::Array
< Teuchos::RCP
< Epetra_Operator > > & 
getCoefficients () const
 Return array of coefficients. More...
 
Teuchos::Array< Teuchos::RCP
< Epetra_Operator > > & 
getCoefficients ()
 Return array of coefficients. More...
 
Teuchos::RCP< Epetra_OperatorgetCoeffPtr (ordinal_type i)
 Return ref-count pointer to coefficient i. More...
 
Teuchos::RCP< const
Epetra_Operator
getCoeffPtr (ordinal_type i) const
 Return ref-count pointer to constant coefficient i. More...
 
void setCoeffPtr (ordinal_type i, const Teuchos::RCP< Epetra_Operator > &c)
 Set coefficient i to c. More...
 
Epetra_Operatoroperator[] (ordinal_type i)
 Array access. More...
 
const Epetra_Operatoroperator[] (ordinal_type i) const
 Array access. More...
 
void init (const value_type &val)
 Initialize coefficients. More...
 
bool myGID (int i) const
 Return whether global index i resides on this processor. More...
 
std::ostream & print (std::ostream &os) const
 Print polynomial. More...
 
- Public Member Functions inherited from Stokhos::ProductEpetraOperator
 ProductEpetraOperator (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map. More...
 
 ProductEpetraOperator (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map, const Teuchos::RCP< const Epetra_Map > &range_product_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map. More...
 
 ProductEpetraOperator (const ProductEpetraOperator &v)
 Copy constructor. More...
 
virtual ~ProductEpetraOperator ()
 Destructor. More...
 
ProductEpetraOperatoroperator= (const ProductEpetraOperator &v)
 Assignment. More...
 
Teuchos::RCP< const
EpetraExt::MultiComm > 
productComm () const
 Get product comm. 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 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...
 

Protected Member Functions

 EpetraOperatorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &basis, const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Protected constructor to allow 2-stage derived setup. More...
 
void setup (const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map)
 Second stage of setup. More...
 
- Protected Member Functions inherited from Stokhos::ProductEpetraOperator
 ProductEpetraOperator (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Protected constructor to allow 2-stage derived setup. More...
 
void setup (const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map)
 Second stage of setup. More...
 

Additional Inherited Members

- Protected Attributes inherited from Stokhos::VectorOrthogPoly< Epetra_Operator >
Teuchos::RCP< const
Stokhos::OrthogPolyBasis
< ordinal_type, value_type > > 
basis_
 Basis. More...
 
- Protected Attributes inherited from Stokhos::ProductContainer< Epetra_Operator >
Teuchos::RCP< const
Epetra_BlockMap
map_
 Container map. More...
 
Teuchos::Array< Teuchos::RCP
< Epetra_Operator > > 
coeff_
 Array of polynomial coefficients. More...
 
- Protected Attributes inherited from Stokhos::ProductEpetraOperator
Teuchos::RCP< const Epetra_Mapdomain_base_map
 Domain map of each coefficient. More...
 
Teuchos::RCP< const Epetra_Maprange_base_map
 Range map of each coefficient. More...
 
Teuchos::RCP< const Epetra_Mapproduct_range_map
 Product range map. More...
 
Teuchos::RCP< const
EpetraExt::MultiComm > 
product_comm
 Product multi-level communicator. More...
 
bool useTranspose
 Whether to use transpose in Apply() More...
 

Detailed Description

A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor.

Definition at line 23 of file Stokhos_EpetraOperatorOrthogPoly.hpp.

Member Typedef Documentation

Typename of values.

Definition at line 29 of file Stokhos_EpetraOperatorOrthogPoly.hpp.

Typename of ordinals.

Definition at line 32 of file Stokhos_EpetraOperatorOrthogPoly.hpp.

Constructor & Destructor Documentation

Stokhos::EpetraOperatorOrthogPoly::EpetraOperatorOrthogPoly ( const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &  basis,
const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const Epetra_Map > &  domain_base_map,
const Teuchos::RCP< const Epetra_Map > &  range_base_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm 
)

Create a polynomial for basis basis where each coefficient is generated from the supplied map.

Definition at line 13 of file Stokhos_EpetraOperatorOrthogPoly.cpp.

Stokhos::EpetraOperatorOrthogPoly::EpetraOperatorOrthogPoly ( const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &  basis,
const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const Epetra_Map > &  domain_base_map,
const Teuchos::RCP< const Epetra_Map > &  range_base_map,
const Teuchos::RCP< const Epetra_Map > &  range_product_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm 
)

Create a polynomial for basis basis where each coefficient is given by a created block vector.

Definition at line 27 of file Stokhos_EpetraOperatorOrthogPoly.cpp.

Stokhos::EpetraOperatorOrthogPoly::EpetraOperatorOrthogPoly ( const EpetraOperatorOrthogPoly v)

Copy constructor.

NOTE: This is a shallow copy

Definition at line 42 of file Stokhos_EpetraOperatorOrthogPoly.cpp.

Stokhos::EpetraOperatorOrthogPoly::~EpetraOperatorOrthogPoly ( )
virtual

Destructor.

Definition at line 50 of file Stokhos_EpetraOperatorOrthogPoly.cpp.

Stokhos::EpetraOperatorOrthogPoly::EpetraOperatorOrthogPoly ( const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &  basis,
const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm 
)
protected

Protected constructor to allow 2-stage derived setup.

Definition at line 61 of file Stokhos_EpetraOperatorOrthogPoly.cpp.

Member Function Documentation

Stokhos::EpetraOperatorOrthogPoly & Stokhos::EpetraOperatorOrthogPoly::operator= ( const EpetraOperatorOrthogPoly v)

Assignment.

NOTE: This is a shallow copy

Definition at line 54 of file Stokhos_EpetraOperatorOrthogPoly.cpp.

void Stokhos::EpetraOperatorOrthogPoly::setup ( const Teuchos::RCP< const Epetra_Map > &  domain_base_map,
const Teuchos::RCP< const Epetra_Map > &  range_base_map 
)
protected

Second stage of setup.

Definition at line 73 of file Stokhos_EpetraOperatorOrthogPoly.cpp.


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