This is RandomPlaneCurves.info, produced by Macaulay2, version 1.20

RandomPlaneCurves
*****************

Authors
=======

  * Hans-Christian Graf v. Bothmer (see http://www.crcg.de/wiki/User:Bothmer )
    <bothmer@uni-math.gwdg.de>
  * Florian Geiss (see http://www.math.uni-sb.de/ag/schreyer/ )
    <fg@math.uni-sb.de>
  * Frank-Olaf Schreyer (see http://www.math.uni-sb.de/ag/schreyer/ )
    <schreyer@math.uni-sb.de>

Version
=======

This documentation describes version 0.6 of RandomPlaneCurves.

Source code
===========

The source code from which this documentation is derived is in the file
RandomPlaneCurves.m2 (see common/share/Macaulay2/RandomPlaneCurves.m2 ).

Exports
=======

  * Functions and commands
      * completeLinearSystemOnNodalPlaneCurve
        -- Compute the complete linear
        system of a divisor on a nodal plane curve
      * imageUnderRationalMap -- Compute the
        image of the scheme under a rational map
  * Methods
      * "completeLinearSystemOnNodalPlaneCurve(Ideal,List)" -- see
        completeLinearSystemOnNodalPlaneCurve,
        -- Compute the complete linear
        system of a divisor on a nodal plane curve
      * "imageUnderRationalMap(Ideal,Matrix)" -- see
        imageUnderRationalMap, -- Compute the image of
        the scheme under a rational map
  * Other things
      * distinctPlanePoints -- Generates the ideal
        of k random points in the coordinate ring $R$ of $\\P^{ 2}$
      * nodalPlaneCurve -- get a random nodal plane
        curve

For the programmer
==================

The object RandomPlaneCurves, is a package (Macaulay2Doc).

completeLinearSystemOnNodalPlaneCurve -- Compute the complete linear system of a divisor on a nodal plane curve
***************************************************************************************************************

Synopsis
========

  * Usage:
        (L,h)=completeLinearSystemOnNodalPlaneCurve(I,D)
  * Inputs:
      * I, an ideal (Macaulay2Doc), of a nodal plane curve C,
      * D, a list (Macaulay2Doc), \{D_0,D_1\}\ of ideals
        representing effective divisors on C
  * Outputs:
      * L, a matrix (Macaulay2Doc), of homogeneous forms with 1
        row and with number of columns equal to $h^0(D_0-D_1)$
      * h, a ring element (Macaulay2Doc), such that
        L_{(0,i)}/h represents a basis of $H^0 O(D_0-D_1)$

Description
===========

Compute the complete linear series of D_0-D_1 on the normalization of C via
adjoint curves and double linkage.

+-----------------------------------------------------------------------------+
|i1 : setRandomSeed("alpha");                                                 |
+-----------------------------------------------------------------------------+
|i2 : R=ZZ/32003[x_0..x_2];                                                   |
+-----------------------------------------------------------------------------+
|i3 : J=(random nodalPlaneCurve)(6,3,R);                                      |
|                                                                             |
|o3 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i4 : D={J+ideal random(R^1,R^{1:-3}),J+ideal 1_R};                           |
+-----------------------------------------------------------------------------+
|i5 : l=completeLinearSystemOnNodalPlaneCurve(J,D)                            |
|                                                                             |
|                                                                             |
|o5 = (| x_1^2x_2^3-15905x_0x_2^4-3127x_1x_2^4-14505x_2^5                     |
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     x_1^3x_2^2-15905x_0x_1x_2^3-2273x_0x_2^4+284x_1x_2^4-8884x_2^5          |
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     x_0x_1^2x_2^2-15905x_0^2x_2^3-3127x_0x_1x_2^3-14505x_0x_2^4             |
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     x_1^4x_2+14690x_0^2x_2^3-4546x_0x_1x_2^3+12199x_0x_2^4+15103x_1x_2^4-   |
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     8967x_2^5 x_0x_1^3x_2-15905x_0^2x_1x_2^2-2273x_0^2x_2^3+284x_0x_1x_2^3- |
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     8884x_0x_2^4 x_0^2x_1^2x_2-15905x_0^3x_2^2-3127x_0^2x_1x_2^2-14505x_0^2x|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     _2^3 x_1^5+14690x_0^2x_1x_2^2-9353x_0^2x_2^3+6189x_0x_1x_2^3-14853x_0x_2|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     ^4+13689x_1x_2^4+8480x_2^5                                              |
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     x_0x_1^4+14690x_0^3x_2^2-4546x_0^2x_1x_2^2+12199x_0^2x_2^3+15103x_0x_1x_|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     2^3-8967x_0x_2^4 x_0^2x_1^3-15905x_0^3x_1x_2-2273x_0^3x_2^2+284x_0^2x_1x|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     _2^2-8884x_0^2x_2^3 x_0^3x_1^2-15905x_0^4x_2-3127x_0^3x_1x_2-14505x_0^3x|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     _2^2 x_0^4x_1-11073x_0^4x_2-14059x_0^3x_1x_2-14725x_0^3x_2^2+15715x_0^2x|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     _1x_2^2+5589x_0^2x_2^3-5681x_0x_1x_2^3+9449x_0x_2^4-752x_1x_2^4-4257x_2^|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                             |
|     5 x_0^5-11952x_0^4x_2+4264x_0^3x_1x_2-13256x_0^3x_2^2-8472x_0^2x_1x_2^2-|
|                                                                             |
|     ------------------------------------------------------------------------|
|                                                                          3 2|
|     1481x_0^2x_2^3+1434x_0x_1x_2^3-x_0x_2^4-13158x_1x_2^4-15984x_2^5 |, x x |
|                                                                          0 1|
|     ------------------------------------------------------------------------|
|            2 3           4         5         4          3            2 2    |
|     + 7632x x  - 14167x x  + 15007x  - 15905x x  - 2708x x x  + 2874x x x  +|
|            0 1         0 1         1         0 2        0 1 2        0 1 2  |
|     ------------------------------------------------------------------------|
|             3          4          3 2     2   2           2 2         3 2   |
|     10670x x x  + 8250x x  + 7181x x  - 3x x x  + 15061x x x  - 15223x x  - |
|           0 1 2        1 2        0 2     0 1 2         0 1 2         1 2   |
|     ------------------------------------------------------------------------|
|           2 3            3        2 3          4           4        5       |
|     10388x x  + 6271x x x  - 2509x x  + 7640x x  - 14385x x  - 1297x )      |
|           0 2        0 1 2        1 2        0 2         1 2        2       |
|                                                                             |
|o5 : Sequence                                                                |
+-----------------------------------------------------------------------------+
|i6 : C=imageUnderRationalMap(J,l_0);                                         |
|                                                                             |
|                ZZ                                                           |
|o6 : Ideal of -----[x ..x  ]                                                 |
|              32003  0   11                                                  |
+-----------------------------------------------------------------------------+
|i7 : (dim C, degree C, genus C)                                              |
|                                                                             |
|o7 = (2, 18, 7)                                                              |
|                                                                             |
|o7 : Sequence                                                                |
+-----------------------------------------------------------------------------+

See also
========

  * nodalPlaneCurve -- get a random nodal plane curve
  * imageUnderRationalMap -- Compute the image of
    the scheme under a rational map

Ways to use completeLinearSystemOnNodalPlaneCurve :
===================================================

  * "completeLinearSystemOnNodalPlaneCurve(Ideal,List)"

For the programmer
==================

The object completeLinearSystemOnNodalPlaneCurve,
is a method function (Macaulay2Doc).

distinctPlanePoints -- Generates the ideal of k random points in the coordinate ring $R$ of $\\P^{ 2}$
******************************************************************************************************

Synopsis
========

  * Usage:
        (random distinctPlanePoints)(k,R)
  * Inputs:
      * k, an integer (Macaulay2Doc), the number of points
      * R, a polynomial ring (Macaulay2Doc), the
        homogeneous coordinate ring of $\mathbb{P}^2$
  * Outputs:
      * an ideal (Macaulay2Doc), the vanishing ideal of the points

Description
===========

Creates the ideal of the points via a random choice of their Hilbert-Burch
matrix, which is taken to be of generic shape.

+---------------------------------------------+
|i1 : setRandomSeed("alpha");                 |
+---------------------------------------------+
|i2 : R=ZZ/32003[x_0..x_2];                   |
+---------------------------------------------+
|i3 : Ipts=(random distinctPlanePoints)(10,R);|
|                                             |
|o3 : Ideal of R                              |
+---------------------------------------------+
|i4 : betti res Ipts                          |
|                                             |
|            0 1 2                            |
|o4 = total: 1 5 4                            |
|         0: 1 . .                            |
|         1: . . .                            |
|         2: . . .                            |
|         3: . 5 4                            |
|                                             |
|o4 : BettiTally                              |
+---------------------------------------------+

For the programmer
==================

The object distinctPlanePoints, is an instance of
the type RandomObject (RandomObjects).

imageUnderRationalMap -- Compute the image of the scheme under a rational map
*****************************************************************************

Synopsis
========

  * Usage:
        I = imageUnderRationalMap(J,L)
  * Inputs:
      * J, an ideal (Macaulay2Doc), in a polynomial ring
      * L, a matrix (Macaulay2Doc), of homogeneous polynomials of
        equal degrees
  * Outputs:
      * I, an ideal (Macaulay2Doc), of the image of the scheme
        defined by J under the rational map defined by L

Description
===========

+-----------------------------------------------------------+
|i1 : setRandomSeed("alpha");                               |
+-----------------------------------------------------------+
|i2 : p=nextPrime 10000                                     |
|                                                           |
|o2 = 10007                                                 |
+-----------------------------------------------------------+
|i3 : kk=ZZ/p                                               |
|                                                           |
|o3 = kk                                                    |
|                                                           |
|o3 : QuotientRing                                          |
+-----------------------------------------------------------+
|i4 : R=kk[t_0,t_1]                                         |
|                                                           |
|o4 = R                                                     |
|                                                           |
|o4 : PolynomialRing                                        |
+-----------------------------------------------------------+
|i5 : I=ideal 0_R                                           |
|                                                           |
|o5 = ideal 0                                               |
|                                                           |
|o5 : Ideal of R                                            |
+-----------------------------------------------------------+
|i6 : L=matrix{{t_0^4,t_0^3*t_1,t_0*t_1^3,t_1^4}}           |
|                                                           |
|o6 = | t_0^4 t_0^3t_1 t_0t_1^3 t_1^4 |                     |
|                                                           |
|             1       4                                     |
|o6 : Matrix R  <--- R                                      |
+-----------------------------------------------------------+
|i7 : J=imageUnderRationalMap(I,L)                          |
|                                                           |
|                          3      2     2    2     3    2   |
|o7 = ideal (x x  - x x , x  - x x , x x  - x x , x  - x x )|
|             1 2    0 3   2    1 3   0 2    1 3   1    0 2 |
|                                                           |
|o7 : Ideal of kk[x ..x ]                                   |
|                  0   3                                    |
+-----------------------------------------------------------+
|i8 : betti J                                               |
|                                                           |
|            0 1                                            |
|o8 = total: 1 4                                            |
|         0: 1 .                                            |
|         1: . 1                                            |
|         2: . 3                                            |
|                                                           |
|o8 : BettiTally                                            |
+-----------------------------------------------------------+

Ways to use imageUnderRationalMap :
===================================

  * "imageUnderRationalMap(Ideal,Matrix)"

For the programmer
==================

The object imageUnderRationalMap, is a
method function (Macaulay2Doc).

nodalPlaneCurve -- get a random nodal plane curve
*************************************************

Synopsis
========

  * Usage:
        (random nodalPlaneCurve)(d,delta,R)
  * Inputs:
      * d, an integer (Macaulay2Doc), the degree of the curve
      * delta, an integer (Macaulay2Doc), the number of nodes
      * R, a polynomial ring (Macaulay2Doc), homogeneous
        coordinate ring of $\mathbb{P}^2$.
  * Outputs:
      * an ideal (Macaulay2Doc), the vanishing ideal of the curve

Description
===========

The procedure starts by choosing

\ \ \  1) an ideal I of delta random points in $\PP^2$, and then returns

\ \ \  2) the principal ideal generated by an random element in the saturated
square J=saturate(I^2) of degree d.

If the procedure fails, for example if J_d=0, then the null is returned.

Under the option Certified=>true, the result is certified by establishing that

\ \ \  1) the points are distinct nodes, and that

