Using polynomials and complex analysis to check for numerical error in the experimental study of an optimisation algorithm

Splitting methods are special algorithms that are commonly used to solve optimisation problems for engineering and machine learning. One of these algorithms, the Douglas--Rachford method, works in many cases where the problems are not convex. In an effort to learn about the algorithm's special properties, we use the dynamical geometry software Cinderella to visualise its behaviour when it is used to find a point in the intersection of an ellipse and a line. In order to check the sensitivity of our Cinderella code to compounding numerical error, we use the polynomial structure of an ellipse and borrow a convenient tool from complex analysis: the Schwarz function. 

This talk will introduce its main concepts with simple examples, and it features many pictures and the use of dynamical tools for visualisation. It is intended to be accessible to a wide mathematical audience, including undergraduate students.