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

isSNC -- Checks to see if the divisor is simple normal crossings

Synopsis

Description

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

Ways to use isSNC :