codac 1.5.6
Loading...
Searching...
No Matches
codac::CtcEval Class Reference

\(\mathcal{C}_\textrm{eval}\) that contracts a tube \([y](\cdot)\) with respect to its derivative tube \([w](\cdot)\) and a measurement \([t]\times[z]\) according to the constraints \(z=y(t)\) and \(\dot{y}(\cdot)=w(\cdot)\) More...

#include <codac_CtcEval.h>

Inheritance diagram for codac::CtcEval:
Collaboration diagram for codac::CtcEval:

Public Member Functions

 CtcEval ()
 Creates a contractor object \(\mathcal{C}_\textrm{eval}\).
 
void enable_time_propag (bool enable_propagation)
 Enables a forward/backward temporal propagation of the contraction.
 
void contract (double t, Interval &z, Tube &y, Tube &w)
 \(\mathcal{C}_\textrm{eval}\big(t,[z],[y](\cdot),[w](\cdot)\big)\): contracts the tube \([y](\cdot)\) and the evaluation \([z]\).
 
void contract (Interval &t, Interval &z, Tube &y, Tube &w)
 \(\mathcal{C}_\textrm{eval}\big([t],[z],[y](\cdot),[w](\cdot)\big)\): contracts the tube \([y](\cdot)\) and the evaluation \([t]\times[z]\).
 
void contract (double t, IntervalVector &z, TubeVector &y, TubeVector &w)
 \(\mathcal{C}_\textrm{eval}\big(t,[\mathbf{z}],[\mathbf{y}](\cdot),[\mathbf{w}](\cdot)\big)\): contracts the tube \([\mathbf{y}](\cdot)\) and the evaluation \([\mathbf{z}]\).
 
void contract (Interval &t, IntervalVector &z, TubeVector &y, TubeVector &w)
 \(\mathcal{C}_\textrm{eval}\big([t],[\mathbf{z}],[\mathbf{y}](\cdot),[\mathbf{w}](\cdot)\big)\): contracts the tube \([\mathbf{y}](\cdot)\) and the evaluation \([t]\times[\mathbf{z}]\).
 
void contract (Interval &t, Interval &z, const Tube &y)
 \(\mathcal{C}_\textrm{eval}\big([t],[z],[y](\cdot)\big)\): contracts the evaluation \([t]\times[z]\) only.
 
void contract (Interval &t, IntervalVector &z, const TubeVector &y)
 \(\mathcal{C}_\textrm{eval}\big([t],[\mathbf{z}],[\mathbf{y}](\cdot)\big)\): contracts the evaluation \([t]\times[\mathbf{z}]\) only.
 
- Public Member Functions inherited from codac::DynCtc
 DynCtc (bool intertemporal=true)
 Creates a contractor.
 
virtual ~DynCtc ()
 DynCtc destructor.
 
void preserve_slicing (bool preserve=true)
 Specifies whether the contractor can impact the tube's slicing or not.
 
void set_fast_mode (bool fast_mode=true)
 Specifies an optional fast mode of contraction.
 
void restrict_tdomain (const Interval &tdomain)
 Limits the temporal domain of contractions.
 
bool is_intertemporal () const
 Tests if the related constraint is inter-temporal or not.
 

Protected Attributes

bool m_propagation_enabled = true
 if true, a complete temporal propagation will be performed
 
- Protected Attributes inherited from codac::DynCtc
bool m_preserve_slicing = true
 if true, tube's slicing will not be affected by the contractor
 
bool m_fast_mode = false
 some contractors may propose more pessimistic but faster execution modes
 
Interval m_restricted_tdomain
 limits the contractions to the specified temporal domain
 
const bool m_intertemporal = true
 defines if the related constraint is inter-temporal or not (true by default)
 

Static Protected Attributes

static const std::string m_ctc_name
 class name (mainly used for CN Exceptions)
 
static std::vector< std::string > m_str_expected_doms
 allowed domains signatures (mainly used for CN Exceptions)
 

Detailed Description

\(\mathcal{C}_\textrm{eval}\) that contracts a tube \([y](\cdot)\) with respect to its derivative tube \([w](\cdot)\) and a measurement \([t]\times[z]\) according to the constraints \(z=y(t)\) and \(\dot{y}(\cdot)=w(\cdot)\)

Note
This contractor is denoted \(\mathcal{C}_\textrm{eval}\) in the literature.

