Only open-source projects on which I participated are listed here.


panoramic logo

A library to compute the GCD of univariate polynomials. It uses modular arithmetic to avoid the explosion of coefficients. The initial code comes from the first versions of the CGAL algebraic kernel, latter rewritten.


panoramic logo

Panoramic is a software which uses shaders to visualize wide panoramic images using different projections. In particular, it permits to use our technique based on hyperbolic Möbius transformations.


hdch logo

HeaDDaCHe is an implementation of the hashed dynamic determinant scheme for using in geometric algorithms. This technique reduces to quadratic the complexity of the determinants involved in convex hull computations, and to linear the complexity of those used for point locations. HeaDDaCHe's modular design permits to employ it in the implementation of any geometric algorithm with small effort.


respol logo

The resultant is the most fundamental tool in algebraic variable elimination. Sparse elimination theory characterizes polynomials by their Newton polytope (the convex hull of the exponent vectors of non-zero monomials). ResPol computes a projection of the Newton polytope of the resultant of a polynomial system. The employment of novel geometric and algebraic techniques makes this implementation and the underlying theory very competitive with modern methods.


curve topology

Isotop is a Maple software for computing the isotopy of an algebraic plane curve, that is, for computing an arrangement of polylines isotopic to the input curve. This problem is a necessary key step for computing arrangements of algebraic curves and has also applications for curve plotting. Isotop is based on an algorithm which incorporates several improvements over previous methods. In particular, our approach does not require generic position (nor shearing) and avoids the computations of sub-resultant sequences (in all cases) which are usually very time-consuming. Isotop can also be tested online.

RS-based CGAL algebraic kernel

arrangement of uniariate polynomials

Solving univariate polynomials and multivariate polynomial systems is critical in geometric computing with curved objects. Moreover, the real roots need to be isolated in a certified way in order to avoid possible inconsistency in geometric algorithms. We developed a C++ CGAL algebraic kernel for handling univariate polynomials based on the RS library developed in the INRIA Salsa team. We also developed CGAL interfaces to the floating-point library MPFR and the interval library MPFI, which are central for efficient exact computing in CGAL. The kernel and the arithmetic library interfaces are now part of CGAL.


SSA form

This tool tests COBOL source code, using the SSA (Single Static Assignment) form as intermediate representation to obtain definition-use chains of variables, under different criteria.