Here I give several files .mpl including some Maple code I implemented during my thesis and postdocs. This includes all the algorithms described in my PhD, but also the algorithms explained in our SNC'09 paper.
All these algorithms have been written using Maple 11, and do not have any other pretentions than to be prototypes one. For instance, computations in finite extentsion above finite fields do not work well in Maple. In a more general way, we do not use fast algorithms for basic operations or polynomial multiplication. Finally, the numerical part of the algorithms need some more work: we do not have any bound on the numerical errors that may occur during the computations. Thus, even if the algorithms described in the thesis have been thought to be certificated, they are not for the moment since we do not have provable error bounds. Nethertheless, these algorithms have a good practical numerical behaviour.
A modular-numeric Newton-Puiseux algorithm
The second chapter of our PhD thesis is dedicated to the description of a new modular-numeric algorithm to compute numerical approximations. In essence, we first compute the Puiseux series modulo a prime number p, which is chosen such that the structure of these series is preserved by modular reduction. The file puiseuxmodp.mpl is dedicated to the computation of the Puiseux series above a finite field, whereas the file choixp.mpl includes the algorithms to find a good prime number p. Then, we use the structure of the Puiseux series to conduct the computation of approximate coefficients of the series. These last algorithms are given in the file numpuiseux.mpl. Finally, we provide a maple file that illustrates the use of these algorithms on a (very simple) example; the different options of the algorithms are given in the .mpl files.
A symbolic-numeric algorithm to compute monodromy groups of plane algebraic curves
All files (the monodromy algorithm need Puiseux files to be used)
We propose in the third chapter of our thesis a new strategy to compute monodromy groups of a plane algebraic curve. The file monodromy.mpl gives a Maple implementation of the algorithm we describe in this chapter.
Analytic continuation and monodromy on random Riemann surfaces
In our SNC'09 paper, we focused on random Riemann surfaces, i.e. Riemann surfaces defined by bivariate polynomials with random coefficients. To guess the behaviour of such surface, we first studied some monodromy groups. These groups have been computed with the algorithm given above. As the computation of such groups can take time, due mainly to the number of critical points to consider, we limited our study to polynomials of total degree between 7 and 10. We give here some of these examples we have computed. The first example is of total degree 7. It includes a picture of the Euclidean minimal spanning tree we follow, the monodromy group, and an approximation of the fibers above critical points. Examples 2 to 5 are of degree 7 for the first three ones, and 9 for example 5. Here we only give monodromy groups. Example 6 and 7 are two degree 10 examples, for which we give their monodromy group. Finally, example 8 and example 9 are of degree 10. These two files give monodromy groups and approximations of the fibers above critical points.
After a careful study of these data, we developped a strategy base on analytic continuation to find the subsets of the fiber above 0 which correspond to the factors of the bivariate polynomial. A first implementation of this strategy has been done in Maple. You can find the code here