CAPD DynSys Library  5.2.0
capd::pdes::GeometricBound Class Reference

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

#include <capd/pdes/GeometricBound.h>

Public Types

typedef capd::interval ScalarType
 
typedef capd::IVector::size_type size_type
 
typedef capd::IMatrix MatrixType
 
typedef GeometricBound VectorType
 
typedef capd::IVector 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, ScalarType C, ScalarType 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, ScalarType C, ScalarType 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 (ScalarType C, ScalarType 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...
 
ScalarType getConstant () const
 Returns constant used in the bound of the infinite dimensional tail. More...
 
void setConstant (ScalarType 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...
 
ScalarType getGeometricDecay () const
 Returns the constant q used in the bound of the infinite dimensional tail: C/(decay^i). More...
 
void setGeometricDecay (ScalarType 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

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

Friends

std::ostream & operator<< (std::ostream &s, const GeometricBound &x)
 operator<< More...
 

Detailed Description

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

◆ MatrixType

◆ RefVectorType

◆ ScalarType

◆ size_type

◆ VectorType

Constructor & Destructor Documentation

◆ GeometricBound() [1/5]

capd::pdes::GeometricBound::GeometricBound ( )
inline

◆ GeometricBound() [2/5]

capd::pdes::GeometricBound::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]

capd::pdes::GeometricBound::GeometricBound ( size_type  dim,
ScalarType  C,
ScalarType  q 
)

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

◆ GeometricBound() [4/5]

capd::pdes::GeometricBound::GeometricBound ( size_type  dim,
ScalarType  C,
ScalarType  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]

capd::pdes::GeometricBound::GeometricBound ( ScalarType  C,
ScalarType  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()

void capd::pdes::GeometricBound::clear ( )
inline

◆ dimension()

size_type capd::pdes::GeometricBound::dimension ( ) const
inline

◆ getCoefficient()

GeometricBound::ScalarType capd::pdes::GeometricBound::getCoefficient ( size_type  i) const
inline

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

◆ getConstant()

ScalarType capd::pdes::GeometricBound::getConstant ( ) const
inline

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

◆ getExplicitCoefficients() [1/2]

FiniteVectorType& capd::pdes::GeometricBound::getExplicitCoefficients ( )
inline

◆ getExplicitCoefficients() [2/2]

const FiniteVectorType& capd::pdes::GeometricBound::getExplicitCoefficients ( ) const
inline

◆ getGeometricDecay()

ScalarType capd::pdes::GeometricBound::getGeometricDecay ( ) const
inline

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

◆ operator FiniteVectorType()

capd::pdes::GeometricBound::operator FiniteVectorType ( ) const
inline

◆ operator*=()

GeometricBound & capd::pdes::GeometricBound::operator*= ( const ScalarType x)

◆ operator+=()

GeometricBound & capd::pdes::GeometricBound::operator+= ( const GeometricBound x)

◆ operator-=()

GeometricBound & capd::pdes::GeometricBound::operator-= ( const GeometricBound x)

◆ operator[]() [1/2]

ScalarType& capd::pdes::GeometricBound::operator[] ( size_type  i)
inline

◆ operator[]() [2/2]

ScalarType capd::pdes::GeometricBound::operator[] ( size_type  i) const
inline

◆ partialDerivative()

GeometricBound capd::pdes::GeometricBound::partialDerivative ( ) const

◆ projection()

RefVectorType capd::pdes::GeometricBound::projection ( size_type  dim) const
inline

◆ setCoefficient()

void capd::pdes::GeometricBound::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()

void capd::pdes::GeometricBound::setConstant ( ScalarType  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()

void capd::pdes::GeometricBound::setExplicitCoefficients ( const FiniteVectorType x)
inline

◆ setGeometricDecay()

void capd::pdes::GeometricBound::setGeometricDecay ( ScalarType  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.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
const GeometricBound x 
)
friend

operator<<

This operator writes a GeometricBound object to a given stream in the following form {{x_1,x_2,...,x_M},C,exponent} where M is the number of exactly represented coefficients of x.

Parameters
[in]out- a stream to which the object x is to be written
[in]x- an instance of class GeometricBound
Returns
a reference to stream out

Member Data Documentation

◆ csDim

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