Kvanttilaskennan aakkoset
osa C
Näet tämän tekstin, jos et ole kirjautunut TIMiin. Voit katsoa videoita, mutta et voi tehdä tehtäviä. Voit kirjautua sisään TIMiin tästä:
Edessäsi oleva Kvanttilaskennan aakkosten C-osa on kurssisarjan kolmas palikka. Jos et ole vielä suorittanut A- ja B- osia, niin sitten kannattaa tehdä ne ensin. Kurssi olettaa niissä olleiden asioiden olevan sinulle tuttuja. Lisäksi esitietona oletetaan kompleksilukujen alkeiden tuntemusta. Matriisi- ja vektorilaskujen kokemuksesta on hyötyä, mutta kaikki tarvittava ennakkotieto on käyty läpi B-osassa.
Kurssi tarjoaa sisältöä sekä videoiden että tekstin muodossa. Kysymykset ja tehtävät ovat olennainen osa kokonaisuutta. Voit ajatella dokumenttia värityskirjana, joka valmistuu vähitellen tehtävien tekemisen myötä.
C-osa on auki ensimmäistä kertaa, joten pyydämme sinua antamaan palautetta kurssimateriaalista sen kehittämiseksi. Jokaisen jakson lopussa on palautelaatikko sen luvun asioita koskien.
C.1 Kertausta ja vähän uuttakin
Tässä jaksossa kertaamme joitakin asioita, joita on käsitelty A- ja B-osissa. Tarkoitus on päästä sopivaan kvanttilaskennan vireeseen ennen uusia asioita.
C.1.1 Kvanttifysiikan todennäköisyysluonne
Kvanttifysiikan yksi keskeinen piirre on se, että teoria antaa meille mahdollisuuden laskea erilaisten tapahtumien todennäköisyyksiä, mutta ei yksittäisten tapahtumien tarkkaa kulkua. Kvanttiteoria ei siis määrää, miten tapahtumat tarkalleen etenevät, vaan se kuvaa ainoastaan mahdollisten vaihtoehtojen todennäköisyysjakauman.
Jos haluat muistella H-portin toimintaa vielä lisää, niin kannattaa kerrata B-osan jakso B.3.2. Voit myös mennä tämän dokumentin loppuun testaamaan asioita kvanttiporttisimulaattorilla.
Palataan videolla esitettyyn kysymykseen: voisiko H-portin satunnaisuus olla samanlaista kuin koliko heiton satunnaisuus? Sehän voi olla vaikka pieni Heikki-niminen vihreä tonttu, joka majailee H-portin sisällä ja sekoittaa tiloja. Heikki heittää kolikkoa ja arpoo kumman tilan lähettää laatikosta ulos.
Mittauslaitteeseen tulee kubitti satunnaisesti joko tilassa \(\vert 0 \rangle\) tai \(\vert 1 \rangle\). Niinpä mittaustuloskin on satunnaisesti 0 tai 1.
H-portin toimintaa ei voi selittää Heikki-tontun tekosilla tai muullakaan mekanismilla, jossa satunnaisuus syntyisi kolikon heitosta tai muusta vastaavasta arvonnasta. Toisin kuin kolikolla tehdyssä satunnaistamisessa, H-portin toiminnassa informaatiota ei häviä.
On havainnollista tarkastella kahden peräkkäisen H-portin toimintaa ja verrata sitä kahteen peräkkäiseen tonttulaatikkoon. Muistellaan ensin mitä tapahtuu, kun H-portin jälkeen käytetään vielä toista H-porttia ennen mittausta. Olemme oppineet, että H-portti on oma käänteisporttinsa. Tämä tarkoittaa, että kaksi peräkkäistä H-porttia kumoaa toisensa. Erityisesti \[ HH\vert 0 \rangle = \vert 0 \rangle \, , \quad HH\vert 1 \rangle = \vert 1 \rangle \, . \] Näin ollen mittaustulos on täydellä varmuudella 0 kun alkutilana oli \(\vert 0 \rangle\) ja vastaavasti 1 jos alkutila oli \(\vert 1 \rangle\).
Verrataan tätä siihen, että kaksi tonttulaatikkoa on laitettu peräkkäin. (Heikki on ottanut veljensä Hannun mukaan kolikkoa heittämään.)
Heikki, eli ensimmäisessä laatikossa oleva tonttu, arpoo tilan \(\vert 0 \rangle\) tai \(\vert 1 \rangle\). Tämä tila menee sitten seuraavaan laatikkoon toiselle tontulle. Toinen tonttu arpoo myös tilan kolikkoa heittämällä.
Satunnaistamisen jälkeinen satunnaistaminen ei kumoa ensimmäistä satunnaistamista. Mittaukseen tuleva kubitti on siten satunnaisesti joko \(\vert 0 \rangle\) tai \(\vert 1 \rangle\). Niinpä mittaustuloskin on satunnaisesti 0 tai 1. Johtopäätelmä tästä on se, että Heikki-tonttu ei pysty toiminnallaan matkimaan H-portin toimintaa.
Kvanttiaakkosten B-osassa olemme oppineet, että tilat \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) muuttuvat H-portin vaikutuksesta superpositiotiloiksi. Täsmällisesti ilmaistuna \[ H \vert 0 \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle + \tfrac{1}{\sqrt{2}} \vert 1 \rangle \] ja \[ H \vert 1 \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle - \tfrac{1}{\sqrt{2}} \vert 1 \rangle \, . \] Ensimmäiselle tilalle käytämme merkintää \(\vert + \rangle\) ja toiselle \(\vert - \rangle\). H-portin jälkeen kubitin tila ei siis ole mitenkään satunnainen. Mittaustuloksen satunnaisuus tulee siitä, että tiloissa \(\vert + \rangle\) ja \(\vert - \rangle\) on sekä jotakin 'nollamaista' että 'ykkösmäistä'. Tilat \(\vert + \rangle\) ja \(\vert - \rangle\) ovat kuitenkin aivan yhtä todellisia kubitin tiloja kuin tilat \(\vert 0 \rangle\) ja \(\vert 1 \rangle\). Mittaustuloksen satunnaisuus liittyy näin ollen siihen, että mittaus mittaa ominaisuutta, joka ei ole tiloissa \(\vert + \rangle\) ja \(\vert - \rangle\) objektiivinen.
Kvanttiaakkosten A-osassa meillä oli tarkastelussa toinenkin portti, joka johtaa satunnaiseen lopputulokseen. Se on X-portin neliöjuuriportti, eli SX-portti. Tämä portti on eri portti kuin H-portti ja niiden yhdisteleminen johtaa mielenkiintoisiin havaintoihin. Ensinnäkin jo aikaisemmin toteamamme seikat ovat:
- Kaksi H-porttia peräkkäin vastaa identiteettiporttia, eli mittauksen ulostulo on sama kuin syöte.
- Kaksi SX-porttia peräkkäin vastaa X-porttia, eli mittauksen ulostulo on vastakkainen kuin syöte.
Kumpikaan näistä kahden portin yhdistelmistä ei siis johda satunnaiseen lopputulokseen.
Please
Kokeile itse
Testaa ensin, että yllä olevat väitteet pitävät paikkansa. Mitä tapahtuu jos H-portti ja SX-portti laitetaan peräkkäin? Onko ulostulossa satunnaisuutta? Vaikuttaako porttien järjestys?
Expand by moving mouse over the exercise or by clicking
Kiinnostavaa on myös laittaa kolme porttia peräkkäin, joista on yksi on H-portti tai SX-portti ja kaksi muuta ovat sitä toista tyyppiä. Tutki yllä olevalla simulaattorilla tätäkin tapausta.
Nämä havainnot saavat selityksen matriisilaskun avulla. Palaamme tähän sen jälkeen kun olemme etsineet SX-portin matriisin.
C.1.2 Vuorovaikutus
Kvantti-informaation prosessoinnissa kubittien täytyy vuorovaikuttaa keskenään. Kvanttiporttilaskennan yhteydessä tämä tarkoittaa sitä, että yhden kubitin tila vaikuttaa toisen tilan kehitykseen portin kautta.
Kahden kubitin porteista kontrolloidut portit CX ja CZ ovat tavanomaisimmat. Kvanttitietokoneessa on usein vain yksi fyysisesti toteutettava kahden kubitin portti ja muut useamman kubitin portit täytyy rakentaa sen ja yhden kubitin porttien avulla. Siksi on tärkeää osata muodostaa erilaisia portteja rajatusta porttivalikoimasta. Tätä olemme jo harjoitelleet Kvanttiaakkosten aikaisemmissa osissa. Kerrataan asiaa hiukan. Porttien CZ ja CX välinen portti-identiteetti on eräs kvanttiporttilaskennan perusjuttuja. Käyttämällä H-portteja voi CZ-portin muuntaa CX-portiksi ja vastaavasti CX-portin CZ-portiksi.
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin yksi CX-portti, jossa ylempi kubitti on kontrollikubitti.
Expand by moving mouse over the exercise or by clicking
Kun alkutila \(\vert 0 \rangle \otimes \vert 0 \rangle\) halutaan laittaa lomittuneeseen yhteistilaan, tarvitaan jotain muutakin kuin pelkkä CX tai CZ. Kvanttiaakkosten B-osassa käytimme CX-porttia ja H-porttia Bellin portin muodostamiseen. Bellin portti, eli lyhyesti B-portti, rakennetaan näin:
Bellin portti kuvaa tilan \(\vert 0 \rangle \otimes \vert 0 \rangle\) lomittuneeksi tilaksi \(\frac{1}{\sqrt{2}} (\vert 0 \rangle \otimes \vert 0 \rangle + \vert 1 \rangle \otimes \vert 1 \rangle)\). Tätä lomittunutta tilaa ei voi kirjoittaa yksittäisten tilojen tensoritulona. Lomittuminen tulee esille siten, että osien mittaustulokset ovat korreloituneita. Tämä tuli esille ylitiheässä koodauksessa, jota tarkastelimme B-osassa.
Tee seuraavassa tehtävässä CZ-portin ja H-porttien avulla piiri, jonka toiminta vastaa Bellin porttia. Edellinen tehtävä auttaa tässä.
Please
Tehtävä
Tee piiri, jonka toiminta vastaa Bellin porttia.
Expand by moving mouse over the exercise or by clicking
Aikaisemmassa tehtävässä olet rakentanut piirin, jonka toiminta vastaa CX-porttia. Kun palaat katsomaan miten teit sen piirin, on tämän tehtävän tekeminen suoraviivainen juttu.
C.1.3 Kompleksiluvut
Tämä jakso on kompleksilukujen kertausta. Jos aihe ei ole sinulle entuudestaan tuttu, kannattaa ensin tutustua kompleksilukuihin jonkin toisen oppimateriaalin avulla.
Kompleksiluku \(a\) koostuu kahdesta reaaliluvusta ja se kirjoitetaan muodossa \(a=a_{Re}+ a_{Im}i\). Tässä \(i\) on imaginaariyksikkö, \(a_{Re}\) on kompleksiluvun reaaliosa ja \(a_{Im}\) on sen imaginaariosa.
Esimerkiksi luvun \(3-5i\) reaaliosa on \(3\) ja imaginaariosa on \(-5\).
Kun kaksi kompleksilukua \(a\) ja \(b\) lasketaan yhteen, lasketaan reaaliosat ja imaginaariosat yhteen. Siis näin: \[ a+b=a_{Re}+ a_{Im}i + b_{Re}+ b_{Im}i = (a_{Re}+b_{Re})+(a_{Im} + b_{Im})i \, . \]
Esimerkiksi lukujen 3 - 5i ja -2 + 7i summa on 1 + 2i.
Kahden kompleksiluvun kertolasku on sekin helppoa. Pitää vain ottaa huomioon, että \(i \cdot i=-1\). Kertolasku menee siis näin: \[ a \cdot b=(a_{Re}+ a_{Im}i) \cdot (b_{Re}+ b_{Im}i) = (a_{Re}b_{Re} - a_{Im} b_{Im}) + (a_{Re}b_{Im} + a_{Im} b_{Re})i \, . \]
Esimerkiksi lukujen 3 - 5i ja -2 + 4i tulo on (-6+20) + (12+10)i = 14+22i.
Kompleksiluku on piste kompleksitasossa. Kompleksitaso esitetään niin, että vaaka-akseli on reaaliakseli ja pystyakseli on imaginaariakseli (vasen kuva). Näin siis jokaista kompleksitason pistettä vastaa tarkalleen yksi kompleksiluku.
Kompleksiluku voidaan esittää vaihtoehtoisesti napakoordinaatiston avulla muodossa \[ a=r(\cos \theta + i \sin\theta) = r e^{i\theta}\, . \] Tässä \(r\) on pisteen etäisyys origosta ja \(\theta\) reaaliakselin vastain kulma (kuva oikealla). Esitystapaa kutsutaan kompleksiluvun polaariesitykseksi tai polaarimuodoksi.
Kompleksiluvun itseisarvo on sen etäisyys origosta kompleksitasossa. Näin ollen kompleksiluvun \(a\) itseisarvo saadaan laskettua kaavalla
\(|a| = \sqrt{a_{Re}^2 + a_{Im}^2}\).
Napakoordinaatistossa \(r=|a|\).
Kompleksiluvun \(a\) konjugaatti saadaan vaihtamalla imaginaariosan merkki ja käytämmme konjugaatille merkintää \(\bar{a}\). Siispä jos \(a=a_{Re} + a_{Im}i\), niin \(\bar{a}=a_{Re} - a_{Im}i\).
Käytimme B-osassa Maxima-laskentaohjelmaa ja se tulee olemaan kätevä apu tässäkin osassa, joten kerrataan Maximan käyttöohjeita ja otetaan käyttöön uusia komentoja, joita tarvitaan kompleksilukujen kanssa touhutessa.
Maximassa kertolasku merkitään symbolilla * ja jakolasku symbolilla /. Eli laskut \(41 \cdot 27\) ja \(203 / 7\) kirjoitetaan
41 * 27
203/7
Neliöjuuri kirjoitetaan Maximassa samoin kuin monissa muissa ohjelmointikielissä. Neliöjuuri on englanniksi square root ja siitä tulee lyhenne 'sqrt'. Luku \(\sqrt{2}\) kirjoitetaan Maximassa näin:
sqrt(2)
Potenssi kirjoitetaan Maximassa symbolin ^ avulla. Esimerkiksi \(3^4\) kirjoitetaan näin:
3^4
Imaginääriluku i kirjoitetaan Maximassa %i. Esimerkiksi kompleksiluku \(2-3i\) kirjoitetaan näin:
2 -3 * %i
Kompleksiluvun itseisarvo saadaan komennolla cabs. Kun vaikkapa haluat tietää edellisen kompleksiluvun itseisarvon, niin kirjoitat
cabs (2 -3 * %i)
Näitä komentoja ei tarvitse opetella ulkoa. Tule vilkaisemaan näitä komentoja täältä, kun niihin tulee myöhemmin tarve.
C.1.4 Vektorit
Kvanttiaakkosten käyttötarpeita ajatellen vektori on joukko lukuja tietyssä järjestyksessä. Näitä lukuja kutsutaan komponenteiksi. Komponentit voivat olla kompleksilukuja. Tyypillisesti kirjoitamme vektorit pystyvektoreina, esimerkiksi \[ \begin{pmatrix} 1 \\ 4 \end{pmatrix} \, , \quad \begin{pmatrix} 2-3i \\ 1+i \end{pmatrix} \, . \] Välillä on kätevää kirjoittaa vektorit vaakatasoon. Näin tehdään erityisesti silloin, kun vektoreita syötetään laskimeen tai tietokoneohjelmistoon. Esimerkiksi \([0,1]\) ja \([3,4,-5]\) ovat vektoreita Maxima-laskentaohjelman merkintätavalla. Kerrataan joitakin vektorilaskennan operaatioita.
Kaksi vektoria lasketetaan yhteen komponenteittain. Esimerkiksi \[ \begin{pmatrix} 1 \\ 4 \end{pmatrix} + \begin{pmatrix} 2-3i \\ 1+i \end{pmatrix} = \begin{pmatrix} 3-3i \\ 5+i \end{pmatrix} \, . \]
Vektorin voi kertoa kompleksiluvulla. Se tarkoittaa, että jokainen komponentti kerrotaan kyseisellä luvulla. Esimerkiksi \[ i \cdot \begin{pmatrix} 2-3i \\ 1+i \end{pmatrix} = \begin{pmatrix} i \cdot (2-3i) \\ i \cdot (1+i) \end{pmatrix} = \begin{pmatrix} 3+2i \\ -1+i \end{pmatrix} \, . \] Kertomerkin voi jättää merkkaamatta jos sekaannuksen vaaraa ei ole.
Kahden vektorin pistetulon kaava on seuraava: \[ {a \choose b} \cdot {c \choose d} = \bar{a} c + \bar{b} d \, . \] Yhtälön oikealla puolella \(\bar{a}\) merkkaa kompleksiluvun \(a\) konjugaattia ja \(\bar{a} c\) on kompleksilukujen \(\bar{a}\) ja \(c\) tulo. Sanomme, että kaksi vektoria ovat ortogonaaliset jos niiden pistetulo on 0.
Vektorin pituus on luku, joka saadaan laskemalla vektorin pistetulo itsensä kanssa ja ottamalla tuloksesta neliöjuuri. Jos esimerkiksi vektori on \({a \choose b}\), niin pituudeksi saadaan
\[ \sqrt{{a \choose b} \cdot {a \choose b}} = \sqrt{|a|^2 + |b|^2} \, . \]
Jos vektorissa on enemmän kuin kaksi komponenttia, lasketaan sen pituus vastaavalla tavalla: ensin lasketaan jokaisen komponentin itseisarvon neliö, sitten nämä summataan yhteen ja lopuksi otetaan saadusta summasta neliöjuuri.
C.1.5 Matriisit
Kvanttiaakkosten B-osassa olemme oppineet, että kutakin kvanttiporttia vastaa matriisi. Yhden kubitin porttia vastaa 2x2 matriisi, kahden kubitin porttia 4x4 matriisi ja niin edelleen. Jos olet kokonaan unohtanut portin kirjoittamisen matriisina, kannattaa käydä kurkkaamassa B-osan jaksoa B.2. Seuraavassa kertaamme tämän asian lyhyesti.
Yhden kubitin portin matriisin voi kirjoittaa kun tiedämme miten se muuttaa tilat \(\ket{0}\) ja \(\ket{1}\). Muistetaan ensin, että \[ \ket{0} \sim {1 \choose 0} \, , \quad \ket{1} \sim {0 \choose 1} \, . \] Jos portin U vaikutus on \[ U\ket{0} = a \ket{0} + b \ket{1} \, , \quad U\ket{1} = c \ket{0} + d \ket{1} \, , \] niin nämä muuttuneet tilat kirjoitetaan pystyriveiksi ja portin matriisi on \[ U=\begin{pmatrix} a & c \\ b & d \end{pmatrix} \, . \] Esimerkiksi X-portin matriisi on \[ X=\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \, . \]
Kahden kubitin portin tapauksessa vaikutusta pitää katsoa yhtä aikaa molempiin kubitteihin. Tätä varten meidän tulee ensin kirjoittaa kahden kubitin tensoritulovektorit eri tavalla.
Samoin kuin yhden kubitin porttien tapauksessa, nytkin portin toiminnassa muuttuneet tilat kirjoitetaan pystyriveiksi. Esimerkiksi CX-portin, jossa kontrollipallo ylhäällä, matriisi on seuraavanlainen:
\[
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0
\end{pmatrix}
\] 
Kahden kubitin portit voivat olla toiminnaltaan täysin samanlaisia, vaikka ne olisi toteutettu eri tavalla. Tämä onnistuu joskus yllättämään kokeneenkin kvanttiaakkostelijan. Katsotaan seuraavaksi CZ-portin tapausta.
Z-portin toiminta ja sen matriisi on meille tuttu B-osan jaksosta B.6.1. Sen toiminta on \[ Z\ket{0} = \ket{0} \, , \quad Z\ket{1} = -\ket{1} \, , \] joten matriisi on \[ Z=\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \, . \]
Tarkastellaan kontrolloitua Z-porttia eli CZ-porttia. Kontrollikubitti voi olla Z-portin alla tai yllä:

