Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
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_typetensor () const
 
KOKKOS_INLINE_FUNCTION size_type dimension () const
 Dimension: number of bases and length of the vector block (and tensor).
 
KOKKOS_INLINE_FUNCTION size_type aligned_dimension () const
 Aligned dimension: length of the vector block properly aligned.
 
KOKKOS_INLINE_FUNCTION size_type variable_count () const
 How many variables are being expanded.
 
template<typename iType >
KOKKOS_INLINE_FUNCTION size_type variable_degree (const iType &iVariable) const
 Polynomial degree of a given variable.
 
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'.
 
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_spacem_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: \prod_{j=0}^{N-1} P_k(x) \forall j and k \in 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 \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: \psi_I(x) = is one basis function and I is a multi-index of rank N, denoting one function from each variable's polynomial bases.

Were: <\psi_I,\psi_J,\psi_K> is the integral on [-1,1]

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

Definition at line 78 of file Stokhos_StochasticProductTensor.hpp.

Member Typedef Documentation

◆ execution_space

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

Definition at line 81 of file Stokhos_StochasticProductTensor.hpp.

◆ value_type

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

Definition at line 82 of file Stokhos_StochasticProductTensor.hpp.

◆ tensor_type

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

Definition at line 83 of file Stokhos_StochasticProductTensor.hpp.

◆ size_type

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

Definition at line 84 of file Stokhos_StochasticProductTensor.hpp.

Constructor & Destructor Documentation

◆ ~StochasticProductTensor()

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

Definition at line 95 of file Stokhos_StochasticProductTensor.hpp.

◆ StochasticProductTensor() [1/2]

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

Definition at line 98 of file Stokhos_StochasticProductTensor.hpp.

◆ StochasticProductTensor() [2/2]

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

Definition at line 105 of file Stokhos_StochasticProductTensor.hpp.

Member Function Documentation

◆ operator=()

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

Definition at line 112 of file Stokhos_StochasticProductTensor.hpp.

◆ tensor()

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

Definition at line 121 of file Stokhos_StochasticProductTensor.hpp.

◆ dimension()

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 127 of file Stokhos_StochasticProductTensor.hpp.

◆ aligned_dimension()

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 132 of file Stokhos_StochasticProductTensor.hpp.

◆ variable_count()

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 146 of file Stokhos_StochasticProductTensor.hpp.

◆ variable_degree()

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 151 of file Stokhos_StochasticProductTensor.hpp.

◆ bases_degree()

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 160 of file Stokhos_StochasticProductTensor.hpp.

◆ print()

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

Definition at line 163 of file Stokhos_StochasticProductTensor.hpp.

◆ create()

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 176 of file Stokhos_StochasticProductTensor.hpp.

Member Data Documentation

◆ m_tensor

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

Definition at line 88 of file Stokhos_StochasticProductTensor.hpp.

◆ m_degree_map

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 89 of file Stokhos_StochasticProductTensor.hpp.

◆ m_variable

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

Definition at line 90 of file Stokhos_StochasticProductTensor.hpp.


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