Demisztifikáló kvantumkapuk – Egyszerre egy kvubit

(Írtam egy bevezetőt a kvantumszámításról, amely itt található. Ha teljesen új vagy a területen, jobb lesz, ha ott kezded.)

Ha a kvantumszámítástechnikába akarsz belevágni, nincs más út: el kell sajátítanod a kvantumkapu felhős fogalmát. Mint mindent a kvantumszámítástechnikában, nem is beszélve a kvantummechanikáról, a kvantumkapukat is a kvantummisztériumot tükröző szakzsargon és mátrixmatematika ismeretlen ködébe burkolja. Ebben a bejegyzésben az a célom, hogy lehámozzak néhány réteget erről a rejtélyről. De megkímélem önöket a feszültségtől: senki sem tud teljesen megszabadulni tőle. Legalábbis 2018-ban nem. Ma csak annyit tehetünk, hogy feltárjuk a klasszikus kapuk és a kvantumkapuk közötti szembetűnő hasonlóságokat és riasztó különbségeket, és megvizsgáljuk a számítástechnika közeli és távoli jövőjét érintő következményeket.

Szembetűnő hasonlóságok

Ha más nem is, a klasszikus logikai kapuk és a kvantumlogikai kapuk mindketten logikai kapuk. Kezdjük tehát ott. A logikai kapu, legyen az klasszikus vagy kvantum, bármilyen fizikai struktúra vagy rendszer, amely bináris bemenetek egy halmazát fogadja (legyen az 0 és 1, alma és narancs, felpörgött elektron és lepörgött elektron, vagy bármi más), és egyetlen bináris kimenetet ad ki: egy 1-est, egy narancsot, egy felpörgött elektront, vagy akár két szuperpozíciós állapot egyikét. A kimenetet egy Boole-függvény szabályozza. Ez furcsán és vészjóslóan hangzik, de higgye el, nem az. A Boole-függvényre úgy is gondolhatsz, mint egy szabályra, amely az igen/nem kérdésekre adott válaszokra vonatkozik. Ennyire egyszerű. A kapuk ezután áramkörökké, az áramkörök pedig CPU-kká vagy más számítási komponensekké állnak össze. Ez igaz, akár Babbage differenciamotorjáról, akár az ENIAC-ról, akár a visszavonult sakkbajnok Deep Blue-ról, akár a legújabb, szobát betöltő, csontig hatoló, címlapra kerülő kvantumszámítógépről beszélünk.

Félelmetes különbségek

A klasszikus kapuk klasszikus biteken, míg a kvantumkapuk kvantumbiteken (qubiteken) működnek. Ez azt jelenti, hogy a kvantumkapuk kihasználhatják a kvantummechanika két olyan kulcsfontosságú aspektusát, amelyek a klasszikus kapuk számára teljesen elérhetetlenek: a szuperpozíciót és az összefonódást. Ez az a két fogalom, amelyről a leggyakrabban hallani a kvantumszámítástechnikával kapcsolatban, és íme, miért. Van azonban egy kevésbé ismert fogalom, amely talán ugyanilyen fontos: a reverzibilitás. Egyszerűen fogalmazva, a kvantumkapuk reverzibilisek. A kvantumszámítástechnikában való elmélyülés során sokat fogsz tanulni a reverzibilitásról, ezért érdemes alaposan beleásni magad. Egyelőre gondolj rá így: minden kvantumkapu rendelkezik visszavonó gombbal, míg sok klasszikus kapu nem, legalábbis még nem. Ez azt jelenti, hogy – legalábbis elvileg – a kvantumkapuk soha nem veszítenek információt. A kvantumkapu felé vezető úton összefonódott kvubitok a kifelé vezető úton is összefonódva maradnak, így az információjuk az átmenet során biztonságosan elzárva marad. Ezzel szemben a hagyományos számítógépekben található klasszikus kapuk közül sok elveszíti az információt, és ezért nem tudják visszakövetni a lépéseiket. Érdekes módon ez az információ végül nem vész el az univerzum számára, hanem inkább a szobádba vagy az öledbe szivárog, mint a klasszikus számítógéped hője.

V mint vektor

