CAPD::DynSys Library  6.0.0
capd::dynset::C0DoubletonSet< MatrixT, Policies > Class Template Referenceabstract

The set is represented as doubleton: x + C*r0 + B*r; and is moved by the following method. More...

#include <capd/dynset/C0DoubletonSet.h>

Public Types

typedef MatrixT MatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef MatrixType::size_type size_type
 
typedef capd::vectalg::Norm< VectorType, MatrixTypeNormType
 
typedef capd::geomset::CenteredDoubletonSet< MatrixT > BaseSet
 
typedef C0Set< MatrixT >::SetType SetType
 
typedef C0Set< MatrixT >::DynSysType DynSysType
 
typedef DoubletonData< MatrixT > Data
 
typedef Policies Policy
 
typedef BaseSet::ColumnVectorType ColumnVectorType
 
typedef MatrixType::template rebind< typename ScalarType::BoundType >::other RealMatrix
 
typedef VectorType::template rebind< typename ScalarType::BoundType >::other RealVector
 

Public Member Functions

 C0DoubletonSet (const BaseSet &set, ScalarType t)
 
 C0DoubletonSet (const VectorType &x, ScalarType t=TypeTraits< ScalarType >::zero())
 
 C0DoubletonSet (const VectorType &x, const VectorType &r0, ScalarType t=TypeTraits< ScalarType >::zero())
 
 C0DoubletonSet (const VectorType &x, const MatrixType &C, const VectorType &r0, ScalarType t=TypeTraits< ScalarType >::zero())
 
 C0DoubletonSet (const VectorType &x, const MatrixType &C, const VectorType &r0, const VectorType &r, ScalarType t=TypeTraits< ScalarType >::zero())
 
 C0DoubletonSet (const VectorType &x, const MatrixType &C, const VectorType &r0, const MatrixType &B, const VectorType &r, ScalarType t=TypeTraits< ScalarType >::zero())
 
void move (DynSysType &dynsys)
 computes image of the set after one step/iterate of the dynamical system More...
 
void move (DynSysType &dynsys, C0DoubletonSet &result) const
 computes image of the set after one step/iterate of the dynamical system and stores it in result More...
 
template<class Functional >
ScalarType evalAt (const Functional &f) const
 This method computes value of functor f at interval vector represented by this set. More...
 
std::string show () const
 returns a set detailed information More...
 
std::string name () const
 returns set's name More...
 
const ScalarType getCurrentTime () const
 
ScalarTyperefCurrentTime ()
 
void setCurrentTime (const ScalarType &t)
 
const MatrixT::RowVectorType & getLastEnclosure () const
 
virtual operator MatrixT::RowVectorType () const
 returns an enclosure of the set in the canonical coordinates More...
 
void setCurrentSet (const MatrixT::RowVectorType &x)
 
virtual operator VectorType () const=0
 
 operator VectorType () const
 
virtual VectorType affineTransformation (const MatrixType &M, const VectorType &x0) const
 This method computes value of an affine map f at interval vector represented by this set. This set is represented as tripleton X=x+C*r0+intersection(B*r,Q*q). Then f(X) = M*(X-x0) can be computed as M*(x-x0) + (M*C)*r0 + intersection( M*B)*r, (M*Q)*q ) More...
 
virtual ScalarType evalAffineFunctional (const VectorType &gradient, const VectorType &x0) const
 This method computes value of an affine functional f at the vector represented by this set. This set is represented as doubleton X=x+C*r0+B*r. Then f(X) = grad*(X-x0) can be computed as grad*(x-x0) + (grad*C)*r0 + (grad*B)*r. More...
 
std::string toString () const
 returns set detailed information More...
 
const VectorTypeget_r0 () const
 returns r0 More...
 
const ScalarTypegetElement_r0 (size_type i) const
 returns i-th coordinate of r0 More...
 
void set_r0 (const VectorType &r)
 sets r0 More...
 
void setElement_r0 (size_type i, const ScalarType &s)
 sets i-th coordinate of r0 More...
 
const MatrixTypeget_C () const
 returns matrix C More...
 
const ScalarTypegetElement_C (size_type i, size_type j) const
 returns element C[i][j] More...
 
VectorType getRow_C (size_type i) const
 returns i-th row of C More...
 
ColumnVectorType getColumn_C (size_type j) const
 returns j-th column of C More...
 
void set_C (const MatrixType &B)
 sets matrix C:= B More...
 
