42#ifndef STOKHOS_MONOPROJPCEBASIS_HPP
43#define STOKHOS_MONOPROJPCEBASIS_HPP
45#include "Teuchos_RCP.hpp"
46#include "Teuchos_Array.hpp"
47#include "Teuchos_SerialDenseMatrix.hpp"
48#include "Teuchos_SerialDenseVector.hpp"
61 template <
typename ordinal_type,
typename value_type>
88 Teuchos::Array<value_type>& points,
89 Teuchos::Array<value_type>& weights,
90 Teuchos::Array< Teuchos::Array<value_type> >& values)
const;
102 virtual Teuchos::RCP<OneDOrthogPolyBasis<ordinal_type,value_type> >
cloneWithOrder(ordinal_type
p)
const;
120 Teuchos::Array<value_type>&
alpha,
121 Teuchos::Array<value_type>&
beta,
122 Teuchos::Array<value_type>&
delta,
123 Teuchos::Array<value_type>&
gamma)
const;
140 typedef Teuchos::SerialDenseMatrix<ordinal_type,value_type>
matrix_type;
141 typedef Teuchos::SerialDenseVector<ordinal_type,value_type>
vector_type;
153 Teuchos::Array<value_type>
a;
156 Teuchos::Array<value_type>
b;
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion i...
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
Get Gauss quadrature points, weights, and values of basis at points.
Teuchos::SerialDenseVector< ordinal_type, value_type > vector_type
vector_type new_pce
Projection of pce in new basis.
virtual Teuchos::RCP< OneDOrthogPolyBasis< ordinal_type, value_type > > cloneWithOrder(ordinal_type p) const
Clone this object with the option of building a higher order basis.
Teuchos::SerialDenseMatrix< ordinal_type, value_type > matrix_type
bool limit_integration_order
Flag indicating whether to limit the integration order.
Teuchos::Array< value_type > a
Stores full set of alpha coefficients.
matrix_type basis_vecs
Basis vectors.
MonoProjPCEBasis(ordinal_type p, const Stokhos::OrthogPolyApprox< ordinal_type, value_type > &pce, const Stokhos::Quadrature< ordinal_type, value_type > &quad, const Stokhos::Sparse3Tensor< ordinal_type, value_type > &Cijk, bool limit_integration_order=false)
Constructor.
Teuchos::Array< value_type > pce_norms
Basis norms.
virtual bool computeRecurrenceCoefficients(ordinal_type n, Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta, Teuchos::Array< value_type > &gamma) const
Compute recurrence coefficients.
Teuchos::Array< value_type > b
Stores full set of beta coefficients.
MonoProjPCEBasis(const MonoProjPCEBasis &)
ordinal_type pce_sz
Size of PC expansion.
MonoProjPCEBasis & operator=(const MonoProjPCEBasis &b)
~MonoProjPCEBasis()
Destructor.
void transformCoeffs(const value_type *in, value_type *out) const
Map expansion coefficients from this basis to original.
value_type getNewCoeffs(ordinal_type i) const
Get new coefficients in this new basis.
Class to store coefficients of a projection onto an orthogonal polynomial basis.
Abstract base class for quadrature methods.
Implementation of OneDOrthogPolyBasis based on the general three-term recurrence relationship:
Teuchos::Array< value_type > alpha
Recurrence coefficients.
Teuchos::Array< value_type > beta
Recurrence coefficients.
ordinal_type p
Order of basis.
Teuchos::Array< value_type > gamma
Recurrence coefficients.
Teuchos::Array< value_type > delta
Recurrence coefficients.
Data structure storing a sparse 3-tensor C(i,j,k) in a a compressed format.
Top-level namespace for Stokhos classes and functions.