Nem beszélhetünk kvantumkapukról anélkül, hogy mátrixokról beszélnénk, és nem beszélhetünk mátrixokról anélkül, hogy vektorokról beszélnénk. Lássunk tehát hozzá. A kvantummechanika és a számítástechnika nyelvén a vektorokat egy bevallottan elég furcsa csomagban ábrázolják, amit ketnek hívnak, ami a braket szó második feléből származik. És úgy is néznek ki. Itt egy ket vektor: |u>, ahol u a vektor értékeit jelöli. Kezdetnek két ket-et fogunk használni, |0> és |1>, amelyek a qubiteket fogják helyettesíteni, elektronok formájában a spin-up (|0>) és spin-down (|1>) állapotokban. Ezek a vektorok úgyszólván tetszőleges számú számot felölelhetnek. De egy bináris állapot, például egy spin up/down elektron qubit esetében csak kettővel rendelkeznek. Így ahelyett, hogy tornyosuló oszlopvektoroknak tűntek volna, csak úgy néztek ki, mint a kettővel magasabbra rakott számok. Így néz ki |0>:

/ 1 \

\ 0 /

Az, amit a kapuk/mátrixok tesznek, az az, hogy ezeket az állapotokat, ezeket a vektorokat, ezeket a ketek, ezeket a számoszlopokat teljesen újakká alakítják át. Például egy kapu varázsütésre képes egy felfelé mutató állapotot (|0>) egy lefelé mutató állapottá (|1>) alakítani:

/ 1 \ → / 0 \

\ 0 / \ 1 /

M a mátrix

Az egyik vektornak egy másikba való átalakítása a mátrixszorzás alig értett varázslatával történik, ami teljesen más, mint az a fajta szorzás, amit a kvantumiskola előtt tanultunk. Ha azonban egyszer elsajátítod ezt a fajta matematikát, rendkívül kifizetődő, mert újra és újra alkalmazhatod számtalan, egyébként érthetetlen egyenletre, amelyek a beavatatlanokat döbbenten hagyják. Ha további motivációra van szükséged, csak emlékezz arra, hogy Heisenberg a mátrixmatematika nyelvén keresztül fejtette meg a mindent átfogó bizonytalansági elv titkait.

Mindegy, ha nem ismered ezt a matematikai eszköznek ezt a sugárhajtóművét, a szemed elkerekedik, ha ezen a ponton elkezdem ezt a bejegyzést nagy négyzet alakú számtömbökkel megtölteni. És ezt nem hagyhatjuk. Várjunk tehát még néhány bekezdést a mátrix matematikával és jelöléssel. Egyelőre elég, ha annyit mondunk, hogy általában egy mátrixot használunk a kvantumkapu helyettesítésére. A mátrix mérete és egyenesen félelem-faktora a qubitek számától függ, amelyeken működik. Ha csak egy qubitet kell átalakítani, a mátrix szép és egyszerű lesz, csak egy 2×2-es tömb négy elemmel. Két, három vagy több qubit esetén azonban a mátrix mérete felduzzad. Ennek oka, hogy a mátrix méretét (és így a kvantumkapu kifinomultságát) egy határozottan exponenciális egyenlet határozza meg, amelyet érdemes megjegyezni:

2^n x 2^n = the total number of matrix elements

Itt n a qubitek száma, amelyeken a kvantumkapu működik. Mint látható, ez a szám a qubitek számának (n) növekedésével az egekbe szökik. Egy qubit esetén 4, kettő esetén 16. Három qubit esetén 64. Négynél… reménytelen. Úgyhogy egyelőre maradok az egy qubitnél, amire rá van írva, hogy Pauli.

A Pauli-kapuk

A Pauli-kapukat Wolfgang Pauli után nevezték el, akinek nem csak a neve menő, de sikerült megörökítenie magát a modern fizika két legismertebb elvében: az ünnepelt Pauli-kizárási elvben és a rettegett Pauli-effektusban.

A Pauli-kapuk a legismertebb Pauli-mátrixokon (más néven Pauli-spinmátrixokon) alapulnak, amelyek hihetetlenül hasznosak egyetlen elektron spinjének változásainak kiszámításához. Mivel az elektron spinje a kedvelt tulajdonság, amit a mai kvantumkapukban qubitként használnak, a Pauli-mátrixok és -kapuk nagyon is a kedvünkre valóak. Mindenesetre lényegében a tér minden tengelyéhez (X, Y és Z) egy-egy Pauli-kapu/mátrix tartozik.

