**Overview:**

*AdjointIdeal* is a package to compute the adjoint ideal and the geometric genus of projective plane curves.

This is used in particular in the case of genus 0 in the package *Parametrization* to map any singular plane rational curve to a (smooth) rational normal curve.

Suppose (note, that the implementation in adjointIdeal does not require this) the curve C is given by f(x,y,z) = 0 and C does not have singularities at infinity z = 0 and the point (1:0:0) is not on C. Note that these conditions can always be met by a projective automorphism.

Considering the affine curve in z!=0 we take y as trancendental and x as algebraic and compute an integral basis in CC(y)[x] of the integral closure of CC[y] in CC(x,y) using the algorithm from

Mark van Hoeij: An algorithm for computing an integral basis in an algebraic function field, http://www.math.fsu.edu/~hoeij/papers/comments/jsc1994.html, Journal of Symbolic Computation, Volume 18 , Issue 4 (October 1994), Pages: 353 - 363.

So far we call Maple using the MapleInterface package, but once the functionality will be available natively in Macaulay2 this will no longer be necessary.

From this data the adjoint ideal can be obtained by linear algebra.

The package is work in progress, so there will be future improvements and more testing is necessary.

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.

**Key user functions:**

adjointIdeal -- compute the adjoint ideal

geometricGenus -- compute the geometric genus of a plane curve

**Setup:**

This package uses the package *MapleInterface*, so install this first.

Place the file AdjointIdeal.m2 somewhere into the M2 search path (type path to see it) and install the package by doing

installPackage("AdjointIdeal")

- Functions and commands
- adjointIdeal -- Compute the adjoint ideal of a plane curve
- backwardSubstitution -- Backward substitution.
- extractLeftLower -- Extract L from the LR decomposition result.
- extractRightUpper -- Extract R from the LR decomposition result.
- forwardSubstitution -- Forward substitution.
- geometricGenus -- Geometric genus of a plane curve
- LRdecomposition -- LR decomposition
- traceMatrix -- Compute trace matrix.