Opened 8 years ago
Closed 8 years ago
#12965 closed defect (fixed)
X.Kaehler_cone().lattice() is not a lattice
Reported by: | novoselt | Owned by: | AlexGhitza |
---|---|---|---|
Priority: | major | Milestone: | sage-5.2 |
Component: | algebraic geometry | Keywords: | toric, sd40.5 |
Cc: | vbraun | Merged in: | sage-5.2.beta1 |
Authors: | Andrey Novoseltsev | Reviewers: | Volker Braun |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
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.
Attachments (1)
Change History (9)
comment:1 Changed 8 years ago by
comment:2 Changed 8 years ago by
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.
Changed 8 years ago by
comment:3 Changed 8 years ago by
- Dependencies set to #13023
- Status changed from new to needs_review
Here is a more or less minimal solution, just a ZZ-module with the same elements.
comment:4 Changed 8 years ago by
- Keywords sd40.5 added
comment:5 Changed 8 years ago by
- Reviewers set to Volker Braun
- Status changed from needs_review to positive_review
Looks good to me!
comment:6 Changed 8 years ago by
- Milestone changed from sage-5.1 to sage-5.2
comment:7 Changed 8 years ago by
- Dependencies #13023 deleted
comment:8 Changed 8 years ago by
- Merged in set to sage-5.2.beta1
- Resolution set to fixed
- Status changed from positive_review to closed
Note: See
TracTickets for help on using
tickets.
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 withspan(ZZ, V.gens())
.Let me know what you think!