documentation:latest:fan:polyhedralfan

Available versions of this document: latest release, release 4.0, release 3.6, release 3.5, nightly master

Reference documentation for older polymake versions: release 3.4, release 3.3, release 3.2

# BigObject PolyhedralFan<Scalar>

from application fan

A polyhedral fan. The current restriction is that each cone in the fan has to be pointed. This will be relaxed later. If a fan is specified via INPUT_RAYS and INPUT_CONES each input cone must list all the input rays incident. Once non-trivial linealities are allowed the following will apply: The RAYS always lie in a linear subspace which is complementary to the LINEALITY_SPACE.

Type Parameters:

Scalar: numeric data type used for the coordinates, must be an ordered field. Default is Rational.

Specializations:

PolyhedralFan<Rational>: Unnamed full specialization of PolyhedralFan

Example:

A typical example is the normal fan of a convex polytope.

 > $f=normal_fan(polytope::cube(3)); > print$f->F_VECTOR;
6 12 8
Permutations:
ConesPerm:

permuting the MAXIMAL_CONES

RaysPerm:

permuting the RAYS

These properties are for input only. They allow redundant information.

INPUT_CONES

Maybe redundant list of not necessarily maximal cones. Indices refer to INPUT_RAYS. Each cone must list all rays of INPUT_RAYS it contains. The cones are allowed to contain lineality. Cones which do not have any rays correspond to the trivial cone (contains only the origin). An empty fan does not have any cones. Input section only. Ask for MAXIMAL_CONES if you want to know the maximal cones (indexed by RAYS).

Type:
IncidenceMatrix<NonSymmetric>

INPUT_CONES_REPS

Maybe redundant list of not necessarily maximal cones, one from each orbit. All vectors in the input must be non-zero. Indices refer to INPUT_RAYS.

Type:
IncidenceMatrix<NonSymmetric>

INPUT_LINEALITY

Vectors whose linear span defines a subset of the lineality space of the fan; redundancies are allowed. Input section only. Ask for LINEALITY_SPACE if you want to know the lineality space.

Type:
Matrix<Scalar,NonSymmetric>

INPUT_RAYS

Rays from which the cones are formed. May be redundant. All vectors in the input must be non-zero. You also need to provide INPUT_CONES to define a fan completely. Input section only. Ask for RAYS if you want a list of non-redundant rays.

Type:
Matrix<Scalar,NonSymmetric>

INPUT_RAYS_REPS

One Ray from each orbit. May be redundant.

Type:
Matrix<Scalar,NonSymmetric>

These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.

COMBINATORIAL_DIM

Combinatorial dimension.

Type:
Int

COMPLETE

The polyhedral fan is complete if its suport is the whole space. Due to undecidability issues this is checked heuristically only. See the remarks on SPHERE for details. Note that in the case of a polyhedral complex, this refers to the underlying fan, so should always be false.

Type:
Bool

CONES

List of all cones of the fan of each dimension. Indices refer to RAYS.

Type:
Array<IncidenceMatrix<NonSymmetric>>

CONES_COMBINATORIAL_DIMS

The combinatorial dimensions of the cones.

Type:
Array<Int>

DUAL_GRAPH

The graph whose nodes are the maximal cones which are connected if they share a common facet. Only defined if PURE

Type:
Graph<Undirected>

F2_VECTOR

fik is the number of incident pairs of i-dimensional cones and k-dimensional cones; the main diagonal contains the F_VECTOR.

Type:
Matrix<Integer,NonSymmetric>

F_VECTOR

fk is the number of k-dimensional cones starting from dimension k=1.

Type:
Vector<Integer>

GRAPH

The graph of the fan intersected with a sphere, that is, the vertices are the rays which are connected if they are contained in a common two-dimensional cone.

Type:
Graph<Undirected>

HASSE_DIAGRAM
Type:
Lattice<BasicDecoration,Nonsequential>
Methods of HASSE_DIAGRAM:
dim()
Returns:
Int
nodes_of_dim(Int d)
Parameters:

Int d: dimension

Returns:
Set<Int>
nodes_of_dim_range(Int d1, Int d1)
Parameters:

Int d1: lower dimension

Int d1: upper dimension

Returns:
Set<Int>

MAXIMAL_CONES

Non redundant list of maximal cones. Indices refer to RAYS. Cones which do not have any rays correspond to the trivial cone (contains only the origin). An empty fan does not have any cones.

Type:
IncidenceMatrix<NonSymmetric>

MAXIMAL_CONES_COMBINATORIAL_DIMS

The combinatorial dimensions of the maximal cones.

Type:
Array<Int>

MAXIMAL_CONES_INCIDENCES

Array of incidence matrices of all maximal cones.

Type:
Array<IncidenceMatrix<NonSymmetric>>

MAXIMAL_CONES_THRU_RAYS

