Cette page a été traduite automatiquement.
Merci de bien vouloir compléter un sondage de 1 minute concernant la qualité de cette traduction.
Amélioration des algorithmes de réseaux de tenseurs pour les systèmes quantiques à plusieurs corps avec MATLAB
Par Dr Anna Francuz, Université de Vienne
« Grâce à MATLAB, mon équipe a développé une approche plus stable et plus efficace pour la différenciation des algorithmes de réseaux de tenseurs. Nous appliquons activement ce workflow pour approfondir notre compréhension des systèmes quantiques fortement intriqués. »
L'un des piliers de la recherche en informatique quantique a été de réaliser un avantage quantique : démontrer que les ordinateurs quantiques peuvent surpasser les systèmes classiques dans des tâches pratiques telles que l'optimisation, la cryptographie ou la découverte de médicaments. Avant de construire des ordinateurs quantiques à grande échelle, il est toutefois nécessaire d’effectuer des tests à plus petite échelle et de comparer les résultats de ces tests avec la théorie. Ces travaux, qui mettent l’accent sur les systèmes quantiques à plusieurs corps fortement intriqués, constituent l’objectif principal de mes recherches à l’Université de Vienne.
Au cours des 20 dernières années, les réseaux de tenseurs se sont révélés être parmi les meilleurs outils disponibles pour étudier les systèmes fortement intriqués. Cela est dû, en grande partie, à la manière dont ils réduisent la complexité informatique (par rapport aux méthodes de Monte Carlo quantiques, par exemple) en exploitant la structure d’intrication. En travaillant avec des réseaux de tenseurs, les chercheurs peuvent utiliser des techniques d'optimisation pour trouver l'état fondamental d'un système quantique, à partir duquel ils peuvent calculer la magnétisation et d'autres observables afin de comprendre les propriétés du système et comparer directement les résultats avec les données expérimentales.
Jusqu’à récemment, la réalisation de cette optimisation était problématique car les approches précédentes reposaient sur des calculs approximatifs du gradient, un élément crucial dans le processus de différenciation qui pilote l’optimisation. Outre des erreurs importantes, cette limitation a également souvent conduit à ce que les optimisations ne parviennent pas à trouver le minimum global. Les chercheurs ont résolu certaines de ces lacunes en passant à la différenciation automatique (AD), mais d’autres problèmes sont apparus, tels que des divergences lors de la différenciation d’une décomposition en valeurs singulières (SVD) et des problèmes fondamentaux avec la manière dont l’AD a été implémentée dans le code.
L’utilisation de MATLAB® a permis à mon équipe de développer une approche plus stable et plus efficace pour la différenciation des algorithmes de réseaux de tenseurs. Nous combinons cette nouvelle implémentation AD avec deux autres éléments clés : la contraction du réseau de tenseurs à l'aide d'une toolbox communautaire MATLAB et le calcul haute performance à l'aide de MATLAB Parallel Server™. Nous appliquons activement ce workflow pour approfondir notre compréhension des systèmes quantiques fortement intriqués.
MATLAB et les réseaux de tenseurs en physique quantique
Par Temo Vekua, MathWorks
L'application des réseaux de tenseurs en physique quantique a été initiée par un physicien éminent et leader dans le domaine de la théorie de l'information quantique, le Dr Ignacio Cirac de l'Institut Max Planck d'optique quantique de Munich. Il y a vingt ans, le Dr Cirac et le Dr Frank Verstraete ont développé une théorie des réseaux de tenseurs pour décrire les systèmes quantiques à plusieurs corps. Le Dr Francuz fait référence à sa lignée académique au Dr Cirac : Son mentor, le Dr Norbert Schuch, était chercheur postdoctoral à l'Institut Max Planck, chargé de cours à l'Université technique de Munich avec le Dr Cirac, puis chef de groupe de recherche titulaire à l'Institut Max Planck d'optique quantique de Garching avant de devenir professeur à l'Université de Vienne.
Le Dr Cirac s’est appuyé sur MATLAB pour ses premières implémentations de réseaux de tenseurs. Lui et son équipe d’environ 40 chercheurs continuent de l’utiliser aujourd’hui. « J’utilise principalement MATLAB pour la programmation scientifique », explique-t-il. « MATLAB fonctionne bien pour moi et peut être aussi efficace que les langages compilés lorsqu'il est utilisé correctement. » La reconnaissance de MATLAB comme un outil essentiel dans ce domaine fait écho aux sentiments du Dr Francuz, qui note : « Je ne me considère pas comme un programmeur exceptionnel. Je suis plutôt un physicien qui utilise MATLAB pour réaliser des travaux avec des réseaux de tenseurs qui n’ont jamais été réalisés auparavant. »
Après avoir démontré l’intérêt des réseaux de tenseurs pour l’étude des systèmes quantiques de faible dimension (1D et 2D) et fortement corrélés, le Dr Cirac et son équipe travaillent actuellement à étendre la méthode aux systèmes 3D.
Contraction, différenciation automatique et optimisation du réseau de tenseurs
Lorsque les chercheurs en physique quantique utilisent des réseaux de tenseurs, nous travaillons souvent avec des des systèmes infinis invariants en translation. De tels systèmes s'étendent indéfiniment et ont des propriétés qui sont les mêmes en tout point lorsqu'ils sont décalés (translatés) d'une certaine distance. Cela signifie que l'hamiltonien, un opérateur représentant l'énergie totale du système quantique, présente soit une répétition périodique, soit une uniformité dans tout le système. Ainsi, chaque fois que nous calculons l’un de ces observables, nous devons d’abord contracter le réseau de tenseurs en un élément traitable (Figure 1). Pour ce faire, dans notre workflow, nous utilisons ncon, une fonction MATLAB développée et partagée avec la communauté par Robert NC Pfeifer, Glen Evenbly et leurs collègues. La fonction ncon nous permet de contracter efficacement les réseaux de tenseurs et d'approximer l'environnement infini d'un observable local avec une valeur finie.
Figure 1. Un état |Ψ(A)⟩ dans le réseau carré représenté en B (à droite) est généré en contractant les indices virtuels (noirs) d'un tenseur dans A (à gauche). (Crédit image : Francuz, A., Schuch, N.,& Vanhecke, B. (2025). Stable and efficient differentiation of tensor network algorithms (Différenciation stable et efficace des algorithmes de réseaux de tenseurs). Phys. Rév. Res., 7(1), 013237. American Physical Society. https://doi.org/10.1103/PhysRevResearch.7.013237. Sous licence CC BY 4.0.)
Une fois que nous avons contracté le réseau de tenseurs, qui est représenté par des objets dlarray dans MATLAB, l'étape suivante consiste à utiliser l’AD pour calculer le gradient de l'énergie, qui doit être minimisé lors du calcul de l'état fondamental. Lors de la mise en œuvre de notre approche AD dans MATLAB, nous avons été confronté à trois problèmes critiques avec les implémentations AD existantes : une utilisation élevée de la mémoire, une instabilité dans les calculs de gradient et des inexactitudes dans la rétropropagation des gradients.
Le premier problème était l’utilisation élevée de la mémoire associée à l’AD. Les approches AD génériques nécessitent une mémoire importante pour stocker les objets intermédiaires générés au cours de la procédure de matrice de transfert de coin itérative (CTM) afin de calculer efficacement les observables locaux. (CTM est une méthode itérative utilisée pour approximer la contraction des réseaux de tenseurs bidimensionnels, en particulier dans les états de paires intriquées projetées, ou PEPS.) Bien qu'une approche alternative impliquant la différenciation de l'équation à virgule fixe puisse atténuer ce problème de mémoire, elle introduit des complications liées à la fixation de la jauge. La fixation de jauge garantit la cohérence dans la représentation des tenseurs en résolvant les ambiguïtés, mais sa mise en œuvre fiable est restée difficile à atteindre. Nous avons identifié la cause profonde de ces difficultés et proposé deux méthodes pratiques pour réparer de manière fiable la jauge, résolvant ainsi le problème de mémoire.
Le deuxième problème important était l’instabilité dans le calcul du gradient du SVD, un composant crucial de l’algorithme CTM. Le gradient est mal conditionné et devient indéfini dans les cas de dégénérescences, où plusieurs valeurs singulières sont égales. Ces dégénérescences peuvent déstabiliser les calculs de gradient, car même de petits changements dans l’entrée peuvent provoquer des variations disproportionnées dans les vecteurs singuliers. Pour résoudre ce problème, nous avons découvert et exploité une symétrie de jauge cachée au sein du réseau de tenseurs CTM. Bien que cette approche s’étende au-delà du champ d’application conventionnel d’AD, elle nous a permis de développer une solution stable qui reste compatible avec les frameworks AD.
Enfin, nous avons abordé les inexactitudes dans les équations précédemment utilisées pour la rétropropagation des gradients à travers le SVD tronqué. Ces équations supposaient à tort que le spectre tronqué était nul, omettant un terme essentiel et conduisant à des erreurs importantes. La rétropropagation des gradients, qui implique le calcul de la manière dont les changements de paramètres se propagent à travers une séquence d'opérations, nécessite des calculs de gradient précis pour une optimisation précise. Nous avons dérivé une formulation de gradient corrigée pour le SVD tronqué, tenant compte du spectre tronqué. Cette correction a considérablement amélioré la précision tout en ne nécessitant que des modifications mineures au code AD existant.
Après avoir implémenté les améliorations AD dans MATLAB, nous étions prêts à utiliser les gradients générés par notre implémentation AD dans des tâches d'optimisation, telles que la minimisation de l'énergie pour trouver l'état fondamental des systèmes quantiques. Pour cette partie du workflow, nous utilisons un algorithme Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) à mémoire limitée basé sur la fonction fminunc de Optimization Toolbox™, en passant la fonction personnalisée que nous avons écrite pour calculer le gradient (Figure 2).
Figure 2. Graphique d'optimisation montrant deux gradients différents. L'optimisation se bloque rapidement en utilisant le dégradé de l'AD classique (carrés oranges). L'optimisation converge vers un minimum global en redémarrant l'optimisation en utilisant le gradient de l'implémentation AD améliorée (cercles verts). (Crédit image : Francuz, A., Schuch, N.,& Vanhecke, B. (2025). Stable and efficient differentiation of tensor network algorithms (Différenciation stable et efficace des algorithmes de réseaux de tenseurs). Phys. Rév. Res., 7(1), 013237. American Physical Society. https://doi.org/10.1103/PhysRevResearch.7.013237. Sous licence CC BY 4.0.)
Calcul parallèle avec MATLAB sur le Austrian Scientific Computing
Les diagrammes de phases sont un outil crucial dans l’étude des systèmes quantiques à plusieurs corps car ils fournissent une représentation visuelle des différentes phases (états) d’un système en fonction de divers paramètres, dont le temps. Pour créer des diagrammes de phase, nous devons faire varier un paramètre dans l'hamiltonien sur une certaine plage et calculer l'état fondamental pour chaque valeur de paramètre. Cela nous permet d'identifier les transitions de phase lorsque le système change brusquement de comportement : par exemple, en passant d'un état supraconducteur à un état isolant.
Étant donné que le calcul de l'état fondamental pour de nombreuses valeurs de paramètres de manière séquentielle sur un seul ordinateur portable peut être un processus extrêmement lent (et que les besoins en mémoire sont souvent supérieurs à ceux des ordinateurs portables standard), nous prévoyons d'effectuer ce traitement sur le Austrian Scientific Computing (ASC) à l'aide de MATLAB Parallel Server™. Le ASC abrite les supercalculateurs les plus puissants d'Autriche, notamment le VSC-4, qui compte 790 nœuds totalisant 37 920 cœurs, et le VSC-5, qui compte 710 nœuds totalisant 98 560 cœurs.
Pour commencer, j'ai assisté à un atelier animé par des ingénieurs de MathWorks portant sur le calcul parallèle avec MATLAB et l'utilisation de MATLAB sur les systèmes HPC du ASC. L'exécution de calculs parallèles de l'état fondamental sur le ASC permettra à notre équipe de calculer rapidement les propriétés des systèmes quantiques virtuels que nous pouvons comparer directement aux propriétés des systèmes réels mesurées expérimentalement.
En fait, nous prévoyons actuellement d’utiliser MATLAB Parallel Server sur ASC pour étudier les diagrammes de phase d’un simulateur quantique programmable pouvant fonctionner avec 256 bits quantiques (qubits). L’exploration de ce système et d’autres similaires avec des réseaux de tenseurs 2D est au cœur de nos recherches en cours.
Publié en 2025