Closed novoselt closed 12 years ago
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!
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.
Author: Andrey Novoseltsev
Dependencies: #13023
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.
Changed keywords from toric to toric, sd40.5
Reviewer: Volker Braun
Looks good to me!
Changed dependencies from #13023 to none
Merged: sage-5.2.beta1
In Sage-5.0 we have
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