Transposed to MAXIMAL_CONES. Notice that this is a temporary property; it will not be stored in any file.

Type:
IncidenceMatrix<NonSymmetric>

N_CONES

Number of CONES.

Type:
Int

N_MAXIMAL_CONES

Number of MAXIMAL_CONES.

Type:
Int

PURE

The polyhedral fan is pure if all maximal cones are of the same dimension.

Type:
Bool

SIMPLICIAL

The polyhedral fan is simplicial if all maximal cones are simplicial.

Type:
Bool

These properties capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets.

FACET_NORMALS

The possible facet normals of all maximal cones.

Type:
Matrix<Scalar,NonSymmetric>

FAN_AMBIENT_DIM

Dimension of the space which contains the polyhedral fan.

Type:
Int

FAN_DIM

Dimension of the polyhedral fan.

Type:
Int

FULL_DIM

True if FAN_DIM and FAN_AMBIENT_DIM coincide.

Type:
Bool

LINEALITY_DIM

Dimension of LINEALITY_SPACE.

Type:
Int

LINEALITY_SPACE

Since we do not require our cones to be pointed: a basis of the lineality space of the fan. Co-exists with RAYS.

Type:
Matrix<Scalar,NonSymmetric>

LINEAR_SPAN_NORMALS

The possible linear span normals of all maximal cones.

Type:
Matrix<Scalar,NonSymmetric>

MAXIMAL_CONES_FACETS

Tells for each maximal cone what are its facets. A negative number means that the corresponding row of FACET_NORMALS has to be negated.

Type:
SparseMatrix<Int,NonSymmetric>

MAXIMAL_CONES_LINEAR_SPAN_NORMALS

Tells for each maximal cone what is its linear span. Indices refer to LINEAR_SPAN_NORMALS. Rows correspond to MAXIMAL_CONES_FACETS.

Type:
IncidenceMatrix<NonSymmetric>

N_FACET_NORMALS

The number of possible facet normals of all maximal cones.

Type:
Int

N_INPUT_RAYS

Number of INPUT_RAYS.

Type:
Int

N_RAYS

Number of RAYS.

Type:
Int

ORTH_LINEALITY_SPACE

A basis of the orthogonal complement to LINEALITY_SPACE.

Type:
Matrix<Scalar,NonSymmetric>

POINTED

True if LINEALITY_SPACE is trivial.

Type:
Bool

PSEUDO_REGULAR

True if the fan is a subfan of a REGULAR fan

Type:
Bool

RAYS

Rays from which the cones are formed. Non-redundant. Co-exists with LINEALITY_SPACE.

Type:
Matrix<Scalar,NonSymmetric>

REGULAR

True if the fan is the normal fan of a bounded polytope.

Type:
Bool

These properties capture information of the object that is concerned with the action of permutation groups.

CONES_ORBIT_SIZES

Number of CONES_REPS in each orbit.

Type:
Array<Array<Int>>

CONES_REPS

List of all cones of all dimensions of the fan, one from each orbit. Indices refer to RAYS.

Type:
Array<Array<Set<Int>>>

GROUP
Type:
Group
Methods of GROUP:
REPRESENTATIVE_INPUT_CONES

explicit representatives of equivalence classes of INPUT_CONES under a group action

REPRESENTATIVE_INPUT_RAYS

explicit representatives of equivalence classes of INPUT_RAYS under a group action

Properties of GROUP:
MATRIX_ACTION
Type:
MatrixActionOnVectors<Scalar>
MAXIMAL_CONES_ACTION
derived from:
PermutationAction
Type:
PermutationAction<Int,Rational>
Properties of MAXIMAL_CONES_ACTION:
REPRESENTATIVE_COMBINATORIAL_DIMS

dimensions of representatives of maximal cones

Type:
Array<Int>
REPRESENTATIVE_F_VECTOR

counts how many representatives of maximal cones there are in each dimension

Type:
Array<Int>
REPRESENTATIVE_CONES
Type:
IncidenceMatrix<NonSymmetric>
REPRESENTATIVE_MAXIMAL_CONES
Type:
IncidenceMatrix<NonSymmetric>
REPRESENTATIVE_RAYS
Type:
Matrix<Scalar,NonSymmetric>

MAXIMAL_CONES_IN_ORBITS

Tells which maximal cone is in the orbit of which representative, indices refers to rows of MAXIMAL_CONES.

Type:
Array<Set<Int>>

MAXIMAL_CONES_ORBIT_SIZES

Number of MAXIMAL_CONES_REPS in each orbit.

Type:
Array<Int>

MAXIMAL_CONES_REPS

Non redundant list of maximal cones, one from each orbit. Indices refer to RAYS.

Type:
Array<Set<Int>>

MAXIMAL_CONES_REPS_DIMS

The dimensions of MAXIMAL_CONES_REPS.

