5.2.2 De Hadamard-transformatie en interferentie
Al is het algoritme van Deutsch erg verbazingwekkend, toch levert het maar een kleine verbetering op ten opzichte van het beste klassieke algoritme, namelijk 1 evaluatie van in plaats van 2. Dit kan alsnog handig zijn als het evalueren van heel lang duurt, bijvoorbeeld een jaar. Maar als het maar om een milliseconde gaat, dan zouden de meeste mensen het niet erg vinden om twee milliseconden te wachten om het antwoord te krijgen (en er veel minder voor te betalen omdat ze dan geen quantumcomputer hoeven te gebruiken)! Om het nut van quantumcomputers aan te tonen, willen we berekeningen met meer dan een factor 2 versnellen.
We gaan nooit een grotere versnelling bereiken als we alleen kijken naar functies van één bit, omdat die volledig bepaald kunnen worden door twee evaluaties: en . We zullen daarom wat algemener kijken naar functies met invoerbits, omdat er veel meer van zulke functies zijn (er zijn er namelijk ). Onthoud dat ons doel niet is om een functie te evalueren (dat kunnen we inderdaad doen met een enkele vraag aan het orakel), maar om een interessante eigenschap van de functie te leren die betrekking heeft op de waardes die de functie aanneemt bij verschillende invoerbits. Zijn er eigenschappen van -bit-functies die we heel efficiënt kunnen bepalen met slimme quantumalgoritmes?
Om het algoritme van Deutsch te generaliseren, moet je bedenken dat het belangrijkste onderdeel was om een Hadamard-gate te introduceren voor en na het fase-orakel. We kunnen iets soortgelijks doen als we een -bit-functie hebben. In dit geval is het fase-orakel een quantumbewerking van qubits, dus we kunnen gewoon Hadamard-gates toepassen op alle qubits voor en na het orakel. De quantumbewerking die Hadamards in parallel toepast op elk van de qubits wordt de Hadamard-transformatie genoemd. We weten van Paragraaf 3.2.3 dat we deze als volgt kunnen schrijven:
Laten we eerst eens kijken wat er gebeurt als we de Hadamard-transformatie toepassen op een basistoestand. Voor is het resultaat simpelweg de uniforme superpositie over alle basistoestanden:
Deze toestand is een superpositie van basistoestanden. Er is een compactere manier om dit op te schrijven:
De notatie betekent dat je de som van berekent voor alle mogelijke combinaties van de bits .
De Hadamard-transformatie topassen op een basistoestand leidt altijd tot een superpositie van alle basistoestanden. Bovendien zijn alle amplitudes gelijk, op eventuele mintekens na. Het uitzoeken waar die mintekens precies voorkomen is een tikje lastig. Probeer het als opwarmertje eerst voor de gevallen en .
Oefenopgave 5.4 (Twee Hadamards).
Uit Vgl. 2.34 volgt dat , voor elke .
-
1.
Schrijf de toestand , voor arbitraire , om in de volgende vorm:
waarbij ??? een uitdrukking is die bestaat uit . Bepaal deze uitdrukking.
-
2.
Schrijf de toestand , voor willekeurige , in de vorm
waarbij ??? staat voor een uitdrukking van .
Kan je bepalen wat deze uitdrukking is?
Solution.
-
1.
Hier staat ??? voor .
-
2.
Voor ,
dus ??? staat voor .
Heb je de oplossing gevonden? Goed zo, dan mag je nu verder lezen!
In het algemeen kan je de volgende formule afleiden die het mintekenpatroon beschrijft van de amplitudes die je krijgt als je de Hadamard-transformatie toepast op een arbitraire -qubit-basistoestand: Voor elke geldt
We kunnen nu het algoritme van Deutsch op een eenvoudige manier generaliseren. Beginnend met de -qubit-basistoestand , passen we eerst de Hadamard-transformatie toe, vervolgens het fase-orakel voor de functie die we willen onderzoeken, en tenslotte nog een Hadamard-transformatie. Bijvoorbeeld, voor komt dit overeen met het volgende Quirky-circuit:
Voor een algemene is de wiskundige formule voor de uiteindelijke -qubit-toestand:
Kunnen we deze toestand wat meer uitwerken? Net als voorheen kunnen we dit stap voor stap berekenen. Eerst passen we de Hadamard-transformatie toe op de nul-basistoestand. Volgens Vgl. 5.10, krijgen we de uniforme superpositie over alle basistoestanden:
Vervolgens passen we het fase-orakel toe:
Wat levert de laatste Hadamard-transformatie op? Door lineariteit kunnen we Hadamard-transformatie toepassen op elke basisvector, zodat we de volgende uitdrukking krijgen voor de toestand in Vgl. 5.12:
waarbij we bij de laatste stap de twee sommen omgewisseld hebben. Voor is dit precies hetzelfde als Vgl. 5.7. Maar in het algemeen ziet deze uitdrukking er nogal omslachtig en moeilijk te interpreteren uit – het lijkt alsof het circuit een superpositie van basistoestanden berekent, waarbij de amplitude een rare som is van plus- en mintekens!
Laten we proberen wat intuïtie te krijgen door te kijken naar de amplitude van in Vgl. 5.13. Het kwadraat van dit getal is de kans dat, wanneer we de qubits meten, alle uitkomsten nul zijn. Aangezien deze amplitude overeenkomt met , wordt deze simpelweg gegeven door
Wat betekent dit? Stel dat er invoerbitstrings zijn waarvoor evalueert naar nul en bitstrings waarvoor evalueert naar één. Dan geldt het volgende,
Er zijn twee interessante uiterste gevallen:1515 15 Voor is elke functie of constant of gebalanceerd. Voor is dit niet waar (bijvoorbeeld, de AND-functie is niet constant of gebalanceerd).
-
•
Als een constante functie is, dan is of (voor de alles-nul-functie) of (voor de alles-één-functie). In beide gevallen is de amplitude . Omdat de kwadraten van alle amplituden moeten optellen tot 1, concluderen we dat alle andere amplituden in Vgl. 5.13 0 moeten zijn. Met andere woorden, als constant is, is de toestand in Vgl. 5.13 gewoon . Als we alle qubits van deze toestand meten dan zullen alle uitkomsten nul zijn.
-
•
Als een gebalanceerde functie is, wat betekent dat er evenveel nullen als enen zijn, dan is en dus is de amplitude 0. Dit betekent dat als we de toestand in Vgl. 5.13 meten, we nooit kunnen krijgen dat alle uitkomsten gelijk zijn aan nul. Voor een gebalanceerde functie zal dus altijd ten minste één van de meetuitkomsten één zijn.
Merk op hoe deze twee gevallen overeenkomen met heel verschillende interferentiepatronen (zie Paragraaf 2.6.1). In het eerste geval wordt de amplitude van versterkt tot door een zeer gerichte constructieve interferentie, terwijl tegelijkertijd alle andere amplitudes verdwijnen door een zeer ver verspreide destructieve interferentie. In het tweede geval ervaart een destructieve interferentie, waardoor op andere plaatsen amplitudes groter dan nul opduiken. De Hadamard-transformatie laat het fundamentele belang van interferentie in quantum computing zien. In de volgende twee secties zullen we gebruik maken van deze interferentie om quantumalgoritmes te ontwerpen voor een groot aantal qubits.