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

nonCartierLocus -- the non-Cartier locus of a Weil divisor

Synopsis

Description

This function returns an ideal which vanishes on the locus where D is not Cartier.

i1 : R = QQ[x, y, u, v]/ideal(x * y  - u * v);
i2 : D = divisor({1, -3, -5, 8}, {ideal(x, u), ideal(y, v), ideal(x, v), ideal(y, u)})

o2 = 8*Div(y, u) + Div(x, u) + -3*Div(y, v) + -5*Div(x, v)

o2 : WeilDivisor on R
i3 : nonCartierLocus( D )

             5     4     4     4   2 3       3       3   2 3   2 3   3 2 
o3 = ideal (v , u*v , y*v , x*v , u v , y*u*v , x*u*v , y v , x v , u v ,
     ------------------------------------------------------------------------
        2 2     2 2   2   2   2   2   3 2   3 2   4      3      3    2 2  
     y*u v , x*u v , y u*v , x u*v , y v , x v , u v, y*u v, x*u v, y u v,
     ------------------------------------------------------------------------
      2 2    3      3      4    4    5     4     4   2 3   2 3   3 2   3 2 
     x u v, y u*v, x u*v, y v, x v, u , y*u , x*u , y u , x u , y u , x u ,
     ------------------------------------------------------------------------
      4    4    5   5
     y u, x u, y , x )

o3 : Ideal of R

If the option IsGraded is set to true (by default it is false), it saturates with respect to the homogeneous maximal ideal.

i4 : R = QQ[x, y, u, v]/ideal(x * y  - u * v);
i5 : D = divisor({1, -3, -5, 8}, {ideal(x, u), ideal(y, v), ideal(x, v), ideal(y, u)})

o5 = 8*Div(y, u) + Div(x, u) + -3*Div(y, v) + -5*Div(x, v)

o5 : WeilDivisor on R
i6 : nonCartierLocus( D, IsGraded => true )

o6 = ideal 1

o6 : Ideal of R

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.

See also

Ways to use nonCartierLocus :

For the programmer

The object nonCartierLocus is a method function with options.