-
-
Notifications
You must be signed in to change notification settings - Fork 654
Description
The following lines currently occur:
sage: A = polytopes.associahedron(['A',3])
sage: face = A.faces(2)[3]
sage: face
<6,8,9,10>
sage: face.as_polyhedron()
/home/jplabbe/sage/local/lib/python2.7/site-packages/sage/repl/rich_output/display_manager.py:590: RichReprWarning: Exception in _rich_repr_ while displaying object: 'Associahedra_with_category.element_class' object has no attribute '_cartan_type'
RichReprWarning,
<repr(<sage.combinat.root_system.associahedron.Associahedra_with_category.element_class at 0x7f48d0d7ad70>) failed: AttributeError: 'Associahedra_with_category.element_class' object has no attribute '_cartan_type'>
The construction as_polyhedron
initializes the new (face-)polyhedron via P.__class__(parent, Vrep, None)
. In the case of the associahedron, this does not give a valid object, as the associahedron requires a cartan type as well.
Same (or similar problem) with:
minkowski_sum
,minkowski_difference
,translation
,dilation
,convex_hull
,intersection
(actually even worse as coercion fails),polar
.
We fix the initialization of the associahedron to now require the cartan type on __init__
(before it was assumed to be set after initialization).
Further we have __new__
return the correct parent class such that e.g. the face of an Associahedron_class_ppl
is constructed as Polyhedron_ppl
.
We fix _coerce_map_from_
to take into account that no general polyhedron can be coerced to an associahedron.
We manually set the correct pushout of polyhedra over ZZ and associahedra (over QQ) to be polyhedra over QQ.
Depends on #27798
CC: @fchapoton @stumpc5 @tscrim @mo271 @jplab @LaisRast
Component: geometry
Keywords: associahedron
Author: Jonathan Kliem
Branch/Commit: d9083b7
Reviewer: Jean-Philippe Labbé, Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/25183