Associahedron¶
Todo
 fix adjacency matrix
 edit graph method to get proper vertex labellings
 UniqueRepresentation?
AUTHORS:
 Christian Stump

class
sage.combinat.root_system.associahedron.
Associahedra
(base_ring, ambient_dim, backend)¶ Bases:
sage.geometry.polyhedron.parent.Polyhedra_QQ_ppl
Parent of Associahedra of specified dimension
EXAMPLES:
sage: from sage.combinat.root_system.associahedron import Associahedra sage: parent = Associahedra(QQ,2,'ppl'); parent Polyhedra in QQ^2 sage: type(parent) <class 'sage.combinat.root_system.associahedron.Associahedra_with_category'> sage: parent(['A',2]) Generalized associahedron of type ['A', 2] with 5 vertices
Importantly, the parent knows the dimension of the ambient space. If you try to construct an associahedron of a different dimension, a
ValueError
is raised:sage: parent(['A',3]) Traceback (most recent call last): ... ValueError: Vrepresentation data requires a list of length ambient_dim

Element
¶ alias of
Associahedron_class


sage.combinat.root_system.associahedron.
Associahedron
(cartan_type)¶ Construct an associahedron.
The generalized associahedron is a polytopal complex with vertices in onetoone correspondence with clusters in the cluster complex, and with edges between two vertices if and only if the associated two clusters intersect in codimension 1.
The associahedron of type \(A_n\) is one way to realize the classical associahedron as defined in the Wikipedia article Associahedron.
A polytopal realization of the associahedron can be found in [CFZ2002]. The implementation is based on [CFZ2002], Theorem 1.5, Remark 1.6, and Corollary 1.9.
EXAMPLES:
sage: Asso = polytopes.associahedron(['A',2]); Asso Generalized associahedron of type ['A', 2] with 5 vertices sage: sorted(Asso.Hrepresentation(), key=repr) [An inequality (1, 0) x + 1 >= 0, An inequality (0, 1) x + 1 >= 0, An inequality (0, 1) x + 1 >= 0, An inequality (1, 0) x + 1 >= 0, An inequality (1, 1) x + 1 >= 0] sage: Asso.Vrepresentation() (A vertex at (1, 1), A vertex at (1, 1), A vertex at (1, 1), A vertex at (1, 0), A vertex at (0, 1)) sage: polytopes.associahedron(['B',2]) Generalized associahedron of type ['B', 2] with 6 vertices
The two pictures of [CFZ2002] can be recovered with:
sage: Asso = polytopes.associahedron(['A',3]); Asso Generalized associahedron of type ['A', 3] with 14 vertices sage: Asso.plot() # long time Graphics3d Object sage: Asso = polytopes.associahedron(['B',3]); Asso Generalized associahedron of type ['B', 3] with 20 vertices sage: Asso.plot() # long time Graphics3d Object

class
sage.combinat.root_system.associahedron.
Associahedron_class
(parent, Vrep, Hrep, **kwds)¶ Bases:
sage.geometry.polyhedron.backend_ppl.Polyhedron_QQ_ppl
The Python class of an associahedron
You should use the
Associahedron()
convenience function to construct associahedra from the Cartan type.
cartan_type
()¶ Return the Cartan type of
self
.EXAMPLES:
sage: polytopes.associahedron(['A',3]).cartan_type() ['A', 3]

vertices_in_root_space
()¶ Return the vertices of
self
as elements in the root space.EXAMPLES:
sage: Asso = polytopes.associahedron(['A',2]) sage: Asso.vertices() (A vertex at (1, 1), A vertex at (1, 1), A vertex at (1, 1), A vertex at (1, 0), A vertex at (0, 1)) sage: Asso.vertices_in_root_space() (alpha[1]  alpha[2], alpha[1] + alpha[2], alpha[1] + alpha[2], alpha[1], alpha[2])
