About MAPC


MAPC is a C++ library for manipulating algebraically defined points and curves in the plane. MAPC represents points and curves exactly, and makes use of a number of approaches to increase the efficiency of manipulation on these points. MAPC is meant to provide a usable implementation of points and curves in the plane. It is meant to provide a way to represent points and curves without having to worry about the details of how these are implemented underneath.

MAPC provides C++ classes for representing and manipulating the following:

MAPC implements 3 new algorithms which provide the following functions:

The current implementation of MAPC is built on top of the LiDIA library, which provides exact rational number support, and makes use of the LAPACK library, which implements various numerical algorithms in floating point.

For further information on the classes provided in MAPC, please see the documentation. For information about the new algorithms used in MAPC, please consult the technical report.

Questions or Comments?

Please direct any questions or comments to geom@cs.unc.edu.


MAPC was developed in the Department of Computer Science at the University of North Carolina - Chapel Hill The people who have worked on MAPC are:

Graduate Students


Former Students