• Aucun résultat trouvé

4.2 États à produit matriciel (MPS)

4.2.1 Définition des MPS

4.2.1.1 Représentation matricielle

Un MPS de dimension de lienD est un état de n particules à d niveaux, ou qudits, qui s’écrit sous la forme

|Ψi= Xd−1 i1...in=0

Tr

A[1]i1A[2]i2. . . A[n]in

|i1. . . ini (4.3) où

A[k]ik d−1i

k=0 est une famille de matrices complexes de dimensionDk×D˜k, telle queD˜k =Dk+1 et ∀k Dk ≤D.

Notons que tout état pur est un MPS avec D = dn/2, i.e., avec une dimension de lien exponentiellement grande. Généralement, on réserve le terme MPS quand la dimension de lien D est indépendante de la taille du système (D∈ O(1)), voire polynomiale (D ∈poly(n)).

3. Pour plus de détails sur la DMRG comme méthode variationnelle sur les MPS, lire [73].

La dimension de lien Dquantifie le rang des matrices densité réduites et donc l’intrication de l’état. Ainsi, le rang de tout bloc de L particules est D2 et son entropie est bornée par

S(L)≤2 logD. (4.4)

Le plus simple pour comprendre cette relation est d’expliciter le lien entre les MPS et la décompo-sition de Schmidt donnée en annexe A.1.

Les conditions aux frontières imposées sur l’état se reflète dans la dimension des matrices A[1]

et A[n]. Pour des conditions aux frontières ouvertes (open boundary conditions ou OBC), c.à.d. des particules sur une ligne, on a D1 = ˜Dn = 1. Sinon, les conditions aux frontières sont périodiques (periodic boundary conditions ou PBC) car on peut effectuer une permutation circulaire dans la trace et la notion de 1ère particule n’a plus de sens : les particules sont sur un cercle. Un MPS dont toutes les matrices sont identiques est invariant sous translation (translationally invariant ou TI).

4.2.1.2 Exemples de MPS

État GHZ L’état GHZ non-normalisé est |GHZni=|0i⊗n+|1i⊗n Une représentation MPS invariante sous translation est

A0 =

4. Étonnamment, bien que l’état W soit invariant sous translation (et même sous permutation), une représentation PBC semble demander une dimension de lien qui grandit avecn.

4.2.1.3 États à réseaux de tenseurs

Les MPS sont un exemple d’une classe plus générale d’états appelés « états à réseau de tenseurs » (tensor network states). En effet, un MPS est défini par n familles de matrices

A[k]ik d−1i

k=0. On peut penser à cet objet comme à un tenseur de rang 3 A[k]ik

αβ où ik est l’indice physique qui décrit l’état de la particule k et α, β sont des indices correspondant à des degrés de liberté virtuels.

Un état pur, i.e., un vecteur dans l’espace de Hilbert, est décrit par ses coefficients

|ψi= X

i1...in

ci1...in|i1. . . ini (4.8) dans une base de référence. On peut penser aux coefficients comme à un énorme tenseur de rangn. Pour un état quelconque, ce tenseur n’aura pas de structure et sera donc constitué dedn coefficients indépendants. Or, pour des états plus structurés, il peut être possible de décomposer cet énorme tenseur en une collection de plus petits tenseurs. C’est le cas pour les MPS : le tenseur des coefficients se ramène à n tenseurs de rang 3. À l’aide de ces tenseurs, il est possible de reconstruire le grand tenseur des coefficients en contractant les plus petits tenseurs, cf. Fig.4.1.

Représentation schématique des MPS Plutôt que de traîner de longues formules, il est souvent plus pratique de représenter les quantités calculées sur un MPS grâce à un schéma où chaque symbole, typiquement un carré, représente un tenseur et chaque ligne sortante du symbole (ou

« patte ») représente un indice de ce tenseur. Par exemple, il est facile de représenter un état quantique par le tenseur ci1...in de ses coefficients dans la base de calcul, voir éq. (4.8).

