Returns true if the divisor is simple normal crossings, this includes checking that the ambient ring is regular.
i1 : R = QQ[x, y, z] / ideal(x * y - z^2 )
o1 = R
o1 : QuotientRing
|
i2 : D = divisor({1, -2}, {ideal(x, z), ideal(y, z)})
o2 = 1*Div(x, z) + -2*Div(y, z) of R
o2 : WDiv
|
i3 : isSNC( D )
o3 = false
|
i4 : R = QQ[x, y]
o4 = R
o4 : PolynomialRing
|
i5 : D = divisor(x*y*(x+y))
o5 = 1*Div(y) + 1*Div(x) + 1*Div(x+y) of R
o5 : WDiv
|
i6 : isSNC( D )
o6 = false
|
i7 : R = QQ[x, y]
o7 = R
o7 : PolynomialRing
|
i8 : D = divisor(x*y*(x+1))
o8 = 1*Div(y) + 1*Div(x) + 1*Div(x+1) of R
o8 : WDiv
|
i9 : isSNC( D )
o9 = true
|
If IsGraded is set to true (default false), then the divisor is treated as if it is on the Proj of the ambient ring. In particular, non-SNC behavior at the origin in ignored. This can make it easier to be simple normal crossings.
i10 : R = QQ[x, y, z] / ideal(x * y - z^2 )
o10 = R
o10 : QuotientRing
|
i11 : D = divisor({1, -2}, {ideal(x, z), ideal(y, z)})
o11 = 1*Div(x, z) + -2*Div(y, z) of R
o11 : WDiv
|
i12 : isSNC( D, IsGraded => true )
o12 = true
|
i13 : R = QQ[x, y]
o13 = R
o13 : PolynomialRing
|
i14 : D = divisor(x*y*(x+y))
o14 = 1*Div(y) + 1*Div(x) + 1*Div(x+y) of R
o14 : WDiv
|
i15 : isSNC( D, IsGraded => true )
o15 = true
|
i16 : R = QQ[x,y,z]
o16 = R
o16 : PolynomialRing
|
i17 : D = divisor(x*y*(x+y))
o17 = 1*Div(x+y) + 1*Div(y) + 1*Div(x) of R
o17 : WDiv
|
i18 : isSNC( D, IsGraded => true)
o18 = false
|