Gröbner basis project
Codebase for research into Gröbner basis computation
|
exact or approximate polyhedral cone solution, with methods allowing definition and refinement More...
#include <lp_solver.hpp>
Public Member Functions | |
Construction | |
virtual bool | copy (const LP_Solver *)=0 |
performs a deep copy, similar to a copy constructor More... | |
Modification | |
virtual bool | solve (constraint &)=0 |
Adds the indicated constraint (singular!) and re-computes the solution. More... | |
virtual bool | solve (vector< constraint > &)=0 |
Adds the indicated constraints (plural!) and re-computes the solution. More... | |
Basic properies | |
Returns rays that define a skeleton. When using an approximate solver such as GLPK_Solver, this will give only an approximate skeleton. | |
virtual NVAR_TYPE | get_dimension () const =0 |
Returns the dimension of the underlying vector space. | |
virtual unsigned long | get_number_of_rays () |
Returns the number of rays defining the skeleton. | |
virtual const set< ray > & | get_rays () |
Returns the rays that define the skeleton. | |
virtual unsigned long | get_number_of_constraints ()=0 |
Computation | |
virtual bool | makes_consistent_constraint (const Monomial &t, const Monomial &u, bool show_data=false) |
tests for consistency of a constraint generated by two monomials. | |
Protected Attributes | |
set< ray > | rays |
exact or approximate polyhedral cone solution, with methods allowing definition and refinement
This class encapsulates the skeleton of a polyhedral cone, defined by a sequence of inequalities of the form \( c_1 x_1 + \cdots c_n x_n \geq 0 \).
true
; for if it is not, then the cone is no longer be consistent. Please read the relevant documentation. Definition at line 452 of file lp_solver.hpp.
|
pure virtual |
performs a deep copy, similar to a copy constructor
Implemented in skeleton, PPL_Solver, and GLPK_Solver.
|
pure virtual |
Adds the indicated constraint (singular!) and re-computes the solution.
true
if and only if the new constraint is consistent with the current constraintsfalse
, you have an inconsistent system! While the present cone will remain consistent, the function will not roll back previous changes you have made, so if you want to iterate again, your best bet is to copy the skeleton, and try that copy. Accept the new constraints only if that copy succeeds, in which case, you might as well discard the original, and keep the copy. Implemented in skeleton, GLPK_Solver, and PPL_Solver.
|
pure virtual |
Adds the indicated constraints (plural!) and re-computes the solution.
true
if and only if the new constraints are consistent with the current constraintsfalse
, you have an inconsistent system! While the present cone will remain consistent, the function will not roll back previous changes you have made, so if you want to iterate again, your best bet is to copy the skeleton, and try that copy. Accept the new constraints only if that copy succeeds, in which case, you might as well discard the original, and keep the copy. Implemented in skeleton, GLPK_Solver, and PPL_Solver.
|
protected |
the skeleton (may be approximate, depending on solver)
Definition at line 544 of file lp_solver.hpp.