"Pensu chì possu dì in modu sicuru chì nimu capisce a meccanica quantistica." - Richard Feynman
U tema di l'informatica quantistica hà sempre affascinatu i scrittori di tecnulugia è i ghjurnalisti. U so putenziale computazionale è a cumplessità li hà datu una certa aura mistica. Troppu spessu, l'articuli di funziunalità è l'infografie descrizanu in dettagliu e diverse prospettive di sta industria, mentre toccu à pocu à a so applicazione pratica: questu pò ingannà u lettore menu attentu.
L'articuli di scienza populari omettenu descrizzioni di sistemi quantistici è facenu dichjarazioni cum'è:
Un bit normale pò esse un 1 o un 0, ma un qubit pò esse un 1 è un 0 à u stessu tempu.
Sè site assai furtunatu (chì ùn sò micca sicuru), vi sarà dettu chì:
U qubit hè in una superposizione trà "1" è "0".
Nisuna di sti spiegazioni parenu plausibile, postu chì avemu da pruvà à furmulà un fenomenu di meccanica quantistica utilizendu una lingua sviluppata in un mondu assai tradiziunale. Per spiegà chjaramente i principii di l'informatica quantistica, hè necessariu di utilizà una altra lingua - matematica.
In questu tutoriale, copreraghju l'arnesi matematichi necessarii per mudele è capisce i sistemi di computazione quantistica, è ancu cumu per illustrà è applicà a logica di l'informatica quantistica. Inoltre, daraghju un esempiu di un algoritmu quantum è vi dicu ciò chì u so vantaghju hè nantu à un urdinatore tradiziunale.
Fararaghju u mo megliu per spiegà tuttu questu in una lingua chjara, ma spergu sempre chì i lettori di questu articulu anu una cunniscenza basica di l'algebra lineale è a logica digitale (l'algebra lineale hè coperta.
Prima, andemu nantu à i principii di a logica digitale. Hè basatu annantu à l'usu di circuiti elettrici per fà calculi. Per fà a nostra descrizzione più astratta, simplificà u statu di u filu elettricu à "1" o "0", chì currisponde à i stati "on" o "off". Arranghjendu i transistori in una certa sequenza, creeremu i cosiddetti elementi logici chì piglianu unu o più valori di signale di input è li cunvertisce in un signalu di output basatu annantu à certe regule di logica booleana.
Porte logiche cumuni è e so tavule di statu
Basatu nantu à e catene di tali elementi basi, ponu esse creati elementi più cumplessi, è basatu nantu à e catene di elementi più cumplessi, pudemu infine, cù un grande gradu di astrazione, aspittà per ottene un analogu di u processatore cintrali.
Cumu l'aghju dettu prima, avemu bisognu di una manera di rapprisintà a logica digitale matematicamente. Prima, intruducemu a logica tradiziunale matematica. Utilizendu l'algebra lineale, i bits classici cù i valori "1" è "0" ponu esse rapprisintati cum'è dui vettori di colonna:
induve sò i numeri di manca
identità | Trasformazione di l'identità |
Negazione | Negazione |
Constant-0 | Calculu di a constante "0" |
Constant-1 | Calculu di a constante "1" |
Basatu nantu à a nostra nova rapprisintazioni pruposta di un pocu, hè abbastanza faciule fà operazioni nantu à u bit currispundenti utilizendu una trasfurmazioni vettoriali:
Prima di passà più, fighjemu u cuncettu
Cù l'aiutu di
Avà chì avemu quasi tutti i cuncetti matematichi necessarii, andemu à a nostra prima porta di logica quantistica. Questu hè l'operatore
Stu operatore pò esse rapprisintatu cum'è u seguente vettore di trasfurmazioni:
Per dimustrà tuttu ciò chì avemu cupertu finu à avà, vi mustraraghju cumu utilizà l'elementu CNOT in parechji bits:
Per sintetizà ciò chì hè digià dettu: in u primu esempiu, decomponemu |10⟩ in parti di u so pruduttu tensoru è utilizate a matrice CNOT per ottene un novu statu currispundente di u pruduttu; poi fatturemu à |11⟩ secondu a tabella di valori CNOT datu prima.
Dunque, avemu ricurdatu di tutte e regule matematiche chì ci aiutanu à capisce l'informatica tradiziunale è i bits ordinali, è pudemu infine passà à l'informatica quantistica muderna è i qubits.
Se avete lettu finu à quì, aghju una bona nutizia per voi: i qubits ponu esse facilmente espressi matematicamente. In generale, se un bit classicu (cbit) pò esse stabilitu à |1⟩ o |0⟩, u qubit hè simplicemente in superposizione è pò esse à tempu |0⟩ è |1⟩ prima di a misurazione. Dopu a misurazione, collapses in |0⟩ o |1⟩. In altri palori, un qubit pò esse rapprisintatu cum'è una cumminazione lineale di |0⟩ è |1⟩ secondu a formula sottu:
induve a₀ и a₁ rapprisentanu, rispettivamente, l'amplitude |0⟩ è |1⟩. Quessi ponu esse pensati cum'è "probabbilità quantistica", chì rapprisentanu a probabilità di un qubit colapsendu in unu di i stati dopu chì hè misuratu, postu chì in a meccanica quantistica un oggettu in superposizione sfonda in unu di i stati dopu esse fissatu. Allargemu sta espressione è uttene u seguente:
Per simplificà a mo spiegazione, questu hè a rapprisentazione chì aghju utilizatu in questu articulu.
Per questu qubit, a chance di colapsà à u valore a₀ dopu a misura hè uguali à |a₀|², è a probabilità di colapsà à u valore a₁ hè uguali à |a₁|². Per esempiu, per u qubit seguente:
a probabilità di cullà in "1" hè uguale à |1/ √2|², o ½, vale à dì 50/50.
Siccomu in u sistema classicu tutte e probabilità anu da aghjunghje à unu (per una distribuzione di probabilità cumpleta), pudemu cuncludi chì i quadrati di i valori assoluti di l'amplitude |0⟩ è |1⟩ anu da aghjunghje à unu. Basatu nantu à sta infurmazione pudemu furmulà l'equazioni seguenti:
Sè vo site familiarizatu cù a trigonometria, vi vede chì sta equazioni currisponde à u teorema di Pitagora (a²+b²=c²), vale à dì, pudemu rapprisintà graficamente i stati pussibuli di u qubit cum'è punti nantu à u circhiu unità, vale à dì:
L'operatori lògichi è l'elementi sò appiicati à i qubits in a listessa manera cum'è in a situazione cù i bits classici - basatu nantu à una trasfurmazioni di matrice. Tutti l'operatori di matrici invertibili chì avemu ricurdatu finu à avà, in particulare CNOT, ponu esse usatu per travaglià cù qubits. Tali operatori di matrice permettenu di utilizà ognuna di l'amplitude di u qubit senza misurà è colapsà. Permettemu di dà un esempiu di utilizà l'operatore di negazione in un qubit:
Prima di cuntinuà, lasciami ricurdà chì i valori di amplitude a₀ è a₁ sò veramente
Tuttavia, per simplificà a spiegazione, ci limiteremu quì à i numeri veri.
Sembra u tempu di discutiri certi elementi lògichi chì anu sensu solu in u cuntestu di l'informatica quantistica.
Unu di l'operatori più impurtanti hè l'"elementu Hadamard": pigghia un pocu in un statu "0" o "1" è u mette in a superposizione adatta cù una probabilità di 50% di colapsà in un "1" o "0". dopu a misurazione.
Avvisu chì ci hè un numeru negativu in u latu inferjuri drittu di l'operatore Hadamard. Questu hè duvuta à u fattu chì u risultatu di l'applicazione di l'operatore dipende da u valore di u signale di input: - |1⟩ o |0⟩, è dunque u calculu hè reversibile.
Un altru puntu impurtante nantu à l'elementu Hadamard hè a so reversibilità, chì significa chì pò piglià un qubit in a superposizione approprita è trasfurmà in |0⟩ o |1⟩.
Questu hè assai impurtante perchè ci dà a capacità di trasfurmà da un statu quantum senza determinà u statu di u qubit - è, per quessa, senza colapsà. Cusì, pudemu strutturà l'informatica quantistica basatu annantu à un principiu deterministicu piuttostu cà un principiu probabilisticu.
L'operatori quantichi chì cuntenenu solu numeri veri sò u so propiu oppostu, cusì pudemu rapprisintà u risultatu d'applicà l'operatore à un qubit cum'è una trasfurmazioni in u circulu unità in a forma di una macchina statale:
Cusì, u qubit, u statu di quale hè prisentatu in u diagramma di sopra, dopu à applicà l'operazione Hadamard, hè trasfurmatu in u statu indicatu da a freccia currispundente. In listessu modu, pudemu custruisce una altra macchina di stati chì illustrarà a trasfurmazioni di un qubit utilizendu l'operatore di negazione cum'è mostratu sopra (cunnisciutu ancu com'è operatore di negazione di Pauli, o inversione di bit), cum'è mostra quì sottu:
Per fà operazioni più cumplesse nantu à u nostru qubit, pudemu incatenate parechji operatori o applicà elementi parechje volte. Esempiu di trasfurmazioni seriale basatu nantu
Vale à dì, se cuminciamu cù u bit |0⟩, applicà una inversione di bit, è dopu una operazione Hadamard, dopu un'altra inversione di bit, è dinò una operazione Hadamard, seguita da una inversione di bit finale, finisci cù u vettore datu da on. u latu drittu di a catena. Stratificando diverse macchine di stati una sopra à l'altru, pudemu principià da |0⟩ è tracciate e frecce culurite currispundenti à ognuna di e trasfurmazioni per capisce cumu tuttu funziona.
Siccomu avemu ghjuntu finu à quì, hè ora di cunsiderà unu di i tipi di algoritmi quantum, à dì -
Imaginemu chì avete una scatula nera chì cuntene una funzione / operatore nantu à un bit (ricurdate - cù un bit, solu quattru operazioni ponu esse realizati: cunversione d'identità, negazione, valutazione di a constante "0" è valutazione di a constante "1". "). Chì hè esattamente a funzione realizata in a casella? Ùn sapete micca quale, ma pudete passà per tante varianti di i valori di input chì vulete è valutà i risultati di output.
Quanti inputs è outputs duvete passà à traversu a scatula negra per capisce quale funzione hè stata aduprata? Pensate à questu per un secondu.
In u casu di un urdinatore classicu, avete bisognu di fà 2 dumande per determinà a funzione à utilizà. Per esempiu, se l'input "1" produce un output "0", diventa chjaru chì sia a funzione di calculà a constante "0" o a funzione di negazione hè aduprata, dopu à quale avete da cambià u valore di u signale di input. à "0" è vede ciò chì succede à a surtita.
In u casu di un computer quantisticu, duie dumande saranu ancu richieste, postu chì avete sempre bisognu di dui valori di output differenti per definisce precisamente a funzione da applicà à u valore di input. In ogni casu, s'è vo riformulate a quistione un pocu, risulta chì l'urdinatori quantistici anu sempre un vantaghju seriu: se vulete sapè s'ellu a funzione utilizata hè custante o variabile, l'informatica quantistica avaristi u vantaghju.
A funzione utilizata in a casella hè variabile se i valori diffirenti di u signale di input producenu risultati diffirenti à l'output (per esempiu, a cunversione di l'identità è l'inversione di bit), è se u valore di output ùn cambia micca indipendentemente da u valore di input, allora u A funzione hè custante (per esempiu, calculà una constante "1" o calculate a constant "0").
Utilizendu un algoritmu quantum, pudete stabilisce se una funzione in una casella negra hè custante o variabile basatu annantu à una sola dumanda. Ma prima di guardà cumu fà questu in detail, avemu bisognu di truvà un modu per strutturà ognuna di queste funzioni in un computer quantum. Siccomu ogni operatore quantum deve esse invertibile, immediatamente facemu un prublema: e funzioni per calculà e custanti "1" è "0" ùn sò micca.
Una suluzione cumuna aduprata in l'informatica quantistica hè di aghjunghje un qubit di output extra chì torna qualsiasi valore di input chì a funzione riceve.
Nanzu: | Dopu: |
In questu modu, pudemu determinà i valori di input solu nantu à u valore di output, è a funzione diventa invertibile. A struttura di i circuiti quantum crea a necessità di un bit di input supplementu. Per u scopu di sviluppà l'operatori currispondenti, assumeremu chì u qubit di input supplementu hè stabilitu à |0⟩.
Utilizendu a stessa rapprisintazioni di u circuitu quantum chì avemu usatu prima, vedemu cumu ognunu di i quattru elementi (trasformazione di l'identità, negazione, valutazione di a constante "0" è valutazione di a constante "1") pò esse implementatu cù operatori quantum.
Per esempiu, questu hè cumu pudete implementà a funzione per calculà a constante "0":
Calculu di a custante "0":
Quì ùn avemu micca bisognu di operatori. U primu qubit di input (chì avemu presumitu per esse |0⟩) torna cù u listessu valore, è u sicondu valore di input torna stessu - cum'è di solitu.
Cù a funzione per calculà a constante "1" a situazione hè un pocu sfarente:
Calculu di a custante "1":
Siccomu avemu assumatu chì u primu qubit di input hè sempre stabilitu à |0⟩, u risultatu d'applicà l'operatore d'inversione di bit hè chì sempre pruduce un unu à l'output. È cum'è solitu, u sicondu qubit dà u so propiu valore à a pruduzzioni.
Quandu cartografia l'operatore di trasfurmazioni di l'identità, u compitu cumencia à diventà più cumplicatu. Eccu cumu fà:
Transformazione identica:
U simbulu utilizatu quì denota l'elementu CNOT: a linea superiore denota u bit di cuntrollu, è a linea di fondu denota u bit di cuntrollu. Permettemu di ricurdà chì quandu si usa l'operatore CNOT, u valore di u bit di cuntrollu cambia se u bit di cuntrollu hè uguale à |1⟩, ma resta invariatu se u bit di cuntrollu hè uguale à |0⟩. Siccomu assumemu chì u valore di a linea superiore hè sempre uguale à |0⟩, u so valore hè sempre attribuitu à a linea di fondu.
Procedemu in una manera simile cù l'operatore di negazione:
Negazione:
Simplicemu inverte u bit à a fine di a linea di output.
Avà chì avemu avutu quella cunniscenza preliminare fora di a strada, fighjemu i vantaghji specifichi di un computer quantisticu annantu à un urdinatore tradiziunale quandu si tratta di determinà a custanza o a variabilità di una funzione oculta in una scatula negra utilizendu una sola dumanda.
Per risolve stu prublema cù l'informatica quantistica in una sola dumanda, hè necessariu di mette i qubits di input in una superposizione prima di passà à a funzione, cum'è mostra quì sottu:
L'elementu Hadamard hè riapplicatu à u risultatu di a funzione per rompe i qubits da a superposizione è rende l'algoritmu deterministicu. Cuminciamu u sistema in u statu |00⟩ è, per ragioni chì spiegheraghju in pocu tempu, uttene u risultatu |11⟩ se a funzione applicata hè custante. Se a funzione in a scatula negra hè variabile, dopu a misurazione u sistema torna u risultatu |01⟩.
Per capisce u restu di l'articulu, fighjemu l'illustrazione chì aghju dimustratu prima:
Utilizendu l'operatore d'inversione di bit è dopu applicà l'elementu Hadamard à i dui valori di input uguali à |0⟩, assicuremu chì sò tradotti in a stessa superposizione di |0⟩ è |1⟩, cum'è seguita:
Utilizendu l'esempiu di passà stu valore à una funzione di scatula nera, hè faciule di dimustrà chì e duie funzioni di valore custante producanu |11⟩.
Calculu di a custante "0":
In listessu modu, vedemu chì a funzione per calculà a custante "1" pruduce ancu |11⟩ cum'è output, vale à dì:
Calculu di a custante "1":
Nota chì l'output serà |1⟩, postu chì -1² = 1.
Per u listessu principiu, pudemu pruvà chì quandu si usanu e duie funzioni variabili, avemu sempre |01⟩ à l'output (furnì avemu aduprà u stessu metudu), ancu s'è tuttu hè un pocu più cumplicatu.
Transformazione identica:
Siccomu CNOT hè un operatore di dui qubit, ùn pò micca esse rapprisintatu cum'è una macchina di stati simplici, è per quessa hè necessariu di definisce dui signali di output basatu nantu à u pruduttu tensoru di i dui qubits d'ingressu è a multiplicazione da a matrice CNOT cum'è descritta prima:
Cù stu metudu pudemu ancu cunfirmà chì u valore di output |01⟩ hè ricevutu se a funzione di negazione hè oculta in a casella negra:
Negazione:
Cusì, avemu appena dimustratu una situazione in quale un computer quantisticu hè chjaramente più efficau cà un computer cunvinziunali.
Chì avete?
Suggeriu chì finiscemu quì. Avemu digià fattu un bellu travagliu. Se avete capitu tuttu ciò chì aghju cupertu, pensu chì avà avete una bona cunniscenza di i principii di l'informatica quantistica è a logica quantistica, è perchè l'algoritmi quantistici ponu esse più efficaci di l'informatica tradiziunale in certe situazioni.
A mo descrizzione ùn pò micca esse chjamata una guida cumpleta per l'informatica quantistica è l'algoritmi - piuttostu, hè una breve introduzione à a matematica è a notazione, pensata per dissipà l'idee di i lettori nantu à u sughjettu impostu da fonti di scienza populari (seriamente, assai ùn ponu micca capisce veramente). a situazione!). Ùn aghju micca u tempu di tuccà assai temi impurtanti, cum'è
Se vulete sistematizà è strutturate a vostra cunniscenza nantu à i computer quantistici, forti Vi cunsigliu di leghje
Source: www.habr.com