Scientific Computing

I have a master's degree in Scientific computing, from the LJLL at Sorbonne Université. Since then, I have regularly used my computing skills for teaching and as a guide to my own research and conducted many numerical experiments.

I also developed a taste for learning and using software, in particular as a hobby in the makers community.

Programming skills

a) Real-time coding in the classroom

I use Mathematica and Scilab daily for teaching. For example, this classroom handout illustrates the fundamental theorem in topology that continuity is characterised by the fact that the inverse image of an open set is also an open set.

All the animations of my vulgarization article on the Fourier transform where also generated with the Wolfram language. In 2016, I gave a talk at EPITA as part of a showcase conference by Wolfram Research (here is the notebook file of the talk).

In the wake of the Covid-19 epidemics, I am part of the response team that helps set up virtual classes. Here is a short video on how to use an iPad as an interactive input device.

The output can either be recorded (as mentioned in the video) and published asynchronously on your university servers, or on YouTube, Vimeo, etc. It can also be broadcast live through a screen sharing app (ex. Teams, Discord, Skype...). Note that screen sharing with private apps may put your privacy and that of your students at risk; please check the DGSIP website to find appropriate solutions through Renater.

b) Simulations of ODEs & PDEs

I have regularly conducted numerical experiments for my research to gain insight and conjecture the proper qualitative behavior of the solutions of ODEs and PDEs. Because of my background in scientific computing, I am familiar with most of the classical techniques (ODE schemes, finite elements, spectral methods,...)

Medium-scale simulation of the Non-local Burgers equation on a 1D periodic box. On the left-side, the amplitude of Fourier modes (~energy spectrum); on the right-side, the phase of each Fourier mode.

Numerical simulation of unsigned Non-local Burgers equation.

Numerical exploration of the Wiener-Khinchine transform, for the analysis of turbulence spectra.

c) High-performance computing

My collaboration with N. Mihalache, aims at providing a powerful numerical microscope to investigate fundamental conjectures in complex dynamics. We have developed a new mesh refinement algorithm that allows us to find all the roots of an extremely high degree polynomial (of order a few billions) in a very short time (about 1 day on a consumer-grade server). We implemented this algorithm in a mixed Java/C library that uses extensive parallel methods, both on CPU and GPU (and uses high-precision arithmetic whenever necessary). We used this library to compute all periodic and pre-periodic points of the Mandelbrot set of respective orders 41 and 35 (a huge push compared to the previous state of the art...). Next, we are getting computationally provable upper and lower bounds for the area of the Mandelbrot set, gaining a few orders of magnitude of precision. We also introduced disk arithmetic to associate each computation with a mathematical proof.

The Mandelbrot set decorated with all the periodic points of period <=20.

Separation of periodic point as a function of the period. Note that periods >=29 are not separable in FP64 arithmetic (gray zone).

I am the co-developper of two HPC libraries: FastPolyEval and Mandelbrot. The first one implements a new algorithm regarding the evaluation of polynomials, that outperforms any other algorithm by orders of magnitude in repeated evaluations. The second one is the backbone of a the recent worl record at the HPC center Romeo (Reims), where we have successfully split a tera-polynomial with certifiable results.

Text and data processing skills

As a showcase for Excel, I developed this file as part of my mandate in assisting the dean of the UFR de Sciences et Technologies for defining the new curriculum for Mathematics & Computer science. This files allows the whole UFR to fill in the structure of classes, and the dean and I can, in a few clics, estimate how much each possible choice would to cost.

I have also developed a few tools for the Direction du Concours Polytechnique.

Technical modeling skills

Application to space engineering

I have used those skills to develop, in partnership with a friend and colleague N.Mihalache, an electronic circuit board (PCB), that will be part of a series of 3 CubeSat satellites developed at UPEC, on our Campus Spatial. The first satellite should be deployed in 2021. The board integrates sensors and actuators for a passive magnetic orientation system (the satellite tracks the earth's magnetic field). The next version will also include the control of inertia wheels.

CubeSat prototype

Test plateform

Inertia wheel of a satellite

Art creation skills

I used those skills to produce videos for my scientific YouTube channel.

Video recording in my home studio.

Post-processing with Final Cut Pro.