Type:
Array<Int>

MAXIMAL_CONES_REPS_FACETS

Tells for each maximal cone representative what are its facets. A negative number means that the corresponding row of REPS_FACET_NORMALS has to be negated.

Type:
SparseMatrix<Int,NonSymmetric>

MAXIMAL_CONES_REPS_LINEAR_SPAN_NORMALS

Tells for each maximal cone representative what is its linear span. Indices refer to REPS_LINEAR_SPAN_NORMALS. Rows correspond to MAXIMAL_CONES_REPS_FACETS

Type:
IncidenceMatrix<NonSymmetric>

N_MAXIMAL_CONE_ORBITS

Number of orbits of MAXIMAL_CONES.

Type:
Int

N_RAY_ORBITS

Number of orbits of RAYS.

Type:
Int

N_SYMMETRIES

Number of elements of the symmetry group.

Type:
Int

ORBITS_F_VECTOR

fk is the number of k-dimensional cones up to symmetry.

Type:
Vector<Integer>

RAYS_IMAGES

Each row contains the image of all RAYS under one element of the symmetry group.

Type:
Array<Array<Int>>

RAYS_IN_ORBITS

Tells which ray is in the orbit of which representative, indices refers to rows of RAYS.

Type:
Array<Set<Int>>

RAYS_ORBIT_SIZES

Number of elements of each orbit of RAYS.

Type:
Array<Int>

RAYS_REPS

One ray from each orbit. Non-redundant.

Type:
Matrix<Scalar,NonSymmetric>

RAYS_REPS_LABELS

Unique names assigned to the RAYS_REPS.

Type:
Array<String>

REPS_FACET_NORMALS

The possible facet normals of all maximal cone representatives.

Type:
Matrix<Scalar,NonSymmetric>

REPS_LINEAR_SPAN_NORMALS

The possible linear span normals of all maximal cone representatives.

Type:
Matrix<Scalar,NonSymmetric>

SYMMETRY_GENERATORS

Each element of the array is a generator of the subgroup of the symmetric group acting on the coordinates. Each generator is represented by an Array whose i-th entry is the image of the i-th coordinate.

Type:
Array<Array<Int>>

SYMMETRY_GROUP

Each element of the array is an element of the symmetry group.

Type:
Array<Array<Int>>

The following properties are topological invariants.

HOMOLOGY

The homology of the intersection of the fan with the unit sphere.

Type:
Array<HomologyGroup<Integer>>

INTERSECTION_COMPLEX

If the fan is SIMPLICIAL the simplicial complex obtained by intersection the fan with the unit sphere. If the fan is not SIMPLICIAL the crosscut complex of the intersection.

Type:
SimplicialComplex

Properties coming from associated toric varieties

GORENSTEIN

A fan is Gorenstein if it is Q_GORENSTEIN with Q_GORENSTEIN_INDEX equal to one.

Type:
Bool

Q_GORENSTEIN

A fan is Q-GORENSTEIN if each maximal cone is Q_Gorenstein.

Type:
Bool

Q_GORENSTEIN_INDEX

If a fan is Q_GORENSTEIN, then its Q-Gorenstein index is the least common multiple of the Q-Gorenstein indices of its maximal cones. Otherwise Q_GORENSTEIN_INDEX is undefined.

Type:
Int

SMOOTH_FAN

A fan is smooth if all cones of the fan are smooth.

Type:
Bool

These properties are for visualization.

INPUT_RAY_LABELS

Unique names assigned to the INPUT_RAYS. Similar to RAY_LABELS for RAYS.

Type:
Array<String>

MAXIMAL_CONE_LABELS

Unique names assigned to the MAXIMAL_CONES. Similar to RAY_LABELS for RAYS.

Type:
Array<String>

RAY_LABELS

Unique names assigned to the RAYS. If specified, they are shown by visualization tools instead of vertex indices. For a polyhedral fan built from scratch, you should create this property by yourself, either manually in a text editor, or with a client program.

Type:
Array<String>

These methods capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.

CONES_DIMS()

The dimensions of the cones.

Returns:
Array<Int>

cone(Int i)

Returns the i-th maximal cone.

Parameters:

Int i

Returns:
Cone

These methods capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets.

AMBIENT_DIM()

Returns the dimension of the ambient space.

Returns:
Int

DIM()

Returns the dimension of the linear space spanned by the fan.

Returns:
Int

These methods capture information of the object that is concerned with the action of permutation groups.

cone_representative(Int i)

Returns the i-th maximal cone representative.

Parameters:

Int i

Returns:
Cone

These methods are for visualization.

VISUAL()

Visualizes the fan, intersected with the unit ball.

Options:
option list geometric_options_linear
Returns:
Visual::PolyhedralFan

• documentation/latest/fan/polyhedralfan.txt