Méthodes d’interaction de configurations et Monte Carlo quantique

Ce manuscrit se veut révélateur de la démarche qui a guidé mon travail de thèse. Durant les trois ans que j’ai passé à travailler sur le problème de la corrélation électronique, une part importante de mon activité a été de tenter de comprendre cette thématique à travers des approches variées, de faire des liens entre des domaines différents, d’élargir ma culture scientifique et surtout de me construire une certaine intuition. L’idée générale de ce travail est donc guidée par ma compréhension du problème à N-corps quantique, et bien loin d’être exhaustive ou révolutionnaire, elle se veut profondément personnelle. Quant au manuscrit lui même, je préfère tout de suite en donner le “mode d’emploi” afin que le lecteur ne soit pas désorienté. En effet, ce travail étant essentiellement méthodologique et faisant appel à des notions relativement variées, il est assez difficile de savoir à quel moment introduire telle ou telle méthode nécessaire à la compréhension du texte, tout en sachant que beaucoup d’entre elles sont en fait déjà bien connues ou que le fait d’introduire un exposé secondaire, même succinct, au cœur du développement principal d’une idée peut perdre le lecteur. J’ai donc décidé de favoriser la démarche, l’idée, et le rythme. Il sera donc fréquent que je fasse référence à une méthode ou que j’utilise les résultats et concepts clés de celle-ci sans la détailler directement dans le texte. Pour une description plus détaillée le lecteur sera renvoyé à une des annexes qui sont donc inhabituellement nombreuses. Je détaillerai dans le texte principal uniquement les méthodes sur lesquelles j’ai effectivement travaillé lors mon travail de thèse. Une exception sera faite pour les méthodes Quantum Monte Carlo (QMC) qui ne sont pas aussi connues que les méthodes de fonction d’onde dans la communauté de la chimie quantique.

L’objet principal de ma thèse est d’essayer de tirer le meilleur parti de deux approches qui sont traditionnellement séparées, à savoir les méthodes QMC et celles basées sur la fonction d’onde (Wave Function Theory, WFT). Les méthodes de fonction d’onde ont été développées à très grande échelle ces soixante dernières années, bien plus que les méthodes QMC. Je me permets ici de présenter quelques réflexions personnelles sur ce qui pourrait expliquer cela. Une des raisons de l’engouement pour les méthodes WFT dans la communauté de la chimie physique me semble être le fait est qu’elles sont développées dans un cadre mathématique relativement simple, à savoir l’algèbre linéaire dans sa représentation matricielle. Une autre raison (plus fondamentale à mon sens) de l’appropriation de ces méthodes par les chercheurs, est qu’elles facilitent la construction d’outils déductifs permettant de développer des raisonnements pas à pas, et de se faire des représentations opérationnelles des objets mathématiques relativement abstraits qu’on côtoie dans le domaine de la chimie quantique. L’exemple typique d’outil didactique (et pédagogique) des méthodes fonction d’onde est (à mes yeux) la théorie des perturbations mono-référence qui permet de construire hiérarchiquement la fonction d’onde, d’appréhender les méthodes Coupled Cluster (CC), les problèmes de size-consistance des méthodes d’Interaction de configurations (IC), et bien d’autres choses encore.

La méthode CIPSI : théorie et implémentation

