Magma

MAGMA Computational Algebra System

Magma
 •  How to get it
 •  Download
 •  Online Demo
 
Resources
 •  Online Help
 •  Discovering Mathematics with Magma
 •  Citations
 •  How to cite Magma
 •  Links
 •  Contact us
 
[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Embedded Formal Desingularization of Curves

A formal embedded desingularization of plane curves, as described below, is used in the Jung surface resolution process. The main function is available to the user and provides another alternative to the existing function field and resolution graph curve functionality.

Before describing the function, we introduce some terminology. Let C ⊂P be a plane algebraic curve (where P = AE2 or P = PE2 for some field E of characteristic zero) and π: Q to P an embedded desingularization, i.e., πis proper birational, Q is regular and D := π - 1(C) ⊂Q is a normal crossing divisor. Further let {p1, ..., pr} ∈Q be the generic points of the decomposition of D into irreducible components and {q1, ..., qs} ∈Q the closed points of the normal crossings of D.

From πwe can construct morphisms Spec widehat(OOQ, pi) to P and Spec widehat(OOQ, qi) to P. The set of all these morphisms (up to isomorphism of the domain) is called a formal embedded desingularization of C ⊂P. Each of these morphisms has a center on P which is defined to be the image of the closed point.

The two classes of morphisms are represented resp. by homomorphisms A to widehat(OOQ, pi) and A to widehat(OOQ, qi) (where A is either the normal polynomial ring E[x, y] or the graded polynomial ring E[x, y, w] and the inverse image of the maximal ideal of the completion ring is the prime ideal defining the centre), and we are free to choose an isomorphic representation of the codomain. We refer to the homomorphisms as μi and νi respectively.

ResolveAffineCurve(p) : RngMPolElt -> List, List, List, RngIntElt
    Factors: SeqEnum                    Default: []
    Ps: RngMPolElt                      Default: 0
    Focus: RngMPolElt                   Default: 0
    ExtName: MonStgElt                  Default: "alpha"
    ExtCount: RngIntElt                 Default: 0
    SetVerbose("Resolve", n):           Maximum: 1
Computes essentially a formal embedded resolution of the curve defined by p ∈E[x, y] (a non-zero bivariate polynomial over a number field) using a succession of point blow ups. Only morphisms whose centers vanish on the ideal generated by Focus are considered. Note that Focus may be a single polynomial or a sequence of polynomials.

The three returned lists contain elements of the form (b1, (y, m11), (p1, m12)), (b2, (y, m2)) and (b2, (p3, m3)) respectively. Here b1, b2 and b3 are homomorphisms E[x, y] to E'[x, y] to some bivariate polynomial ring over an algebraic field extension E' over E.

The first list gathers normal crossings. Precisely, the extended homomorphism b1: E[x, y] to E'll x, y rr corresponds to a νi from above. Moreover we have < b1(p) > = < ym11p1m12 > where y = 0 and p1 = 0 have a normal crossing.

The second list gathers exceptional divisors. The extended homomorphism b2: E[x, y] to E'(x)ll y rr corresponds to a μi from above. Moreover we have < b2(p) > = < ym2 > and y=0 corresponds to an exceptional divisor.

Finally, the last list corresponds to the components of the original curve. The extended homomorphism b3: E[x, y] to widehat(E'[x, y]< p3 >) (where E'=E in this case) corresponds to another μi from above. Moreover we have that b3(p) has multiplicity m3 in widehat(E'[x, y]< p3 >) and corresponds to an original curve component.

If known, a factorization of p (as returned by the Factorization command) can be passed using the parameter Factors and the squarefree part of p (as returned by the SquarefreePart command) using Ps.

If the ground field has to be extended, the algebraic elements will be displayed as ExtName_i where i starts from ExtCount. The last return value is the value of ExtCount plus the number of field extensions that have been introduced, which can be useful for consecutive naming when making a series of resolution calls.


Example AlgSrf_aff_crv_res (H107E1)

We compute an embedded resolution of an affine plane curve.

> Q := Rationals();
> Qxy<x,y> := PolynomialRing(Q, 2, "glex");
> f := (y^2-x^3)*(x^2-y^2-y^3);
> NCs, EXs, DCs := ResolveAffineCurve(f : Factors := Factorization(f));
> #NCs, #EXs, #DCs;
7 4 2
> NCs[2]; EXs[3]; DCs[1];
[*
    Mapping from: RngMPol: Qxy to RngMPol: Qxy,
    <y, 4>,
    <-x^2 + 2*x + y, 1>
*]
[*
    Mapping from: RngMPol: Qxy to RngMPol: Qxy,
    <y, 10>
*]
[*
    Mapping from: RngMPol: Qxy to RngMPol: Qxy,
    <y^3 - x^2 + y^2, 1>
*]
> NCs[2][1](x), NCs[2][1](y);
x*y - y
y

Here we have passed the factorization of f only for illustrative purposes. The curve is the union of a cusp and a node at the origin. It has two singular points over Q, the origin and another intersection point of the two curves which has a residue field of degree 5 over Q.

We have computed the local information of a (not necessarily minimal) embedded resolution and find that it contains of course the 2 components of the strict transform, further 4 exceptional divisors and 7 normal crossings. For example, the pushforward of f under the chart map x |-> xy - y, y |-> y is equal to y4( - x2 + 2x + y) up to a local unit. The corresponding germ is isomorphic to a normal crossing in the embedded desingularization. We also see that one of the exceptional divisors has multiplicity 10.

If we were only interested in a local resolution, we would do the following:

> NCs, EXs, DCs := ResolveAffineCurve(f : Focus := [x,y]);
> #NCs, #EXs, #DCs;
5 3 0

We focus on the origin, hence, do not consider any curve components. We have 1 less exceptional divisor and 2 less normal crossings. This is because the second intersection point of the above two curve components was already a normal crossing, but our algorithm has nevertheless blown it up in the previous example.


ResolveProjectiveCurve(p) : RngMPolElt -> List, List, List, RngIntElt
    Focus: RngMPolElt                   Default: 0
    ExtName: MonStgElt                  Default: "alpha"
    ExtCount: RngIntElt                 Default: 0
    SetVerbose("Resolve", n):           Maximum: 1
This is the same as ResolveAffineCurve above, but now p is a homogeneous polynomial in three variables that defines a projective curve. Accordingly, the bj map from the respective homogeneous coordinate ring to some E'[x, y].

Example AlgSrf_prj_crv_res (H107E2)

We can also desingularize the projectivization of the above curve.

> Q := RationalField();
> QXYZ<X,Y,Z> := PolynomialRing(Q, 3);
> F := (Y^2*Z-X^3)*(X^2*Z-Y^2*Z-Y^3);
> NCs, EXs, DCs := ResolveProjectiveCurve(F); #NCs, #EXs, #DCs;
7 4 2
> NCs[3];
[*
    Mapping from: RngMPol: QXYZ to Polynomial ring of rank 2 over
    Rational Field ...,
    <y, 4>,
    <x^2 + 2*x - y, 1>
*]
> NCs[3][1](X);
x*y + y
> NCs[3][1](Y);
y
> NCs[3][1](Z);
1

The homomorphisms take a slightly different shape (because they have now Q[X, Y, Z] as domain), but otherwise they are the same. This is because the curve has no singularities at infinity.


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]
                       

Version: V2.16 of Mon Nov 16 15:04:45 EST 2009

Valid HTML 4.01! Valid CSS!