• Aucun résultat trouvé

Construction des éléments de la matrice Hamiltonienne

4.3 Discussion et interprétations

5.1.2 Construction des éléments de la matrice Hamiltonienne

A ce stade, nous considérons que les états de Fock ainsi que leur indice κ respectif ont été bien référencés au sein de la liste Lph. Dans ces conditions, la troisième étape de l’approche exacte consiste à construire chaque élément de la matrice exciton-phonon H globale. Pour ce faire, nous ne traitons que le sous-espace à un exciton H(1). En effet, rappelons que le sous-espace à zéro exciton H(0) est déjà sous-espace propre du Hamiltonien H dont nous connaissons toutes les propriétés (cf. Chapitre 3). Modéliser numériquement ce sous-espace ne serait en rien pertinent car seuls des états à un exciton peuvent engendrer des couplages exciton-phonon. Nous pouvons ainsi entièrement nous concentrer sur le sous-espace H(1). Dans le cas concret que nous étudions, la base tronquée d’états phononiques limite la dimension de ce sous-espace comme

dim(H(1)) = NS×(Nph+ NS)!

Nph!NS!

(5.6)

Cette relation montre clairement que le Hamiltonien exciton-phonon global va représenter une matrice de très grande dimension. Pour illustrer concrètement ce fait, prenons un exemple simple : un graphe à NS = 6 sites sur lequel Nph = 9 phonons seraient répartis. Dans ces

conditions, la dimension de la matrice H devient dim(H(1)) = 30030.

c Indices exciton-phonon généraux

Pour construire concrètement la matrice H, nous considérons dans notre approche la base locale excito-phononique. Ce choix n’est pas fait au hasard puisqu’il s’agit de la base dans laquelle nous avions initialement exprimé le Hamiltonien exciton-phonon (cf. Chapitre 3). Dans ce contexte, nous considérons donc des états produit-tensoriels du type

|ν(`, κ)i ≡ |`i ⊗ |κi avec ν(`, κ) ≡ (` − 1) × dim(Hph) + κ (5.7)

Dans le cas présent, chaque état local exciton-phonon |ν(`, κ)i dépend d’un indice ν(`, κ) qui est une fonction des indices phononiques et excitoniques. La manière avec laquelle nous avons ici défini cette indexation peut être expliquée par un simple dessin comme représenté sur la figure 5.1. Nous avons ici illustré le cas d’un graphe comptant NS = 3 sites avec Nph = 3

phonons de manière à ce que la dimension de l’espace phononique soit dim(Hph) = 20.

(...)

Figure 5.1 – Indexation des états excito-phononiques locaux.

Comme le montre cette figure, l’évolution de ν(`, κ) peut se décomposer en régions bien définies. Ici, les 20 premiers pas parcourus par ν(`, κ) représentent l’ensemble des 20 confi- gurations phononiques possibles lorsque l’exciton occupe le site ` = 1. La seconde vingtaine représente l’ensemble des configurations phononiques possibles mais avec cette fois-ci un exci- ton sur le site ` = 2 . . . En d’autres termes, lorsque l’exciton se trouvera sur un site ` donné, la variation du paramètre κ de 1 à dim(Hph) va permettre de balayer tous les états phononiques accessibles.

c Actions des trois contributions hamiltoniennes

En partant de cette indexation des états exciton-phonon locaux, nous pouvons alors construire chaque élément de la matrice exciton-phonon. Pour ce faire, l’idée ici est de consi- dérer très naïvement la matrice H comme une "machine reliant des états". En d’autres termes, si nous donnons en entrée un état exciton-phonon |νi, chacune des trois contributions hamil- toniennes Hex, Hph et ∆H doit agir sur ce même état. En sortie, ces contributions pointeront

tous les états |ν0i avec lesquels |νi est physiquement connecté. L’amplitude de ces interactions doit alors être encodée au sein de chaque élément de la matrice exciton-phonon Hν0ν. Pour

détailler l’action de chacune des trois contributions hamiltoniennes, nous allons considérer ici un état d’entrée |ν(`, κ)i quelconque associé à l’indice ν(`, κ) ≡ (` − 1) × dim Hph+ κ.

