#10325: Cohomology Ring of toric varieties not unique
----------------------------------+-----------------------------------------
   Reporter:  vbraun              |       Owner:  AlexGhitza
       Type:  defect              |      Status:  new       
   Priority:  major               |   Milestone:  sage-4.6.2
  Component:  algebraic geometry  |    Keywords:            
     Author:  Volker Braun        |    Upstream:  N/A       
   Reviewer:                      |      Merged:            
Work_issues:                      |  
----------------------------------+-----------------------------------------
 The `ToricVariety.cohomology_ring()` is not unique, which eventually
 causes problems with isomorphic but not identical toric varieties:
 {{{
 sage: cone1 = Cone([(1,0)]);  cone2 = Cone([(1,0)])
 sage: cone1 is cone2
 False
 sage: fan1 = Fan([cone1]);  fan2 = Fan([cone2])
 sage: fan1 is fan2
 False
 sage: X1 = ToricVariety(fan1);  X2 = ToricVariety(fan2)
 sage: X1 is X2
 False
 sage: X1.cohomology_ring() is X2.cohomology_ring()
 False
 sage: TDiv = X1.toric_divisor_group()
 sage: X1.toric_divisor_group() is TDiv
 True
 sage: X2.toric_divisor_group() is TDiv
 True
 sage: TDiv.scheme() is X1   # as you expect
 False
 sage: TDiv.scheme() is X2   # perhaps less obvious, but
 toric_divisor_group is unique!
 False
 sage: TDiv.scheme() == X2   # isomorphic, but not necessarily identical
 True
 sage: TDiv.scheme().cohomology_ring() is X2.cohomology_ring()  # this is
 where it gets tricky
 False
 sage: TDiv.gen(0).Chern_character() * X2.cohomology_ring().one()
 ---------------------------------------------------------------------------
 RuntimeError                              Traceback (most recent call
 last)

 /home/vbraun/opt/sage-4.6/devel/sage-main/<ipython console> in <module>()

 /home/vbraun/Sage/sage/local/lib/python2.6/site-
 packages/sage/structure/element.so in
 sage.structure.element.RingElement.__mul__
 (sage/structure/element.c:11399)()

 /home/vbraun/Sage/sage/local/lib/python2.6/site-
 packages/sage/structure/coerce.so in
 sage.structure.coerce.CoercionModel_cache_maps.bin_op
 (sage/structure/coerce.c:6138)()

 /home/vbraun/Sage/sage/local/lib/python2.6/site-
 packages/sage/structure/coerce.so in
 sage.structure.coerce.CoercionModel_cache_maps.canonical_coercion
 (sage/structure/coerce.c:7586)()

 /home/vbraun/Sage/sage/local/lib/python2.6/site-
 packages/sage/structure/coerce.so in
 sage.structure.coerce.CoercionModel_cache_maps._coercion_error
 (sage/structure/coerce.c:13134)()

 RuntimeError: There is a bug in the coercion code in Sage.
 Both x (=[1]) and y (=[1]) are supposed to have identical parents but they
 don't.
 In fact, x has parent 'Rational cohomology ring of a 2-d affine toric
 variety'
 whereas y has parent 'Rational cohomology ring of a 2-d affine toric
 variety'
 Original elements [1] (parent Rational cohomology ring of a 2-d affine
 toric variety) and [1] (parent Rational cohomology ring of a 2-d affine
 toric variety) and maps
 <type 'NoneType'> None
 <type 'sage.structure.coerce_maps.DefaultConvertMap_unique'> Conversion
 map:
   From: Rational cohomology ring of a 2-d affine toric variety
   To:   Rational cohomology ring of a 2-d affine toric variety
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10325>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to