Stokhos
Development
|
Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions. More...
#include <Stokhos_ProductLanczosPCEBasis.hpp>
Public Member Functions | |
ProductLanczosPCEBasis (ordinal_type p, const Teuchos::Array< Stokhos::OrthogPolyApprox< ordinal_type, value_type > > &pce, const Teuchos::RCP< const Stokhos::Quadrature< ordinal_type, value_type > > &quad, const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > &Cijk, const Teuchos::ParameterList ¶ms=Teuchos::ParameterList()) | |
Constructor. More... | |
virtual | ~ProductLanczosPCEBasis () |
Destructor. | |
Implementation of Stokhos::OrthogPolyBasis methods | |
ordinal_type | order () const |
Return order of basis. | |
ordinal_type | dimension () const |
Return dimension of basis. | |
virtual ordinal_type | size () const |
Return total size of basis. | |
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 . | |
virtual Teuchos::RCP < Stokhos::Sparse3Tensor < ordinal_type, value_type > > | computeTripleProductTensor () const |
Compute triple product tensor. More... | |
virtual Teuchos::RCP < Stokhos::Sparse3Tensor < ordinal_type, value_type > > | computeLinearTripleProductTensor () const |
Compute linear triple product tensor where k = 0,1,..,d. | |
virtual value_type | evaluateZero (ordinal_type i) const |
Evaluate basis polynomial i at zero. | |
virtual void | evaluateBases (const Teuchos::ArrayView< const value_type > &point, Teuchos::Array< value_type > &basis_vals) const |
Evaluate basis polynomials at given point point . More... | |
virtual void | print (std::ostream &os) const |
Print basis to stream os . | |
virtual const std::string & | getName () const |
Return string name of basis. | |
Implementation of Stokhos::ProductBasis methods | |
virtual const MultiIndex < ordinal_type > & | term (ordinal_type i) const |
Get orders of each coordinate polynomial given an index i . More... | |
virtual ordinal_type | index (const MultiIndex< ordinal_type > &term) const |
Get index of the multivariate polynomial given orders of each coordinate. More... | |
Teuchos::Array< Teuchos::RCP < const OneDOrthogPolyBasis < ordinal_type, value_type > > > | getCoordinateBases () const |
Return coordinate bases. More... | |
virtual MultiIndex< ordinal_type > | getMaxOrders () const |
Return maximum order allowable for each coordinate basis. | |
Implementation of Stokhos::ReducedPCEBasis methods | |
virtual void | transformToOriginalBasis (const value_type *in, value_type *out, ordinal_type ncol=1, bool transpose=false) const |
Transform coefficients to original basis from this basis. | |
virtual void | transformFromOriginalBasis (const value_type *in, value_type *out, ordinal_type ncol=1, bool transpose=false) const |
Transform coefficients from original basis to this basis. | |
virtual Teuchos::RCP< const Stokhos::Quadrature < ordinal_type, value_type > > | getReducedQuadrature () const |
Get reduced quadrature object. | |
Public Member Functions inherited from Stokhos::ProductBasis< ordinal_type, value_type > | |
ProductBasis () | |
Constructor. | |
virtual | ~ProductBasis () |
Destructor. | |
Public Member Functions inherited from Stokhos::OrthogPolyBasis< ordinal_type, value_type > | |
OrthogPolyBasis () | |
Constructor. | |
virtual | ~OrthogPolyBasis () |
Destructor. | |
Public Member Functions inherited from Stokhos::ReducedPCEBasis< ordinal_type, value_type > | |
ReducedPCEBasis () | |
Default constructor. | |
virtual | ~ReducedPCEBasis () |
Destructor. | |
Protected Types | |
typedef Teuchos::SerialDenseVector < ordinal_type, value_type > | SDV |
typedef Teuchos::SerialDenseMatrix < ordinal_type, value_type > | SDM |
Protected Member Functions | |
ordinal_type | isInvariant (const Stokhos::OrthogPolyApprox< ordinal_type, value_type > &pce) const |
Protected Attributes | |
std::string | name |
Name of basis. | |
Teuchos::ParameterList | params |
Algorithm parameters. | |
Teuchos::RCP < Stokhos::CompletePolynomialBasis < ordinal_type, value_type > > | tensor_lanczos_basis |
Product Lanczos basis. | |
SDM | Phi |
Values of transformed basis at quadrature points. | |
SDM | A |
Transition matrix from reduced basis to original. | |
SDM | Ainv |
Projection matrix from original matrix to reduced. | |
Teuchos::RCP< const Stokhos::Quadrature < ordinal_type, value_type > > | reduced_quad |
Reduced quadrature object. | |
Stokhos::OrthogPolyApprox < ordinal_type, value_type > | tmp_pce |
Temporary pce used in invariant subspace calculations. | |
Generate a basis from a given set of PCE expansions that is orthogonal with respect to the product measure induced by these expansions.
Given the PCE expansions, first build a an orthogonal basis for each compnent, then form the multivariate basis by a total-order tensor product. The resulting basis is not necessarily orthogonal with respect to the full measure.
Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::ProductLanczosPCEBasis | ( | ordinal_type | p, |
const Teuchos::Array< Stokhos::OrthogPolyApprox< ordinal_type, value_type > > & | pce, | ||
const Teuchos::RCP< const Stokhos::Quadrature< ordinal_type, value_type > > & | quad, | ||
const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > & | Cijk, | ||
const Teuchos::ParameterList & | params = Teuchos::ParameterList() |
||
) |
Constructor.
p | order of the basis |
pce | polynomial chaos expansions defining new measure |
Cijk | sparse triple product tensor for basis defining pce |
References Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::A, Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::Ainv, Stokhos::QuadratureFactory< ordinal_type, value_type >::create(), Stokhos::ProductBasis< ordinal_type, value_type >::getCoordinateBases(), Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::params, Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::Phi, Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::reduced_quad, and Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::tensor_lanczos_basis.
|
virtual |
Compute triple product tensor.
The entry of the tensor is given by where represents basis polynomial and where is size()-1.
Implements Stokhos::OrthogPolyBasis< ordinal_type, value_type >.
|
virtual |
Evaluate basis polynomials at given point point
.
Size of returned array is given by size(), and coefficients are ordered from order 0 up to size size()-1.
Implements Stokhos::OrthogPolyBasis< ordinal_type, value_type >.
|
virtual |
Return coordinate bases.
Array is of size dimension().
Implements Stokhos::ProductBasis< ordinal_type, value_type >.
|
virtual |
Get index of the multivariate polynomial given orders of each coordinate.
Given the array term
storing , returns the index such that .
Implements Stokhos::ProductBasis< ordinal_type, value_type >.
|
virtual |
Return array storing norm-squared of each basis polynomial.
Entry of returned array is given by for where is size()-1.
Implements Stokhos::OrthogPolyBasis< ordinal_type, value_type >.
|
virtual |
Get orders of each coordinate polynomial given an index i
.
The returned array is of size , where is the dimension of the basis, and entry is given by where .
Implements Stokhos::ProductBasis< ordinal_type, value_type >.