Teleportare cuantică
Pentru acest modul Qiskit in Classrooms, studenții trebuie să aibă un mediu Python funcțional cu următoarele pachete instalate:
qiskitv2.1.0 sau mai nouqiskit-ibm-runtimev0.40.1 sau mai nouqiskit-aerv0.17.0 sau mai nouqiskit.visualizationnumpypylatexenc
Pentru a configura și instala pachetele de mai sus, consultă ghidul Instalează Qiskit. Pentru a rula joburi pe calculatoare cuantice reale, studenții vor trebui să își creeze un cont IBM Quantum® urmând pașii din ghidul Configurează-ți contul IBM Cloud.
Acest modul a fost testat și a utilizat 14 secunde de timp QPU. Aceasta este doar o estimare. Utilizarea ta reală poate varia.
# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-aer qiskit-ibm-runtime
# Uncomment and modify this line as needed to install dependencies
#!pip install 'qiskit>=2.1.0' 'qiskit-ibm-runtime>=0.40.1' 'qiskit-aer>=0.17.0' 'numpy' 'pylatexenc'
Urmărește prezentarea modulului realizată de Dr. Katie McCormick mai jos sau apasă aici pentru a o viziona pe YouTube.
Introducere și context
Teleportarea cuantică este o tehnică din fizica cuantică ce permite transferul informației cuantice dintr-o locație în alta fără a deplasa fizic particulele. Spre deosebire de conceptul de teleportare din science-fiction, acest proces nu implică transportul materiei. În schimb, se bazează pe principiul entanglementului cuantic, prin care două particule devin legate indiferent de distanță. Printr-o serie de măsurători precise și comunicare clasică, starea cuantică a unei particule poate fi recreată într-o altă particulă aflată la distanță, „teleportând" efectiv informația cuantică. În acest modul, vom vedea cum funcționează acest lucru din punct de vedere matematic, iar apoi vom implementa teleportarea cuantică pe un calculator cuantic real. Introducerea de față va fi scurtă; pentru mai mult context despre informația cuantică și explicații suplimentare despre teleportare, îți recomandăm cursul lui John Watrous despre Bazele informației cuantice, și în special secțiunea despre Teleportare.
Biții clasici pot fi în stările 0 sau 1. Biții cuantici (qubiții) pot fi în stări cuantice notate și , dar și combinații liniare ale acestor stări, numite „superpozitii", de forma , cu și Deși stările pot exista în această superpozitie, o măsurătoare a stării o va „colaps a" fie în , fie în . Parametrii și sunt legați de probabilitatea fiecărui rezultat al măsurătorii conform
De unde și constrângerea că
O altă caracteristică esențială este că qubiții pot fi „entanglați", ceea ce înseamnă că măsurătoarea unui qubit poate influența rezultatul măsurătorii unui alt qubit entanglat. A înțelege în ce fel entanglementul diferă de simplele corelații clasice este ceva mai dificil. Să explicăm mai întâi notația noastră. Considerăm doi qubiți aparținând prietenei 0 (Alice) și prietenului 1 (Bob), fiecare în starea
sau
uneori prescurtat simplu ca
Observă că Qubit-ul cu numărul (sau litera) cel mai mic se află cel mai la dreapta. Aceasta este o convenție numită notație „little-endian", folosită în tot Qiskit. Dacă starea cu doi qubiți a celor doi prieteni este și aceștia măsoară starea qubiților lor respectivi, fiecare va găsi un 0. Similar, dacă qubiții ar fi în starea , fiecare dintre măsurătorile lor ar produce un 1. Acest lucru nu diferă de cazul clasic. Totuși, în calculul cuantic, putem combina aceasta cu superpozitia pentru a obține stări de forma
Într-o stare ca aceasta, dacă qubiții lui Alice și Bob sunt în starea 0 sau 1 nu se știe încă, ba chiar nu este determinat de natură, și totuși știm că vor măsura aceeași stare pentru qubit-ul lor. De exemplu, dacă Bob măsoară qubit-ul său și obține starea , singurul mod în care se poate întâmpla asta este dacă măsurătoarea a colaps at starea cu doi qubiți la una din cele două stări posibile, anume la . Aceasta lasă qubit-ul lui Alice tot în starea .
Entanglementul qubiților în acest fel nu impune ca qubiții să rămână fizic aproape unul de celălalt. Cu alte cuvinte, am putea entangla qubiți, apoi să îi separăm la o distanță mare, și să folosim entanglementul lor pentru a transmite informații. O stare entanglată ca cea de mai sus este o unitate de bază a entanglementului și este uneori numită „e-bit" — un singur bit de entanglement. Acești e-biți pot fi gândiți ca resurse în comunicarea cuantică, deoarece fiecare e-bit partajat între parteneri aflați la distanță poate fi utilizat, așa cum schițăm aici, pentru a muta informația dintr-o locație în alta.
Primul gând al multor persoane care aud despre asta pentru prima dată se referă la încălcarea relativității: putem folosi asta pentru a transmite informații mai repede decât lumina? Nu ezita să chestionezi și să explorezi regulile științifice, dar din păcate asta nu ne va permite să trimitem informații mai repede decât lumina, din motive care vor deveni clare pe parcursul acestui modul. Spoiler: uimitor, NU este din cauza vitezei cu care se propagă acest colaps, care pare să se întâmple mai repede decât lumina [1]. Pornim cu doi colaboratori, Alice și Bob, care se află inițial în același loc și pot lucra împreună pe aceiași qubiți. Acești colaboratori vor entangla qubiții lor. Apoi se vor separa în două locații geografice diferite, fiecare luând qubiții respectivi cu ei. Alice va obține apoi informație cuantică pe un nou Qubit Q. Nu facem nicio presupunere despre informația de pe Q. Starea lui Q ar putea fi un secret necunoscut lui Alice; ar putea fi necunoscut tuturor. Dar Alice primește sarcina de a transfera informația de pe Q lui Bob. Ea va face asta folosind teleportarea cuantică.
Pentru a realiza acest lucru, va trebui să cunoaștem câteva operații cuantice sau „gate-uri".
Operatori cuantici (gate-uri)
Poți sări peste această secțiune dacă ești deja familiar cu gate-urile cuantice. Dacă vrei să înțelegi mai bine aceste gate-uri, consultă Bazele informației cuantice, în special primele două lecții, pe IBM Quantum Learning.
Pentru acest protocol de teleportare vom folosi în principal două tipuri de gate-uri cuantice: gate-ul Hadamard și gate-ul CNOT. Câteva altele vor juca un rol mai mic: gate-ul , gate-ul și gate-ul SWAP.
Acest modul poate fi parcurs cu cunoștințe de algebră liniară foarte limitate, dar uneori vizualizarea gate-urilor mecanicii cuantice cu ajutorul matricelor și vectorilor poate fi utilă. Prin urmare, prezentăm aici formele matriceale/vectoriale ale gate-urilor/stărilor cuantice.
Stările pe care le-am prezentat deja sunt alese (parțial prin convenție și parțial prin constrângeri) să aibă forme vectoriale:
În acest fel, o stare arbitrară poate fi scrisă ca
Există o anumită libertate în modul de extindere a notației la stări cu mai mulți qubiți, dar alegerea de mai jos este destul de standard:
Având în minte această alegere a notației vectoriale, putem introduce gate-urile cuantice de care avem nevoie, efectele lor asupra stărilor cuantice și formele lor matriceale.
Gate-ul H Hadamard: Creează o stare de superpozitie. Gate cu un singur Qubit.
Un Circuit cu un gate Hadamard se construiește astfel:
from qiskit import QuantumCircuit
qc = QuantumCircuit(1)
qc.h(0)
qc.draw("mpl")
Gate-ul CNOT Controlled-NOT: Acest gate folosește doi qubiți: un control și o țintă. Verifică starea unui qubit de control, care nu se modifică. Dar dacă qubit-ul de control este în starea , gate-ul schimbă starea qubit-ului țintă; dacă starea qubit-ului de control este , nu se face nicio modificare. În notația de mai jos, presupunem că qubit-ul (cel mai din dreapta) este controlul, iar qubit-ul (cel mai din stânga) este ținta. Mai jos, notația folosită este