Goto Chapter: Top 1 2 3 4 5 6 7 Ind

### 4 Cones

#### 4.1 Creating cones

##### 4.1-1 ConeByInequalities
 ‣ ConeByInequalities( L ) ( operation )

Returns: a Cone Object

The function takes a list of lists [L_1, L_2, ...] where each L_j represents an inequality and returns the cone defined by them. For example the j'th entry L_j = [a_{j1},a_{j2},...,a_{jn}] corresponds to the inequality \sum_{i=1}^n a_{ji}x_i \geq 0.

##### 4.1-2 ConeByEqualitiesAndInequalities
 ‣ ConeByEqualitiesAndInequalities( Eq, Ineq ) ( operation )

Returns: a Cone Object

The function takes two lists. The first list is the equalities and the second is the inequalities and returns the cone defined by them.

##### 4.1-3 Cone
 ‣ Cone( L ) ( operation )

Returns: a Cone Object

The function takes a list in which every entry represents a ray in the ambient vector space and returns the cone defined by them.

##### 4.1-4 Cone
 ‣ Cone( cdd_cone ) ( operation )

Returns: a Cone Object

This function takes a cone defined in CddInterface and converts it to a cone in NConvex

#### 4.2 Attributes of Cones

##### 4.2-1 DefiningInequalities
 ‣ DefiningInequalities( C ) ( attribute )

Returns: a list

Returns the list of the defining inequalities of the cone C.

##### 4.2-2 EqualitiesOfCone
 ‣ EqualitiesOfCone( C ) ( attribute )

Returns: a list

Returns the list of the equalities in the defining inequalities of the cone C.

##### 4.2-3 DualCone
 ‣ DualCone( C ) ( attribute )

Returns: a cone

Returns the dual cone of the cone C.

##### 4.2-4 FacesOfCone
 ‣ FacesOfCone( C ) ( attribute )

Returns: a list of cones

Returns the list of all faces of the cone C.

##### 4.2-5 Facets
 ‣ Facets( C ) ( attribute )

Returns: a list of cones

Returns the list of all facets of the cone C.

##### 4.2-6 FVector
 ‣ FVector( C ) ( attribute )

Returns: a list

Returns a list whose i'th entry is the number of faces of dimension i.

##### 4.2-7 RelativeInteriorRay
 ‣ RelativeInteriorRay( C ) ( attribute )

Returns: a list

Returns a relative interior point (or ray) in the cone C.

##### 4.2-8 HilbertBasis
 ‣ HilbertBasis( C ) ( attribute )

Returns: a list

Returns the Hilbert basis of the cone C

##### 4.2-9 HilbertBasisOfDualCone
 ‣ HilbertBasisOfDualCone( C ) ( attribute )

Returns: a list

Returns the Hilbert basis of the dual cone of the cone C

##### 4.2-10 LinealitySpaceGenerators
 ‣ LinealitySpaceGenerators( C ) ( attribute )

Returns: a list

Returns a basis of the lineality space of the cone C.

##### 4.2-11 ExternalCddCone
 ‣ ExternalCddCone( C ) ( attribute )

Returns: a cdd object

Converts the cone to a cdd object. The operations of CddInterface can then be applied on this convex object.

##### 4.2-12 ExternalNmzCone
 ‣ ExternalNmzCone( C ) ( attribute )

Returns: an normaliz object

Converts the cone to a normaliz object. The operations of NormalizInterface can then be applied on this convex object.

##### 4.2-13 AmbientSpaceDimension
 ‣ AmbientSpaceDimension( C ) ( attribute )

Returns: an integer

The dimension of the ambient space of the cone, i.e., the space that contains the cone.

##### 4.2-14 LatticePointsGenerators
 ‣ LatticePointsGenerators( C ) ( attribute )

Returns: a list

See LatticePointsGenerators for polyhedrons. Please note that any cone is a polyhedron.

##### 4.2-15 GridGeneratedByCone
 ‣ GridGeneratedByCone( C ) ( attribute )

