avatar

Nicolas De Ro

PhD student University of Geneva nicolas.dero (at) unige.ch nicolas.deromiralles (at) gmail.com

Theoretical physics often presents us with complex models and difficult equations, making numerical simulations essential for testing our analytical predictions. In this light, the computer becomes a true laboratory. Over time, I have grown to love this numerical environment and scientific programming in general. My philosophy is to build reproducible, open-source software that can benefit the research community and curious minds alike. Below, you will find a list of my published software along with brief overviews of how these tools can be useful to you. Visit the corresponding GitHub pages for detailed documentation.

OperatorSpreadingLMG
OperatorSpreadingLMG
A Python implementation of the operator-growth dynamics in fully-connected quantum spin models, with focus on the LMG model. [Will be released soon]

The code contains functions to evolve an operator in the Heisenberg picture with a generic Hamiltonian and to compute the operator growth (or operator size) and the Pauli weight probability distribution from scratch. For systems with permutation-invariance symmetry, it shows how operators can be efficiently evolved in the OTSS space, although the implementation is restricted to the LMG model and its kicked version. It also contains a function to construct the full eigenoperator basis of the OTSS space. At the classical level, the code includes functions to compute the dynamics generated by the classical kicked LMG model (classical kicked rotator), and its Lyapunov exponents. The Lyapunov exponent algorithm is generic and can be applied to any discrete dynamical system.

KrylovQuantumClassical
KrylovQuantumClassical
A Python and Mathematica implementation of the classical and quantum Lanczos algorithm.

The code contains a generic Mathematica implementation of the Lanczos algorithm for operators, using arbitrary-precision arithmetic with both an infinite-temperature inner product and a microcanonical one. It also includes generic functions for studying the phase transition, spectrum, symmetries and autocorrelation functions of a given Hamiltonian, tailored to the LMG and FP models in this case. The classical Lanczos algorithm was designed to be general enough to apply to any collective spin model. In both the quantum and classical cases, the computation of the Krylov complexity and its large-time behavior remains generic and can be applied to any Lanczos sequence.

Pydlosky
Pydlosky
A Python implementation of the Pedlosky quasi-geostrophic model.

The code contains a Numba-optimized integrator that can be adapted for the numerical integration of generic continuous dynamical systems. It is specifically designed to integrate many initial conditions in parallel. It also includes a numerical implementation of the Benettin et al. algorithm for computing the Lyapunov exponents of continuous dynamical systems. Overall, the code contains many small functions for the nonlinear analysis of dynamical systems. The notebook also provides a good example of a numerical continuation analysis using the AUTO software.