\(\mathcal{C}_{\frac{d}{dt}}\) that contracts a tube \([x](\cdot)\) with respect to its derivative tube \([v](\cdot)\) according to the constraint \(\dot{x}(\cdot)=v(\cdot)\)
More...
#include <codac_CtcDeriv.h>
|
void | contract_gates (Slice &x, const Slice &v) |
| Contracts input and output gates of a slice regarding its derivative set.
|
|
|
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)
|
|
|
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)
|
|
\(\mathcal{C}_{\frac{d}{dt}}\) that contracts a tube \([x](\cdot)\) with respect to its derivative tube \([v](\cdot)\) according to the constraint \(\dot{x}(\cdot)=v(\cdot)\)
- Note
- This contractor is called \(\mathcal{C}_{\frac{d}{dt}}\) in the literature.
- Todo
- Contract the tube \([v](\cdot)\) if \([x](\cdot)\) degenerated?
◆ contract() [1/3]
\(\mathcal{C}_{\frac{d}{dt}}\big([x](\cdot),[v](\cdot)\big)\): contracts the tube \([x](\cdot)\) with respect to its derivative \([v](\cdot)\).
- Precondition
- \([x](\cdot)\) and \([v](\cdot)\) must share the same slicing and tdomain.
- Parameters
-
x | the scalar tube \([x](\cdot)\) |
v | the scalar derivative tube \([v](\cdot)\) |
t_propa | an optional temporal way of propagation (forward or backward in time, both ways by default) |
◆ contract() [2/3]
\(\mathcal{C}_{\frac{d}{dt}}\big([\mathbf{x}](\cdot),[\mathbf{v}](\cdot)\big)\): contracts the tube \([\mathbf{x}](\cdot)\) with respect to its derivative \([\mathbf{v}](\cdot)\).
- Precondition
- \([\mathbf{x}](\cdot)\) and \([\mathbf{v}](\cdot)\) must share the same dimension, slicing and tdomain.
- Parameters
-
x | the n-dimensional tube \([\mathbf{x}](\cdot)\) |
v | the n-dimensional derivative tube \([\mathbf{v}](\cdot)\) |
t_propa | an optional temporal way of propagation (forward or backward in time, both ways by default) |
◆ contract() [3/3]
\(\mathcal{C}_{\frac{d}{dt}}\big(\llbracket x\rrbracket(\cdot),\llbracket v\rrbracket(\cdot)\big)\): contracts the slice \(\llbracket x\rrbracket(\cdot)\) with respect to its derivative \(\llbracket v\rrbracket(\cdot)\).
- Precondition
- \(\llbracket x\rrbracket(\cdot)\) and \(\llbracket v\rrbracket(\cdot)\) must share the same tdomain.
- Parameters
-
x | the slice \(\llbracket x\rrbracket(\cdot)\) |
v | the derivative slice \(\llbracket v\rrbracket(\cdot)\) |
t_propa | an optional temporal way of propagation (forward or backward in time, both ways by default) |
◆ contract_gates()
void codac::CtcDeriv::contract_gates |
( |
Slice & | x, |
|
|
const Slice & | v ) |
|
protected |
Contracts input and output gates of a slice regarding its derivative set.
- Precondition
- \(\llbracket x\rrbracket(\cdot)\) and \(\llbracket v\rrbracket(\cdot)\) must share the same tdomain.
- Note
- Only the gates may be affected. This method is used for the \(\mathcal{C}_\textrm{eval}\) contractor.
- Parameters
-
x | the slice \(\llbracket x\rrbracket(\cdot)\) |
v | the derivative slice \(\llbracket v\rrbracket(\cdot)\) |
The documentation for this class was generated from the following file: