A special one-day workshop dedicated to mathematical software at the Max-Planck Institute for Mathematics in the Sciences, on the occasion of Michael Joswig joining as a Max-Planck Fellow in December and Yue Ren leaving for Swansea University in January.
We review some concepts how modern mathematical software could assess the accuracy of numerical computations, short of fully rigorous methods, to answer that pending questions: How many digits are correct, really? We demonstrate the possibilities with some case studies and display a new concept, infinite dimensional numerical linear algebra, which only recently has become feasible for effective coding using Julia.
In this talk, we will review how each finite group can be disassembled into a unique set of "simple" groups, similar to the unique prime factorization of natural numbers. This raises various questions; for example: which simple pieces are there? And: in which ways can one glue these pieces together to form new finite groups? The main focus of this talk will be on this last question, and we will discuss it in the context of classifying (almost) all groups of order at most 20,000.
While other branches of mathematics have greatly benefitted from massively parallel computations over the last decades, common belief was that Algebraic Geometry would not be a good field for parallelism, since one of the main workhorses, the computation of Groebner Bases, poses an important obstacle.
With the advent of powerful, flexible, transparent workflow management systems, on the other hand, large problems with a very coarse granularity could be tackled for the first time. In this talk, I will outline some successful applications such as e.g. a parallel smoothness test and the computation of a GIT-fan.
In my talk I will present the software HomotopyContinuation.jl, which is a Julia package for numerically solving systems of polynomial equations. First, I will briefly introduce the homotopy continuation algorithm and how it is implemented in Julia. Then, I will go through a couple of examples that illustrate the diversity of applications, in which the package can be used. This is joint work with Sascha Timme.
In 2010, Stefan van Zwam and myself started work on on a new package for computing with matroids in Sage, the open source mathematics platform. I want to tell the story of this project: the theoretical goals that motivated us spending that much time on writing software, our design principles, and our considerations when choosing Sage as a platform. Finally, I want to discuss some of the insights gained from working on this software.
I will discuss the efficient computation of the Vietoris–Rips persistence barcode for a finite metric space. The implementation in the newly developed C++ code “Ripser” focuses on memory and time efficiency, outperforming previous software by a factor of more than 40 in computation time and a factor of more than 15 in memory efficiency on typical benchmark examples. The improved computational efficiency is based on a close connection between persistent homology and discrete Morse theory, together with novel algorithmic design principles, carrying out a matrix algorithm without actually storing the entire matrix in memory.