void setElement_C (size_type i, size_type j, const ScalarType &s)
 sets C[i][j] := s More...
 
template<typename VectorT >
void setRow_C (size_type i, const VectorT &v)
 sets i-th row of C to v More...
 
template<typename VectorT >
void setColumn_C (size_type j, const VectorT &v)
 sets j-th columne of C to v More...
 
size_type dimension () const
 returns dimension of a set More...
 
const VectorTypeget_x () const
 
const ScalarTypegetElement_x (int i) const
 
void set_x (const VectorType &x)
 
void setElement_x (size_type i, const ScalarType &s)
 
const VectorTypeget_r () const
 
const ScalarTypegetElement_r (size_type i) const
 
void set_r (const VectorType &r)
 
void setElement_r (size_type i, const ScalarType &s)
 
const MatrixTypeget_B () const
 
const MatrixTypeget_invB () const
 
void setToIdentity ()
 
const ScalarTypegetElement_B (size_type i, size_type j) const
 
VectorType getRow_B (size_type i) const
 
ColumnVectorType getColumn_B (size_type j) const
 
void set_B (const MatrixType &B)
 
void set_invB (const MatrixType &B)
 
void setElement_B (size_type i, size_type j, const ScalarType &s)
 
template<typename VectorT >
void setRow_B (size_type i, const VectorT &v)
 
template<typename VectorT >
void setColumn_B (size_type j, const VectorT &v)
 

Static Public Member Functions

static void move (const BaseSet &set, BaseSet &result, VectorType &bound, Data &data)
 this computes next representation of the set given computed one-step enclosure of the form y + jacPhi*deltaX + rem More...
 
static const size_type degree ()
 

Public Attributes

MatrixType m_C
 C is a coordinate system of the 'Lipschitz' part. More...
 
VectorType m_r0
 r0 is a interval set in given coordinate system that represents 'Lipschitz' part More...
 
VectorType m_x
 x is a center of the set More...
 
MatrixType m_B
 B is a coordinate system. More...
 
MatrixType m_invB
 
VectorType m_r
 r is a interval set in given coordinate system More...
 
VectorType x
 
VectorType deltaX
 
VectorType y
 
VectorType deltaY
 
VectorType rem
 
VectorType enc
 
MatrixType jacPhi
 
MatrixType deltaC
 
MatrixType B
 

Protected Member Functions

void setLastEnclosure (const MatrixT::RowVectorType &enc)
 

Protected Attributes

ScalarType m_currentTime
 
MatrixT::RowVectorType m_currentSet
 
MatrixT::RowVectorType m_lastEnclosure
 

Detailed Description

template<typename MatrixT, typename Policies>
class capd::dynset::C0DoubletonSet< MatrixT, Policies >

The set is represented as doubleton: x + C*r0 + B*r; and is moved by the following method.

internal representation : C*r0 - basic 'Lipschitz part' B*r - depending on the QRPolicy

Member Typedef Documentation

◆ BaseSet

template<typename MatrixT , typename Policies >
typedef capd::geomset::CenteredDoubletonSet<MatrixT> capd::dynset::C0DoubletonSet< MatrixT, Policies >::BaseSet

◆ ColumnVectorType

template<typename MatrixT >
typedef BaseSet::ColumnVectorType capd::geomset::CenteredDoubletonSet< MatrixT >::ColumnVectorType
inherited

◆ Data

template<typename MatrixT , typename Policies >
typedef DoubletonData<MatrixT> capd::dynset::C0DoubletonSet< MatrixT, Policies >::Data

◆ DynSysType

template<typename MatrixT , typename Policies >
typedef C0Set<MatrixT>::DynSysType capd::dynset::C0DoubletonSet< MatrixT, Policies >::DynSysType

◆ MatrixType

template<typename MatrixT , typename Policies >
typedef MatrixT capd::dynset::C0DoubletonSet< MatrixT, Policies >::MatrixType

◆ NormType

template<typename MatrixT , typename Policies >
typedef capd::vectalg::Norm<VectorType,MatrixType> capd::dynset::C0DoubletonSet< MatrixT, Policies >::NormType

◆ Policy

template<typename MatrixT , typename Policies >
typedef Policies capd::dynset::C0DoubletonSet< MatrixT, Policies >::Policy

◆ RealMatrix

template<typename MatrixT >
typedef MatrixType::template rebind<typename ScalarType::BoundType>::other capd::geomset::AffineSet< MatrixT >::RealMatrix
inherited

