TCuikSystem Struct Reference

Detailed Description

This structure includes all the information defining a position analysis problem, that is, a set of varaibles and a set of equations using these variables.
We store the variables/equations as defined by the user, a simplified version where some variables/equations are removed (because they are constant or they can be defined in function of other variables), and a simplified+dummified version where equations that can not be directly handled by linear relaxations are re-wrote into simpler equations.
Note that the two simplified cuiksystems are for internal use and its existence is transparent: all function calls refer to the original variables and equations.
Finally, this structure also includes information about variables and equations that is cached to speed up the process. Everytime there is a change in the system this information must be recomputed.

See Also
cuiksystem.h cuiksystem.c Tmapping

Definition at line 181 of file cuiksystem.h.

Data Fields

Tconstants constants
 
boolean updated
 
boolean consistent
 
boolean empty
 
boolean scalar
 
Tstatistics st
 
unsigned int searchMode
 
Tequation orig_eqMin
 
Tmappingorig2sd
 
Tequations equations
 
Tvariables variables
 
unsigned int nequations
 
unsigned int nvariables
 
booleansystemVar
 
booleannotDummyVar
 
unsigned int * varType
 
Tequation eqMin
 
Tmappingorig2s
 
boolean simp_empty
 
Tequations simp_equations
 
Tvariables simp_variables
 
unsigned int simp_nequations
 
unsigned int simp_nvariables
 
unsigned int simp_nee
 
unsigned int * simp_tp
 
TJacobian J
 
Tequations orig_equations
 
Tvariables orig_variables
 
unsigned int orig_nequations
 
unsigned int orig_nvariables
 
booleanorig_systemVar
 
booleanorig_notDummyVar
 
char ** orig_varNames
 

Field Documentation

Tconstants TCuikSystem::constants

Constants defined when reading the cuiksystem from file

Definition at line 182 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikSystemMerge(), DeleteCuikSystem(), and InitCuikSystem().

boolean TCuikSystem::consistent

TRUE if the system is consistent (it does not turn trivially inconsisted while simplifying it).

Definition at line 185 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), ReduceBox(), UnUpdateCuikSystem(), and UpdateCuikSystem().

boolean TCuikSystem::empty

TRUE if the system includes no equations.

Definition at line 187 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikSystemMerge(), DeleteCuikSystem(), InitCuikSystem(), and UpdateCuikSystem().

Tstatistics TCuikSystem::st

Set of statistics including information about the last attempt to solve the problem

Definition at line 190 of file cuiksystem.h.

Referenced by CopyCuikSystem(), DeleteCuikSystem(), LoadCSState(), MPI_SolveCuikSystem(), MPI_TreatBox(), PostProcessBox(), ReduceBox(), SaveCSState(), and SolveCuikSystem().

unsigned int TCuikSystem::searchMode
Tequation TCuikSystem::orig_eqMin
unsigned int TCuikSystem::nequations

Total number of equations in the simplified+dummified system.

Definition at line 204 of file cuiksystem.h.

Referenced by ComputeSplitDimInt(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().

unsigned int TCuikSystem::nvariables
boolean* TCuikSystem::systemVar

TRUE if the 'i'-th variable in the simplified+dummified system is a system var.

Definition at line 206 of file cuiksystem.h.

Referenced by ComputeSplitDimInt(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), MaxReduction(), MPI_SolveCuikSystem(), PostProcessBox(), ReduceBox(), ReduceBoxEquationWise(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().

boolean* TCuikSystem::notDummyVar

TRUE if the 'i'-th variable in the simplified+dummified system is not a dummy var.

Definition at line 208 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), ReduceBox(), UnUpdateCuikSystem(), and UpdateCuikSystem().

unsigned int* TCuikSystem::varType

Type for each original variable (system, dummy, ...) in the simplified+dummified system.

Definition at line 210 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), ReduceBox(), UnUpdateCuikSystem(), and UpdateCuikSystem().

Tequation TCuikSystem::eqMin

Equation to be minimized when searcMode is set to MINIMIZATION_SEARCH in its simplified form.

Definition at line 213 of file cuiksystem.h.

Referenced by CopyCuikSystem(), PrintCuikSystemWithSimplification(), UnUpdateCuikSystem(), and UpdateCuikSystem().

Tmapping* TCuikSystem::orig2s

Mappings to relate the original and the simplified variables.

Definition at line 218 of file cuiksystem.h.

Referenced by AddSimplifiedJacobianEquations(), CopyCuikSystem(), CuikNewtonInBox(), GenerateSimplifiedPoint(), InitCuikSystem(), RegenerateOriginalPoint(), SimplifyCuikSystem(), and UnUpdateCuikSystem().

boolean TCuikSystem::simp_empty

TRUE if the simplified system includes no equations.

Definition at line 220 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikSystemMerge(), DeleteCuikSystem(), InitCuikSystem(), SolveCuikSystem(), and UpdateCuikSystem().

unsigned int TCuikSystem::simp_nequations

Total number of equations in the simplified system.

Definition at line 225 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikNewtonInBox(), CuikNewtonSimp(), ReduceBox(), UnUpdateCuikSystem(), and UpdateCuikSystem().

unsigned int TCuikSystem::simp_nvariables
unsigned int TCuikSystem::simp_nee

Number of equalities in the simplified set of equations.

Definition at line 227 of file cuiksystem.h.

Referenced by AddSimplifiedJacobianEquations(), CopyCuikSystem(), CuikNewtonInBox(), CuikNewtonSimp(), UnUpdateCuikSystem(), and UpdateCuikSystem().

unsigned int* TCuikSystem::simp_tp

Topology of the variables in the simplified system. NULL if all variables are real.

Definition at line 229 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikNewtonInBox(), CuikNewtonSimp(), InitCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().

TJacobian TCuikSystem::J

Jacobian of the simplified set of equations (only for equalities).

Definition at line 232 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikNewtonInBox(), CuikNewtonSimp(), UnUpdateCuikSystem(), and UpdateCuikSystem().

unsigned int TCuikSystem::orig_nequations

Total number of equations in the original system.

Definition at line 239 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().

boolean* TCuikSystem::orig_systemVar

TRUE if the 'i'-th original variable is a system var or a secondary var. This array is basically used to select the variables when printing solutions. We include the secondary variables since, although they can be computed from the system ones, we have no explicit equations to do so and, therefore. the presence of the secondary variables in solutions is a must. This basically caches the output of GetCSSystemVars

Definition at line 241 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikNewtonInBox(), CuikSystemMerge(), InitCuikSystem(), PostProcessBox(), RegenerateSolutionPoint(), UnUpdateCuikSystem(), and UpdateCuikSystem().

boolean* TCuikSystem::orig_notDummyVar

TRUE if the 'i'-th original variable is not a dummy var.

Definition at line 248 of file cuiksystem.h.

Referenced by CopyCuikSystem(), CuikNewtonInBox(), CuikSystemMerge(), IncrementalSampleCuikSystemInBox(), InitCuikSystem(), PostProcessBox(), UnUpdateCuikSystem(), and UpdateCuikSystem().

char** TCuikSystem::orig_varNames

Pointers to the name of the variables. Used when printing boxes.

Definition at line 250 of file cuiksystem.h.

Referenced by AddSimplifiedJacobianEquations(), CopyCuikSystem(), IncrementalSampleCuikSystemInBox(), PostProcessBox(), UnUpdateCuikSystem(), and UpdateCuikSystem().