CAPD::DynSys Library  6.0.0
capd::pdes::GeometricBound< ScalarT > Class Template Reference

The class is class represents a subset of a countable infinite dimensional space. More...

#include <capd/pdes/GeometricBound.h>

Public Types

typedef ScalarT ScalarType
 
typedef capd::IVector::size_type size_type
 
typedef capd::vectalg::Matrix< ScalarT, 0, 0 > MatrixType
 
typedef GeometricBound VectorType
 
typedef capd::vectalg::Vector< ScalarT, 0 > FiniteVectorType
 
typedef MatrixType::RefRowVectorType RefVectorType
 

Public Member Functions

 GeometricBound ()
 
 GeometricBound (size_type dim)
 constructs a Geometric series with C=0, q=1 and s=0 and given number of explicitly stored coefficients. More...
 
 GeometricBound (size_type dim, capd::interval C, capd::interval q)
 Constructs a Geometric series with given bound on tail C/(q^i). The coefficients 1,...,dim will be stored explicitly. More...
 
 GeometricBound (size_type dim, capd::interval C, capd::interval q, const ScalarType *coeff)
 Constructs a Geometric series with given bound on tail C/(q^i). The coefficients 1,...,dim will be stored explicitly and initialized from an array coeff. More...
 
 GeometricBound (capd::interval C, capd::interval q, const FiniteVectorType &x)
 Constructs a Geometric series with given bound on tail C/(q^i). The coefficients 1,...,dim will be stored explicitly and initialized from an array coeff. More...
 
GeometricBoundoperator+= (const GeometricBound &x)
 
GeometricBoundoperator-= (const GeometricBound &x)
 
GeometricBoundoperator*= (const ScalarType &x)
 
GeometricBound partialDerivative () const
 
ScalarType getCoefficient (size_type i) const
 Returns i-th coordinate of a GeometricBound. The argument is an arbitrary natural number. More...
 
void setCoefficient (size_type i, const ScalarType &s)
 Assigns a value to i-th coordinate of a GeometricBound. The argument i must be less or equal to the number of explicitly stored coefficients. More...
 
capd::interval getConstant () const
 Returns constant used in the bound of the infinite dimensional tail. More...
 
void setConstant (capd::interval C)
 Sets new value of constant used in the bound of the infinite dimensional tail. It must be positive number. Otherwise an exception is thrown. More...
 
capd::interval getGeometricDecay () const
 Returns the constant q used in the bound of the infinite dimensional tail: C/(decay^i). More...
 
void setGeometricDecay (capd::interval decay)
 Sets new value of q used in the bound of the infinite dimensional tail: C/(q^i). If q is out of (0,1) an exception is thrown. More...
 
size_type dimension () const
 
void setExplicitCoefficients (const FiniteVectorType &x)
 
FiniteVectorTypegetExplicitCoefficients ()
 
const FiniteVectorTypegetExplicitCoefficients () const
 
 operator FiniteVectorType () const
 
RefVectorType projection (size_type dim) const
 
ScalarType operator[] (size_type i) const
 
ScalarTypeoperator[] (size_type i)
 
void clear ()
 

Static Public Attributes

static const size_type csDim = capd::IVector::csDim
 

Detailed Description

template<class ScalarT = capd::interval>
class capd::pdes::GeometricBound< ScalarT >

The class is class represents a subset of a countable infinite dimensional space.

The representation splits into two parts.

  1. A finite dimensional interval vector holds finite number of coefficients 1,1,2,...,M called the main variables.
  2. The remaining coefficients x_i, x>M are bounded uniformly by a geometric series |x_i| <= C*q^{-i} where
    • C is a non-negative constant
    • q is a geometric decay satisfying q>1

The condition q>1 guarantees that the function $ x(t) = \sum_{i=0}^\infty x_i*t^i $ is analytic near t=0.

The implementation provides operators and methods for acting on such functional objects, such as

  • algebraic operations (addition, subtraction, multiplication)
  • automatic differentiation with respect to time variable

Member Typedef Documentation

◆ FiniteVectorType

template<class ScalarT = capd::interval>
typedef capd::vectalg::Vector<ScalarT,0> capd::pdes::GeometricBound< ScalarT >::FiniteVectorType

◆ MatrixType

template<class ScalarT = capd::interval>
typedef capd::vectalg::Matrix<ScalarT,0,0> capd::pdes::GeometricBound< ScalarT >::MatrixType

◆ RefVectorType

template<class ScalarT = capd::interval>
typedef MatrixType::RefRowVectorType capd::pdes::GeometricBound< ScalarT >::RefVectorType

◆ ScalarType

template<class ScalarT = capd::interval>
typedef ScalarT capd::pdes::GeometricBound< ScalarT >::ScalarType

◆ size_type

template<class ScalarT = capd::interval>
typedef capd::IVector::size_type capd::pdes::GeometricBound< ScalarT >::size_type

◆ VectorType

template<class ScalarT = capd::interval>
typedef GeometricBound capd::pdes::GeometricBound< ScalarT >::VectorType

Constructor & Destructor Documentation

◆ GeometricBound() [1/5]

template<class ScalarT = capd::interval>
capd::pdes::GeometricBound< ScalarT >::GeometricBound ( )
inline

◆ GeometricBound() [2/5]

template<class ScalarT >
capd::pdes::GeometricBound< ScalarT >::GeometricBound ( size_type  dim)
explicit