◆ RealVector

template<typename MatrixT >
typedef VectorType::template rebind<typename ScalarType::BoundType>::other capd::geomset::AffineSet< MatrixT >::RealVector
inherited

◆ ScalarType

template<typename MatrixT , typename Policies >
typedef MatrixType::ScalarType capd::dynset::C0DoubletonSet< MatrixT, Policies >::ScalarType

◆ SetType

template<typename MatrixT , typename Policies >
typedef C0Set<MatrixT>::SetType capd::dynset::C0DoubletonSet< MatrixT, Policies >::SetType

◆ size_type

template<typename MatrixT , typename Policies >
typedef MatrixType::size_type capd::dynset::C0DoubletonSet< MatrixT, Policies >::size_type

◆ VectorType

template<typename MatrixT , typename Policies >
typedef MatrixType::RowVectorType capd::dynset::C0DoubletonSet< MatrixT, Policies >::VectorType

Constructor & Destructor Documentation

◆ C0DoubletonSet() [1/6]

template<typename MatrixType , typename Policies >
capd::dynset::C0DoubletonSet< MatrixType, Policies >::C0DoubletonSet ( const BaseSet set,
ScalarType  t 
)

◆ C0DoubletonSet() [2/6]

template<typename MatrixType , typename Policies >
capd::dynset::C0DoubletonSet< MatrixType, Policies >::C0DoubletonSet ( const VectorType x,
ScalarType  t = TypeTraits<ScalarType>::zero() 
)

◆ C0DoubletonSet() [3/6]

template<typename MatrixType , typename Policies >
capd::dynset::C0DoubletonSet< MatrixType, Policies >::C0DoubletonSet ( const VectorType x,
const VectorType r0,
ScalarType  t = TypeTraits<ScalarType>::zero() 
)

◆ C0DoubletonSet() [4/6]

template<typename MatrixType , typename Policies >
capd::dynset::C0DoubletonSet< MatrixType, Policies >::C0DoubletonSet ( const VectorType x,
const MatrixType C,
const VectorType r0,
ScalarType  t = TypeTraits<ScalarType>::zero() 
)

◆ C0DoubletonSet() [5/6]

template<typename MatrixType , typename Policies >
capd::dynset::C0DoubletonSet< MatrixType, Policies >::C0DoubletonSet ( const VectorType x,
const MatrixType C,
const VectorType r0,
const VectorType r,
ScalarType  t = TypeTraits<ScalarType>::zero() 
)

◆ C0DoubletonSet() [6/6]

template<typename MatrixType , typename Policies >
capd::dynset::C0DoubletonSet< MatrixType, Policies >::C0DoubletonSet ( const VectorType x,
const MatrixType C,
const VectorType r0,
const MatrixType B,
const VectorType r,
ScalarType  t = TypeTraits<ScalarType>::zero() 
)

Member Function Documentation

◆ degree()

template<typename MatrixT >
static const size_type capd::dynset::C0Set< MatrixT >::degree ( )
inlinestaticinherited

◆ dimension()

template<typename MatrixT >
size_type capd::geomset::AffineSet< MatrixT >::dimension ( ) const
inlineinherited

returns dimension of a set

◆ evalAt()

template<typename MatrixT , typename Policies >
template<class Functional >
ScalarType capd::dynset::C0DoubletonSet< MatrixT, Policies >::evalAt ( const Functional &  f) const
inline

This method computes value of functor f at interval vector represented by this set.

◆ get_B()

template<typename MatrixT >
const MatrixType& capd::geomset::AffineSet< MatrixT >::get_B ( ) const
inlineinherited

◆ get_C()

template<typename MatrixT >
const MatrixType& capd::geomset::DoubletonSet< MatrixT >::get_C ( ) const
inlineinherited

returns matrix C

◆ get_invB()

template<typename MatrixT >
const MatrixType& capd::geomset::AffineSet< MatrixT >::get_invB ( ) const
inlineinherited

◆ get_r()

template<typename MatrixT >
const VectorType& capd::geomset::AffineSet< MatrixT >::get_r ( ) const
inlineinherited

◆ get_r0()

template<typename MatrixT >
const VectorType& capd::geomset::DoubletonSet< MatrixT >::get_r0 ( ) const
inlineinherited

returns r0

◆ get_x()

template<typename MatrixT >
const VectorType& capd::geomset::AffineSet< MatrixT >::get_x ( ) const
inlineinherited

