Grupul de renormalizare al matricii densitate (DMRG) este o tehnică numerică concepută pentru a obține cu mare precizie fizica de joasă energie a . Algoritmul DMRG încearcă să găsească funcția de undă de cu energia minimă a unui hamiltonian. A fost inventat în 1992 de și este în prezent cea mai eficientă metodă pentru sistemele unidimensionale.
Istorie Prima aplicație a DMRG, realizată de și Reinhard Noack, a fost determinarea spectrului unui model de tight-binding unidimensional, care este versiunea discretă pe rețea a unei particule într-o cutie unidimensionale; acest model fusese propus de Kenneth G. Wilson drept test pentru orice nouă metodă de , deoarece toate eșuaseră în rezolvarea acestei probleme simple. DMRG a depășit problemele metodelor anterioare de grup de renormalizare prin conectarea a două blocuri cu cele două noduri din mijloc, în loc să adauge un singur nod la un bloc la fiecare pas, precum și prin identificarea stărilor cele mai importante ce trebuie păstrate la sfârșitul fiecărui pas folosind valorile proprii ale matricii densitate, nu valorile proprii de energie. După succesul obținut pentru acest model-jucărie, metoda DMRG a fost aplicată cu succes modelului Heisenberg cuantic.
Principiu Principala problemă a este faptul că spațiul Hilbert crește exponențial cu dimensiunea sistemului. Cu alte cuvinte, dacă se consideră o rețea având la fiecare nod un spațiu Hilbert de dimensiune , atunci spațiul Hilbert total va avea dimensiunea , unde este numărul de noduri ale rețelei. De exemplu, un lanț de de lungime L are 2L grade de libertate. DMRG este o metodă , variațională, care reduce gradele de libertate efective la cele mai importante pentru o stare-țintă. Starea de interes cel mai frecvent este starea fundamentală.
După un ciclu de inițializare, metoda împarte sistemul în două subsisteme, sau blocuri, care nu trebuie să aibă dimensiuni egale, și două noduri între ele. Pentru fiecare bloc a fost ales, în faza de inițializare, un set de stări reprezentative. Ansamblul format din blocul stâng + două noduri + blocul drept este cunoscut drept superbloc. Se poate găsi apoi o candidată pentru starea fundamentală a superblocului, care este o versiune redusă a sistemului complet. Această aproximare poate avea inițial o precizie modestă, dar metoda este iterativă și se îmbunătățește prin pașii următori. dreapta|miniatura|300x300px|Descompunerea sistemului în blocuri stâng și drept, conform DMRG. Starea fundamentală candidată astfel obținută este proiectată în corespunzător fiecărui bloc cu ajutorul unei matrice densitate, de unde și numele metodei. Astfel, stările relevante pentru fiecare bloc sunt actualizate.
Unul dintre blocuri crește apoi pe seama celuilalt, iar procedura se repetă. Când blocul aflat în creștere atinge dimensiunea maximă, celălalt începe la rândul său să crească. De fiecare dată când se revine la situația inițială de dimensiuni egale, se spune că a fost completată o măturare (sweep). În mod normal, câteva măturări sunt suficiente pentru a obține o precizie de ordinul unei părți din 1010 pentru o rețea unidimensională. dreapta|miniatura|300x300px|Măturarea DMRG.
Ghid de implementare O implementare practică a algoritmului DMRG este o sarcină amplă. Câteva dintre principalele artificii computaționale sunt următoarele:
Deoarece dimensiunea hamiltonianului renormalizat este de obicei de ordinul câtorva mii sau zeci de mii, iar starea proprie căutată este doar starea fundamentală, starea fundamentală a superblocului se obține printr-un algoritm iterativ, cum este de diagonalizare a matricelor. O altă opțiune este , mai ales atunci când se lucrează cu matrici nehermitice. Algoritmul Lanczos pornește de obicei de la cea mai bună aproximare disponibilă a soluției. Dacă nu este disponibilă nicio aproximație, se alege un vector aleatoriu. În DMRG, starea fundamentală obținută într-un anumit pas DMRG, transformată în mod adecvat, reprezintă o aproximație rezonabilă și funcționează semnificativ mai bine decât un vector de pornire aleatoriu la pasul următor. În sistemele cu simetrii, pot exista numere cuantice conservate, precum spinul total într-un model Heisenberg. Este convenabil să se găsească starea fundamentală în interiorul fiecărui sector în care este împărțit spațiul Hilbert.
Aplicații DMRG a fost aplicat cu succes pentru a obține proprietățile de joasă energie ale lanțurilor de spin: model Ising în câmp transversal, modelul Heisenberg etc., sisteme fermionice precum , probleme cu impurități precum , sisteme de bosoni și fizica punctelor cuantice cuplate la . Metoda a fost extinsă și pentru a funcționa pe grafuri de tip arbore și și-a găsit aplicații în studiul dendrimerilor. Pentru sisteme bidimensionale în care una dintre dimensiuni este mult mai mare decât cealaltă, DMRG este de asemenea precisă și s-a dovedit utilă în studiul sistemelor de tip scară.
Metoda a fost extinsă și pentru studiul fizicii statistice de echilibru în 2D și pentru analiza fenomenelor de neechilibru în 1D.
DMRG a fost aplicată și în domeniul chimiei cuantice pentru studiul sistemelor puternic corelate.
Exemplu: modelul Heisenberg cuantic Să considerăm un algoritm DMRG „infinit” pentru lanțul antiferomagnetic Heisenberg cuantic cu . Rețeta poate fi aplicată oricărei rețele unidimensionale invariante la translație.
DMRG este o tehnică de deoarece oferă o truncare eficientă a spațiului Hilbert al sistemelor cuantice unidimensionale.
Punct de plecare Pentru a simula un lanț infinit, se pornește cu patru noduri. Primul este nodul bloc, ultimul este nodul blocului-univers, iar celelalte două sunt noduri adăugate; cel din dreapta este adăugat blocului-univers, iar celălalt nodului bloc.
Spațiul Hilbert pentru un singur nod este , cu baza . În această bază, operatorii de spin sunt , și pentru nodul individual. Pentru fiecare bloc, pentru cele două blocuri și pentru cele două noduri, există propriul spațiu Hilbert , propria bază () și propriii operatori unde
bloc: , , , , , nod stâng: , , , , nod drept: , , , , univers: , , , , ,
În punctul de pornire, toate cele patru spații Hilbert sunt echivalente cu , toți operatorii de spin sunt echivalenți cu , și , iar . În iterațiile următoare, acest lucru mai rămâne valabil doar pentru nodurile stâng și drept.
Pasul 1: Formarea matricii hamiltonianului pentru superbloc Ingredientele sunt cei patru operatori ai blocului și cei patru operatori ai blocului-univers, care la prima iterație sunt matrici matriciale , cei trei operatori de spin ai nodului stâng și cei trei operatori de spin ai nodului drept, care sunt întotdeauna matrici . Matricea hamiltonianului superblocului (lanțul), care la prima iterație are doar patru noduri, este construită din acești operatori. În modelul antiferomagnetic Heisenberg cu , hamiltonianul este:
Acești operatori aparțin spațiului stărilor superblocului: , iar baza este . De exemplu (convenție):
Hamiltonianul în forma DMRG este (se ia ):
Operatorii sunt matrici de dimensiune , unde , de exemplu:
Pasul 2: Diagonalizarea hamiltonianului superblocului În acest punct trebuie aleasă starea proprie a hamiltonianului pentru care se calculează unele ; aceasta este starea-țintă. La început se poate alege starea fundamentală și se poate folosi un algoritm avansat pentru a o găsi; unul dintre acestea este descris în:
The Iterative Calculation of a Few of the Lowest Eigenvalues and Corresponding Eigenvectors of Large Real-Symmetric Matrices, ; 17, 87-94 (1975)
Acest pas este partea cea mai consumatoare de timp a algoritmului.
Dacă este starea-țintă, ale diverșilor operatori pot fi măsurate în acest punct folosind .
Pasul 3: Reducerea matricii densitate Se formează matricea densitate redusă pentru primul sistem de două blocuri, blocul și nodul stâng. Prin definiție, aceasta este matricea :
Se și se formează matricea de dimensiune , ale cărei linii sunt cei vectori proprii asociați celor mai mari valori proprii ale lui . Astfel, este formată din cele mai semnificative stări proprii ale matricii densitate reduse. Alegerea lui se face urmărind parametrul : .
Pasul 4: Noi operatori pentru bloc și bloc-univers Se formează reprezentările matriciale ale operatorilor pentru sistemul compus din bloc și nodul stâng, respectiv pentru sistemul compus din nodul drept și blocul-univers, de exemplu:
Apoi se formează reprezentările matriciale ale noilor operatori ai blocului și ai blocului-univers; se formează un nou bloc prin schimbarea bazei cu transformarea , de exemplu: În acest punct, iterația se încheie și algoritmul revine la pasul 1.
Algoritmul se oprește cu succes atunci când observabila converge către o anumită valoare.
Ansatz-ul produsului matricial Succesul DMRG pentru sistemele 1D este legat de faptul că este o metodă variațională în spațiul (MPS). Acestea sunt stări de forma
unde sunt valorile, de exemplu, ale componentei z a spinului într-un , iar sunt matrici de dimensiune arbitrară . Când , reprezentarea devine exactă.
În aplicațiile de chimie cuantică, reprezintă cele patru posibilități ale proiecției numărului cuantic de spin pentru cei doi electroni care pot ocupa un singur orbital, astfel încât , unde prima (a doua) componentă a acestor keturi corespunde electronului cu spin în sus (în jos). În chimia cuantică, (pentru un anumit ) și (pentru un anumit ) sunt alese în mod tradițional ca matrice-linie și, respectiv, matrice-coloană. În acest fel, rezultatul lui este o valoare scalară și operația de urmă nu mai este necesară. este numărul de noduri (în esență, orbitalii) utilizate în simulare.
Matricile din ansatz-ul MPS nu sunt unice; se poate, de exemplu, insera la mijlocul lui , apoi se definește și , iar starea rămâne neschimbată. Această libertate de ecartament este utilizată pentru a transforma matricile într-o formă canonică. Există trei tipuri de formă canonică: (1) forma normalizată la stânga, când
pentru orice , (2) forma normalizată la dreapta, când
pentru orice , și (3) forma canonică mixtă, când atât matrici normalizate la stânga, cât și matrici normalizate la dreapta coexistă printre cele matrici din ansatz-ul MPS de mai sus.
Scopul calculului DMRG este atunci să rezolve elementele fiecăreia dintre matricile . În acest scop au fost concepuți așa-numiții algoritmi cu un nod și cu două noduri. În algoritmul cu un nod, la un moment dat este optimizată doar o singură matrice (un singur nod). Algoritmul cu două noduri înseamnă pur și simplu că două matrici sunt mai întâi contractate (înmulțite) într-o singură matrice, iar apoi sunt optimizate elementele acesteia. Algoritmul cu două noduri a fost propus deoarece algoritmul cu un nod este mult mai predispus să rămână blocat într-un minim local. A avea MPS-ul într-una dintre formele canonice de mai sus are avantajul de a face calculul mai favorabil, conducând la o problemă obișnuită de valori proprii. Fără canonizare, ar trebui tratată o problemă generalizată de valori proprii.
Extensii În 2004, a fost dezvoltată metoda decimării blocurilor cu evoluție în timp pentru a implementa evoluția în timp real a stărilor produs matricial. Ideea se bazează pe simularea clasică a unui calculator cuantic. Ulterior, a fost concepută o nouă metodă pentru a calcula evoluția în timp real în cadrul formalismului DMRG, bazată pe metodele Runge–Kutta.
În ultimii ani au fost propuse și extensii ale definiției stărilor produs matricial și ale metodelor DMRG pentru 2D și 3D.
Software conex The Matrix Product Toolkit: Un set gratuit GPL de instrumente pentru manipularea stărilor produselor matriceale finite și infinite, scrise în C++ Uni10: o bibliotecă care implementează numeroși algoritmi rețea tensorial (DMRG, TEBD, MERA, PEPS ...) în C++ Powder with Power: o distribuție gratuită de cod DMRG dependent de timp scris în Fortran ()