Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Stokhos::StochasticProductTensor< ValueType, TensorType, Device > Class Template Reference

Bases defined by combinatorial product of polynomial bases. More...

#include <Stokhos_StochasticProductTensor.hpp>

Public Types

typedef Device execution_space
 
typedef ValueType value_type
 
typedef TensorType tensor_type
 
typedef tensor_type::size_type size_type
 

Public Member Functions

 ~StochasticProductTensor ()
 
 StochasticProductTensor ()
 
 StochasticProductTensor (const StochasticProductTensor &rhs)
 
StochasticProductTensoroperator= (const StochasticProductTensor &rhs)
 
KOKKOS_INLINE_FUNCTION const
tensor_type
tensor () const
 
KOKKOS_INLINE_FUNCTION size_type dimension () const
 Dimension: number of bases and length of the vector block (and tensor). More...
 
KOKKOS_INLINE_FUNCTION size_type aligned_dimension () const
 Aligned dimension: length of the vector block properly aligned. More...
 
KOKKOS_INLINE_FUNCTION size_type variable_count () const
 How many variables are being expanded. More...
 
template<typename iType >
KOKKOS_INLINE_FUNCTION size_type variable_degree (const iType &iVariable) const
 Polynomial degree of a given variable. More...
 
template<typename iType , typename jType >
KOKKOS_INLINE_FUNCTION size_type bases_degree (const iType &iBasis, const jType &iVariable) const
 Basis function 'iBasis' is the product of 'variable_count()' polynomials. Return the polynomial degree of component 'iVariable'. More...
 
void print (std::ostream &s) const
 

Static Public Member Functions

template<typename OrdinalType , typename CijkType >
static StochasticProductTensor create (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const CijkType &Cijk, const Teuchos::ParameterList &params=Teuchos::ParameterList())
 

Private Attributes

tensor_type m_tensor
 
Kokkos::View< size_type
**, execution_space
m_degree_map
 
size_type m_variable
 

Detailed Description

template<typename ValueType, typename TensorType, class Device>
class Stokhos::StochasticProductTensor< ValueType, TensorType, Device >

Bases defined by combinatorial product of polynomial bases.

Bases: {j=0}^{N-1} P_k(x) j and k M(j) Where: P_k is a polynomial of degree k Where: <P_a,P_b> is the the integral on [-1,1] Where: <P_a,P_b> is the Kronecker delta {a,b} thus the polynomials are normalized with respect to this inner product.

Where: N = the number of variables expanded via polynomial bases Where: M(j) = the degree of a particular variable

Where: (x) = is one basis function and I is a multi-index of rank N, denoting one function from each variable's polynomial bases.

Were: <,,> is the integral on [-1,1]

The bases space is sparse due to orthogonality within the expansion.

Definition at line 46 of file Stokhos_StochasticProductTensor.hpp.

Member Typedef Documentation

template<typename ValueType , typename TensorType , class Device >
typedef Device Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::execution_space

Definition at line 49 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
typedef ValueType Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::value_type

Definition at line 50 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
typedef TensorType Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::tensor_type

Definition at line 51 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
typedef tensor_type::size_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::size_type

Definition at line 52 of file Stokhos_StochasticProductTensor.hpp.

Constructor & Destructor Documentation

template<typename ValueType , typename TensorType , class Device >
Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::~StochasticProductTensor ( )
inline

Definition at line 63 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::StochasticProductTensor ( )
inline

Definition at line 66 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::StochasticProductTensor ( const StochasticProductTensor< ValueType, TensorType, Device > &  rhs)
inline

Definition at line 73 of file Stokhos_StochasticProductTensor.hpp.

Member Function Documentation

template<typename ValueType , typename TensorType , class Device >
StochasticProductTensor& Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::operator= ( const StochasticProductTensor< ValueType, TensorType, Device > &  rhs)
inline

Definition at line 80 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
KOKKOS_INLINE_FUNCTION const tensor_type& Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::tensor ( ) const
inline

Definition at line 89 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
KOKKOS_INLINE_FUNCTION size_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::dimension ( ) const
inline

Dimension: number of bases and length of the vector block (and tensor).

Definition at line 95 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
KOKKOS_INLINE_FUNCTION size_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::aligned_dimension ( ) const
inline

Aligned dimension: length of the vector block properly aligned.

Definition at line 100 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
KOKKOS_INLINE_FUNCTION size_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::variable_count ( ) const
inline

How many variables are being expanded.

Definition at line 114 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
template<typename iType >
KOKKOS_INLINE_FUNCTION size_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::variable_degree ( const iType &  iVariable) const
inline

Polynomial degree of a given variable.

Definition at line 119 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
template<typename iType , typename jType >
KOKKOS_INLINE_FUNCTION size_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::bases_degree ( const iType &  iBasis,
const jType &  iVariable 
) const
inline

Basis function 'iBasis' is the product of 'variable_count()' polynomials. Return the polynomial degree of component 'iVariable'.

Definition at line 128 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
void Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::print ( std::ostream &  s) const
inline

Definition at line 131 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
template<typename OrdinalType , typename CijkType >
static StochasticProductTensor Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::create ( const Stokhos::ProductBasis< OrdinalType, ValueType > &  basis,
const CijkType &  Cijk,
const Teuchos::ParameterList params = Teuchos::ParameterList() 
)
inlinestatic

Definition at line 144 of file Stokhos_StochasticProductTensor.hpp.

Member Data Documentation

template<typename ValueType , typename TensorType , class Device >
tensor_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::m_tensor
private

Definition at line 56 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
Kokkos::View< size_type** , execution_space > Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::m_degree_map
private

Definition at line 57 of file Stokhos_StochasticProductTensor.hpp.

template<typename ValueType , typename TensorType , class Device >
size_type Stokhos::StochasticProductTensor< ValueType, TensorType, Device >::m_variable
private

Definition at line 58 of file Stokhos_StochasticProductTensor.hpp.


The documentation for this class was generated from the following file: