Sacado::PCE::Hermite< T > Class Template Reference

Hermite polynomial chaos expansion class. More...

#include <Sacado_PCE_Hermite.hpp>

List of all members.

Assignment operators

Hermite< T > & operator= (const T &val)
 Assignment operator with constant right-hand-side.
Hermite< T > & operator= (const Hermite< T > &x)
 Assignment with Hermite right-hand-side.

Value accessor methods

const T & val () const
 Returns value.
T & val ()
 Returns value.

Hermite coefficient accessor methods

unsigned int degree () const
 Returns degree of polynomial.
bool hasFastAccess (unsigned int d) const
 Returns true if polynomial has degree >= d.
const T * coeff () const
 Returns Hermite coefficient array.
T * coeff ()
 Returns Hermite coefficient array.
coeff (unsigned int i) const
 Returns degree i term with bounds checking.
T & fastAccessCoeff (unsigned int i)
 Returns degree i term without bounds checking.
fastAccessCoeff (unsigned int i) const
 Returns degree i term without bounds checking.

Unary operators

Hermite< T > operator+ () const
 Unary-plus operator.
Hermite< T > operator- () const
 Unary-minus operator.
Hermite< T > & operator+= (const T &x)
 Addition-assignment operator with constant right-hand-side.
Hermite< T > & operator-= (const T &x)
 Subtraction-assignment operator with constant right-hand-side.
Hermite< T > & operator *= (const T &x)
 Multiplication-assignment operator with constant right-hand-side.
Hermite< T > & operator/= (const T &x)
 Division-assignment operator with constant right-hand-side.
Hermite< T > & operator+= (const Hermite< T > &x)
 Addition-assignment operator with Hermite right-hand-side.
Hermite< T > & operator-= (const Hermite< T > &x)
 Subtraction-assignment operator with Hermite right-hand-side.
Hermite< T > & operator *= (const Hermite< T > &x)
 Multiplication-assignment operator with Hermite right-hand-side.
Hermite< T > & operator/= (const Hermite< T > &x)
 Division-assignment operator with Hermite right-hand-side.

Public Types

typedef T value_type
 Typename of values.
typedef Workspace< HermiteEBasis<
T > > 
ws_type
 Workspace type.

Public Member Functions

 Hermite ()
 Default constructor.
 Hermite (const T &x)
 Constructor with supplied value x.
 Hermite (unsigned int d, const T &x)
 Constructor with degree d and value x.
 Hermite (unsigned int d)
 Constructor with degree d.
 Hermite (const Hermite &x)
 Copy constructor.
 ~Hermite ()
 Destructor.
void resize (unsigned int d, bool keep_coeffs)
 Resize polynomial to degree d.
void reserve (unsigned int d)
 Reserve space for a degree d polynomial.
void copyForWrite ()
 Prepare polynomial for writing.
StandardPoly< T > toStandardBasis () const
 Write coefficients in standard basis.

Static Public Member Functions

static void initWorkspace (unsigned int d)
 Initialize workspace.

Static Public Attributes

static ws_type workspace
 Workspace.

Protected Member Functions

unsigned int length () const
 Return length of array.
void resizeCoeffs (unsigned int len)
 Resize coefficient array to new size.

Protected Attributes

Sacado::Handle< HermiteDatath

Classes

struct  HermiteData


Detailed Description

template<typename T>
class Sacado::PCE::Hermite< T >

Hermite polynomial chaos expansion class.

Uses a handle and a "copy-on-write" strategy for efficient copying, but no expression templating.

Definition at line 56 of file Sacado_PCE_Hermite.hpp.


Member Typedef Documentation

template<typename T>
typedef T Sacado::PCE::Hermite< T >::value_type

Typename of values.

Definition at line 60 of file Sacado_PCE_Hermite.hpp.

template<typename T>
typedef Workspace< HermiteEBasis<T> > Sacado::PCE::Hermite< T >::ws_type

Workspace type.

Definition at line 267 of file Sacado_PCE_Hermite.hpp.


Constructor & Destructor Documentation

template<typename T>
Sacado::PCE::Hermite< T >::Hermite (  ) 

Default constructor.

Definition at line 121 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Sacado::PCE::Hermite< T >::Hermite ( const T &  x  ) 

Constructor with supplied value x.

Sets the first coefficient to x

Definition at line 128 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Sacado::PCE::Hermite< T >::Hermite ( unsigned int  d,
const T &  x 
)

Constructor with degree d and value x.

Initializes first coeffienct to x and of a polynomial of degree d

Definition at line 135 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Sacado::PCE::Hermite< T >::Hermite ( unsigned int  d  ) 

Constructor with degree d.

Initializes all components to zero

Definition at line 142 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Sacado::PCE::Hermite< T >::Hermite ( const Hermite< T > &  x  ) 

Copy constructor.

template<typename T>
Sacado::PCE::Hermite< T >::~Hermite (  ) 

Destructor.

Definition at line 156 of file Sacado_PCE_HermiteImp.hpp.


Member Function Documentation

template<typename T>
void Sacado::PCE::Hermite< T >::resize ( unsigned int  d,
bool  keep_coeffs 
)

Resize polynomial to degree d.

Coefficients are preserved if keep_coeffs is true, otherwise all coefficients are reset to zero.

Definition at line 163 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
void Sacado::PCE::Hermite< T >::reserve ( unsigned int  d  ) 

Reserve space for a degree d polynomial.

