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. | |
| 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. | |
| 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 (ordinal_type order) const |
| Compute triple product tensor. | |
| virtual value_type | evaluateZero (ordinal_type i) const |
Evaluate basis polynomial i at zero. | |
| virtual void | evaluateBases (const Teuchos::Array< value_type > &point, Teuchos::Array< value_type > &basis_vals) const |
Evaluate basis polynomials at given point point. | |
| 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 Teuchos::Array < ordinal_type > | getTerm (ordinal_type i) const |
Get orders of each coordinate polynomial given an index i. | |
| virtual ordinal_type | getIndex (const Teuchos::Array< ordinal_type > &term) const |
| Get index of the multivariate polynomial given orders of each coordinate. | |
| Teuchos::Array< Teuchos::RCP < const OneDOrthogPolyBasis < ordinal_type, value_type > > > | getCoordinateBases () const |
| Return coordinate bases. | |
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. | |
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 |
| Teuchos::RCP< Stokhos::Sparse3Tensor< ordinal_type, value_type > > Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::computeTripleProductTensor | ( | ordinal_type | order | ) | const [virtual] |
Compute triple product tensor.
The
entry of the tensor
is given by
where
represents basis polynomial
and
where
is size()-1 and
where
is the supplied order.
Implements Stokhos::OrthogPolyBasis< ordinal_type, value_type >.
| void Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::evaluateBases | ( | const Teuchos::Array< value_type > & | point, |
| Teuchos::Array< value_type > & | basis_vals | ||
| ) | const [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 >.
| Teuchos::Array< Teuchos::RCP< const Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > > > Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::getCoordinateBases | ( | ) | const [virtual] |
Return coordinate bases.
Array is of size dimension().
Implements Stokhos::ProductBasis< ordinal_type, value_type >.
| ordinal_type Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::getIndex | ( | const Teuchos::Array< ordinal_type > & | term | ) | const [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 >.
| Teuchos::Array< ordinal_type > Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::getTerm | ( | ordinal_type | i | ) | const [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 >.
| const Teuchos::Array< value_type > & Stokhos::ProductLanczosPCEBasis< ordinal_type, value_type >::norm_squared | ( | ) | const [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 >.
1.7.6.1