Overview:
Parametrization is a package to compute rational parametrizations of rational curves defined over \mathbb{Q}.
Suppose C is a rational plane curve C of degree n defined over \mathbb{Q}.
We use the package AdjointIdeal to compute the adjoint ideal of C. (The package exports also all functions available in AdjointIdeal, e.g., geometricGenus.)
The corresponding linear system maps the curve birationally to a rational normal curve in \mathbb{P}^{n-2}.
Iterating the anticanonical map we give a projection of the rational normal curve to \mathbb{P}^{1} for n odd or to a conic C_2 in \mathbb{P}^{2} for n even.
In the case that n is even we test for the existence of a rational point on the conic and if so give a rational parametrization of the conic.
By inverting the birational map of C to \mathbb{P}^{1} or the conic we obtain a rational parametrization of C. If n is odd or C_2 has a rational point C is parametrized by \mathbb{P}^{1} otherwise by C_2.
The main focus of the algorithm is to avoid unnecessary choices to obtain a parametrization of small height.
For more theoretical details see J. Boehm: Rational parametrization of rational curves, http://www.math.uni-sb.de/ag/schreyer/jb/diplom%20janko%20boehm.pdf.
The package is work in progress, so there will be future improvements and more testing is necessary.
Key user functions:
parametrize -- This is the universal rational parametrization function, it works for plane rational curves, in particular conics, and rational normal curves.
testParametrization -- Test a parametrization.
rationalPointOnConic -- Test for a rational point on a conic and find it if it exists.
mapToRNC -- Map a plane rational curve to a rational normal curve.
Setup:
This package uses the package AdjointIdeal, so set up this first.
Place the file Parametrization.m2 somewhere into the M2 search path and install the package by doing
installPackage("Parametrization")
This documentation describes version 0.6 of Parametrization.
The source code from which this documentation is derived is in the file Parametrization.m2. The auxiliary files accompanying it are in the directory Parametrization/.
The object Parametrization is a package.