  
  [1X4 [33X[0;0YCones[133X[101X
  
  
  [1X4.1 [33X[0;0YCreating cones[133X[101X
  
  [1X4.1-1 ConeByInequalities[101X
  
  [33X[1;0Y[29X[2XConeByInequalities[102X( [3XL[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [10XCone[110X Object[133X
  
  [33X[0;0YThe function takes a list of lists [23X[L_1, L_2, ...][123X where each [23XL_j[123X represents
  an  inequality  and  returns  the cone defined by them. For example the [23Xj[123X'th
  entry   [23XL_j  =  [a_{j1},a_{j2},...,a_{jn}][123X  corresponds  to  the  inequality
  [23X\sum_{i=1}^n a_{ji}x_i \geq 0[123X.[133X
  
  [1X4.1-2 ConeByEqualitiesAndInequalities[101X
  
  [33X[1;0Y[29X[2XConeByEqualitiesAndInequalities[102X( [3XEq[103X, [3XIneq[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [10XCone[110X Object[133X
  
  [33X[0;0YThe  function  takes  two  lists.  The  first list is the equalities and the
  second is the inequalities and returns the cone defined by them.[133X
  
  [1X4.1-3 Cone[101X
  
  [33X[1;0Y[29X[2XCone[102X( [3XL[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [10XCone[110X Object[133X
  
  [33X[0;0YThe  function  takes  a  list  in  which every entry represents a ray in the
  ambient vector space and returns the cone defined by them.[133X
  
  [1X4.1-4 Cone[101X
  
  [33X[1;0Y[29X[2XCone[102X( [3Xcdd_cone[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [10XCone[110X Object[133X
  
  [33X[0;0YThis function takes a cone defined in [13XCddInterface[113X and converts it to a cone
  in [13XNConvex[113X[133X
  
  
  [1X4.2 [33X[0;0YAttributes of Cones[133X[101X
  
  [1X4.2-1 DefiningInequalities[101X
  
  [33X[1;0Y[29X[2XDefiningInequalities[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YReturns the list of the defining inequalities of the cone [10XC[110X.[133X
  
  [1X4.2-2 EqualitiesOfCone[101X
  
  [33X[1;0Y[29X[2XEqualitiesOfCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YReturns  the list of the equalities in the defining inequalities of the cone
  [10XC[110X.[133X
  
  [1X4.2-3 DualCone[101X
  
  [33X[1;0Y[29X[2XDualCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya cone[133X
  
  [33X[0;0YReturns the dual cone of the cone [10XC[110X.[133X
  
  [1X4.2-4 FacesOfCone[101X
  
  [33X[1;0Y[29X[2XFacesOfCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list of cones[133X
  
  [33X[0;0YReturns the list of all faces of the cone [10XC[110X.[133X
  
  [1X4.2-5 Facets[101X
  
  [33X[1;0Y[29X[2XFacets[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list of cones[133X
  
  [33X[0;0YReturns the list of all facets of the cone [10XC[110X.[133X
  
  [1X4.2-6 FVector[101X
  
  [33X[1;0Y[29X[2XFVector[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YReturns a list whose [23Xi[123X'th entry is the number of faces of dimension [23Xi[123X.[133X
  
  [1X4.2-7 RelativeInteriorRay[101X
  
  [33X[1;0Y[29X[2XRelativeInteriorRay[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YReturns a relative interior point (or ray) in the cone [10XC[110X.[133X
  
  [1X4.2-8 HilbertBasis[101X
  
  [33X[1;0Y[29X[2XHilbertBasis[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YReturns the Hilbert basis of the cone [10XC[110X[133X
  
  [1X4.2-9 HilbertBasisOfDualCone[101X
  
  [33X[1;0Y[29X[2XHilbertBasisOfDualCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YReturns the Hilbert basis of the dual cone of the cone [10XC[110X[133X
  
  [1X4.2-10 LinealitySpaceGenerators[101X
  
  [33X[1;0Y[29X[2XLinealitySpaceGenerators[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YReturns a basis of the lineality space of the cone [10XC[110X.[133X
  
  [1X4.2-11 ExternalCddCone[101X
  
  [33X[1;0Y[29X[2XExternalCddCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya cdd object[133X
  
  [33X[0;0YConverts  the  cone to a cdd object. The operations of CddInterface can then
  be applied on this convex object.[133X
  
  [1X4.2-12 ExternalNmzCone[101X
  
  [33X[1;0Y[29X[2XExternalNmzCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Yan normaliz object[133X
  
  [33X[0;0YConverts  the cone to a normaliz object. The operations of NormalizInterface
  can then be applied on this convex object.[133X
  
  [1X4.2-13 AmbientSpaceDimension[101X
  
  [33X[1;0Y[29X[2XAmbientSpaceDimension[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Yan integer[133X
  
  [33X[0;0YThe  dimension  of  the  ambient  space  of  the  cone, i.e., the space that
  contains the cone.[133X
  
  [1X4.2-14 LatticePointsGenerators[101X
  
  [33X[1;0Y[29X[2XLatticePointsGenerators[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YSee  [10XLatticePointsGenerators[110X for polyhedrons. Please note that any cone is a
  polyhedron.[133X
  
  [1X4.2-15 GridGeneratedByCone[101X
  
  [33X[1;0Y[29X[2XGridGeneratedByCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya homalg module[133X
  
  [33X[0;0YReturns the homalg [23X\mathbb{Z}[123X-module that is generated by the ray generators
  of the cone.[133X
  
  [1X4.2-16 FactorGrid[101X
  
  [33X[1;0Y[29X[2XFactorGrid[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya homalg module[133X
  
  [33X[0;0YReturns  the  homalg [23X\mathbb{Z}[123X-module that is presented by the matrix whose
  raws are the ray generators of the cone.[133X
  
  [1X4.2-17 FactorGridMorphism[101X
  
  [33X[1;0Y[29X[2XFactorGridMorphism[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya homalg morphism[133X
  
  [33X[0;0YReturns an epimorphism from a free [23X\mathbb{Z}[123X-module to [10XFactorGrid(C)[110X.[133X
  
  [1X4.2-18 GridGeneratedByOrthogonalCone[101X
  
  [33X[1;0Y[29X[2XGridGeneratedByOrthogonalCone[102X( [3XC[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya homalg module[133X
  
  [33X[0;0YReturns the homalg [23X\mathbb{Z}[123X-module that is by generated the ray generators
  of the orthogonal cone on [10XC[110X.[133X
  
  
  [1X4.3 [33X[0;0YProperties of Cones[133X[101X
  
  [1X4.3-1 IsRegularCone[101X
  
  [33X[1;0Y[29X[2XIsRegularCone[102X( [3XC[103X ) [32X property[133X
  [6XReturns:[106X  [33X[0;10Ytrue or false[133X
  
  [33X[0;0YReturns if the cone [10XC[110X is regular or not.[133X
  
  [1X4.3-2 IsRay[101X
  
  [33X[1;0Y[29X[2XIsRay[102X( [3XC[103X ) [32X property[133X
  [6XReturns:[106X  [33X[0;10Ytrue or false[133X
  
  [33X[0;0YReturns if the cone [10XC[110X is ray or not.[133X
  
  [1X4.3-3 IsZero[101X
  
  [33X[1;0Y[29X[2XIsZero[102X( [3XC[103X ) [32X property[133X
  [6XReturns:[106X  [33X[0;10Ytrue or false[133X
  
  [33X[0;0YReturns whether the cone is the zero cone or not.[133X
  
  
  [1X4.4 [33X[0;0YOperations on cones[133X[101X
  
  [1X4.4-1 FourierProjection[101X
  
  [33X[1;0Y[29X[2XFourierProjection[102X( [3XC[103X, [3Xm[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya cone[133X
  
  [33X[0;0YReturns  the  projection  of  the  cone  on  the  space (O, [23Xx_1,...,x_{m-1},
  x_{m+1},...,x_n[123X ).[133X
  
  [1X4.4-2 IntersectionOfCones[101X
  
  [33X[1;0Y[29X[2XIntersectionOfCones[102X( [3XC1[103X, [3XC2[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya cone[133X
  
  [33X[0;0YReturns the intersection.[133X
  
  [1X4.4-3 IntersectionOfCones[101X
  
  [33X[1;0Y[29X[2XIntersectionOfCones[102X( [3XL[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya cone[133X
  
  [33X[0;0YThe input is a list of cones and the output is their intersection.[133X
  
  [1X4.4-4 Contains[101X
  
  [33X[1;0Y[29X[2XContains[102X( [3XC1[103X, [3XC2[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya true or false[133X
  
  [33X[0;0YReturns if the cone [10XC1[110X contains the cone [10XC2[110X.[133X
  
  [1X4.4-5 IsRelativeInteriorRay[101X
  
  [33X[1;0Y[29X[2XIsRelativeInteriorRay[102X( [3XL[103X, [3XC[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya true or false[133X
  
  [33X[0;0YChecks whether the input point (or ray) [10XL[110X is in the relative interior of the
  cone [10XC[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XP:= Cone( [ [ 2, 7 ], [ 0, 12 ], [ -2, 5 ] ] );[127X[104X
    [4X[28X<A cone in |R^2>[128X[104X
    [4X[25Xgap>[125X [27Xd:= DefiningInequalities( P );[127X[104X
    [4X[28X[ [ -7, 2 ], [ 5, 2 ] ][128X[104X
    [4X[25Xgap>[125X [27XQ:= ConeByInequalities( d );[127X[104X
    [4X[28X<A cone in |R^2>[128X[104X
    [4X[25Xgap>[125X [27XP=Q;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XIsPointed( P );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( P );[127X[104X
    [4X[28X[ [ -2, 5 ], [ 2, 7 ] ][128X[104X
    [4X[25Xgap>[125X [27XHilbertBasis( P );[127X[104X
    [4X[28X[ [ -2, 5 ], [ -1, 3 ], [ 0, 1 ], [ 1, 4 ], [ 2, 7 ] ][128X[104X
    [4X[25Xgap>[125X [27XHilbertBasis( Q );[127X[104X
    [4X[28X[ [ -2, 5 ], [ -1, 3 ], [ 0, 1 ], [ 1, 4 ], [ 2, 7 ] ][128X[104X
    [4X[25Xgap>[125X [27XP_dual:= DualCone( P );[127X[104X
    [4X[28X<A cone in |R^2>[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( P_dual );[127X[104X
    [4X[28X[ [ -7, 2 ], [ 5, 2 ] ][128X[104X
    [4X[25Xgap>[125X [27XDimension( P );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27XList( Facets( P ), RayGenerators );[127X[104X
    [4X[28X[ [ [ -2, 5 ] ], [ [ 2, 7 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xfaces := FacesOfCone( P );[127X[104X
    [4X[28X[ <A cone in |R^2>, <A cone in |R^2>, <A ray in |R^2>, [128X[104X
    [4X[28X <A ray in |R^2> ][128X[104X
    [4X[25Xgap>[125X [27XRelativeInteriorRay( P );[127X[104X
    [4X[28X[ -2, 41 ][128X[104X
    [4X[25Xgap>[125X [27XIsRelativeInteriorRay( [ -2, 41 ], P );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XIsRelativeInteriorRay( [ 2, 7 ], P );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XLinealitySpaceGenerators( P );[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XIsRegularCone( P );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XIsRay( P );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27Xproj_x1:= FourierProjection( P, 2 );[127X[104X
    [4X[28X<A cone in |R^1>[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( proj_x1 );[127X[104X
    [4X[28X[ [ -1 ], [ 1 ] ][128X[104X
    [4X[25Xgap>[125X [27XDefiningInequalities( proj_x1 );[127X[104X
    [4X[28X[ [ 0 ] ][128X[104X
    [4X[25Xgap>[125X [27XR:= Cone( [ [ 4, 5 ], [ -2, 1 ] ] );[127X[104X
    [4X[28X<A cone in |R^2>[128X[104X
    [4X[25Xgap>[125X [27XT:= IntersectionOfCones( P, R );[127X[104X
    [4X[28X<A cone in |R^2>[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( T );[127X[104X
    [4X[28X[ [ -2, 5 ], [ 2, 7 ] ][128X[104X
    [4X[25Xgap>[125X [27XW:= Cone( [ [-3,-4 ] ] );[127X[104X
    [4X[28X<A ray in |R^2>[128X[104X
    [4X[25Xgap>[125X [27XI:= IntersectionOfCones( P, W );[127X[104X
    [4X[28X<A cone in |R^2>[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( I );[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XContains( P, I );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XContains( W, I );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XContains( P, R );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XContains( R, P );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xcdd_cone:= ExternalCddCone( P );[127X[104X
    [4X[28X< Polyhedron given by its V-representation >[128X[104X
    [4X[25Xgap>[125X [27XDisplay( cdd_cone );[127X[104X
    [4X[28XV-representation [128X[104X
    [4X[28Xbegin [128X[104X
    [4X[28X3 X 3  rational[128X[104X
    [4X[28X               [128X[104X
    [4X[28X   0   2   7 [128X[104X
    [4X[28X   0   0  12 [128X[104X
    [4X[28X   0  -2   5 [128X[104X
    [4X[28Xend[128X[104X
    [4X[25Xgap>[125X [27XCdd_Dimension( cdd_cone );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27XH:= Cdd_H_Rep( cdd_cone );[127X[104X
    [4X[28X< Polyhedron given by its H-representation >[128X[104X
    [4X[25Xgap>[125X [27XDisplay( H );[127X[104X
    [4X[28XH-representation [128X[104X
    [4X[28Xbegin [128X[104X
    [4X[28X   2 X 3  rational[128X[104X
    [4X[28X               [128X[104X
    [4X[28X   0   5   2 [128X[104X
    [4X[28X   0  -7   2 [128X[104X
    [4X[28Xend[128X[104X
    [4X[25Xgap>[125X [27XP:= Cone( [ [ 1, 1, -3 ], [ -1, -1, 3 ], [ 1, 2, 1 ], [ 2, 1, 2 ] ] );[127X[104X
    [4X[28X< A cone in |R^3>[128X[104X
    [4X[25Xgap>[125X [27XIsPointed( P );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XDimension( P );[127X[104X
    [4X[28X3[128X[104X
    [4X[25Xgap>[125X [27XIsRegularCone( P );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XP;[127X[104X
    [4X[28X< A cone in |R^3 of dimension 3 with 4 ray generators>[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( P );[127X[104X
    [4X[28X[ [ -1, -1, 3 ], [ 1, 1, -3 ], [ 1, 2, 1 ], [ 2, 1, 2 ] ][128X[104X
    [4X[25Xgap>[125X [27Xd:= DefiningInequalities( P );[127X[104X
    [4X[28X[ [ -5, 8, 1 ], [ 7, -4, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27Xfacets:= Facets( P );[127X[104X
    [4X[28X[ <A cone in |R^3>, <A cone in |R^3> ][128X[104X
    [4X[25Xgap>[125X [27Xfaces := FacesOfCone( P );[127X[104X
    [4X[28X[ <A cone in |R^3>, <A cone in |R^3>, <A cone in |R^3>, [128X[104X
    [4X[28X <A cone in |R^3>, <A cone in |R^3> ][128X[104X
    [4X[25Xgap>[125X [27XFVector( P );[127X[104X
    [4X[28X[ 1, 2, 1 ][128X[104X
    [4X[25Xgap>[125X [27XList( faces, Dimension );[127X[104X
    [4X[28X[ 0, 3, 2, 1, 2 ][128X[104X
    [4X[25Xgap>[125X [27XL_using_4ti2 := [ [ [ 0, 0, 0 ] ], [ [ -2, -1, 10 ], [127X[104X
    [4X[25X>[125X [27X[ 0, 0, 1 ], [ 2, 1, 2 ] ],  [ [ 1, 1, -3 ] ] ];;[127X[104X
    [4X[25Xgap>[125X [27XL_using_Normaliz := [ [ [ 0, 0, 0 ] ], [ [ -1, 0, 7 ], [127X[104X
    [4X[25X>[125X [27X[ 0, 0, 1 ], [ 1, 0, 5 ] ], [ [ 1, 1, -3 ] ] ];;[127X[104X
    [4X[25Xgap>[125X [27XL := LatticePointsGenerators( P );;[127X[104X
    [4X[25Xgap>[125X [27XL = L_using_4ti2 or L = L_using_Normaliz;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XDualCone( P );[127X[104X
    [4X[28X< A cone in |R^3>[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( DualCone( P ) );[127X[104X
    [4X[28X[ [ -5, 8, 1 ], [ 7, -4, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27XQ_x1x3:= FourierProjection(P, 2 );[127X[104X
    [4X[28X<A cone in |R^2>[128X[104X
    [4X[25Xgap>[125X [27XRayGenerators( Q_x1x3 );[127X[104X
    [4X[28X[ [ -1, 3 ], [ 1, -3 ], [ 1, 1 ] ][128X[104X
  [4X[32X[104X
  
  [1X4.4-6 NonReducedInequalities[101X
  
  [33X[1;0Y[29X[2XNonReducedInequalities[102X( [3XC[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya list[133X
  
  [33X[0;0YIt returns a list of inequalities that define the cone.[133X
  
