Skip to content

Latest commit

 

History

History
42 lines (36 loc) · 2.6 KB

README.md

File metadata and controls

42 lines (36 loc) · 2.6 KB

CDDLib

Build Status References to cite
Build Status Build Status DOI
Coveralls branch Codecov branch

CDDLib is a wrapper for cdd. This module can either be used in a "lower level" using the API of cdd or using the higher level interface of Polyhedra. CDDLib also includes the linear programming solver CDDLib.Optimizer which can be used by JuMP through MathOptInterface.

I needed to fork cddlib to write the wrapper because it is interface is text file based. My changes are not upstream yet, the version used by CDDLib.jl can be found here.

As written in the README of cddlib:

The C-library cddlib 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=(x1, ..., xd)^T : b - A x >= 0 }

where A is a given m x d real matrix, b is a given m-vector and 0 is the m-vector of all zeros.

The program can be used for the reverse operation (i.e. convex hull computation). 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.