Macaulay2 » Documentation
Packages » VirtualResolutions :: curveFromP3toP1P2
next | previous | forward | backward | up | index | toc

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

Synopsis

Description

Given an ideal J defining a curve $C$ in $\PP^3$, curveFromP3toP1P2 produces the ideal of the curve in $\PP^1\times\PP^2$ defined as follows: consider the projections $\PP^3\to\PP^2$ and $\PP^3\to\PP^1$ from the point [0:0:0:1] and the line [0:0:s:t], respectively. The product of these defines a map from $\PP^3$ to $\PP^1\times\PP^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 $\PP^3\times(\PP^1\times\PP^2)$ of the product of the two projections $\PP^3\to\PP^2$ and $\PP^3\to\PP^1$ defined above. This graph is then intersected with $C\times(\PP^1\times\PP^2)$. A curve in $\PP^1\times\PP^2$ is then obtained from this by saturating and then eliminating.

Note the curve in $\PP^1\times\PP^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 curveFromP3toP1P2(...,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 $\PP^1\times\PP^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   ]
              101  0,0   0,1   1,0   1,2

Caveat

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.

Ways to use curveFromP3toP1P2 :

For the programmer

The object curveFromP3toP1P2 is a method function with options.