Coefficients are preserved.

Definition at line 182 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
void Sacado::PCE::Hermite< T >::copyForWrite (  )  [inline]

Prepare polynomial for writing.

This method prepares the polynomial for writing through coeff() and fastAccessCoeff() member functions. It ensures the handle for the Hermite coefficients is not shared among any other Hermite polynomial objects. If the handle is not shared it does nothing, so there is no cost in calling this method in this case. If the handle is shared and this method is not called, any changes to the coefficients by coeff() or fastAccessCoeff() may change other polynomial objects.

Definition at line 112 of file Sacado_PCE_Hermite.hpp.

template<typename T>
void Sacado::PCE::Hermite< T >::initWorkspace ( unsigned int  d  )  [static]

Initialize workspace.

Intializes static workspace data.

Definition at line 194 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
StandardPoly< T > Sacado::PCE::Hermite< T >::toStandardBasis (  )  const

Write coefficients in standard basis.

Definition at line 202 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator= ( const T &  val  ) 

Assignment operator with constant right-hand-side.

Definition at line 214 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator= ( const Hermite< T > &  x  ) 

Assignment with Hermite right-hand-side.

Definition at line 233 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
const T& Sacado::PCE::Hermite< T >::val (  )  const [inline]

Returns value.

Definition at line 142 of file Sacado_PCE_Hermite.hpp.

template<typename T>
T& Sacado::PCE::Hermite< T >::val (  )  [inline]

Returns value.

Definition at line 145 of file Sacado_PCE_Hermite.hpp.

template<typename T>
unsigned int Sacado::PCE::Hermite< T >::degree (  )  const [inline]

Returns degree of polynomial.

Definition at line 155 of file Sacado_PCE_Hermite.hpp.

template<typename T>
bool Sacado::PCE::Hermite< T >::hasFastAccess ( unsigned int  d  )  const [inline]

Returns true if polynomial has degree >= d.

Definition at line 158 of file Sacado_PCE_Hermite.hpp.

template<typename T>
const T* Sacado::PCE::Hermite< T >::coeff (  )  const [inline]

Returns Hermite coefficient array.

Definition at line 161 of file Sacado_PCE_Hermite.hpp.

template<typename T>
T* Sacado::PCE::Hermite< T >::coeff (  )  [inline]

Returns Hermite coefficient array.

Definition at line 164 of file Sacado_PCE_Hermite.hpp.

template<typename T>
T Sacado::PCE::Hermite< T >::coeff ( unsigned int  i  )  const [inline]

Returns degree i term with bounds checking.

Definition at line 167 of file Sacado_PCE_Hermite.hpp.

template<typename T>
T& Sacado::PCE::Hermite< T >::fastAccessCoeff ( unsigned int  i  )  [inline]

Returns degree i term without bounds checking.

Definition at line 171 of file Sacado_PCE_Hermite.hpp.

template<typename T>
T Sacado::PCE::Hermite< T >::fastAccessCoeff ( unsigned int  i  )  const [inline]

Returns degree i term without bounds checking.

Definition at line 174 of file Sacado_PCE_Hermite.hpp.

template<typename T>
Hermite< T > Sacado::PCE::Hermite< T >::operator+ (  )  const

Unary-plus operator.

Definition at line 242 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > Sacado::PCE::Hermite< T >::operator- (  )  const

Unary-minus operator.

Definition at line 250 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator+= ( const T &  x  ) 

Addition-assignment operator with constant right-hand-side.

Definition at line 265 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator-= ( const T &  x  ) 

Subtraction-assignment operator with constant right-hand-side.

Definition at line 277 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator *= ( const T &  x  ) 

Multiplication-assignment operator with constant right-hand-side.

Definition at line 289 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator/= ( const T &  x  ) 

Division-assignment operator with constant right-hand-side.

Definition at line 302 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator+= ( const Hermite< T > &  x  ) 

Addition-assignment operator with Hermite right-hand-side.

Definition at line 315 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator-= ( const Hermite< T > &  x  ) 

Subtraction-assignment operator with Hermite right-hand-side.

Definition at line 355 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator *= ( const Hermite< T > &  x  ) 

Multiplication-assignment operator with Hermite right-hand-side.

Definition at line 395 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
Hermite< T > & Sacado::PCE::Hermite< T >::operator/= ( const Hermite< T > &  x  ) 

Division-assignment operator with Hermite right-hand-side.

Definition at line 459 of file Sacado_PCE_HermiteImp.hpp.

template<typename T>
unsigned int Sacado::PCE::Hermite< T >::length (  )  const [inline, protected]

Return length of array.

Definition at line 218 of file Sacado_PCE_Hermite.hpp.

template<typename T>
void Sacado::PCE::Hermite< T >::resizeCoeffs ( unsigned int  len  )  [protected]

Resize coefficient array to new size.

Definition at line 540 of file Sacado_PCE_HermiteImp.hpp.


Member Data Documentation

template<typename T>
Sacado::Handle<HermiteData> Sacado::PCE::Hermite< T >::th [protected]

Definition at line 262 of file Sacado_PCE_Hermite.hpp.

template<typename T>
Hermite< T >::ws_type Sacado::PCE::Hermite< T >::workspace [static]

Workspace.

Definition at line 270 of file Sacado_PCE_Hermite.hpp.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:59:12 2010 for Sacado Package Browser (Single Doxygen Collection) by  doxygen 1.4.7