# curveFromP3toP1P2 -- creates the ideal of a curve in P^1xP^2 from the ideal of a curve in P^3

## Synopsis

• Usage:
I = curveFromP3toP1P2(J)
• Inputs:
• J, an ideal, defining a curve in 3.
• Outputs:
• I, an ideal, defining a curve in 1×ℙ2.

## Description

Given an ideal J defining a curve C in 3, curveFromP3toP1P2 produces the ideal of the curve in 1×ℙ2 defined as follows: consider the projections 3→ℙ2 and 3→ℙ1 from the point [0:0:0:1] and the line [0:0:s:t], respectively. The product of these defines a map from 3 to 1×ℙ2. The curve produced by curveFromP3toP1P2 is the image of the input curve under this map.

This computation is done by first constructing the graph in 3×(ℙ1xℙ2) of the product of the two projections 3→ℙ2 and 3→ℙ1 defined above. This graph is then intersected with C×(ℙ1×ℙ2). A curve in 1×ℙ2 is then obtained from this by saturating and then eliminating.

Note the curve in 1×ℙ2 will have degree and genus equal to the degree and genus of C as long as C does not intersect the base locus of the projection. If the option PreserveDegree is set to true, curveFromP3toP1P2 will check whether C intersects the base locus. If it does, the function will return an error. If PreserveDegree is set to false, this check is not performed and the output curve in 1×ℙ2 may have degree and genus different from C.

 `i1 : R = ZZ/101[z_0,z_1,z_2,z_3];` ```i2 : J = ideal(z_0*z_2-z_1^2, z_1*z_3-z_2^2, z_0*z_3-z_1*z_2); o2 : Ideal of R``` ```i3 : curveFromP3toP1P2(J) 2 o3 = ideal (x - x x , - x x + x x , - x x + x x ) 1,1 1,0 1,2 0,1 1,1 0,0 1,2 0,1 1,0 0,0 1,1 ZZ o3 : Ideal of ---[x , x , x , x , x ] 101 0,0 0,1 1,0 1,1 1,2```

## Caveat

This creates a ring F[x0,0,x0,1,x1,0,x1,1,x1,2] in which the resulting ideal is defined.

## Ways to use curveFromP3toP1P2 :

• curveFromP3toP1P2(Ideal)