#17938: implement common refinement of fans
-------------------------------------+-------------------------------------
Reporter: chapoton | Owner:
Type: enhancement | Status: needs_review
Priority: minor | Milestone: sage-6.6
Component: geometry | Resolution:
Keywords: fan, toric, | Merged in:
refinement | Reviewers: Andrey Novoseltsev
Authors: Frédéric Chapoton | Work issues:
Report Upstream: N/A | Commit:
Branch: u/novoselt/17938 | 9acc6329f0453e71c760111a98af36b5b2e8c83d
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by novoselt):
It better not modify anything in the global namespace!!!
{{{
sage: F1 = toric_varieties.P2().fan()
sage: F2 = Fan([F1.generating_cone(0)])
sage: F2.common_refinement(F1)
...
1661 if not self.is_complete():
1662 # Construct the opposite morphism to ensure support
equality
-> 1663 FanMorphism(id, other, self, subdivide=True)
...
ValueError: morphism defined by
[1 0]
[0 1]
does not map
Rational polyhedral fan in 2-d lattice N
into the support of
Rational polyhedral fan in 2-d lattice N!
}}}
Without constructing the second morphism, it is not obvious that the
support of F1 is not strictly bigger than the support of F2. Yet if the
second one can be constructed, its domain fan will be exactly the same
subdivision, so no need to use it somehow.
Checking equality of supports of non-complete fans is tricky, since the
support does not have to be convex, so there is no simple object that can
model it. (And that's why we don't have `fan.support()` method - the best
model for the support of a general fan is the fan itself as a polyhedral
complex.) Another more transparent option is to check if the first
constructed morphism is surjective, but looking at the code I suspect it
is more time-consuming.
--
Ticket URL: <http://trac.sagemath.org/ticket/17938#comment:6>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.