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 183 of file cuiksystem.h.
◆ constants
◆ updated
TRUE if the cached information is up to date.
Definition at line 186 of file cuiksystem.h.
Referenced by AddEquation2CS(), AddMatrixEquation2CS(), AddTerm2SearchCriterion(), AddVariable2CS(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), ReduceBox(), SampleCuikSystemInBox(), SetCSSearchMode(), SetCSVariableRange(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ consistent
◆ empty
◆ scalar
TRUE for scalar systems (i.e., non-including).
Definition at line 190 of file cuiksystem.h.
Referenced by AddJacobianEquations(), AddJacobianEquationsInt(), AddMatrixEquation2CS(), AddSimplifiedJacobianEquations(), ComputeSplitDim(), CopyCuikSystem(), CSRemoveLCVars(), CuikSystemMerge(), DummifyCuikSystem(), GetCSEquation(), IncrementalSampleCuikSystem(), IncrementalSampleCuikSystemInBox(), InitCuikSystem(), IsCSScalar(), MaxReduction(), MPI_SolveCuikSystem(), MPI_TreatBox(), SampleCuikSystem(), SampleCuikSystemInBox(), SimplifyCuikSystem(), and SolveCuikSystem().
◆ st
◆ searchMode
unsigned int TCuikSystem::searchMode |
Criterion to be used when sorting the boxes pending to be processed.
Definition at line 195 of file cuiksystem.h.
Referenced by AddTerm2SearchCriterion(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), MPI_SolveCuikSystem(), PostProcessBox(), PrintCuikSystem(), PrintCuikSystemWithSimplification(), SetCSSearchMode(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ orig_eqMin
◆ orig2sd
Mappings to relate the original and the simplified+dummified variables.
Definition at line 204 of file cuiksystem.h.
Referenced by ComputeSplitDim(), CopyCuikSystem(), CuikSystemMerge(), IncrementalSampleCuikSystemInBox(), InitCuikSystem(), MaxReduction(), MPI_SolveCuikSystem(), PostProcessBox(), PrintCuikSystemWithSimplification(), SaveCuikSystemSimplification(), SimplifyCuikSystem(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ equations
Simplified+dummified set of equations
Definition at line 206 of file cuiksystem.h.
Referenced by ComputeSplitDimInt(), CopyCuikSystem(), CSRemoveLCVars(), CSRemoveUnusedVars(), CSRemoveVarsWithCtRange(), DummifyAndAddEquation(), DummifyCuikSystem(), PrintCuikSystemWithSimplification(), ReduceBox(), ReduceBoxEquationWise(), SimplifyCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ variables
Simplified+dummified set of variables
Definition at line 207 of file cuiksystem.h.
Referenced by CopyCuikSystem(), CSRemoveLCVars(), CSRemoveUnusedVars(), CSRemoveVarsWithCtRange(), DummifyAndAddEquation(), MPI_SolveCuikSystem(), PrintCuikSystemWithSimplification(), ReduceBox(), ReduceBoxEquationWise(), SimplifyCuikSystem(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ nequations
unsigned int TCuikSystem::nequations |
◆ nvariables
unsigned int TCuikSystem::nvariables |
Total num. of variables in the simplified+dummified system.
Definition at line 210 of file cuiksystem.h.
Referenced by ComputeSplitDimInt(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), LoadCSState(), MPI_SolveCuikSystem(), MPI_TreatBox(), ReduceBox(), ReduceBoxEquationWise(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ systemVar
TRUE if the 'i'-th variable in the simplified+dummified system is a system var.
Definition at line 211 of file cuiksystem.h.
Referenced by ComputeSplitDimInt(), CopyCuikSystem(), CuikSystemMerge(), InitCuikSystem(), MaxReduction(), MPI_SolveCuikSystem(), PostProcessBox(), ReduceBox(), ReduceBoxEquationWise(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ notDummyVar
◆ varType
unsigned int* TCuikSystem::varType |
◆ eqMin
◆ orig2s
Mappings to relate the original and the simplified variables.
Definition at line 223 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), AddVelocityEquations(), CopyCuikSystem(), CuikGradientInBox(), CuikNewtonInBox(), GenerateSimplifiedPoint(), InitCuikSystem(), RegenerateOriginalBox(), RegenerateOriginalPoint(), SimplifyBooleanArray(), SimplifyCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ simp_empty
◆ simp_equations
Simplified set of equations
Definition at line 227 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), AddVelocityEquations(), CopyCuikSystem(), CuikGradientInBox(), CuikHasVelocity(), CuikNewtonInBox(), CuikNewtonSimp(), ErrorInSimpCSEquations(), ErrorInSimpInequalitiesOnPoint(), EvaluateSimpCSEquations(), EvaluateSubSetSimpCSEquations(), GetSimpCSJacobian(), GetSimpCSNHessian(), GetSimpCSNJacobian(), SimpInequalitiesHoldOnPoint(), SimplifyCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ simp_variables
Simplified set of variables
Definition at line 228 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), AddVelocityEquations(), CopyCuikSystem(), CuikHasVelocity(), GenerateSimpInitialBox(), GetSimpCSJacobian(), GetSimpCSNHessian(), GetSimpCSNJacobian(), GetSimpCSTopology(), IsSystemVarInSimpCS(), PrintCuikSystemWithSimplification(), SimplifyCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ simp_nequations
unsigned int TCuikSystem::simp_nequations |
◆ simp_nvariables
unsigned int TCuikSystem::simp_nvariables |
Total num. of variables in the simplified system.
Definition at line 231 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), AddVelocityEquations(), CopyCuikSystem(), CuikGradientInBox(), CuikNewtonInBox(), CuikNewtonSimp(), GenerateSimplifiedPoint(), PrintCuikSystemWithSimplification(), SimplifyBooleanArray(), SolveCuikSystem(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ simp_nee
unsigned int TCuikSystem::simp_nee |
◆ simp_tp
unsigned int* TCuikSystem::simp_tp |
◆ simp_eqMin
◆ orig_equations
Equations as given by the user
Definition at line 244 of file cuiksystem.h.
Referenced by AddEquation2CS(), AddMatrixEquation2CS(), AddVelocityEquations(), CopyCuikSystem(), CSRemoveLCVars(), CuikSystemMerge(), DeleteCuikSystem(), ErrorInCSEquations(), ErrorInInequalities(), ErrorInSolution(), EvaluateCSEquations(), EvaluateCSJacobian(), GetCSEquation(), GetCSEquations(), GetCSJacobian(), GetCSNumEquations(), GetCSPositionEqs(), GetCSPositionVelocityEqs(), InequalitiesHoldOnPoint(), InitCuikSystem(), IsCSPolynomial(), PrintCuikSystem(), RegenerateSolution(), SampleCuikSystemInBox(), SimplifyCuikSystem(), and UpdateCuikSystem().
◆ orig_variables
Variables as given by the user
Definition at line 245 of file cuiksystem.h.
Referenced by AddSimplifiedJacobianEquations(), AddVariable2CS(), AddVelocityEquations(), CopyCuikSystem(), CSRemoveLCVars(), CSRemoveVarsWithCtRange(), CuikGradientInBox(), CuikNewtonInBox(), CuikSystemMerge(), DeleteCuikSystem(), ErrorInInequalities(), ErrorInSolution(), EvaluateCSJacobian(), GenerateInitialBox(), GetCSJacobian(), GetCSNumNonDummyVariables(), GetCSNumNonDynamicVariables(), GetCSNumSystemVariables(), GetCSNumVariables(), GetCSPositionVars(), GetCSPositionVelocityVars(), GetCSSystemVariableName(), GetCSSystemVars(), GetCSTopology(), GetCSVariable(), GetCSVariableID(), GetCSVariableName(), GetCSVariableNames(), GetCSVariables(), GetCSVarTopology(), IncrementalSampleCuikSystemInBox(), InitCuikSystem(), PointInSystemBox(), PostProcessBox(), PrintCuikSystem(), PrintCuikSystemWithSimplification(), RegenerateOriginalBox(), RegenerateOriginalPoint(), RegenerateSolution(), SampleCuikSystemInBox(), SetCSVariableRange(), SimplifyCuikSystem(), and UpdateCuikSystem().
◆ orig_nequations
unsigned int TCuikSystem::orig_nequations |
◆ orig_nvariables
unsigned int TCuikSystem::orig_nvariables |
Total number of variables in the original system.
Definition at line 248 of file cuiksystem.h.
Referenced by AddJacobianEquations(), AddSimplifiedJacobianEquations(), CopyCuikSystem(), CuikGradientInBox(), CuikNewtonInBox(), CuikSystemMerge(), ErrorInInequalities(), InitCuikSystem(), PostProcessBox(), PrintCuikSystemWithSimplification(), RegenerateOriginalPoint(), RegenerateSolution(), RegenerateSolutionPoint(), SimplifyBooleanArray(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ orig_systemVar
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 249 of file cuiksystem.h.
Referenced by CopyCuikSystem(), CuikGradientInBox(), CuikNewtonInBox(), CuikSystemMerge(), InitCuikSystem(), PostProcessBox(), RegenerateSolutionPoint(), UnUpdateCuikSystem(), and UpdateCuikSystem().
◆ orig_notDummyVar
boolean* TCuikSystem::orig_notDummyVar |
◆ orig_varNames
char** TCuikSystem::orig_varNames |
|
Follow us!