#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.

Reply via email to