.. _spkg_cddlib:

cddlib: Double description method for polyhedral representation conversion
==========================================================================

Description
-----------

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.

License
-------

GPL v2


Upstream Contact
----------------

https://github.com/cddlib/cddlib

Type
----

standard


Dependencies
------------

- $(MP_LIBRARY)

Version Information
-------------------

package-version.txt::

    0.94m


Equivalent System Packages
--------------------------

arch:

.. CODE-BLOCK:: bash

    $ sudo pacman -S  cddlib


conda:

.. CODE-BLOCK:: bash

    $ conda install  cddlib


cygwin:

.. CODE-BLOCK:: bash

    $ apt-cyg install cddlib-devel cddlib-tools


Debian/Ubuntu:

.. CODE-BLOCK:: bash

    $ sudo apt-get install  libcdd-dev libcdd-tools


Fedora/Redhat/CentOS:

.. CODE-BLOCK:: bash

    $ sudo yum install  cddlib


freebsd:

.. CODE-BLOCK:: bash

    $ sudo pkg install math/cddlib


gentoo:

.. CODE-BLOCK:: bash

    $ sudo emerge sci-libs/cddlib


homebrew:

macports:
install the following packages: cddlib

nix:

.. CODE-BLOCK:: bash

    $ nix-env --install cddlib


opensuse:

.. CODE-BLOCK:: bash

    $ sudo zypper install cddlib-tools "pkgconfig(cddlib)"


void:

.. CODE-BLOCK:: bash

    $ sudo xbps-install  cddlib-devel


See https://repology.org/project/cddlib/versions


If the system package is installed, ./configure will check whether it can be used.

