ibex::System Class Reference
[Contractors]

System of equations or inequations . More...

#include <IbexSystem.h>

Inheritance diagram for ibex::System:

ibex::CSP

List of all members.

Public Member Functions

 System (const char *filename)
 System (const vector< const ArithConstraint * > &ctrs, Space &space)
 System (const vector< const ArithConstraint * > &ctrs, SpaceFactory &fac)
 System (SpaceFactory &fac)
 System (const System &sys)
const ArithConstraintctr (int i) const
void eval (INTERVAL_VECTOR &f) const
void eval_mid (INTERVAL_VECTOR &f) const
void eval_pt (INTERVAL_VECTOR &f, const VECTOR &pt) const
void jacobian (INTERVAL_MATRIX &J) const
void hansen_matrix (INTERVAL_MATRIX &H) const


Detailed Description

System of equations or inequations .

A system contains a list of constraints and a space.

Author:
Gilles Chabert
Date:
March 2007

Constructor & Destructor Documentation

ibex::System::System ( const char *  filename  ) 

Loads a system from a file.

Parameters:
filename a file that follows the syntax of language.

ibex::System::System ( const vector< const ArithConstraint * > &  ctrs,
Space space 
)

Create a system of constraints on a given space.

ibex::System::System ( const vector< const ArithConstraint * > &  ctrs,
SpaceFactory fac 
)

Create a system of constraints with its own space (built by the factory fac).

ibex::System::System ( SpaceFactory fac  ) 

Create a system of constraints with its own space (built by the factory fac). All the constraints of the factory's environment are added.

ibex::System::System ( const System sys  ) 

Duplicate a system (the space is passed by reference).


Member Function Documentation

const ArithConstraint& ibex::System::ctr ( int  i  )  const [inline]

Return a (const) reference to the ith equation.

Reimplemented from ibex::CSP.

void ibex::System::eval ( INTERVAL_VECTOR f  )  const [inline]

Evaluate the vector-valued function F (this system being F(x) op 0) with interval arithemtics.

The computation performed is something like F(box , upx , epx , sbx ).

Parameters:
f - the vector that will contain the result on return.
Precondition:
Dimension of f must match nb_var().

void ibex::System::eval_mid ( INTERVAL_VECTOR f  )  const [inline]

Evaluate the vector-valued function F with the middle of box.

The computation performed is F(mid box , upx , epx , sbx ).

Parameters:
f - the vector that will contain the result on return.
Precondition:
Dimension of f must match nb_var().
See also:
eval_pt(INTERVAL_VECTOR&,const VECTOR&) const

void ibex::System::eval_pt ( INTERVAL_VECTOR f,
const VECTOR &  pt 
) const

Evaluate the vector-valued function F with a point argument pt.

The computation performed is F(pt, upx , epx , sbx ).

Parameters:
f - the vector that will contain the result on return.
pt - the point argument.
Precondition:
Dimension of f must match nb_var().
See also:
eval(INTERVAL_VECTOR&) const

void ibex::System::jacobian ( INTERVAL_MATRIX J  )  const

Compute an interval enclosure of the jacobian matrix.

Parameters:
J - the matrix that will contain the result on return.
Exceptions:
UnfeasibilityException if the box does not intersect the definition domain of the function.
NotDifferentiableException if the function is not differentiable.
UnboundedResultException if the jacobian matrix is unbounded. In this case the matrix J contains an undefined (partial) result, it should be ignored.
Precondition:
Dimensions of J must match nb_ctr() rows and nb_var() columns.

void ibex::System::hansen_matrix ( INTERVAL_MATRIX H  )  const

Compute an interval enclosure of Hansen's matrix (see [Han92]).

Parameters:
H - the matrix that will contain the result on return.
Precondition:
Dimensions of H must match nb_ctr() rows and nb_var() columns.
Exceptions:
UnfeasibilityException if the box does not intersect the definition domain of the function.
NotDifferentiableException if the function is not differentiable.
UnboundedResultException if the jacobian matrix is unbounded. In this case the matrix H contains an undefined (partial) result, it should be ignored.


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

Generated on Sun Jun 27 15:52:00 2010 for IBEX by  doxygen 1.5.5