L’approche FCI est le guide (le Graal ?) de toute méthode de fonction d’onde, mais comme déjà souligné précemment sa réalisation en pratique n’est que très rarement faisable. Toutes les méthodes de fonction d’onde se basent sur une remarque importante : lorsqu’on choisit un jeu d’orbitales pertinent, la fonction d’onde FCI est en général dominée par quelques déterminants, le reste des déterminants ayant des coefficients petits et une faible contribution à l’énergie. Les méthodes post-Hartree Fock (post-HF) se sont donc construites sur l’idée qu’il est possible de sélectionner un sous-espace de déterminants qui permet d’obtenir une bonne approximation de la fonction d’onde FCI et de son énergie. La plupart de ces méthodes sélectionnent les déterminants sur des critères de degrés d’excitation par rapport à une fonction d’onde de référence (Interaction de Configurations (CI), CC, Interaction de Configurations Multi-Référence (MR-CI)), d’espace orbitalaire (Multi-Configurational Self-Consistent Field (MCSCF)), ou bien les deux (Restricted Active Space Configuration Interaction (RAS-CI), Difference Dedicated Configuration Interaction (DDCI)), mais même à l’intérieur de chacune des classes de déterminants choisis, seulement une petite fraction contribue significativement à la fonction d’onde. Une idée naturelle est donc de sélectionner les déterminants directement en fonction de leurs contributions dans la fonction d’onde de telle sorte à ne diagonaliser qu’une partie de l’hamiltonien, mais qui est la partie qui contient les effets majeurs de la corrélation, qu’elle soit statique ou dynamique. On peut alors traiter les déterminants les plus importants variationnellement (en évitant ainsi tout risque de divergence liée à des quasi-dégénérescences énergétiques) et le reste par perturbation. Comme toujours quand il s’agit d’une idée qui s’impose naturellement, il est difficile de retracer les toutes-premières personnes à son origine. Le fait qu’une fraction extrêmement petite de déterminants contribue à la fonction d’onde d’IC a certainement été signalé par de nombreux auteurs dans les années 1960, on peut citer, par exemple, Claverie et al. (1967)[19], Gershgorn et Shavitt (1968)[20] et Bender et Davidson(1969)[7]. Le fait d’introduire un critère de seuil sur le coefficient perturbatif pour la sélection des déterminants a été introduit par plusieurs chercheurs durant la période 1969-1975. On peut citer les travaux de Whitten et Hackmeyer (1969[21], 1971[22]), ceux de Huron et. al. (1973[8]) et ceux de Buenker et Peyerimhoff à partir de 1974 ([9, 10]). Dans ce travail, l’approche présentée est essentiellement celle développée par Malrieu et coll. sous le nom de méthode CIPSI[8, 16], méthode dont le développement a également été poursuivi en Italie par Persico, Cimiriglia et Angeli[23, 24, 25, 26] (introduction de contributions du troisième ordre ainsi que de techniques diagrammatiques) ainsi qu’en Espagne autour d’Illas[27, 28, 29]. Par la suite, ce type d’approche a été redécouvert à plusieurs occasions, on peut citer par exemple les travaux de Roth et coll. en physique nucléaire[30, 31, 32]. Citons également les travaux du groupe de Wenzel .

Notons que l’idée de sélection qui paraît pourtant très attrayante n’a pas reçu toute l’attention en chimie quantique qu’elle mérite. Pour cela je vois deux raisons principales : i) formellement la méthode CIPSI n’est pas size-consistante, ii) l’algorithme est assez coûteux en nombre d’opérations ; les ordinateurs des années 80 n’étaient pas adaptées à ce type d’approche. Notons qu’un partie importante de mon travail de thèse a consisté à la réécriture from scratch d’un programme d’IC sélectionné determinant-driven extrêmement flexible qui nous a permis de tester les approches CIPSI sur des systèmes de tailles importantes. Un aspect central de l’algorithme CIPSI est la convergence extrêmement rapide en fonction du nombre de déterminants sélectionnés de son énergie variationnelle et perturbative vers la limite FCI. On peut donc voir la méthode CIPSI comme une approcheMR-PT2 qui formellement a de mauvaises propriétés mais qui dans la pratique converge extrêmement vite vers l’énergie FCI et permet donc de traiter des problèmes de tailles importantes.

Aspects numériques pratiques

