42#ifndef STOKHOS_HOUSETRIDIAGPCEBASIS_HPP
43#define STOKHOS_HOUSETRIDIAGPCEBASIS_HPP
45#include "Teuchos_RCP.hpp"
46#include "Teuchos_Array.hpp"
47#include "Teuchos_SerialDenseVector.hpp"
48#include "Teuchos_SerialDenseMatrix.hpp"
49#include "Teuchos_LAPACK.hpp"
62 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;
111 value_type *out)
const;
121 Teuchos::Array<value_type>&
alpha,
122 Teuchos::Array<value_type>&
beta,
123 Teuchos::Array<value_type>&
delta,
124 Teuchos::Array<value_type>&
gamma)
const;
141 typedef Teuchos::SerialDenseMatrix<ordinal_type,value_type>
matrix_type;
142 typedef Teuchos::SerialDenseVector<ordinal_type,value_type>
vector_type;
148 Teuchos::BLAS<ordinal_type,value_type>
blas;
160 Teuchos::Array<value_type>
a;
163 Teuchos::Array<value_type>
b;
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion i...
HouseTriDiagPCEBasis(const HouseTriDiagPCEBasis &)
Teuchos::SerialDenseVector< ordinal_type, value_type > vector_type
Teuchos::Array< value_type > b
Stores full set of beta coefficients.
value_type getNewCoeffs(ordinal_type i) const
Get new coefficients in this new basis.
Teuchos::Array< value_type > a
Stores full set of alpha coefficients.
~HouseTriDiagPCEBasis()
Destructor.
bool limit_integration_order
Flag indicating whether to limit the integration order.
vector_type new_pce
Projection of pce in new basis.
ordinal_type pce_sz
Size of PC expansion.
Teuchos::Array< value_type > pce_norms
Basis norms.
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::BLAS< ordinal_type, value_type > blas
BLAS routines.
Teuchos::LAPACK< ordinal_type, value_type > lapack
LAPACK routines.
HouseTriDiagPCEBasis & operator=(const HouseTriDiagPCEBasis &b)
Teuchos::SerialDenseMatrix< ordinal_type, value_type > matrix_type
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.
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.
void transformCoeffsFromHouse(const value_type *in, value_type *out) const
Map expansion coefficients from this basis to original.
matrix_type basis_vecs
Basis vectors.
Class to store coefficients of a projection onto an orthogonal polynomial basis.
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.
Specialization for Sacado::UQ::PCE< Storage<...> >
Top-level namespace for Stokhos classes and functions.