Miten näiden porttien toiminta eroaa toisistaan? Tähän kysymykseen on hankala saada pitävää vastausta pelkästään porttisimulaattorilla, sillä silloin pitäisi testata porttien toimintaa myös muiden porttien välissä. Tällaisessa kysymyksessä asian selvittäminen on parasta tehdä matematiikan avulla. Kirjoitetaan kumpikin CZ-portti matriisina. Matriisin ensimmäiselle pystyriville kirjoitetaan se, miksi vektoriksi ensimmäinen vektori muuttuu. Toiselle pystyriville se, miksi toinen muuttuu. Näin tehdään kolmannen ja neljännen osalta myös.
Tarkastellaan ensin vasemmanpuoleista CZ-porttia, jossa kontrollikubitti on ylhäällä. Mieti tilojen \(\ket{0}\otimes \ket{0}\), \(\ket{0}\otimes \ket{1}\), \(\ket{1}\otimes \ket{0}\) ja \(\ket{1}\otimes \ket{1}\) muuttumista CZ-portin vaikutuksesta. Kaksi ensimmäistä vektoria eivät muutu, sillä kontrollikubitti on tilassa \(\vert 0 \rangle\). Kolmas vektori ei myöskään muutu, sillä vaikka kontrollikubitti on tilassa \(\vert 1 \rangle\), niin Z-portti ei muuta tilaa \(\vert 0 \rangle\). Sen sijaan viimeinen vektori muuttuu.
Tee sitten sama päättely oikeanpuoleisen CZ-portin kohdalla ja kirjoita sekin matriisina. Mikä menee eri tavalla?
Palautteesi jaksosta C.1
C.2 Tila-avaruus
Matematiikassa avaruudella tarkoitetaan joukkoa, johon on liitetty jokin matemaattinen rakenne. Kvanttisysteemin tilojen kokoelma ei ole pelkästään joukko, vaan siihen liittyy lisärakennetta. Erityisesti mahdollisuus muodostaa superpositioita on tärkeä ominaisuus. Tämän vuoksi siis puhumme tila-avaruudesta emmekä pelkästä tilojen joukosta.
C.2.1 Kubitin tilat
Aikaisemmin olemme oppineet, että kubitin tila esitetään vektorina \[ {a \choose b} \, , \] jossa komponenttien on toteutettava yhtälö \[ a^2 + b^2=1 \, . \] Nämä aikaisemmin käyttämämme tilat ovat tarkemmin ottaen reaalisia kubittitiloja. Reaaliset kubittitilat ovat vain osa kaikista kubittitiloista ja ottamalla käyttöön kompleksiluvut voimme kirjoittaa yleisen kubittitilan. Matemaattisesti tämä on vain pieni muutos aikaisempaan, mutta kubittitilojen moninaisuus kasvaa merkittävästi.
Yleisessä kubittitilaa kuvaavassa vektorissa komponentit voivat olla kompleksilukuja. Komponenttien pitää toteuttaa yhtälö \[ |a|^2 + |b|^2=1 \, , \] eli kubittitilaa kuvaavan vektorin pituus on 1. Jos \(a\) ja \(b\) ovat reaalilukuja, niin \(|a|^2=a^2\) ja \(|b|^2=b^2\) eikä eroa aikaisempaan ole. Kompleksilukujen tapauksessa taas on olennaista, että yhtälössä on itseisarvon neliö pelkän neliön sijaan.
Edellinen kysymys oli aika helppo, sillä siinä \(a\) ja \(b\) olivat joko reaalisia tai imaginaarisia. Yleisesti ottaen nämä kompleksivektorin komponentit eivät ole puhtaasti reaalisia tai imaginaarisia, vaan niillä on molemmat osat. Seuraavassa tehtävässä on näitä tapauksia.
Vektorimerkintätavassa on yksi tehottomuus, jonka kävimme läpi B-osassa. Kaksi vektoria, jotka saadaan toisistaan vaihtamalla jokaisen komponentin merkki, esittävät samaa kubittitilaa. Esimerkiksi nämä kaksi vektoria esittävät samaa tilaa: \[ {12/13 \choose -5/13} \, , \quad {-12/13 \choose 5/13} \, . \] Nyt kun komponenteiksi sallitaan kompleksiluvut, muuttuu tämä sääntö vastaavalla tavalla. Kaksi vektoria esittää samaa kvanttitilaa jos toinen saadaan ensimmäisestä kertomalla se jollakin kompleksiluvulla, joka itseisarvo on 1. Esimerkiksi vektorit \[ {0 \choose 1} \, , \quad {0 \choose -i} \, , \quad {0 \choose 1/\sqrt{2} + i/\sqrt{2}} \] esittävät kaikki samaa kubittitilaa.
Tiivistetään kubitin tilan matemaattinen kuvaaminen alla olevaan laatikkoon.
Tarkastellaan kahta kompleksivektoria \[ {a \choose b} \quad \textrm{ja} \quad {c \choose d} \] jotka saattavat esittää samaa kvanttitilaa. Välttämätön ehto tälle on se, että \(|a|=|c|\) ja \(|b|=|d|\). Tämä ehto on yleensä nopea tarkistaa, joten siitä kannattaa aloittaa. Esimerkiksi \[ {3i/5 \choose 4/5} \quad \textrm{ja} \quad {4/5 \choose 3/5} \] eivät toteuta tätä kriteeriä, joten ne eivät esitä samaa tilaa. Vaikka \(|a|=|c|\) ja \(|b|=|d|\) olisi voimassa, se ei kuitenkaan vielä riitä. Nimittäin esimerkiksi \[ {3/5 \choose 4/5} \quad \textrm{ja} \quad {3/5 \choose 4i/5 } \] eivät kuvaa samaa tilaa, sillä ei ole sellaista kompleksilukua \(w\) jolle \(c=wa\) ja \(d=wb\).
Kuten olemme tässä jaksossa todenneet, kvanttitilan merkitseminen vektorina ei ole yksikäsitteinen, vaan usea eri vektori kuvaa samaa kvanttitilaa. Tästä syystä voi herätä kysymys, onko olemassa jokin yksikäsitteinen matemaattinen vastaavuus kvanttitiloille. Onhan sellainen; voimme nimittäin kuvata kvanttitilaa matriisina ja silloin vastaavuus tietynlaisten matriisien ja kvanttitilojen välillä on yksi-yhteen. Tulemme esittelemään tämän kuvaustavan jaksossa C.6.2. Vektorien käyttämistä ei silloinkaan kannata kokonaan hylätä, koska moni lasku on hyvin kätevä tehdä niiden avulla.
Aivan kuten olemme reaalisten kubittitilojen kohdalla oppineet B-osassa, voimme nytkin kirjoittaa \[ {a \choose b } = a {1 \choose 0} + b {0 \choose 1} \] mille hyvänsä kubitin tilalle. Toinen tapa ilmaista tämä vektori on \[ a \vert 0 \rangle + b\vert 1 \rangle \, . \] Siten on edelleen voimassa se tärkeä seikka, että jokainen kubitin tila voidaan kirjoittaa tilojen \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) superpositiona. Ainoa asia mikä on B-osassa opittuun verrattuna muuttunut, on se, että kertoimet \(a\) ja \(b\) voivat olla kompleksilukuja.
Olemme aikaisemmin antaneet lempinimet \(\vert + \rangle\) ja \(\vert - \rangle\) kahdelle tilalle. Ne ovat \[ \vert + \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle + \tfrac{1}{\sqrt{2}} \vert 1 \rangle \, , \quad \vert - \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle - \tfrac{1}{\sqrt{2}} \vert 1 \rangle \, . \] Annamme vielä kahdelle uudelle tilalle lempinimet, sillä nekin esiintyvät usein. Merkitsemme \[ \vert +i \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle + i \tfrac{1}{\sqrt{2}} \vert 1 \rangle \, , \quad \vert -i \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle - i \tfrac{1}{\sqrt{2}} \vert 1 \rangle \, . \] Tämä merkintätapa on helppo muistaa, sillä lempinimessä on se luku, joka on vektorin \(\tfrac{1}{\sqrt{2}} \ket{1}\) edessä.
Superpositiotiloja voi tehdä yhdistelemällä mitä hyvänsä tiloja. Harjoitellaan hiukan tätä asiaa.
Mittaustodennäköisyyksiä koskevaa laskusääntöä on myös päivitettävä koskemaan kompleksivektoreita. Alla oleva korvaa aikaisemman B-osassa esitetyn säännön.
Harjoitellaan tätä asiaa hiukan niin se jää mieleen. Vastaa ensin seuraavaan kysymykseen tarkistaaksesi, että ymmärsit asian oikein.
C.2.2 Blochin pallo
Olemme B-osassa nähneet, että reaalisia kubittitiloja voi havainnollistaa ympyrän kehällä. Kun ympyrä on tässä käytössä, kutsumme sitä Blochin ympyräksi. Sitä voi havainnollistaa frisbee-kiekolla tai lautasella. Jokainen kiekon ulkoreunan piste vastaa reaalista kubittitilaa.
Blochin ympyrän piirrämme \(xz\)-koordinaatistoon. Meille tutut tilat \(\vert 0 \rangle\), \(\vert 1 \rangle\), \(\vert + \rangle\) ja \(\vert - \rangle\) ovat selkeillä paikoilla. Muistele seuraavassa tehtävässä näiden tilojen paikat Blochin ympyrällä.
Yleisesti reaalista kubittitilaa kuvaava vektori \({a \choose b}\) kuvataan Blochin ympyrän pisteeksi \((x,z)\), jossa
\(x=2ab\)
\(z=a^2-b^2.\)
Tässä kuvauksessa vektorit \({a \choose b}\) ja \({-a \choose -b}\) kuvautuvat samaksi ympyrän kehän pisteeksi. Niinpä Blochin ympyrän kehän pisteet ovat yksi yhteen vastaavuudessa reaalisten kubittitilojen kanssa.
Blochin ympyrälle ei mahdu muita kubittitiloja kuin reaaliset kubittitilat. Kaikkien kubittitilojen joukon kuvaamiseksi vastaavalla tavalla tarvitaan pallo. Pallon säde on 1 ja kun palloa käytetään kubittitilojen kuvaamiseen viitataan siihen nimellä Blochin pallo.
Blochin pallon jokainen piste vastaa jotakin kubitin tilaa ja pallolle mahtuu kaikki tilat. Blochin palloa voi ajatella kubitin tila-avaruuden karttana. Blochin pallo on \(xyz\)-koordinaatistossa. Sen leikkaus \(xz\)-tason kanssa on Blochin ympyrä. Alla olevassa kuvassa on vasemmalla Blochin pallo ja oikealla Blochin ympyrä.
Huomionarvoista pallossa on se, että jokaisella pisteellä on antipodi eli vastapiste. Se on piste, joka on samalla suoralla valitun pisteen ja keskipisteen kanssa. Tällaisia Blochin pallon pisteitä vastaavat vektorit ovat ortogonaalisia. Esimerkiksi \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) ovat vektoreina ortogonaaliset ja siten ne ovat pallolla vastapisteet. Sama pätee vektoreihin \(\vert + \rangle\) ja \(\vert - \rangle\). Meille tässä jaksossa käyttöön ottamat vektorit \(\vert +i \rangle\) ja \(\vert -i \rangle\) ovat y-akselilla ja ne ovat toistensa vastapisteet.
Katsotaan seuraavaksi tarkemmin, miten kubitin tilat kuvautuvat Blochin pallon pinnalle. Tarkastellaan yleistä kubittitilaa kuvaavaa vektoria \({a \choose b}\), missä siis \(a\) ja \(b\) ovat kompleksilukuja, joille \(|a|^2+|b|^2=1\).
- Tarkastellaan tapausta \(a \neq 0\). Haluamme kuvata tämän tilan pallon pinnan pisteenä. Olennainen luku on kompleksilukujen \(a\) ja \(b\) suhde \(b/a\), jota merkitsemme kirjaimella \(\purple{c}\). Tämä suhdelukukin on kompleksiluku, joten se voidaan kirjoittaa \(\purple{c}=\purple{c_{Re}}+ \purple{c_{Im}}i\). Tämän kirjoitusasun avulla voidaan vektoria vastaava Blochin piste tunnistaa. Sen koordinaatin \((x,y,z)\) ovat
\[\begin{align*} x=&\frac{2 \purple{c_{Re}}}{1+\purple{c_{Re}}^2+\purple{c_{Im}}^2}, \\ & \nonumber \\ y=&\frac{2 \purple{c_{Im}}}{1+\purple{c_{Re}}^2+\purple{c_{Im}}^2}, \\ & \nonumber \\ z=&\frac{1-\purple{c_{Re}}^2-\purple{c_{Im}}^2}{1+\purple{c_{Re}}^2+\purple{c_{Im}}^2} \, . \end{align*}\]
- Tarkastellaan sitten tapausta \(a=0\). Tällöin \(|a|^2=0\), joten \(b\) on kompleksiluku, jolle \(|b|^2=1-|a|^2=1\). Tämä vastaa kvanttitilaa \(\vert 1 \rangle\). Sen koordinaatit Blochin pallolla ovat \(x=y=0\) ja \(z=-1\).
Suhdeluvun \(c\) voimme kirjoittaa muodossa \[ c = \frac{b}{a} = \frac{\bar{a} b}{\bar{a} a} = \frac{\bar{a} b}{|a|^2} \, , \] jolloin nimittäjässä on reaaliluku. Tämä on jo hyödyllinen muoto, sillä nyt pitää enää laskea kahden kompleksiluvun tulo ja jakaa lopputulos realiluvulla.
Suhdeluvun voi myös laskea seuraavasti. Kirjoitetaan kompleksiluvut \(a\) ja \(b\) muodossa \(a=a_{Re}+i a_{Im}\) ja \(b=b_{Re}+i b_{Im}\). Saamme \[\begin{align*} c & = \frac{\bar{a} b}{|a|^2} = \frac{(a_{Re}-i a_{Im})(b_{Re}+i b_{Im})}{a_{Im}^2+a_{Re}^2} \\ &= \frac{a_{Re}b_{Re}+a_{Im}b_{Im} +i (a_{Re}b_{Im}- a_{Im}b_{Re})}{a_{Im}^2+a_{Re}^2} \\ &= \frac{a_{Re}b_{Re}+a_{Im}b_{Im}}{a_{Im}^2+a_{Re}^2} +i \frac{(a_{Re}b_{Im}- a_{Im}b_{Re})}{a_{Im}^2+a_{Re}^2} \end{align*}\] Tästä voidaan lukea \(c_{Re}\) ja \(c_{Im}\).
Katsotaan esimerkkinä tiloja \(\vert +i \rangle\) ja \(\vert -i \rangle\). Jos olet unohtanut näiden tilojen määritelmän, niin käy kurkkaamassa se jaksosta C.2.1. Ota sitten käsille kynä ja paperia. Laske suhdeluku \(\purple{c}\) kummassakin tapauksessa.
Harjoitellaan suhdeluvun laskemista vielä hiukan lisää. Seuraavassa tehtävässä annetaan kerrallaan kaksi kompleksilukua \(a_{Re} + a_{Im} i\) ja \(b_{Re} + b_{Im} i\). Sinun tulee laskea niiden suhdeluku \(\purple{c}\) ja antaa se muodossa \(\purple{c_{Re}}+ \purple{c_{Im}}i\).
Yllä esitetty laskusääntö Blochin pallon koordinaateille on monimutkaisemman näköinen kuin Blochin ympyrän tapauksessa. Katsotaan kuitenkin vielä miltä muunnos näyttää, kun käytämme kompleksiluvuille niiden polaariesitystä. Nyt siis esitämme kompleksiluvut \(a\) ja \(b\) muodossa \[\begin{align*} a=|a|(\cos \varphi_a + i \sin \varphi_a) \\ b=|b|(\cos \varphi_b + i \sin \varphi_b), \end{align*}\] missä \(|a| = \sqrt{a^2_{Re} +a^2_{Im}}\) ja \(|b|=\sqrt{b^2_{Re} +b^2_{Im}}\) ovat lukujen \(a\) ja \(b\) pituudet kompleksitasossa ja \(\varphi_a\) ja \(\varphi_b\) ovat lukujen \(a\) ja \(b\) reaalisten ja imaginaaristen komponenttien väliset kulmat kompleksitasossa. Kulmat \(\varphi_a\) ja \(\varphi_b\) voidaan ratkoa yhtälöistä \[\begin{align*} &\cos \varphi_a = \frac{a_{Re}}{|a|}, \quad \sin \varphi_a = \frac{a_{Im}}{|a|}, \\ &\cos \varphi_b = \frac{b_{Re}}{|b|}, \quad \sin \varphi_b = \frac{b_{Im}}{|b|}, \end{align*}\] silloin kun \(a \neq 0\) ja \(b \neq 0\). Nyt saamme kirjoitettua suhdeluvun \(\purple{c}\) muodossa \[\begin{align*} \purple{c} &= \frac{b}{a} = \frac{|b|}{|a|} \left[ (\cos \varphi_a \cos \varphi_b + \sin \varphi_a \sin \varphi_b) + i (\cos \varphi_a \sin \varphi_b - \sin \varphi_a \cos \varphi_b) \right] \\ &= \frac{|b|}{|a|} \left( \cos (\varphi_b-\varphi_a) + i \sin (\varphi_b-\varphi_a) \right), \end{align*}\] missä käytimme trigonometrisia identiteettejä \[\begin{align*} \cos(x-y) = \cos x \cos y + \sin x \sin y,\\ \sin(x-y) = \sin x \cos y - \cos x \sin y . \end{align*}\] Käyttämällä tätä polaariesitystä \(\purple{c}\):lle, näemme, että \[\begin{align*} \purple{c_{Re}} & = \frac{|b|}{|a|} \cos (\varphi_b- \varphi_a) \, ,\quad \purple{c_{Im}} = \frac{|b|}{|a|} \sin (\varphi_b- \varphi_a) \, . \end{align*}\] Näin ollen \[\begin{align*} x=&\frac{2 \purple{c_{Re}}}{1+\purple{c_{Re}}^2+\purple{c_{Im}}^2} = \frac{2 \frac{|b|}{|a|}\cos (\varphi_b- \varphi_a)}{1+\frac{|b|^2}{|a|^2}} = 2 |a| |b| \cos (\varphi_b- \varphi_a), \\ & \nonumber \\ y=&\frac{2 \purple{c_{Im}}}{1+\purple{c_{Re}}^2+\purple{c_{Im}}^2} = \frac{2 \frac{|b|}{|a|}\sin (\varphi_b- \varphi_a)}{1+\frac{|b|^2}{|a|^2}} = 2 |a| |b| \sin (\varphi_b- \varphi_a), \\ & \nonumber \\ z=&\frac{1-\purple{c_{Re}}^2-\purple{c_{Im}}^2}{1+\purple{c_{Re}}^2+\purple{c_{Im}}^2} = \frac{1-\frac{|b|^2}{|a|^2}}{1+\frac{|b|^2}{|a|^2}} = \frac{|a|^2-|b|^2}{|a|^2+|b|^2} = |a|^2-|b|^2, \end{align*}\] missä on käytetty trigonometrista identiteettiä \(\sin^2 x + \cos^2 x =1\).
Edellä esitetty muoto Blochin pallon koordinaateille muistuttaakin nyt paljon enemmän aikasempaa Blochin ympyrän koordinaattimuunnosta. Näemmekin helposti, että kun \(a\) ja \(b\) ovat reaalilukuja, eli kun \[\begin{align*} a_{Re} &= a, \quad a_{Im}=0 , \\ b_{Re} &= b, \quad b_{Im}=0, \end{align*}\] on selvästi \(|a| = a\), \(|b|=b\), \(\phi_a = \phi_b=0\), joten \[\begin{align*} x &= 2 |a| |b| \cos(\phi_b - \phi_a) = 2 a b, \\ y &= 2 |a| |b| \sin(\phi_b - \phi_a) = 0, \\ z &= |a|^2-|b|^2 = a^2 - b^2 \, . \end{align*}\] Tämä on sama muunnos minkä esitimme aikaisemmin.
Blochin pallo on kubitin tila-avaruuden kartta. Kubittitila määrää mittaustulosten todennäköisyysjakauman, joten tuo tieto on jotenkin luettavissa myös Blochin pallon pisteestä. Mutta miten?
Havainnollisuuden helpottamiseksi tarkastellaan aluksi Blochin pallon leikkausta \(xz\)-tason kanssa, eli Blochin ympyrää. Tämä riittää reaalisten kubittitilojen kuvaamiseen. Ympyrän piste (0,1) vastaa tilaa \(\vert 0 \rangle\). Tiedämme, että perusmittauksessa tila \(\vert 0 \rangle\) johtaa ulostuloon 0 todennäköisyydellä 1. Näin ollen pisteen (0,1) \(z\)-koordinaatti on sama kuin se todennäköisyys, jolla perusmittaus antaa ulostulon 0.
Onko tämä havainto hyödyllinen vai onko yhteys vain näennäinen?
Tarkastellaan jotakin toista pistettä Blochin ympyrällä. Pisteen koordinaatit ovat \((x,z)\). Millä todennäköisyydellä perusmittaus antaa ulostulon 0? Miten tuo todennäköisyys liittyy pisteen \(z\)-koordinaattiin?
Tiedämme, että kun kubitin tila on esitetty vektorina \({a \choose b}\), niin tuo todennäköisyys saada mittaustulos 0 on \(a^2\). Toisaalta tiedämme, että vektorin ja koordinaattien välillä on yhteys
\(x=2ab\)
\(z=a^2-b^2.\)
Näistä yhtälöistä on helppo laskea koordinaatit \(x\) ja \(z\) kun vektori \({a \choose b}\) on annettu, mutta nyt pitääkin ratkaista \(a\) kun \(x\) ja \(z\) on annettu. Itse asiassa lukua \(a\) ei saa yksikäsitteisesti ratkaistua, sillä vektorit \({a \choose b}\) ja \({-a \choose -b}\) vastaavat samaa pistettä Blochin ympyrällä. Tämä ei aiheuta meille kuitenkaan ongelmaa, sillä meidänhän pitääkin ratkaista \(a^2\).
Ratkaistaan ensin ylemmästä yhtälöstä \(b\), jolloin saadaan \(b=x/2a\). (Tässä kohtaa on syytä olettaa \(a\neq 0\) ja tarkastella tapaus \(a=0\) erikseen.) Sijoitetaan tämä alempaan yhtälöön, jolloin saamme
\(a^2 - \frac{x^2}{4 a^2} = z\).
Tämä yhtälö on hiukan hankala kun meitä kiinnostava \(a^2\) on sekä nimittäjässä että osoittajassa. Kerrotaan sen takia puolittain termillä \(a^2\).
Nyt meillä on 4. asteen yhtälö, mutta siinä on vain muuttujan neljäs ja toinen potenssi sekä vakiotermi. Tästä saamme ratkaistua muuttujan \(a^2\) toisen asteen yhtälön ratkaisukaavalla. Sillä \(a^2>0\) ja \(z \leq 1\), niin ratkaisu on
\(a^2 = \frac{1}{2} ( 1+z)\).
Ottamalla huomioon ehdon \(a^2+b^2=1\) voimme ratkaista \(b^2=\frac{1}{2} ( 1-z)\), mikä puolestaan on siis todennäköisyys, että mittaustulos on 1. Näin ollen reaalisen kubittitilan tapauksessa \(z\)-koordinaatti (ja ainoastaan se) määrää mittaustulosten todennäköisyydet.
Katsotaan vielä edellisen tarkastelun laajentamista koskemaan koko Blochin palloa. Haluamme siis laskea todennäköisyyden mittaustulokselle 0, kun kubitti on Blochin pallon pistettä \((x,y,z)\) vastaavassa tilassa. Toisin sanoen, meidän pitää laskea kubittitilalle \({a \choose b}\) todennäköisyys \(|a|^2\), kun tiedämme vain tilan esityksen Blochin pallolla.
Meidän ei tarvitse ratkaista kubittitilan parametreja \(a\) tai \(b\) (ei sillä että voisimmekaan, koska kaikki muotoa \(w {a \choose b}\) olevat vektorit kompleksiluvulle \(w\), joka toteuttaa \(|w|=1\) kuvautuvat samaksi pisteeksi Blochin pallolla), on helpompi käyttää polaarimuotosia muunnoskaavoja. Nyt siis kubittitilalle \({a \choose b}\), jossa \(a = |a| (\cos \varphi_a+ i \sin \varphi_a)\) ja \(b= |b| (\cos \varphi_b+i \sin \varphi_b)\) pätee \[\begin{align*} x &= 2 |a| |b| \cos(\varphi_b-\varphi_a), \\ y &= 2 |a| |b| \sin(\varphi_b-\varphi_a), \\ z &= |a|^2-|b|^2 \, . \end{align*}\]
Ratkaistaksemme termin \(|a|^2\) koordinaatin \(z\) lausekkeesta meidän täytyy tehdä kuten aikaisemmin ja ratkaista ensin termi \(|b|^2\) koordinaattien \(x\) ja \(y\) lausekkeista ja sijoittaa se \(z\):n lausekkeeseen. Käyttämällä triginometrista identiteettiä \(\sin^2 \theta + \cos^2 \theta =1\) näemme, että \(x^2+y^2=4 |a|^2 |b|^2\), josta saamme \(|b|^2 = \frac{x^2+y^2}{4 |a|^2}\). Sijoittamalla tämän \(z\):n lausekkeeseen ja kertomalla termillä \(|a|^2\) saamme yhtälön \[\begin{align*} |a|^4 - z |a|^2 -\frac{x^2+y^2}{4} = 0, \end{align*}\] jonka voimme jälleen ratkaista toisen asteen yhtälön ratkaisukaavalla. Ratkaisuksi saamme \[ |a|^2= \frac{1}{2}(z \pm \sqrt{x^2+y^2+z^2}) \, . \] Ehdoista \(x^2+y^2+z^2=1\) ja \(z\leq 1\) (olemme pallon pinnalla) sekä ehdosta \(|a|^2\geq 0\) näemme, että ainut ratkaisu on \[\begin{align*} |a|^2 = \frac{1}{2}(1+z) \,. \end{align*}\] Jälleen ehdosta \(|a|^2+|b|^2 =1\) saamme vielä \(|b|^2 = \frac{1}{2}(1-z)\). Johtopäätöksenä voimme todeta, että myös tässä yleisessä kubittitilan tapauksessa pelkkä \(z\)-koordinaatti määrää mittaustulosten todennäköisyydet.
C.2.3 Monta kubittia
Muistellaan ensin, mitä olemme B-osassa oppineet kahden kubitin kuvaamisesta. Opimme yhdistämään mitkä hyvänsä kaksi kubittitilaa sellaiseksi yhteistilaksi, joka kuvaa niitä molempia. Yhdistäminen tapahtuu tensoritulon avulla ja laskusääntö on alla.
[3] Kahden kubitin tulotilat esitetään vektoreina \[ {a \choose b} \otimes {c \choose d} = \begin{pmatrix} a \begin{pmatrix} c \\ d \\ \end{pmatrix} \\ b \begin{pmatrix} c \\ d \\ \end{pmatrix} \end{pmatrix} = \begin{pmatrix} ac \\ ad \\ bc \\ bd \end{pmatrix} \, . \] jossa \(|a|^2+|b|^2=1\) ja \(|c|^2+|d|^2=1\).
3=ls9
Kerrataan tätä sääntöä seuraavissa tehtävissä.
Tensoritulo antaa helpon lopputuloksen silloin, kun toinen vektoreista on \(\vert 0 \rangle\) tai \(\vert 1 \rangle\). Laskusääntö pätee toki kaikille tensorituloille, mutta silloin pitää laskea hieman enemmän. Katsotaan seuraavaksi vektorien \(\vert + \rangle\) ja \(\vert - \rangle\) erilaisista tensorituloja. Niiden laskemiseksi kannattaa käyttää kynää ja paperia.
Kahdella kubitilla on muitakin tiloja kuin tulotiloja. B-osassa rajoituimme reaalisiin tiloihin (eli vektorin komponentit ovat reaalilukuja), mutta nyt meille kelpaa komponenteiksi myös kompleksiluvut.
Sellaiset kahden kubitin tilat jotka eivät ole tulotiloja, ovat lomittuneita tiloja. B-osan jaksossa B.7.3 totesimme seuraavan seikan.
Yllä oleva ehto ei määritä kaikkia lomittuneita tiloja, mutta antaa helpon keinon tunnistaa niistä joitakin. Esimerkiksi \[ \begin{pmatrix} 3/5 \\ 0 \\ 0 \\ 4/5 \end{pmatrix} \quad \textrm{ja} \quad \begin{pmatrix} 0 \\ 4i/5 \\ 3/5 \\ 0 \end{pmatrix} \] ovat lomittuneita tiloja. B-osassa meille tuli tutuksi neljä lomittunutta tilaa, jotka ovat nimeltään Bellin tilat. Vektoreina kirjoitettuna ne ovat \[ \ket{\beta_{00}}= \begin{pmatrix} \frac{1}{\sqrt{2}} \\ 0 \\ 0 \\ \frac{1}{\sqrt{2}} \\ \end{pmatrix} \, , \, \ket{\beta_{01}}= \begin{pmatrix} 0 \\ \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} \\ 0 \\ \end{pmatrix} \, , \, \ket{\beta_{10}}= \begin{pmatrix} \frac{1}{\sqrt{2}} \\ 0 \\ 0 \\ -\frac{1}{\sqrt{2}} \\ \end{pmatrix} \, , \, \ket{\beta_{11}}= \begin{pmatrix} 0 \\ \frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} \\ 0 \\ \end{pmatrix} \, . \] Bellin tilat muodostavat erityisen tilajoukon: vaikka ne ovat kahden kubitin lomittuneita tiloja, mikä tahansa Bellin tila voidaan muuntaa toiseksi operoimalla vain yhtä kubittia. Esimerkiksi \[ (X \otimes I) \ket{\beta_{00}} = \ket{\beta_{01}} \, . \]
Katsotaan vielä hyödyllinen matemaattinen esitystapa kahden kubitin tiloille. Voimme kirjoittaa kahden kubitin yhteistilan muodossa \[\begin{align*} \begin{pmatrix} a_1 \\ a_2 \\ a_3 \\ a_4 \end{pmatrix} & = a_1 \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} + a_2 \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} + a_3 \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix} + a_4 \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix} \, . \end{align*}\] Oikean puolen vektorit tunnistamme tensoritulovektoreiksi ja siten yhteistila on \[\begin{align*} a_1 \vert 0 \rangle \otimes \vert 0 \rangle + a_2 \vert 0 \rangle \otimes \vert 1 \rangle + a_3 \vert 1 \rangle \otimes \vert 0 \rangle + a_4 \vert 1 \rangle \otimes \vert 1 \rangle \, . \end{align*}\] Matemaattisesti voimme erottaa ensimmäisen ja toisen kubitin vektorit toisistaan kahteen osaan. Kertoimet \(a_i\) voi ottaa mukaan joko ensimmäiseen tai toiseen vektoriin. Näin ollen ottamalla toisen kubitin vektorit \(\ket{0}\) ja \(\ket{1}\) yhteisiksi tekijöiksi voimme kirjoittaa \[\begin{align*} & a_1 \vert 0 \rangle \otimes \vert 0 \rangle + a_2 \vert 0 \rangle \otimes \vert 1 \rangle + a_3 \vert 1 \rangle \otimes \vert 0 \rangle + a_4 \vert 1 \rangle \otimes \vert 1 \rangle \\ = & \left( \blue{a_1\ket{0} + a_3 \ket{1}} \right) \otimes \red{\ket{0}} + \left( \blue{a_2 \ket{0} + a_4 \ket{1}} \right) \otimes \red{\ket{1}} \\ = & \blue{\ket{\alpha_0}} \otimes \red{\ket{0}} + \blue{\ket{\alpha_1}} \otimes \red{\ket{1}} \, , \end{align*}\] missä \[\begin{align*} \ket{\alpha_0} = a_1\ket{0} + a_3 \ket{1} \, , \quad \ket{\alpha_1} = a_2\ket{0} + a_4 \ket{1} \end{align*}\] eivät välttämättä ole yksikkövektoreita. Johtopäätös on siis se, että kahden kubitin tilat voi kirjoittaa muodossa \[\begin{align*} \ket{\alpha_0} \otimes \ket{0} + \ket{\alpha_1} \otimes \ket{1} \, . \end{align*}\] Vastaavalla tavalla voi ottaa ensimmäisen kubitin vektorit \(\ket{0}\) ja \(\ket{1}\) yhteisiksi tekijöiksi. Tällöin voimme kirjoittaa kahden kubitin tilat muodossa \[\begin{align*} \ket{0} \otimes \ket{\alpha'_0} + \ket{1} \otimes \ket{\alpha'_1} \, . \end{align*}\] Huomaa, että tyypillisesti \(\ket{\alpha'_0} \neq \ket{\alpha_0}\) ja \(\ket{\alpha'_1} \neq \ket{\alpha_1}\).
Lomittuminen on hyvin keskeinen kvanttiominaisuus. Tampereeen yliopiston professorin Teemu Ojasen tutkimuksessa lomittuminen tulee vastaan monin eri tavoin. Seuraavalla videolla hän kertoo lomittumisesta.
Useamman kuin kahden kubitin tila-avaruus on suoraviivainen yleistys kahden kubitin tiloista. Kun kubitteja on kolme, on tilaa kuvaavan vektorin pituus 8. Yleisesti kun kubitteja on n kappaletta, niin vektorin pituus on 2n.
C.2.4 Kuditti ja kutritti
Kvanttisysteemi voi koostua kubiteista, mutta se voi olla myös jotakin muuta. Kuditti on sellainen kvanttisysteemi, jonka tilojen kuvaamiseen tarvitaan vektoreita, joiden pituus on d. Fysikaalisesti tämä tarkoittaa, että kuditilla on d toisistaan eroteltavissa olevaa tilaa (eikä enempää). Samoin kuin kubitilla, kuditin tilat voidaan esittää kompleksivektoreina. Erona on se, että kuditin tapauksessa vektoreilla on d komponenttia.
Suuri osa siitä mitä olemme oppineet kubitin kohdalla yleistyy melko suoraviivaisella tavalla kuditille. Kuditin tilan muutoksia kuvataan unitaarimatriiseilla, jotka ovat nyt d\(\times\)d-matriiseja.
Kun d=3, kutsutaan kudittia nimellä kutritti. Kutritilla on siis kolme ortogonaalisista tilaa. Tällainen kvanttifysikaalinen systeemi voidaan toteuttaa ioniloukun avulla. On tapana merkitä \[ \vert 0 \rangle = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} \, , \quad \vert 1 \rangle = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} \, , \quad \vert 2 \rangle = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} \, . \] Näin voimme kirjoittaa kutritin tilat muodossa \[ a \vert 0 \rangle + b \vert 1 \rangle + c \vert 2 \rangle \, , \] missä \(a,b,c\) ovat kompleksilukuja ja \(|a|^2 + |b|^2 + |c|^2 = 1\).
Kubitin X-portti vaihtaa kubitin tilat \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) päittäin. Kutritille tätä vastaava muutos on seuraava: \[ \vert 0 \rangle \mapsto \vert 1 \rangle \, , \quad \vert 1 \rangle \mapsto \vert 2 \rangle \, , \quad \vert 2 \rangle \mapsto \vert 0 \rangle \, . \] Merkitään tätä muutosta vastaavaa matriisia symbolilla X3. Alaindeksi muistuttaa, että matriisin koko on 3.
Tutki alla mitä kaksi ja kolme peräkkäistä X3-porttia tekee.
Toisin kuin kubitin X-portti, kutritin X3-portti ei ole oma käänteisporttinsa. Edellä perehdyit portin toimintaan. Minkälainen portti kumoaa sen toiminnan? Matriisina käänteisportti on sellainen matriisi K, että K\(\cdot\)X3 = I.
Kvanttiporttilaskentaa voi toteuttaa kutriteilla hyvin samaan tapaan kuin kubiteilla. Kvanttiporteilla on vastineensa, kuten edellä näimme X-portin tapauksessa. Valinta kubitin ja kutritin välillä ratkeaa siitä fysikaalisesta systeemistä, jota käytetään kvanttiprosessorin rakentamiseen. Jos fysikaalisella systeemillä on helposti eroteltavissa olevat kolme energian ominaistilaa, niin silloin kutritti on luonteva valinta perusyksiköksi.
C.2.5 Ääretönulotteinen kvanttisysteemi
Kubitti on yksinkertaisin kvanttisysteemi. Kubitti on todellinen fysikaalinen systeemi, mutta kubitti ei voi kuitenkaan varsinaisesti esiintyä yksinään. Kun puhumme kubittisysteemistä, tarkoitamme jonkin fysikaalisen systeemin rajattua osaa. Tämä ei sinänsä poikkea mistään muusta fysiikasta, sillä fysiikassa oikeastaan aina otetaan tarkasteluun jokin ison systeemin pienempi osa.
Kvanttilaskennan opiskelija pärjää kubiteilla ja kuditeilla melko pitkälle. Voi kuitenkin herätä kysymys, että mitä sitten on se atomien ja muiden luonnossa esiintyvien systeemien kvanttifysiikka. Vety on yksinkertaisin alkuaine ja vetyatomi on siten helposti kuvattava kvanttisysteemi. Vetyatomi on siltikin kaukana kubitista. Nimittäin vetyatomin matemaattiseen kuvaamiseen tarvitaan ääretönulotteinen vektoriavaruus. Vaikka jättäisimme kaiken muun kuvauksen ulkopuolelle paitsi vetyatomin elektronin energiatilat, tarvitaan siltikin ääretönulotteinen vektoriavaruus.
Kvanttiteknologiassa ääretönulotteiset kvanttisysteemit tulevat vastaan erityisesti kvanttioptiikassa. Laservaloa voi vielä kuvata kelvollisesti klassisen optiikan teorialla. Sen sijaan kun sähkömagneettinen kenttä on fotonilukumäärätilassa, on otettava kvanttioptiikan teoria käyttöön. Fotonilukumäärätilassa kentässä on tarkalleen tietty määrä fotoneja. Tällaisia toisistaan eroteltavissa olevia tiloja on ääretön määrä ja sen vuoksi systeemin ulottuvuus on ääretön.
Emme tällä kurssilla perehdy ääretönulotteisten kvanttisysteemien teoriaan, mutta otetaan kuitenkin pieni kurkistus tähän aiheeseen. Aberystwythin yliopistossa työskentelevä tutkija Jukka Kiukas on tutkinut ääretönulotteisten kvanttisysteemien matemaattista teoriaa ja kertoo seuraavalla videolla tästä teemasta.
Palautteesi jaksosta C.2
C.3 Kvanttiportit
Tunnet jo hyvän joukon erilaisia kvanttiportteja. Tässä jaksossa tutustumme vielä joihinkin uusiin portteihin. Lisäksi syvennämme ymmärrystämme jo entuudestaan tutuista kvanttiporteista ja löydämme niistä uusia, kiinnostavia ominaisuuksia.
C.3.1 SX-portti
SX-portti oli esillä Kvanttiaakkosten A-osassa. Se on sellainen kvanttiportti, joka kaksi kertaa peräkkäin käytettynä antaa saman toiminnan kuin yksi X-portti. Portti-identiteettinä voimme kirjoittaa näin:
Tarkastellaan matriisien avulla tätä SX-portin määritelmää. Tämä toimii samalla oivallisena harjoitteluna matriisien käytöstä.
Merkataan muuttujilla a,b,c,d meille toistaiseksi tuntemattomia SX-matriisin alkioita, eli \[ SX=\begin{pmatrix} a & c \\ b & d \end{pmatrix} \, . \] Silloin yhtälö SX\(\cdot\)SX=X on \[ \begin{pmatrix} a & c \\ b & d \end{pmatrix} \begin{pmatrix} a & c \\ b & d \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\, . \] (Käytämme pistettä matriisitulolle silloin, kun se selvyyden vuoksi on tarpeen.) Ota kynä ja paperia ja laske vasemman puolen matriisitulo. Saat matriisin, jonka alkiot ovat muuttujien a,b,c,d lausekkeita. Vertaa näitä alkioita oikean puolen matriisin alkioihin. Jokaisen neljästä alkioista pitää olla samat, joten saamme neljä yhtälöä.
Ensimmäistä ja viimeistä yhtälöä vertaamalla päättelemme, että \(a^2=d^2\). Tästä seuraa, että joko \(a=d\) tai \(a=-d\). Kahdesta keskimmäisestä yhtälöstä näemme, että täytyy olla \(a+d\neq 0\). Näin ollen \(a=d\).
Kahdesta alimmasta yhtälöstä päättelemme \(b=c\). Kun se sijoitetaan ylimpään yhtälöön, saadaan \(a^2+b^2=0\). Toisaalta \(b=\frac{1}{2a}\), joten \[ 4a^4+1=0 \, . \] Tämä on 4. asteen yhtälö, mutta helppo sellainen. Yhtälön voi kirjoittaa \[ a^4=-\frac{1}{4} \, . \] Tämä ratkeaa helposti, kun kirjoitat molemmat puolet kompleksilukujen polaarimuodossa. Jos polaarimuodon käyttäminen tuntuu vieraalta, niin alla on annettu vaihtoehtoja yhtälön ratkaisuiksi. Voit jokaisen kohdalla laskemalla tarkistaa on se yhtälön ratkaisu.
Yhtälöllä on useita ratkaisuja, joten niin on myös sellaisia portteja, jotka toteuttavat haluamamme ehdon SX\(\cdot\)SX=X. Tämä asia on helpoin ymmärtää Blochin pallon avulla.
On tullut tavaksi valita portiksi SX se ratkaisu, joka vastaa kompleksilukua \(a=\tfrac{1}{2} (1+i)\). Luku \(b\) saadaan kaavasta \(b=\tfrac{1}{2a}\).
Kirjoita sitten vielä SX-matriisi kokonaisuudessaan muistiin. Yllä on selvittetty kaikki tarvittava. Lue asia jakson alusta uudestaan jos tehtävä tuntuu hankalalta.
Jos kvanttiporttisimulaattorissa laittaa kolme SX-porttia peräkkäin, näyttää toiminta olevan samanlainen kuin yhdellä SX-portilla. Ne eivät kuitenkaan ole samat portit.
Minkälainen toiminta on kolmella peräkkäisellä SX-portilla? Pystytkö perustelemaan porttisimulaattorin avulla sen eron SX-porttiin?
Please
Kokeile itse
Tässä SX3-portti on se portti, joka voidaan rakentaa kolmen peräkkäisen SX-portin avulla. Testaa SX3-portin toimintaa.
Expand by moving mouse over the exercise or by clicking
Etsitään seuraavaksi SX-portin käänteisportti. A-osassa olemme todenneet, että yhden kubitin tapauksessa käänteisportti on sellainen portti, jossa annetun portin toiminta kumoutuu kaikilla syötteillä
(1) ilman toisia portteja
sekä
(2) H-porttien ympäröimänä.
Alla olevassa kuvassa on havainnollistettu nämä kaksi tilannetta. Se portti, jonka käänteisporttia etsimme, on ruskea. Vihreä portti on käänteisportti. Käänteisportti voi olla usean perusporttimme yhdistelmä ja sen vuoksi se on kuvassa piirretty pidempänä.
Kummassakin näistä tapauksista syötteen tulee mennä läpi muuttumattomana; silloin vihreä portti on tuntemattoman portin käänteisportti. Kun mietit aikaisemmin oppimiasi asioita, niin SX-portin käänteisportin hakeminen ei mene arvailuksi.
Please
Tehtävä
Etsi porttien yhdistelmä, joka kumoaa SX-portin toiminnan. Käytä samaa porttien yhdistelmää molemmissa tapauksissa ja laita ne askeleiden 3-5 kohdalle.
Expand by moving mouse over the exercise or by clicking
Palataan sitten jakson C.1.1 lopussa olleeseen asiaan, jossa tarkastelimme H-portin ja SX-portin peräkkäistä toimintaa. Nyt pääsemme tutkimaan asiaa matriisien avulla.
Laske matriisien SX ja H matriisituolot kummassakin järjestyksessä. Muista lisäksi, että kaksi matriisia vastaa samaa kvanttiporttia siinä tapauksessa, että ne saa toisistaan kompleksiluvulla kertomalla.
C.3.2 Paulin portit
Kuten varmasti tässä kohtaa jo muistat, niin X-portin matriisi on \[ X=\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \] ja Z-portin matriisi taas on \[ Z=\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \, . \] Kirjainten x ja z välissä on y ja sellainen kvanttiporttikin tähän kolmikkoon kuuluu. Y-portin matriisi on \[ Y=\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \, . \] Nämä kolmella portilla on keskenään mukavia ominaisuuksia. Niitä kutsutaan Paulin porteiksi ja niitä vastaavat matriisit ovat Paulin matriisit. Ne tulevat kvanttilaskennassa eteen niin usein, että niiden kanssa touhuamista kannattaa ihan erikseen harjoitella.
Wolfgang Pauli (1900-1958) oli itävaltalainen fyysikko. Pauli osallistui kvanttimekaniikan kehittämiseen. Hän oli erityisen tunnettu matemaattisesta ongelmanratkaisukyvystään. Pauli onnistui ensimmäisenä laskemaan vetyatomin spektrin kvanttimekaniikan nk. matriisimekaniikan formuloinnista vuonna 1926. Paulilla oli keskeinen asema elektronin spinin ymmärtämisessä. Paulin matriisit tulevatkin esille myös spin-1/2 hiukkasen kuvauksessa.
Aloitetaan tutkimalla Paulin matriisien tuloja. Muistatko vielä miten matriisien tulo liittyi porttilaskentaan?
Lasketaan ensimmäiseksi matriisien X ja Y tulo. Saamme \[ XY=\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} = \ ? \, . \] Laske tämä matriisitulo ja vastaa alla olevaan tehtävään.
Tämä matriisi ei heti välttämättä herätä mielenkiintoa. Vilkaise sitä tarkemmin ja vastaa seuraavaan kysymykseen.
Matriisilaskenta on mukavaa, joten lasketaan vielä tulo toisin päin. Saamme \[ YX=\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \ ? \, . \] Laske matriisitulo ja vastaa sitten alla olevaan tehtävään.
Kuten huomaat, lopputulos on eri kuin aikaisemmin, eli XY\(\neq\)YX.
Lasketaan sitten muita Paulin matriisien tuloja. Voimme ottaa laskimen käyttöön. Halutessasi voit toki laskea matriisituloja myös kynällä ja paperilla.
Kuten aikaisemmasta tiedämme, kaksi matriisia määrää saman kvanttiportin jos matriisit saadaan toisistaan kompleksiluvulla kertomalla. Esimerkiksi matriisit \[ Y=\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \, , \quad iY=\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix} \, , \quad -iY=\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} \] määräävät kaikki saman kubittiportin. Näin ollen johtopäätös edellä olleista laskuista on se, että kolmesta Paulin portista mitkä hyvänsä kaksi antavat kolmannen portin peräkkäin yhdistettynä.
Paulin matriiseilla on mukava yhteys Blochin pallon kiertoihin. Olemme jo B-osassa nähneet, että X-porttia vastaa 180o kierto x-akselin ympäri ja Z-porttia vastaa 180o kierto z-akselin ympäri. Alla on kuvattu kiertoakselit.
Ei taida tulla suurena yllätyksenä, että Y-porttia vastaa 180o kierto y-akselin ympäri. Tarkistetaan kuitenkin, että näin tosiaankin on. Tämä on oivallista harjoitusta, jonka sisäistämällä voit tunnistaa muidenkin kvanttiporttien toiminnan Blochin pallon muunnoksina.
Mieti ensin edellä esitettyjen kuvien avulla, että mikä erottaa kiertoakselin pisteet muista Blochin pallon pisteistä. Kuvissa kaksi kiertoakselille osuvaa Blochin pallon pistettä ovat sinisiä palluroita.
Haluamme tunnistaa Y-porttia vastaan kierron kiertoakselin. Sitä varten tarkastelemme yhtälöä \[ \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \begin{pmatrix} a \\ b \end{pmatrix} = \lambda \begin{pmatrix} a \\ b \end{pmatrix}\, . \] Tätä kutsutaan matriisin Y ominaisarvoyhtälöksi. Siinä tuntemattomia ovat sekä luku \(\lambda\) että vektori \({a \choose b}\). Näille käytetään nimiä ominaisarvo ja ominaisvektori. Ne kertovat jotakin olennaista matriisista ja ovat siksi sille ominaisia, siitä nämä nimitykset johtuvat.
Olemme etsimässä kiertoakselia, joten haluamme löytää sellaiset ratkaisut, joissa Y-matriisi ei muuta kvanttitilaa. Jos ominaisarvo \(\lambda\) on kompleksiluku jolle \(|\lambda|=1\), niin silloin vektorit \({a \choose b}\) ja \({\lambda a \choose \lambda b}\) vastaavat samaa kvanttitilaa. Tästä syystä ominaisarvoyhtälö on tarkasteltavan kysymyksen kannalta olennainen.
Emme lähde tässä kohtaa opettelemaan ominaisarvoyhtälöihin liittyvää teoriaa, mutta sellaisia yhtälöitä tulee meille aina välillä vastaan. Katsotaan sen vuoksi miten tämä kyseinen ominaisarvoyhtälö ratkaistaan. Ota kynä ja paperia ja laske vasemman puolen matriisitulo. Tee sen perusteella seuraava tehtävä.
Edellisessä tehtävässä löydetystä yhtälöryhmästä voidaan ensin ratkaista ominaisarvo \(\lambda\). Tälle saadaan yhtälö \(\lambda^2=1\), joten \(\lambda=\pm 1\). Tämä tarkoittaa, että tarkastelun kohteena olevalla matriisilla on kaksi ominaisarvoa ja ne ovat \(1\) ja \(-1\).
Ominaisvektori riippuu ominaisarvosta, joten nyt tarkastelumme jakautuu kahteen tapaukseen: \(\lambda=1\) tai \(\lambda=-1\). Ominaisvektorit pitää ratkaista erikseen näissä kahdessa tapauksessa.
Jatka laskemista kynää ja paperia käyttämällä. Sijoita edellisessä tehtävässä saatuun yhtälöryhmään \(\lambda=1\) ja ratkaise kompleksiluvut a ja b. Näin saat selville ominaisarvoa \(\lambda=1\) vastaavan ominaisvektorin \({a \choose b}\).
Tee sitten sama tapauksessa \(\lambda=-1\) ja selvitä sitä vastaava ominaisvektori.
Meidän pitää vielä tunnistaa ominaisvektoreita vastaavat pisteet Blochin pallolla voidaksemme määrittää Y-porttia vastaavan kiertoakselin. Tätä varten pitää laskea suhdeluku \(c=b/a\).
Kun suhdeluku \(c\) tiedetään, saadaan pisteen koordinaatin \((x,y,z)\) jaksossa C.2.2 esitetyillä kaavoilla seuraavasti:
\[\begin{align*} x=&\frac{2 c_{Re}}{1+c_{Re}^2+c_{Im}^2}, \\ & \nonumber \\ y=&\frac{2 c_{Im}}{1+c_{Re}^2+c_{Im}^2}, \\ & \nonumber \\ z=&\frac{1-c_{Re}^2-c_{Im}^2}{1+c_{Re}^2+c_{Im}^2} \, . \end{align*}\]
Ratkaise ominaisarvoon \(\lambda=1\) liittyvän vektorin koordinaatit.
Edellä olevan tarkastelun nojalla voimme päätellä, että Y-portti vastaa todellakin kiertoa, jonka akseli on y-akseli. Kierron määrän selvittäminen onnistuu, kun otamme jonkin pisteen joka ei ole kiertoakselilla ja katsomme mihin se kierrossa päätyy. Tarkasteltavassa tapauksessa tila \(\vert 0 \rangle\) ei ole kiertoakselilla, joten se on sopiva valinta. Tätä tilaa vastaava Blochin pallon piste on (0,0,1).
Nyt kun olet selvittänyt kiertoakselin ja sen mihin \(\ket{0}\) päätyy, niin ota pallo käsiisi. Mieti kierto pallon avulla.
Jokainen yhden kubitin kvanttiportti vastaa Blochin pallon kiertoa jonkin origon läpi menevän kiertoakselin suhteen. Kubittiporttia vastaava kierto selviää kahden vaiheen avulla:
Kiertoakselin saa selvitettyä ominaisarvoyhtälön ratkaisemalla, samalla tavoin kuin edellä teimme Y-portin tapauksessa.
Kierron määrä selviää, kun tunnet kiertoakselin ja tarkastelet sellaisen pisteen muuttumista, joka ei ole kiertoakselilla.
C.3.3 Swap-portti
Swap-portti, joka tunnetaan myös nimellä vaihtoportti, on kahden kubitin portti. Se on meille ennestään tuttu, mutta löytyy siitä vielä uuttaakin tutkittavaa. Swap-portti tarjoaa meille myös sellaista harjoitusta, joka on hyödyllistä muidenkin porttien tarkastelussa.
Matriisilaskennassa on kätevää antaa porteille yhden tai kahden merkin mittaiset nimet. Käytetään seuraavassa swap-portille nimeä W-portti. Jos kahden kubitin yhteistila on \(\ket{0}\otimes\ket{1}\) tai \(\ket{1}\otimes\ket{0}\), niin W-portti vaihtaa ne päittäin. Olemme B-osassa todenneetkin, että W-portin matriisi on
\[
W=\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
\] 
Entä jos kubittien yhteistila on jotakin muuta, vaikkapa \(\vert + \rangle \otimes \vert - \rangle\). Vaihtaako W-portti ne päittäin, vai tapahtuuko siinä jotakin muuta?
Jos kahden kubitin tila on lomittunut, niin silloin W-portin vaikutusta ei näe ihan suoraan. Siinä kohtaa on parasta turvautua matriisilaskentaan.
Bellin tiloja on neljä ja olemme käyttäneet niille merkintöjä \(\ket{\beta_{ab}}\), missä \(a,b=0,1\). Bellin tila \(\ket{\beta_{ab}}\) on se tila, joka saadaan alkutilasta \(\vert a \rangle \otimes \vert b \rangle\) kun siihen vaikuttaa B-portti. Kuten jaksossa C.1.2 asiaa kertasimme, voi B-portin rakentaa peräkkäisistä H-portista ja CX-portista.
Please
Kokeile itse
Rakenna vuorotellen kaikki Bellin tilat. Testaa, miten swap-portti muuttaa niille tehtyjen mittausten mittaustulosjakaumaa.
Expand by moving mouse over the exercise or by clicking
Porttisimulaattori ei paljasta kaikkea. Kun haluamme selvittää asian kunnolla, on meidän turvauduttava matriisilaskuun. Muistutuksena edellisestä jaksosta:
Vektori \(v\) on matriisin \(M\) ominaisvektori silloin, kun \(M v = \lambda v\) jollain luvulla \(\lambda\).
Lukua \(\lambda\) kutsutaan ominaisarvoksi. Jos portin matriisi on tiedossa, kannattaa portin toiminnan selvittäminen aloittaa ominaisvektorien etsimisellä.
Matriisilaskennan avulla saamme seuraava tietoa kvanttiporteista:
- Jokaisella yhden kubitin portilla on kaksi tilaa, joita se ei muuta. Poikkeuksena on ainoastaan identiteettiportti, joka ei muuta mitään tilaa.
- Jokaisella kahden kubitin portilla on vähintään neljä tilaa, joita se ei muuta.
Tilat, joita kvanttiportti ei muuta, ovat porttia vastaavan matriisin ominaisvektoreita. Kahden kubitin porttia vastaa 4x4 matriisi. Tällaisella matriisilla on neljä ominaisvektoria ja siten neljä tilaa, joita portti ei muuta. Tiloja voi olla enemmänkin. Nimittäin jos kaksi ominaisvektoria vastaa samaa ominaisarvoa, niin silloin näiden ominaisvektoreiden lineaarikombinaatiot ovat myös ominaisvektoreita. Tilojen kannalta tämä tarkoittaa sitä, että tällaisia vektoreita vastaavien tilojen superpositiotilat eivät muutu.
W-portilla on kiinnostava matemaattinen yhteys Paulin portteihin. Matriisien summa \[ I \otimes I + X\otimes X + Y \otimes Y + Z \otimes Z \] on melkein W-portti, mutta ei ihan. Laske tämä summa alla olevalla matriisilaskurilla ja katso, miten tulos eroaa W-portin matriisista.
Yllä läpikäymämme yhteys W-matriisin ja Paulin matriisien välillä on matemaattinen. Se ei ole portti-identiteetti siinä mielessä että se antaisi toisen tavan W-portin toteuttamiseen. Yhteydestä voi kuitenkin olla hyötyä matriisilaskuissa.
C.3.4 Vaiheportit
Olemme aikaisemmin tutustuneet Z-porttiin, jonka vaikutus kubittitilaan on seuraava: \[ Z (a \vert 0 \rangle + b\vert 1 \rangle) = a \vert 0 \rangle - b\vert 1 \rangle \, . \] Koska B-osassa meillä ei vielä ollut käytössä kompleksilukuja, oli Z-portti ainoa portti, joka ei muuta tiloja \(\vert 0 \rangle\) ja \(\vert 1 \rangle\), mutta muuttaa ainakin joitakin näiden superpositiotiloja. Tällaisia kvanttiportteja on kuitenkin muitakin, itse asiassa äärettömän monta erilaista. Yleisesti kutsumme sellaista porttia vaiheportiksi.
Aloitetaan vaiheportista, jolle käytetään nimeä \(\sqrt{Z}\)-portti, SZ-portti tai myös pelkästään S-portti. Ensimmäinen nimi on merkkinä hieman kömpelö, mutta antaa vinkkiä siitä minkälaisesta portista on kyse. Toinen nimi sopisi hyvin sen kanssa, että tunnemme jo SX-portin, joka on X-portin suhteen samassa asemassa kuin SZ-portti on Z-portin suhteen. On kuitenkin tullut tavaksi käyttää lyhyttä nimeä S-portti tälle portille, joten koittakaamme mekin totutella siihen.
S-portti on sellainen, että kaksi kertaa peräkkäin toimineena se johtaa samaan lopputulokseen kuin Z-portti. Kuvan avulla ilmaistuna
Näimme SX-portin kohdalla sen, että ehto SX\(\cdot\)SX=X ei täysin määrää SX-porttia. Sama pätee tässäkin, eli meillä on vapaus tehdä joitakin valintoja, kunhan löydämme sellaisen portin jolle ehto ehto S\(\cdot\)S=Z täyttyy. Vektorille \(\vert 0 \rangle\) ei Z-portti tee mitään, joten etsitään S-porttia sellaisten porttien joukosta, jotka eivät tee vektorille \(\vert 0 \rangle\) mitään. Voimme siis kirjoittaa \[ S \vert 0 \rangle = \vert 0 \rangle \, . \] Sen sijaan vektoriin \(\vert 1 \rangle\) tiedämme Z-portin vaikutuksen olevan \[ Z \vert 1 \rangle = -\vert 1 \rangle \, . \] Lähdetään hakemaan sellaista lukua \(s\), että \[ S \vert 1 \rangle = s \vert 1 \rangle \, . \] Kaksi S-portin vaikutusta pitää olla sama kuin yhden Z-portin vaikutus, joten \[ - \vert 1 \rangle = Z \vert 1 \rangle = SS \vert 1 \rangle = sS\vert 1 \rangle= s^2\vert 1 \rangle \, . \] Homma toimii halutulla tavalla kun luvuksi \(s\) valitaan sellainen luku, joka toteuttaa \(s^2=-1\).
Valitsemme vaihtoehdon \(s=i\), eli \[ S \vert 1 \rangle = i \vert 1 \rangle \, . \] Kun tiedämme S-portin vaikutuksen vektoreihin \(\vert 0 \rangle\) ja \(\vert 1 \rangle\), määräytyy lineaarisuuden nojalla vaikutus kaikkiin vektoreihin. Siispä yleiseen kubittitilaan S-portti toimii seuraavasti: \[ S (a \vert 0 \rangle + b\vert 1 \rangle) = a \vert 0 \rangle +i b\vert 1 \rangle \, . \] S-portin voi toki kirjoittaa myös matriisina. Sen saat tehdä itse.
Otimme jaksossa C.2.1 käyttöön merkinnät \[ \vert +i \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle + i \tfrac{1}{\sqrt{2}} \vert 1 \rangle \, , \quad \vert -i \rangle = \tfrac{1}{\sqrt{2}} \vert 0 \rangle - i \tfrac{1}{\sqrt{2}} \vert 1 \rangle \, . \] Nämä tilat pystyy preparoimaan käyttämällä S-porttia meille tuttujen portin kanssa. Kubittiportin matriisissa ensimmäinen pystyrivi kertoo sen, miksi tilaksi \(\ket{0}\) muuttuu ja toinen pystyrivi sen, miksi tilaksi \(\ket{1}\) muuttuu. Näin ollen etsimme porttia, jonka matriisi on \[ \begin{pmatrix} 1/\sqrt{2} & 1/\sqrt{2} \\ i/\sqrt{2} & -i/\sqrt{2} \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ i & -i \end{pmatrix} \, . \]
Please
Tehtävä
Kun olet selvittänyt, mikä porttien yhdistelmä antaa halutun matriisin, niin tee sellainen piiri. Älä lähde kokeilemaan, vaan tee tämä tehtävä yhdellä yrittämällä. (Tässä simulaattorissa et näe ulostuloa. Sinun pitää selvittää piiri Kokeile itse -laatikossa yllä.)
Expand by moving mouse over the exercise or by clicking
Voimme jatkaa porttien pilkkomista pienempiin palasiin. T-portti on sellainen portti, että kahden T-portin toiminta vastaa yhden S-portin toimintaa. Kuvan avulla ilmaistuna siis näin:
Koska S-porteista saa koottua kasaan Z-portin, niin myös T-porteista saa kasattua Z-portin. Kuinka monta porttia siihen tarvitaankaan?
Voimme etsiä T-portin matemaattisen muodon samaan tapaan kuin aikaisemmin etsimme S-portin muodon. Lähdemme jälleen valinnasta \[ T \vert 0 \rangle = \vert 0 \rangle \, . \] Vektoriin \(\vert 1 \rangle\) tiedämme S-portin vaikutuksen olevan \[ S \vert 1 \rangle = i\vert 1 \rangle \, . \] T-portin vaikutuksen tuohon vektoriin määrää jokin luku \(t\), eli \[ T \vert 1 \rangle = t \vert 1 \rangle \, . \] Kaksi T-portin vaikutusta pitää olla sama kuin yhden S-portin vaikutus, joten \[ t^2 = i \, . \] Tällä yhtälöllä on kaksi ratkaisua. Valintamme on yksi alla olevista vaihtoehdoista.
Tehdään tähän väliin muutama kvanttiporttisimulaattoriharjoitus, sillä ne pitävät mielen virkeänä. Muistatko, miten Z-portin ja H-portin avulla voit tehdä piirin, jolla on sama toiminta kuin yksittäisellä X-portilla? Kertaa tarvittaessa asia B-osan jaksosta B.6.4. Seuraavissa tehtävissä tuosta tiedosta on hyötyä.
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin yksi X-portti.
Expand by moving mouse over the exercise or by clicking
Vaiheportti voi olla muunkinlainen kuin Z-, S- tai T-portti. Mikä hyvänsä kompleksiluku \(e^{i \theta}\) määrää vaiheportin \(R_{\theta}\) seuraavasti: \[ R_{\theta} \vert 0 \rangle = \vert 0 \rangle \, , \quad R_{\theta} \vert 1 \rangle = e^{i \theta} \vert 1 \rangle \, . \] Kun kaksi tällaista vaiheporttia on peräkkäin, saadaan vaikutukseksi \[ R_{\theta} R_{\theta} \vert 1 \rangle = e^{i \theta} R_{\theta} \vert 1 \rangle = e^{i \theta} e^{i \theta} \vert 1 \rangle = e^{i2\theta} \vert 1 \rangle \, . \] Siispä \(R_{\theta} R_{\theta} = R_{2 \theta}\).
Kun mietit edellistä laskua, niin huomaat saman pätevän yleisemminkin. Useammalle peräkkäiselle vaiheportille \(R_{\theta}\) on siten voimassa \[ \stackrel{k}{\overbrace{R_{\theta} \cdots R_{\theta}} } = R_{k \theta} \] mille hyvänsä kokonaisluvulle \(k\).
Olkoot \(R_{\theta}\) ja \(R_{\phi}\) kaksi erilaista vaiheporttia, eli \(\theta \neq \phi\). Kumpikaan vaiheportti ei muuta vektoria \(\vert 0 \rangle\), joten ei muuta niiden peräkkäinenkään toiminta. Sen sijaan vektoriin \(\vert 1 \rangle\) niiden peräkkäinen toiminta on \[ R_{\theta} R_{\phi} \vert 1 \rangle = e^{i \theta} e^{i \phi} \vert 1 \rangle = e^{i (\theta + \phi)} \vert 1 \rangle \, . \] Näin ollen \[ R_{\theta} R_{\phi} = R_{\theta + \phi} \, . \] Kahden peräkkäisen vaiheportin toiminta on siten sama kuin yhden yksittäisen vaiheportin toiminta. Koska \[ R_{\phi} R_{\theta} = R_{\phi + \theta} \] ja \(\theta + \phi = \phi + \theta\), niin teemme sen johtopäätöksen, että kahden vaiheportin järjestyksellä ei ole väliä.
Käytämme kvanttiportin U käänteisportille merkintää U\(\ast\). S-portin ja T-portin käänteisportit S\(\ast\) ja T\(\ast\) tulevat välillä vastaan. Ne on helppo selvittää, kun otamme huomioon, että \(e^{2\pi i} = 1\). Näin ollen vaiheportin R\({\theta}\) käänteisportti on vaiheportti R\({\phi}\), jossa \(\phi=2 \pi - \theta\).
C.3.5 Toffoli-portti
Toffoli-portti, eli CCX-portti, on meille aikaisemmasta tuttu. Siinä X-porttiin yhdistyy kaksi kontrollipalloa. Kun meidän täytyy tarkentaa, että missä kohtaa X-portti on, niin käytämme tätä B-osasta tuttua merkintätapaa:
Toffoli-portti on kvanttiportti, mutta se on myös portti tavallisessa kääntyvässä laskennassa, sillä bittitilat johtavat täysin määrättyyn ulostuloon. Olemme A-osan jaksossa A.5.5 nähneet, että X-portin ja Toffoli-portin avulla voi toteuttaa loogiset portit AND ja OR. Toki X-portinkin voi tehdä Toffoli-portista, sillä voimmehan kiinnittää kahden kontrollibitin arvot olemaan 1. Itse asiassa kaikki tavallisen kääntyvän laskennan portit saadaan Toffoli-portteja yhdistelemällä.
Tavallisessa kääntyvässä laskennassa Toffoli-porttia ei voi rakentaa yhden ja kahden bitin porteista. Tämän seikan voi matemaattisesti todistaa, mutta emme lähde sille tielle tässä kohtaa. Sen sijaan meitä kiinnostava asia on se, että kvanttilaskennassa Toffoli-portin voi rakentaa yhden ja kahden kubitin porttien avulla. Taustalla oleva syy on, että meillä on käytössä paljon enemmän yhden kubitin portteja kuin yhden bitin portteja. Alla on esitetty Toffoli-portin toteutus. Eikö se olekin hieno?
Please
Kokeile itse
Tässä on Toffoli-portti.
Expand by moving mouse over the exercise or by clicking
B-osan harjoitustehtävissä olemme nähneet, että Toffoli-portteja voi muunnella toisikseen H-portin avulla. Se vie kuitenkin ylimääräiset kaksi askelta. Yleisesti ottaen pyrkimyksenä on käyttää mahdollisimman vähän askeleita, sillä askel vie aikaa ja ylimääräiset portit lisäävät kohinaa. Edellä esitettyä Toffoli-porttia voi muunnella siten, että kontrollipallojen sijainti muuttuu. Sinun täytyy ainoastaan järjestellä kunkin askeleen sisällä portteja uudestaan.
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin CCX<sub>1</sub>. Käytä vain yhden ja kahden kubitin portteja.
Expand by moving mouse over the exercise or by clicking
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin CCX<sub>2</sub>. Käytä vain yhden ja kahden kubitin portteja.
Expand by moving mouse over the exercise or by clicking
Aikaisemmissa toteutuksissa olemme kättäneet kahden kubitin porteista ainoastaan CX-portteja. Jos on mahdollista käyttää muitakin kontrolloituja portteja, niin silloin voidaan Toffoli-portin rakentaminen tehdä vähemmillä askeleilla.
Please
Kokeile itse
Tässä on Toffoli-portti.
Expand by moving mouse over the exercise or by clicking
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin CCX<sub>1</sub>. Käytä vain yhden ja kahden kubitin portteja.
Expand by moving mouse over the exercise or by clicking
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin CCX<sub>2</sub>. Käytä vain yhden ja kahden kubitin portteja.
Expand by moving mouse over the exercise or by clicking
C.3.6 Kontrolloitu portti
Kvanttiporttisimulaattorissa voi kontrollipallon yhdistää mihin hyvänsä yhden kubitin porttiin. Tämä on kätevää ja teorian kannalta täysin ongelmaton temppu. Kun U on mikä hyvänsä kvanttiportti, on kontrolloitu U-portti eli CU-portti, tällainen:
Kontrolloidun portin matriisi on myös helppo päätellä alkuperäisen portin matriisista. Matriisi toki riippuu siitä kumpi kubitti on kontrollikubittina. Selvyyden vuoksi tässä jaksossa ylempi kubitti on jokaisessa katsomassamme tapauksessa kontrollikubitti.
Tällaisen CU-portin matriisi on hyvin helppo muodostaa, kun kirjoitamme sen ensin lohkomatriisina. Lohkomatriisissa alkiot ovat lukujen sijaan pienempiä matriiseja ja niitä kutsutaan lohkoiksi. Matriisi saadaan tavalliseen muotoon, kun lohkot korvataan niitä vastaavien matriisien taulukoilla.
Kuten videolla kerrottiin, CU-portin matriisi lohkomuodossa on \[ CU = \begin{pmatrix} I_2 & O_2 \\ O_2 & U \end{pmatrix} \, . \] Tässä I2 on 2x2 identiteettimatriisi ja O2 2x2 nollamatriisi. Nollamatriisin kaikki alkiot ovat nollia. Jätämme matriisin koon merkkaavan alaindeksin pois, jos se on asiayhteydestä selvä. Kannattaa pitää mielessä, että CU on eri portti kuin I\(\otimes\)U. Tämän jälkimmäisen matriisi on \[ I\otimes U = \begin{pmatrix} U & O \\ O & U \end{pmatrix} \, . \]
Alla olevassa tehtävässä kannattaa ensin kirjoittaa paperilla kysytty matriisi lohkomuodossa, tai sitten ajatella lohkoja päässä.
Lohkomatriisien hienous on siinä, että niillä voi laskea samaan tapaan kuin matriiseilla muutenkin.
Mitä tekee kaksi peräkkäistä CX-matriisia? Lohkomatriisien avulla laskemalla saamme
\[ CX \cdot CX = \begin{pmatrix} I & O \\ O & X \end{pmatrix} \cdot \begin{pmatrix} I & O \\ O & X \end{pmatrix} = \begin{pmatrix} I & O \\ O & X^2 \end{pmatrix} = \begin{pmatrix} I & O \\ O & I \end{pmatrix} = I_4 \, . \] Tämä lasku osoittaa, että kaksi peräkkäistä CX-porttia kumoaa toisensa, joten lopputuloksena ei tapahdu mitään. Sen jo tiesimmekin, mutta näin pystyimme osoittamaan asian lyhyellä matriisilaskulla.
Lohkomatriisien avulla on helppo nähdä myös seuraava asia. Jos kvanttiporteille E,F ja U pätee E\(\cdot\)F=U, niin vastaaville kontrolloiduille porteille pätee CE \(\cdot\) CF = CU. Tämän osoittaa seuraava lasku. \[ CE \cdot CF = \begin{pmatrix} I & O \\ O & E \end{pmatrix} \cdot \begin{pmatrix} I & O \\ O & F \end{pmatrix} = \begin{pmatrix} I & O \\ O & EF \end{pmatrix} = \begin{pmatrix} I & O \\ O & U \end{pmatrix} = CU \, . \]
Kuvien avulla tämä johtopäätelmä voidaan esitää näin:
Alla olevat tehtävät ovat tämän reseptin helppoja sovelluksia.
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin CX-portti, jossa ylempi kubitti on kontrollikubitti.
Expand by moving mouse over the exercise or by clicking
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin yksi CX-portti, jossa ylempi kubitti on kontrollikubitti.
Expand by moving mouse over the exercise or by clicking
Usein ainoastaan yksi kontrolloitu portti on kvanttitietokoneen natiiviportti ja muut kontrolloidut portit pitää rakentaa sen ja yhden kubitin porttien avulla. Meillä voi olla tiedossa, miten jokin haluttu portti U saadaan tuntemiamme porttien yhdistelmänä. Mutta entä miten saadaan toteuttua kontrolloitu U-portti?
Jos on olemassa portti-identiteetti \[ U=E^* F E \] jollain portilla E ja F, niin silloin kontrolloitu U-portti, eli CU, saadaan kontrolloidusta F-portista, eli CF-portista, reseptillä \[ CU = (I \otimes E^*) CF (I \otimes E) . \] Kuvana tämä tarkoittaa seuraavaa:
Tämä sääntö on helppo nähdä todeksi lohkomuotoisilla matriiseilla laskemalla: \[\begin{align*} I \otimes E^* \cdot CF \cdot I \otimes E & = \begin{pmatrix} E^* & O \\ O & E^* \end{pmatrix} \cdot \begin{pmatrix} I & O \\ O & F \end{pmatrix} \cdot \begin{pmatrix} E & O \\ O & E \end{pmatrix} = \begin{pmatrix} I & O \\ O & E^*FE \end{pmatrix} = \begin{pmatrix} I & O \\ O & U \end{pmatrix} \\ &= CU \, . \end{align*}\] Tästä reseptistä on toki hyötyä ainoastaan silloin, kun CF-portti osataan toteuttaa. Yksi esimerkkitapaus on tullut meille jo tutuksi. Nimittäin X-portille on voimassa portti-identiteetti HXH=Z. Olemme jo A-osassa todenneet, että pätee myös \[ CX = (I \otimes H) CZ (I \otimes H) . \] Tämä on selvästi erikoistapaus yllä esitetystä kontrolliportin hajotelmasta.
Tarkastellaan seuraavaksi CSX-portin, eli kontrolloidun SX-portin, toteuttamista. Etsitään portille SX sopivaa portti-identiteettiä. Tiedämme, että SX\(\cdot\)SX=X. Toisaalta lähtemällä liikkeelle portti-identiteetistä X=HZH saamme \[ X=HZH=HSSH=HSHHSH \] Koska (HSH)(HSH)=X, niin HSH on sellainen matriisi, joka on matriisin X neliöjuuri. Aikaisemmasta muistamme, että matriisin neliöjuuri ei ole yksikäsitteinen. Olemme löytäneet yhden neliöjuuren, jonka nimesimme matriisiksi SX, mutta se ei ollut ainoa mahdollinen ratkaisu. Siten on syytä vielä erikseen tarkastaa, että \[ SX=HSH \] on voimassa.
Näin ollen voimme todeta, että \[ CSX = (I \otimes H) CS (I \otimes H) . \]
Seuraavassa tehtässä sinun tulee käyttää kumpaakin oppimaamme reseptiä.
Please
Tehtävä
Tee annettujen porttien avulla sellainen piiri, joka toimii samalla tavalla kuin yksi CSX-portti, jossa ylempi kubitti on kontrollikubitti.
Expand by moving mouse over the exercise or by clicking
Palautteesi jaksosta C.3
C.4 Kvanttipiirit
Yksittäinen kvanttiportti ei riitä kummoiseenkaan kvantti-infromaation prosessointiin, vaan portteja täytyy yhdistellä kokonaisuuksiksi.
C.4.1 Vaihepotku
CZ-portin avulla on havainnollista tutkia vaihepotkua. Täksi kutsutaan sitä vaikutusta, joka kontrolloidulla portilla on kontrollikubittiin, eli siihen kubittiin, joka on kontrollipallon puolella. Äkkiseltään voisi ajatella, että kontrollikubitin tila ei muutu. Sehän ainoastaan kontrolloi toisen kubitin muutosta, eikö? Tämä ei kuitenkaan pidä paikkaansa, vaan kontrolliportin vaikutus voi näkyä pelkästään kontrollikubitissa! Perehdytäänpä hiukan asiaan.
Vaihepotkua ei tapahdu aina, vaan ainoastaan tietyissä tilanteissa. Tarkastellaan tilannetta, jossa kontrollikubitti on tilassa \(\vert + \rangle\) ja kohdekubitti tilassa \(\vert 1 \rangle\). Tiedämme, että Z\(\vert 1 \rangle\)=\(-\vert 1 \rangle\). Mutta nyt portti ei ole pelkkä Z-portti, vaan kontrolloitu Z-portti.
Kontrollikubitti on tilojen \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) superpositiotilassa, joten tässä tapauksessa ei ole ilmiselvää miten CZ-portti tiloja muuttaa. Portin vaikutuksen näkee, kun kirjoitamme \(\vert + \rangle \otimes\vert 1 \rangle\) hieman eri muodossa. Ota kynä ja paperia käyttöösi. Muistele, miten vektori \(\vert + \rangle\) kirjoitetaan vektoreiden \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) superpositiona. Käytä tätä muotoa vektorille \(\vert + \rangle\) ja vastaa alla olevaan kysymykseen.
Tiedämme, miten CZ-matriisi vaikuttaa vektoreihin, jotka ovat vektoreiden \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) tensorituloja. Esimerkiksi \[ CZ(\vert 0 \rangle \otimes \vert 0 \rangle) = \vert 0 \rangle \otimes \vert 0 \rangle, \quad CZ(\vert 0 \rangle \otimes \vert 1 \rangle) = \vert 0 \rangle \otimes \vert 1 \rangle , \] sillä mitään ei tapahtu kun kontrollikubitti on tilassa \(\vert 0 \rangle\). Muutkin kohdat on helppo päätellä kun mietit CZ-portin toimintaa.
Käytä vektorille \(\vert + \rangle \otimes \vert 1 \rangle\) hajotelmaa kahdeksi vektoriksi, jonka laskit edellisessä kysymyksessä. Matriisi operoi vektoreihin lineaarisesti, joten tästä saat laskettua CZ-matriisin vaikutuksen vektoriin \(\vert + \rangle \otimes \vert 1 \rangle\).
Nyt olet laskenut sen, miksi tilaksi alkutila \(\vert + \rangle \otimes\vert 1 \rangle\) muuttuu CZ-portin vaikutuksesta. Meidän pitää vielä tunnistaa tämä tila. Tehdään seuraava havainto. Jos ensimmäinen kubitti on tilassa \(a \vert 0 \rangle + b \vert 1 \rangle\) ja toinen tilassa \(\vert 0 \rangle\), niin yhteistila voidaan kirjoittaa
\((a \vert 0 \rangle + b \vert 1 \rangle )\otimes\vert 0 \rangle = a \vert 0 \rangle \otimes\vert 0 \rangle + b \vert 1 \rangle \otimes\vert 0 \rangle\).
Vastaavasti, jos toinen kubitti on tilassa \(\vert 1 \rangle\), niin yhteistila voidaan kirjoittaa
\((a \vert 0 \rangle + b \vert 1 \rangle )\otimes\vert 1 \rangle = a \vert 0 \rangle \otimes\vert 1 \rangle + b \vert 1 \rangle \otimes\vert 1 \rangle\).
Vertaa näitä edellisen kysymyksen vastaukseen. Kumpi vastaa sopivilla a:n ja b:n arvoilla kysymyksen vastauksessa olevaa vektoria?
Olemme saaneet laskun loppuun. Nyt täytyy vielä ymmärtää sen johtopäätös.
Osaatko nähdä johtopäätöksen kvanttiporttisimulaattorin avulla? Mittaus ei näytä tilojen \(\vert + \rangle\) ja \(\vert - \rangle\) eroa suoraan, joten piiriin pitää lisätä jotain muutakin. Kun näihin tiloihin vaikuttaa H-portilla, niin ero saadaan näkyviin. Tämä johtuu siitä, että
\(H \vert + \rangle = \vert 0 \rangle\), \(H \vert - \rangle = \vert 1 \rangle\),
joten H-portin jälkeinen mittaus johtaa varmaan mittaustulokseen.
Mitä mittaukset antavat? Kaikki olennainen sisältyy edellä läpikäymäämme johtopäätökseen.
Please
Kokeile itse
Tee yllä olevan mukainen porttimuodostelma ja laita syötteeksi 01. Osaatko kertoa mittaustulokset jo ennen kuin laitat portit paikoilleen? Mieti yhteys aikaisempaan tarkasteluumme.
Expand by moving mouse over the exercise or by clicking
CZ-portti on siinä mielessä erityinen portti, että se ei näe eroa kontrollikubitin ja kohdekubitin välillä, riippumatta kubittien tiloista. Tämän totesimme jaksossa C.1.2 ja sama pätee kaikille kontrolloiduille vaiheporteille. Tästä voi syntyä perusteltu kysymys, että onko vaihepotku ainoastaan kontrolloitujen vaiheporttien ominaisuus. Tarkastellaan asiaa vielä lisää.
Edellä läpikäymämme esimerkki yleistyy melko suoriivaisesti sellaiseen kontrolloidun U-portin vaikutukseen, jossa
- kontrollikubitti on tilojen \(\vert 0 \rangle\) tai \(\vert 1 \rangle\) superpositiotilassa \(a \ket{0}+b\ket{1}\), jossa \(a\neq0\) ja \(b\neq 0\)
- kohdekubitti on sellaisessa tilassa \(\ket{\psi}\), jolle \(U\ket{\psi}=z\ket{\psi}\) jollain kompleksiluvulla \(z\neq 1\).
Jälkimmäinen ehto tarkoittaa matemaattisesti sitä, että tilaa vastaa matriisin ominaisvektori ja ominaisarvo on jotakin muuta kuin 1. Tätä lukua \(z\) kutsutaan vaiheeksi ja siitä tulee nimitys vaihepotku. Ominaisarvo ja ominaisvektori saadaan ratkaistua ominaisarvoyhtälöstä. Teimme tällaisen laskun jaksossa C.3.2 Y-portin kohdalla. Kun nämä kaksi ehtoa on voimassa, niin kohdekubitin tila ei muutu, mutta kontrollikubitin tila kokee muutoksen \[ a \ket{0}+b\ket{1} \mapsto a \ket{0}+\red{z}b\ket{1} \, . \]
Oletetaan, että \(U \ket{\psi} = e^{i \theta} \ket{\psi}\). Tällöin
\[\begin{align*} CU (a \vert 0 \rangle + b \vert 1 \rangle)\otimes \ket{\psi} &= a\cdot CU( \vert 0 \rangle \otimes \ket{\psi}) + b\cdot CU( \vert 1 \rangle\otimes \ket{\psi}) \\ &= a \vert 0 \rangle \otimes \ket{\psi} + e^{i \theta}b \vert 1 \rangle\otimes\ket{\psi} \\ &= (a \vert 0 \rangle + e^{i \theta} b\vert 1\rangle)\otimes \ket{\psi} \end{align*}\]
Siispä vektori \(\ket{\psi}\) ei muutu, kun taas vektori \(a \vert 0 \rangle + b \vert 1 \rangle\) muuttuu vektoriksi \(a \vert 0 \rangle + e^{i \theta} b\vert 1\rangle\).
Tarkastellaan CX-porttia. B-osassa löysimme seuraavanlaisen portti-identiteetin:
Tarkistimme B-osassa matriisilaskun avulla, että tämä portti-identiteetti on tosi. Vaihepotkun miettiminen ei sinänsä tuo tähän uutta, mutta se antaa tavan hahmottaa asiaa. Mieti vasemman puoleista piiriä ja seuraavanlaista informaation prosessointia vaiheittain:
Otetaan alkutilaksi \(\vert 0 \rangle \otimes \vert 1 \rangle\).
Ensimmäisen askeleen kohdalla H-portit muuntavat tämän tilaksi \(\vert + \rangle \otimes \vert - \rangle\).
Toisen askeleen kohdalla on CX-portti. Vektori \(\vert - \rangle\) on vaihepotkun kannalta sopiva, sillä \(X \vert - \rangle = - \vert - \rangle.\) Vaihepotkun ehdot ovat voimassa, joten vaihe -1 tulee potkaistuksi kontrollikubitin puolelle. Täten ylemmän kubitin tila \(\vert + \rangle\) muuttuu tilaksi \(\vert - \rangle\).
Kolmannessa askeleessa H-portit muuttavat tilat \(\vert - \rangle\) tiloiksi \(\vert 1 \rangle\).
Kokonaisuudessaan alkutila \(\vert 0 \rangle \otimes \vert 1 \rangle\) muuttuu siis tilaksi \(\vert 1 \rangle \otimes \vert 1 \rangle\). Tämä on juuri se vaikutus, joka vasemmanpuoleisella CX-portilla on alkutilaan \(\vert 0 \rangle \otimes \vert 1 \rangle\). Näin ollen tätä kyseistä portti-identiteettiä voi pitää osoituksena vaihepotkusta.
Tarkastellaan sitten kontrolloitua SX-porttia, eli CSX-porttia. Ensiksi pitää selvittää SX-portin ominaisvektorit ja ominaisarvot. Ei lähdetä tässä kohtaa ratkaisemaan ominaisarvoyhtälöä, vaan testataan SX-portin matriisin toimintaa meille tuttuihin vektoreihin.
Tarkastellaan alla olevaa tilannetta. Kontrollikubitin lopputila riippu sen alkutilasta.
Aikaisemman keskustelun perusteella pystyt päättelemään, miten kontrollikubitin tila muuttuu.
CSX-portin aiheuttaman vaihepotkun havaitseminen ei porttisimulaattorissa ole täysin suoraviivasta, sillä emme suoraan näe tilojen \(\ket{+}\), \(\ket{-}\), \(\ket{+i}\) ja \(\ket{-i}\) eroja. Kuten aikaisemmin CX-portin tapauksessa, erot tulevat näkyviin jos CSX-portin jälkeen on sopivia portteja ennen mittauksia. Tässä tapauksessa meitä kiinnostaa tällainen porttiyhdistelmä:
Please
Kokeile itse
Tee yllä olevan mukainen piiri ja tutki sen toimintaa eri syötteillä. Osaatko selittää sen toiminnan tietyillä syötteillä vaihepotkua miettimällä?
Expand by moving mouse over the exercise or by clicking
C.4.2 Porttijoukon generaattorit
Olemme tutustuneet useaan erilaiseen kvanttiporttiin. Meille on myös tullut selväksi se, että joitakin portteja yhdistelemällä saadaan toisia tuttuja portteja. Esimerkiksi HZH=X. Tällaisia yhteyksiä kutsumme portti-identiteeteiksi.
Jonkin porttijoukon generaattorit ovat ne portit, joiden yhdistelmistä voidaan muodostaa kaikki tarkasteltavan joukon portit. Porttien generoimiseen liittyy kaksi kysymystä:
Kun jokin tietty porttijoukko on valittu, niin mikä on jokin (pieni) joukko generaattoreita?
Kun jotkin portit valitaan genraattoreiksi, niin mikä joukko saadaan generoitua?
Perehdymme tässä jaksossa kumpaakin näistä kysymyksistä esimerkkien avulla.
Tarkastellaan ensin sellaisia portteja, jotka ovat portteja myös tavallisessa porttilaskennassa. Nämä muuttavat bitin tilat \(\ket{0}\), \(\ket{1}\) ja näiden tensoritulot, esim. \(\ket{1}\otimes\ket{0}\), toisiksi bittitiloiksi. Laskenta on kääntyvää, joten kaksi eri tilaa kuvautuu eri tiloiksi.
Yhden bitin tapauksessa on ainoastaan kaksi porttia: I ja X.
Kahden bitin tapauksessa meillä on paljon enemmän portteja. On ensinnäkin X-portti kummallakin bitillä erikseen, eli X\(\otimes\)I ja I\(\otimes\)X. Sitten on CX-portti ja AX-portti kumminkin päin sekä swap-portti. Näitä portteja yhdistelemällä saadaan vielä uusia portteja. Uusia portteja ei synny kuitenkaan loputtomasti. Esimerkiksi CX-portin ja AX-portin yhdistelmä on jo yksi näistä edellä mainituista porteista. Osaatko päätellä mikä portti se on?
Please
Tehtävä
Tutki piirin toimintaa. Korvaa se sitten yhdellä portilla, jonka toiminta vastaa koko piirin toimintaa.
Expand by moving mouse over the exercise or by clicking
Yllä olevasta tehtävästä voimme todeta, että kahden portin yhteivaikutus voi olla yksinkertaisempi kun kumpikaan yhdistettävistä porteista. Ei ole välttämättä äkkiseltään selvää, että miten portteja pitäisi alkaa luetteloimaan. Meitä kiinnostava ensimmäinen kysymys on:
- Kuinka paljon on erilaisia kahden bitin portteja?
Porttien laskeminen onnistuu helposti, kun jätämme portin toteutuksen hetkeksi huomiotta ja mietimme ainoastaan portin toimintaa. Jokainen kahden bitin portti on 4x4 matriisi, joka laittaa bittiparit 00, 01, 10 ja 11 uuteen järjestykseen. Bittiparien uusi järjestys on lueteltu matriisin pystyriveillä. Esimerkiksi \[ \begin{pmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} \] on jokin kahden bitin portti. Tällaisessa matriisissa on jokaisella pystyrivillä ja jokaisella vaakarivillä on tarkalleen kerran 1 ja muut alkiot ovat 0. Matemaattiselta nimeltään tämänkaltainen matriisi on permutaatiomatriisi.
Lasketaan 4x4 permutaatiomatriisien lukumäärä. Ensimmäiselle pystyriville luvun 1 paikan voi valita neljästä vaihtoehdosta. Seuraavalla pystyrivillä vapaita valintoja on enää kolme, sillä ensimmäinen valinta sulkee yhden vaakarivin pois. Kolmannella pystyrivillä on kaksi valintaa ja viimeinen määräytyy täysin aikaisemmista valinnoista. Permutaatiomatriisien lukumäärä on näiden valintojen lukumäärien tulo.
Permutaatiomatriisit tulevat matematiikassa vastaan erilaisissa yhteyksissä ja tämän joukon rakenne tunnetaan hyvin. Kaikki tietyn kokoiset permutaatiomatriisit saadaan generoitua pienemmästä joukosta permutaatiomatriiseja.
Tarkastelemassamme tapauksessa permutaatiomatriisien koko on 4x4. Tälle matriisien joukolle voidaan valita useita erilaisia generoivien matriisien joukkoja. Katsotaan seuraavaksi erästä generaattoreiden joukkoja. Emme tässä kohtaa todista, että tämä joukko generoi kaikki 4x4 permutaatiomatriisit, vaan otamme sen uskon asiana. Löydät asiasta lisätietoa hakusanalla permutaatioryhmä. Voit myös toki halutessasi tarkistaa, että generaattoreita kertomalla saadaan kaikki 4x4 permutaatiomatriisit.
Permutaatiomatriisien generaattorit: Valitsemme generaattoreiksi kolme matriisia, P1, P2 ja P3. Matriisi P1 vaihtaa bittiparit 00 ja 01, mutta ei tee kahdelle muulle bittiparille mitään. Vastaavasti matriisi P2 vaihtaa bittiparit 01 ja 10 ja matriisi P3 vaihtaa bittiparit 10 ja 11. Matriiseina kirjoitettuna nämä ovat \[ P_1=\begin{pmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \, , P_2=\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \, , P_3=\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} \, . \]
On melko selvää, mitä saat matriisien P1 ja P3 tulona. Voit jopa päätellä tämän ilman matriisilaskua, sillä nämä matriisit vaihtavat erillisiä bittipareja. Nimittäin ensimmäinen vaihtaa bittiparit 00 ja 01 ja toinen bittiparit 10 ja 11, joten yhteisvaikutuksen vaihtuu molemmat parit. Siispä \[ P_1 \cdot P_3=\begin{pmatrix} 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} \, . \] Sen sijaan matriisien P1 ja P2 tulon päässälasku ei ole aivan yhtä helppo, sillä kumpikin vaikuttaa bittipariin 01. Voit laskea sen alla olevassa Maxima-laatikossa.
Permutaatiomatriisi P4 vaihtaa bittiparit 00 ja 10, mutta ei tee mitään muuta. Matriisina kirjoitettuna se on siis \[ P_4=\begin{pmatrix} 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \, . \] Tehtävänäsi on etsiä matriisien P1, P2, P3 yhdistelmä, joka antaa matriisin P4. Sinun kannattaa käyttää tähän yllä olevaa Maxima-laskinta. Laita lopuksi ratkaisusi alla olevaan porttisimulaattoriin.
Please
Tehtävä
Rakenna sellainen piiri, jonka toiminta vastaa yllä olevaa matriisia P<sub>4</sub>. Älä lähde arvailemaan, vaan etsi ratkaisu ensin Maxima-laskimella.
Expand by moving mouse over the exercise or by clicking
Tiedämme, että permutaatiomatriisit ovat joitakin porttien yhdistelmiä. Meitä toki kiinnostaa, että mitä porttiyhdistelmiä ne vastaavat. Portit P1, P2 ja P3 vastaavat kukin yhtä meille tuttua porttia. Saatat tunnistaa nämä matriisit tiettyjen porttien matriiseiksi. Voit myös mennä katsomaan aikaisempien tehtävien ratkaisujasi B-osan jaksosta B.2.4.
Please
Tehtävä
Tunnista edellä kuvattujen permutaatiomatriisien porttitoteutukset. Rakenna ne sitten peräkkäin siten, että P<sub>1</sub> on 1. askeleen kohdalla, P<sub>2</sub> on 2. askeleen kohdalla ja P<sub>3</sub> on 3. askeleen kohdalla. Paina 'Tallenna' vasta sitten kun olet löytänyt sellaiset portit, joiden toiminta vastaa kyseessä olevia matriiseja.
Expand by moving mouse over the exercise or by clicking
Tarkastellaan sitten varsinaisten kvanttiporttien generointia.
On selvää, että jo yhden kubitin erilaisia portteja on äärettömän paljon. Onhan nimittäin jo erilaisia vaiheportteja jokaista reaalilukua \(0<\theta<2 \pi\) kohti. Vaiheportteja ei myöskään voi generoida jostakin äärellisestä määrästä vaiheportteja.
Kvanttiporttien tapauksessa generoivien porttien joukkoon otetaan yleensä kaikki yhden kubitin portit. Kysymykseksi tulee sitten se, että mitä muita portteja tarvitaan, että saadaan kaikki kahden kubitin portit. Voidaan osoittaa, että yksi kahden kubitin portti yhdessä kaikkien yhden kubitin porttien kanssa antaa kaikki kahden kubitin portit. Täksi generoivaksi kahden kubitin portiksi on useampia vaihtoehtoja, mutta mikä hyvänsä kahden kubitin portti ei kuitenkaan kelpaa. Vaatii matemaattista tarkastelua sen osoittamiseksi, että jokin portti kelpaa generaattoriksi. Sen sijaan on yksi sellainen kahden kubitin portti, jonka sopimattomuus generaattoriksi on helposti ymmärrettävissä.
Kysymys on kiinnostava myös toisin päin: valitaan jokin kvanttiporttien joukko ja katsotaan minkälainen joukko niistä saadaan generoitua. Harjoituksen vuoksi tarkastellaan seuraavaa kysymystä:
- Kuinka monta erilaista kvanttiporttia saadaan portteja H ja Z yhdistelemällä?
Todetaan ensimmäisenä, että HZH=X, eli X-portti saadaan generoitua. Erilaisten porttien tunnistamiseksi meidän onkin helpompaa ajatella X-portin olevan yksi generaattoreista. Portti-identiteetin vuoksi tämä ei tuo generoituun joukkoon mitään lisää, mutta tarkasteluun tulee lyhyempiä porttiyhdistelmiä. Muistetaan myös se, että HH=XX=ZZ=I, eli kaksi samaa porttia peräkkäin kumoutuu. Olemme oppineet senkin, että XZ=-ZX. Näin ollen peräkkäisten porttien X ja Z paikan vaihtaminen ei muuta porttiyhdistelmää, sillä matriisin kertominen luvulla -1 ei muuta porttia. Tämä yhteys tulee käyttöön seuraavassa tarkastelussa.
Lähdetään tarkastelemaan porttiyhdistelmää, jossa H-portti on ensimmäisenä. Tällöin saamme kolme yhdistelmää:
- HH=I
- HX
- HZ
Kirjanpitoa helpottaa puudiagrammin piirtäminen. Keltainen väri tarkoittaa, että ei synny uutta porttia kun taas muut tapaukset vaativat jatkotarkastelua.
Tarkista alla olevalla Maxima-laskemilla ovatko HX ja HZ uusia portteja, eli siis jotain muuta kuin I, H, X ja Z. Muista myös se seikka, että kaksi matriisia määrittää saman portin jos ne saadaan toisitaan kertomalla kompleksiluvulla. Näissä porteissa on vain reaalilukuja, joten riittää huomioida luvulla -1 kertominen.
Sitten menemme kolmen portin yhdistelmiin, joissa H-portti on ensimmäisenä:
- HXH
- HXX
- HXZ
- HZH
- HZX
- HZZ
Päättele tai tarkista Maxima-laskimella, mitkä näistä ovat uusia portteja, eli jotain muuta kuin I, H, X, Z, HX, HZ tai jokin näistä kerrottuna luvulla -1.
Jatka puudiagrammin piirtämistä perustuen löydöksiisi.
Jatka tarkastelua ja tee H-portista alkava puudiagrammi loppuun. Siitä kannattaa piirtää itsellesi kuva. Käytä kokeiluun yllä olevaa matriisilaskuria.
Tarkastellaan edellisen kysymyksen oikeita vastauksia. Eräs niistä voidaan kirjoittaa kahden portin avulla. Kun käytät tuntemiasi portti-identiteetteja, niin saat lyhennettyä neljän portin yhdistelmän kahden portin yhdistelmäksi. Voit toki myös laskea Maximalla kahden matriisin tulot ja verrata niihin.
Käy tämä H-portista alkanut puudiagrammi loppuun asti, eli luokittele matriisituloja niin pitkälle, että mikään haara ei enää anna uusia portteja.
Tee sitten samanlainen tarkastelu X-portista alkaville porttiyhdistelmille. Nyt sinun täytyy verrata portteja kaikkiin aikaisemmin saamiisi portteihin.
Tapaus XX=I on selvä. Entä XH ja XZ? Ovatko ne jo tulleet esille aikaisemmassa tarkastelussa?
Kun olet luetteloinut H-portilla ja X-portilla alkavat porttiyhdistelmät, olet käynyt läpi kaikki mahdolliset portit. Z-portilla alkavat porttiyhdistelmät eivät nimittäin tuo mukaan uusia portteja (pelkän Z-portin lisäksi). Miksi?
Tämä yhden kubitin porttien generointi oli verrattain helppo selvittää. Tilanne muuttuu melkoisesti hankalammaksi jos tarkastellaan kahden kubitin portteja ja generaattorien joukkoon otetaan jokin kontrolloitu portti. Palaamme porttien generointiin harjoitustehtäviä -jaksossa.
C.4.3 Deutschin algoritmi
Algoritmi on täsmällisesti määritelty ja yksikäsitteinen joukko vaiheittaisia ohjeita, jotka muuntavat annetun syötteen halutuksi tulosteeksi ja jotka takaavat prosessin päättymisen äärellisessä ajassa. Kvanttialgoritmi on algoritmi tässä mielessä, mutta se on tarkoitettu ohjaamaan kvanttiprosessoria. Yksittäinen kvanttipiiri voi olla kvanttialgoritmin konkreettinen toteutus, edellyttäen että piirillä on jokin tietty tarkoitus.
Tässä jaksossa pääset itse löytämään Deutschin algoritmin. Se on ehkäpä yksinkertaisin kvanttipiiri, jota voi kutsua kvanttialgoritmiksi. Tälle kvanttialgoritmille ei ole löytynyt varsinaista hyötykäyttöä. Siihen perehtyminen kannattaa kuitenkin siitä syystä, että se näyttää yhden oleellisen puolen kvanttipiirien toiminnasta.
Tarkastellaan ensin alustavaa kysymystä, jossa pitää saada tietoa funktiosta. Tuntematon funktio f on määritelty joukossa {0,1} ja se saa arvoja -1 ja 1. Tällaisia funktioita on tarkalleen neljä erilaista ja ne on helppo luetella:
- \(f(0) = f(1) = 1\)
- \(f(0) = f(1) = -1\)
- \(f(0) = 1, f(1) = -1\)
- \(f(0) = -1, f(1) = 1\)
Kahta ensimmäistä funktiota sanotaan vakiofunktioiksi, sillä niiden arvo ei muutu.
Kysymys: Onko tuntematon funktio vakiofunktio vai ei?
Oikeastaan meitä kiinnostava ongelma on se, että mitä pitää selvittää voidakseen vastata tuohon kysymykseen. Voimme ajatella tuntematonta funktiota mustana laatikkona, johon voi syöttää luvun x ja se antaa ulos luvun f(x).
On selvää, että kysymyksen ratkaisemiseksi pitää laatikkoon syöttää molemmat luvut, x=0 ja x=1. Näin ollen tarvitaan kaksi mustan laatikon käyttökertaa.
Tarkastellaan sitten toisenlaista muotoilua samalle kysymykselle. Funktion arvot voi kirjoittaa matriisin diagonaalille. Näin neljää aikaisempaa funktiota vastaa matriisit \[ 1. \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \, , \quad 2. \begin{pmatrix} -1 & 0 \\ 0 & -1 \end{pmatrix} \, , \quad 3. \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \, , \quad 4. \begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix} \, . \] Näihin matriiseihin on kirjoitettu sama tieto mikä funktioissa on, mutta eri tavalla. Kun ajattelemme näitä matriiseja kvanttiportteina, niin silloin kompleksiluvulla kertominen ei muuta porttia. Näin ollen 1. ja 2. matriisi vastaa identiteettiporttia I ja 3. ja 4. matriisi vastaa Z-porttia. Se ei lainkaan haittaa, että kaksi funktiota tulee esitettyä saman portin avulla, sillä meidänhän pitää erottaa ainoastaan onko funktio vakiofunktio vai ei. Nyt molemmat vakiofunktiot vastaavat identiteettiporttia ja kaksi muuta funktiota vastaa Z-porttia.
Kysymyksen uudestaan muotoiltu versio: Onko tuntematon kvanttiportti I vai Z?
Kysymyksen uusi muotoilu näyttää kysyvän samaa asiaa. Siten voisi ajatella, että myös tätä uudenlaista mustaa laatikkoa, jossa on tällä kertaa tuntematon kvanttiportti, täytyy käyttää kaksi kertaa kysymykseen vastaamiseksi. Vaikka kysymys on sinällään sama, mahdollistaa uusi muotoilu kuitenkin kvanttipiirin käytön ratkaisun apuna. On nimittäin mahdollista rakentaa kvanttipiiri, jossa on keskellä paikka tuntemattomalle portille. Piirin tulee toimia seuraavasti:
Jos tuntematon portti on identiteettiportti, niin silloin mittaustulos on varmuudella 0.
Jos tuntematon portti on Z-portti, niin mittaustulos on varmuudella 1.
Pystyt rakentamaan halutunlaisen piirin kun muistelet tietojasi Z-portista.
Please
Kokeile itse
Rakenna sellainen piiri askeleisiin 1,2 ja 4,5, että voit testata askeleen 3 kohdalla olevaa tuntematonta porttia. Tee piiri siten, että mittautulos 0 tarkoittaa tuntemattoman portin olevan identiteettiportti ja mittaustulos 1 tarkoittaa sen olevan Z-portti. (Piiriä kannattaa ensin testata siten, että 3. askeleen kohdalla ei ole mitään tai siinä on Z-portti.)
Expand by moving mouse over the exercise or by clicking
Kun olet saanut piirin rakennettua ja varmistanut sen toimivan oikein, niin testaa tuntemattomat portit P1 -- P6.
Deutschin algoritmin ydinopetus on, että kvanttifysikaalinen superpositio voidaan valjastaa tuottamaan tietoa vähemmillä funktiokutsuilla kuin mitä klassinen menetelmä sallii. Tähän ei kuitenkaan ole mitään suoraviivaista reseptiä.
C.4.4 Kvanttitietokoneen ohjelmointi
Kvanttitietokoneen ohjelmointi tarkoittaa kokonaisuutta, jossa määritellään ja toteutetaan laskentaprosessi käyttäen yhtä tai useampaa kvanttialgoritmia. Kvanttipiirin rakentaminen on siten osa ohjelmointia, mutta siihen kuuluu muutakin.
Olet tullut jo varsin sujuvaksi kvanttipiirien rakentajaksi simulaattoriharjoitusten avulla. Kun piirissä kubittien määrä on iso ja askeleita on paljon, niin simulaattori ei ole enää käyttökelpoinen apuväline. Tällöin pitää siirtyä käyttämään tekstipohjaista ohjelmointikieltä. Tällaista ohjelmointikieltä, jolla ohjataan kvanttiprosessoria, kutsutaan kvanttiohjelmointikieleksi.
Jyväskylän yliopistossa työskentelevä Ronja Heikkinen tutkii erilaisia kvanttiohjelmistokieliä ja kvanttiohjelmistoja. Seuraavalla videolla hän kertoo kvanttitietokoneen ohjelmoinnista.
Käydään vielä tarkemmin läpi joitakin videolla tulleita asioita. Kvanttitietokoneen ohjaamiseen tarkoitettuja ohjelmointikieliä on useita, mm.
- OpenQASM
- Qiskit
- Cirq
- Q#
- PennyLane
- Qrisp
OpenQASM on selkeästi standardisoitu kvanttiohjelmointikieli. Se on Assembly-kielen tyyppinen ja antaa kehittäjälle mahdollisuuden työskennellä matalalla abstraktiotasolla. Qiskit on IBM:n kehittämä Python-pohjainen kirjasto. Se on suosittu ja laajasti dokumentoitu kvanttiohjelmointikieli. IBM tarjoaa paljon esimerkkejä ja itsenäisiä opiskelumateriaaleja Qiskitin oppimiseksi. Cirq puolestaan on Googlen kvanttiohjelmointikieli, joka keskittyy alempaan abstraktiotasoon ja nykyisiin kvanttitietokoneisiin. Microsoft on myös kehittänyt oman kvanttiohjelmointikielensä, jonka nimi on Q#. Se keskittyy ohjelmistokehitykseen ja on vahvasti tyypitetty kieli. PennyLane on kanadalaisen kvanttilaskentayrityksen Xanadun kehittämä kieli, joka keskittyy differentioituvaan kvanttilaskentaan. Tämä tarkoittaa, että se mahdollistaa piirien käyttämisen muun muassa koneoppimisen mallien osana. Qrisp on korkean abstraktiotason kvanttiohjelmointikieli, jossa käytetään kvanttityyppejä, kuten QuantumFloat ja QuantumBool, perinteisten yksittäisten kubittien sijaan. Työskentelyyn valittu kvanttiohjelmimointikieli riippuu päämäärästä ja siitä, halutaanko kirjoittaa matalalla vai korkealla abstraktiotasolla. Kaikista näistä ohjelmointikielistä on helppo löytää lisätietoa netistä. Esimerkiksi IBM Quantum Platform sivulla voit rakentaa piirin kvanttiporttisimulaattorissa ja samalla näet, miten piiri kirjoitetaan OpenQASM ja Qiskit ohjelmointikielillä.
Kvanttiohjelman luomiseen ja ajamiseen kuuluu pääpiirteissään viisi vaihetta:
- Lähtoasetelman määrittely
- Kubittirekisterin alkuasetus
- Porttioperaatiot
- Mittaus ja tulosten kerääminen
- Jälkiprosessointi
Lähtoasetelmassa määritellään tarvittavat kirjastot, muuttujat ja parametrit, joiden avulla ohjelma voidaan suorittaa. Kubittirekisterien alustaminen tarkoittaa sitä, että otetaan käyttöön tarvittava määrä kubitteja ja preparoidaan ne haluttuun alkutilaan, joka on tyypillisesti \(\ket{0}\). Porttioperaatioita suoritetaan kuten meille tutussa kvanttiporttisimulaattorissa, mutta niiden käskyt annetaan tekstimuotoisesti ohjelmointikielellä. Esimerkiki tuttu H-portti ensimmäiseen kubittiin qc-nimetyssä kvanttipiirissä on Qiskit-kielellä qc.h(q[0]). Porttioperaatioiden lopuksi tehdään mittaus ja tulokset otetaan talteen. Sen jälkeen tuloksia voidaan analysoida ja prosessoida. Yksi ohjelma voidaan ajaa monia kertoja, usein satoja tai tuhansia, jotta saadaan riittävän suuri jakauma.
Qiskitissä Bellin portti määritellään komennoilla
qc.h(0)
qc.cx(0,1)
Kvanttiohjelman ajo suoritetaan yhdistämällä johonkin suoritusympäristöön, joka voi olla joko simulaattori tai oikea kvanttitietokone. Ohjelmoinnissa näitä ympäristöjä kutsutaan backendeiksi. Simulaattorien hyviä puolia on niiden saavutettavuus ja virheettömyys. Simulaattoreihin on myös tarjolla malleja oikeiden kvanttitietokoneiden häiriöiden simuloimiseksi. Simulaattorien avulla on hyvä kehittää ohjelmia ja testata niitä, vaikkakaan simulaattorien kapasiteetti ei riitä samaan kuin varsinaisten kvanttitietokoneiden, kun puhutaan suurista kvanttiohjelmista.
Oikeat kvanttitietokoneet ovat alttiita erilaisille virheille ja häiriöille. Yleisimpiä virheitä ovat porttivirheet, dekoherenssi ja lukuvirheet. Porttivirheet ovat niitä, joissa yksittäinen porttioperaation suoritus ei onnistu täysin. Sen seurauksena kubitin tila ei välttämättä muutu suunnitelulla tavalla. Dekoherenssi puolestaan tarkoittaa sitä, että kubitti menettää kvanttitilansa ajan mittaan ympäristön häiriöiden, kuten värinän, vaikutuksesta. Tästä syystä syvät piirit, joissa on paljon erilaisia vaiheita, ovat hyvin haavoittuvaisia. Lukuvirheet syntyvät mittauksessa. Mittauslaite voi antaa virheellisen tuloksen, vaikka kubitin tila olisi oikea.
Jotta kvanttiohjelma saadaan ajettavaan muotoon, pitää se kääntää valitulle suoritusalustalle soveltuvaksi konekieleksi. Tähän käännökseen kuuluu transpilointi sekä kubittien ja porttioperaatioiden reitittäminen. Transpilointi tarkoittaa ohjelmakoodin kääntämistä siten, että se käyttää vain tiettyjä portteja, jotka on saatavissa käytettävissä kvanttitietokoneessa tai simulaattorissa. Kaikki laitteet eivät tue kaikkia portteja laitetasolla, vaan tyypillisesti vain osa porteista on natiiviportteja. Transpiloinnin lisäksi täytyy ottaa huomioon qubittien topologia, eli yhteydet toisiinsa kvanttiprosessorissa. Laitteesta riippuen kaikki qubitit eivät välttämättä ole yhteydessä toisiinsa. Tällöin transpilointivaiheessa joudutaan piiriä muokkaamaan ja portteja lisäämään, jotta saadaan suoritettua operaatioita myös ei suorasti toisiinsa yhteydessä olevien kubittien välillä. Jos ohjelmakoodissasi käytetään esimerkiksi kubitteja q[0], q[1] ja q[2] siten, että q[1] ja q[2] ovat yhteydessä, voi olla, että laiteessa yhteydessä olevat kubitit ovatkin q[0] ja q[2]. Tällöin tarvitaan ylimääräisiä swap-portteja. Jotta ohjelmasta saadaan kvanttitodennäköisyyksiä ulos jälkiprosessointia varten, yksittäinen ajo harvoin riittää. Yleensä ohjelmia ajetaan jopa tuhansia kertoja, jotta tulokseksi saatu todennäköisyysjakauma on mahdollisimman todenmukainen.
Palautteesi jaksosta C.4
C.5 Mittaukset
Tähän asti mittaus on ollut kvanttipiirin lopuksi tapahtuva toiminto, jota emme ole muuttaneet. Mittauksia on kuitenkin erilaisia. Mittauksen toteutuksen osana voidaan käyttää kvanttiportteja ja apusysteemejä. Tässä jaksossa perehdymme erilaisiin mittaustapoihin.
C.5.1 Mittaus H-kannassa
Olemme mitanneet kubittia siten, että tilat \(\vert 0 \rangle\) ja \(\vert 1 \rangle\) johtavat varmasti ennustettavaan mittaustulokseen. Kun kubitti on näiden tilojen superpositiotilassa \(a \vert 0 \rangle + b \vert 1 \rangle\), niin mittaus antaa mittaustuloksen 0 todennäköisyydellä \(|a|^2\) ja mittaustuloksen 1 todennäköisyydellä \(|b|^2\). Voimme kutsua tätä mittausta perusmittaukseksi. Kvanttiporttisimulaattorissa sitä kuvataan prosessoinnin lopussa olevalla laatikolla, jossa on mitta-asteikko. Se siis näyttää tältä:
Voi oikeastaan ajatella niin, että perusmittaus määrittää mitkä kubitin tilat ovat ne tilat, joille annamme nimet \(\vert 0 \rangle\) ja \(\vert 1 \rangle\).
Osa prosessoinnista voidaan ottaa osaksi mittausta. Asetelma on silloin tämänkaltainen:
Tällöin mittaus ei ole enää perusmittaus, vaan jotakin muuta. Jos mittausta edeltävä prosessi on esimerkiksi H-portti ja tämä otetaan osaksi mittausta, niin silloin mittaus antaa varmuudella ennustettavat mittaustulokset tiloille \(\vert + \rangle\) tai \(\vert - \rangle\). Tällöin sen sanotaan olevan mittaus H-kannassa. Kvanttiporttisimulaattorissa ei erikseen merkata mikä portti on osa prosessointia ja mikä osa mittausta. Mittaus H-kannassa on siis alla olevan näköinen, mutta katkoviivalaatikko on pelkästään käyttäjän mielessä.
Mittaus H-kannassa tulee meille eteen sen verran usein, että kutsutaan sitä lyhyesti H-mittaukseksi. Tarkastellaan tätä mittausta lähemmin. Kun kubitti on tilassa \(a \vert 0 \rangle + b \vert 1 \rangle\) ja sille tehdään H-mittaus, niin mitkä ovat todennäköisyydet mittaustuloksille 0 ja 1?
Muistellaan ensin, miten H-portti muuttaa kubitin tilaa. Tiedämme, että \(H \vert 0 \rangle = \vert + \rangle\) ja \(H \vert 1 \rangle = \vert - \rangle\), joten
\(H (a \vert 0 \rangle + b \vert 1 \rangle) =a H\vert 0 \rangle + b H\vert 1 \rangle =a \vert + \rangle + b \vert - \rangle\).
Tiedämme myös, että \(\vert + \rangle =\tfrac{1}{\sqrt{2}} ( \vert 0 \rangle + \vert 1 \rangle)\) ja \(\vert - \rangle =\tfrac{1}{\sqrt{2}} ( \vert 0 \rangle - \vert 1 \rangle)\). Sijoitetaan nämä yhtälöketjun viimeiseen lausekkeeseen, jolloin saamme
\(a \vert + \rangle + b \vert - \rangle = \tfrac{a}{\sqrt{2}} ( \vert 0 \rangle + \vert 1 \rangle) +\tfrac{b}{\sqrt{2}} ( \vert 0 \rangle - \vert 1 \rangle)= \ ?\)
Laske viimeinen vaihe ja vastaa alla olevaan kysymykseen.
H-mittaus koostuu H-portista ja perusmittauksesta, joten nyt tulee miettiä tämän muuttuneen tilan antamaa mittaustulosjakaumaa perusmittauksessa. Pystyt lukemaan todennäköisyydet mittaustuloksille 0 ja 1 yllä olevasta yhtälöstä.
Miksi perusmittaus ei riitä, vaan pitää miettiä muitakin mittauksia?
Ajatellaan seuraavanlaista tilannetta. Tiedät, että tuntematon tila on joko \(\vert + \rangle\) tai \(\vert - \rangle\), mutta et tiedä kumpi. Perusmittaus antaa kummassakin tilassa mittaustulosten tasaisen jakauman eikä siten erota näitä kahta tilaa. Sen sijaan H-mittaus kykenee ne erottamaan. Mittauksen valinta riippuu siitä, minkälaista tietoa pyrimme saamaan mitattavasta systeemistä.
Alla olevassa simulaattorissa portit P1,...,P6 preparoivat alkutilan \(\ket{0}\) joko tilaksi \(\ket{+}\) tai \(\ket{-}\). Tutki H-mittauksen avulla kummasta tilasta kussakin tapauksessa on kyse. Vastaa sitten simulaattorin alla olevaan tehtävään.
Please
Kokeile itse
Tutki tuntemattomia preparointeja tekemällä H-mittauksia.
Expand by moving mouse over the exercise or by clicking
C.5.2 Yleinen kubittimittaus
Olemme edellisessä jaksossa ottaneet perusmittauksen lisäksi käyttöön H-mittauksen, jossa perusmittausta ennen käytetään H-porttia. Mittauksen osaksi voi lukea minkä hyvänsä portin. Tilanne näyttää silloin tältä:
Mittaukseen luettavia portteja voi olla useampiakin. Esimerkiksi S-portin ja H-portin ottaminen osaksi mittausta antaa hyödyllistä tietoa kubitin tilasta, kuten myöhemmin tulemme näkemään.
Tällä tavoin ei kuitenkaan vielä saada toteutettua kaikkia mittauksia, joita kubitille voidaan tehdä. Mittaukseen voidaan ottaa mukaan apusysteemi. Tämä tarkoittaa toista kubittia, jonka alkutilan tiedämme. Mittauksessa on lisäksi kahden kubitin portti, joka saa aikaan vuorovaikutuksen. Näin myös apukubitille tehty mittaus antaa tietoa kohdekubitin tilasta.
Merkitsemme kuvissa harmaalla pallolla apusysteemiä. Olennaista on siis se, että emme ole kiinnostuneet apusysteemin tilasta. Se preparoidaan haluttuun alkutilaan, joka on tyypillisesti \(\ket{0}\). Yllä olevassa tilanteessa mittauksella on neljä arvoa: 00, 01, 10 ja 11. Apusysteeminä voisi olla useampikin kubitti, jolloin mittauksella on 2n ulostuloa, jossa n on apukubittien lukumäärä.
Apusysteemin käyttäminen mahdollistaa myös sellaisen mittauksen, jossa kohteena olevaa kvanttisysteemiä ei mitata suoraan, vaan ainoastaan apusysteemille tehdään mittaus. Vuorovaikutuksen takia näin saadaan kuitenkin tietoa kohdesysteemin tilasta. Kohdekubitti ei tuhoudu, vaan sille voidaan myöhemmin tehdä jokin toinen mittaus.
Tällaiselle mittaukselle, jossa ainoastaan apusysteemi menee mittalaitteeseen, käytetään nimitystä epäsuora mittaus. Vaikka kohdesysteemi ei tuhoudu tässä mittaustavassa, niin sen tila muuttuu mittausprosessissa.
Epäsuoran mittauksen ulostulojen todenäköisyydet lasketaan hieman eri tavalla, kuin mihin olemme tottuneet perusmittauksen tapauksessa. Vuorovaikutuksen jälkeinen tila kirjoitetaan muodossa
\[ \ket{\alpha_0} \otimes \ket{0} + \ket{\alpha_1} \otimes \ket{1} \, , \]
joka tuli esille jakson C.2.3 lopussa. Tämä vektori kuvaa yhdistetyn systeemin tilaa ennen kuin apusysteemi mitataan. Alla olevassa kuvassa ajanhetkeä vastaava askel on merkitty oranssilla katkoviivalla.
Lausekkeen \(\ket{\alpha_0}\) ja \(\ket{\alpha_1}\) ovat vektoreita, mutta ne eivät välttämättä ole yksikkövektoreita. Todennäköisyydet on helppo saada tästä:
- ulostulon 0 todennäköisyys on vektorin \(\ket{\alpha_0}\) pituuden neliö
- ulostulon 1 todennäköisyys on vektorin \(\ket{\alpha_1}\) pituuden neliö
Tämä laskusääntö on siten suora yleistys perusmittauksen laskusäännölle, jossa vektoreiden paikalla on kompleksiluvut.
Esitetyn laskukaavan voi laskea siten, että laskee ensin osasysteemin tilan. Koska meille osasysteemin tila tulee eteen vasta jaksossa C.6.4, teemme laskun hieman eri tavalla. Kuvittelemme perusmittauksen myös ensimmäiselle kubitille, mutta jätämme mittaustuloksen huomiotta. Kahden kubitin yhteistila olkoon \[\begin{align*} a_1 \vert 0 \rangle \otimes \vert 0 \rangle + a_2 \vert 0 \rangle \otimes \vert 1 \rangle + a_3 \vert 1 \rangle \otimes \vert 0 \rangle + a_4 \vert 1 \rangle \otimes \vert 1 \rangle \, . \end{align*}\] Jos nyt mitataan molempia kubitteja, niin saadaan mittaustulos
- 00 todennäköisyydellä \(|a_1|^2\)
- 01 todennäköisyydellä \(|a_2|^2\)
- 10 todennäköisyydellä \(|a_3|^2\)
- 11 todennäköisyydellä \(|a_4|^2\)
Kun ensimmäisen kubitin mittaustuloksesta ei välitetä, niin toisen kubitin mittaustulos on
- 0 todennäköisyydellä \(|a_1|^2 + |a_3|^2\)
- 1 todennäköisyydellä \(|a_2|^2 + |a_4|^2\)
Toisaalta tiedämme jaksosta C.2.3, että yhteistila voidaan kirjoittaa muodossa
\[\begin{align*} \left( \blue{a_1\ket{0} + a_3 \ket{1}} \right) \otimes \red{\ket{0}} + \left( \blue{a_2 \ket{0} + a_4 \ket{1}} \right) \otimes \red{\ket{1}} \, . \end{align*}\]
Tästä näemme, että todennäköisyydet vastaavat vektorien \(\blue{a_1\ket{0} + a_3 \ket{1}}\) ja \(\blue{a_2 \ket{0} + a_4 \ket{1}}\) pituuksien neliöitä.
Seuraavissa jaksoissa näemme erilaisia käyttötapoja näille mittaustavoille: jaksossa C.5.3 on kyseessä suora mittaus apusysteemiä käyttäen ja jaksossa C.5.4 epäsuora mittaus.
C.5.3 Poissulkeva mittaus
Tilojen erottelulla tarkoitetaan tehtävää, jossa kvanttisysteemin tila on jokin rajatusta joukosta mahdollisia vaihtoehtoja, ja meidän tulee määrätä mikä niistä on kyseessä. Päätelmä halutaan tehdä yksittäisestä mittaustuloksesta. Jos esimerkiksi tila on joko \(\ket{+}\) tai \(\ket{-}\), niin H-mittauksen avulla saamme selville kumpi se on. Tätä harjoittelimme jakson C.5.1 lopussa.
Ainostaan ortogonaaliset tilat voi erotella toisistaan täydellisesti eli ilman virhettä. Jos mahdollisten tilojen joukko on vaikkapa \(\{ \ket{0}, \ket{1}, \ket{+}, \ket{-} \}\), niin virheetön erottelu ei onnistu. Tällöin joudutaan joko etsimään sellaista mittausta, jossa virhe on mahdollisimman pieni tai sitten tyytymään osittaiseen tietoon.
Eräs mahdollisuus on vaihtoehtojen poissulkeminen, joka antaa tietynlaista osittaista tietoa tilasta. Tätä tehtävää kutsutaan myös antierotteluksi. Tilajoukon \(\{ \ket{0}, \ket{1}, \ket{+}, \ket{-} \}\) tapauksessa voimme rakentaa sellaisen mittauksen, jossa jokainen ulostulo poissulkee yhden vaihtoehdon. Käytämme yhtä apukubittia.
Please
Kokeile itse
Testaa piirin toimintaa tiloilla <span class="math inline">\(\ket{0}\)</span>, <span class="math inline">\(\ket{1}\)</span>, <span class="math inline">\(\ket{+}\)</span> ja <span class="math inline">\(\ket{-}\)</span>. Minkä tilan kukin ulostulo sulkee pois?
Expand by moving mouse over the exercise or by clicking
Yllä oleva piiri toimii nimenomaan tilajoukon \(\{ \ket{0}, \ket{1}, \ket{+}, \ket{-} \}\) antierotteluun. Jos vaihtoehdot ovat jotakin muuta, niin tarvitaan toisenlainen piiri. Alla on piiri, jolla voi antierotella tilat \(\ket{0}, \ket{1}, \ket{+i}, \ket{-i}\).
Please
Kokeile itse
Testaa piirin toimintaa tiloilla <span class="math inline">\(\ket{0}\)</span>, <span class="math inline">\(\ket{1}\)</span>, <span class="math inline">\(\ket{+i}\)</span> ja <span class="math inline">\(\ket{-i}\)</span>.
Expand by moving mouse over the exercise or by clicking
Oletetaan sitten, että tuntematon tila on joko \(\ket{0}\), \(\ket{1}\), \(\ket{+}\), \(\ket{-}\), \(\ket{+i}\) tai \(\ket{-i}\). Haluamme poissulkea yhden vaihtoehdon mittauksen tekemällä. Tätä tarkoitusta varten tarvitsemme 6 ulostuloa ja siksi yksi apukubitti ei riitä. Kaksi apukubittia kohdekubitin kanssa antaa 8 ulostuloa, eli enemmän kuin tarpeeksi. Nyt johonkin päätelmään voi liittyä useampi kuin yksi mittaustulos.
Tämän kuuden tilan antierotteluun tarvittavan mittauksen voimme rakentaa yhdistämällä edellisissä mittauksissa käytettävät piirit. On kuitenkin huomioitava, että niiden peräkkäistä toimintaa ei voi päätellä suoraviivaisesti niiden erillisistä toiminnoista, sillä ensimmäinen piiri muuttaa kohdekubitin tilaa. Siksi on erikseen tarkistettava, että rakennettu mittaus todellakin antierottelee tilat.
Please
Kokeile itse
Testaa piirin toimintaa tiloilla <span class="math inline">\(\ket{0}\)</span>, <span class="math inline">\(\ket{1}\)</span>, <span class="math inline">\(\ket{+}\)</span>, <span class="math inline">\(\ket{-}\)</span>, <span class="math inline">\(\ket{+i}\)</span> ja <span class="math inline">\(\ket{-i}\)</span>.
Expand by moving mouse over the exercise or by clicking
C.5.4 Unitaarimatriisin odotusarvo
Unitaarimatriisin U odotusarvoksi sanotaan vektorien \(\ket{\psi}\) ja \(\ket{U\psi}\) pistetuloa, eli lukua \(\braket{\psi \mid U \psi}\). Odotusarvon laskeminen tulee vastaan monissa eri sovelluksissa. Se on myös eräs tapa mitata sitä, kuinka paljon U muuttaa alkutilaa \(\ket{\psi}\). Erityisesti:
Jos tila ei muutu lainkaan eli \(U\ket{\psi}=\ket{\psi}\), niin \(\braket{\psi \mid U \psi}=1\).
Jos tila muuttuu ortogonaaliseksi tilaksi, niin \(\braket{\psi \mid U \psi}=0\).
Yleisesti odotusarvon itseisarvo on luku nollan ja ykkösen väliltä ja sitä voi pitää mittana alkutilan ja lopputilan eroavaisuudelle.
Ei ole lähtökohtaisesti selvää, miten annetun unitaarimatriisin odotusarvon saa laskettua kvanttipiirin avulla. Tarkastellaan asiaa yhden kubitin tapauksessa. Jos tila on \(\ket{\psi}=a \ket{0} + b \ket{1}\) ja unitaarimatriisi on \[ U = \begin{pmatrix} u_{11} & u_{12} \\ u_{21} & u_{22} \end{pmatrix} \, , \] niin \[ \braket{\psi \mid U \psi} = u_{11} |a|^2 + u_{12} |b|^2 + u_{12} \bar{a}b + u_{21} a\bar{b} \, . \]
Apusysteemiä käyttämällä voidaan tehdä mittaus, jossa saadaan tietoa luvusta \(\braket{\psi \mid U \psi}\). Käyttöön tulee jaksossa C.5.2 kerrottu epäsuora mittaus. Jos odotusarvo on reaaliluku tai imaginaariluku, riittää yksi mittausasetelma. Yleisesti täytyy tehdä kaksi erilaista mittausasetelmaa.
Hadamard-testi odotusarvon reaaliosalle menee seuraavasti:
- tutkittava systeemi on tuntemattomassa tilassa \(\ket{\psi}\)
- apusysteemi on tilassa \(\ket{0}\)
- apusysteemiin käytetään H-porttia
- kahteen kubittiin käytetään kontrolloitua U-porttia, kontrollikubittina on apusysteemi
- apusysteemiin käytetään H-porttia
- mitataan apusysteemi
Kuva kvanttipiiristä selittää asian vielä paremmin:
Tällöin todennäköisyys saada mittaustulos 0 on \(\frac{1}{2} ( 1 + Re \braket{\psi \mid U \psi})\).
Hadamard-testin matemaattinen selitys
Ja
\[\begin{aligned} \braket{\psi + U \psi | \psi + U \psi} & = 2 \braket{\psi | \psi} + \braket{U \psi | \psi} + \braket{\psi | U \psi} \\[4pt] & = 2 \braket{\psi | \psi} + 2 Re \braket{\psi | U \psi} \\[4pt] & = 2 + 2 Re \braket{\psi | U \psi} \end{aligned}\]Hadamard-testi odotusarvon imaginaariosalle menee seuraavasti:
- tutkittava systeemi on tuntemattomassa tilassa \(\ket{\psi}\)
- apusysteemi on tilassa \(\ket{0}\)
- apusysteemiin käytetään H-porttia
- kahteen kubittiin käytetään kontrolloitua U-porttia, kontrollikubittina on apusysteemi
- apusysteemiin käytetään S*-porttia ja sen jälkeen H-porttia
- mitataan apusysteemi
Kuva kvanttipiiristä selittää asian taaskin paremmin:
Tällöin todennäköisyys saada mittaustulos 0 on \(\frac{1}{2} ( 1 + Im \braket{\psi \mid U \psi})\).
Tarkastellaan sitten tilannetta, jossa alkutilaan \(\ket{0}\) on vaikuttanut tuntematon kvanttiportti P. Näin ollen kubitin tila portin jälkeen on tuntematon. Merkitsemme sitä symbolilla \(\ket{\psi}\), eli \(\ket{\psi}=P\ket{0}\). Haluamme selvittää odotusarvon \(\braket{\psi \mid X \psi}\).
Kvanttiporttisimulaattorissa jokaisen kubitin reitti päättyy mittaukseen. Emme kuitenkaan ole kiinnostuneita kuin apusysteemin mittauksesta. Kvanttiporttisimulaattori antaa todennäköisyydet kaikille mahdollisille ulostuloille, eli vaihtoehdoille 00, 01, 10, 11. Hadamard-testissä olennaista on se, minkä on apukubitille tehdyssä mittauksessa ulostulon 0 todennäköisyys. Tämän saa selville laskemalla yhteen vaihtoehtojen 00 ja 10 todennäköisyydet.
Please
Kokeile itse
Tuntematon tila <span class="math inline">\(\ket{\psi}\)</span> on <span class="math inline">\(P \ket{0}\)</span>. Selvitä kahden Hadamard-testin avulla odostusarvo <span class="math inline">\(\braket{\psi \mid X \psi}\)</span>. Huomaa, että S*-portti pitää toteuttaa S-portin avulla.
Expand by moving mouse over the exercise or by clicking
Kvanttiporttisimulaattori antaa todennäköisyydet kaikille mahdollisille ulostuloille, eli vaihtoehdoille 00, 01, 10, 11. Hadamard-testissä olennaista on se, minkä on apukubitille tehdyssä mittauksessa ulostulon 0 todennäköisyys. Tämän saa selville laskemalla yhteen vaihtoehtojen 00 ja 10 todennäköisyydet.
Esimerkiksi alla olevassa tapauksessa ulostulon 0 todennäköisyys apukubitille suoritetussa mittauksessa on 5%+5%=10%.

Tämä luku ei ole vielä suoraan haluttu odotusarvo. Reaaliosan Hadamard-testissä todennäköisyys saada mittaustulos 0 on \(\frac{1}{2} ( 1 + Re \braket{\psi \mid U \psi})\) ja imaginaarinosan Hadamard-testissä todennäköisyys saada mittaustulos 0 on \(\frac{1}{2} ( 1 + Im \braket{\psi \mid U \psi})\). Näiden kaavojen avulla saat laskettua odotusarvon \(\braket{\psi \mid U \psi}\).
C.5.5 Kvanttitomografia
Kvanttisysteemin prosessoinnissa voi tulla vastaan tilanne, jossa systeemi on tuntemattomassa tilassa ja haluamme selvittää tilan. Tila voi olla tuntematon siitä syystä, että emme tiedä alkutilaan johtanutta preparointia. Ehkäpä vielä tyypillisempi tapaus on se, että emme tiedä tilaan vaikuttaneita prosesseja ja siitä syystä se on meille tuntematon. Tilan määritys on molemmissa tapauksissa samanlainen ongelma.
Kuten videolla tuli ilmi, tuntemattoman tilan tunnistamiseksi täytyy mittaustulostilastoa kerätä usealla eri mittausjärjestelyllä. Koejärjestelyä, jossa tuntematon kvanttitila saadaan selville mittaustulostilastoista, kutsutaan kvanttitomografiaksi. Ehto kvanttitomografialle on se, että kaksi eri tilaa johtaa eri mittaustulostilastoon ainakin jonkin käytettävän mittausjärjestelyn kohdalla.
Aloitetaan tarkastelemalla koeasetelmaa, jossa suoritamme samalle tilalle sekä perusmittauksen että H-mittauksen. Mittausjärjestely on havainnollistettu alla. Tuntemattoman tilan merkkinä on lila pallo.
Ajatellaan tilannetta, jossa kubitti on preparoitu tuntemattomaan tilaan. Voimme ajatella niin, että kubitti on alkutilassa \(\vert 0 \rangle\) ja sen jälkeen sitä prosessoidaan kvanttiportilla P, jota emme tunne. Merkitsemme tuntematonta tilaa symbolilla \(\ket{\psi}\), eli \(\ket{\psi} = P \vert 0 \rangle\).
Seuraavassa simulaattorissa on kuusi porttia, jotka kukin preparoivat kubitin johonkin meille tuntemattomaan tilaan. Tee jokaiselle tilalle sekä perusmittausten että H-mittausten sarjat.
Please
Kokeile itse
Tutki tuntemattomia preparointeja tekemällä perusmittauksia ja H-mittauksia.
Expand by moving mouse over the exercise or by clicking
Seuraavassa tehtävässä pääset luokittelemaan tilat \(\ket{\psi_1},\ldots,\ket{\psi_8}\), joita portit P1,\(\ldots\),P8 preparoivat alkutilasta \(\vert 0 \rangle\). Yhteen laatikkoon tulee ne tilat, jotka eroavat joko perusmittauksessa tai H-mittauksessa kaikista muista tiloista. Kahteen muuhun laatikkoon tulee laittaa sellaiset tilat, joita ei voi erottaa toisistaan kyseisten mittausten avulla.
Edellinen tehtävä osoitti meille, että kubitin tuntematon tila ei selviä kahdella mittausjärjestelyllä, vaan tarvitaan vielä kolmas. Jos käytössä on perusmittaus ja H-mittaus, niin kolmanneksi mittaukseksi voi valita sellaisen mittauksen, jossa mittauksen osana on H-portti ja S-portti. Tämä järjestely on kuvattuna alla.
Kun tehdään mittauksia eri kannoissa, niin kubitin tapauksessa tarvitaan kolme eri mittausjärjestelyä. Kuditin tapauksessa tarvittaisiin jo d2-1 eri mittausta.
Nämä eri mittaukset tarkoittavat sitä, että samaa tilaa, eli siis samaa preparointia, tutkitaan eri mittauksilla. Näitä mittauksia ei voi tehdä samanaikaisesti, vaan ne täytyy tehdä erikseen. Eli jokaisen kohdalla tehdään riittävästi mittauskertoja riittävän mittaustilaston saamiseksi, vaikkapa 1000 mittausta, ja sitten sama seuraavan mittauksen kohdalla.
Please
Kokeile itse
Tutki aikaisempia tuntemattomia preparointeja tekemällä perusmittauksia, H-mittauksia ja SH-mittauksia. Nyt pystyt erottamaan tilat toisistaan. Mukana on kolme uutta porttia, P9, P10 ja P11. Kaksi näistä preparoi alkutilan samaan tilaan kuin jotkin aikaisemmista porteista. Yksi niistä preparoi tilan johonkin uuteen tilaan. Osaatko tunnistaa mikä porteista preparoi alkutilan uuteen tilaan? Entä mihin tiloihin kaksi muuta porttia alkutilan preparoi?
Expand by moving mouse over the exercise or by clicking
Kvanttitomografian edellytys on mittausjärjestely, jossa kaikki tilat johtavat erilaisiin mittaustulostilastoihin. Tämän jälkeen tila täytyy vielä pystyä päättelemään mittaustulostilostoista. Tätä kutsutaan tilan rekonstruktioksi. Rekonstruktiota voi ajatella inversio-ongelmana: tavoitteena on löytää kvanttitila, joka selittää mittaustulokset mahdollisimman hyvin. Ideaalisessa tapauksessa tiloja on tarkalleen yksi, mutta realistisessa tilanteessa mittausdatassa on kohinaa ja se voi olla osittain puutteellinen. Tällöin tilan rekonstruktio johtaa kohinaiseen tilaan, joka on valittu mahdollisista tiloista jollain halutulla kriteerillä. Eräs usein käytetty periaate on maksimientropian kriteeri. Se ohjeistaa valitsemaan tilan, joka selittää mittaustulokset mutta muuten tekee mahdollisimman vähän lisäoletuksia. Jaksossa C.6 pääsemmekin käsiksi sekoitetun tilan käsitteeseen ja huomaamme, että tilan kuvaaminen vektorilla on vahva oletus.
C.5.6 Globaali mittaus
Kaikki tämän jakson tarkastelut ovat koskeneet yhdelle kubitille tehtyä mittausta. Kvanttipiirissä on lähes aina useita kubitteja. Voimme mitata ne erikseen, mutta tämä ei ole ainoa mahdollisuus. Mittaus on globaali mittaus silloin, kun sitä ei voi toteuttaa perusmittausten ja yhden kubitin mittausten avulla. Tämä tarkoittaa sitä, että mittauksen osana on jokin kahden kubitin portti, jota ei voi kirjoittaa yhden kubitin porttien avulla.
Eräs globaali mittaus on meille tuttu jo B-osasta. Ylitiheän koodauksen protokollassa vastaanottaja tekee mittauksen kahdelle kubitille. Ennen perusmittauksia vastaanottaja käyttää Bellin portin käänteisporttia, eli CX-portin ja H-portin yhdistelmää. Tälle portille olemme käyttäneet nimeä D-portti. Kutsumme tätä alla kuvattua mittausta nimellä Bellin mittaus.
Ajatellaan seuraavanlaista tilannetta. Tiedät, että tuntematon tila on jokin Bellin tila, mutta et tiedä mikä niistä. Bellin mittauksella pystyt selvittämään asian. Tuttuun tapaan Bellin tilat on nimetty siten, että \[ \begin{align*} \ket{\beta_{00}}=B(\vert 0 \rangle \otimes \vert 0 \rangle) \, , \quad \ket{\beta_{01}}=B(\vert 0 \rangle \otimes \vert 1 \rangle) \, , \quad \ket{\beta_{10}}=B(\vert 1 \rangle \otimes \vert 0 \rangle) \, , \quad \ket{\beta_{11}}=B(\vert 1 \rangle \otimes \vert 1 \rangle) \, . \end{align*} \] Näin ollen Bellin mittaus antaa Bellin tilassa täydellä varmuudella joko mittaustuloksen 00, 01, 10 tai 11, ja mittaustulos on Bellin tilan indeksi.
Alla olevassa simulaattorissa portit P1,...,P6 preparoivat alkutilan \(\ket{0}\otimes\ket{0}\) joksikin Bellin tilaksi. Tutki mistä tilasta kussakin tapauksessa on kyse. Vastaa sitten simulaattorin alla olevaan tehtävään.
Please
Kokeile itse
Tutki tuntemattomia preparointeja Bellin mittauksen avulla.
Expand by moving mouse over the exercise or by clicking
Palautteesi jaksosta C.5
C.6 Melu
Häiriö, melu ja kohina ovat seikkoja, jotka kuuluvat kokeelliseen tieteeseen, kuten fysiikkaan. Usein fysiikan koejärjestelyssä melu on käytännön ongelma, jota koitetaan mahdollisuuksien mukaan vähentää niin pieneksi kuin pystytään. Kvanttifysiikassa melu nousee suoraan kvanttiteorian perusperiaatteista. Se kytkeytyy olennaisella tavalla tilojen lomittumiseen.
C.6.1 Vektorit eivät riitä
Olemme oppineet, että kvanttitilaa kuvataan matemaattisesti vektorilla. Olet jo varmasti oppinut pitämään vektoreista. Vektorit eivät kuitenkaan riitä kaikissa tilanteissa kvanttisysteemin tilaa kuvaamaan.
Käydään videolla esitelty asia vielä hieman yksityiskohtaisemmin läpi.
Olemme oppineet, että yksikkövektori kuvaa kvanttisysteemin tilaa. Käytännössä kvanttisysteemin tilassa on mukana ainakin hiukan kohinaa. Tällaista tilaa sanotaan sekoitetuksi tilaksi. Toisaalta jokainen vektori kuvaa ideaalisista preparointia, jossa ei ole lainkaan kohinaa. Vektorilla kuvattavaa tilaa kutsutaan puhtaaksi tilaksi kun on tarve korostaa sen ideaalista luonnetta.
Nähdäksemme miksi puhtaassa tilassa ei ole lainkaan melua, tarkastellaan vaikkapa tilaa \({3/5 \choose -4/5}\). Alla olevassa simulaattorissa tämän tilan preparoinnin hoitaa P-portti. Mittauksessa saamme tuloksen 0 todennäköisyydellä 0.36 ja tuloksen 1 todennäköisyydellä 0.64. Tässä ei ole kuitenkaan kyse kohinan aiheuttamasta epämääräisyydestä, vaan tilan ja mittauksen tietynlaisesta keskinäisestä asetelmasta. Voimme nimittäin tehdä sellaisen mittausjärjestelyn, jossa mittauksen osaksi luetaan sopiva kvanttiportti. Tällöin epämääräisyys häviää.
Please
Kokeile itse
Testaa eri porttien toimintaa tilaan, jonka portti P preparoi. Miten mittaustulosjakauma muuttuu?
Expand by moving mouse over the exercise or by clicking
Yleisesti pätee, että jos kvanttisysteemi on puhtaassa tilassa, niin voidaan tehdä sellainen mittaus, jossa mittaustulos 0 tulee täydellä varmuudella. Mittauksen muuttaminen tapahtuu sitä edeltävällä kvanttiportilla, kuten edellä olleessa esimerkissä. Sen sijaan sekoitettu tila, jossa siis on mukana kohinaa, sisältää erilaista mittausepävarmuutta. Silloin ei löydy sellaista kvanttiporttia, jonka laitettuna mittausta ennen johtaisi varmasti ennustettavaan mittaustulokseen. Sekoitettua tilaa ei voi kuvata yksikkövektorilla.
Toinen videolla mainittu asia oli se, että vektorikuvauksen riittämättömyys kytkeytyy lomittumiseen. B-osassa opimme, että kahden kubitin yhteistila on tulotila, jos se on muotoa \[ {a \choose b} \otimes {c \choose d} \] jollakin vektoreilla \({a \choose b}\) ja \({c \choose d}\). Tässä tulotilan tapauksessa on selvää, että ensimmäisen kubitin tilaa kuvaa vektori \({a \choose b}\) ja toisen kubitin tilaa \({c \choose d}\). Muistellaan miksi kaikki kahden kubitin tilat eivät ole tulotiloja, vaan on olemassa myös lomittuneita tiloja. Lomittuneesta tilasta ovat esimerkkejä Bellin tilat, esimerkiksi tämä: \[ \begin{pmatrix} \tfrac{1}{\sqrt{2}} \\ 0 \\ 0 \\ \tfrac{1}{\sqrt{2}} \end{pmatrix} \, . \] Jos tämä tila olisi tulotila, pitäisi olla luvut \(a\), \(b\), \(c\), \(d\), joille \[ \begin{pmatrix} ac \\ ad \\ bc \\ bd \end{pmatrix} = \begin{pmatrix} \tfrac{1}{\sqrt{2}} \\ 0 \\ 0 \\ \tfrac{1}{\sqrt{2}} \end{pmatrix} \, . \] Kaksi vektoria ovat samat silloin, kun niiden kaikki komponentit ovat samat. Näin päädymme neljään yhtälöön: \[ \begin{align*} & ac=\tfrac{1}{\sqrt{2}} \\ & ad=0 \\ & bc=0 \\ & bd=\tfrac{1}{\sqrt{2}} \, . \end{align*} \] Kun kerromme ylimmän ja alimman yhtälön puolittain, niin saamme \[ abcd=\tfrac{1}{2} \, . \] Toisaalta kertomalla kaksi keskimmäistä yhtälöä puolittain saamme \[ abcd=0 \, . \] Näin ollen ei ole vektoreita, jotka kuvaisivat osasysteemien tiloja. (Jos sellaiset olisivat, voisimme kirjoittaa tämän Bellin tilan tulotilana.) Tämä jättää kysymyksen: entä jos meillä on kaksi kubittia lomittuneessa tilassa ja erotamme ne toisistaan. Miten kuvaamme vain toisen kubitin tilaa?
Nämä kaksi esille nostamaamme seikkaa, kohina ja lomittuminen, itseasiassa kytkeytyvät toisiinsa. Kvanttiteoria ei jätä meitä pulaan, vaan tarjoaa keinon kuvata kvanttisysteemin tilaa näissä molemmissa tapauksissa. Yllättävää on ehkäpä se, että ratkaisu näissä tapauksissa on täsmälleen sama. Nimittäin lomittuneessa yhteistilassa olevan systeemin osasysteemi on väistämättä sekoitetussa tilassa. Käymme ensin läpi sekoitetun tilan matemaattisen kuvauksen ja sitten opettelemme laskemaan osasysteemin tilan.
C.6.2 Sekoitettu kubittitila
Kubitin kaikki tilat, siis puhtaat ja sekoitetut, voidaan kirjoittaa tietynlaisina 2\(\times\) 2 -matriiseina. Aloitetaan siitä, miten meille jo tutut vektorit kirjoitetaan toisessa muodossa. Vektoria \({ a \choose b}\) vastaa matriisi \[ \begin{pmatrix} |a|^2 & a\bar{b} \\ \bar{a}b & |b|^2 \end{pmatrix} \, . \] Tässä vektorin tapauksessa emme saavuta etua käyttämällä matriisia. Matriisin on kirjoitettu sama informaatio kuin vektorissa, mutta hieman monimutkaisemmin. Tosin sellainen hyvä puoli tilan kirjoittamisessa matriisina on, että kahta vektoria vastaa yksi ja sama matriisi tarkalleen silloin, kun vektorit kuvaavat samaa tilaa. Voit nimittäin helposti todeta, että vektoreita \({ a \choose b}\) ja \({-a \choose -b}\) vastaa sama matriisi. Yleisemmin: vektoreita \({ a \choose b}\) ja \(z{a \choose b}\), jossa \(z\) on kompleksiluku ja \(|z|=1\), vastaa sama matriisi.
Edelle esitetty matriisi on muodostettu siten, että otetaan vektoreiden \({ a \choose b}\) ja \(\begin{pmatrix} \bar{a} & \bar{b} \end{pmatrix}\) matriisitulo. Huomaa, että jälkimmäinen vektori on vaakavektori. Matriisitulon laskeminen on helppo juttu ja se on näytetty seuraavalla videolla.
Esimerkiksi vektoria \(\ket{0}={ 1 \choose 0}\) vastaa matriisi \[ \begin{pmatrix} 1 \\ 0 \end{pmatrix} \begin{pmatrix} 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \, . \] Tässä kohtaa kannattaa ottaa kynä ja paperia esille ja laskea joitakin muunnoksia vektorista matriisiksi.
Pääsitkö asiasta perille? Harjoitellaan vielä vähän lisää.
Yleistä kubittitilaa on tullut tavaksi merkitä kreikkalaisella kirjaimella \(\rho\) (luetaan rho). Se esitetään 2x2 matriisina, eli \[ \rho = \begin{pmatrix} \rho_{00} & \rho_{01} \\ \rho_{10} & \rho_{11} \end{pmatrix} \, . \] Tämän ei tarvitse olla aikaisemmin esitettyä vektorista syntyvää muotoa, mutta myöskään mikä hyvänsä matriisi ei vastaa kubittitilaa. Matriisin pitää toteuttaa seuraavat ehdot:
- \(\rho_{00}\) ja \(\rho_{11}\) ovat ei-negatiivisia reaalilukuja. Niille pätee \(\rho_{00}+\rho_{11}=1\).
- \(\rho_{01}\) ja \(\rho_{10}\) voivat olla kompleksilukuja. Niille pätee \(\overline{\rho_{10}}=\rho_{01}\).
- \(\rho_{00}\rho_{11} - \rho_{01}\rho_{10} \geq 0\).
Kaksi ensimmäistä ehtoa näkee matriisista välittömästi, kun taas kolmas ehto vaatii lyhyen laskun. Vektorista syntyvä matriisi toteuttaa nämä ehdot automaattisesti. Sellaiset matriisit vastaavat puhtaita tiloja. Ne matriisiit, jotka toteuttavat yllä olevat ehdot, mutta eivät synny vektorista, vastaavat sekoitettuja tiloja.
Blochin pallolla sekoitettujen tilojen mukaan ottaminen ei vaikeuta asioita paljoakaan.
Tarkastellaan yleisen kubittitilan matriisia tarkemmin. Diagonaalilla olevat alkiot \(\rho_{00}\) ja \(\rho_{11}\) ovat ei-negativisia reaalilukuja. Tällöin ehdosta \(\rho_{00} + \rho_{11}=1\) seuraa, että molemmat alkiot ovat nollan ja ykkösen välillä. Voimme siis kirjoittaa nämä matriisalkiot muodossa \[ \rho_{00} = \frac{1}{2} (1+z) \, , \quad \rho_{11} = \frac{1}{2} (1-z) \] jollakin reaaliluvulle \(z\), joka on lukujen \(-1\) ja \(1\) välissä. Matriisialkio \(\rho_{10}\) on kompleksiluku, joten siihen tarvitaan kaksi reaalista parametria. Voimme kirjoittaa \(\rho_{10} = \frac{1}{2} (x+ i y)\). Tässä tekijä \(\frac{1}{2}\) on otettu erileen kauneussyistä. Koska \(\rho_{01} = \bar{\rho}_{10}\), niin \(\rho_{01} = \frac{1}{2} (x- i y)\). Kirjoitetaan kubittitilan matriisi nyt uudella parametrisoinnilla reaalilukujen \(x,y,z\) avulla: \[\begin{align*} \rho = \begin{pmatrix} \rho_{00} & \rho_{01} \\ \rho_{10} & \rho_{11} \end{pmatrix} = \frac{1}{2} \begin{pmatrix} 1+z & x-i y \\ x+i y & 1-z \end{pmatrix} = \frac{1}{2}(I_2+x X+y Y +z Z), \end{align*}\] missä \(I_2\) on 2x2-identiteettimatriisi ja X, Y, Z ovat Paulin matriisit. Tämä on hyvin tehokas tapa kirjoittaa kaikki kubitin tiloja vastaavat matriisit. Kannattaa hetkeksi pysähtyä ihailemaan sitä.
Kun matriisi on kirjoitettu kolmen reaaliparametrin \(x,y,z\) avulla yllä esitetyssä muodossa Paulin matriisien avulla, niin ehto \(\rho_{00} + \rho_{11}=1\) toteutuu automaattisesti. Meidän tulee vielä tarkastella epäyhtälön \(\rho_{00}\rho_{11} - \rho_{01}\rho_{10} \geq 0\) asettamaa rajoitusta tälle parametrisoinnille. Kun matriisialkioiden tilalle sijoitetaan parametrisoidut termit, saadaan \[ \rho_{00}\rho_{11} - \rho_{01}\rho_{10} = \tfrac{1}{4} (1+z)(1-z) - \tfrac{1}{4} (x-iy)(x+iy) \, . \] Ota tässä kohtaa kynä ja paperia ja laske auki oikea puoli. Vastaa sitten alla olevaan kysymykseen.
Johtopäätös edellisestä tarkastelusta on se, että kubitin tila voidaan esittää vektorina \((x,y,z)\), joka on yksikköpallon sisällä. Kutsummekin näistä parametreista muodostuvaa vektoria \((x,y,z)\) yleisen kubittitilan Blochin vektoriksi. Aikaisemmin olimme oppineet, että puhdasta kubittilaa vastaava Blochin vektori sijaitsee Blochin pallon pinnalla. Nyt näemme, että yleistä kubittitilaa vastaa vektori Blochin pallon sisällä eikä pelkästään pinnalla. Blochin pallo on siten kartta kaikille kubitin tiloille.
C.6.3 Tilajoukon konveksi rakenne
Kun mukaan otetaan sekoitetut tilat, on sekä bitin että kubitin tilajoukoilla konveksi rakenne. Konveksikombinaatio on matemaattinen kuvaus kahden tai useamman preparoinnin sekoittamiselle, joten nyt tulee paremmin selväksi miten kohina ja sekoittaminen liittyvät toisiinsa.
Fysiikaalisesti konveksisuus tarkoittaa, että tilojen preparoinnissa voi olla joko suunniteltua tai tahatonta sekoittamista. Geometrisesti konveksisuus on hyvin selkeä ja havainnollinen ominaisuus, joka joukolla voi olla. Vektoriavaruuden \(R^n\) osajoukko \(K\) on konveksi, jos kaikki kahden pisteen \(x,y\in K\) väliset janat kuuluvat joukkoon \(K\). Tasojoukon konveksisuutta voi tarkastella kuviota katselemalla ja miettimällä pisteiden välisiä janoja. Kovera muoto on merkki ei-konveksisuudesta.
Tarkastele alla olevaa kuvaa. Mitkä kuvioista esittävät konvekseja joukkoja? Klikkaa kuvaa, niin näet kahden pisteen väliin piirrettyjä janoja. Siniset janat pysyvät kuvion sisällä, kun taas punaiset janat menevät osittain kuvion ulkopuolelle. Oranssiksi muuttuvat kuviot eivät ole konvekseja joukkoja, sillä niissä ainakin jokin jana menee kuvion ulkopuolelle.
Sisäistitkö konveksisuuden määritelmän?
Mennään sitten yleisestä konveksista rakenteesta kvanttitilojen tapaukseen. Kvanttisysteemin tiloja kuvaavien matriisien joukko on konveksi. Kahden matriisin A ja B välinen jana saadaan painotettuna summana pA+(1-p)B, jossa p on luku väliltä [0,1]. Kahden tilan konveksikombinaatio vastaa fysikaalisesti sitä, että niitä vastaavia preparointeja vaihdellaan satunnaisesti. Tämä on havainnollistettu alla olevassa kuvassa, jossa preparointilaitteen valinta tehdään kolikkoa heittämällä.
Painokerroin p riippuu siitä miten satunnaistaminen tehdään. Jos satunnaistaminen tehdään kolikkoa heittämällä, niin vaihtoehdot ovat yhtä todennäköisiä ja silloin p=1/2. Muussa tapauksessa voi ajatella niin, että satunnaistamisessa käytetään painotettua kolikkoa, jolla toinen vaihtoehdoista on toista todennäköisempi.
Jos esimerkiksi tarkastelemme kubittia ja tilat ovat \[ A= \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \, , \, B=\begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix} \, , \] niin konveksikombinaatiot ovat \[ pA + (1-p) B = \begin{pmatrix} p & 0 \\ 0 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0 \\ 0 & 1-p \end{pmatrix} = \begin{pmatrix} p & 0 \\ 0 & 1-p \end{pmatrix} \, . \] Tässä jokaisella painokertoimen p valinnalla saadaan erilainen matriisi.
Seuraavaksi kannattaa ottaa kynä ja paperia esille. Laskemme erilaisia sekoituksia. Sekoitetun tilan laskemiseksi tarvitset tilat \(\vert 0 \rangle\), \(\vert 1 \rangle\), \(\vert + \rangle\) ja \(\vert - \rangle\) matriisimuodossa. Nämä löydät jaksosta C.6.2.
Kubitin tila-avaruuden konveksiin rakenteeseen liittyy eräs olennainen ja mielenkiintoinen seikka. Tarkastellaan kahta eri preparointijärjestelyä:
1 ) Heitetään kolikkoa. Jos tulee kruuna, niin preparoidaan tila \(\vert 0 \rangle\). Jos tulee klaava, niin preparoidaan tila \(\vert 1 \rangle\).
2 ) Heitetään kolikkoa. Jos tulee kruuna, niin preparoidaan tila \(\vert + \rangle\). Jos tulee klaava, niin preparoidaan tila \(\vert - \rangle\).
Molemmat ovat kelvollisia preparointireseptejä ja siten määräävät kubitin sekoitetun tilan. Aikaisemman perusteella osaamme laskea näitä sekoitettuja tiloja vastaavat matriisit.
Ensimmäisessä tapauksessa preparointijärjestely johtaa sekoitettuun tilaan \[ \frac{1}{2} \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} + \frac{1}{2} \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix} = \frac{1}{2} \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \, . \] Toisessa tapauksessa preparointijärjestely antaa sekoitetun tilan \[ \frac{1}{2} \begin{pmatrix} 1/2 & 1/2 \\ 1/2 & 1/2 \end{pmatrix} + \frac{1}{2} \begin{pmatrix} 1/2 & -1/2 \\ -1/2 & 1/2 \end{pmatrix} = \frac{1}{2} \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \, . \] Tästä näemme, että ensimmäinen ja toinen preparointijärjestely johtaa samaan lopputulokseen. Yllättävää tässä on se, että järjestelyissä käytetään eri puhtaiden tilojen pareja. Preparoinnin jälkeen ei ole mahdollista tietää kummalla tavalla lopputulos saatiin aikaiseksi.
Konveksin rakenteen kannalta asian voi ilmaista niin, että sekoitetulla tilalla on useampi mahdollinen hajotelma puhtaiden tilojen konveksisummaksi. Tämä on ratkaiseva ero bitin ja kubitin sekoitettujen tilojen välillä.
Harjoitellaan lopuksi vielä sekoitettujen tilojen tunnistamista Blochin ympyrällä. Kannattaa ensin miettiä konveksihajotelman puhtaita tiloja vastaavat pisteet. Konveksikombinaatiot ovat niiden välisellä janalla.
C.6.4 Osasysteemin tila
Tarkastellaan kahta kubittia ja niiden yhteistilaa. Jos ne ovat tulotilassa, esim. \(\vert - \rangle \otimes \vert + \rangle\), on selvää, että ensimmäisen kubitin tila on \(\vert - \rangle\) ja toisen \(\vert + \rangle\). Tilanne muuttuu olennaisella tavalla, jos yhteistila ei ole tulotila. Otetaan esimerkkinä Bellin tila \(\frac{1}{\sqrt{2}}( \vert 0 \rangle \otimes \vert 0 \rangle + \vert 1 \rangle \otimes \vert 1 \rangle)\), jonka aikaisemman oppimamme perusteella tiedämme olevan lomittunut tila. Äkkiseltään voisi ajatella, että ensimmäisen kubitin tila saadaan lukemalla ainoastaan ensimmäiset vektorit, eli se olisi \(\frac{1}{\sqrt{2}}( \vert 0 \rangle + \vert 1 \rangle)\), joka on tila \(\vert + \rangle\). Voimme kuitenkin kumota tämän ehdotuksen simulaattorin avulla. Jos ensimmäisen kubitin tila olisi \(\vert + \rangle\), niin H-portin jälkeen mittaustulos pitäisi olla aina 0. Onko näin?
Please
Kokeile itse
B-portti preparoi alkutilasta Bellin tilan. Laita toisen kubitin kohdalla H-portti. Onko mittaustulos satunnainen vai ei?
Expand by moving mouse over the exercise or by clicking
Yllä olevassa esimerkissä ei ole mahdollista löytää puhdasta tilaa, joka kuvaisi ylemmän kubitin tilaa. Kun kahden kvanttisysteemin yhteistila on lomittunut, osasysteemien tilat ovat välttämättä sekoitettuja. Näitä tiloja ei voi lukea suoraan yhteistilasta, mutta ne voidaan laskea varsin suoraviivaisella tavalla. Seuraavaksi tarkastelemme, miten tämä tehdään.
Yhdistetyn systeemin osasysteemin tilan laskeminen alkaa sillä, että yhteistila kirjoitetaan matriisina. Olemme aikaisemmin oppineet, että kahden kubitin puhdas tila esitetään kompleksivektorina \[ \begin{pmatrix} a_1 \\ a_2 \\ a_3 \\ a_4 \end{pmatrix} \, , \] jossa \(|a_1|^2+|a_2|^2 + |a_3|^2 + |a_4|^2=1\). Tästä vektoriesitystavasta voidaan siirtyä matriiseihin samalla tavoin kuin yhden kubitin tapauksessa. Yllä olevaa vektoria vastaa matriisi \[ \begin{pmatrix} a_1 \\ a_2 \\ a_3 \\ a_4 \end{pmatrix} \begin{pmatrix} \overline{a_1} & \overline{a_2} & \overline{a_3} & \overline{a_4} \end{pmatrix} = \begin{pmatrix} |a_1|^2 & a_1\overline{a_2} & a_1\overline{a_3} & a_1\overline{a_4} \\ a_2\overline{a_1} & |a_2|^2 & a_2\overline{a_3} & a_2\overline{a_4}\\ a_3\overline{a_1} & a_3\overline{a_2} & |a_3|^2 & a_3\overline{a_4}\\ a_4\overline{a_1} & a_4\overline{a_2} & a_4\overline{a_3} & |a_4|^2 \end{pmatrix} \]
Tätä kaavaa ei kannata opetella, vaan on helpompi suorittaa matriisitulo aina kun on tarve muuttaa vektori sitä vastaavaksi matriisiksi. Kun kyseessä on vaikkapa Bellin tila \(\frac{1}{\sqrt{2}}( \vert 0 \rangle \otimes \vert 0 \rangle + \vert 1 \rangle \otimes \vert 1 \rangle)\), saadaan \[ \begin{pmatrix} \tfrac{1}{\sqrt{2}} \\ 0 \\ 0 \\ \tfrac{1}{\sqrt{2}} \end{pmatrix} \begin{pmatrix} \tfrac{1}{\sqrt{2}} & 0 & 0 & \tfrac{1}{\sqrt{2}} \end{pmatrix} = \begin{pmatrix} 1/2 & 0 & 0 & 1/2 \\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 1/2 & 0 & 0 & 1/2 \end{pmatrix} \]
Matemaattinen operaatio, jossa lasketaan matriisin lävistäjien summa, on nimeltään jälki (trace). Sille käytetään symbolia tr. Kuvan avulla selitettynä jäki lasketaan näin:
Jälki on hyvin helppo laskea, mutta se on silti hyödyllinen funktio. Jokaisen kvanttitilaa kuvaavan matriisin jälki on 1, oli matriisin koko mikä hyvänsä. Täten jäljen laskeminen auttaa tarkistamaan oletko kääntänyt vektorin oikeanlaiseksi matriisiksi. Jäljen tietynlainen yleistys tulee käyttöön osasysteemin tilan laskemisessa. Paneudumme tähän seuraavaksi.
Matemaattinen operaatio, jolla osasysteemin tila lasketaan, on nimeltään osittainen jälki. Koska kyseessä on osittainen jälki, lasketaan jälki vain yli toisen osasysteemin. Se puoli, joka jätetään pois, merkataan alaindeksiin. Eli ensimmäisen systeemin tila saadaan laskemalla osittainen jälki yli toisen osasysteemin ja tätä operaatiota merkataan tr2. Kahden kubitin tilaa kuvaa 4x4 matriisi, joka osittaisen jäljen laskemiseksi kannattaa kirjoittaa lohkomuodossa. Matriisin jakamisen lohkoihin käsittelimme jaksossa C.3.6.
Ensimmäisen systeemin tila lasketaan kaavalla \[ \mathrm{tr}_2 \begin{pmatrix} A & C \\ B & D \end{pmatrix} = A + D \, . \] Vastaavasti toisen systeemin tila saadaan laskemalla jälki yli ensimmäisen systeemin. Tämän laskukaava on \[ \mathrm{tr}_1 \begin{pmatrix} A & C \\ B & D \end{pmatrix} = \begin{pmatrix} \mathrm{tr} A & \mathrm{tr} C \\ \mathrm{tr} B & \mathrm{tr} D \end{pmatrix} \, . \]
Seuraavissa tehtävissä muodosta ensin vektorista 4x4 matriisi ja käytä sitä yllä olevia laskukaavoja.
C.6.5 Kvanttikanava
Yleisesti ottaen kääntyvä prosessi tai toiminto on sellainen, jonka voi palauttaa alkuperäiseen tilaan tekemättä muutoksia ympäristöön. Esimerkiksi kirjan ottaminen kirjahyllystä pöydälle on kääntyvä toiminto, sillä kirjan voi palauttaa takaisin hyllyyn. Kvanttiporttien toiminta on kääntyvää, eli jokaisella kvanttiportilla on käänteisportti. Näin ollen myös koko piirin toiminnan voi kääntää. Alla oleva on kertausta B-osasta. Nyt käänteisportin sääntöä on päivitetty koskemaan kaikkia kubittiportteja, myös sellaisia, joissa on kompleksilukuja matriisin alkioina.
Käänteisportin matriisi on helppo laskea myös useamman kubitin porteille. Yleisesti ottaen unitaarimatriisin käänteismatriisi on alkuperäisen matriisin transpoosi, jossa lisäksi kaikista alkioista on otettu konjugaatti. Matriisin transponointi tarkoittaa, että vaakarivit vaihdetaan pystyriveiksi.
Kääntymätön prosessi on sellainen, että informaatio ei kokonaisuudessaan pysy systeemin lopputilassa. Kuvittele jääkuutio lautasella. Kun se tuodaan huoneenlämpöön, alkaa jääkuutio sulaa. Kun jääkuutio on sulanut vedeksi, ei voi enää tietää minkä muotoinen jääpala oli. Vesilammikon voi kyllä jäädyttää uudestaan, mutta sen muoto ei palaudu alkuperäiseksi. Tarvittaisiin ylimääräistä tietoa alkutilanteesta, että veden voisi jäädyttää alkuperäiseen muotoon.
Olemme jo aikaisemmin todenneet, että kvattimittaus ei ole kääntyvä prosessi. Myös kvantti-informaation prosessointi ennen mittausta saattaa olla kääntymätön toiminto. Tähän syynä on se, että osa informaatiosta valuu ympäristöön. Prosessin kääntämiseksi pitäisi ottaa mukaan myös jokin osa ympäristöstä.
Alla oleva prosessi on esimerkki siitä, miten informaatio saatetaan menettää kokonaan ympäristöön. Meillä on yksi kubitti, jolle tapahtuu tietynlainen, meille tuntematon prosessi. Voi olla niin, että kubitti kytkeytyy toiseen kubittiin swap-portilla. Silloin prosessista ulos tulevan kubitin tila on sama, kuin alemman kubitin alkutila. Jos alemman kubitin alkutila on aina sama, esimerkiksi \(\ket{0}\), niin silloin tässä prosessissa ylemmän kubitin tila muuttuu tilaksi \(\ket{0}\) riippumatta sen alkutilasta.
Tässä esimerkissä ylemmän kubitin lopputila ei kerro mitään sen alkutilasta. On siten selvää, että prosessia ei voi kääntää pelkästään ylemmän kubitin osalta.
Kubitti voi kytkeytyä ympäristöön monimutkaisemmalla tavalla kuin edellisessä esimerkissä. Emme useinkaan tunne kaikki yksityiskohtia siitä, miten kvanttisysteemi vuorovaikuttaa ympäristönsä kanssa. Prosessin kuvaaminen on kuitenkin matemaattisesti mahdollista siltä osin, kun se vaikuttaa tarkasteltavaan kvanttisysteemiin.
Kerrataan vielä videon keskeisin asia. Kvanttisysteemin prosessointi voi aiheuttaa kohinaa, jolloin systeemin tila muuttuu sekoitetuksi. Kvanttiporttilaskennan malli olettaa kvanttiporttien olevan ideaalisia. Tämä näkyy siinä, että jokainen unitaarinen matriisi säilyttää puhtaat tilat puhtaina. Tarvitaan siis kvanttiportteja yleisempi kuvaus. Tätä yleisempää muunnosta kutsutaan kvanttikanavaksi. Kvanttiportit ovat kvanttikanavien erityisluokka, sillä niiden vaikutus voidaan kumota toisella kvanttiportilla. Sen sijaan muunlaisten kvanttikanavien toimintaa ei voi kokonaan kumota pelkkään systeemiin vaikuttamalla, sillä osa informaatiosta katoaa ympäristöön.
Kvanttiportti kuvataan matemaattisesti unitaarimatriisilla. Kvanttikanavan kuvaaminenkin onnistuu matriisien avulla, mutta siihen tarvitaan useampi matriisi. Katsotaan esimerkkinä tapausta, jossa matriiseja on kaksi. Olkoot ne K1 ja K2. Kun kvanttikanavan syötteenä on kubitti tilassa \(\rho\), niin ulostulona on tila
\(K_1 \rho K_1^* + K_2 \rho K_2^*\) .
Yhden kubitin kanavan kuvaamiseen tarvitaan 1,2,3 tai korkeintaan 4 matriisia. Kun kyseessä on kahden kubitin portti, voidaan tarvita jopa 16 matriisia. Yleinen sääntö on se, että kun kvanttisysteemin dimensio on d, niin voidaan tarvita d^2 matriisia, mutta se riittää.
Aikasempi esimerkki prosessista, jossa lopputila on \(\ket{0}\) riippumatta alkutilasta, voidaan kvanttikanavana kuvata seuraavasti. Valitaan \[ K_1 = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \, , \quad K_2 = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \, . \] Kun \[ \rho = \begin{pmatrix} a & c \\ b & d \end{pmatrix} \, , \] niin \[ K_1 \rho K_1^* + K_2 \rho K_2^* = \begin{pmatrix} a+d & 0 \\ 0 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \, . \] Lopputulos on tosiaankin tila \(\ket{0}\) matriisina kirjoitettuna.
Palautteesi jaksosta C.6
C.7 Sovelluksia
C.7.1 Salausavaimen jakaminen
Kvanttiaakkosten B-osassa tutustuimme BB84-menetelmään, jolla kaksi henkilöä voi tuottaa yhteisen, muille tuntemattoman, satunnaislukujonon. Tässä jaksossa käymme läpi toisen, hieman erilaisen menetelmän yhteisen satunnaislukujonon tuottamiseen. On kuitenkin syytä ensin muistella jaetun satunnaislukujonon käyttöä salauksessa.
BB84-menetelmässä molemmat henkilöt, sekä lähettäjä että vastaanottaja, käyttävät H-porttia satunnaisesti. Vastaanottajan kannalta kyse on silloin siitä, että hän tekee H-mittauksen. Lopuksi lähettäjän ja vastaanottajan on kerrottava toisilleen milloin he käyttivät H-porttia. Tätä viestittelyä salakuuntelija voi kuunnella, mutta se ei vaaranna menetelmän turvallisuutta.
Toinen menetelmä, nimeltään B92, on samankaltainen kuin BB84, mutta lähettämiseen käytetään vain kahta tilaa. Lisäksi tähän tarvitaan yhteen suuntaan kulkeva viestintä mittausten jälkeen kun BB84 edellyttää molempiin suuntiin kulkevaa viestintää. Menetelmän esitteli Charles Bennett vuonna 1992 julkaistussa tutkimusartikkelissaan 'Quantum cryptography using any two nonorthogonal states'. Kuten artikkelin nimessäkin sanotaan, menetelmässä voidaan käyttää mitä hyvänsä kahta tilaa, jotka eivät ole ortogonaalisia. Mittaukset pitää valita tilojen mukaan. Katsotaan seuraavaksi menetelmä läpi kun tiloiksi on valittu \(\vert 0 \rangle\) ja \(\vert + \rangle\).
B92-salausmenetelmän keskeisenä asiana on ymmärtää minkälaiset mittaustulosten jakaumat perusmittaus ja H-mittaus antavat tiloissa \(\vert 0 \rangle\) ja \(\vert + \rangle\). Saat alla olevan taulukon täytettyä edellisessä jaksossa oppimasi perusteella.
Yllä olevassa taulukossa olennaisinta on ne kohdat, joita ei tapahdu, eli siis tietyn mittaustuloksen todennäköisyys on 0. Tämän seurauksena tietystä mittaustuloksesta voimme tehdä päätelmiä alkutilasta.
Nyt olemme valmiit menemään menetelmän yksityiskohtaiseen toteutukseen. Olette sopineet, että Tim lähettää sinulle kubitteja ja sinä mittaat niitä. Menetelmän vaiheet ovat seuraavat:
- Sinä ja Tim käytätte omia satunnaislukugeneraattoreitanne ja muodostatte satunnaislukujonot. Timin jono on aihio, sillä sen osajonosta tulee yhteinen satunnaislukujononne. Sinun jonosi on apujono. Ne ovat kummallekin omansa ja teidän tulee pitää ne salassa. Nollien ja ykkösten sijaan Timin on kätevä käyttää symboleita 0 ja + ja sinun kirjaimia P ja H arpomillenne satunnaisille merkeille.
| Tim | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Aihio | + | + | 0 | 0 | 0 | + | 0 | + | + | 0 |
| Sinä | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Apujono | H | P | P | H | P | H | H | P | P | H |
Tim alkaa lähettää sinulle kubitteja yksitellen. Voitte sopia lähetysvälistä joko ennakolta tai ilman salattua kanavaa. Voisi olla vaikkapa niin, että Tim lähettää kubitin joka sekunti. Kullakin lähetyskerralla Tim preparoi alkutilaksi \(\vert 0 \rangle\) tai \(\vert + \rangle\), riippuen aihion kyseisen kohdan merkistä. Sinä vastaanotat kubitteja. Mittaat joko perusmittauksen tai H-mittauksen, riippuen omasta apujonostasi. Mittaustuloksena saat bittijonon.
Mittaustulokset 0 1 0 1 0 0 1 0 1 0
Pystyt päättelemään Timin lähettämän tilan silloin, kun mittaustuloksesi on 1. Merkitse muistiinpanoihisi johtopäätöksesi. Ne kerrat, kun mittaustulos on 0, johtopäätöstä ei voi tehdä.
Apujono H P P H P H H P P H Mittaustulokset 0 1 0 1 0 0 1 0 1 0 Johtopäätös ? + ? 0 ? ? 0 ? + ? Tee vielä erikseen lista niistä kohdista, joissa pystyit tekemään pitävän johtopäätöksen.
Valitut 2 4 7 9 Kerro tämä lista Timille. Sen voit tehdä vaikka puhelimella. Vaikka salakuuntelija saisi tämän tiedon napattua, se ei vaaranna menetelmän turvallisuutta.
- Viimeisessä vaiheessa Tim poimii aihiosta ne bitit, jotka sinä kerrot valinneesi.
| Tim | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Valitut | 2 | 4 | 7 | 9 | ||||||
| Aihio | + | + | 0 | 0 | 0 | + | 0 | + | + | 0 |
- Lopputuloksena molemmilla on sama satunnaismerkkijono. Tässä tapauksessa se on +00+. Jos haluatte satunnaisbittijonon, niin voitte kumpikin korvata +-merkin ykkösellä. Siispä yhteinen satunnaisbittijononne tässä tapauksessa olisi 1001.
Menetelmän onnistumisen varmistamiseksi kerrotte toisillenne sovitun osan jonon alusta. Näin voitte testata, että menetelmä toimi. Kertomanne bitit pitää hylätä satunnaislukujonosta.
B92-menetelmän turvallisuus perustuu siihen, että siinä käytetyt kaksi kvanttitilaa eivät ole ortogonaalisia. Tämä ei ole vain tekninen yksityiskohta, vaan koko menetelmän toiminnan edellytys. Jos nimittäin tilojen \(\ket{0}\) ja \(\ket{+}\) sijaan käytössä olisi ortogonaaliset tilat \(\ket{0}\) ja \(\ket{1}\), niin menetelmästä tulisi täysin turvaton. Tällöin lähettäjän ja vastaanottajan välissä toimiva salakuuntelija voisi mitata tilat ja vieläpä tehdä sen siten, että toiminnasta ei jää jälkeä. Tähän sopii vaikkapa se laitteisto, jonka kävimme läpi B-osan jaksossa B.4.4. Sillä salakuuntelija voi kopioida ortogonaaliset tilat itselleen. Tämä ei ole mahdollista silloin kun käytetyt tilat eivät ole ortogonaalisia.
C.7.2 Satunnaisvalintakoodaus
Yhdellä kubitilla voi lähettää saman verran informaatiota kuin yhdellä bitillä. Tutustuimme B-osassa ylitiheään koodaukseen, jossa käytetään hyväksi kahta kubittia, mutta toinen niistä voidaan jakaa jo ennen viestintää. Satunnaisvalintakoodaus näyttää toisenlaisen tavan käyttää kubitin kvanttifysikaalista luonnetta hyväksi viestinnässä.
Satunnaisvalintakoodaus on tietynlainen viestintätehtävä. Yksinkertaisimmassa satunnaisvalintakoodauksessa viesti on jokin kahden bitin jono, eli 00, 01, 10 tai 11. Vastaanottajan ei tarvitse kuitenkaan lukea koko viestiä, vaan ainoastaan joko ensimmäinen tai toinen bitti. Haluttu bitti valitaan jokaisella kerralla erikseen ja sen valinta tapahtuu satunnaisesti.
Tarkastellaan satunnaisvalintakoodausta tilanteessa, jossa Tim pystyy lähettämään sinulle vain yhden bitin. Yhdellä bitillä ei voi lähettää tietoa kahdesta bitistä. Koska kyse on satunnaisvalintakoodauksesta, sinun pitää pystyä lukemaan bittijonosta ainoastaan joko ensimmäinen tai toinen bitti. Sinun ja Timin pitää suunnitella sellainen järjestely, jossa pystyt mahdollisimman suurella todennäköisyydellä arvaamaan halutun bitin arvon oikein.
Eräs mahdollinen toimintamalli on seuraava. Sovitte, että Tim lähettää aina ensimmäisen bitin arvon. Eli
Viesti: 00 -> Tim lähettää: 0
Viesti: 01 -> Tim lähettää: 0
Viesti: 10 -> Tim lähettää: 1
Viesti: 11 -> Tim lähettää: 1
Sinulta kysytään satunnaisesti joko ensimmäistä tai toista bittiä. Jos sinulta kysytään ensimmäisen bitin arvoa, niin silloin tiedät sen täydellä varmuudella. Jos taas sinulta kysytään toisen bitin arvoa, niin joudut arvaamaan sokkona ja silloin onnistumisesi on 50%. Näin ollen kokonaisuudessa Tim pystyy viestimään sinulle satunnaisesti valitun bitin 75% todennäköisyydellä. Voidaan osoittaa, että tätä parempaa tapaa ei ole jos viestintään käytetään yhtä bittiä.
Tilanne muuttuu jos Timi voi lähettää sinulle bitin sijaan kubitin. Kubitti muuttaa tilanteen kahdella tavalla:
- Voitte valita kutakin viestiä vastamaan eri tilat. (Tosin ne tilat eivät ole ortogonaalisia.)
- Vastaanottaja voi tehdä erilaisen mittauksen riippuen siitä, kumpi bitin arvo häneltä kysytään.
Voidaan osoittaa, että satunnaislukukoodaus ei kubitin kanssa onnistu täydellisesti eli vastaanottaja tekee väistämättä joskus virheellisen arvauksen. Se onnistuu kuitenkin paremmin kuin bittiä käytettäessä, joten katsotaan mikä on paras tapa toteuttaa koodaus ja mikä on silloin on oikean arvauksen todennäköisyys.
Satunnaisvalintakoodauksen menetelmää varten meille riittää reaaliset kubittitilat, eli voimme tarkastella xz-tasossa olevaa Blochin ympyrää. Alla olevaan kuvaan on merkitty neljä tilaa ja niiden \((x,z)\)-koordinaatit. Ne ovat sinulle tutut tilat, \(\ket{0}\), \(\ket{1}\), \(\ket{+}\) ja \(\ket{-}\).
Näitä neljää tilaa voisi käyttää koodaukseen, mutta mittaukset ovat yksinkertaisemmat jos muunnamme tiloja. Neljä koodauksessa käytettävää tilaa on merkattu alla olevaan kuvaan. Tiloja vastaavat pisteet on nimetty \(r_{ij}\), jossa \(ij\) on tilaan koodattu viesti.
Oletetaan, että Timi on lähettänyt sinulle viestin koodattuna kubittiin. Tämä tarkoittaa, että kun bittipari on \(ij\), niin Tim preparoi kubitin tilaan \(\ket{\psi_{ij}}\), joka vastaa Blochin vektoria \(r_{ij}\). Sitten hän lähettää kubitin sinulle.
Vastaanotat kubitin ja sitten sinulle kerrotaan kumpi viestin bitin arvoista tulee avata.
- Jos sinun tulee tietää viestin ensimmäinen bitti, teet perusmittauksen.
- Jos sinun tulee tietää viestin toinen bitti, teet H-mittauksen.
Onnistumisen todennäköisyys pystyt laskemaan aikaisemmin oppimillasi tiedoilla. Jakson C.2.2 loppuosan muistelemisesta on apua.
Katsotaan sitten toteutusta kvanttipiirin avulla. Tilojen \(\ket{\psi_{ij}}\) preparoimiseksi meidän tulee käyttää tietynlaista unitaariporttia tiloihin \(\ket{0}\), \(\ket{1}\), \(\ket{+}\) ja \(\ket{-}\). Etsimämme unitaariportti \(U\) on sellainen, jolle \[\begin{align*} U \ket{0} = \ket{\psi_{00}} \\ U \ket{+} = \ket{\psi_{10}} \\ U \ket{1} = \ket{\psi_{11}} \\ U \ket{-} = \ket{\psi_{01}} \\ \end{align*}\] Kuvassa oranssit nuolet kuvaavat unitaariportin \(U\) toiminnan Blocin ympyrän kiertona.
Tila \(\ket{0}\) muuntuu tilaksi \(\ket{\psi_{00}}\), jonka Blochin vektori on \(r_{00}\). Kun \(\ket{\psi_{00}}\) kirjoitetaan muodossa \(\ket{\psi_{00}}=a \ket{0} + b \ket{1}\) ja \(r_{00}=(x_{00},z_{00})\), on näiden välinen yhteys
\(x_{00}=2ab\)
\(z_{00}=a^2-b^2.\)
Saadaan \(a=\sqrt{2 + \sqrt{2}}/2\) ja \(b=\sqrt{2 - \sqrt{2}}/2\). Tämä on unitaarimatrisin ensimmäinen pystyrivi.
Tila \(\ket{1}\) muuntuu tilaksi \(\ket{\psi_{11}}\), jonka Blochin vektori on \(r_{11}\). Kun \(\ket{\psi_{11}}\) kirjoitetaan muodossa \(\ket{\psi_{11}}=c \ket{0} + d \ket{1}\) ja \(r_{11}=(x_{11},z_{11})\), on näiden välinen yhteys
\(x_{11}=2cd\)
\(z_{11}=c^2-d^2.\)
Saadaan \(c=-\sqrt{2 - \sqrt{2}}/2\) ja \(d=\sqrt{2 + \sqrt{2}}/2\). Tämä on unitaarimatrisin toinen pystyrivi.
Kvanttistrategia on siis seuraavanlainen.
Lähettäjä
Viesti: 00 -> Valitse alkutila: \(\ket{0}\). Preparointi: U-portti.
Viesti: 01 -> Valitse alkutila: \(\ket{1}\). Preparointi: H-portti ja U-portti.
Viesti: 10 -> Valitse alkutila: \(\ket{0}\). Preparointi: H-portti ja U-portti.
Viesti: 11 -> Valitse alkutila: \(\ket{1}\). Preparointi: U-portti.
Vastaanottaja
Ensimmäisen bitin arvo: tee perusmittaus.
Toisen bitin arvo: tee H-mittaus.
Seuraavaksi pääset kokeilemaan tätä kvanttistrategiaa. Käy läpi kaikki neljä tilaa ja suorita kullekin kaksi mittausta. Käy siten läpi 8 eri tapausta. Mieti jokaisen kohdalla mikä on oikea vastaus ja pidä kirjaa oikean arvauksen todennäköisyydestä. Lopuksi laske niiden keskiarvo.
Please
Kokeile itse
Tee neljä eri preparointia ja jokaiselle näistä kaksi eri mittausta eli perusmittaus ja H-mittaus. Tarkastele millä todennäköisyydellä vastaanottaja pystyy arvaamaan halutun bitin arvon oikein. Laske keskiarvo onnistumisen todennäköisyydelle.
Expand by moving mouse over the exercise or by clicking
C.7.3 Yhteistoiminnan koordinointi
Viestiminen mahdollistaa kahden tai useamman tahon tekemisten koordinoinnin. Voit vaikkapa aamulla soittaa kaverillesi ja sopia saman värisen paidan pukemisesta. Tietynlainen koordinointi on mahdollista myös ilman viestintää ennalta jaetun informaatiota avulla. Esimerkiksi ennalta jaetun listan avulla voi kaksi henkilöä koordinoida toimintojaan. Voit kaverisi kanssa sopia, että maanantaisin puette valkoisen paidan ja tiistaisin punaisen.
Koordinointi tulee uudella tavalla kiinnostavaksi silloin, kun haluttuun toimintaan liittyy jokin ulkopuolelta tuleva syöte. Seuraavalla videolla kuvataan eräs tällainen koordinointia vaativa toiminta.
Videolla kerrotussa tilanteessa sinun isäsi ja Timin isä tekee teille eväät aamuisin. Isät tekevät joko maukkaan sämpylän tai sitten paistavat ison pellillisen mustikkapiirakkaa. Nämä valinnat tapahtuvat teidän kannaltanne täysin ennustamattomasti ja isien toiminta on toisistaan riippumatonta. Näin ollen aamupaloille on neljä eri vaihtoehtoa:
- molemmilla sämpylä
- sinulla sämpylä, Timillä mustikkapiirakka
- sinulla mustikkapiirakka, Timillä sämpylä
- molemmilla mustikkapiirakka
Haluatte pääsääntöisesti mennä eväsretkelle samalle uimarannalle. Poikkeus on tehtävä niinä päivinä, jossa kummankin isä on pakannut evääksi mustikkapiirakkaa. Silloin teillä on yhteensä niin paljon mustikkapiirakkaa, että sitä tulee syötyä ihan liikaa. On parempi niinä päivinä mennä eri uimarannoille. Eli koordinoinnin pitäisi mennä näin:
- molemmilla mustikkapiirakkaa -> eri rannalle
- muut tapaukset -> samalle rannalle
Voitte toki ottaa puhelun aamuisin, kertoa eväänne ja sopia uimarannasta. Mutta onko puhelu välttämätöntä asian koordinoimiseen? Keksitkö sellaisen järjestelyn, jossa päädytte halutulla tavalla eväistä riippuen samalla tai eri uimarannalle? Valintanne saa riippua kummankin omasta eväästä, mutta toisenne eväitä ette tiedä.
Katsotaan esimerkki ennalta sovitusta koordinoinnin yrityksestä. Voitte sopia vaikkapa seuraavasta ohjeistuksesta:
- Kun eväänä on sämpylä, mene Lutakkoon.
- Kun eväänä on mustikkapiirakka, mene Viitaniemeen.
Tällä tavalla päädytte kuitenkin samalle rannalle kun molemmilla on mustikkapiirakkaa. Se ei ollut tarkoitus.
Voitte kokeilla erilaisia ohjeistuksia. Alla olevassa taulukossa voit valita ohjeet sekä sinulle ja Timille. Kun painat Tallenna, niin saat näkyviin tuloksen. Palaute 'OK' tarkoittaa, että koordinointi johtaa halutunlaiseen toimintaan. Sen sijaan punainen raksi merkkaa sitä, että koordinointi menee pieleen.
Eväiden kannalta eri vaihtoehtoja on neljä. Sovitaan pisteytys siten, että oikeanlaisesta yhteistoiminnasta saa yhden pisteen, kun taas vääränlaisesta menettää pisteen. Käy läpi erilaisia ennalta sovittuja ohjeistuksia yllä olevalla taulukkolaskurilla ja etsi paras ohjeistus.
Ennalta sovitun ohjeistuksen toimivuudelle voidaan johtaa yläraja. Merkataan symboleilla \(s_1\) ja \(m_1\) tapauksia, joissa sinä saat evääksi sämpylän ja mustikkapiirakan. Vastaavasti merkitsemme \(s_2\) ja \(m_2\) Timin vastaavia tapauksia. Jos päätät mennä Lutakkoon, korvaat symbolin luvulla 1. Jos taas päätät mennä Viitaniemeen, korvaat symbolin luvulla -1. Samoin tekee Tim. Nyt voimme kirjoittaa lausekkeen, jonka arvo pitää saada mahdollisimman suureksi. Merkataan tätä lauseketta symbolilla \(\mathcal{B}\). Ottaen huomioon halutun lopputuloksen, on seuraava lauseke sopiva: \[ \mathcal{B}= s_1 \cdot s_2 + s_1 \cdot m_2 + m_1 \cdot s_2 - m_1 \cdot m_2 \, . \] Tässä kaikissa tapauksessa paitsi viimeisessä tulee lukujen olla samat. Tämä lauseke antaa kokonaispistesaaliin, kun jokin ennalta sovittu ohjeistus kiinnittää muuttujien \(s_1\), \(m_1\), \(s_2\) ja \(m_2\) arvot.
Ottamalla \(s_1\) ja \(m_1\) yhteiseksi tekijäksi voimme kirjoittaa \[ \mathcal{B} = s_1 \cdot (s_2 + m_2) + m_1 \cdot (s_2 - m_2) \, . \] Ennalta päätetyssä suunnitelmassa muuttujien \(s_1\), \(m_1\), \(s_2\) ja \(m_2\) arvot ovat kiinnittety. Näin ollen väistämättä joko \(s_2 = m_2\) tai \(s_2 = - m_2\). Tästä seuraa, että joko \(s_2 + m_2=0\) tai \(s_2 - m_2=0\). Siispä lausekkeen \(\mathcal{B}\) kahdesta osasta toinen on 0. Johtopäätöksenä voimme todeta, että \[ -2 \leq \mathcal{B} \leq 2 \,. \] Tätä kahden toimijan korrelaatiota rajoittavaa epäyhtälöä kutsutaan Bellin epäyhtälöksi. Bellin epäyhtälöitä on useita erilaisia ja tämä kyseinen epäyhtälö tunnetaan kvanttifyysikoiden keskuudessa nimellä CHSH-epäyhtälö tai myös pitkällä nimellä CHSH-Bellin epäyhtälö.
Kvanttipöllön lisätieto vielä tyhjä
—John Bell johti ensimmäisenä matemaattiset ehdot...
Tarkastellaan sitten samaa koordinointitehtävää tilanteessa, jossa sinä ja Tim olette jakaneet ennakolta tukun kubittipareja. Oletamme jokaisen kubittiparin olevan Bellin tilassa \(\ket{\beta_{00}}\). Kun aamulla täytyy tehdä päätös uimarannasta, otatte yhden kubittiparin käyttöön. Sinä käytät kubittiisi H-porttia ja Tim U-porttia, joka on sama kvanttiportti, jota käytimme jaksossa C.7.2 eli \[ U = \frac{1}{2} \begin{pmatrix} \sqrt{2+\sqrt{2}} & \sqrt{2-\sqrt{2}} \\ \sqrt{2-\sqrt{2}} & -\sqrt{2+\sqrt{2}} \end{pmatrix} \, . \] Tilojen preparointiin käytetty piiri on kuvattu alla. Bellin portti pitää toteuttaa silloin kun olette yhdessä. Sen sijaan H-portin ja U-portin voitte toteuttaa myöhemminkin omilla tahoillanne.
Mittauksiin toimintaohje on molemmille seuraava:
- Jos eväänä on sämpylä, tee H-mittaus.
- Jos eväänä on mustikkapiirakka, tee perusmittaus.
Sovitte, että mittaustulos 0 tarkoittaa Lutakkoa ja 1 tarkoittaa Viitaniemeä.
Tässä kvanttistrategiassa tietty eväspari ei johda varmaan onnistumiseen tai varmaan epäonnistumiseen. Sen sijaan strategia antaa onnistumiselle jonkin todennäköisyyden p ja epäonnistumisen todennäköisyys on siten 1-p. Käy jälleen läpi kaikki neljä eväsparia. Pistesaaliin odotusarvo lasketaan siten, että jokaisen tapauksen kohdalla saadun pistemäärän odotusarvo on \[ 1 \cdot p + (-1) \cdot (1-p) = 2p-1 \, . \] Tämä luku lasketaan jokaisen neljän tapauksen kohdalla ja luvut lasketaan yhteen.
Please
Kokeile itse
Rakenna tilojen preparoinnin toteuttava piiri. Käy sitten läpi kaikki neljä eri vaihtoehtoa. Ota jokaisessa paperille ylös onnistumisen todennäköisyys.
Expand by moving mouse over the exercise or by clicking
Käy läpi kaikki neljä tapausta ja pidä kirjaa oikean arvauksen todennäköisyydestä. Lopuksi laske pistesaaliin odotusarvo.
C.7.4 Kvanttiteleportaatio
Luultavasti siirrät tiedostoja pilvipalvelussa melkein päivittäin. Tavallisessa pilvipalvelun käytössä tiedosto kopioidaan pilveen ja omalle koneelle jää alkuperäinen tiedosto. Entä jos haluaisimme siirtää kvantti-informaatiota? Kvantti-informaation tapauksessa kopioiminen ei ole mahdollista, joten täysin pilvipalvelun kaltainen toiminto ei ole mahdollinen. Mutta kvantti-informaatiota voi siirtää kvanttisysteemiä fyysisesti lähettämättä. Silloin alkuperäinen 'tiedosto' tuhoutuu, eli alkuperäisen systeemin tila muuttuu. Tätä kvanttitilan siirtämistä toiseen paikkaan on alettu kutsua nimellä kvanttiteleportaatio. Koska nimitys tuo mieleen scifi-sarjojen materiansiirron, niin sanotaan vielä uudestaan: kvanttiteleportaatiossa ei siirry materiaa, vaan ainoastaan kvantti-informaatiota.
Kvanttiteleportaatio käyttää hyväksi kvanttilomittumista. Ajatellaan, että sinulla on halussasi kubitti etkä tiedä kubitin tilaa. Tim on kotonaan Tuupovaaralla. Haluat saada lähetettyä tuntemattoman tilan Timille. Onneksi olette etukäteen jakaneet lomittuneen kubittiparin. Eli:
- Sinulla on lomittuneen kubittiparin toinen osa sekä kubitti tuntemattomassa tilassa, jonka tilan haluat lähettää Timille. Merkitään tätä tuntematonta tilaa \(\ket{\psi}\).
- Timillä on lomittuneen kubittiparin toinen osa.
Kvanttiteleportaation vaiheet menevät seuraavasti:
- Suoritat Bellin mittauksen sinun hallussasi olevalle kahdelle kubitille. Saat jonkin neljästä mittaustuloksesta: 00, 01, 10, 11.
- Soitat Timille ja kerrot hänelle saamasi mittaustuloksen.
- Riippuen mittaustuloksesta Tim suorittaa tietyn portin hallussaan olevalle kubitille.
- Lopputuloksena Timin kubitti on tilassa \(\psi\).
Katsotaan seuraavaksi kvanttiteleportaation taustalla olevaa matematiikkaa.
Muistellaan aluksi, että Bellin tilat ovat \[\begin{align*} \ket{\beta_{00}} &= B(\ket{0} \otimes \ket{0}) = \frac{1}{\sqrt{2}} \left( \ket{0} \otimes \ket{0} +\ket{1} \otimes \ket{1} \right), \\ \ket{\beta_{01}} &= B(\ket{0} \otimes \ket{1}) = \frac{1}{\sqrt{2}} \left( \ket{0} \otimes \ket{1} +\ket{1} \otimes \ket{0} \right), \\ \ket{\beta_{10}} &= B(\ket{1} \otimes \ket{0}) = \frac{1}{\sqrt{2}} \left( \ket{0} \otimes \ket{0} -\ket{1} \otimes \ket{1} \right), \\ \ket{\beta_{11}} &= B(\ket{1} \otimes \ket{1}) = \frac{1}{\sqrt{2}} \left( \ket{0} \otimes \ket{1} -\ket{1} \otimes \ket{0} \right) \, . \end{align*}\] Oletetaan, että sinun ja Timin jakama lomittunut kubittitila on Bellin tila \(\ket{\beta_{00}}\). Olkoon hallussasi oleva tuntematon tila \(\ket{\psi} = a \ket{0}+ b \ket{1}\), joillekin kompleksiluvuille \(a\) ja \(b\), joille siis \(|a|^2 + |b|^2=1\). Tällöin kolmen kubitin yhteistila protokollan alussa on \[\begin{align*} \ket{\psi}_0 \otimes \ket{\beta_{00}}_{12} =& \frac{1}{\sqrt{2}} \left( a \ket{0}_0 \otimes \ket{0}_1 \otimes \ket{0}_2 + a \ket{0}_0 \otimes \ket{1}_1 \otimes \ket{1}_2\right. \\ & \quad \left.+ b \ket{1}_0 \otimes \ket{0}_1 \otimes \ket{0}_2 + b \ket{1}_0 \otimes \ket{1}_1 \otimes \ket{1}_2\right), \end{align*}\] missä alaindekseillä \(0,1,2\) on nimetty eri kubitit, joista sinulla on hallussa kubitit \(0\) ja \(1\) ja Timillä on hallussaan kubitti \(2\).
Lisäämällä lausekkeeseen toisiaan kumoavia termejä nähdään, että yllä oleva lauseke voidaan kirjoittaa myös seuraavassa muodossa: \[\begin{align*} \ket{\psi}_0 \otimes \ket{\beta_{00}}_{12} =& \frac{1}{2} \left( \ket{\beta_{00}}_{01} \otimes ( \blue{a \ket{0}_2 + b \ket{1}_2}) +\ket{\beta_{01}}_{01} \otimes (\red{ b \ket{0}_2 + a \ket{1}_2}) \right. \\ & \quad \left. +\ket{\beta_{10}}_{01} \otimes ( \orange{a \ket{0}_2 - b \ket{1}_2}) + \ket{\beta_{11}}_{01} \otimes ( \green{-b \ket{0}_2 + a \ket{1}_2}) \right)\, . \end{align*}\]
Nyt näemme, että mikäli teet hallussasi oleville kubiteille (eli kubiteille \(0\) ja \(1\)) Bellin mittauksen, saat jonkin neljästä mittaustuloksesta \(00, 01, 10, 11\) yhtä todennäköisesti. Tällöin näissä neljässä tapauksessa Timin halussa oleva kubitti (eli kubitti \(2\)) on tilassa \[\begin{align*} 00:& \quad \blue{a \ket{0}_2+ b \ket{1}_2}, \\ 01:& \quad \red{b \ket{0}_2+ a \ket{1}_2}, \\ 10:& \quad \orange{a \ket{0}_2- b \ket{1}_2}, \\ 11:& \quad \green{-b \ket{0}_2+ a \ket{1}_2} \, . \end{align*}\]
Näyttää siis siltä, että vain tapauksessa \(00\) on Timin kubitti tilassa \(\ket{\psi}=a \ket{0}+ b \ket{1}\) ja muissa tapauksissa Timin kubitti on eri tilassa. Kuitenkin käyttämällä X ja Z portteja huomaamme, että \[\begin{align*} I (a \ket{0}+ b \ket{1}) &= a \ket{0}+ b \ket{1} = \ket{\psi}, \\ X(b \ket{0}+ a \ket{1}) &= a \ket{0}+ b \ket{1} = \ket{\psi}, \\ Z(a \ket{0}- b \ket) &= a \ket{0}+ b \ket{1} = \ket{\psi}, \\ ZX(-b \ket{0}+ a \ket{1}) &= a \ket{0}+ b \ket{1} = \ket{\psi} \, . \end{align*}\] Näin ollen soittamalla Timille ja ilmoittamalla Bellin mittauksen mittaustuloksen voi Tim tehdä tarvittavan korjauksen kubitilleen. Lopulta Timin kubitti on varmasti halutussa tilassa \(\ket{\psi}\).
Kvanttiteleportaation yksi suurimmista hyödyistä on se, että siinä tilan siirtoon käytetään lomittumista, mikä mahdollistaa tilan siirron pitkienkin matkojen päähän. Mikäli kuitenkin haluamme siirtää kubittitilan saman piirin sisällä on vaihtoehtona myös symmetrisesti tiloja kubitilta toiselle siirtävä Swap-portti. Tarkastellaan seuraavaksi miten lähtemällä liikkeelle Swap-portista voimme johtaa kvanttiteleportaatiopiirin toteutuksen.
Lähdetään liikkeelle kolmen kubitin piiristä, jossa olemme preparoineet jonkin (tuntemattoman) kvanttitilan \(|\psi\rangle\) ensimmäiseen kubittiin ja haluamme siirtää sen viimeiseen kubittiin. Operoimalla Swap-portilla ensimmäiseen ja viimeiseen kubittiin saamme vaihdettua kubittien tilat.