Returns: a homalg module

Returns the homalg \mathbb{Z}-module that is generated by the ray generators of the cone.

##### 4.2-16 FactorGrid
 ‣ FactorGrid( C ) ( attribute )

Returns: a homalg module

Returns the homalg \mathbb{Z}-module that is presented by the matrix whose raws are the ray generators of the cone.

##### 4.2-17 FactorGridMorphism
 ‣ FactorGridMorphism( C ) ( attribute )

Returns: a homalg morphism

Returns an epimorphism from a free \mathbb{Z}-module to FactorGrid(C).

##### 4.2-18 GridGeneratedByOrthogonalCone
 ‣ GridGeneratedByOrthogonalCone( C ) ( attribute )

Returns: a homalg module

Returns the homalg \mathbb{Z}-module that is by generated the ray generators of the orthogonal cone on C.

#### 4.3 Properties of Cones

##### 4.3-1 IsRegularCone
 ‣ IsRegularCone( C ) ( property )

Returns: true or false

Returns if the cone C is regular or not.

##### 4.3-2 IsRay
 ‣ IsRay( C ) ( property )

Returns: true or false

Returns if the cone C is ray or not.

##### 4.3-3 IsZero
 ‣ IsZero( C ) ( property )

Returns: true or false

Returns whether the cone is the zero cone or not.

#### 4.4 Operations on cones

##### 4.4-1 FourierProjection
 ‣ FourierProjection( C, m ) ( operation )

Returns: a cone

Returns the projection of the cone on the space (O, x_1,...,x_{m-1}, x_{m+1},...,x_n ).

##### 4.4-2 IntersectionOfCones
 ‣ IntersectionOfCones( C1, C2 ) ( operation )

Returns: a cone

Returns the intersection.

##### 4.4-3 IntersectionOfCones
 ‣ IntersectionOfCones( L ) ( operation )

Returns: a cone

The input is a list of cones and the output is their intersection.

##### 4.4-4 Contains
 ‣ Contains( C1, C2 ) ( operation )

Returns: a true or false

Returns if the cone C1 contains the cone C2.

##### 4.4-5 IsRelativeInteriorRay
 ‣ IsRelativeInteriorRay( L, C ) ( operation )

Returns: a true or false

Checks whether the input point (or ray) L is in the relative interior of the cone C.

gap> P:= Cone( [ [ 2, 7 ], [ 0, 12 ], [ -2, 5 ] ] );
<A cone in |R^2>
gap> d:= DefiningInequalities( P );
[ [ -7, 2 ], [ 5, 2 ] ]
gap> Q:= ConeByInequalities( d );
<A cone in |R^2>
gap> P=Q;
true
gap> IsPointed( P );
true
gap> RayGenerators( P );
[ [ -2, 5 ], [ 2, 7 ] ]
gap> HilbertBasis( P );
[ [ -2, 5 ], [ -1, 3 ], [ 0, 1 ], [ 1, 4 ], [ 2, 7 ] ]
gap> HilbertBasis( Q );
[ [ -2, 5 ], [ -1, 3 ], [ 0, 1 ], [ 1, 4 ], [ 2, 7 ] ]
gap> P_dual:= DualCone( P );
<A cone in |R^2>
gap> RayGenerators( P_dual );
[ [ -7, 2 ], [ 5, 2 ] ]
gap> Dimension( P );
2
gap> List( Facets( P ), RayGenerators );
[ [ [ -2, 5 ] ], [ [ 2, 7 ] ] ]
gap> faces := FacesOfCone( P );
[ <A cone in |R^2>, <A cone in |R^2>, <A ray in |R^2>,
<A ray in |R^2> ]
gap> RelativeInteriorRay( P );
[ -2, 41 ]
gap> IsRelativeInteriorRay( [ -2, 41 ], P );
true
gap> IsRelativeInteriorRay( [ 2, 7 ], P );
false
gap> LinealitySpaceGenerators( P );
[  ]
gap> IsRegularCone( P );
false
gap> IsRay( P );
false
gap> proj_x1:= FourierProjection( P, 2 );
<A cone in |R^1>
gap> RayGenerators( proj_x1 );
[ [ -1 ], [ 1 ] ]
gap> DefiningInequalities( proj_x1 );
[ [ 0 ] ]
gap> R:= Cone( [ [ 4, 5 ], [ -2, 1 ] ] );
<A cone in |R^2>
gap> T:= IntersectionOfCones( P, R );
<A cone in |R^2>
gap> RayGenerators( T );
[ [ -2, 5 ], [ 2, 7 ] ]
gap> W:= Cone( [ [-3,-4 ] ] );
<A ray in |R^2>
gap> I:= IntersectionOfCones( P, W );
<A cone in |R^2>
gap> RayGenerators( I );
[  ]
gap> Contains( P, I );
true
gap> Contains( W, I );
true
gap> Contains( P, R );
false
gap> Contains( R, P );
true
gap> cdd_cone:= ExternalCddCone( P );
< Polyhedron given by its V-representation >
gap> Display( cdd_cone );
V-representation
begin
3 X 3  rational

