La physique théorique nous confronte très souvent à des modèles complexes et à des équations difficiles à résoudre. Les simulations numériques deviennent alors un outil nécessaire pour tester nos prédictions analytiques. L'ordinateur occupe en ce sens une place centrale et se transforme ainsi en laboratoire. Au fil du temps, j'ai pris plaisir à développer un cadre numérique autour de mes recherches. Ma philosophie est de développer des softwares open source et reproductibles, susceptibles de profiter à la communauté scientifique comme aux esprits les plus curieux. Vous trouverez ci-dessous une liste des softwares que j’ai publiés, accompagnée d’un bref aperçu de l’utilité de ces outils. Consultez les pages GitHub correspondantes pour une documentation détaillée.
Ce code contient des fonctions pour faire évoluer un opérateur dans la représentation de Heisenberg à partir d'un hamiltonien générique et pour calculer la croissance d'opérateur et la distribution de probabilité du poids de Pauli. Pour les systèmes avec symétrie d'invariance par permutation, il montre comment l'évolution des opérateurs peut être calculée efficacement dans l'espace OTSS, bien que l'implémentation soit restreinte au modèle LMG et à sa version « kicked ». Il contient également une fonction pour construire la base complète des opérateurs propres de l'espace OTSS. Au niveau classique, le code contient des fonctions pour calculer la dynamique générée par le modèle LMG classique « kicked » (rotateur classique « kicked ») et ses exposants de Lyapunov. L'algorithme des exposants de Lyapunov est générique et peut être appliqué à tout système dynamique à temps discret.
Ce code contient une implémentation générique en Mathematica de l'algorithme de Lanczos pour les opérateurs, en utilisant l'arithmétique à précision arbitraire avec un produit scalaire à température infinie et un produit scalaire microcanonique. Il comprend également des fonctions génériques pour étudier la transition de phase, le spectre d'énergie, les symétries et les fonctions d'autocorrélation d'un hamiltonien donné, adaptées aux modèles LMG et FP dans ce cas précis. L'algorithme de Lanczos classique a été conçu pour être suffisamment général pour s'appliquer à tout modèle de spin collectif. Dans les deux cas, classique et quantique, le calcul de la complexité de Krylov et de sa valeur de saturation à temps long reste générique et peut être appliqué à toute séquence de Lanczos.
Le code contient un intégrateur optimisé à l'aide de Numba qui peut être adapté pour l'intégration numérique de systèmes dynamiques à temps continu génériques. Il est spécifiquement conçu pour intégrer de nombreuses conditions initiales en parallèle. Il comprend également une implémentation numérique de l'algorithme de Benettin et al. pour le calcul des exposants de Lyapunov de systèmes dynamiques continus. Dans l'ensemble, le code contient de nombreuses petites fonctions pour l'analyse non linéaire des systèmes dynamiques. Le notebook fournit également un bon exemple d'une analyse de continuation numérique impliquant le logiciel AUTO.