JuliaCon Local Paris 2025

Interactive Random Matrix Theory in Julia
2025-10-02 , Robert Faure Amphitheater
Language: English

What do growth from a corner, random domino tilings, nonintersecting paths and Young tableaux generated from random words have in common? That they can all be simulated in Julia of course! This talk will present various Julia packages for the statistical analysis of determinantal point processes just like these with a focus on interactive exploration through tools such as Pluto.jl and WGLMakie.jl.


Determinantal point processes (DPPs) have attracted attention in machine learning recently as probabilistic models that naturally enforce some diversity in a set. They also occur in many areas of mathematics and mathematical physics, connecting processes such as corner growth, the statistics of random domino as well as lozenge tilings or randomly generated Young tableaux.

What are DPPs? At their core, they describe a probability distribution on subsets using matrix determinants. This gives rise to various interesting phenomena and associates all the processes described above with a matrix ensemble. Rather than focusing on the theoretical aspects of these processes however, this talk will dive right into the simulation and experimental analysis of DPPs. Being able to interactively engage with these processes through computation not only is a powerful teaching tool but also opens the door to further research.

Scaling such simulations is challenging due to the nontrivial amount of computation required to generate large enough statistics. This is where a JIT-compiled language like Julia shines, allowing one to take full advantage of the hardware and providing easy access to thread-level parallelism as well as GPU computing, while still providing an interactive environment for exploratory analysis. These advantages transfer to numerous applications outside of random matrix theory as well, making DPPs a good case study for interactive computation with demanding performance requirements.

Based on the example of AztecDiamonds.jl, I demonstrate the ability to scale simulations from running serially on a CPU to employing KernelAbstractions.jl to run the domino shuffling algorithm in parallel on GPUs, thus making generating much larger diamond tilings than ever before feasible. For inspecting results, the package integrates nicely with the Images.jl ecosystem as well as Makie.jl, which can be used to create interactive Pluto.jl experiences perfectly taylored to a classroom setting.

I will give an overview over existing packages that are useful for simulating DPPs as well as ones I created based on the requirements of dealing with random Young tableaux, discrete polynomial ensembles and random lozenge tilings and present educational resources created using those libraries. By making these tools openly available, I hope to enable and inspire further research into the subject. Lastly, I will also give an outlook into my own ongoing research into rhombus tilings of polygons and how I am using Julia to gain a better understanding of the subject.

See also: The AztecDiamonds.jl package

Master's student at KIT (Germany)

Interested in computational mathematics, programming language design, automatic differentiation and compilers.

GitHub: https://github.com/simeonschaub