constructs a Geometric series with C=0, q=1 and s=0 and given number of explicitly stored coefficients.

◆ GeometricBound() [3/5]

template<class ScalarT >
capd::pdes::GeometricBound< ScalarT >::GeometricBound ( size_type  dim,
capd::interval  C,
capd::interval  q 
)

Constructs a Geometric series with given bound on tail C/(q^i). The coefficients 1,...,dim will be stored explicitly.

◆ GeometricBound() [4/5]

template<class ScalarT >
capd::pdes::GeometricBound< ScalarT >::GeometricBound ( size_type  dim,
capd::interval  C,
capd::interval  q,
const ScalarType coeff 
)

Constructs a Geometric series with given bound on tail C/(q^i). The coefficients 1,...,dim will be stored explicitly and initialized from an array coeff.

◆ GeometricBound() [5/5]

template<class ScalarT >
capd::pdes::GeometricBound< ScalarT >::GeometricBound ( capd::interval  C,
capd::interval  q,
const FiniteVectorType x 
)

Constructs a Geometric series with given bound on tail C/(q^i). The coefficients 1,...,dim will be stored explicitly and initialized from an array coeff.

Member Function Documentation

◆ clear()

template<class ScalarT = capd::interval>
void capd::pdes::GeometricBound< ScalarT >::clear ( )
inline

◆ dimension()

template<class ScalarT = capd::interval>
size_type capd::pdes::GeometricBound< ScalarT >::dimension ( ) const
inline

◆ getCoefficient()

template<class ScalarT >
ScalarT capd::pdes::GeometricBound< ScalarT >::getCoefficient ( size_type  i) const
inline

Returns i-th coordinate of a GeometricBound. The argument is an arbitrary natural number.

◆ getConstant()

template<class ScalarT = capd::interval>
capd::interval capd::pdes::GeometricBound< ScalarT >::getConstant ( ) const
inline

Returns constant used in the bound of the infinite dimensional tail.

◆ getExplicitCoefficients() [1/2]

template<class ScalarT = capd::interval>
FiniteVectorType& capd::pdes::GeometricBound< ScalarT >::getExplicitCoefficients ( )
inline

◆ getExplicitCoefficients() [2/2]

template<class ScalarT = capd::interval>
const FiniteVectorType& capd::pdes::GeometricBound< ScalarT >::getExplicitCoefficients ( ) const
inline

◆ getGeometricDecay()

template<class ScalarT = capd::interval>
capd::interval capd::pdes::GeometricBound< ScalarT >::getGeometricDecay ( ) const
inline

Returns the constant q used in the bound of the infinite dimensional tail: C/(decay^i).

◆ operator FiniteVectorType()

template<class ScalarT = capd::interval>
capd::pdes::GeometricBound< ScalarT >::operator FiniteVectorType ( ) const
inline

◆ operator*=()

template<class ScalarT >
GeometricBound< ScalarT > & capd::pdes::GeometricBound< ScalarT >::operator*= ( const ScalarType x)

◆ operator+=()

template<class ScalarT >
GeometricBound< ScalarT > & capd::pdes::GeometricBound< ScalarT >::operator+= ( const GeometricBound< ScalarT > &  x)

◆ operator-=()

template<class ScalarT >
GeometricBound< ScalarT > & capd::pdes::GeometricBound< ScalarT >::operator-= ( const GeometricBound< ScalarT > &  x)

◆ operator[]() [1/2]

template<class ScalarT = capd::interval>
ScalarType& capd::pdes::GeometricBound< ScalarT >::operator[] ( size_type  i)
inline

◆ operator[]() [2/2]

template<class ScalarT = capd::interval>
ScalarType capd::pdes::GeometricBound< ScalarT >::operator[] ( size_type  i) const
inline

◆ partialDerivative()

template<class ScalarT = capd::interval>
GeometricBound capd::pdes::GeometricBound< ScalarT >::partialDerivative ( ) const

◆ projection()

template<class ScalarT = capd::interval>
RefVectorType capd::pdes::GeometricBound< ScalarT >::projection ( size_type  dim) const
inline

◆ setCoefficient()

template<class ScalarT >
void capd::pdes::GeometricBound< ScalarT >::setCoefficient ( size_type  i,
const ScalarType s 
)
inline

Assigns a value to i-th coordinate of a GeometricBound. The argument i must be less or equal to the number of explicitly stored coefficients.

◆ setConstant()

template<class ScalarT = capd::interval>
void capd::pdes::GeometricBound< ScalarT >::setConstant ( capd::interval  C)
inline

Sets new value of constant used in the bound of the infinite dimensional tail. It must be positive number. Otherwise an exception is thrown.

◆ setExplicitCoefficients()

template<class ScalarT = capd::interval>
void capd::pdes::GeometricBound< ScalarT >::setExplicitCoefficients ( const FiniteVectorType x)
inline

◆ setGeometricDecay()

template<class ScalarT = capd::interval>
void capd::pdes::GeometricBound< ScalarT >::setGeometricDecay ( capd::interval  decay)
inline

Sets new value of q used in the bound of the infinite dimensional tail: C/(q^i). If q is out of (0,1) an exception is thrown.

Member Data Documentation

◆ csDim

template<class ScalarT = capd::interval>
const size_type capd::pdes::GeometricBound< ScalarT >::csDim = capd::IVector::csDim
static

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