An interface to the lrslib library,
implementing the main LP and convex hull computations with exact arithmetic.
This class and all related types are defined in the namespace lrs_interface.
The namespace prefix is omitted in the descriptions below for the sake of compactness;
you must nevertheless specify it explicitly in your applications, or import it with the
using namespace directive.
solver();
Create an instance of the interface class. It contains only global internal data shared by all LP
problems, so you will not usually need multiple instances of solver in your program.
Nor they would disturb each other.
Find the convex hull of the given point set. Points must contain
homogeneous coordinates of the points; the elements in the first column
must be 1 for affine points and 0 for rays.
Returns the facet normals in first, and the basis of the subspace orthogonal to
Points in second.
Separate the extremal vertices from the redundant points in a given point set.
Points must contain homogeneous coordinates.
This operation is cheaper than the complete convex hull computation, as it is based on repeating LP solving.
Returns the vertex indices in first, and the basis of the subspace orthogonal to
Points in second.