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