Member Function Documentation

◆ enable_time_propag()

void codac::CtcEval::enable_time_propag ( bool enable_propagation)

Enables a forward/backward temporal propagation of the contraction.

Note
If disabled, then the contraction will only affect the slices over \([t]\).
Parameters
enable_propagationif true, the contractions will be propagated as far as possible across \([t_0,t_f]\)

◆ contract() [1/6]

void codac::CtcEval::contract ( double t,
Interval & z,
Tube & y,
Tube & w )

\(\mathcal{C}_\textrm{eval}\big(t,[z],[y](\cdot),[w](\cdot)\big)\): contracts the tube \([y](\cdot)\) and the evaluation \([z]\).

Note
The slicing of \([y](\cdot)\) and \([w](\cdot)\) may be changed.
Parameters
tthe date \(t\) of the evaluation
zthe bounded evaluation \([z]\)
ythe scalar tube \([y](\cdot)\)
wthe scalar derivative tube \([w](\cdot)\)

◆ contract() [2/6]

void codac::CtcEval::contract ( Interval & t,
Interval & z,
Tube & y,
Tube & w )

\(\mathcal{C}_\textrm{eval}\big([t],[z],[y](\cdot),[w](\cdot)\big)\): contracts the tube \([y](\cdot)\) and the evaluation \([t]\times[z]\).

Note
The slicing of \([y](\cdot)\) and \([w](\cdot)\) may be changed.
Parameters
tthe uncertain tdomain \([t]\) of the evaluation
zthe bounded evaluation \([z]\)
ythe scalar tube \([y](\cdot)\)
wthe scalar derivative tube \([w](\cdot)\)

◆ contract() [3/6]

void codac::CtcEval::contract ( double t,
IntervalVector & z,
TubeVector & y,
TubeVector & w )

\(\mathcal{C}_\textrm{eval}\big(t,[\mathbf{z}],[\mathbf{y}](\cdot),[\mathbf{w}](\cdot)\big)\): contracts the tube \([\mathbf{y}](\cdot)\) and the evaluation \([\mathbf{z}]\).

Note
The slicing of \([\mathbf{y}](\cdot)\) and \([\mathbf{w}](\cdot)\) may be changed.
Parameters
tthe date \(t\) of the evaluation
zthe bounded evaluation \([\mathbf{z}]\)
ythe n-dimensional tube \([\mathbf{y}](\cdot)\)
wthe n-dimensional derivative tube \([\mathbf{w}](\cdot)\)

◆ contract() [4/6]

void codac::CtcEval::contract ( Interval & t,
IntervalVector & z,
TubeVector & y,
TubeVector & w )

\(\mathcal{C}_\textrm{eval}\big([t],[\mathbf{z}],[\mathbf{y}](\cdot),[\mathbf{w}](\cdot)\big)\): contracts the tube \([\mathbf{y}](\cdot)\) and the evaluation \([t]\times[\mathbf{z}]\).

Note
The slicing of \([\mathbf{y}](\cdot)\) and \([\mathbf{w}](\cdot)\) may be changed.
Parameters
tthe uncertain tdomain \([t]\) of the evaluation
zthe bounded evaluation \([\mathbf{z}]\)
ythe n-dimensional tube \([\mathbf{y}](\cdot)\)
wthe n-dimensional derivative tube \([\mathbf{w}](\cdot)\)

◆ contract() [5/6]

void codac::CtcEval::contract ( Interval & t,
Interval & z,
const Tube & y )

\(\mathcal{C}_\textrm{eval}\big([t],[z],[y](\cdot)\big)\): contracts the evaluation \([t]\times[z]\) only.

Parameters
tthe uncertain tdomain \([t]\) of the evaluation
zthe bounded evaluation \([z]\)
ythe scalar tube \([y](\cdot)\)

◆ contract() [6/6]

void codac::CtcEval::contract ( Interval & t,
IntervalVector & z,
const TubeVector & y )

\(\mathcal{C}_\textrm{eval}\big([t],[\mathbf{z}],[\mathbf{y}](\cdot)\big)\): contracts the evaluation \([t]\times[\mathbf{z}]\) only.

Parameters
tthe uncertain tdomain \([t]\) of the evaluation
zthe bounded evaluation \([\mathbf{z}]\)
ythe n-dimensional tube \([\mathbf{y}](\cdot)\)

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