Macaulay2 » Documentation
Packages » AdjunctionForSurfaces :: parametrization
next | previous | forward | backward | up | index | toc

# parametrization -- compute a rational parametrization

- Usage:
    `H=parametrization(PJ,adjList)`
- Inputs:
  - PJ, a ring, coordinate ring of the last adjoint surface
  - adjList, a list, list of adjoint matrices
- Outputs:
  - H, a matrix, parametrization of the rational surface X

## Description

Let adjList be the list of adjoint matrices coming out of the adjunction process of a rational surface X. If the final surface is a P2 then the function computes the rational parametrization of X. In other cases the function returns rational parametrization from the final surface X'' in the adjunction process.

    i1 : d=4

    o1 = 4

    i2 : L=toList(7:1)

    o2 = {1, 1, 1, 1, 1, 1, 1}

    o2 : List

    i3 : n=expectedDimension(d,L)-1

    o3 = 7

    i4 : kk=ZZ/nextPrime(10^3)

    o4 = kk

    o4 : QuotientRing

    i5 : t=symbol t, x= symbol x

    o5 = (t, x)

    o5 : Sequence

    i6 : P2=kk[t_0..t_2]

    o6 = P2

    o6 : PolynomialRing

    i7 : Pn=kk[x_0..x_n]

    o7 = Pn

    o7 : PolynomialRing

    i8 : betti(I=rationalSurface(P2,d,L,Pn))

                0  1
    o8 = total: 1 12
             0: 1  .
             1: . 12

    o8 : BettiTally

    i9 : minimalBetti I

                0  1  2  3  4 5
    o9 = total: 1 12 25 21 10 3
             0: 1  .  .  .  . .
             1: . 12 25 15  . .
             2: .  .  .  6 10 3

    o9 : BettiTally

    i10 : (numList,adjList,ptsList,J)=adjunctionProcess(I);

    i11 : numList

    o11 = {(7, 9, 3), 7, (2, 1, 0)}

    o11 : List

    i12 : P2=ring J

    o12 = P2

    o12 : PolynomialRing

    i13 : betti(H=parametrization(P2,adjList))

                 0 1
    o13 = total: 1 8
              0: 1 .
              1: . .
              2: . .
              3: . 8

    o13 : BettiTally

    i14 : elapsedTime sub(I,H)
     -- .0125013s elapsed

    o14 = ideal (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

    o14 : Ideal of P2

    i15 : phi=map(P2,Pn,H);

    o15 : RingMap P2 <-- Pn

    i16 : elapsedTime betti(I'=trim ker phi)
     -- .0551603s elapsed

                 0  1
    o16 = total: 1 12
              0: 1  .
              1: . 12

    o16 : BettiTally

    i17 : I'== I

    o17 = true

    i18 : elapsedTime basePts=primaryDecomposition ideal H;
     -- 1.5532s elapsed

    i19 : tally apply(basePts,c->(dim c, degree c, betti c))

                               0  1
    o19 = Tally{(0, 34, total: 1 15) => 1}
                            0: 1  .
                            1: .  .
                            2: .  .
                            3: .  8
                            4: .  .
                            5: .  7
                              0 1
                (1, 1, total: 1 2) => 7
                           0: 1 2

    o19 : Tally

## Ways to use parametrization:

- `parametrization(Ring,List)`

## For the programmer

The object parametrization is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/AdjunctionForSurfaces.m2:725:0.