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, https://agag-jboehm.math.rptu.de/~boehm/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.
If you have used this package in your research, please cite it as follows:
|
The object Parametrization is a package, defined in Parametrization.m2, with auxiliary files in Parametrization/.
The source of this document is in Parametrization.m2:1167:0.