Check if a Weil divisor is Cartier. For example, the following divisor is not Cartier
i1 : R = QQ[x, y, u, v] / ideal(x * y - u * v)
o1 = R
o1 : QuotientRing
|
i2 : D = divisor({2, -3}, {ideal(x, u), ideal(y, v)})
o2 = 2*Div(x, u) + -3*Div(y, v) of R
o2 : WDiv
|
i3 : isCartier( D )
o3 = false
|
Neither is this divisor.
i4 : R = QQ[x, y, z] / ideal(x * y - z^2 )
o4 = R
o4 : QuotientRing
|
i5 : D = divisor({1, 2}, {ideal(x, z), ideal(y, z)})
o5 = 1*Div(x, z) + 2*Div(y, z) of R
o5 : WDiv
|
i6 : isCartier( D )
o6 = false
|
Of course the next divisor is Cartier.
i7 : R = QQ[x, y, z]
o7 = R
o7 : PolynomialRing
|
i8 : D = divisor({1, 2}, {ideal(x), ideal(y)})
o8 = 1*Div(x) + 2*Div(y) of R
o8 : WDiv
|
i9 : isCartier( D )
o9 = true
|
If IsGraded == true (it is false by default), this will check as if D is a divisor on the Proj of the ambient graded ring.
i10 : R = QQ[x, y, u, v] / ideal(x * y - u * v)
o10 = R
o10 : QuotientRing
|
i11 : D = divisor({2, -3}, {ideal(x, u), ideal(y, v)})
o11 = 2*Div(x, u) + -3*Div(y, v) of R
o11 : WDiv
|
i12 : isCartier(D, IsGraded => true)
o12 = true
|
i13 : R = QQ[x, y, z] / ideal(x * y - z^2)
o13 = R
o13 : QuotientRing
|
i14 : D = divisor({1, 2}, {ideal(x, z), ideal(y, z)})
o14 = 1*Div(x, z) + 2*Div(y, z) of R
o14 : WDiv
|
i15 : isCartier(D, IsGraded => true)
o15 = true
|