sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.44k stars 480 forks source link

X.Kaehler_cone().lattice() is not a lattice #12965

Closed novoselt closed 12 years ago

novoselt commented 12 years ago

In Sage-5.0 we have

sage: toric_varieties.P2().Kaehler_cone().lattice()
The toric rational divisor class group of a 2-d CPR-Fano toric variety covered by 3 affine patches
sage: _.base_ring()
Rational Field

which is wrong since this lattice is not a lattice.

CC: @vbraun

Component: algebraic geometry

Keywords: toric, sd40.5

Author: Andrey Novoseltsev

Reviewer: Volker Braun

Merged: sage-5.2.beta1

Issue created by migration from https://trac.sagemath.org/ticket/12965

novoselt commented 12 years ago
comment:1

Hi Volker,

Any thoughts on what would be the proper way to fix it? Modify Cone constructor to take as the lattice of a cone in a vector space the integral span of the basis and normalize/convert rays to live in this span?

It seems to be correct, but it screws up printing where these rays live in - this integral span shows as row span of the identity matrix without mention of any class groups. It also means that rays cannot be lifted to divisors, without first converting them to the rational class group explicitly.

A half-way solution is to use span of the basis for normalization of rays, but let rays be still elements of the rational divisor class group. However, in this case, it seems that rays of a cone in the N-lattice must have N_R as their parent and if we let rays live in the extension all the customization work of toric lattices becomes irrelevant.

So I am inclining to the first solution - if Cone gets a rational vector space V for the lattice, it actually works with span(ZZ, V.gens()).

Let me know what you think!

novoselt commented 12 years ago
comment:2

Another thought: instead of rational divisor class group have free divisor class group (does it have an actual name?) which is just the class group without torsion. As I understand, this is exactly the Z-span of the basis of the current one.

novoselt commented 12 years ago

Author: Andrey Novoseltsev

novoselt commented 12 years ago

Dependencies: #13023

novoselt commented 12 years ago
comment:3

Attachment: trac_12965_rational_class_group_lattice.patch.gz

Here is a more or less minimal solution, just a ZZ-module with the same elements.

novoselt commented 12 years ago

Changed keywords from toric to toric, sd40.5

vbraun commented 12 years ago

Reviewer: Volker Braun

vbraun commented 12 years ago
comment:5

Looks good to me!

jdemeyer commented 12 years ago

Changed dependencies from #13023 to none

jdemeyer commented 12 years ago

Merged: sage-5.2.beta1