GAP (NConvex) - Chapter 4: Cones

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

[MathJax off]

4 Cones
4.1 Creating cones
4.1-1 ConeByInequalities
4.1-2 ConeByEqualitiesAndInequalities
4.1-3 Cone
4.1-4 Cone
4.2 Attributes of Cones
4.2-1 DefiningInequalities
4.2-2 EqualitiesOfCone
4.2-3 DualCone
4.2-4 FacesOfCone
4.2-5 Facets
4.2-6 FVector
4.2-7 RelativeInteriorRay
4.2-8 HilbertBasis
4.2-9 HilbertBasisOfDualCone
4.2-10 LinealitySpaceGenerators
4.2-11 ExternalCddCone
4.2-12 ExternalNmzCone
4.2-13 AmbientSpaceDimension
4.2-14 LatticePointsGenerators
4.2-15 GridGeneratedByCone
4.2-16 FactorGrid
4.2-17 FactorGridMorphism
4.2-18 GridGeneratedByOrthogonalCone
4.3 Properties of Cones
4.3-1 IsRegularCone
4.3-2 IsRay
4.3-3 IsZero
4.4 Operations on cones
4.4-1 FourierProjection
4.4-2 IntersectionOfCones
4.4-3 IntersectionOfCones
4.4-4 Contains
4.4-5 IsRelativeInteriorRay
4.4-6 NonReducedInequalities

### 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