  
  [1X1 [33X[0;0YIntroduction[133X[101X
  
  
  [1X1.1 [33X[0;0YWhy CddInterface[133X[101X
  
  [33X[0;0YWe  know  that  every  convex polyhedron has two representations, one as the
  intersection  of  finite  halfspaces  and  the other as Minkowski sum of the
  convex  hull of finite points and the nonnegative hull of finite directions.
  These   are  called  [23XH[123X-representation  and  [23XV[123X-representation,  respectively.
  CddInterface  is  a  gap interface to the C package [10Xcddlib[110X which among other
  things can translate between these two representations.[133X
  
  
  [1X1.2 [33X[0;0YH-representation and V-representation of polyhedra[133X[101X
  
  [33X[0;0YLet  us start by introducing the [23XH[123X-representation. Let [3XA[103X be [3Xm x d[103X matrix and
  let  [3Xb[103X  be a column [3Xm[103X-vector. The [23XH[123X-representation of the polyhedron defined
  by  the  system [10Xb+Ax >= 0[110X of [3Xm[103X inequalities and [3Xd[103X variables [3Xx= (x_1,...,x_d)[103X
  is as follows:[133X
  
  [4X[32X  Code  [32X[104X
    [4XH-representation[104X
    [4Xlinearity t, [i_1, i_2, ...,i_t][104X
    [4Xbegin[104X
    [4X  m x (d+1) numbertype[104X
    [4X  b  A[104X
    [4Xend[104X
  [4X[32X[104X
  
  [33X[0;0YThe  linearity  line  is added when we want to specify that some rows of the
  system [23Xb+Ax[123X are equalities. That is, [23Xk\in \{i_1, i_2, \dots,i_t\}[123X means that
  the row [23Xk[123X of the system [23Xb+Ax[123X is specified to be equality.[133X
  
  [33X[0;0YFor example, the [23XH[123X-representation of the polyhedron defined by the following
  system:[133X
  
  [33X[0;0Y[23X4-3x_1+6x_2-5x_4 = 0, 1+2x_1-2x_2-7x_3 \geq 0, -3x_2+5x_4 = 0;[123X[133X
  
  [33X[0;0Yis the following:[133X
  
  [4X[32X  Code  [32X[104X
    [4XH-representation[104X
    [4Xlinearity 2, [1, 3][104X
    [4Xbegin[104X
    [4X3 x 5 rational[104X
    [4X  4 -3  6  0 -5[104X
    [4X  1  2 -2 -7  0[104X
    [4X  0  0 -3  0  5[104X
    [4Xend[104X
  [4X[32X[104X
  
  [33X[0;0YNext we define Polyhedra [23XV[123X-format. Let [3XP[103X be represented by [3Xn[103X gerating points
  and [3Xs[103X generating directions (rays) as[133X
  
  
  [24X[33X[0;6YP  =  \mathrm{conv}(v_1  , \dots , v_n ) + \mathrm{nonneg}(r_{n+1} , \dots ,
  r_{n+s} ).[133X
  
  [124X
  
  [33X[0;0YThen the Polyhedra [23XV[123X-format is for [3XP[103X is:[133X
  
  [4X[32X  Code  [32X[104X
    [4XV-representation[104X
    [4Xlinearity t, [i_1, i_2,...,i_t][104X
    [4Xbegin[104X
    [4X(n+s) x (d+1) numbertype[104X
    [4X  1  v_1[104X
    [4X  :   :[104X
    [4X  1  v_n[104X
    [4X  0  r_{n+1}[104X
    [4X  :   :[104X
    [4X  0  r_{n+s}[104X
    [4Xend[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the  above  format  the generating points and generating rays may appear
  mixed  in arbitrary order. Linearity for [23XV[123X-representation specifies a subset
  of  generators  whose  coefficients  are  relaxed to be free. That is, [23Xk \in
  \{i_1  , i_2 , . . . , i_t \}[123X specifies that the [23Xk[123X-th generator is specified
  to  be  free. This means for each such a ray [23Xr_k[123X , the line generated by [23Xr_k[123X
  is in the polyhedron, and for each such a vertex [23Xv_k[123X , its coefficient is no
  longer  nonnegative  but still the coefficients for all [23Xv_i[123X’s must sum up to
  one.[133X
  
  [33X[0;0YFor example the [23XV[123X-representation of the polyhedron defined as[133X
  
  
  [24X[33X[0;6YP:=  \mathrm{conv}(  (2,3),  (-2,-3),  (-1,2) ) + \mathrm{nonneg}(\; (1,2) ,
  (-1,-2), (1,1)\;)[133X
  
  [124X
  
  [4X[32X  Code  [32X[104X
    [4XV-representation[104X
    [4Xlinearity 2, [ 1, 3 ][104X
    [4Xbegin[104X
    [4X 4 x 3 rational[104X
    [4X 1   2   3[104X
    [4X 1  -1   2[104X
    [4X 0   1   2[104X
    [4X 0   1   1[104X
    [4Xend[104X
  [4X[32X[104X
  
