next | previous | forward | backward | up | index | toc

canonicalImage -- canonical model of the normalization of a plane curve

Synopsis

• Usage:
R' = canonicalImage R
R' = canonicalImage I
• Inputs:
• R, a ring, the homogeneous coordinate ring of a plane curve
• I, an ideal, homogeneous ideal of a plane curve
• Optional inputs:
• Conductor => ..., default value null
• Outputs:
• R', a ring, the homogeneous coordinate ring of the canonical image of the normalization

Description

The output is the homogeneous coordinate ring of the canonical image of the normalization the given curve.

For example, a plane sextic with 4 nodes is a curve of genus 10-4 = 6, so its canonical image is a curve of degree 10 in P5

 i1 : P5 = ZZ/101[x_0..x_5] o1 = P5 o1 : PolynomialRing i2 : P2 = ZZ/101[a,b,c] o2 = P2 o2 : PolynomialRing i3 : fourPoints = {{1,0,0},{0,1,0},{0,0,1},{1,1,1}} o3 = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 1, 1}} o3 : List i4 : nodes = fromCoordinates(fourPoints, P2) 3 2 2 3 2 2 2 3 2 2 2 o4 = ideal (- a b + a b , - a b + a b*c, - a b + a*b , - a b + a*b c, - ------------------------------------------------------------------------ 2 2 2 2 2 3 2 2 2 3 a b*c + a*b c, - a b*c + a*b*c , - a*b c + b c, - a*b c + b c , - a c + ------------------------------------------------------------------------ 2 3 2 2 2 2 2 2 2 2 2 a b*c, - a c + a c , - a b*c + a*b c, - a b*c + a*b*c , - a c + a*b*c , ------------------------------------------------------------------------ 2 2 3 2 2 2 2 3 - a c + a*c , - a*b*c + b c , - a*b*c + b*c ) o4 : Ideal of P2 i5 : sings' = intersect apply(fourPoints, p -> (fromCoordinates(p,P2))^2) 2 2 2 2 2 2 2 2 2 2 2 2 o5 = ideal (a c - 2a*b*c + b c , a b*c - a*b c - a*b*c + b c , a b - ------------------------------------------------------------------------ 2 2 2 2a*b c + b c ) o5 : Ideal of P2 i6 : C0 = P2/(ideal random(6, sings')) o6 = C0 o6 : QuotientRing i7 : sings = sub (sings', C0) 2 2 2 2 2 2 2 2 2 2 2 2 o7 = ideal (a c - 2a*b*c + b c , a b*c - a*b c - a*b*c + b c , a b - ------------------------------------------------------------------------ 2 2 2 2a*b c + b c ) o7 : Ideal of C0 i8 : conductor C0 == sub(nodes, C0) o8 = false i9 : C = canonicalImage C0 o9 = C o9 : QuotientRing i10 : betti res ideal C 0 1 2 3 4 o10 = total: 1 6 10 6 1 0: 1 . . . . 1: . 6 5 . . 2: . . 5 6 . 3: . . . . 1 o10 : BettiTally i11 : B' = gens image basis (3,intersect nodes) o11 = 0 1 o11 : Matrix P2 <-- 0

The ideal of nodes is the conductor, so the canonical series on C is the restriction of the set of cubics containing the nodes.

 i12 : B = sub(B',C); 1 o12 : Matrix C <-- 0 i13 : canC = projectiveImage B o13 = canC o13 : PolynomialRing i14 : delPezzo = P5/ker(map(P2, P5, gens image basis (3,intersect nodes))) o14 = delPezzo o14 : QuotientRing i15 : betti res ideal canC 0 o15 = total: 1 0: 1 o15 : BettiTally i16 : betti res ideal delPezzo 0 1 2 3 4 5 6 o16 = total: 1 6 15 20 15 6 1 0: 1 6 15 20 15 6 1 o16 : BettiTally