Stokhos::VectorOrthogPoly< coeff_type > Class Template 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_VectorOrthogPoly.hpp>

List of all members.

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.
VectorOrthogPolyoperator= (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.


Detailed Description

template<typename coeff_type>
class Stokhos::VectorOrthogPoly< coeff_type >

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


Constructor & Destructor Documentation

template<typename coeff_type>
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.

template<typename coeff_type>
Stokhos::VectorOrthogPoly< coeff_type >::VectorOrthogPoly ( const VectorOrthogPoly< coeff_type > &   ) 

Copy constructor.

NOTE: This is a shallow copy


Member Function Documentation

template<typename coeff_type>
VectorOrthogPoly& Stokhos::VectorOrthogPoly< coeff_type >::operator= ( const VectorOrthogPoly< coeff_type > &   ) 

Assignment.

NOTE: This is a shallow copy

template<typename coeff_type>
void Stokhos::VectorOrthogPoly< coeff_type >::reserve ( ordinal_type  sz  ) 

Reserve space for a size sz expansion.

Coefficients are preserved.

template<typename coeff_type>
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.

template<typename coeff_type>
void Stokhos::VectorOrthogPoly< coeff_type >::resize ( ordinal_type  sz  ) 

Resize to size sz.

Coefficients are preserved.


The documentation for this class was generated from the following files:
Generated on Tue Jul 13 09:23:21 2010 for Stokhos by  doxygen 1.4.7