Pour un état quelconque, ce tenseur n’a aucune structure. Pour un état produit, ce tenseur se décompose enn tenseurs indépendants. Pour un MPS, ce tenseur se décompose enn tenseurs de rang trois dont l’indice physique prend d valeurs différentes et dont deux indices sont virtuels et prennent D valeurs. Schématiquement, ces classes d’états sont représentés sur la figure 4.1.

Contraction de tenseurs Le calcul d’une quantité physique à partir d’un état à réseau de tenseurs se fera en contractant les tenseurs. Par exemple, la valeur moyenne d’une observable est représentée sur la Fig. 4.3. Schématiquement, la contraction est représentée par la fusion de deux lignes appartenant à des symboles différents (produit matriciel), voire au même symbole (trace).

On peut penser à la contraction de tenseurs par analogie au produit matriciel. Pour le produit

Fi g u r e 4.1Exemple d’états à réseau de tenseurs.

a) État quelconque. b) État produit. c) MPS

C de deux matricesA et B, les coefficients du produit sont obtenus grâce à la formule suivante X

k

AikBkj =Cij (4.9)

qu’il est pratique de réécrire en utilisant la convention d’Einstein (somme implicite sur les indices répétés) comme

AikBkj =Cij. (4.10)

Ainsi, formellement, on identifie l’indice k qui est le 2e indice de A et le 1er de B afin d’obtenir C.

Pour l’usage que nous en ferons dans cette thèse, il suffit de voir les tenseurs comme des objets mathématiques qui généralisent la notion de matrices puisqu’ils possèdent plus de deux indices.

Ainsi, un tenseur A de rang rA possède rA indices et une matrice correspond à un tenseur d’ordre 2. De façon similaire au produit matriciel, on définit la contractionC de deux tenseurs A (de rang rA) et B (de rang rB) suivant l’indice γ comme étant un tenseur C de rang rC =rA+rB−2 dont les entrées sont données par l’identification de l’indice contracté γ et une sommation sur cet

indice. Par exemple, pourrA =rB = 3, on a par exemple

AαβγBδγ =Cαβδ. (4.11)

Ici, l’indice contracté est le troisième indice du tenseur A et le deuxième du tenseur B. Cette contraction est représentée sur la figure 4.2 a).

Fi g u r e 4.2 Exemples de contractions de tenseurs. a) Contraction de l’exemple (4.11) b) Cas particulier de la trace

Une autre contraction possible est de contracter deux indices du même tenseur afin d’obtenir un nouveau tenseur, p.ex.Aαββ =Bα. En particulier, la contraction Aαα est un tenseur d’ordre 0, i.e., un scalaire, qui n’est autre que la trace de A, cf. figure4.2 b).

Notons qu’il est aussi possible de contracter plusieurs indices à la fois. Quitte à définir des super-indices qui regroupent plusieurs indices, toute contraction se ramène au cas d’une contraction simple sur deux tenseurs de rang 2, i.e. à un produit matriciel, de type AαβBβγ =Cαγ où α, γ regroupent les indices non-contractées de A et B et β regroupent les indices contractés entre A et B. Ainsi, le coût numérique d’une contraction revient au coût numérique de multiplier des matrices. L’algorithme naïf5,i.e. le calcul explicite de (4.9) pour des matrices m×n et n×p, se fait en temps O(mnp). Autrement dit, le temps de calcul est proportionnel aux nombre de valeurs que peut prendre les indices non-sommés des tenseurs A et B et au nombre de valeur possible pour l’indice sommé. Ceci permet donc de calculer le coût numérique d’une opération incluant plusieurs contractions de tenseurs, p.ex. le calcul de la valeur moyenne d’une observable comme nous le verrons en4.2.2.

5. La complexité du produit de deux matrices n’est pas connue. Supposons pour simplifier qu’elles soient de taille n×n. L’algorithme naif est enO(n3). Des algorithmes plus sophistiqués ont une complexité moindre, p.ex.

l’algorithme de Strassen en O(nlog27). Toutefois, ces algorithmes sont souvent instables et ne présentent un réel avantage que pour des matrices de très grandes tailles.