Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
|
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More...
#include <Stokhos_HouseTriDiagPCEBasis.hpp>
Public Member Functions | |
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. More... | |
~HouseTriDiagPCEBasis () | |
Destructor. More... | |
value_type | getNewCoeffs (ordinal_type i) const |
Get new coefficients in this new basis. More... | |
void | transformCoeffsFromHouse (const value_type *in, value_type *out) const |
Map expansion coefficients from this basis to original. More... | |
Public Member Functions inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
virtual | ~RecurrenceBasis () |
Destructor. More... | |
virtual void | getRecurrenceCoefficients (Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta, Teuchos::Array< value_type > &gamma) const |
Return recurrence coefficients defined by above formula. More... | |
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 . More... | |
virtual void | setQuadZeroTol (value_type tol) |
Set tolerance for zero in quad point generation. More... | |
virtual ordinal_type | order () const |
Return order of basis (largest monomial degree ). More... | |
virtual ordinal_type | size () const |
Return total size of basis (given by order() + 1). More... | |
virtual const Teuchos::Array < value_type > & | norm_squared () const |
Return array storing norm-squared of each basis polynomial. More... | |
virtual const value_type & | norm_squared (ordinal_type i) const |
Return norm squared of basis polynomial i . More... | |
virtual Teuchos::RCP < Stokhos::Dense3Tensor < ordinal_type, value_type > > | computeTripleProductTensor () const |
Compute triple product tensor. More... | |
virtual Teuchos::RCP < Stokhos::Sparse3Tensor < ordinal_type, value_type > > | computeSparseTripleProductTensor (ordinal_type order) const |
Compute triple product tensor. More... | |
virtual Teuchos::RCP < Teuchos::SerialDenseMatrix < ordinal_type, value_type > > | computeDerivDoubleProductTensor () const |
Compute derivative double product tensor. More... | |
virtual void | evaluateBases (const value_type &point, Teuchos::Array< value_type > &basis_pts) const |
Evaluate each basis polynomial at given point point . More... | |
virtual value_type | evaluate (const value_type &point, ordinal_type order) const |
Evaluate basis polynomial given by order order at given point point . More... | |
virtual void | print (std::ostream &os) const |
Print basis to stream os . More... | |
virtual const std::string & | getName () const |
Return string name of basis. More... | |
virtual ordinal_type | quadDegreeOfExactness (ordinal_type n) const |
virtual ordinal_type | coefficientGrowth (ordinal_type n) const |
Evaluate coefficient growth rule for Smolyak-type bases. More... | |
virtual ordinal_type | pointGrowth (ordinal_type n) const |
Evaluate point growth rule for Smolyak-type bases. More... | |
virtual LevelToOrderFnPtr | getSparseGridGrowthRule () const |
Get sparse grid level_to_order mapping function. More... | |
virtual void | setSparseGridGrowthRule (LevelToOrderFnPtr ptr) |
Set sparse grid rule. More... | |
Public Member Functions inherited from Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > | |
OneDOrthogPolyBasis () | |
Default constructor. More... | |
virtual | ~OneDOrthogPolyBasis () |
Destructor. More... | |
virtual void | setSparseGridGrowthRule (LevelToOrderFnPtr ptr)=0 |
Set sparse grid rule. More... | |
Protected Types | |
typedef Teuchos::SerialDenseMatrix < ordinal_type, value_type > | matrix_type |
typedef Teuchos::SerialDenseVector < ordinal_type, value_type > | vector_type |
Protected Attributes | |
Teuchos::LAPACK< ordinal_type, value_type > | lapack |
LAPACK routines. More... | |
Teuchos::BLAS< ordinal_type, value_type > | blas |
BLAS routines. More... | |
bool | limit_integration_order |
Flag indicating whether to limit the integration order. More... | |
ordinal_type | pce_sz |
Size of PC expansion. More... | |
Teuchos::Array< value_type > | pce_norms |
Basis norms. More... | |
Teuchos::Array< value_type > | a |
Stores full set of alpha coefficients. More... | |
Teuchos::Array< value_type > | b |
Stores full set of beta coefficients. More... | |
matrix_type | basis_vecs |
Basis vectors. More... | |
vector_type | new_pce |
Projection of pce in new basis. More... | |
Protected Attributes inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
std::string | name |
Name of basis. More... | |
ordinal_type | p |
Order of basis. More... | |
bool | normalize |
Normalize basis. More... | |
GrowthPolicy | growth |
Smolyak growth policy. More... | |
value_type | quad_zero_tol |
Tolerance for quadrature points near zero. More... | |
LevelToOrderFnPtr | sparse_grid_growth_rule |
Sparse grid growth rule (as determined by Pecos) More... | |
Teuchos::Array< value_type > | alpha |
Recurrence coefficients. More... | |
Teuchos::Array< value_type > | beta |
Recurrence coefficients. More... | |
Teuchos::Array< value_type > | delta |
Recurrence coefficients. More... | |
Teuchos::Array< value_type > | gamma |
Recurrence coefficients. More... | |
Teuchos::Array< value_type > | norms |
Norms. More... | |
Private Member Functions | |
HouseTriDiagPCEBasis (const HouseTriDiagPCEBasis &) | |
HouseTriDiagPCEBasis & | operator= (const HouseTriDiagPCEBasis &b) |
HouseTriDiagPCEBasis (ordinal_type p, const HouseTriDiagPCEBasis &basis) | |
Copy constructor with specified order. More... | |
Implementation of Stokhos::OneDOrthogPolyBasis methods | |
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. More... | |
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. More... | |
Implementation of Stokhos::RecurrenceBasis methods | |
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. More... | |
Additional Inherited Members | |
Public Types inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
typedef OneDOrthogPolyBasis < ordinal_type, value_type > ::LevelToOrderFnPtr | LevelToOrderFnPtr |
Function pointer needed for level_to_order mappings. More... | |
Public Types inherited from Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > | |
typedef int(* | LevelToOrderFnPtr )(int level, int growth) |
Function pointer needed for level_to_order mappings. More... | |
Protected Member Functions inherited from Stokhos::RecurrenceBasis< ordinal_type, value_type > | |
RecurrenceBasis (const std::string &name, ordinal_type p, bool normalize, GrowthPolicy growth=SLOW_GROWTH) | |
Constructor to be called by derived classes. More... | |
RecurrenceBasis (ordinal_type p, const RecurrenceBasis &basis) | |
Copy constructor with specified order. More... | |
virtual void | setup () |
Setup basis after computing recurrence coefficients. More... | |
void | normalizeRecurrenceCoefficients (Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta, Teuchos::Array< value_type > &gamma) const |
Normalize coefficients. More... | |
Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis.
Definition at line 31 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Definition at line 109 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Definition at line 110 of file Stokhos_HouseTriDiagPCEBasis.hpp.
Stokhos::HouseTriDiagPCEBasis< ordinal_type, value_type >::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.
p | order of the basis |
pce | polynomial chaos expansion defining new density function |
quad | quadrature data for basis of PC expansion |
Definition at line 16 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
Stokhos::HouseTriDiagPCEBasis< ordinal_type, value_type >::~HouseTriDiagPCEBasis | ( | ) |
Destructor.
Definition at line 119 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
|
private |
|
private |
Copy constructor with specified order.
Definition at line 218 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
|
virtual |
Get Gauss quadrature points, weights, and values of basis at points.
Reimplemented from Stokhos::RecurrenceBasis< ordinal_type, value_type >.
Definition at line 126 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
|
virtual |
Clone this object with the option of building a higher order basis.
This method is following the Prototype pattern (see Design Pattern's textbook). The slight variation is that it allows the order of the polynomial to be modified, otherwise an exact copy is formed. The use case for this is creating basis functions for column indices in a spatially varying adaptive refinement context.
Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.
Definition at line 166 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
value_type Stokhos::HouseTriDiagPCEBasis< ordinal_type, value_type >::getNewCoeffs | ( | ordinal_type | i | ) | const |
Get new coefficients in this new basis.
Definition at line 176 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
void Stokhos::HouseTriDiagPCEBasis< ordinal_type, value_type >::transformCoeffsFromHouse | ( | const value_type * | in, |
value_type * | out | ||
) | const |
Map expansion coefficients from this basis to original.
Definition at line 184 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
|
protectedvirtual |
Compute recurrence coefficients.
Implements Stokhos::RecurrenceBasis< ordinal_type, value_type >.
Definition at line 196 of file Stokhos_HouseTriDiagPCEBasisImp.hpp.
|
private |
|
protected |
LAPACK routines.
Definition at line 113 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
BLAS routines.
Definition at line 116 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Flag indicating whether to limit the integration order.
Definition at line 119 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Size of PC expansion.
Definition at line 122 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Basis norms.
Definition at line 125 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Stores full set of alpha coefficients.
Definition at line 128 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Stores full set of beta coefficients.
Definition at line 131 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Basis vectors.
Definition at line 134 of file Stokhos_HouseTriDiagPCEBasis.hpp.
|
protected |
Projection of pce in new basis.
Definition at line 137 of file Stokhos_HouseTriDiagPCEBasis.hpp.