codac 1.5.7
Loading...
Searching...
No Matches
codac_CtcPicard.h
1
10
11#ifndef __CODAC_CTCPICARD_H__
12#define __CODAC_CTCPICARD_H__
13
14#include "codac_DynCtc.h"
15#include "codac_TFnc.h"
16#include "codac_Slice.h"
17
18namespace codac
19{
25 class CtcPicard : public DynCtc
26 {
27 public:
28
29 CtcPicard(const Function& f, float delta = 1.1);
30 CtcPicard(const TFnc& f, float delta = 1.1);
31 ~CtcPicard();
32
33 void contract(std::vector<Domain*>& v_domains);
34 void contract(Tube& x, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
36
37 int picard_iterations() const;
38
39 void guess_kth_slices_envelope(TubeVector& x, int k, TimePropag t_propa);
40
41 protected:
42
43 void contract_kth_slices(TubeVector& x, int k, TimePropag t_propa);
44
45 const TFunction* m_f_ptr = nullptr;
46 const TFnc& m_f;
47 const float m_delta;
48 int m_picard_iterations = 0;
49
50 static const std::string m_ctc_name;
51 static std::vector<std::string> m_str_expected_doms;
52 friend class ContractorNetwork;
53 };
54}
55
56#endif
static std::vector< std::string > m_str_expected_doms
allowed domains signatures (mainly used for CN Exceptions)
Definition codac_CtcPicard.h:51
static const std::string m_ctc_name
class name (mainly used for CN Exceptions)
Definition codac_CtcPicard.h:50
DynCtc(bool intertemporal=true)
Creates a contractor.
One dimensional tube , defined as an interval of scalar trajectories.
Definition codac_Tube.h:48
n-dimensional tube , defined as an interval of n-dimensional trajectories
Definition codac_TubeVector.h:39
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition codac_capd_helpers.h:9
TimePropag
Specifies the temporal propagation way (forward or backward in time)
Definition codac_DynCtc.h:27
@ BACKWARD
backward in time (from to )
Definition codac_DynCtc.h:29
@ FORWARD
forward in time (from to )
Definition codac_DynCtc.h:28