L’algorithme CIPSI est très différent des autres algorithmes de type fonction d’onde puisqu’il sélectionne les déterminants de manière itérative et sans a priori sur leur degré d’excitation par rapport au déterminant Hartree-Fock (HF). De fait, on ne peut pas connaître à l’avance les déterminants sélectionnés, et les liens entre ces déterminants sont quasiment impossibles à prévoir. Cette remarque est très importante puisque dans les méthodes plus traditionnelles, tous les déterminants ou opérateurs d’excitations d’un sous-espace sont sélectionnés (espace des simples et doubles excitations, espace CAS, etc). L’utilisation d’un espace complet permet d’associer facilement un déterminant ou un opérateur d’excitation à un entier unique correspondant à son indice de colonne ou de ligne dans les matrices. De fait, ces algorithmes sont en général guidés par les intégrales biélectroniques (integral driven): on parcourt la liste des intégrales et on regarde à quels éléments de matrice l’intégrale contribue. Il n’est donc pas nécessaire de comparer les déterminants entre eux. En revanche, l’algorithme CIPSI impose d’avoir une implémentation guidée par les déterminants (determinant-driven), ce qui implique que le calcul de la matrice hamiltonienne se fait en la parcourant élément par élément, engendrant une complexité en O(N² ). Une grande partie des efforts a donc été consacrée à l’implémentation des règles de Slater-Condon de manière efficace, et on peut maintenant calculer le degré d’excitation entre deux déterminants arbitrairement excités dont les électrons se répartissent sur plusieurs centaines d’orbitales en quelques cycles CPU. L’implémentation des règles de Slater-Condon se base sur quelques instructions présentes depuis peu dans les processeurs x86 (popcnt et bsf). Les algorithmes sont détaillés dans le papier donné en fin de document.

La sélection 

La sélection des déterminants est une étape clé dans le programme CIPSI. Lors de ma thèse, nous avons implémenté trois versions du programme, chacune se basant sur une compréhension plus intime des étapes vraiment bloquantes de l’algorithme CIPSI. Lorsqu’on doit sélectionner les déterminants au cours d’une itération k, on doit appliquer H a priori sur toute la fonction d’onde |ψ k i de taille Nk , et s’il existe en moyenne Nperturbateurs par déterminant (Nperturbateurs ≈ n2 occn2 virt), il faut a priori considérer Nk×Nperturbateurs déterminants, ce qui augmente donc très vite à mesure que le nombre de déterminants augmente. La première idée pour alléger les calculs est de supposer que les déterminants ayant un coefficient très petit ont peu de chances de générer par application de H des déterminants intéressants énergétiquement. Dans la pratique on ordonne la fonction d’onde par coefficients décroissants (en valeur absolue), et on introduit un seuil sur la norme de la fonction d’onde de manière à n’appliquer H que sur les déterminants les plus importants : ce sont les générateurs introduit plus haut. En pratique, appliquer H sur 0.99 de la norme de la fonction d’onde suffit en général amplement à obtenir les déterminants perturbateurs importants. Puisque dans la plupart des cas la fonction d’onde est très concentrée sur un très petit nombre de déterminants, cela allège considérablement les calculs sans en altérer la qualité pour autant.

