Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Stokhos_MonoProjPCEBasis.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Stokhos Package
4 //
5 // Copyright 2009 NTESS and the Stokhos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef STOKHOS_MONOPROJPCEBASIS_HPP
11 #define STOKHOS_MONOPROJPCEBASIS_HPP
12 
13 #include "Teuchos_RCP.hpp"
14 #include "Teuchos_Array.hpp"
17 
20 #include "Stokhos_Quadrature.hpp"
22 
23 namespace Stokhos {
24 
29  template <typename ordinal_type, typename value_type>
31  public RecurrenceBasis<ordinal_type, value_type> {
32  public:
33 
35 
45  bool limit_integration_order = false);
46 
49 
51 
52 
54  virtual void
55  getQuadPoints(ordinal_type quad_order,
59 
71 
73 
76 
78  void transformCoeffs(const value_type *in, value_type *out) const;
79 
80  protected:
81 
83 
84 
86  virtual bool
92 
94 
95  private:
96 
97  // Prohibit copying
99 
100  // Prohibit Assignment
102 
105 
106  protected:
107 
110 
113 
116 
119 
122 
125 
128 
131 
132  }; // class MonoProjPCEBasis
133 
134 } // Namespace Stokhos
135 
136 // Include template definitions
138 
139 #endif
Teuchos::Array< value_type > delta
Recurrence coefficients.
value_type getNewCoeffs(ordinal_type i) const
Get new coefficients in this new basis.
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion i...
Implementation of OneDOrthogPolyBasis based on the general three-term recurrence relationship: for ...
Data structure storing a sparse 3-tensor C(i,j,k) in a a compressed format.
bool limit_integration_order
Flag indicating whether to limit the integration order.
Teuchos::Array< value_type > beta
Recurrence coefficients.
Teuchos::Array< value_type > alpha
Recurrence coefficients.
matrix_type basis_vecs
Basis vectors.
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.
MonoProjPCEBasis & operator=(const MonoProjPCEBasis &b)
Teuchos::SerialDenseVector< ordinal_type, value_type > vector_type
Abstract base class for quadrature methods.
void transformCoeffs(const value_type *in, value_type *out) const
Map expansion coefficients from this basis to original.
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::SerialDenseMatrix< ordinal_type, value_type > matrix_type
ordinal_type pce_sz
Size of PC expansion.
Teuchos::Array< value_type > b
Stores full set of beta coefficients.
Teuchos::Array< value_type > a
Stores full set of alpha coefficients.
ordinal_type p
Order of basis.
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 > gamma
Recurrence coefficients.
vector_type new_pce
Projection of pce in new basis.
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.
int n