M2
M2 copied to clipboard
makeSimplicial in NormalToricVarieties occasionally makes the variety incomplete
Here is an example:
needsPackage "NormalToricVarieties"
-- Bruns and Gubeladze Example 5.1
P = convexHull matrix transpose {
{1,1,1,0,0,0}, {0,1,1,0,0,1},
{1,1,0,1,0,0}, {0,1,0,1,1,0},
{1,0,1,0,1,0}, {0,1,0,0,1,1},
{1,0,0,1,0,1}, {0,0,1,1,1,0},
{1,0,0,0,1,1}, {0,0,1,1,0,1}}
N = ZZ^5
P = affineImage(id_N | transpose matrix {{-1,-1,-1,-1,-1}}, P)
tally apply(100, i -> (
X := normalToricVariety P;
assert isComplete X;
isComplete makeSimplicial X))
And the result:
o5 = Tally{false => 15}
true => 85
(I didn't test projectivity because it is slower to check, but of course these should always be projective as well.)
cc: @ggsmith
Have you tracked down the source of the issue? For example, one could easily image that the random weight w insufficiently random.
Using the optional argument Strategy => 1 for makeSimplicial does seem to eliminate the problem, but it is noticeably slower. Do you have any suggestions about how to handle this feature?
I don't have any suggestions for this issue. So far I've just ran it again until the variety is complete (and hoped that it is also projective).
I wouldn't be surprised if the "random weight vector" used in Strategy => 0 (aka the default) could be improved; remarkable little experimentation went into its selection.
@mahrud You say these should all be projective. Why is that the case? Is it something special about this example?
We start with a projective toric variety (i.e. from a polytope), so it's desingularization should also be projective, no?
Yes, both strategies should preserve projectivity. For the zeroth strategy, a regular triangulation of a polytope is a polytope. For the first strategy, blowups are projective morphisms.