Lorsqu’on génère un déterminant, il faut s’assurer qu’il n’est pas déjà présent dans la fonction d’onde variationnelle, qu’il est unique parmi les perturbateurs, et il faut ensuite calculer son coefficient perturbatif et sa contribution énergétique. Pour s’assurer de l’unicité des déterminants dans les différents espaces, une première initiative (toujours d’actualité dans une des versions du code) a été d’utiliser une structure de données de la bibliothèque standard du langage C++ appelée map.[38] Cette structure de données permet de relier des couples d’éléments clévaleur où chaque clé est unique, et la recherche d’une clé se fait en temps logarithmique grâce à la représentation en arbre des clés. Le type de la clé et de la valeur sont choisis par l’utilisateur (couple entier-flottant, caractère-booléen, etc. . .), et il est nécessaire d’avoir une fonction de comparaison entre clés. En représentant chaque déterminant comme un tableau d’entiers unique, on a pu utiliser les maps pour stocker de manière unique les déterminants de l’espace variationnel ainsi que les déterminants de l’espace des perturbateurs. Une fois H appliqué sur tous les générateurs, on « récolte » les perturbateurs stockés dans la map (en ayant au préalable éliminé les déterminants de la fonction d’onde variationnelle), on calcule leurs contributions perturbatives, on les trie, et on prend tous ceux qui ont une contribution plus grande que η × ǫ où ǫ est la contribution la plus faible de l’itération précédente. De cette manière le seuil de sélection est adapté automatiquement. En pratique, on peut avoir jusqu’à quelques millions de déterminants dans l’espace variationnel, et une dizaine de millions dans la map des perturbateurs. L’utilisation des maps est très efficace sur des systèmes de tailles réduites (NFCI ≈ 10¹²),  mais lorsque la taille de l’espace explose, la structure des maps peut poser différents problèmes. Le premier est qu’on est limité en stockage à quelques millions de perturbateurs. De fait, si le nombre de simples et doubles excitations dépasse la taille de stockage maximale des maps, cela pose un problème de faisabilité des calculs. L’autre problème technique que pose l’utilisation des maps est la parallélisation de l’étape de sélection. L’insertion dans une map nécessite que le processeur qui insère l’élément le fasse avec un verrou, ce qui rend impossible une utilisation efficace des écritures dans les maps en parallèle. De plus, les accès aux éléments des maps ont une latence très importante puisque les éléments ne sont pas stockés physiquement en mémoire de manière contigüe et que la séquence des adresses mémoires n’est pas prévisible par le matériel (hardware prefetchers).

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Introduction générale
1 Méthodes d’Interaction de Configurations totale et sélectionnée
1.1 Introduction
1.2 Hψ = Eψ sur une base de déterminants : l’approche FCI
1.3 La méthode CIPSI : théorie et implémentation
1.3.1 Introduction
1.3.2 Les idées et équations de base
1.3.3 Aspects numériques pratiques
1.4 Applications numériques de la méthode CIPSI
1.4.1 Énergies CIPSI des atomes de B à Ar
1.4.2 La courbe de potentiel de F2
1.4.3 La molécule CuCl2
1.5 Commentaires sur l’approches FCI
1.5.1 Le comment
1.5.2 Dans quel but
2 Méthodes Monte Carlo quantique
2.1 Les méthodes QMC en quelques mots
2.2 La méthode Diffusion Monte Carlo (DMC)
2.2.1 Aux origines du DMC : la formule de Feynman-Kac
2.2.2 Le problème du signe et l’approximation des nœuds fixés
2.3 Petit tour des différents algorithmes FN-DMC
2.3.1 Pure Diffusion Monte Carlo (PDMC)
2.3.2 Diffusion Monte Carlo (DMC)
2.3.3 Reptation Monte Carlo
2.3.4 Stochastic Reconfiguration Monte Carlo (SRMC)
2.3.5 Green’s Function Monte Carlo (GFMC)
2.4 Choix de ΨT et optimisation des paramètres
2.4.1 Choix de la fonction d’essai
2.4.2 Optimisation de la fonction d’onde
2.5 Une vision alternative du FN-DMC
2.5.1 Le FN-DMC interprété comme un facteur de Jastrow
2.5.2 Lien avec les méthodes explicitement corrélées
3 Fixed-Node Diffusion Monte Carlo avec des fonctions d’onde CIPSI
3.1 Introduction
3.2 Premiers tests : l’atome d’oxygène
3.2.1 Les bases cc-pVXZ
3.2.2 La recherche de la meilleure énergie totale
3.3 Les potentiels d’ionisation des atomes : de B à Ar
3.3.1 Introduction
3.3.2 Protocole de calcul
3.3.3 Résultats et analyses
3.4 Études des métaux de transition
3.5 La courbe d’énergie potentielle de F2
3.5.1 Les calculs FN-DMC à Ndets constants
3.5.2 Les calculs FN-DMC à EPT2 constants
3.5.3 Conclusion
4 Théorie des perturbations multi-références
4.1 Introduction
4.2 Théorie des perturbations multi-références
4.2.1 L’approche Rayleigh-Schrödinger pour les cas multi-références
4.2.2 Notions et notations de l’approche EN
4.2.3 Échec de l’approche EN dans le cas multi-référence
4.3 Proposition et implémentation de MRPT2
4.3.1 Version EN et dérivation de la proposition HMZ
4.3.2 Tests numériques du MRPT2 HMZ-EN : F2 et N2
4.3.3 Nouvelle proposition
4.4 Le CISD(SC)2 : correction de size consistance pour le CISD
4.4.1 Introduction
4.4.2 Les idées de bases du CISD(SC)2
4.4.3 Quelques aspects pratiques du CISD(SC)2
4.4.4 Comparaison avec le CCSD
4.5 Version Sélectionnée du CISD(SC)2
4.5.1 Théorie de perturbations pour le CISD(SC)2: l’idée de base
4.5.2 Raffinements : le terme de « feedback »
4.5.3 Tests numériques : F2 et Ne8
4.5.4 Conclusions
5 Conclusion

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *