Demystifying Quantum Gates – One Qubit At A Time

(Jag har skrivit en introduktion till kvantdatorer som finns här. Om du är helt ny på området är det ett bättre ställe att börja.)

Om du vill ge dig in i kvantdatorer finns det inget sätt att komma runt det: du måste behärska det grumliga begreppet kvantgrind. Liksom allt inom kvantdrift, för att inte tala om kvantmekanik, är kvantgrindar höljda i en obekant dimma av jargong och matrismatematik som speglar kvantmysteriet. Mitt mål med det här inlägget är att ta bort några lager av detta mysterium. Men jag ska bespara er spänningen: ingen kan bli av med det helt och hållet. Åtminstone inte under 2018. Allt vi kan göra i dag är att avslöja de slående likheterna och de alarmerande skillnaderna mellan klassiska grindar och kvantgrindar, och utforska konsekvenserna för den nära och avlägsna framtiden för databehandling.

Stråkiga likheter

Om inte annat är klassiska logiska grindar och kvantlogiska grindar båda logiska grindar. Så låt oss börja där. En logisk grind, vare sig den är klassisk eller kvantlogisk, är en fysisk struktur eller ett fysiskt system som tar emot en uppsättning binära ingångar (0:or och 1:or, äpplen och apelsiner, spin-up-elektroner och spin-down-elektroner, vad som helst) och ger ut en enda binär utgång: en 1:a, en apelsin, en spin-up-elektron, eller till och med ett av två superpositionstillstånd. Det som styr utgången är en boolesk funktion. Det låter tjusigt och fördomsfullt, men tro mig, det är det inte. Du kan tänka på en boolesk funktion som inget annat än en regel för hur man ska svara på Ja/Nej-frågor. Så enkelt är det. Grindarna kombineras sedan till kretsar, och kretsarna till CPU:er eller andra beräkningskomponenter. Detta gäller oavsett om vi talar om Babbage’s Difference Engine, ENIAC, den pensionerade schackmästaren Deep Blue eller den senaste rumsfyllande, benhårda, rubrikskapande kvantdatorn.

Alarmande skillnader

Klassiska grindar arbetar på klassiska bitar, medan kvantgrindar arbetar på kvantbitar (qubits). Detta innebär att kvantgrindar kan utnyttja två viktiga aspekter av kvantmekaniken som är helt utom räckhåll för klassiska grindar: superposition och förvirring. Detta är de två begrepp som du oftast kommer att höra talas om i samband med kvantdatorer, och här är anledningen till detta. Men det finns ett mindre känt begrepp som kanske är lika viktigt: reversibilitet. Enkelt uttryckt är kvantportar reversibla. Du kommer att lära dig mycket om reversibilitet när du går djupare in i kvantdrift, så det är värt att verkligen gräva i det. För tillfället kan du tänka på det så här – alla kvantportar har en knapp för att ångra, medan många klassiska portar inte har det, åtminstone inte ännu. Detta innebär att kvantportar, åtminstone i princip, aldrig förlorar information. Qubits som är sammanflätade på vägen in i kvantporten förblir sammanflätade på vägen ut, och håller sin information säkert förseglad under hela övergången. Många av de klassiska grindar som finns i konventionella datorer förlorar däremot information och kan därför inte spåra sina steg. Intressant nog förloras denna information i slutändan inte för universum, utan sipprar snarare ut i ditt rum eller ditt knä som värmen i din klassiska dator.

V står för vektor

Vi kan inte prata om kvantportar utan att prata om matriser, och vi kan inte prata om matriser utan att prata om vektorer. Så låt oss gå vidare med det. På kvantmekanikens och datorernas språk avbildas vektorer i ett visserligen ganska konstigt paket som kallas ket, vilket kommer från den andra halvan av ordet braket. Och de ser ut som de ska. Här är en ketvektor: |u>, där u representerar värdena i vektorn. Till att börja med kommer vi att använda två kets, |0> och |1>, som kommer att stå för qubits i form av elektroner i tillstånden spin-up (|0>) och spin-down (|1>). Dessa vektorer kan så att säga sträcka sig över ett valfritt antal tal. Men när det gäller ett binärt tillstånd, t.ex. en spin-up/down-elektronqubit, har de bara två. Så i stället för att se ut som tornformiga kolonnvektorer ser de bara ut som siffror staplade tvåhögt. Så här ser |0> ut:

/ 1 \

\ 0 /

Nu, vad grindar/matriser gör är att omvandla dessa tillstånd, dessa vektorer, dessa kets, dessa sifferkolumner, till helt nya. Till exempel kan en grind omvandla ett uppåtgående tillstånd (|0>) till ett nedåtgående tillstånd (|1>), som genom magi:

/ 1 \ → / 0 \

\ 0 / \ 1 /

M står för matrix