◆ getColumn_B()

template<typename MatrixT >
ColumnVectorType capd::geomset::AffineSet< MatrixT >::getColumn_B ( size_type  j) const
inlineinherited

◆ getColumn_C()

template<typename MatrixT >
ColumnVectorType capd::geomset::DoubletonSet< MatrixT >::getColumn_C ( size_type  j) const
inlineinherited

returns j-th column of C

◆ getCurrentTime()

const ScalarType capd::diffAlgebra::TimeRange< MatrixT::ScalarType >::getCurrentTime ( ) const
inlineinherited

◆ getElement_B()

template<typename MatrixT >
const ScalarType& capd::geomset::AffineSet< MatrixT >::getElement_B ( size_type  i,
size_type  j 
) const
inlineinherited

◆ getElement_C()

template<typename MatrixT >
const ScalarType& capd::geomset::DoubletonSet< MatrixT >::getElement_C ( size_type  i,
size_type  j 
) const
inlineinherited

returns element C[i][j]

◆ getElement_r()

template<typename MatrixT >
const ScalarType& capd::geomset::AffineSet< MatrixT >::getElement_r ( size_type  i) const
inlineinherited

◆ getElement_r0()

template<typename MatrixT >
const ScalarType& capd::geomset::DoubletonSet< MatrixT >::getElement_r0 ( size_type  i) const
inlineinherited

returns i-th coordinate of r0

◆ getElement_x()

template<typename MatrixT >
const ScalarType& capd::geomset::AffineSet< MatrixT >::getElement_x ( int  i) const
inlineinherited

◆ getLastEnclosure()

const MatrixT::RowVectorType & capd::dynset::C0EnclosureHolder< MatrixT::RowVectorType >::getLastEnclosure ( ) const
inlineinherited

◆ getRow_B()

template<typename MatrixT >
VectorType capd::geomset::AffineSet< MatrixT >::getRow_B ( size_type  i) const
inlineinherited

◆ getRow_C()

template<typename MatrixT >
VectorType capd::geomset::DoubletonSet< MatrixT >::getRow_C ( size_type  i) const
inlineinherited

returns i-th row of C

◆ move() [1/3]

template<typename MatrixType , typename Policies >
void capd::dynset::C0DoubletonSet< MatrixType, Policies >::move ( const BaseSet set,
BaseSet result,
VectorType bound,
Data data 
)
static

this computes next representation of the set given computed one-step enclosure of the form y + jacPhi*deltaX + rem

◆ move() [2/3]

template<typename MatrixType , typename Policies >
void capd::dynset::C0DoubletonSet< MatrixType, Policies >::move ( DynSysType dynsys)
virtual

computes image of the set after one step/iterate of the dynamical system

Implements capd::dynset::C0Set< MatrixT >.

◆ move() [3/3]

template<typename MatrixType , typename Policies >
void capd::dynset::C0DoubletonSet< MatrixType, Policies >::move ( DynSysType dynsys,
C0DoubletonSet< MatrixT, Policies > &  result 
) const

computes image of the set after one step/iterate of the dynamical system and stores it in result

◆ name()

template<typename MatrixT , typename Policies >
std::string capd::dynset::C0DoubletonSet< MatrixT, Policies >::name ( ) const
inlinevirtual

◆ operator MatrixT::RowVectorType()

virtual capd::dynset::C0EnclosureHolder< MatrixT::RowVectorType >::operator MatrixT::RowVectorType ( ) const
inlinevirtualinherited

returns an enclosure of the set in the canonical coordinates

◆ operator VectorType() [1/2]

template<typename MatrixT >
capd::geomset::DoubletonSet< MatrixT >::operator VectorType ( ) const
inherited

◆ operator VectorType() [2/2]

◆ refCurrentTime()

ScalarType& capd::diffAlgebra::TimeRange< MatrixT::ScalarType >::refCurrentTime ( )
inlineinherited

◆ set_B()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::set_B ( const MatrixType B)
inlineinherited

◆ set_C()

template<typename MatrixT >
void capd::geomset::DoubletonSet< MatrixT >::set_C ( const MatrixType B)
inlineinherited

sets matrix C:= B

◆ set_invB()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::set_invB ( const MatrixType B)
inlineinherited

◆ set_r()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::set_r ( const VectorType r)
inlineinherited

◆ set_r0()

