CAPD DynSys Library  5.2.0
capd::geomset::AffineSet< MatrixT > Class Template Reference

Affine set representanion of the form x0 + B*r . More...

#include <capd/geomset/AffineSet.h>

Public Types

typedef MatrixT MatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef MatrixType::ColumnVectorType ColumnVectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef MatrixType::size_type size_type
 
typedef MatrixType::template rebind< typename ScalarType::BoundType >::other RealMatrix
 
typedef VectorType::template rebind< typename ScalarType::BoundType >::other RealVector
 

Public Member Functions

 AffineSet (size_type)
 sets x:=0, r:=0, B:=Id More...
 
 AffineSet (const VectorType &v)
 sets x:=mid(v), B:=Id, r:=[-radius(v), radius(v)] More...
 
 AffineSet (const VectorType &x, bool)
 sets x:=x, B:=Id, r:=0 More...
 
 AffineSet (const VectorType &x, const VectorType &r)
 sets x:=x r:=r B:=Id More...
 
 AffineSet (const VectorType &x, const MatrixType &B, const VectorType &r)
 sets x:=x r:=r B:=B More...
 
virtual ~AffineSet ()
 
size_type dimension () const
 returns dimension of a set More...
 
 operator VectorType () const
 returns interval vector that contains set. More...
 
virtual std::string toString () const
 returns set detailed information More...
 
virtual std::string name () const
 returns set's name More...
 
virtual VectorType affineTransformation (const MatrixType &, const VectorType &) const
 returns set image after affine transformation 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+B*r. Then f(X) = grad*(X-x0) can be computed as grad*(x-x0) + (grad*B)*r. 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)
 

Protected Attributes

VectorType m_x
 x is a center of the set More...
 
VectorType m_r
 r is a interval set in given coordinate system More...
 
MatrixType m_B
 B is a coordinate system. More...
 
MatrixType m_invB
 

Detailed Description

template<typename MatrixT>
class capd::geomset::AffineSet< MatrixT >

Affine set representanion of the form x0 + B*r .

We define sets representation of the form

x + B * r

where

  • the vector x is a center,
  • the matrix B is a coordinate system
  • the vector r is a product of intervals and represents the set in a given coordinate system.

Member Typedef Documentation

◆ ColumnVectorType

template<typename MatrixT >
typedef MatrixType::ColumnVectorType capd::geomset::AffineSet< MatrixT >::ColumnVectorType

◆ MatrixType

template<typename MatrixT >
typedef MatrixT capd::geomset::AffineSet< MatrixT >::MatrixType

◆ RealMatrix

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

◆ RealVector

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

◆ ScalarType

template<typename MatrixT >
typedef MatrixType::ScalarType capd::geomset::AffineSet< MatrixT >::ScalarType

◆ size_type

template<typename MatrixT >
typedef MatrixType::size_type capd::geomset::AffineSet< MatrixT >::size_type

◆ VectorType

template<typename MatrixT >
typedef MatrixType::RowVectorType capd::geomset::AffineSet< MatrixT >::VectorType

Constructor & Destructor Documentation

◆ ~AffineSet()

template<typename MatrixT >
virtual capd::geomset::AffineSet< MatrixT >::~AffineSet ( )
inlinevirtual

Member Function Documentation

◆ dimension()

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

returns dimension of a set

◆ get_B()

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

◆ get_invB()

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

◆ get_r()

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

◆ get_x()

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

◆ getColumn_B()

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

◆ getElement_B()

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

◆ getElement_r()

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

◆ getElement_x()

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

◆ getRow_B()

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

◆ name()

◆ operator VectorType()

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

returns interval vector that contains set.

◆ set_B()

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

◆ set_invB()

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

◆ set_r()

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

◆ set_x()

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

◆ setColumn_B()

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

◆ setElement_B()

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

◆ setElement_r()

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

◆ setElement_x()

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

◆ setRow_B()

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

◆ setToIdentity()

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

Member Data Documentation

◆ m_B

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

B is a coordinate system.

◆ m_invB

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

◆ m_r

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

r is a interval set in given coordinate system

◆ m_x

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

x is a center of the set