|
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_VectorOrthogPoly.hpp>
Public Types | |
|
typedef Stokhos::VectorOrthogPolyTraits < 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 Member Functions | |
| VectorOrthogPoly () | |
| Constructor with no basis. | |
| VectorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &basis) | |
Create a polynomial for basis basis with empty coefficients. | |
| VectorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &basis, ordinal_type sz) | |
Create a polynomial for basis basis with empty coefficients of size sz. | |
| VectorOrthogPoly (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &basis, 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 Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &basis, const typename traits_type::cloner_type &cloner, ordinal_type sz) | |
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. | |
| ~VectorOrthogPoly () | |
| Destructor. | |
| VectorOrthogPoly & | operator= (const VectorOrthogPoly &) |
| Assignment. | |
| void | reset (const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > &new_basis, const typename traits_type::cloner_type &cloner) |
| Reset to a new basis. | |
| void | resize (ordinal_type sz) |
Resize to size sz. | |
| void | reserve (ordinal_type sz) |
Reserve space for a size sz expansion. | |
| ordinal_type | size () const |
| Return size. | |
|
Teuchos::RCP< const Stokhos::OrthogPolyBasis < ordinal_type, value_type > > | basis () const |
| Get basis. | |
|
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. | |
| coeff_type & | term (ordinal_type dimension, ordinal_type order) |
Get term for dimension dimension and order order. | |
| const coeff_type & | term (ordinal_type dimension, ordinal_type order) const |
Get term for dimension dimension and order order. | |
| void | init (const value_type &val) |
| Initialize polynomial coefficients. | |
| void | evaluate (const Teuchos::Array< value_type > &basis_values, coeff_type &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 coeff_type &vec) |
| Evaluate polynomial at supplied basis values. | |
| std::ostream & | print (std::ostream &os) const |
| Print polynomial. | |
Protected Attributes | |
|
Teuchos::RCP< const Stokhos::OrthogPolyBasis < ordinal_type, value_type > > | basis_ |
| Basis. | |
|
Teuchos::Array< Teuchos::RCP < coeff_type > > | coeff_ |
| Array of polynomial coefficients. | |
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::VectorOrthogPoly< coeff_type >::VectorOrthogPoly | ( | ) |
Constructor with no basis.
Use with care! Generally you will want to call reset() before using any of the methods on this class.
| Stokhos::VectorOrthogPoly< coeff_type >::VectorOrthogPoly | ( | const VectorOrthogPoly< coeff_type > & | v | ) |
Copy constructor.
NOTE: This is a shallow copy
| Stokhos::VectorOrthogPoly< coeff_type > & Stokhos::VectorOrthogPoly< coeff_type >::operator= | ( | const VectorOrthogPoly< coeff_type > & | v | ) |
Assignment.
NOTE: This is a shallow copy
| void Stokhos::VectorOrthogPoly< coeff_type >::reserve | ( | ordinal_type | sz | ) |
Reserve space for a size sz expansion.
Coefficients are preserved.
| void Stokhos::VectorOrthogPoly< coeff_type >::reset | ( | const Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > & | new_basis, |
| const typename traits_type::cloner_type & | cloner | ||
| ) |
Reset to a new basis.
This resizes array to fit new basis.
| void Stokhos::VectorOrthogPoly< coeff_type >::resize | ( | ordinal_type | sz | ) |
Resize to size sz.
Coefficients are preserved.
1.7.4