template<typename MatrixT >
void capd::geomset::DoubletonSet< MatrixT >::set_r0 ( const VectorType r)
inlineinherited

sets r0

◆ set_x()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::set_x ( const VectorType x)
inlineinherited

◆ setColumn_B()

template<typename MatrixT >
template<typename VectorT >
void capd::geomset::AffineSet< MatrixT >::setColumn_B ( size_type  j,
const VectorT &  v 
)
inlineinherited

◆ setColumn_C()

template<typename MatrixT >
template<typename VectorT >
void capd::geomset::DoubletonSet< MatrixT >::setColumn_C ( size_type  j,
const VectorT &  v 
)
inlineinherited

sets j-th columne of C to v

◆ setCurrentSet()

void capd::dynset::C0EnclosureHolder< MatrixT::RowVectorType >::setCurrentSet ( const VectorT &  x)
inlineinherited

◆ setCurrentTime()

void capd::diffAlgebra::TimeRange< MatrixT::ScalarType >::setCurrentTime ( const ScalarType t)
inlineinherited

◆ setElement_B()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::setElement_B ( size_type  i,
size_type  j,
const ScalarType s 
)
inlineinherited

◆ setElement_C()

template<typename MatrixT >
void capd::geomset::DoubletonSet< MatrixT >::setElement_C ( size_type  i,
size_type  j,
const ScalarType s 
)
inlineinherited

sets C[i][j] := s

◆ setElement_r()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::setElement_r ( size_type  i,
const ScalarType s 
)
inlineinherited

◆ setElement_r0()

template<typename MatrixT >
void capd::geomset::DoubletonSet< MatrixT >::setElement_r0 ( size_type  i,
const ScalarType s 
)
inlineinherited

sets i-th coordinate of r0

◆ setElement_x()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::setElement_x ( size_type  i,
const ScalarType s 
)
inlineinherited

◆ setLastEnclosure()

void capd::dynset::C0EnclosureHolder< MatrixT::RowVectorType >::setLastEnclosure ( const VectorT &  enc)
inlineprotectedinherited

◆ setRow_B()

template<typename MatrixT >
template<typename VectorT >
void capd::geomset::AffineSet< MatrixT >::setRow_B ( size_type  i,
const VectorT &  v 
)
inlineinherited

◆ setRow_C()

template<typename MatrixT >
template<typename VectorT >
void capd::geomset::DoubletonSet< MatrixT >::setRow_C ( size_type  i,
const VectorT &  v 
)
inlineinherited

sets i-th row of C to v

◆ setToIdentity()

template<typename MatrixT >
void capd::geomset::AffineSet< MatrixT >::setToIdentity ( )
inlineinherited

◆ show()

template<typename MatrixType , typename Policies >
std::string capd::dynset::C0DoubletonSet< MatrixType, Policies >::show ( void  ) const
virtual

returns a set detailed information

Implements capd::dynset::AbstractSet< MatrixT::RowVectorType >.

Member Data Documentation

◆ m_B

template<typename MatrixT >
MatrixType capd::geomset::AffineSet< MatrixT >::m_B
inherited

B is a coordinate system.

◆ m_C

template<typename MatrixT >
MatrixType capd::geomset::DoubletonSet< MatrixT >::m_C
inherited

C is a coordinate system of the 'Lipschitz' part.

◆ m_currentSet

MatrixT::RowVectorType capd::dynset::C0EnclosureHolder< MatrixT::RowVectorType >::m_currentSet
protectedinherited

◆ m_currentTime

ScalarType capd::diffAlgebra::TimeRange< MatrixT::ScalarType >::m_currentTime
protectedinherited

◆ m_invB

template<typename MatrixT >
MatrixType capd::geomset::AffineSet< MatrixT >::m_invB
inherited

◆ m_lastEnclosure

MatrixT::RowVectorType capd::dynset::C0EnclosureHolder< MatrixT::RowVectorType >::m_lastEnclosure
protectedinherited

◆ m_r

template<typename MatrixT >
VectorType capd::geomset::AffineSet< MatrixT >::m_r
inherited

r is a interval set in given coordinate system

◆ m_r0

template<typename MatrixT >
VectorType capd::geomset::DoubletonSet< MatrixT >::m_r0
inherited

r0 is a interval set in given coordinate system that represents 'Lipschitz' part

◆ m_x

template<typename MatrixT >
VectorType capd::geomset::AffineSet< MatrixT >::m_x
inherited

x is a center of the set


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