Skip to content


C++ Library Nitro

A library for computing the intersection between a line and a curve or surface, with a particular focus on Lagrange curves and surfaces in order to deal with high-order finite elements. The method is based on implicit matrix representations of parameterized curves and surfaces via syzygies.

The library is available here. This is a collaboration with Xiao Xiao and Fehmi Cirak from the Department of Engineering at Cambridge.

Macaulay2 package for resultants

With Nicolás Botbol and Manuel Dubinsky, we have implemented a Macaulay2 package for elimination theory, in particular for resultant computations. An introductory file is available (pdf format).

The lastest version of this package can be downloaded, together with the latest version of Macaulay2, with a subversion client from the Macaulay2 download pages.

The documentation of the package is available on the corresponding Macaulay2 webpage.

C++ Library ASurfExt

This is a C++ library for computing some elementary geometric primitives from the smallest possible number of 3D points, possibly oriented. The main novelty of this library is to provide new interpolation algorithms, based on algebraic techniques, for the following interpolation problems:

cylinders passing through 5 points and cylinders passing through 3 points, one of them being oriented, cones passing through 2 oriented points and cones passing through three 4 points, one of them being oriented, torus passing through 3 points, two of them being oriented. This library is available, together with some documentation, is availbale at the Inria gitlab repository here. It has been developped with the help of Adrien Boudin and Antoine Deharveng from the Poytech’Nice engineer school of the University of Nice Sophia Antipolis.

Maple packages

  • Computing with multvariate resultants : the file MResultants.mpl provides functions for

    • the computation of Sylvester, Bezout and hybrid Sylvester-Bezout matrices associated to the Sylvester resultant of two polymonials. The degree of the input polynomials are arguments, so that the universal property of the resultant is emphasized.

    • the computation of the Macaulay formula associated to the resultant of several homogeneous polynomials. This formula expresses the resultant as the quotient of two determinants. It has the advantage of computing exactly the resultant (and not just up to the multiplication by a nonzero constant).

  • Implicit matrix representations of parameterizations of curves and surfaces : during its PhD thesis, Thang Luu Ba implemented several tools to produce and handle matrix representation of curves and surfaces. You can get them from its webpage here.