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.
TRUE if the cached information is up to date.
Definition at line 184 of file cuiksystem.h.
Referenced by AddEquation2CS(), AddMatrixEquation2CS(), AddVariable2CS(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), ReduceBox(), SampleCuikSystemInBox(), SetCSVariableRange(), UnUpdateCuikSystem(), and UpdateCuikSystem().
TRUE for scalar systems (i.e., non-including).
Definition at line 188 of file cuiksystem.h.
Referenced by AddJacobianEquationsInt(), AddMatrixEquation2CS(), AddSimplifiedJacobianEquations(), ComputeSplitDim(), CopyCuikSystem(), CuikSystemMerge(), DummifyCuikSystem(), GetCSEquation(), GetSimpCSJacobian(), IncrementalSampleCuikSystem(), IncrementalSampleCuikSystemInBox(), InitCuikSystem(), IsCSScalar(), MaxReduction(), MPI_SolveCuikSystem(), MPI_TreatBox(), SampleCuikSystem(), SampleCuikSystemInBox(), SimplifyCuikSystem(), and SolveCuikSystem().
unsigned int TCuikSystem::searchMode |
Criterion to be used when sorting the boxes pending to be processed.
Definition at line 193 of file cuiksystem.h.
Referenced by AddTerm2SearchCriterion(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), MPI_SolveCuikSystem(), PostProcessBox(), PrintCuikSystem(), PrintCuikSystemWithSimplification(), SetCSSearchMode(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
Mappings to relate the original and the simplified+dummified variables.
Definition at line 199 of file cuiksystem.h.
Referenced by ComputeSplitDim(), CopyCuikSystem(), CuikSystemMerge(), IncrementalSampleCuikSystemInBox(), InitCuikSystem(), MaxReduction(), MPI_SolveCuikSystem(), PostProcessBox(), PrintCuikSystemWithSimplification(), RegenerateOriginalBox(), SaveCuikSystemSimplification(), SimplifyCuikSystem(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
Simplified+dummified set of equations
Definition at line 201 of file cuiksystem.h.
Referenced by ComputeSplitDimInt(), CopyCuikSystem(), CSRemoveLCVars(), CSRemoveUnusedVars(), CSRemoveVarsWithCtRange(), DummifyAndAddEquation(), DummifyCuikSystem(), PrintCuikSystemWithSimplification(), ReduceBox(), ReduceBoxEquationWise(), SimplifyCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
Simplified+dummified set of variables
Definition at line 202 of file cuiksystem.h.
Referenced by CopyCuikSystem(), CSRemoveLCVars(), CSRemoveUnusedVars(), CSRemoveVarsWithCtRange(), DummifyAndAddEquation(), MPI_SolveCuikSystem(), PrintCuikSystemWithSimplification(), ReduceBox(), ReduceBoxEquationWise(), SimplifyCuikSystem(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
unsigned int TCuikSystem::nequations |
unsigned int TCuikSystem::nvariables |
Total num. of variables in the simplified+dummified system.
Definition at line 205 of file cuiksystem.h.
Referenced by ComputeSplitDimInt(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), LoadCSState(), MPI_SolveCuikSystem(), MPI_TreatBox(), ReduceBox(), ReduceBoxEquationWise(), UnUpdateCuikSystem(), and UpdateCuikSystem().
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().
unsigned int* TCuikSystem::varType |
Simplified set of equations
Definition at line 222 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), CopyCuikSystem(), CuikNewtonInBox(), CuikNewtonSimp(), ErrorInSimpCSEquations(), ErrorInSimpInequalitiesOnPoint(), EvaluateSimpCSEquations(), EvaluateSubSetSimpCSEquations(), GetSimpCSJacobian(), SimpInequalitiesHoldOnPoint(), SimplifyCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
unsigned int TCuikSystem::simp_nequations |
unsigned int TCuikSystem::simp_nvariables |
unsigned int TCuikSystem::simp_nee |
unsigned int* TCuikSystem::simp_tp |
Equations as given by the user
Definition at line 236 of file cuiksystem.h.
Referenced by AddEquation2CS(), AddMatrixEquation2CS(), CopyCuikSystem(), CuikSystemMerge(), DeleteCuikSystem(), ErrorInCSEquations(), ErrorInInequalities(), ErrorInSolution(), EvaluateCSEquations(), EvaluateCSJacobian(), GetCSEquation(), GetCSEquations(), GetCSJacobian(), GetCSNumEquations(), InequalitiesHoldOnPoint(), InitCuikSystem(), IsCSPolynomial(), PrintCuikSystem(), PrintCuikSystemWithSimplification(), RegenerateSolution(), SampleCuikSystemInBox(), SimplifyCuikSystem(), and UpdateCuikSystem().
Variables as given by the user
Definition at line 237 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), AddVariable2CS(), CopyCuikSystem(), CSRemoveLCVars(), CSRemoveVarsWithCtRange(), CuikNewtonInBox(), CuikSystemMerge(), DeleteCuikSystem(), ErrorInInequalities(), ErrorInSolution(), EvaluateCSJacobian(), GenerateInitialBox(), GetCSJacobian(), GetCSNumNonDummyVariables(), GetCSNumSystemVariables(), GetCSNumVariables(), GetCSSystemVars(), GetCSVariable(), GetCSVariableID(), GetCSVariableName(), GetCSVariableNames(), GetCSVariables(), GetCSVarTopology(), IncrementalSampleCuikSystemInBox(), InitCuikSystem(), PointInSystemBox(), PostProcessBox(), PrintCuikSystem(), PrintCuikSystemWithSimplification(), RegenerateOriginalBox(), RegenerateOriginalPoint(), RegenerateSolution(), SampleCuikSystemInBox(), SetCSVariableRange(), SimplifyCuikSystem(), and UpdateCuikSystem().
unsigned int TCuikSystem::orig_nequations |
unsigned int TCuikSystem::orig_nvariables |
Total number of variables in the original system.
Definition at line 240 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), CopyCuikSystem(), CuikNewtonInBox(), CuikSystemMerge(), ErrorInInequalities(), InitCuikSystem(), PostProcessBox(), PrintCuikSystemWithSimplification(), RegenerateOriginalPoint(), RegenerateSolution(), RegenerateSolutionPoint(), 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 |
char** TCuikSystem::orig_varNames |
|
Follow us!