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

isSNC -- whether the divisor is simple normal crossings

Synopsis

Description

This function 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 );
i2 : D = divisor({1, -2}, {ideal(x, z), ideal(y, z)})

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

o2 : WeilDivisor on R
i3 : isSNC( D )

o3 = false
i4 : R = QQ[x, y];
i5 : D = divisor(x*y*(x+y))

o5 = Div(x+y) + Div(y) + Div(x)

o5 : WeilDivisor on R
i6 : isSNC( D )

o6 = false
i7 : R = QQ[x, y];
i8 : D = divisor(x*y*(x+1))

o8 = Div(y) + Div(x) + Div(x+1)

o8 : WeilDivisor on R
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 is ignored.

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

o11 = -2*Div(y, z) + Div(x, z)

o11 : WeilDivisor on R
i12 : isSNC( D, IsGraded => true )

o12 = true
i13 : R = QQ[x, y];
i14 : D = divisor(x*y*(x+y))

o14 = Div(y) + Div(x) + Div(x+y)

o14 : WeilDivisor on R
i15 : isSNC( D, IsGraded => true )

o15 = true
i16 : R = QQ[x,y,z];
i17 : D = divisor(x*y*(x+y))

o17 = Div(y) + Div(x) + Div(x+y)

o17 : WeilDivisor on R
i18 : isSNC( D, IsGraded => true)

o18 = false

The output value of this function is stored in the divisor's cache with the value of the last IsGraded option. If you change the IsGraded option, the value will be recomputed.

Ways to use isSNC :

For the programmer

The object isSNC is a method function with options.