©1998 Research Institute for Symbolic Computation (RISC-Linz)
This package contains the implementation of the scheduler. The scheduler is the component of the system which handles the solving process of constraints by commonicating with specific constraint solvers.
Vars is a table with entries for the variables of the queries submitted to the scheduler.
Vars[{1}] is the list of variables of the first query, ..., Vars[{CnstrIdx}] is the list of variables of query CnstrIdx.
Substitution is a table with entries for the substitutions computed by the CFLP calculus for the queries submitted to the scheduler.
Substitution[{1}] is the substitution computed for the first query, ..., Substitution[{CnstrIdx}] is the substitution computed for the CnstrIdx query.
LinkId[{ idx }] stores the link to the constraint solver which currently acts on the set of constraints Constraints[[idx]]
MethodList stores the identifiers for the methods that are applied on the systems of constraints.
Syntax call
CSStart[ ]
Effect
CSStart[ ] attempts to open the links to the external constraint solvers and displays a message about the failure or success of the operation.
Implementation
Syntax call
CSEnd[ ]
or
CSEnd[ link ]
Effect
CSEnd[ ] closes all the links to external constraint solvers.
CSEnd[ link ] closes link object link
Implementation
Syntax call
SetCSQuery[ vars, subst, cnstrs ]
Input
vars : the list of variables of cnstrs
subst : variable substitution generated by a CFLP refutation
cnstrs : the list of constraints generated by a CFLP refutation
Effect
get available data from link
Implementation
Syntax call
Ask[ link ]
Input
link : the link object to the external solver
Effect
get available data from link
Implementation
Syntax call
IsVar[expr]
Input
expr : a Mathematica expression
Output
True if expr belongs to Vars[CnstrIdx]
False otherwise
Implementation
Syntax call
IsNumericTerm[term]
Input
term : a term
Output
True if term is a term without variable
False otherwise
Implementation
Syntax call
IsPolyTerm[expr]
Input
expr : a Mathematica expression
Output
True if expr denotes a polynomial term
False otherwise
Implementation
Syntax call
IsLinTerm[term]
Input
term : a term
Output
True if term is a linear term
False otherwise
Implementation
Syntax call
GetVars[expr]
Input
expr : a Mathematica expression
Output
The list of variables of expr
Implementation
Syntax call
PolyFilter[cnstrs]
Input
cnstrs : a list of constraints
Output
The sublist of cnstrs which are polynomial equations
Implementation
Syntax call
LinFilter[cnstrs]
Input
cnstrs : a list of constraints
Output
The sublist of cnstrs which are linear equations
Implementation
Syntax calls
CSolve[{eqs,methods},idx]
CSolve[{eqs,methods,resteqs},idx]
Input
eqs : equations to be solved by the first method of methods
resteqs : equations to be solved by the methods of methods except the first
methods: list of solving methods considered for eqs
idx : position slot for the (partial) solutions of {eqs, methods} in the nested structure Sol of solutions
Effect
see implementation
Implementation