/cddplus

A C++ implementation of the Double Description Method

Primary LanguageCGNU General Public License v2.0GPL-2.0

The program  cdd+  is a C++ implementation of the Double Description 
Method of Motzkin et al. for generating all vertices (i.e. extreme points)
and extreme rays of a general convex polyhedron in R^d given by a system 
of linear inequalities:

   P = { x :  A  x  <=  b }

where  A  is an m x d real matrix and b is a real m dimensional vector.
The program can be used for the reverse operation (i.e. convex hull
computation) if one run cdd with "hull" option.  This means that 
one can move back and forth between an inequality representation 
and a generator (i.e. vertex and ray) representation of a polyhedron
with cdd+.  Also, cdd+ can solve a linear programming problem, i.e.
a problem of maximizing and minimizing a linear function over P.

The program cdd+ is a C++ version of the ANSI C
program cdd basically for the same purpose.  The main difference is that 
it can be compiled for both rational (exact) arithmetic and 
floating point arithmetic. (Note that cdd runs on floating
arithmetic only.) 

---

To compile cdd+, run `autoreconf --install`, `configure`, `make`.