Available versions of this document: latest release, release 4.13, release 4.12, release 4.11, release 4.10, release 4.9, release 4.8, release 4.7, release 4.6, release 4.5, release 4.4, release 4.3, release 4.2, release 4.1, 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 SimplicialComplex
from application topaz
An abstract simplicial complex represented by its facets.
- Permutations:
- FacetPerm:
permuting the
FACETS
- VertexPerm:
permuting the vertices
Properties
Input property
These properties are for input only. They allow redundant information.
-
INPUT_FACES
Any description of the faces of a simplicial complex with vertices v_0 < v_1 < v_2 < … arbitrary. Redundant faces allowed.
- Type:
Combinatorics
These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
-
BOUNDARY
- Type:
- Properties of BOUNDARY:
-
VERTEX_MAP
Maps vertices of the boundary complex to the corresponding ones in the supercomplex
- Type:
-
-
COLORING
A coloring of the vertices.
- Type:
-
CONSTRUCTIBLE
True if this is constructible.
- Type:
-
DIM
Maximal dimension of the
FACETS
, where the dimension of a facet is defined as the number of its vertices minus one.- Type:
-
DUAL_GRAPH
- Type:
- Properties of DUAL_GRAPH:
-
COLORING
UNDOCUMENTED
- Type:
-
-
F2_VECTOR
fik is the number of incident pairs of i-faces and k-faces; the main diagonal contains the
F_VECTOR
.- Type:
-
FACETS
Faces which are maximal with respect to inclusion, encoded as their ordered set of vertices. The vertices must be numbered 0, …, n-1.
- Type:
-
FOLDABLE
- Type:
-
F_VECTOR
fk is the number of k-faces, for k = 0,… , d, where d is the dimension.
- Type:
-
GRAPH
The subcomplex consisting of all 1-faces.
- Type:
-
HASSE_DIAGRAM
- Type:
- Methods of HASSE_DIAGRAM:
-
dim
UNDOCUMENTED
-
nodes_of_dim
UNDOCUMENTED
-
nodes_of_dim_range
UNDOCUMENTED
-
-
H_VECTOR
The h-vector of the simplicial complex.
- Type:
-
MINIMAL_NON_FACES
Inclusion minimal non-faces (vertex subsets which are not faces of the simplicial complex).
- Type:
-
N_FACETS
Number of
FACETS
.- Type:
-
N_MINIMAL_NON_FACES
Number of
MINIMAL_NON_FACES
.- Type:
-
N_VERTICES
Number of vertices.
- Type:
-
ODD_SUBCOMPLEX
Subcomplex generated by faces of codimension 2 that are contained in an odd number of faces of codimension 1.
- Type:
-
PROJ_DICTIONARY
For each vertex the corresponding vertex of facet 0 with respect to the action of the group of projectivities.
- Type:
-
PROJ_ORBITS
Orbit decomposition of the group of projectivities acting on the set of vertices of facet 0.
- Type:
-
PURE
A simplicial complex is pure if all its facets have the same dimension.
- Type:
-
SHELLABLE
True if this is shellable.
- Type:
-
SHELLING
An ordered list of facets constituting a shelling.
- Type:
-
SHIFTED
A collection A of k-sets of nonnegative integers is shifted if whenever S \in A and R is obtained from S by replacing an element with a smaller element, then R belongs to A. A simplicial complex is shifted if the (k-1)-faces form a shifted collection for all k. Kalai: Algebraic shifting, Adv. Stud. Pure Math. 33, Mathematical Society of Japan, Tokyo, 2002
- Type:
-
VERTEX_INDICES
Indices of the vertices from
INPUT_FACES
. That is, the map i \mapsto v_i. Used for embeddings of subcomplexes.- Type:
Geometry
These properties capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets.
-
GRASS_PLUCKER_CERTIFICATE
A Grassmann-Plücker certificate for non-realizability, as described in J. Pfeifle, Positive Plücker tree certificates for non-realizability, Experimental Math. 2022 https://doi.org/10.1080/10586458.2021.1994487 and J. Pfeifle, A polymake implementation of Positive Plücker tree certificates for non-realizability, MEGA 2022
- Type:
- Example:
> $s = new SimplicialComplex(FACETS=>[[0,1,2,3],[0,1,2,4],[0,1,3,5],[0,1,4,6],[0,1,5,7],[0,1,6,7],[0,2,3,4],[0,3,4,5],[0,4,5,6],[0,5,6,7],[1,2,3,7],[1,2,4,6],[1,2,6,7],[1,3,5,7],[2,3,4,7],[2,4,5,6],[2,4,5,7],[2,5,6,7],[3,4,5,7]]); > print $s->NON_REALIZABLE; true
> $s→GRASS_PLUCKER_CERTIFICATE→properties();
-
NON_REALIZABLE
True if a certificate for convex non-realizability has been found False means that no such certificate has been found
- Type:
- Example:
For some simplicial complexes, polymake can certify that they are not realizable in a convex way. Currently, the only available proofs of non-realizability are Grassmann-Plücker certificates.
> $s = new SimplicialComplex(FACETS=>[[0,1,2,3],[0,1,2,4],[0,1,3,5],[0,1,4,6],[0,1,5,7],[0,1,6,7],[0,2,3,4],[0,3,4,5],[0,4,5,6],[0,5,6,7],[1,2,3,7],[1,2,4,6],[1,2,6,7],[1,3,5,7],[2,3,4,7],[2,4,5,6],[2,4,5,7],[2,5,6,7],[3,4,5,7]]); > print $s->NON_REALIZABLE; true
- Example:
> print jockusch_3_sphere(4)->NON_REALIZABLE false
- Example:
> print jockusch_3_sphere(5)->NON_REALIZABLE true
Symmetry
These properties capture information of the object that is concerned with the action of permutation groups.
-
GROUP
This can be any subgroup of the full combinatorial automorphism group.
- Type:
Topology
The following properties are topological invariants.
-
BALL
Determines if this is homeomorphic to a ball. In general, this is undecidable; therefore, the implementation depends on heuristics. May be true or false or undef (if heuristic does not succeed).
- Type:
- Example:
Simplicial Complex is a ball.
> $b= new SimplicialComplex(INPUT_FACES=>[[0,1,2,3],[1,2,3,4]]); > print $b->BALL; true
-
CLOSED_PSEUDO_MANIFOLD
True if this is a
PURE
simplicial complex with the property that each ridge is contained in exactly two facets.- Type:
-
COCYCLES
Representatives of cocycle groups, listed in increasing codimension order. See
CycleGroup
for explanation of encoding of each group.- Type:
-
COHOMOLOGY
Reduced cohomology groups, listed in increasing codimension order. See
HomologyGroup
for explanation of encoding of each group.- Type:
-
CYCLES
Representatives of cycle groups, listed in increasing dimension order. See
CycleGroup
for explanation of encoding of each group.- Type:
-
EULER_CHARACTERISTIC
Reduced Euler characteristic. Alternating sum of the
F_VECTOR
minus 1.- Type:
-
FUNDAMENTAL_GROUP
A finite representation of the fundamental group. The fundamental group is represented as a pair of an integer, the number of generators, and a list of relations. The generators are numbered consecutively starting with zero. A relation is encoded as a list of pairs, each pair consisting of a generator and its exponent. You may use the
fundamental2gap
method to produce aGAP
file.- Type:
-
FUNDAMENTAL_GROUP_GEN_LABELS
Labels of the generators of the
FUNDAMENTAL_GROUP
. The labels can be chosen freely. If theFUNDAMENTAL_GROUP
is computed by polymake, the generators correspond to the edges of the complex. Hence they are labeledg
followed by the vertices of the edge, e.g.g3_6
corresponds to the edge {3 6}.- Type:
-
GENUS
The genus of a surface.
- Type:
-
HOMOLOGY
Reduced simplicial homology groups H0, …, Hd (integer coefficients), listed in increasing dimension order. See
HomologyGroup
for explanation of encoding of each group.- Type:
-
INTERSECTION_FORM
The integral quadratic form obtained from restricting the multiplication of the cohomology of a closed 4k-manifold to H^{2k} x H^{2k} → H^{4k} = Z. As a quadratic form over the reals it is characterized by its dimension and its index of inertia (or, equivalenty, by the number of positive and negative ones in its canonical form). An integral quadratic form is even if it takes values in 2Z.
- Type:
-
KNOT
One-dimensional subcomplex which forms a knot or link, i.e., a collection of pairwise disjoint cycles. Usually that complex is a 3-sphere or a 3-ball.
- Type:
-
LABELED_FACETS
A representation of the facets that prints them using the VERTEX_LABELS
- Type:
-
LABELED_ORIENTATION
A representation of the orientation that prints each facet using the VERTEX_LABELS, followed by its sign
- Type:
-
LOCALLY_STRONGLY_CONNECTED
True if the vertex star of each vertex is
DUAL_CONNECTED
.- Type:
-
MANIFOLD
Determines if this is a compact simplicial manifold with boundary. Depends on heuristic
SPHERE
recognition. May be true or false or undef (if heuristic does not succeed).- Type:
-
MORSE_MATCHING
- Type:
- Properties of MORSE_MATCHING:
-
MATCHING
The matching in the HasseDiagram of the SimplicialComplex
- Type:
-
-
ORIENTATION
An orientation of the facets of an
ORIENTED_PSEUDO_MANIFOLD
, such that the induced orientations of a common ridge of two neighboring facets cancel each other out. Each facet is marked with 1 if the orientation agrees with the (chosen) orientation of the first facet, and is marked with -1 otherwise.- Type:
-
ORIENTED_PSEUDO_MANIFOLD
True if this is a
PSEUDO_MANIFOLD
with top level homology isomorphic to Z.- Type:
-
PSEUDO_MANIFOLD
True if this is a
PURE
simplicial complex with the property that each ridge is contained in either one or two facets.- Type:
-
SPHERE
Determines if this is homeomorphic to a sphere. In general, this is undecidable; therefore, the implementation depends on heuristics. May be true or false or undef (if heuristic does not succeed).
- Type:
-
STIEFEL_WHITNEY
Mod 2 Stiefel-Whitney homology classes per dimension. Each cycle is represented as a set of simplices.
- Type:
-
SURFACE
- Type:
Visualization
These properties are for visualization.
-
MIXED_GRAPH
- Type:
- Properties of MIXED_GRAPH:
-
EDGE_WEIGHTS
Associated edge weights.
- Type:
-
-
VERTEX_LABELS
Labels of the vertices.
- Type:
Methods
Combinatorics
These methods capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
-
BIPARTITE()
True if
GRAPH
is a bipartite.- Returns:
-
CONNECTED_COMPONENTS()
The connected components of the
GRAPH
, encoded as node sets.- Returns:
-
CONNECTIVITY()
Node connectivity of the
GRAPH
, that is, the minimal number of nodes to be removed from the graph such that the result is disconnected.- Returns:
-
DUAL_BIPARTITE()
True if
DUAL_GRAPH
is a bipartite.- Returns:
-
DUAL_CONNECTED_COMPONENTS()
The connected components of the
DUAL_GRAPH
, encoded as node sets.- Returns:
-
DUAL_CONNECTIVITY()
Node connectivity of the
DUAL_GRAPH
. Dual toCONNECTIVITY
.- Returns:
-
DUAL_GRAPH_SIGNATURE()
Difference of the black and white nodes if the
DUAL_GRAPH
isBIPARTITE
. Otherwise -1.- Returns:
-
DUAL_MAX_CLIQUES()
The maximal cliques of the
DUAL_GRAPH
, encoded as node sets.- Returns:
-
GRAPH_SIGNATURE()
- Returns:
-
MAX_CLIQUES()
The maximal cliques of the
GRAPH
, encoded as node sets.- Returns:
-
VERTEX_DEGREES()
Degrees of the vertices in the
GRAPH
.- Returns:
-
boundary_matrix(Int d)
Output the boundary matrix of dimension d. Indexing is according to the face indices in the HASSE_DIAGRAM of the complex. The matrix is a map via multiplying it to a vector from the left. Beware, this computes the whole face lattice of your complex, which is expensive.
- Parameters:
Int
d
: Dimension of the boundary matrix.- Returns:
- Example:
This prints the boundary matrix of the 3-simplex:
> print simplex(3)->boundary_matrix(1); -1 1 0 0 -1 0 1 0 0 -1 1 0 -1 0 0 1 0 -1 0 1 0 0 -1 1
The output can be interpreted like this: the zeroth column of the matrix corresponds to the facet with index 0, which contains the edges with indices 0,1 and 3.
-
labeled_vertices(String label …)
Find the vertices by given labels.
- Parameters:
String
label …
: vertex labels- Returns:
Topology
The following methods compute topological invariants.
-
CONNECTED()
True if the
GRAPH
is a connected graph.- Returns:
-
DUAL_CONNECTED()
True if the
DUAL_GRAPH
is a connected graph.- Returns:
-
N_CONNECTED_COMPONENTS()
Number of connected components of the
GRAPH
.- Returns:
-
fundamental2gap(String filename)
Writes the
FUNDAMENTAL_GROUP
usingFUNDAMENTAL_GROUP_GEN_LABELS
to the given file in GAP input format.- Parameters:
String
filename
- Returns:
Visualization
These methods are for visualization.
-
VISUAL()
Visualizes the complex. If
G_DIM
< 4, theGRAPH
and the facets are visualized using theCOORDINATES
. Otherwise, the spring embedder and theGRAPH
are used to produce coordinates for the visualization. If JavaView is used to visualize the complex, all faces of one facet build a geometry in the jvx-file, so you may use Method → Effect → Explode Group of Geometries in the JavaView menu.- Options:
Bool
mixed_graph
: use theMIXED_GRAPH
for the spring embedderInt
seed
: random seed value for the string embedder- option list
Visual::Polygon::decorations
- option list
Visual::Graph::decorations
- Returns:
-
VISUAL_DUAL_GRAPH()
Uses the spring embedder to visualize the
DUAL_GRAPH
.- Options:
Int
seed
: random seed value for the string embedder- option list
Visual::Graph::decorations
- Returns:
-
VISUAL_FACE_LATTICE()
Visualize the
HASSE_DIAGRAM
of a simplicial complex as a multi-layer graph.- Options:
Int
seed
: random seed value for the node placement- option list
Visual::Lattice::decorations
- Returns:
-
VISUAL_GRAPH()
Uses the spring embedder to visualize the
GRAPH
.- Options:
Int
seed
: random seed value for the string embedder- option list
Visual::Graph::decorations
- Returns:
-
VISUAL_MIXED_GRAPH()
Uses the spring embedder to visualize the
MIXED_GRAPH
.- Options:
Int
seed
: random seed value for the string embedder- option list
Visual::Graph::decorations
- Returns: