Simularea naturii
Urmărește acest videoclip de la Olivia Lanes despre simularea naturii cu calculatoare cuantice, sau deschide videoclipul într-o fereastră separată pe YouTube.
Această lecție folosește conținut din acest tutorial:
Tutorial privind atenuarea erorilor la scară de utilitate cu amplificarea probabilistică a erorilor
Introducere
Una dintre cele mai atrăgătoare aplicații ale calculatoarelor cuantice este capacitatea lor de a simula fenomene naturale. În această lecție, vom explora modul în care calculatoarele cuantice sunt utilizate pentru a rezolva probleme de dinamică cuantică — mai precis, cum ne ajută să înțelegem evoluția în timp a unui sistem cuantic.
Mai întâi, vom arunca o privire generală asupra etapelor implicate în realizarea acestor simulări. Apoi, vom examina un exemplu concret: experimentul prezentat de IBM în 2023, care a demonstrat conceptul de utilitate cuantică. Acest experiment reprezintă un studiu de caz excelent pentru înțelegerea pașilor practici și a implicațiilor simulării dinamicii cuantice cu hardware cuantic real. La final, vei avea o imagine mai clară despre modul în care cercetătorii abordează aceste provocări și de ce simularea cuantică promite atât de mult pentru avansarea înțelegerii noastre despre lumea naturală.
Richard Feynman a susținut o conferință extrem de influentă la Caltech în 1959. Aceasta a fost intitulată celebru „There's Plenty of Room at the Bottom" (Există mult spațiu la bază), o aluzie jucăușă la vastele posibilități neexplorate la scara microscopică. Feynman a argumentat că o mare parte din fizica la niveluri atomice și subatomice rămânea încă de descoperit.
Semnificația conferinței a crescut în anii 1980, pe măsură ce tehnologia a progresat. În această perioadă, Feynman a reluat aceste idei într-o altă conferință importantă la Caltech, prezentând o lucrare intitulată „Simulating Nature with Computers" (Simularea naturii cu calculatoare). Acolo, el a pus o întrebare îndrăzneață: ar putea calculatoarele să realizeze simulări exacte care să reproducă comportamentul naturii la nivel cuantic? Feynman a sugerat că, în loc să ne bazăm pe aproximări grosiere pentru a modela procesele atomice, am putea folosi calculatoare care să valorifice înseși legile mecanicii cuantice — nu doar pentru a modela natura, ci pentru a o emula.
Tocmai acest tip de simulare fizică vom examina în această lecție.
Reamintește-ți această reprezentare grafică a cronologiei introdusă într-un episod anterior. La un capăt al spectrului, vedem probleme care sunt ușor de rezolvat și nu necesită viteza sporită pe care ar putea-o aduce calculul cuantic.
La celălalt capăt se află probleme extrem de dificile care necesită mașini cuantice complet tolerante la defecte — tehnologie care nu este încă disponibilă. Din fericire, se crede că multe probleme de simulare se situează undeva în mijlocul acestei cronologii, în intervalul unde calculatoarele cuantice de astăzi pot fi deja aplicate eficient. Există multe motive să fim entuziasmați și intrigați de această perspectivă, deoarece simularea naturii formează fundamentul pentru o gamă largă de aplicații promițătoare.
Informațiile de mai jos acoperă fluxul general de lucru în simulările naturii și apoi o instanță specifică a fluxului de lucru pentru a reproduce rezultate dintr-un studiu bine cunoscut.
Fluxul general de lucru
Înainte ca cineva să poată aplica calculul cuantic în aceste domenii interesante, este important să înțelegi mai întâi pașii de bază dintr-un flux tipic de simulare:
- Identificarea Hamiltonianului sistemului
- Codificarea Hamiltonianului
- Pregătirea stării
- Evoluția în timp a stării
- Optimizarea Circuit-ului
- Execuția Circuit-ului
- Post-procesare
Procesul începe prin identificarea unui sistem cuantic de interes. Aceasta ajută la determinarea Hamiltonianului care guvernează evoluția sa în timp, precum și o descriere semnificativă a proprietăților sale inițiale, adică starea sa. Apoi, trebuie să selectezi o metodă adecvată pentru a implementa evoluția în timp a acestei stări. Observă că primii patru pași din acest flux de lucru fac parte din etapa de Mapare a cadrului de tipare Qiskit.
După configurarea Circuit-ului de evoluție temporală, etapele următoare implică realizarea experimentului propriu-zis. Aceasta include, de obicei, optimizarea Circuit-ului cuantic care implementează algoritmul de evoluție temporală, rularea Circuit-ului pe hardware cuantic și post-procesarea rezultatelor. Aceștia sunt aceiași pași ca ultimii trei din cadrul de tipare Qiskit.
În continuare, vom discuta ce înseamnă acești pași înainte de a trece la codare.
1. Identificarea Hamiltonianului sistemului
Primul pas esențial în realizarea unui experiment de simulare este identificarea Hamiltonianului care descrie sistemul. În multe cazuri, Hamiltonianul este bine stabilit. Cu toate acestea, îl construim adesea prin sumarea contribuțiilor de energie din părți mai mici ale sistemului. Aceasta este exprimată de obicei ca o sumă de termeni:
unde fiecare termen acționează asupra unuia dintre cele subsisteme locale (precum o singură particulă sau un grup mic de particule) ale Hamiltonianului total . În cazul particulelor elementare indistinguibile, este important să se determine dacă sistemul implică fermioni sau bosoni, unde fermionii respectă Principiul de Excludere Pauli, ceea ce înseamnă că niciun doi fermioni identici nu pot ocupa aceleași stări cuantice, precum electronii. Spre deosebire de fermioni, mai mulți bosoni pot exista în aceeași stare cuantică, iar această diferență afectează statistica sistemului și modul în care acesta trebuie modelat.
În practică, oamenii sunt adesea interesați de sisteme fizice în care elementele sunt presupuse a fi bine separate sau etichetate și, prin urmare, distinguibile, cum ar fi spinii pe o rețea.
Acest sistem constă din spinuri dipol magnetic aranjate pe o rețea, tratate ca particule distinguibile prin numărarea adresei lor. Sistemul este descris de Modelul Ising cu Câmp Transversal, iar Hamiltonianul său este construit din suma a două părți:
Unde primul termen reprezintă energia de interacțiune dintre spinuri vecine. Aici indică faptul că sumăm peste toate perechile de spinuri care sunt direct conectate pe rețea, și sunt matricele Pauli-Z, care reprezintă starea spinurilor la siturile și , iar este constanta de cuplare, care definește intensitatea acestei interacțiuni. Al doilea termen reprezintă influența unui câmp magnetic extern aplicat întregului sistem. Aici este matricea Pauli-X care acționează asupra spinului individual la situl , iar indică intensitatea acestui câmp extern.
2. Codificarea Hamiltonianului
Pasul următor este de a traduce Hamiltonianul într-o formă pe care un calculator cuantic o poate procesa, ceea ce numim codificare. Acest proces de codificare depinde în mod critic de tipul de particule din sisteme: distinguibile sau indistinguibile, și fermioni sau bosoni, dacă particulele sunt indistinguibile.
Dacă ai un sistem cu particule distinguibile, cum ar fi spinuri fixate pe o rețea, pe care le-am examinat simplu mai sus, Hamiltonianul este adesea deja scris într-un limbaj compatibil cu qubiți. Operatorul Pauli-Z, de exemplu, descrie în mod natural un spin sus sau jos, și nu este necesară nicio codificare specială.
Când simulezi particule indistinguibile de fermioni sau bosoni, este necesar să aplici o transformare de codificare. Aceste particule sunt descrise în cadrul unui cadru matematic special numit a doua cuantificare, care urmărește numărul de ocupanță al fiecărei stări cuantice prin introducerea operatorilor de creație și anihilare, unde operatorul de creație adaugă o particulă la starea , iar operatorul de anihilare elimină o particulă din starea . Pe baza acestui cadru de a doua cuantificare, fermionul poate fi transformat prin Bravyi-Kitaev și Jordan-Wigner. Transformarea Jordan-Wigner definește operatorul fermionic de creație
care umple starea cuantică cu un fermion și operatorul fermionic de anihilare care golește un fermion din starea . Poți găsi mai multe detalii ale acestei transformări Jordan-Wigner la Quantum Computing in Practice, episodul 5 - Mapare. Similar, bosonii necesită, de asemenea, propriile metode de codificare, cum ar fi transformarea Holstein-Primakoff, pentru a fi reprezentați prin qubiți.
În ultimă instanță, fie că drumul este direct sau necesită o traducere, scopul este același: de a exprima Hamiltonianul sistemului în forma operatorilor de spin Pauli pe care un calculator cuantic îl poate înțelege și executa.
3. Pregătirea stării
După codificarea Hamiltonianului dorit în setul de Gate-uri al calculatorului cuantic, pasul următor important este să selectezi o stare cuantică inițială adecvată pentru a începe simularea. Alegerea stării inițiale influențează nu numai convergența algoritmilor variaționali, cum ar fi Variational Quantum Eigensolver (VQE), ci afectează și acuratețea și eficiența evoluției temporale și a eșantionării. În esență, starea inițială servește ca punct de plecare pentru calcul, punând bazele pentru extragerea de observabile utile din sistemul cuantic modelat. Ideal, această stare ar trebui să reprezinte o configurație fizic semnificativă a sistemului studiat.
Pentru multe simulări de chimie cuantică, starea Hartree-Fock poate fi un bun punct de plecare. În limbajul celei de-a doua cuantificări, starea Hartree-Fock () este creată prin aplicarea operatorilor de creație () pentru fiecare dintre orbitalele cu cea mai mică energie la starea de vid (), o stare fără electroni.
În plus, un ansatz ușor de pregătit cu o suprapunere semnificativă cu starea de bază reală poate servi ca o stare inițială bună pentru probleme de chimie, cum ar fi găsirea energiei stării de bază.
Mai general, putem scrie o stare arbitrară de qubiți ca o superpoziție de stări de bază computaționale cu coeficienții , satisfăcând condițiile de normalizare. Pregătirea unei astfel de stări poate fi abordată în general prin aplicarea unui operator specific la starea inițială, care prin convenție este de obicei starea standard de bază cu toți zero.
Cu toate acestea, acest proces necesită adesea un număr exponențial de Gate-uri CNOT, ceea ce îl face în general consumator de resurse. Ne concentrăm adesea pe pregătirea stărilor inițiale pentru care cerințele de implementare a resurselor sunt mai modeste. Din acest motiv, ne concentrăm adesea pe pregătirea stărilor inițiale mai puțin complexe. O alegere comună și practică este o stare produs, unde qubiții nu sunt entanglați, și care poate fi pregătită folosind doar operații cu un singur qubit, reducând semnificativ cerințele de resurse ale pregătirii stării și complexitatea. 4. Evoluția în timp a stării
Acum că starea inițială este stabilită, putem în sfârșit începe simularea propriu-zisă — să examinăm cum s-a schimbat starea sistemului în