Kuten aikaisemmasta tiedämme, Swap portin voi toteuttaa kolmen CX-portin avulla seuraavanlaisesti:

Koska kolmannen kubittimme alkutila on \(|0 \rangle\), ei ensimmäinen CX-portti koskaan aktivoidu, joten voimme jättää sen huoletta pois.

Koska emme ole kiinnostuneet keskimmäisen kubitin tilasta, voimme yhtä hyvin asettaa sen alkutilaksi tilan \(\ket{+}\), jonka voimme preparoida lisäämällä H-portin piirin alkuun kyseiselle kubitille (syy miksi valitsemme juuri tämän alkutilan selviää myöhemmin). Nyt siis piirimme näyttää tältä:

Kvanttiteleportaatioprotokollan alussa toteuttamamme operaatiot tapahtuvat vain joko Timin kanssa jakamienne kubittien välillä (toinen ja kolmas kubitti, niiden lomittaminen) tai sinun hallussasi olevien kubittien välillä (ensimmäinen ja toinen kubitti, niiden Bellin mittaus). Vain klassinen kommunikaatio sinun kubittiesi mittaustuloksesta Timille, joka käyttää mittaustulosta tarvittavan korjauksen tekemiseen voidaan ajatella operaationa sinun tuntemattoman kubittisi (ensimmäinen kubitti) ja Timin kubitin (kolmas kubitti) välillä. Palataan tähän klassiseen kommunikaatioon liittyvään operaatioon myöhemmin ja keskitytään aluksi muuttamaan piirin alun portit operoimaan vain jakamienne kubittien tai sinun hallussasi olevien kubittien välillä. Tehdään tällainen muutos ensimmäiselle CX-portille. Muistellaan, miten voimme toteuttaa ensimmäisen CX-portin neljän CX-portin yhdistelmänä siten, että kytkennät ovat vain joko ensimmäisen ja toisen tai toisen ja kolmannen kubitin välillä. Etsitään tämä toteutus.
Please
Tehtävä
Kolmen kubitin piirissä ensimmäinen kubitti q[0] toimii kontrollikubittina kolmanteen kubittin q[2] vaikuttavalle CX-portille. Tee vastaava piiri neljän CX-portin avulla siten, että CX-portit operoivat vain joko ensimmäisen (q[0]) ja toisen (q[1]) kubitin tai toisen (q[1]) ja kolmannen (q[2]) kubitin välillä.
Expand by moving mouse over the exercise or by clicking
Nyt voimme siis korvata ensimmäisen CX-portin löytämällämme neljän CX-portin hajotelmalla. Kokeillaan piirin toimintaa tässä vaiheessa itse.
Please
Kokeile itse
Rakenna edellisessä tehtävässä löytämäsi neljän CX-portin yhdistelmä ja vakuuta itsesi, että mikä tahansa kubitin q[0] tila siirtyy kubitille q[2].
Expand by moving mouse over the exercise or by clicking
Tutki yllä rakentamaasi piiriä tarkemmin. Kokeile poistaa jokin asettamastasi neljästä CX-portista. Miten piirin toiminta muuttuu? Etsi CX-portti jonka poistaminen ei muuta piirin toimintaa ja mieti miksi kyseisellä portilla ei ole vaikutusta piiriin. Rakenna piiri seuraavassa tehtävässä ilman tätä turhaa CX-porttia porttia.
Please
Tehtävä
Lisää piiriin yhteensä kolme CX-porttia kubittien q[0] ja q[1] tai kubittien q[1] ja q[2] välille siten, että se vastaa samaa piiriä minkä löysit aiemmin neljän CX-portin avulla.
Expand by moving mouse over the exercise or by clicking
Käsitellään seuraavaksi piirin viimeinen CX-portti, joka vaikuttaa ensimmäiseen kubittiin viimeisen kubitin ollessa kontrollina. Muistellaan, että protokollan mukaan haluamme tehdä yhteisen mittauksen sinun kubitillesi (ensimmäinen kubitti) ja sinun osallesi (toinen kubitti) Timin kanssa jakamastasi lomittuneesta kubitista ja jonka mittaustuloksen perusteella haluamme tehdä korjaavat portit Timin kubitille (kolmas kubitti). Toisin sanoen mittaustuloksen pitäisi toimia eräänlaisena klassisena kontrollina korjaaville operaatioille. Voidaan osoittaa, että tällainen klassinen kontrolli voidaan toteuttaa tähän asti käyttämiemme kontrollien avulla vaihtamalla mittauksen ja kontrollien järjestystä. Piirissämme, kuten kaikissa kurssin piireissä, mittaus tapahtuu piirin lopussa. Koska tällaisen klassisen kontrollin täytyy sijaita ensimmäisessä ja/tai toisessa kubitissa haluamme muuttaa piirimme muotoon, jossa käyttämämme ja tuntemamme kontrollit ovat ensimmäisessa ja/tai toisessa kubitissa. Ainoa portti, jossa tämä ei toistaiseksi toteudu on viimeinen CX-portti.
Kysymys siis kuuluu: miten saisimme viimeisen CX-portin kontrollin vaihdettua ensimmäiseen tai toiseen kubittiin viimeisen sijaan? Tähän olemme onneksi oppineet vastauksen aiemmissa jaksoissa, joten on aika soveltaa oppimaamme.
Please
Tehtävä
Esitä edellisen tehtävän piirin viimeinen CX-portti siten, että kontrollikubittina on joko kubitti q[0] tai q[1]. Käytä mitä tahansa annettuja portteja. Rakenna edellisen tehtävän piiri tällä uudella viimeisen CX-portin toteutuksella muuttamatta muita portteja.
Expand by moving mouse over the exercise or by clicking
Jaksosta C.3.6. olet oppinut hajotelman CX-portille CZ- ja H-porttien avulla. Yhdistä tämä siihen, mitä opit jaksosta C.4.1. CZ-portin kontrollin paikan vaihdosta.
Lopuksi voimme vielä todeta, että koska emme ole kiinnostuneita ensimmäisen tai toisen kubitin lopputilasta, voimme poistaa piirin lopusta näihin kubitteihin vaikuttavat yhden kubitin portit. Rakennetaan lopullinen teleportaatiopiiri ilman tällaisia turhia portteja piirin lopussa.
Please
Tehtävä
Rakenna lopullinen kvanttiteleportaatiopiiri edellisestä tehtävästä ilman turhia yhden kubitin portteja piirin lopussa.
Expand by moving mouse over the exercise or by clicking
Näin olemme saaneet johdettua piirin, jossa aluksi preparoimme toisen ja kolmannen kubitin lommittuneeseen tilaan ja nämä kubitit jaatte Timin kanssa. Sen jälkeen vuorovaikutamme ensimmäisen (oma kubittisi jonka tilan haluat lähettää) ja toisen kubitin (sinun osasi jakamastasi Bellin tilasta) kanssa ja lopulta teemme kontrolloituja muutoksia kolmannelle kubitille (Timin kubitti) ensimmäisen ja toisen kubitin kontrollien perusteella. Tutki vielä lopuksi johtamaasi teleportaatiopiiriä ja vastaa alla oleviin kysymyksiin.
Please
Kokeile itse
Tutki johtamaasi kvanttiteleportaation piiriä ja varmistu, että millä tahansa preparoinnilla kubitin q[0] tila tosiaan siirtyy kubitille q[2].
Expand by moving mouse over the exercise or by clicking
Jos emme ole enää saman piirin sisällä ja haluamme toteuttaa protokollan klassiset kontrollit Timin kubitille tehtäville korjauksille, täytyy meidän tehdä mittaus ennen viimeisiä kontrolleja ensimmäiselle ja toiselle kubitille. Tällöin piirin keskiosan vuorovaikutus yhdessä toteutettujen kantamittauksien kanssa vastaa protokollassa kuvattua Bellin mittausta kahdelle ensimmäiselle kubitille. Voidaan osoittaa, että tällöin mittauksen jälkeiset kontrollit muuttuvat haluamiksemme klassisiksi kontrolleiksi, joiden toiminta vastaa sitä, että yksinkertaisesti viestimme saadut mittaustulokset kahdesta ensimmäisestä kubitista, minkä perusteella Tim tekee tarvittavat korjaukset kubitilleen. Lopullinen kvanttiteleportaatiopiiri klassisilla kontrolleilla näyttääkin seuraavalta:

Palautteesi jaksosta C.7
Harjoitustehtävät
Päästäksesi harjoitustehtäväosioon sinun täytyy rekisteröityä kurssille. Katso ohjeet koti-dokumentista.
Kvanttiporttisimulaattori
Please
Kokeile itse
Täällä voit kokeilla kvanttiporttien toimintaa.
Expand by moving mouse over the exercise or by clicking
Laskin
Please
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.