Azt tehát elképzelhetjük, hogy mindegyiküknek hatalmában áll egy elektron spinjének irányát megváltoztatni a 3D tér megfelelő tengelye mentén. Persze, mint minden másnak a kvantumvilágban, itt is van egy bökkenő: ez nem a mi közönséges 3D-s terünk, mert tartalmaz egy képzeletbeli dimenziót. De ezt most hagyjuk figyelmen kívül, rendben?

A Pauli-kapuk a legegyszerűbb kvantumkapuk, amelyekkel valaha is találkozhatunk. (Legalábbis az X- és a Z-kapuk azok. Az Y egy kicsit furcsa.) Tehát még ha soha életedben nem is láttál még mátrixot, Pauli kezelhetővé teszi őket. Az ő kapui egyszerre csak egy qubitre hatnak. Ez egyszerű, 2 x 2 mátrixokat jelent, amelyeknek egyenként csak 4 eleme van.

A Pauli X-kapu

A Pauli X-kapu egy valóra vált álom azok számára, akik félnek a mátrix matematikától. Nincsenek képzeletbeli számok. Nincsenek mínusz jelek. És egy egyszerű művelet: a negáció. Ez természetes, hiszen a Pauli X-kapu megfelel egy klasszikus NOT-kapunak. Ezért az X-kaput gyakran kvantum NEM-kapunak is nevezik.

A valóságban az X-kapu általában egy elektron spin-up állapotát |0> spin-down állapottá |1> változtatja, és fordítva.

|0> --> |1> OR |1> --> |0>

A nagy “X” gyakran magát a Pauli X-kaput vagy mátrixot jelöli. Így néz ki az X:

/ 0 1 \

\ 1 0 /

A megfelelő jelölés szempontjából a kvantumkapu alkalmazása egy qubitre annyi, mint egy ket vektor szorzása egy mátrixszal. Ebben az esetben a spin-up ket vektort |0> szorozzuk meg a Pauli X-kapuval vagy X mátrixszal. Így néz ki X|0>:

/ 0 1 \ /1\

\ 1 0 / \0/

Megjegyezzük, hogy a mátrixot mindig a ket bal oldalára helyezzük. Mint már hallhattad, a mátrixszorzás a közönséges szorzással ellentétben nem ingázik, ami ellentmond mindannak, amit az iskolában tanultunk. Ez olyan, mintha 2 x 4 nem lenne mindig egyenlő 4 x 2-vel. De a mátrixszorzás így működik, és ha egyszer beletanulsz, látni fogod, miért. Addig is, az elemek fontos sorrendjét szem előtt tartva, a teljes jelölés a kvantum NEM-kapu qubitünkre (ebben az esetben egy elektron spin-up állapotára) való alkalmazásához így néz ki:

X|0> = / 0 1 \ /1\ = /0\ = |1>

\ 1 0 / \0/ \1/

A spin-down vektorra alkalmazva a teljes jelölés így néz ki:

X|1> = / 0 1 \ /0\ = /1\ = |0>

\ 1 0 / \1/ \0/

Az idegen jelölés ellenére mindkét esetben valójában az történik, hogy egy qubit egyetlen elektron formájában áthalad egy kvantumkapun, és a másik oldalon teljesen megfordított spinnel jön ki.

A Pauli Y- és Z-kapuk

Ezzel a kettővel kapcsolatban megkíméllek a matematikától. De legalább futólag tudnod kell róluk.

A három Pauli-kapu közül a Pauli Y-kapu a díszes. Nagyon hasonlít az X-kapuhoz, de a szokásos 1 helyett egy i-vel (igen, a -1 őrült négyzetgyökével), és egy negatív előjellel a jobb felső sarokban. Így néz ki az Y-kapu:

/ 0 -i \

\ i 0 /

A Pauli Z-kapu sokkal könnyebben követhető. Úgy néz ki, mint a fenti X-kapu tükörképe, de egy negatív előjellel kiegészítve. Így néz ki a Z-kapu:

/ 1 0 \

\ 0 -1 /

Az Y-kapu és a Z-kapu is megváltoztatja a qubit elektronunk spinjét. De valószínűleg bele kellene merülnöm a Bloch-gömb ezoterikus rejtelmeibe, hogy igazán elmagyarázzam, hogyan, és most éppen egy másik kapun kell átmennem…

A Hadamard-kapu