Denna omvandling av en vektor till en annan sker genom den knappt förstådda magin med matrismultiplikation, som är helt annorlunda än den typ av multiplikation som vi alla lärde oss i förkvantumskolan. När man väl har fått grepp om den här typen av matematik är den dock oerhört givande, eftersom man kan tillämpa den om och om igen på otaliga annars obegripliga ekvationer som gör de oinvigda förbluffade. Om du behöver mer motivation är det bara att komma ihåg att det var med hjälp av matrismatematikens språk som Heisenberg avslöjade hemligheterna bakom den allomfattande osäkerhetsprincipen.

Och om du inte är bekant med detta jetbränsle av ett matematiskt verktyg kommer du att få glasögon om jag börjar fylla det här inlägget med stora fyrkantiga matriser av siffror vid det här laget. Och det får inte hända. Så låt oss vänta ytterligare några stycken på matrismatematiken och notationen. Det räcker med att säga, för tillfället, att vi i allmänhet använder en matris för att ersätta en kvantport. Matrisens storlek och direkta skräckfaktor beror på antalet qubits som den arbetar med. Om det bara är en qubit som ska omvandlas är matrisen enkel och trevlig, bara en 2 x 2-matris med fyra element. Men matrisens storlek ökar med två, tre eller fler qubits. Detta beror på att en uttalat exponentiell ekvation som är väl värd att memorera styr matrisens storlek (och därmed kvantgrindens sofistikering):

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

Här är n antalet qubits som kvantgrinden arbetar med. Som du kan se går denna siffra genom taket när antalet qubits (n) ökar. Med en qubit är det 4. Med två är det 16. Med tre är det 64. Med fyra är det… hopplöst. Så för tillfället håller jag mig till en qubit, och den har Pauli skrivet överallt.

Pauli-portarna

Pauli-portarna är uppkallade efter Wolfgang Pauli, som inte bara har ett häftigt namn, utan också har lyckats föreviga sig själv i två av den moderna fysikens mest kända principer: den berömda Pauli-utestängningsprincipen och den fruktade Pauli-effekten.

Pauli-gatorna är baserade på de mer kända Pauli-matriserna (även kallade Pauli-spinnmatriser) som är otroligt användbara för att beräkna förändringar i en enskild elektrons spinn. Eftersom elektronspin är den egenskap som föredras för en qubit i dagens kvantgrindar är Pauli-matriserna och -grindarna något för oss. I vilket fall som helst finns det i princip en Pauli-port/matris för varje axel i rymden (X, Y och Z).

Så du kan föreställa dig att var och en av dem svingar makten att ändra riktningen för en elektrons spinn längs sin motsvarande axel i 3D-rummet. Som allt annat i kvantvärlden finns det förstås en hake: detta är inte vårt vanliga 3D-rum, eftersom det innehåller en imaginär dimension. Men låt oss låta det vara för tillfället, eller hur?

Märkligt nog är Pauli-portarna de enklaste kvantportarna du någonsin kommer att stöta på. (Åtminstone X- och Z-portarna är det. Y-porten är lite konstig.) Så även om du aldrig har sett en matris i ditt liv gör Pauli dem hanterbara. Hans grindar verkar på en, och endast en, qubit i taget. Detta översätts till enkla 2 x 2-matriser med endast 4 element per styck.

The Pauli X-gate

The Pauli X-gate är en dröm som går i uppfyllelse för dem som är rädda för matrismatematik. Inga imaginära tal. Inga minustecken. Och en enkel operation: negation. Detta är helt naturligt eftersom Pauli X-gate motsvarar en klassisk NOT-gate. Av den anledningen kallas X-gate ofta också för kvant NOT-gate.

I en verklig verklighet förvandlar X-gate generellt sett en elektrons uppspinnade tillstånd |0> till ett nedspinnat tillstånd |1> och tvärtom.

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

Ett stort ”X” står ofta för själva Pauli X-gate eller matrisen. Så här ser X ut:

/ 0 1 \

\ 1 0 /

I termer av korrekt notation är tillämpningen av en kvantgata på en qubit en fråga om att multiplicera en ketvektor med en matris. I det här fallet multiplicerar vi spin-up ket-vektorn |0> med Pauli X-gate eller matrisen X. Så här ser X|0> ut:

/ 0 1 \ /1\

\ 1 0 / \0/

Bemärk att du alltid placerar matrisen till vänster om ket. Som du kanske har hört så pendlar inte matrismultiplikation, till skillnad från vanlig multiplikation, vilket går emot allt vi fick lära oss i skolan. Det är som om 2 x 4 inte alltid är lika med 4 x 2. Men det är så matrismultiplikation fungerar, och när du väl har lärt dig det kommer du att förstå varför. Under tiden, med den viktiga ordningsföljden för elementen i åtanke, ser den fullständiga notationen för att tillämpa kvant-NOT-gate på vår qubit (i det här fallet en elektrons uppspinnade tillstånd) ut så här:

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

\ 1 0 / \0/ \1/

Användt på en nedspinnad vektor ser den fullständiga notationen ut så här:

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

\ 1 0 / \1/ \0/

