|
Stokhos Development
|
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_EpetraMultiVectorOperatorOrthogPoly.hpp>


Public Types | |
| typedef double | value_type |
| Typename of values. | |
| typedef int | ordinal_type |
| Typename of ordinals. | |
Public Types inherited from Stokhos::EpetraOperatorOrthogPoly | |
| typedef double | value_type |
| Typename of values. | |
| typedef int | ordinal_type |
| Typename of ordinals. | |
Public Types inherited from Stokhos::VectorOrthogPoly< Epetra_Operator > | |
| typedef ProductContainer< Epetra_Operator >::traits_type | traits_type |
| Typename of traits. | |
| typedef ProductContainer< Epetra_Operator >::value_type | value_type |
| Typename of values. | |
| typedef ProductContainer< Epetra_Operator >::ordinal_type | ordinal_type |
| Typename of ordinals. | |
Public Types inherited from Stokhos::ProductContainer< coeff_type > | |
| typedef Stokhos::ProductContainerTraits< coeff_type > | traits_type |
| Typename of traits. | |
| typedef traits_type::value_type | value_type |
| Typename of values. | |
| typedef traits_type::ordinal_type | ordinal_type |
| Typename of ordinals. | |
Public Types inherited from Stokhos::ProductEpetraOperator | |
| typedef double | value_type |
| Typename of values. | |
| typedef int | ordinal_type |
| Typename of ordinals. | |
Public Types inherited from Stokhos::ProductContainer< Epetra_Operator > | |
| typedef Stokhos::ProductContainerTraits< Epetra_Operator > | traits_type |
| Typename of traits. | |
| typedef traits_type::value_type | value_type |
| Typename of values. | |
| typedef traits_type::ordinal_type | ordinal_type |
| Typename of ordinals. | |
Public Types inherited from Stokhos::ProductEpetraMultiVectorOperator | |
| typedef double | value_type |
| Typename of values. | |
| typedef int | ordinal_type |
| Typename of ordinals. | |
Public Member Functions | |
| EpetraMultiVectorOperatorOrthogPoly (const Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > &sg_mv, bool is_multi_vec_transposed) | |
Create a polynomial for basis basis where each coefficient is generated from the supplied map. | |
| EpetraMultiVectorOperatorOrthogPoly (const EpetraMultiVectorOperatorOrthogPoly &v) | |
| Copy constructor. | |
| virtual | ~EpetraMultiVectorOperatorOrthogPoly () |
| Destructor. | |
| EpetraMultiVectorOperatorOrthogPoly & | operator= (const EpetraMultiVectorOperatorOrthogPoly &v) |
| Assignment. | |
| Teuchos::RCP< EpetraMultiVectorOrthogPoly > | multiVectorOrthogPoly () const |
| Get multi vector orthog poly. | |
Public Member Functions inherited from 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. | |
| 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. | |
| EpetraOperatorOrthogPoly (const EpetraOperatorOrthogPoly &v) | |
| Copy constructor. | |
| virtual | ~EpetraOperatorOrthogPoly () |
| Destructor. | |
| EpetraOperatorOrthogPoly & | operator= (const EpetraOperatorOrthogPoly &v) |
| Assignment. | |
Public Member Functions inherited from Stokhos::VectorOrthogPoly< Epetra_Operator > | |
| VectorOrthogPoly () | |
| Constructor with no basis. | |
| 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. | |
| 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. | |
| VectorOrthogPoly (const VectorOrthogPoly &) | |
| Copy constructor. | |
| virtual | ~VectorOrthogPoly () |
| Destructor. | |
| VectorOrthogPoly & | operator= (const VectorOrthogPoly &) |
| Assignment. | |
| 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. | |
| Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > | basis () const |
| Get basis. | |
| Epetra_Operator & | term (ordinal_type dimension, ordinal_type order) |
Get term for dimension dimension and order order. | |
| const Epetra_Operator & | term (ordinal_type dimension, ordinal_type order) const |
Get term for dimension dimension and order order. | |
| void | evaluate (const Teuchos::Array< value_type > &basis_values, Epetra_Operator &result) const |
| Evaluate polynomial at supplied basis values. | |
| 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. | |
| std::ostream & | print (std::ostream &os) const |
| Print polynomial. | |
Public Member Functions inherited from Stokhos::ProductContainer< coeff_type > | |
| ProductContainer () | |
| Default constructor. | |
| ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map) | |
Create a container with container map map. | |
| 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. | |
| ProductContainer (const ProductContainer &) | |
| Copy constructor. | |
| virtual | ~ProductContainer () |
| Destructor. | |
| ProductContainer & | operator= (const ProductContainer &) |
| Assignment. | |
| void | reset (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to new map map. | |
| 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. | |
| void | resize (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to map map. | |
| void | reserve (ordinal_type sz) |
Reserve space for a size sz container. | |
| ordinal_type | size () const |
| Return size. | |
| Teuchos::RCP< const Epetra_BlockMap > | map () const |
| Return container map. | |
| const Teuchos::Array< Teuchos::RCP< coeff_type > > & | getCoefficients () const |
| Return array of coefficients. | |
| Teuchos::Array< Teuchos::RCP< coeff_type > > & | getCoefficients () |
| Return array of coefficients. | |
| Teuchos::RCP< coeff_type > | getCoeffPtr (ordinal_type i) |
Return ref-count pointer to coefficient i. | |
| Teuchos::RCP< const coeff_type > | getCoeffPtr (ordinal_type i) const |
Return ref-count pointer to constant coefficient i. | |
| void | setCoeffPtr (ordinal_type i, const Teuchos::RCP< coeff_type > &c) |
Set coefficient i to c. | |
| coeff_type & | operator[] (ordinal_type i) |
| Array access. | |
| const coeff_type & | operator[] (ordinal_type i) const |
| Array access. | |
| void | init (const value_type &val) |
| Initialize coefficients. | |
| bool | myGID (int i) const |
| Return whether global index i resides on this processor. | |
| std::ostream & | print (std::ostream &os) const |
| Print polynomial. | |
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. | |
| 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. | |
| ProductEpetraOperator (const ProductEpetraOperator &v) | |
| Copy constructor. | |
| virtual | ~ProductEpetraOperator () |
| Destructor. | |
| ProductEpetraOperator & | operator= (const ProductEpetraOperator &v) |
| Assignment. | |
| Teuchos::RCP< const EpetraExt::MultiComm > | productComm () const |
| Get product comm. | |
| 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 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. | |
Public Member Functions inherited from Stokhos::ProductContainer< Epetra_Operator > | |
| ProductContainer () | |
| Default constructor. | |
| ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map) | |
Create a container with container map map. | |
| 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. | |
| ProductContainer (const ProductContainer &) | |
| Copy constructor. | |
| virtual | ~ProductContainer () |
| Destructor. | |
| ProductContainer & | operator= (const ProductContainer &) |
| Assignment. | |
| void | reset (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to new map map. | |
| 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. | |
| void | resize (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to map map. | |
| void | reserve (ordinal_type sz) |
Reserve space for a size sz container. | |
| ordinal_type | size () const |
| Return size. | |
| Teuchos::RCP< const Epetra_BlockMap > | map () const |
| Return container map. | |
| const Teuchos::Array< Teuchos::RCP< Epetra_Operator > > & | getCoefficients () const |
| Return array of coefficients. | |
| Teuchos::Array< Teuchos::RCP< Epetra_Operator > > & | getCoefficients () |
| Return array of coefficients. | |
| Teuchos::RCP< Epetra_Operator > | getCoeffPtr (ordinal_type i) |
Return ref-count pointer to coefficient i. | |
| Teuchos::RCP< const Epetra_Operator > | getCoeffPtr (ordinal_type i) const |
Return ref-count pointer to constant coefficient i. | |
| void | setCoeffPtr (ordinal_type i, const Teuchos::RCP< Epetra_Operator > &c) |
Set coefficient i to c. | |
| Epetra_Operator & | operator[] (ordinal_type i) |
| Array access. | |
| const Epetra_Operator & | operator[] (ordinal_type i) const |
| Array access. | |
| void | init (const value_type &val) |
| Initialize coefficients. | |
| bool | myGID (int i) const |
| Return whether global index i resides on this processor. | |
| std::ostream & | print (std::ostream &os) const |
| Print polynomial. | |
Public Member Functions inherited from Stokhos::ProductEpetraMultiVectorOperator | |
| ProductEpetraMultiVectorOperator (const Teuchos::RCP< ProductEpetraMultiVector > &product_mv, bool is_multi_vec_transposed) | |
| Create ProductEpetraOperator out of ProductEpetraMultiVector. | |
| ProductEpetraMultiVectorOperator (const ProductEpetraMultiVectorOperator &v) | |
| Copy constructor. | |
| virtual | ~ProductEpetraMultiVectorOperator () |
| Destructor. | |
| ProductEpetraMultiVectorOperator & | operator= (const ProductEpetraMultiVectorOperator &v) |
| Assignment. | |
| Teuchos::RCP< ProductEpetraMultiVector > | productMultiVector () const |
| Get product multi vector. | |
Protected Attributes | |
| Teuchos::RCP< Stokhos::EpetraMultiVectorOrthogPoly > | sg_mv |
| Multivector orthog poly. | |
Protected Attributes inherited from Stokhos::VectorOrthogPoly< Epetra_Operator > | |
| Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > | basis_ |
| Basis. | |
Protected Attributes inherited from Stokhos::ProductContainer< coeff_type > | |
| Teuchos::RCP< const Epetra_BlockMap > | map_ |
| Container map. | |
| Teuchos::Array< Teuchos::RCP< coeff_type > > | coeff_ |
| Array of polynomial coefficients. | |
Protected Attributes inherited from Stokhos::ProductEpetraOperator | |
| Teuchos::RCP< const Epetra_Map > | domain_base_map |
| Domain map of each coefficient. | |
| Teuchos::RCP< const Epetra_Map > | range_base_map |
| Range map of each coefficient. | |
| Teuchos::RCP< const Epetra_Map > | product_range_map |
| Product range map. | |
| Teuchos::RCP< const EpetraExt::MultiComm > | product_comm |
| Product multi-level communicator. | |
| bool | useTranspose |
| Whether to use transpose in Apply() | |
Protected Attributes inherited from Stokhos::ProductContainer< Epetra_Operator > | |
| Teuchos::RCP< const Epetra_BlockMap > | map_ |
| Container map. | |
| Teuchos::Array< Teuchos::RCP< Epetra_Operator > > | coeff_ |
| Array of polynomial coefficients. | |
Protected Attributes inherited from Stokhos::ProductEpetraMultiVectorOperator | |
| Teuchos::RCP< ProductEpetraMultiVector > | product_mv |
| The product multi-vector. | |
Additional Inherited Members | |
Protected Member Functions inherited from 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 constructor to allow 2-stage derived setup. | |
| void | setup (const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map) |
| Second stage of setup. | |
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. | |
| void | setup (const Teuchos::RCP< const Epetra_Map > &domain_base_map, const Teuchos::RCP< const Epetra_Map > &range_base_map) |
| Second stage of setup. | |
A container class storing an orthogonal polynomial whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor.
| Stokhos::EpetraMultiVectorOperatorOrthogPoly::EpetraMultiVectorOperatorOrthogPoly | ( | const EpetraMultiVectorOperatorOrthogPoly & | v | ) |
| Stokhos::EpetraMultiVectorOperatorOrthogPoly & Stokhos::EpetraMultiVectorOperatorOrthogPoly::operator= | ( | const EpetraMultiVectorOperatorOrthogPoly & | v | ) |
Assignment.
NOTE: This is a shallow copy
References Stokhos::VectorOrthogPoly< coeff_type >::basis_, Stokhos::ProductEpetraMultiVectorOperator::operator=(), and sg_mv.