Míg a Pauli-kapuk bizonyos szempontból nagyon hasonlítanak a klasszikus logikai kapukhoz, a Hadamard-kapu, vagy H-kapu, egy jóhiszemű kvantumállat. Mindenhol felbukkan a kvantumszámításban, és jó okkal. A Hadamard-kapunak megvan az a jellegzetesen kvantumos képessége, hogy egy határozott kvantumállapotot, például a spin-up-ot egy homályos állapotba, például a spin-up és a spin-down szuperpozíciójába egyszerre alakítsa át.

Mihelyt egy spin-up vagy spin-down elektront átküldünk egy H-kapun, az olyan lesz, mint egy a végén álló fillér, amelynek pontosan 50/50 az esélye, hogy fej (spin-up) vagy írás (spin-down) lesz a vége, amikor feldöntjük és megmérjük. Ez a H-kapu rendkívül hasznos bármely kvantumprogramban az első számítás elvégzéséhez, mert az előre beállított vagy inicializált qubiteket visszaváltoztatja természetes folyékony állapotukba, hogy teljes kvantumerejüket kihasználhassuk.

Más kvantumkapuk

Egy sor más kvantumkapuval is találkozhatunk. Sok közülük egyszerre több qubittal dolgozik, ami 4×4-es vagy akár 8×8-as mátrixokhoz vezet, komplex számozású elemekkel. Ezek eléggé szőrszálhasogatóak, ha még nem rendelkezel komoly mátrixismeretekkel. Úgyhogy megkíméllek a részletektől.

A fő kapuk, amelyeket ismerni akarsz majd, azok, amelyeket az alábbi grafikonon mutattunk be:

Tudnod kell, hogy léteznek más kapuk is, ezért íme egy gyors lista a leggyakrabban használt más kvantumkapukról, csak hogy ráérezz a szakzsargonra:

  • Toffoli-kapuFredkin-kapu
  • Deutsch-kapu
  • Swap-kapu (és swap-kapu négyzetgyök)
  • NOT-kapu négyzetgyök
  • Vezérelt-NOT-kapu (C-NOT) és más vezérelt kapuk

Még sok ilyen van. De ne hagyd, hogy a számok megtévesszenek. Ahogyan bármilyen klasszikus számítást elvégezhetünk NEM + VAGY = NOR kapuk vagy ÉS + NEM = NAND kapuk kombinációjával, úgy a kvantumkapuk listáját is visszavezethetjük az univerzális kvantumkapuk egyszerű halmazára. De ezt a tettet egy másik napra tartogatjuk.

Jövőbelátás a kvantumkapun keresztül

Amint arra a Quanta Magazine nemrég megjelent cikke rámutat, a 2018-as kvantumszámítógépek még nem állnak készen a főműsoridőre. Mielőtt ringbe szállhatnak a milliárdszor több logikai kapuval rendelkező klasszikus számítógépekkel, szembe kell nézniük néhány saját démonukkal. A leghalálosabb valószínűleg a dekoherencia démona. Jelenleg a kvantumdekoherencia “néhány mikroszekundum” alatt tönkreteszi a kvantumszámítást. Minél gyorsabban végzik azonban a kvantumkapuk a műveleteiket, annál valószínűbb, hogy kvantumalgoritmusuk megelőzi a dekoherencia démonát a célvonalig, és annál tovább tart a verseny. A sebesség mellett egy másik fontos tényező a kvantumkapuk által egy számítás elvégzéséhez végrehajtott műveletek puszta száma. Ezt nevezzük a számítás mélységének. Egy másik jelenlegi törekvés tehát a kvantumos játéktér elmélyítése. E logika szerint, ahogy a gyorsan fejlődő kvantumszámítógép egyre gyorsabb, számításai egyre mélyebbek, és a dekoherenciáig tartó visszaszámlálás egyre hosszabb lesz, a klasszikus számítógép végül egy félelmetes kihívóval, ha nem is utóddal, de (valószínűleg) a nem túl távoli jövőben szembe találja magát.

Ha tetszett ez a cikk, nagyon örülnék, ha megnyomnád a taps gombot 🙂 vagy megosztanád kíváncsi barátaiddal. Van még sok hasonló cikkem a személyes blogomon (jasonroell.com), vagy egyszerűen feliratkozhatsz a médiás profilomra, és minden cikkemet megkapod, amint megírom őket! (milyen király?!)

Mindenesetre, köszönöm még egyszer az olvasást, legyen szép napod!

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.