Goto Chapter: Top 1 2 3 4 5 6 7 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

4 Cones
 4.1 Creating cones
 4.2 Attributes of Cones
 4.3 Properties of Cones
 4.4 Operations on cones

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.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 Ind

generated by GAPDoc2HTML