Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Stokhos_HouseTriDiagPCEBasis.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_HOUSETRIDIAGPCEBASIS_HPP
11 #define STOKHOS_HOUSETRIDIAGPCEBASIS_HPP
12 
13 #include "Teuchos_RCP.hpp"
14 #include "Teuchos_Array.hpp"
17 #include "Teuchos_LAPACK.hpp"
18 
23 
24 namespace Stokhos {
25 
30  template <typename ordinal_type, typename value_type>
32  public RecurrenceBasis<ordinal_type, value_type> {
33  public:
34 
36 
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 transformCoeffsFromHouse(const value_type *in,
79  value_type *out) const;
80 
81  protected:
82 
84 
85 
87  virtual bool
93 
95 
96  private:
97 
98  // Prohibit copying
100 
101  // Prohibit Assignment
103 
106 
107  protected:
108 
111 
114 
117 
120 
123 
126 
129 
132 
135 
138 
139  }; // class HouseTriDiagPCEBasis
140 
141 } // Namespace Stokhos
142 
143 // Include template definitions
145 
146 #endif
Teuchos::Array< value_type > delta
Recurrence coefficients.
ordinal_type pce_sz
Size of PC expansion.
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.
value_type getNewCoeffs(ordinal_type i) const
Get new coefficients in this new basis.
Teuchos::Array< value_type > beta
Recurrence coefficients.
Teuchos::Array< value_type > alpha
Recurrence coefficients.
Teuchos::Array< value_type > pce_norms
Basis norms.
HouseTriDiagPCEBasis(ordinal_type p, const Stokhos::OrthogPolyApprox< ordinal_type, value_type > &pce, const Stokhos::Sparse3Tensor< ordinal_type, value_type > &Cijk, bool limit_integration_order=false)
Constructor.
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.
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.
vector_type new_pce
Projection of pce in new basis.
HouseTriDiagPCEBasis & operator=(const HouseTriDiagPCEBasis &b)
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.
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion i...
Teuchos::LAPACK< ordinal_type, value_type > lapack
LAPACK routines.
Teuchos::SerialDenseVector< ordinal_type, value_type > vector_type
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.
void transformCoeffsFromHouse(const value_type *in, value_type *out) const
Map expansion coefficients from this basis to original.
Teuchos::BLAS< ordinal_type, value_type > blas
BLAS routines.
Teuchos::Array< value_type > gamma
Recurrence coefficients.
Teuchos::SerialDenseMatrix< ordinal_type, value_type > matrix_type
int n