- Usage:
`randomCurveP1P2(d,g,F)``randomCurveP1P2(d,g)`

- Outputs:
- an ideal, defining random curve
*ℙ*from a curve of degree d and genus g in^{1}×ℙ^{2}*ℙ*over F.^{3}

- an ideal, defining random curve

Given a positive integer d, a non-negative integer g, and a ring F randomCurveP1P2 produces a random curve of bi-degree (d,d) and genus g in *ℙ ^{1}×ℙ^{2}*. This is done by using the curve function from the SpaceCurves package to first generate a random curve of degree d and genus g in

Since curveFromP3toP1P2 relies on projecting from the point [0:0:0:1] and the line [0:0:s:t], randomCurveP1P2 attempts to find a curve in *ℙ ^{3}*, which does not intersect the base locus of these projections. If the curve did intersect the base locus the resulting curve in

i1 : randomCurveP1P2(3,0); ZZ o1 : Ideal of ---[x , x , x , x , x ] 101 0,0 0,1 1,0 1,1 1,2 |

i2 : randomCurveP1P2(3,0,QQ); o2 : Ideal of QQ[x , x , x , x , x ] 0,0 0,1 1,0 1,1 1,2 |

This creates a ring *F[x _{0,0},x_{0,1},x_{1,0},x_{1,1},x_{1,2}]* in which the resulting ideal is defined.

- randomCurveP1P2(ZZ,ZZ)
- randomCurveP1P2(ZZ,ZZ,Ring)