#15153: Check embedding morphism when comparing two toric varieties
----------------------------------+----------------------------
   Reporter:  jkeitel             |            Owner:
       Type:  defect              |           Status:  new
   Priority:  major               |        Milestone:  sage-6.0
  Component:  algebraic geometry  |         Keywords:  toric
  Merged in:                      |          Authors:
  Reviewers:                      |  Report Upstream:  N/A
Work issues:                      |           Branch:
     Commit:                      |     Dependencies:
   Stopgaps:                      |
----------------------------------+----------------------------
 At the moment two toric varieties are taken to be equal if ''their fans
 are the same, names of variables are the same and stored in the same
 order,          and base fields are the same'', independent of whether
 they have the same embedding morphism or not.

 What does that imply? Since ToricDivisorGroup inherits from
 UniqueRepresentation, two toric varieties that only differ in their
 embedding will share the same ToricDivisorGroup object and therefore a
 ToricDivisor created by a variety will reference the variety that first
 created its ToricDivisorGroup object, independent of whether that's
 correct or not.

 As a consequence, we have the following behavior:

 {{{
 sage: P2 = toric_varieties.P(2)
 sage: variety1 = P2.affine_patch(2)
 sage: variety2 = ToricVariety(variety1.fan())
 sage: variety1 == variety2
 True
 sage: div1 = variety1.divisor(Cone([(1,0)]))
 sage: div2 = variety2.divisor(Cone([(1,0)]))
 sage: div1.scheme().embedding_morphism()
 Scheme morphism:
   From: 2-d affine toric variety
   To:   2-d CPR-Fano toric variety covered by 3 affine patches
   Defn: Defined on coordinates by sending [z0 : z1] to
         [z0 : z1 : 1]
 sage: div2.scheme().embedding_morphism() # should produce an exception
 Scheme morphism:
   From: 2-d affine toric variety
   To:   2-d CPR-Fano toric variety covered by 3 affine patches
   Defn: Defined on coordinates by sending [z0 : z1] to
         [z0 : z1 : 1]
 sage: div2.scheme() is variety2
 False
 sage: div2.scheme() is variety1
 True
 }}}
 While this set-up might seem highly artificial, in the context of toric
 fibrations in #12892 one naturally gets fiber varieties that only differ
 in their embedding.

 Unless there are arguments against it, I therefore suggest to extend
 {{{ToricVariety_field.__cmp__}}} to include the embedding morphism.

--
Ticket URL: <http://trac.sagemath.org/ticket/15153>
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/groups/opt_out.

Reply via email to