codac
codac_CtcPicard.h
1 
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 
18 namespace 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);
35  void contract(TubeVector& x, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
36 
37  int picard_iterations() const;
38 
39  protected:
40 
41  void contract_kth_slices(TubeVector& x, int k, TimePropag t_propa);
42  void guess_kth_slices_envelope(TubeVector& x, int k, TimePropag t_propa);
43 
44  const TFunction* m_f_ptr = nullptr;
45  const TFnc& m_f;
46  const float m_delta;
47  int m_picard_iterations = 0;
48 
49  static const std::string m_ctc_name;
50  static std::vector<std::string> m_str_expected_doms;
51  friend class ContractorNetwork;
52  };
53 }
54 
55 #endif
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition: codac_capd_helpers.h:9
Contractor interface.
Definition: codac_DynCtc.h:60
Graph of contractors and domains that model a problem in the constraint programming framework...
Definition: codac_ContractorNetwork.h:48
backward in time (from to )
static const std::string m_ctc_name
class name (mainly used for CN Exceptions)
Definition: codac_CtcPicard.h:49
static std::vector< std::string > m_str_expected_doms
allowed domains signatures (mainly used for CN Exceptions)
Definition: codac_CtcPicard.h:50
n-dimensional tube , defined as an interval of n-dimensional trajectories
Definition: codac_TubeVector.h:38
One dimensional tube , defined as an interval of scalar trajectories.
Definition: codac_Tube.h:47
forward in time (from to )
CtcPicard class.
Definition: codac_CtcPicard.h:25
TimePropag
Specifies the temporal propagation way (forward or backward in time)
Definition: codac_DynCtc.h:26