Stokhos Development
Loading...
Searching...
No Matches
Public Member Functions | Protected Types | Protected Attributes | List of all members
Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type > Class Template Reference

Base class for consolidating common expansion implementations. More...

#include <Stokhos_OrthogPolyExpansionBase.hpp>

Inheritance diagram for Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >:
Inheritance graph
[legend]
Collaboration diagram for Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >:
Collaboration graph
[legend]

Public Member Functions

 OrthogPolyExpansionBase (const Teuchos::RCP< const OrthogPolyBasis< ordinal_type, value_type > > &basis, const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > &Cijk, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor.
 
virtual ~OrthogPolyExpansionBase ()
 Destructor.
 
ordinal_type size () const
 Get expansion size.
 
Teuchos::RCP< const OrthogPolyBasis< ordinal_type, value_type > > getBasis () const
 Get basis.
 
virtual Teuchos::RCP< const Sparse3Tensor< ordinal_type, value_type > > getTripleProduct () const
 Get triple product.
 
void unaryMinus (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
 
void plusEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
 
void minusEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
 
void timesEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
 
void divideEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
 
void plusEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &x)
 
void minusEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &x)
 
void timesEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &x)
 
void divideEqual (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &x)
 
void plus (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void plus (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void plus (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const value_type &b)
 
void minus (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void minus (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void minus (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const value_type &b)
 
void times (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void times (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void times (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const value_type &b)
 
void divide (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void divide (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void divide (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const value_type &b)
 
void abs (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
 
void fabs (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
 
void max (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void max (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void max (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const value_type &b)
 
void min (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void min (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
 
void min (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const value_type &b)
 
- Public Member Functions inherited from Stokhos::OrthogPolyExpansion< ordinal_type, value_type, node_type >
 OrthogPolyExpansion ()
 Constructor.
 
virtual ~OrthogPolyExpansion ()
 Destructor.
 
virtual void exp (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void log (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void log10 (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void sqrt (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void cbrt (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void pow (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)=0
 
virtual void pow (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)=0
 
virtual void pow (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const value_type &b)=0
 
virtual void cos (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void sin (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void tan (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void cosh (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void sinh (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void tanh (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void acos (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void asin (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void atan (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void acosh (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void asinh (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 
virtual void atanh (OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)=0
 

Protected Types

typedef Stokhos::Sparse3Tensor< ordinal_type, value_type > Cijk_type
 Short-hand for Cijk.
 

Protected Attributes

Teuchos::RCP< const OrthogPolyBasis< ordinal_type, value_type > > basis
 Basis.
 
Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > Cijk
 Triple-product tensor.
 
Teuchos::RCP< Teuchos::ParameterList > params
 Parameter list.
 
Teuchos::RCP< Stokhos::DivisionExpansionStrategy< ordinal_type, value_type, node_type > > division_strategy
 Division expansion strategy.
 
ordinal_type sz
 Expansions size.
 

Additional Inherited Members

- Public Types inherited from Stokhos::OrthogPolyExpansion< ordinal_type, value_type, node_type >
typedef Sparse3Tensor< ordinal_type, value_type > tp_type
 Typename of TripleProduct tensor.
 

Detailed Description

template<typename ordinal_type, typename value_type, typename node_type>
class Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >

Base class for consolidating common expansion implementations.

Implements a few of the OrthogPolyExpansion virtual methods that are common to several implementations so those implementations are duplicated.

Member Function Documentation

◆ abs()

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::abs ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a )
virtual

◆ divide() [1/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::divide ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ divide() [2/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::divide ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const value_type & b )
virtual

◆ divide() [3/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::divide ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ divideEqual() [1/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::divideEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & x )
virtual

◆ divideEqual() [2/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::divideEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & x )
virtual

◆ fabs()

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::fabs ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a )
virtual

◆ getBasis()

template<typename ordinal_type , typename value_type , typename node_type >
Teuchos::RCP< const OrthogPolyBasis< ordinal_type, value_type > > Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::getBasis ( ) const
inlinevirtual

◆ getTripleProduct()

template<typename ordinal_type , typename value_type , typename node_type >
virtual Teuchos::RCP< const Sparse3Tensor< ordinal_type, value_type > > Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::getTripleProduct ( ) const
inlinevirtual

◆ max() [1/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::max ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ max() [2/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::max ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const value_type & b )
virtual

◆ max() [3/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::max ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ min() [1/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::min ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ min() [2/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::min ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const value_type & b )
virtual

◆ min() [3/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::min ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ minus() [1/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::minus ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ minus() [2/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::minus ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const value_type & b )
virtual

◆ minus() [3/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::minus ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ minusEqual() [1/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::minusEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & x )
virtual

◆ minusEqual() [2/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::minusEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & x )
virtual

◆ plus() [1/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::plus ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ plus() [2/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::plus ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const value_type & b )
virtual

◆ plus() [3/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::plus ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ plusEqual() [1/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::plusEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & x )
virtual

◆ plusEqual() [2/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::plusEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & x )
virtual

◆ size()

template<typename ordinal_type , typename value_type , typename node_type >
ordinal_type Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::size ( ) const
inlinevirtual

◆ times() [1/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::times ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ times() [2/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::times ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a,
const value_type & b )
virtual

◆ times() [3/3]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::times ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & a,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & b )
virtual

◆ timesEqual() [1/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::timesEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & x )
virtual

◆ timesEqual() [2/2]

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::timesEqual ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const value_type & x )
virtual

◆ unaryMinus()

template<typename ordinal_type , typename value_type , typename node_type >
void Stokhos::OrthogPolyExpansionBase< ordinal_type, value_type, node_type >::unaryMinus ( Stokhos::OrthogPolyApprox< ordinal_type, value_type, node_type > & c,
const OrthogPolyApprox< ordinal_type, value_type, node_type > & a )
virtual

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