0   2   7
0   0  12
0  -2   5
end
gap> Cdd_Dimension( cdd_cone );
2
gap> H:= Cdd_H_Rep( cdd_cone );
< Polyhedron given by its H-representation >
gap> Display( H );
H-representation
begin
2 X 3  rational

0   5   2
0  -7   2
end
gap> P:= Cone( [ [ 1, 1, -3 ], [ -1, -1, 3 ], [ 1, 2, 1 ], [ 2, 1, 2 ] ] );
< A cone in |R^3>
gap> IsPointed( P );
false
gap> Dimension( P );
3
gap> IsRegularCone( P );
false
gap> P;
< A cone in |R^3 of dimension 3 with 4 ray generators>
gap> RayGenerators( P );
[ [ -1, -1, 3 ], [ 1, 1, -3 ], [ 1, 2, 1 ], [ 2, 1, 2 ] ]
gap> d:= DefiningInequalities( P );
[ [ -5, 8, 1 ], [ 7, -4, 1 ] ]
gap> facets:= Facets( P );
[ <A cone in |R^3>, <A cone in |R^3> ]
gap> faces := FacesOfCone( P );
[ <A cone in |R^3>, <A cone in |R^3>, <A cone in |R^3>,
<A cone in |R^3>, <A cone in |R^3> ]
gap> FVector( P );
[ 1, 2, 1 ]
gap> List( faces, Dimension );
[ 0, 3, 2, 1, 2 ]
gap> L_using_4ti2 := [ [ [ 0, 0, 0 ] ], [ [ -2, -1, 10 ],
> [ 0, 0, 1 ], [ 2, 1, 2 ] ],  [ [ 1, 1, -3 ] ] ];;
gap> L_using_Normaliz := [ [ [ 0, 0, 0 ] ], [ [ -1, 0, 7 ],
> [ 0, 0, 1 ], [ 1, 0, 5 ] ], [ [ 1, 1, -3 ] ] ];;
gap> L := LatticePointsGenerators( P );;
gap> L = L_using_4ti2 or L = L_using_Normaliz;
true
gap> DualCone( P );
< A cone in |R^3>
gap> RayGenerators( DualCone( P ) );
[ [ -5, 8, 1 ], [ 7, -4, 1 ] ]
gap> Q_x1x3:= FourierProjection(P, 2 );
<A cone in |R^2>
gap> RayGenerators( Q_x1x3 );
[ [ -1, 3 ], [ 1, -3 ], [ 1, 1 ] ]


##### 4.4-6 NonReducedInequalities
 ‣ NonReducedInequalities( C ) ( operation )

Returns: a list

It returns a list of inequalities that define the cone.

Goto Chapter: Top 1 2 3 4 5 6 7 Ind

generated by GAPDoc2HTML