kwantum computing

Door pinna_be op zondag 25 mei 2014 00:42 - Reacties (15)
Categorie: Mijmeringen, Views: 5.796

inleiding
Zoals velen van jullie waarschijnlijk gelezen hebben, heeft google een tool uitgebracht waarmee je kan leren met kwantum computing te spelen. Wat ontdekte ik: ik versta er geen *** van. De concepten zijn redelijk ingewikkeld en in een poging om het te snappen heb ik een uitleg gemaakt. (De uitleg is Engelstalig aangezien ik hem gepost heb op reddit)

Nu, is deze uitleg mogelijk niet helemaal correct, ik deel hem met jullie in een poging het onderzoek voor jullie makkelijker te maken, maar vooral ook in de hoop dat er verduidelijkende reacties komen. Als we met meerdere mensen onderzoeken, kunnen we misschien een uitleg bekomen die wel correct is. En indien we geluk hebben leest iemand die er daadwerkelijk iets van weet deze blog ook, en kan hij/zij veel mensen helpen door aan te vullen.

De uitleg bestaat uit meerdere delen. Ik probeer eerst het heel simpel uit te leggen, en probeer dan uit te diepen.

uitleg - deel 0

http://qcplayground.withg...ayground/5653164804014080[1] . Dit is het basisvoorbeeld waar ik mee wil werken. De reden is omdat dit het eerste voorbeeld is waar er kwantum magie aan de pas komt.


Eerst creŽer je een vector van 8 bits 0000 0000 geÔnitialiseerd op 0. Aan de linkerzijde zie je een veld met grootte 256. Elk vierkantje op dit veld stelt een mogelijke staat voor, namelijk alle combinaties die je kan maken met 1en en 0en. Dit zijn er 256 en staat i komt overeen met de bitwise unsigned interpretatie van i.

We proberen eerst Hadamard uit te leggen. Hadamard zal een qubit i in superpositie zetten, dit betekend dat deze qubit zowel 0 als 1 is. Wanneer we dit doen op de bit met index 2, dan krijgen we mogelijke staten, namelijk de staten 0000 0000 en 0010 0000 (0 en 4). We merken op dat Hadamard een 2de keer runnen op een bit de eerste keer ongedaan maakt. Hademard is dus z'n eigen inverse. We merken ook dat de tool een balkje zet wanneer de staat "mogelijk" is, of in de 2d versie een vierkantje inkleurt.

uitleg deel 1

Nu klopt deze uitleg niet helemaal. In de Quantuminformatica wordt er immers gewerkt met qubits ipv bits, en elke qubit is eigenlijk een lineaire combinatie 𝛂*0 + β*1, waar 𝛂 en β complexe getallen zijn met de eigenschap |𝛂|^2 + |β|^2 = 1. ( Je kan dit grafisch voorstellen door een sfeer voor je te nemen. De noord en zuidpool zijn de klassieke bits 0 en 1, een qubit kan elk ander punt zijn op de oppervlakte van de sfeer.

Dus, wat doet een Hadamard gate nu eigenlijk met een qubit? je creŽert nog steeds een superpositie, enkel ben je niet gewoon meer 1 en 0, er zijn parameters bij nu, die beschrijven "hoeveel 0" of "hoeveel 1" je op dat moment bent. Je berekent new𝛂*0 + newβ*1 met new𝛂 = (𝛂+β)/sqrt(2) en newβ = (𝛂-β)/sqrt(2) . Dit betekent dat de qubit startend vanaf 𝛂=1, β=0 na de Hadamard bewerking new𝛂 = (𝛂+β)/sqrt(2) en newβ = (𝛂-β)/sqrt(2) . Merk op dat Hadamard nog steeds invers is.

uitleg deel 2
Nu, wat met de staten op het veld. Wanneer je je muis beweegt over het vel zie je |0> en |1> en |2> en ... . Wel, wanneer je met een qubit werkt, dan heb je duidelijk 2 mogelijke staten, waar je parameters hebt om te bepalen "hoeveel" je in welke staat zit. In het een qubit geval noem je deze staten respectievelijk |0> en |1>. Wanneer je met meerder qubits werkt, krijg je meerdere staten, meer bepaald 2^k staten. Op die 2^k staten geldt de volgende eigenschap: ∑ (|i>^2) = 1.

Wanneer we Hadamaren op bit 0, 1 en 2, zetten we deze 3 bits in superpositie. De formule is anders (liefhebbers kunnen dit makkelijk vinden op wikipedia na het lezen van deze blog, ik hoop voldoende info te verschaffen om het artikel te begrijpen), maar het concept is hetzelfde: Je "verdeelt je kans" over je verschillende staten, met andere woorden ∑i=02^k (|i>^2) = 1. en elke |i> is evengroot. (??? meer info gevraagd over het effect van een bewerking op een qubit, wanneer je met meerdere qubits werkt aub)

sigmaX + matrixnotatie

SigmaX is de not port in de quantumfysica. De nieuwe |0> van een betreffende qubit is gelijk aan de nieuwe [1> en omgekeerd. Merk op dat sigmaX op een bit in superpositie geen effect heeft.

Een laatste belangrijke zaak om op weg te geraken is de matrixnotatie. Waar een qubit is geschreven als [ |0>, |1> ]^t en een poort op 1qubit voorgesteld wordt door een vierkante 2*2 matrix.

bvb. de Hadamard matrix is [ [1/sqrt(2), 1/sqrt(2)], [1/sqrt(2), 1/sqrt(2)] ], Je kan dus het resultaat berekenen door [new|0>, new |1>]^t = [new|0>, new |1>]^t * [ [1/sqrt(2), 1/sqrt(2)], [1/sqrt(2), 1/sqrt(2)] ].

tot slot

Hopelijk heb je genoten van mijn blog en is hij niet te onwaar. Laat zeker een reactie achter, ter appreciatie van de blog of om iets toe te voegen/suggereren/op te merken. Zelfs spellingsfouten mogen gemeld worden, hoewel liever in DM, zodat het minder inspanning kost om de reacties on topic te houden.