CAPD DynSys Library  5.2.0
capd::invset Namespace Reference

Classes

class  CubicalMap
 
class  ForbiddenSet
 class that defines forbidden set More...
 
struct  GetKey
 
class  Graph
 It defines a graph that in each node can store additional data. More...
 
struct  GraphNode
 
struct  less
 
struct  less< capd::vectalg::Vector< short int, 2 > >
 
class  MapGraph
 
struct  MapGraphNodeData
 
class  Scope
 class that defines set of regions it can be used do define domain, range, allowed sets for graphs More...
 

Functions

template<class MapT , class V , class M >
computeDerivative (MapT &f, V u, M &A, int period)
 Given a map 'f' it computes the derivative of 'period' iteration of 'f' at 'u'. More...
 
template<class M >
std::pair< typename M::RowVectorType, typename M::RowVectorType > computeCoordSystem (const M &A, M &rVec)
 
template<class MapT , class V , class M >
std::pair< V, V > computeCoordSystem (MapT &f, V u, int period, M &rVec)
 
template<class Map , class V , class Jet >
void oneDimInvariantManifold (Map &f, typename Map::VectorType &x, Jet &jet, int period)
 This is a generic algorithm for computing (nonrigorous) parameterization of one-dimensional invariant manifold at a fixed point x. More...
 
template<typename GraphT >
void noVisualization (const GraphT &g)
 
template<class GraphT >
void computePositiveInvariantSet (GraphT &graph, std::list< typename GraphT::VectorType > &domain, int subdiv, void(*showGraph)(const GraphT &g)=noVisualization< GraphT >)
 computes enclosure of the positive invariant set More...
 
template<class GraphT >
void computeInvariantSet (GraphT &graph, std::list< typename GraphT::VectorType > &domain, int subdiv, void(*showGraph)(const GraphT &g)=noVisualization< GraphT >)
 computes enclosure of the positive invariant set More...
 
template<class GraphT >
void computeInvariantSet (GraphT &graph, typename GraphT::VectorType &domain, int subdiv, void(*showGraph)(const GraphT &g)=noVisualization< GraphT >)
 computes enclosure of the positive invariant set More...
 
template<typename MapType , typename SetType >
void insertMapKeysIntoSet (const MapType &map, SetType &set)
 inserts all map keys into set More...
 
template<typename GraphT , typename ConstraintsT >
void propagateGraph (GraphT &graph, ConstraintsT &constraints, void(*showGraph)(const GraphT &g)=noVisualization< GraphT >)
 it iteratively compute image of all cubes in the graph and adds them if they satisfy constraints until no more new cubes can be added More...
 
template<typename GraphT , typename ConstraintsT >
void propagateVertexSet (GraphT &graph, ConstraintsT &constraints, typename GraphT::VertexSet &result)
 it iteratively compute image of all cubes in the graph and adds them if they satisfy constraints until no more new cubes can be added More...
 

Function Documentation

◆ computeCoordSystem() [1/2]

template<class M >
std::pair<typename M::RowVectorType,typename M::RowVectorType> capd::invset::computeCoordSystem ( const M &  A,
M &  rVec 
)

◆ computeCoordSystem() [2/2]

template<class MapT , class V , class M >
std::pair<V,V> capd::invset::computeCoordSystem ( MapT &  f,
u,
int  period,
M &  rVec 
)

◆ computeDerivative()

template<class MapT , class V , class M >
V capd::invset::computeDerivative ( MapT &  f,
u,
M &  A,
int  period 
)

Given a map 'f' it computes the derivative of 'period' iteration of 'f' at 'u'.

◆ computeInvariantSet() [1/2]

template<class GraphT >
void capd::invset::computeInvariantSet ( GraphT graph,
std::list< typename GraphT::VectorType > &  domain,
int  subdiv,
void(*)(const GraphT &g)  showGraph = noVisualization<GraphT> 
)

computes enclosure of the positive invariant set

Parameters
[in,out]graphgraph should contain map, resolution and optionally initial set of vertices (if not the parameter domain will be used)
[in]domainlist of boxes that covers domain (even if domain is already set in graph, this information is needed to restrict range of a cubical map)
[in]subdivnumber of the graph subdivision (in one iteration we subdivide only in one dimension)

◆ computeInvariantSet() [2/2]

template<class GraphT >
void capd::invset::computeInvariantSet ( GraphT graph,
typename GraphT::VectorType &  domain,
int  subdiv,
void(*)(const GraphT &g)  showGraph = noVisualization<GraphT> 
)
inline

computes enclosure of the positive invariant set

Parameters
[in,out]graphgraph should contain map, resolution and optionally initial set of vertices (if not the parameter domain will be used)
[in]domain"reclangular" domain
[in]subdivnumber of the graph subdivision (in one iteration we subdivide only in one dimension)

◆ computePositiveInvariantSet()

template<class GraphT >
void capd::invset::computePositiveInvariantSet ( GraphT graph,
std::list< typename GraphT::VectorType > &  domain,
int  subdiv,
void(*)(const GraphT &g)  showGraph = noVisualization<GraphT> 
)

computes enclosure of the positive invariant set

Parameters
[in,out]graphgraph should contain map, resolution and optionally initial set of vertices (if not the parameter domain will be used)
[in]domainlist of boxes that covers domain (even if domain is already set in graph, this information is needed to restrict range of a cubical map)
[in]subdivnumber of the graph subdivision (in one iteration we subdivide only in one dimension)

◆ insertMapKeysIntoSet()

template<typename MapType , typename SetType >
void capd::invset::insertMapKeysIntoSet ( const MapType &  map,
SetType &  set 
)

inserts all map keys into set

◆ noVisualization()

template<typename GraphT >
void capd::invset::noVisualization ( const GraphT g)
inline

◆ oneDimInvariantManifold()

template<class Map , class V , class Jet >
void capd::invset::oneDimInvariantManifold ( Map &  f,
typename Map::VectorType &  x,
Jet &  jet,
int  period 
)

This is a generic algorithm for computing (nonrigorous) parameterization of one-dimensional invariant manifold at a fixed point x.

◆ propagateGraph()

template<typename GraphT , typename ConstraintsT >
void capd::invset::propagateGraph ( GraphT graph,
ConstraintsT &  constraints,
void(*)(const GraphT &g)  showGraph = noVisualization<GraphT> 
)

it iteratively compute image of all cubes in the graph and adds them if they satisfy constraints until no more new cubes can be added

◆ propagateVertexSet()

template<typename GraphT , typename ConstraintsT >
void capd::invset::propagateVertexSet ( GraphT graph,
ConstraintsT &  constraints,
typename GraphT::VertexSet &  result 
)

it iteratively compute image of all cubes in the graph and adds them if they satisfy constraints until no more new cubes can be added