I Action de Hph sur |ν(`, κ)i : Le Hamiltonien phononique relie l’état d’entrée à lui-

même. En l’occurrence, cet opérateur ne fait que "compter" le nombre de phonons présents dans l’état de Fock |κi associé à |ν(`, κ)i. Pour encoder cela numériquement, l’idée est d’aller chercher au sein de la liste Lph la forme de l’état |κi associé à l’indice phononique d’entrée

κ. Le nombre de quanta n présents dans cet état représente alors le nombre de fois que l’on

doit ajouter l’amplitude Ω0 à l’élément purement diagonal Hνν de la matrice Hamiltonienne.

I Action de Hex sur |ν(`, κ)i : Le Hamiltonien excitonique n’agit pas sur l’état phono-

nique d’entrée |κi. Cependant, cet opérateur agit de deux façons sur l’état local excitonique d’entrée |`i. D’une part, cet état va être relié à lui même à travers un élément excitonique diagonal h`|Hex|`i = ω`. Numériquement, encoder cette connexion revient à ajouter aux élé- ments diagonaux de la matrice exciton-phonon Hνν l’énergie du qubit local ω`. D’autre part,

Hex va aussi relier l’état |`i à tous les autres états locaux |`0i avec lesquels il partage une

connexion sur le graphe. Ainsi, si l’on pose ν0(`0, κ) ≡ (`0 − 1) × dim Hph + κ les indices décrivant l’ensemble de ces états, l’action de Hex revient à ajouter à chaque élément Hν0ν du

Hamiltonien exciton-phonon la contribution h`0|Hex|`i ≡ Φ`0` (cf. Chapitre 2).

I Action de ∆H sur |ν(`, κ)i : Il s’agit là de la contribution la plus subtile à traiter. En l’occurrence, l’interaction exciton-phonon ne modifie pas l’état excitonique d’entrée |`i. Cependant, cet opérateur relie l’état phononique |κi à deux états présentant ±1 phonon sur le site ` de référence. De la même façon que pour Hph, l’idée de base est ici d’aller chercher au sein de la liste de référence Lphla forme de l’état d’entrée |κi associé à l’indice phononique κ. La

structure de cet état nous renseigne alors sur le nombre n` de phonons présents initialement sur le site `. Pour faire agir ∆H, on ajoute/retranche3 alors un phonon à ce nombre n

`.

A ce stade, l’état phononique d’entrée est modifié pour donner des états |κmodi contenant alors ±1 phonon. Ceci étant, même si nous connaissons la structure physique des états de Fock |κmodi, nous ne connaissons pas les indices phononiques de ces nouveaux états. Pour remédier

à cela, nous devons retourner dans la liste Lph pour cette-fois ci comparer la forme des états

modifiés avec l’ensemble des états de Fock référencés. Une fois la correspondance |κmodi = |κ0i trouvée, nous savons alors que les états phononiques modifiés sont référencés chacun selon un indice κ0 bien défini. Ceci permet de définir précisément des indices exciton-phonon globaux de sortie ν0(`, κ0) associés aux états |ν0(`, κ0)i vers lesquels pointe l’état d’origine |ν(`, κ)i. En partant de ces indices, nous pouvons alors construire les éléments non-diagonaux Hν0ν

du Hamiltonien exciton-phonon. Numériquement, l’action de ∆H revient alors à ajouter une amplitude ∆0

nl+ 1 ou ∆0 √

nl aux éléments Hν0ν en fonction que l’on considère la création

ou l’annihilation d’un phonon sur le site `.

3. Lorsque cela est possible : on ne peut pas par exemple ajouter un phonon à un état qui en contient déjà au total Nph, et de même nous ne pouvons retirer un phonon à un site qui n’en contient pas à l’origine.

CHAPITRE 5. COMPARAISON ENTRE LA THÉORIE P T∗ ET UNE APPROCHE NUMÉRIQUE EXACTE

5.1.3 Calcul des amplitudes de transition effectives

En suivant l’ensemble des étapes énoncées jusqu’à présent, nous arrivons finalement à construire la matrice exciton-phonon H dans la base locale des états |ν(`, κ)i = |`i ⊗ |κi. Pour finaliser notre approche, nous diagonalisons numériquement cette matrice comme

H =

dim(H(1))

X

v=1

Evex-phv ihΨex-phv | (5.8)

Les états |Ψex-phv i sont les états propres de H associés aux énergies propres Ev. Dans notre ap-

proche numérique, la forme des états propres est encodée dans les projections hν(`, κ)|Ψex-phv i effectuées sur la base locale exciton-phonon. A partir de ces informations, nous pouvons introduire l’opérateur d’évolution du système exciton-phonon

e−iHt = dim(H(1)) X v=1 e−iEvt ex-ph v ihΨex-phv | (5.9)

En partant de ces différents éléments, nous pouvons alors calculer numériquement les amplitudes de transition effectives. Pour ce faire, nous nous référons à la formule d’origine (3.65) définie comme G``0(t) ≡ h`| Trph h ρph eiHpht e−iHt i |`0i (5.10)

Rappelons ici que cette relation n’a subi aucune approximation et qu’il s’agit donc d’une équation exacte4. En remplaçant l’opérateur d’évolution par sa forme donnée par (5.9), et en réalisant l’opération de trace partielle sur tous les états de la base phononique tronquée, nous pouvons alors réécrire ces amplitudes comme

G``0(t) = dim(Hph) X κ=1 enκα ˆ Zph dim(H(1)) X v=1 e−i(Ev−nκΩ0)thν(`, κ)|Ψex-ph

v ihΨex-phv |ν(`0, κ)i (5.11) où nous avons introduit l’élément nκ qui représente simplement le nombre de phonons conte- nus dans l’état |κi associé. Par ailleurs, nous avons aussi introduit l’élément ˆZphqui représente

la fonction de partition phononique évaluée sur la base tronquée comme ˆ Zph= dim(Hph) X κ=1 enκα (5.12)

Nous retrouvons ici le paramètre de température α ≡ T /TE avec TE = Ω0/kB(cf. Chapitre 4).

La forme de l’équation (5.11) démontre clairement la nécessité d’utiliser de grandes res- sources informatiques pour évaluer numériquement une amplitude de transition. En effet, pour calculer un seul élément G``0(t) à un instant t donné, nous voyons ici que le nombre de calculs à réaliser est de l’ordre de dim(Hph) × dim(H(1)). Ce qui donne par exemple pour

un graphe avec NS = 6 sites et Nph = 9 phonons un calcul comptant au total près de 150

millions de termes. Ce nombre doit alors être multiplié par le nombre de pas de temps que l’on souhaite réaliser pour étudier la dynamique excitonique en présence de phonons. Tout cela sans compter le temps passé par l’algorithme de diagonalisation pour calculer les valeurs propres et vecteurs propres de la matrice exciton-phonon H de dimension dim(H(1)). Pour résoudre en partie ces problèmes, nous avons optimisé manuellement notre code numérique au moyen du langage de parallélisation OpenMP. Pour ce faire, nous avons réalisé une double optimisation. Premièrement, nous avons parallélisé les calculs réalisés pour chaque pas de temps en distribuant la charge de calcul sur 16 processeurs. Deuxièmement, nous avons uti- lisé le package IntelMKL contenant une routine de diagonalisation pré-parallélisée de sorte à accélérer le temps mis par notre code pour déterminer les états et énergies propres de H. Nos calculs finaux ont été réalisés sur le mésocentre de calcul de Franche-Comté.