\ \ \  2) the curve has ordinary nodes at these points

by using the Jacobian criterion applied to the singular locus of the curve.

Under the option Attempts=>n, the program makes n attempts in both steps to
achieve the desired goal. Here n can be infinity. The default value is n=1.

+---------------------------------------+
|i1 : setRandomSeed("alpha");           |
+---------------------------------------+
|i2 : R=ZZ/32003[x_0..x_2];             |
+---------------------------------------+
|i3 : F=(random nodalPlaneCurve)(8,5,R);|
|                                       |
|o3 : Ideal of R                        |
+---------------------------------------+
|i4 : (dim F, degree F)                 |
|                                       |
|o4 = (2, 8)                            |
|                                       |
|o4 : Sequence                          |
+---------------------------------------+
|i5 : singF = F + ideal jacobian F;     |
|                                       |
|o5 : Ideal of R                        |
+---------------------------------------+
|i6 : (dim singF,degree singF)          |
|                                       |
|o6 = (1, 5)                            |
|                                       |
|o6 : Sequence                          |
+---------------------------------------+

Over very small fields the curves are often singular:

+-----------------------------------------------------------------------------+
|i7 : R=ZZ/3[x_0..x_2];                                                       |
+-----------------------------------------------------------------------------+
|i8 : tally apply(3^4,i-> null===((random                                     |
|                                                                             |
|o8 = Tally{false => 17}                                                      |
|           true => 64                                                        |
|                                                                             |
|o8 : Tally                                                                   |
|-----------------------------------------------------------------------------|
|nodalPlaneCurve)(8,5,R,Certify=>true, Attempts=>1)))                         |
+-----------------------------------------------------------------------------+

For the programmer
==================

The object nodalPlaneCurve, is an instance of the type
RandomObject (RandomObjects).