• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cnf/H03-May-2022-16,64112,420

doc/H03-May-2022-1,8181,533

etc/H03-May-2022-8861

examples/H03-May-2022-457398

gap/H03-May-2022-1,6271,016

m4/H03-May-2022-9,2198,325

src/H07-May-2022-579439

tst/H03-May-2022-588524

DockerfileH A D03-May-2022431 1712

Makefile.amH A D03-May-20221 KiB4125

Makefile.inH A D03-May-202229.8 KiB903789

PackageInfo.gH A D03-May-20223.5 KiB11592

README.mdH A D03-May-20223.9 KiB11368

aclocal.m4H A D03-May-202243.3 KiB1,2191,109

autogen.shH A D03-May-2022218 91

configureH A D03-May-2022457.7 KiB15,64013,102

configure.acH A D03-May-20222.1 KiB9079

init.gH A D03-May-2022358 1412

install.shH A D03-May-20221.2 KiB6649

makedoc.gH A D03-May-2022463 2016

notebook.ipynbH A D03-May-20228.2 KiB344343

read.gH A D03-May-2022197 87

README.md

1[![Build Status](https://travis-ci.com/homalg-project/CddInterface.svg?branch=master)](https://travis-ci.com/homalg-project/CddInterface)
2[![Code Coverage](https://codecov.io/github/homalg-project/CddInterface/coverage.svg?branch=master&token=)](https://codecov.io/gh/homalg-project/CddInterface)
3
4The GAP 4 package `CddInterface'
5==============================
6
7# Version
8
9Current version: 2020.01.01
10
11# Why CddInterface
12
13Every convex polyhedron P has two representations, one as the intersection of finite halfspaces and the other as Minkowski sum of the convex hull of
14finite points and the nonnegative hull of finite directions. These are called H-representation and V-representation, respectively.
15
16[CddInterface](https://homalg-project.github.io/CddInterface/) is a gap interface with the C package [Cddlib
17](https://www.inf.ethz.ch/personal/fukudak/cdd_home/) which among other things can translate between H,V- representations of a polyhedron P and solve linear programming problems over P, i.e. a problem of maximizing and minimizing a linear function over P. A list of all available operations can be found in the [manual.pdf](https://homalg-project.github.io/CddInterface/manual.pdf).
18
19# Prerequisites
20
21Make sure you can update "configure" scriptes by installing `autoconf`:
22
23    sudo apt-get update
24    sudo apt-get install autoconf
25
26You also need the package `libgmp-dev`:
27
28    sudo apt-get install libgmp-dev
29
30Moreover, you need the package `libtool`:
31
32    sudo apt-get install libtool
33
34## Simple installation (with the default cdd for you system):
35
36    sudo apt-get install libcdd-dev
37    ./autogen.sh
38    ./configure --with-gaproot=path-to-gaproot
39    make
40
41where the `<path-to-gaproot> ` is the path to the folder where you installed and compiled `Gap` and
42which contains the file `sysinfo.gap`.
43
44## Simple installation (includes building the current cdd from source):
45
46For a simplyfied installation, try the following two commands in the main CddInterface directory
47
48    ./install.sh <path-to-gaproot>
49
50If that does not work, try the following:
51
52## Advanced installation (includes building the current cdd from source):
53
54Go inside the CddInterface directory and download some release of [cddlib](https://github.com/cddlib/cddlib/releases) and extract it. For example the release 0.94j:
55
56    wget https://github.com/cddlib/cddlib/releases/download/0.94j/cddlib-0.94j.tar.gz
57    tar xvf cddlib-0.94j.tar.gz
58    ln -sf $(pwd)/cddlib-0.94j $(pwd)/current_cddlib
59
60After that, compile cddlib via
61
62    cd current_cddlib
63    mkdir build
64    ./bootstrap
65    ./configure --prefix=$(pwd)/build
66    make
67    make install
68
69Cdd should now be installed in the `build` directory. After that, go back to the CddInterface main folder
70and install CddInterface with the following commands
71
72    ./autogen.sh
73    ./configure --with-gaproot=path/to/gaproot --with-cddlib=$(pwd)/current_cddlib/build
74    make
75
76After that, you should be able to load CddInterface.
77
78## Documentation
79To create the documentation:
80
81    gap makedoc.g
82
83To run the test files
84
85    gap tst/testall.g
86
87## Update
88The package can be updated using the following commands
89
90    git pull
91    make
92
93## Using the package via Docker
94With docker app you can run an image of the newest version of gap && CddInterface via
95the command
96
97    docker run -it kamalsaleh/gap_packages
98
99## Using the package via Binder
100If you want to experiment online with the package you can use `notebook.ipynb` vie the binder link below.
101
102[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/homalg-project/CddInterface/master)
103
104
105
106Of course you are welcome to e-mail me if there are any questions, remarks, suggestions ;)
107
108Kamal Saleh e-mail: saleh@mathematik.uni-siegen.de
109
110## License
111CddInterface is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
112
113