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

Paving resulting from a Set-Inversion Via Interval Analysis. More...

#include <codac_SIVIAPaving.h>

Inheritance diagram for codac::SIVIAPaving:
Collaboration diagram for codac::SIVIAPaving:

Public Member Functions

 SIVIAPaving (const IntervalVector &init_box)
 Initializes a SIVIA paving.
 
void compute (const Function &f, const IntervalVector &y, float precision)
 Computes the paving from the constraint \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\).
 
void compute (Ctc &ctc, float precision)
 Computes the paving from using a contractor.
 
void compute (ibex::Sep &sep, float precision)
 Computes the paving from a separator.
 
- Public Member Functions inherited from codac::Paving
 Paving (const IntervalVector &box, SetValue value=SetValue::UNKNOWN)
 Creates a paving.
 
 ~Paving ()
 Paving destructor.
 
Pavingget_first_subpaving ()
 Points to the first subpaving of the binary tree implementing this paving set.
 
const Pavingget_first_subpaving () const
 Points to the first subpaving of the binary tree implementing this paving set.
 
Pavingget_second_subpaving ()
 Points to the second subpaving of the binary tree implementing this paving set.
 
const Pavingget_second_subpaving () const
 Points to the second subpaving of the binary tree implementing this paving set.
 
Pavingget_root ()
 Returns a pointer to the root of the paving structure.
 
const Pavingget_root () const
 Returns a pointer to the root of the paving structure.
 
Pavingget_first_leaf (SetValue val, bool without_flag=false)
 Points to the first leaf of the specified value.
 
const Pavingget_first_leaf (SetValue val, bool without_flag=false) const
 Points to the first leaf of the paving structure.
 
void bisect (float ratio=0.49)
 Bisects this paving into two subpavings with some ratio bisection.
 
bool is_leaf () const
 Returns true if this paving is made of two subpavings.
 
bool flag () const
 Tests whether this paving has been flagged or not.
 
void set_flag () const
 Flags this paving and all its children.
 
void reset_flags () const
 Removes the flags of this Paving and all its children.
 
void reset_paving (SetValue value=SetValue::UNKNOWN)
 Same as building a new Paving object.
 
void get_boxes (std::list< IntervalVector > &l_subpavings, SetValue val, SetValue neg_val=SetValue::DEFAULT) const
 Returns a set of boxes leaves of some value.
 
void get_pavings_intersecting (SetValue val, const IntervalVector &box_to_intersect, std::vector< const Paving * > &v_subpavings, bool no_degenerated_intersection=false) const
 Returns a set of Paving leaves of some value and intersecting a given box.
 
void get_neighbours (std::vector< const Paving * > &v_neighbours, SetValue val=SetValue::IN|SetValue::OUT|SetValue::UNKNOWN, bool without_flag=false) const
 Returns the neighbors (adjacent items) of this Paving, having some value.
 
std::vector< ConnectedSubsetget_connected_subsets (bool sort_by_size=false, SetValue val=SetValue::UNKNOWN|SetValue::IN) const
 Returns the set of connected subsets of this paving.
 
- Public Member Functions inherited from codac::Set
 Set (const IntervalVector &box, SetValue value=SetValue::UNKNOWN)
 Creates a set.
 
 ~Set ()
 Set destructor.
 
SetValue value () const
 Returns the value of this set.
 
int size () const
 Returns the dimension of the paving.
 
const IntervalVector & box () const
 Returns the n-dimensional box representing this set.
 
void set_value (SetValue value)
 Sets the integer value for this set.
 

Additional Inherited Members

- Public Attributes inherited from codac::Paving
bool m_flag = false
 optional flag, can be used by search algorithms
 
Pavingm_root = nullptr
 pointer to the root
 
Pavingm_second_subpaving = nullptr
 tree structure
 
- Protected Attributes inherited from codac::Set
SetValue m_value
 integer value of this set
 
IntervalVector m_box
 box representing this set
 

Detailed Description

Paving resulting from a Set-Inversion Via Interval Analysis.

Constructor & Destructor Documentation

◆ SIVIAPaving()

codac::SIVIAPaving::SIVIAPaving ( const IntervalVector & init_box)

Initializes a SIVIA paving.

Parameters
init_boxn-dimensional box defining the hull of the paving

Member Function Documentation

◆ compute() [1/3]

void codac::SIVIAPaving::compute ( const Function & f,
const IntervalVector & y,
float precision )

Computes the paving from the constraint \(\mathbf{f}(\mathbf{x})\in[\mathbf{y}]\).

Parameters
fIBEX static function \(\mathbf{f}\), possibly non-linear
ybox \([\mathbf{y}]\)
precisionprecision \(\epsilon\) of the SIVIA approximation

◆ compute() [2/3]

void codac::SIVIAPaving::compute ( Ctc & ctc,
float precision )

Computes the paving from using a contractor.

Parameters
ctcstatic contractor on boxes
precisionprecision \(\epsilon\) of the SIVIA approximation

◆ compute() [3/3]

void codac::SIVIAPaving::compute ( ibex::Sep & sep,
float precision )

Computes the paving from a separator.

Parameters
sepseparator object
precisionprecision \(\epsilon\) of the SIVIA approximation

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