# Singular          ### D.5.4 paraplanecurves_lib

Library:
paraplanecurves.lib
Purpose:
Rational parametrization of rational plane curves

Authors:
J. Boehm, boehm at mathematik.uni-kl.de
W. Decker, decker at mathematik.uni-kl.de
S. Laplagne, slaplagn at dm.uba.ar
F. Seelisch, seelisch at mathematik.uni-kl.de

Overview:
Suppose C = {f(x,y,z)=0} is a rational plane curve, where f is homogeneous of degree n with coefficients in Q and absolutely irreducible (these conditions are checked automatically.)
After a first step, realized by a projective automorphism in the procedure adjointIdeal, C satisfies:
- C does not have singularities at infinity z=0.
- C does not contain the point (0:1:0) (that is, the dehomogenization of f with respect to z is monic as a polynomial in y).
Considering C in the chart z<>0, the algorithm regards x as transcendental and y as algebraic and computes an integral basis in C(x)[y] of the integral closure of C[x] in C(x,y) using the normalization algorithm from normal_lib: see integralbasis_lib. In a future edition of the library, also van Hoeij's algorithm for computing the integral basis will be available.
From the integral basis, the adjoint ideal is obtained by linear algebra. Alternatively, the algorithm starts with a local analysis of the singular locus of C. Then, for each primary component of the singular locus which does not correspond to ordinary multiple points or cusps, the integral basis algorithm is applied separately. The ordinary multiple points and cusps, in turn, are addressed by a straightforward direct algorithm. The adjoint ideal is obtained by intersecting all ideals obtained locally. The local variant of the algorithm is used by default.
The linear system corresponding to the adjoint ideal maps the curve birationally to a rational normal curve in P^(n-2).
Iterating the anticanonical map, the algorithm projects the rational normal curve to PP1 for n odd resp. to a conic C2 in PP2 for n even.
In case n is even, the algorithm tests whether there is a rational point on C2 and if so gives a parametrization of C2 which is defined over Q. Otherwise, the parametrization given is defined over a quadratic field extension of Q.
By inverting the birational map of C to PP1 resp. to C2, a parametrization of C is obtained (defined over Q or the quadratic field extension).

References:
Janko Boehm: Parametrisierung rationaler Kurven, Diploma Thesis, http://www.math.uni-sb.de/ag/schreyer/jb/diplom%20janko%20boehm.pdf

Janko Boehm, Wolfram Decker, Santiago Laplagne, Gerhard Pfister: Local to global algorithms for the Gorenstein adjoint ideal of a curve, Algorithmic and Experimental Methods in Algebra, Geometry, and Number Theory, Springer 2018

Theo de Jong: An algorithm for computing the integral closure, Journal of Symbolic Computation 26 (3) (1998), p. 273-277

Gert-Martin Greuel, Santiago Laplagne, Frank Seelisch: Normalization of Rings, Journal of Symbolic Computation 9 (2010), p. 887-901

Mark van Hoeij: An Algorithm for Computing an Integral Basis in an Algebraic Function Field, Journal of Symbolic Computation 18 (1994), p. 353-363, http://www.math.fsu.edu/~hoeij/papers/comments/jsc1994.html

Procedures:

 D.5.4.1 adjointIdeal Adjoint ideal of a plane curve D.5.4.2 invertBirMap Invert a birational map of algebraic varieties D.5.4.3 paraPlaneCurve Compute a rational parametrization of a rational plane curve D.5.4.4 rncAntiCanonicalMap Anticanonical map of a rational normal curve D.5.4.5 rationalPointConic Finds a point on the conic. This point has either coefficients in Q or in a quadratic extension field of Q D.5.4.6 mapToRatNormCurve Map a plane rational curve to a rational normal curve (RNC) D.5.4.7 rncItProjOdd Map a RNC via successive anticanonical maps to PP1 D.5.4.8 rncItProjEven Map a RNC via successive anticanonical maps to a conic in PP2 D.5.4.9 paraConic Compute a rational parametrization of a conic D.5.4.10 testParametrization Checks whether a given curve is parametrized by a given rational map (defined in the given ring) D.5.4.11 testPointConic Checks whether a given point (defined in the given ring) lies on the given conic.

### Misc 