Trots all främmande notation är det som faktiskt händer i båda dessa fall att en kvbit i form av en enskild elektron passerar genom en kvantport och kommer ut på andra sidan med sitt spin helt omvänt.

Pauli Y- och Z-gatorna

Jag ska bespara dig matematiken med dessa två. Men du bör åtminstone känna till dem i förbigående.

Av de tre Pauli-gatorna är Pauli Y-gaten den tjusigaste. Den ser ut ungefär som X-gate, men med ett i (ja, den vansinniga kvadratroten av -1) i stället för den vanliga 1, och ett negativt tecken i övre högra hörnet. Så här ser Y ut:

/ 0 -i \

\ i 0 /

Pauli Z-gate är mycket enklare att följa. Den ser ungefär ut som en spegelbild av X-gate ovan, men med ett negativt tecken inräknat. Så här ser Z ut:

/ 1 0 \

\ 0 -1 /

Y-gate och Z-gate ändrar också spinnet hos vår kvbitelektron. Men jag skulle förmodligen behöva gräva i Bloch-sfärens esoteriska mysterier för att verkligen förklara hur, och jag har en annan port att gå igenom för tillfället…

Hadamard-porten

Men medan Pauli-portarna liknar klassiska logiska portar i vissa avseenden är Hadamard-porten, eller H-porten, ett äkta kvantdjur. Den dyker upp överallt i kvantberäkningar, och av goda skäl. Hadamard-porten har den karakteristiska kvantförmågan att omvandla ett bestämt kvanttillstånd, t.ex. spin-up, till ett oklart tillstånd, t.ex. en superposition av både spin-up och spin-down på samma gång.

När du skickar en spin-up eller spin-down elektron genom en H-gate kommer den att bli som en penny som står på sin spets, med exakt 50/50 odds för att den kommer att hamna på krona (spin-up) eller klave (spin-down) när den vältas och mäts. Denna H-gate är extremt användbar för att utföra den första beräkningen i ett kvantprogram eftersom den förvandlar förinställda, eller initialiserade, qubits tillbaka till sitt naturliga flytande tillstånd för att utnyttja deras fulla kvantkrafter.

Andra kvantgrindar

Det finns ett antal andra kvantgrindar som du säkert kommer att stöta på. Många av dem arbetar med flera qubits åt gången, vilket leder till 4×4 eller till och med 8×8 matriser med komplexnumrerade element. Dessa är ganska håriga om du inte redan har några seriösa matriskunskaper i bagaget. Så jag ska bespara dig detaljerna.

De viktigaste grindarna som du kommer att vilja känna till är de som vi täckte som visas i grafen nedan:

Du bör veta att det finns andra grindar, så här är en snabb lista över några av de mest använda andra kvantgrindarna, bara så att du kan få en känsla för jargongen:

  • Toffoli gateFredkin gate
  • Deutsch gate
  • Swap gate (and swap-gate square root)
  • NOT-gate square root
  • Controlled-NOT gate (C-NOT) och andra kontrollerade gates

Det finns många fler. Men låt dig inte luras av siffrorna. Precis som du kan utföra vilken klassisk beräkning som helst med en kombination av NOT + OR = NOR-portar eller AND + NOT = NAND-portar, kan du reducera listan över kvantportar till en enkel uppsättning universella kvantportar. Men vi sparar den gärningen till en annan dag.

Framtidsutsikt genom kvantporten

Som det påpekas i en färsk artikel i Quanta Magazine, är kvantdatorerna från 2018 inte riktigt redo för prime time. Innan de kan kliva in i ringen med klassiska datorer med miljarder gånger fler logiska grindar måste de möta några av sina egna demoner. Den mest dödliga är förmodligen dekoherensdemonen. Just nu kan kvantdekoherens förstöra din kvantberäkning på bara ”några mikrosekunder”. Ju snabbare dina kvantportar utför sina operationer, desto större är sannolikheten att din kvantalgoritm kommer att slå dekoherensdemonen till mållinjen, och desto längre kommer loppet att pågå. Vid sidan av hastigheten är en annan viktig faktor det rena antalet operationer som utförs av kvantgrindarna för att slutföra en beräkning. Detta är känt som beräkningens djup. En annan aktuell strävan är därför att fördjupa kvantspelplanen. Enligt denna logik kommer den klassiska datorn, i takt med att den snabbt utvecklande kvantdatorn blir snabbare, dess beräkningar djupare och nedräkningen till dekoherens längre, så småningom att stå inför en formidabel utmanare, om inte en efterträdare, i en (möjligen) inte alltför avlägsen framtid.

Om du gillade den här artikeln skulle det glädja mig mycket om du tryckte på applåderknappen 🙂 eller delade den med dina nyfikna vänner. Jag har mycket mer liknande över på min personliga blogg (jasonroell.com) eller så kan du bara prenumerera på min mediumprofil och få alla mina artiklar skickade till dig så fort jag skriver dem! (hur häftigt är det?!)

Tack igen för att du läste, ha en bra dag!

Lämna ett svar

Din e-postadress kommer inte publiceras.