Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type > Class Template Reference

Implementation of OneDOrthogPolyBasis via Pecos. More...

#include <Stokhos_PecosOneDOrthogPolyBasis.hpp>

Inheritance diagram for Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >:

Inheritance graph
[legend]
Collaboration diagram for Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PecosOneDOrthogPolyBasis (const Teuchos::RCP< Dakota::OrthogonalPolynomial > &pecosPoly, const std::string &name, ordinal_type p)
 Constructor.
virtual ~PecosOneDOrthogPolyBasis ()
 Destructor.
virtual void evaluateBasesAndDerivatives (const value_type &point, Teuchos::Array< value_type > &vals, Teuchos::Array< value_type > &derivs) const
 Evaluate basis polynomials and their derivatives at given point point.
Implementation of Stokhos::OneDOrthogPolyBasis methods
virtual ordinal_type order () const
 Return order of basis (largest monomial degree $P$).
virtual ordinal_type size () const
 Return total size of basis (given by order() + 1).
virtual const Teuchos::Array<
value_type > & 
norm_squared () const
 Return array storing norm-squared of each basis polynomial.
virtual const value_type & norm_squared (ordinal_type i) const
 Return norm squared of basis polynomial i.
virtual Teuchos::RCP< Stokhos::Dense3Tensor<
ordinal_type, value_type > > 
computeTripleProductTensor () const
 Compute triple product tensor.
virtual Teuchos::RCP< Teuchos::SerialDenseMatrix<
ordinal_type, value_type > > 
computeDerivDoubleProductTensor () const
 Compute derivative double product tensor.
virtual void evaluateBases (const value_type &point, Teuchos::Array< value_type > &basis_pts) const
 Evaluate each basis polynomial at given point point.
virtual value_type evaluate (const value_type &point, ordinal_type order) const
 Evaluate basis polynomial given by order order at given point point.
virtual void print (std::ostream &os) const
 Print basis to stream os.
virtual const std::string & getName () const
 Return string name of basis.
virtual void getQuadPoints (ordinal_type quad_order, Teuchos::Array< value_type > &points, Teuchos::Array< value_type > &weights, Teuchos::Array< Teuchos::Array< value_type > > &values) const
 Compute quadrature points, weights, and values of basis polynomials at given set of points points.
virtual ordinal_type getRule () const
 Get sparse grid rule number as defined by Dakota's webbur package.
virtual value_type getQuadWeightFactor () const
 Get quadrature weight factor as defined by Dakota's webbur package.
virtual value_type getQuadPointFactor () const
 Get quadrature point factor as defined by Dakota's webbur package.

Protected Attributes

Teuchos::RCP< Dakota::OrthogonalPolynomial > pecosPoly
 Pointer to Pecos orthgonal polynomial object.
std::string name
 Name of basis.
ordinal_type p
 Order of basis.
Teuchos::Array< value_type > norms
 Norms.

Detailed Description

template<typename ordinal_type, typename value_type>
class Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >

Implementation of OneDOrthogPolyBasis via Pecos.


Constructor & Destructor Documentation

template<typename ordinal_type, typename value_type>
Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::PecosOneDOrthogPolyBasis ( const Teuchos::RCP< Dakota::OrthogonalPolynomial > &  pecosPoly,
const std::string &  name,
ordinal_type  p 
)

Constructor.

name is the name for the basis that will be displayed when printing the basis and p is the order of the basis.


Member Function Documentation

template<typename ordinal_type, typename value_type>
Teuchos::RCP< Teuchos::SerialDenseMatrix< ordinal_type, value_type > > Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::computeDerivDoubleProductTensor (  )  const [virtual]

Compute derivative double product tensor.

The $(i,j)$ entry of the tensor $B_{ij}$ is given by $B_{ij} = \langle\psi_i'\psi_j\rangle$ where $\psi_l$ represents basis polynomial $l$ and $i,j=0,\dots,P$ where $P$ is the order of the basis.

This method is implemented by computing $B_{ij}$ using Gaussian quadrature.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
Teuchos::RCP< Stokhos::Dense3Tensor< ordinal_type, value_type > > Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::computeTripleProductTensor (  )  const [virtual]

Compute triple product tensor.

The $(i,j,k)$ entry of the tensor $C_{ijk}$ is given by $C_{ijk} = \langle\Psi_i\Psi_j\Psi_k\rangle$ where $\Psi_l$ represents basis polynomial $l$ and $i,j=0,\dots,P$ where $P$ is size()-1 and $k=0,\dots,p$ where $p$ is the supplied order.

This method is implemented by computing $C_{ijk}$ using Gaussian quadrature.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
void Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::evaluateBases ( const value_type &  point,
Teuchos::Array< value_type > &  basis_pts 
) const [virtual]

Evaluate each basis polynomial at given point point.

Size of returned array is given by size(), and coefficients are ordered from order 0 up to order order().

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
virtual value_type Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::getQuadPointFactor (  )  const [inline, virtual]

Get quadrature point factor as defined by Dakota's webbur package.

This method is needed for building Smolyak sparse grids out of this basis.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
void Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::getQuadPoints ( ordinal_type  quad_order,
Teuchos::Array< value_type > &  points,
Teuchos::Array< value_type > &  weights,
Teuchos::Array< Teuchos::Array< value_type > > &  values 
) const [virtual]

Compute quadrature points, weights, and values of basis polynomials at given set of points points.

quad_order specifies the order to which the quadrature should be accurate, not the number of quadrature points. The number of points is given by (quad_order + 1) / 2. Note however the passed arrays do NOT need to be sized correctly on input as they will be resized appropriately.

The quadrature points and weights are computed from the three-term recurrence by solving a tri-diagional symmetric eigenvalue problem (see Gene H. Golub and John H. Welsch, "Calculation of Gauss Quadrature Rules", Mathematics of Computation, Vol. 23, No. 106 (Apr., 1969), pp. 221-230).

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
virtual value_type Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::getQuadWeightFactor (  )  const [inline, virtual]

Get quadrature weight factor as defined by Dakota's webbur package.

This method is needed for building Smolyak sparse grids out of this basis.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
virtual ordinal_type Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::getRule (  )  const [inline, virtual]

Get sparse grid rule number as defined by Dakota's webbur package.

This method is needed for building Smolyak sparse grids out of this basis. A rule number of 10 is not defined by the webbur package, and this rule number is used internally by Stokhos::SparseGridQuadrature to pass an arbitrary one-dimensional basis to that package.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
const Teuchos::Array< value_type > & Stokhos::PecosOneDOrthogPolyBasis< ordinal_type, value_type >::norm_squared (  )  const [virtual]

Return array storing norm-squared of each basis polynomial.

Entry $l$ of returned array is given by $\langle\psi_l^2\rangle$ for $l=0,\dots,P$ where $P$ is given by order().

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.


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