next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Divisor :: isQCartier

isQCartier -- whether m times a divisor is Cartier for any m from 1 to a fixed positive integer n1.

Synopsis

Description

Check whether m times a Weil or Q-divisor D is Cartier for each m from 1 to a fixed positive integer n1 (if the divisor is a QWeilDivisor, it can search slightly higher than n1). If m * D1 is Cartier, it returns m. If it fails to find an m, it returns 0.

i1 : R = QQ[x, y, z] / ideal(x * y - z^2 );
i2 : D1 = divisor({1, 2}, {ideal(x, z), ideal(y, z)})

o2 = 2*Div(y, z) + Div(x, z)

o2 : WeilDivisor on R
i3 : D2 = divisor({1/2, 3/4}, {ideal(y, z), ideal(x, z)}, CoeffType => QQ)

o3 = 1/2*Div(y, z) + 3/4*Div(x, z)

o3 : QWeilDivisor on R
i4 : isQCartier(10, D1)

o4 = 2
i5 : isQCartier(10, D2)

o5 = 8
i6 : R = QQ[x, y, u, v] / ideal(x * y - u * v);
i7 : D1 = divisor({1, 2}, {ideal(x, u), ideal(y, v)})

o7 = 2*Div(y, v) + Div(x, u)

o7 : WeilDivisor on R
i8 : D2 = divisor({1/2, -3/4}, {ideal(y, u), ideal(x, v)}, CoeffType => QQ)

o8 = -3/4*Div(x, v) + 1/2*Div(y, u)

o8 : QWeilDivisor on R
i9 : isQCartier(10, D1)

o9 = 0
i10 : isQCartier(10, D2)

o10 = 0

If the option IsGraded is set to true (by default it is false), then it treats the divisor as a divisor on the Proj of their ambient ring.

i11 : R = QQ[x, y, z] / ideal(x * y - z^2 );
i12 : D1 = divisor({1, 2}, {ideal(x, z), ideal(y, z)})

o12 = 2*Div(y, z) + Div(x, z)

o12 : WeilDivisor on R
i13 : D2 = divisor({1/2, 3/4}, {ideal(y, z), ideal(x, z)}, CoeffType => QQ)

o13 = 1/2*Div(y, z) + 3/4*Div(x, z)

o13 : QWeilDivisor on R
i14 : isQCartier(10, D1, IsGraded => true)

o14 = 1
i15 : isQCartier(10, D2, IsGraded => true)

o15 = 4

See also

Ways to use isQCartier :