from application topaz
An abstract simplicial complex represented by its facets.
permuting the FACETS
permuting the vertices
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.
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
VERTEX_MAP
Maps vertices of the boundary complex to the corresponding ones in the supercomplex
COLORING
A coloring of the vertices.
DIM
Maximal dimension of the FACETS
, where the dimension of a facet is defined as the number of its vertices minus one.
DUAL_GRAPH
COLORING
UNDOCUMENTED
F2_VECTOR
fik is the number of incident pairs of i-faces and k-faces; the main diagonal contains the F_VECTOR
.
FACETS
Faces which are maximal with respect to inclusion, encoded as their ordered set of vertices. The vertices must be numbered 0, …, n-1.
FOLDABLE
F_VECTOR
fk is the number of k-faces, for k = 0,… , d, where d is the dimension.
GRAPH
The subcomplex consisting of all 1-faces.
HASSE_DIAGRAM
dim
UNDOCUMENTED
nodes_of_dim
UNDOCUMENTED
nodes_of_dim_range
UNDOCUMENTED
H_VECTOR
The h-vector of the simplicial complex.
MINIMAL_NON_FACES
Inclusion minimal non-faces (vertex subsets which are not faces of the simplicial complex).
N_FACETS
Number of FACETS
.
N_MINIMAL_NON_FACES
Number of MINIMAL_NON_FACES
.
N_VERTICES
Number of vertices.
ODD_SUBCOMPLEX
Subcomplex generated by faces of codimension 2 that are contained in an odd number of faces of codimension 1.
PROJ_DICTIONARY
For each vertex the corresponding vertex of facet 0 with respect to the action of the group of projectivities.
PROJ_ORBITS
Orbit decomposition of the group of projectivities acting on the set of vertices of facet 0.
PURE
A simplicial complex is pure if all its facets have the same dimension.
SHELLABLE
True if this is shellable.
SHELLING
An ordered list of facets constituting a shelling.
VERTEX_INDICES
Indices of the vertices from INPUT_FACES
. That is, the map i \mapsto v_i. Used for embeddings of subcomplexes.
These properties capture information of the object that is concerned with the action of permutation groups.
GROUP
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).
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.
COCYCLES
Representatives of cocycle groups, listed in increasing codimension order. See CycleGroup
for explanation of encoding of each group.
COHOMOLOGY
Reduced cohomology groups, listed in increasing codimension order. See HomologyGroup
for explanation of encoding of each group.
CYCLES
Representatives of cycle groups, listed in increasing dimension order. See CycleGroup
for explanation of encoding of each group.
EULER_CHARACTERISTIC
Reduced Euler characteristic. Alternating sum of the F_VECTOR
minus 1.
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 a GAP
file.
FUNDAMENTAL_GROUP_GEN_LABELS
Labels of the generators of the FUNDAMENTAL_GROUP
. The labels can be chosen freely. If the FUNDAMENTAL_GROUP
is computed by polymake, the generators correspond to the edges of the complex. Hence they are labeled g
followed by the vertices of the edge, e.g. g3_6
corresponds to the edge {3 6}.
GENUS
The genus of a surface.
HOMOLOGY
Reduced simplicial homology groups H0, …, Hd (integer coefficients), listed in increasing dimension order. See HomologyGroup
for explanation of encoding of each group.
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.
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.
LABELED_FACETS
A representation of the facets that prints them using the VERTEX_LABELS
LABELED_ORIENTATION
A representation of the orientation that prints each facet using the VERTEX_LABELS, followed by its sign
LOCALLY_STRONGLY_CONNECTED
True if the vertex star of each vertex is DUAL_CONNECTED
.
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).
MORSE_MATCHING
MATCHING
The matching in the HasseDiagram of the SimplicialComplex
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.
ORIENTED_PSEUDO_MANIFOLD
True if this is a PSEUDO_MANIFOLD
with top level homology isomorphic to Z.
PSEUDO_MANIFOLD
True if this is a PURE
simplicial complex with the property that each ridge is contained in either one or two facets.
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).
STIEFEL_WHITNEY
Mod 2 Stiefel-Whitney homology classes per dimension. Each cycle is represented as a set of simplices.
SURFACE
These properties are for visualization.
MIXED_GRAPH
EDGE_WEIGHTS
Associated edge weights.
VERTEX_LABELS
Labels of the vertices.
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.
CONNECTED_COMPONENTS()
The connected components of the GRAPH
, encoded as node sets.
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.
DUAL_BIPARTITE()
True if DUAL_GRAPH
is a bipartite.
DUAL_CONNECTED_COMPONENTS()
The connected components of the DUAL_GRAPH
, encoded as node sets.
DUAL_CONNECTIVITY()
Node connectivity of the DUAL_GRAPH
. Dual to CONNECTIVITY
.
DUAL_GRAPH_SIGNATURE()
Difference of the black and white nodes if the DUAL_GRAPH
is BIPARTITE
. Otherwise -1.
DUAL_MAX_CLIQUES()
The maximal cliques of the DUAL_GRAPH
, encoded as node sets.
GRAPH_SIGNATURE()
MAX_CLIQUES()
The maximal cliques of the GRAPH
, encoded as node sets.
VERTEX_DEGREES()
Degrees of the vertices in the GRAPH
.
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.
Int
d
: Dimension of the boundary matrix.
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.
String
label …
: vertex labels
The following methods compute topological invariants.
CONNECTED()
True if the GRAPH
is a connected graph.
DUAL_CONNECTED()
True if the DUAL_GRAPH
is a connected graph.
N_CONNECTED_COMPONENTS()
Number of connected components of the GRAPH
.
fundamental2gap(String filename)
Writes the FUNDAMENTAL_GROUP
using FUNDAMENTAL_GROUP_GEN_LABELS
to the given file in GAP input format.
String
filename
These methods are for visualization.
VISUAL()
Visualizes the complex. If G_DIM
< 4, the GRAPH
and the facets are visualized using the COORDINATES
. Otherwise, the spring embedder and the GRAPH
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.
Bool
mixed_graph
: use the MIXED_GRAPH
for the spring embedder
Int
seed
: random seed value for the string embedder
Visual::Polygon::decorations
Visual::Graph::decorations
VISUAL_DUAL_GRAPH()
Uses the spring embedder to visualize the DUAL_GRAPH
.
Int
seed
: random seed value for the string embedder
Visual::Graph::decorations
VISUAL_FACE_LATTICE()
Visualize the HASSE_DIAGRAM
of a simplicial complex as a multi-layer graph.
Int
seed
: random seed value for the node placement
Visual::Lattice::decorations
VISUAL_GRAPH()
Uses the spring embedder to visualize the GRAPH
.
Int
seed
: random seed value for the string embedder
Visual::Graph::decorations
VISUAL_MIXED_GRAPH()
Uses the spring embedder to visualize the MIXED_GRAPH
.
Int
seed
: random seed value for the string embedder
Visual::Graph::decorations