De details van die termen komen later aan bod, maar in grote lijnen gaat het om elektronische componenten zoals weerstanden en spoelen waarmee een volwaardig quantummechanisch ‘twee-levelsysteem’ gemaakt kan worden. Laten we eerst eens kijken waar twee-level quantumsystemen, die ook al in het vorige artikel in deze reeks aan bod kwamen, gevonden kunnen worden.
Twee-levelsystemen
Een qubit is in feite niets anders dan een quantumsysteem dat maar twee mogelijke toestanden heeft – vandaar de naam ‘twee-levelsysteem’. Deze toestanden kunnen worden weergeven met een \( |1 \rangle \) en \( |0 \rangle \). De \( |\cdots \rangle \)-notatie is heel gebruikelijk in quantummechanica; die geeft aan dat het hier om een golffunctie gaat. Deze golffunctie is een functie die je alles kan vertellen over het quantumsysteem wat je maar wilt. De getallen binnen in de \( |\cdots \rangle \) (de 1 en de 0) vertellen je over welke golffunctie je het precies hebt. In ons geval komt de \( |0 \rangle \) overeen met een quantumdeeltje dat in zijn laagst mogelijke ennergieconfiguratie zit. De \( |1 \rangle \) beschrijft een golffunctie (van hetzelfde deeltje) die een energietoestand heeft die in de mogelijke energieën één trede hoger ligt.
Vergeet daarbij niet dat in quantummechaninca grootheden zoals energieën gequantiseerd zijn: een deeltje kan zich slechts in bepaalde ‘discrete’ toestanden bevinden. Daar staat tegenover dat de quantumtoestand wel een gewogen optelsom kan zijn van twee of meerdere toestanden. Het is dus mogelijk dat onze qubit beschreven wordt door \( |\mbox{qubit} \rangle = |1 \rangle \), of bijvoorbeeld door \( |\mbox{qubit} \rangle = \frac{1}{\sqrt{2}}|0 \rangle + \frac{1}{\sqrt{2}}|1 \rangle \). (De wortel is een minder belangrijk detail; die is hier nodig omdat het kwadraat van de golffunctie ‘genormaliseerd’ moet worden: het kwadraat van alle getalen in de optelsom van een golffunctie moet 1 zijn.) In de eerste situatie zou de energie die je meet, bij herhaalde metingen, altijd overeenkomen met de energie die hoort bij toestand \( |1 \rangle \). In de tweede situatie zou je, bij herhaalde metingen, de helft van de keren de energie die hoort bij \( |0 \rangle \) vinden, en de andere helft van de keren de energie die hoort bij \( |1 \rangle \). Welke toestanden er allemaal mogelijk zijn voor een qubit wordt vaak aangeduid aan de hand van een ‘bol’ zoals in de afbeelding hieronder:
In de afbeelding zie je een bol staan waarin op de zuidpool een \( |0 \rangle \)-toestand staat, en op de noordpool een \( |1 \rangle \)-toestand. Omdat combinaties van deze twee toestanden ook toegestaan zijn, zijn alle mogelijke toestanden die ons twee-levelsysteem kan aannemen te plaatsen op een bolschil met straal 1. De straal van 1 zorgt ervoor dat de totale kans dat het deeltje ‘bestaat´ altijd honderd procent is. Zo ligt de toestand \( \frac{1}{\sqrt{2}}|0 \rangle + \frac{1}{\sqrt{2}} |1 \rangle \) precies op de x-as, en ligt bijvoorbeeld \( \frac{1}{\sqrt{2}}|0 \rangle + \frac{i}{\sqrt{2}} |1 \rangle \) op de y-as. (Hierin is i het complexe getal dat de wortel van min één weergeeft. Quantummechanische golffuncties blijken ook zulke complexe getallen te mogen bevatten; dat is ook de reden dat de toestanden op een bol liggen, en niet simpelweg op een cirkel.).
Hoe maakt men nu zo’n twee-level quantumsysteem? De makkelijkste manier is om een simpele bouwsteen uit de natuur te gebruiken. Stel bijvoorbeeld dat we in staat zouden zijn om één enkel waterstofatoom op te sluiten en te manipuleren (daar is men inderdaad toe in staat!). Kunnen we daar een tweelevel quantumsysteem uit maken? Het antwoord is tegelijk ja en nee. In het plaatje hieronder zie je de toegestane toestanden van waterstof en hun bijbehorende energieën:
Zoals je kunt zien in de afbeelding is een waterstofatoom een quantummechanisch systeem met oneindig veel energieniveaus. Het is dus zeker geen twee-levelsysteem. Dat maakt echter niet uit! Wat je namelijk ook kunt zien in het plaatje is dat de energieën van verschillende niveaus allemaal verschillend zijn. De formule voor deze energieën is bekend, en kun je in bijvoorbeeld BINAS terugvinden:
\( E_\mbox{foton} = 13{,}6 eV \left(\frac{ 1}{n^2}-\frac{ 1}{m^2}\right) \).
In deze formule zijn \(n\) en \(m\) de energieniveaus. Dit betekent dat, als we ons waterstofatoom preparen in de grondtoestand (\(n=1\)), we het naar de energietoestand daarboven kunnen brengen – en de andere toestanden kunnen negeren – door het atoom met precies de juiste energie te bombarderen. Dit doen we meestal aan de hand van lasers, met fotonen oftewel lichtdeeltjes. De frequentie van het licht bepaalt de energie. Doordat we de energie van de fotonen precies kiezen, zodat die overeenkomt met het energieverschil tussen \( |0 \rangle \) en \( |1 \rangle \), is dat de enige overgang die we kunnen bewerkstelligen. Een tweede foton kan nooit worden opgenomen, omdat er geen toestand is die een energie heeft van tweemaal de energie van ons gekozen foton. Op deze manier kunnen we ons effectief beperken tot de twee energieniveaus helemaal onderaan in de afbeelding. Kort gezegd: door het atoom heel precies te manipuleren, kan een waterstof deeltje ons al het gewenste twee-levelsysteem brengen.
Deze methode om atomen te gebruiken voor het bouwen van qubits is zeker een veelbelovende manier, die momenteel wordt uitgewerkt door vele onderzoeksgroepen van over de hele wereld. Er blijft echter een belangrijk probleem: het is heel lastig om individuele atomen ‘vast te pakken’ en te manipuleren zoals we hierboven schetsten. Het zou dus makkelijker zijn als we een twee-levelsysteem kunnen bouwen met behulp van handelbaardere bouwstenen zoals microchips.
De praktijk: transmon-qubits
Er is een andere manier om een quantummechanisch twee-levelsysteem te maken. Dit gebeurt aan de hand van oscillatoren. Oscillatoren zijn overal in de natuur te vinden: een slinger die oscilleert zoals in een klok, of een massa die aan een veer hangt en op en neer beweegt door een samenspel van zwaarte- en veerkracht. Een minder bekend voorbeeld zijn elektrische circuits met een spoel en condensator, waar stroompjes (bij gebrek aan weerstand) oscilleren. Het liefst werken we met oscillatoren die ‘harmonisch’ zijn. Dat wil zeggen dat de potentiaal (de energie die overwonnen moet worden om iets gedaan te krijgen) kwadratisch evenredig is met de afstand tot de evenwichtssituatie. Dit soort systemen zijn relatief eenvoudig wiskundig exact te beschrijven. In de quantummechanica zijn harmonische oscillatoren ook niet weg te denken. De afbeelding hieronder laat zien hoe de golffuncties in een kwadratische potentiaal eruitzien, en toont de bijbehorende energieniveaus.
Deze quantummechanische harmonische oscillatoren zijn betrekkelijk makkelijk te maken met behulp van de elektronische circuits die ik hierboven al beschreef, met condensatoren en spoelen – ook wel LC-circuits genoemd. Als je een grote, dikke kabel, spoelen en condensatoren met grote stroomsterktes gebruikt om zo’n circuit te maken, dan is het gewoon een klassieke oscillator, waarbij de stroom oscilleert tussen de condensator en de spoel. Om het geheel quantummechanisch te maken, maak je het circuit heel klein (kleine stroompjes en afstanden), en maak je het heel koud. Daardoor speelt warmte een steeds kleinere rol in het circuit. Het is nu juist deze warmte die het systeem ‘niet-quantum’ maakt door thermalisatie. Nu zal het systeem vanzelf ‘quantiseren’ en kom je in een situatie zoals in de afbeelding hierboven.
Nu zijn we er bijna! Er is echter nog een laatste probleem. Zoals in afbeelding 4 te zien is, is het energieverschil tussen alle opeenvolgende energieniveaus precies even groot. Dit is problematisch, want wat we eigenlijk zochten is een situatie zoals we hadden bij het waterstofatoom, waarbij het energieverschil tussen de laagste en de eerste aangeslagen toestand uniek is. Dan kunnen we namelijk met behulp van lasers (of andere vormen van elektromagnetische straling zoals microgolven) een twee-levelsysteem ‘isoleren’ en hebben we zo een qubit gemaakt.
Wat we dus moeten doen is een ‘anharmoniciteit’ introduceren in onze oscillator. Dat betekent dat we het systeem en zijn energieniveaus een beetje willen laten afwijken van een normale harmonische oscillator. Dit kan gedaan worden met behulp een supergeleidende constructie die een Josephson junction heet: een elektrische opstelling waarbij twee supergeleiders met elkaar in contact worden gebracht via een normaal, niet supergeleidend materiaal. Met zulke Josephson junctions kunnen we de energieniveaus van het systeem iets aanpassen zoals aangegeven in de afbeelding hieronder.
Nu hebben we alle ingrediënten die nodig zijn voor het bouwen van een transmon-qubit. Hieronder zie je een afbeelding van zo’n qubit:
Deze transmon-qubit is, zoals ik hierboven al beschreef, een LC-circuit met een Josephson junction ingebouwd. De metalen plaatjes in de afbeelding hierboven zijn normaal gesproken helemaal neutraal, dus ongeladen. Twee metalen platen tegenover elkaar vormen een condensator. Stel nu dat we een elektrisch veld aanbrengen, een spanning dus, voor een korte tijd. In deze tijd zullen ladingen zich verdelen over de twee plaatjes via de Josephson junction. Afhankelijk van de richting waarin de spanning wordt aangebracht kan bijvoorbeeld de bovenste metalen plaat positief geladen worden, terwijl de onderste plaat negatief geladen wordt. Na een tijdje is het systeem in een evenwichtstoestand gekomen waarbij de aangebrachte spanning geen ladingen meer verplaatst tussen de twee platen: het systeem is ‘geprepareerd’.
Vervolgens laten we het systeem onverstoord zijn gang gaan. De lading kan dan tussen de twee platen heen en weer oscilleren via de Josephson junction. Als de lading van de bovenste plaat naar de onderste plaat beweegt (wat zal gebeuren omdat positieve lading aangetrokken wordt door negatieve lading), dan gaat er een stroom gaan lopen door de Josephson junction. Deze stroom induceert een magnetisch veld, net zoals in een spoel in een LC-circuit dat doet. Dit magnetische veld induceert op zijn beurt weer een elektrisch veld. Dit elektrische veld is tegenovergesteld aan de stroomrichting, en zal de ladingdragers dus weer terugduwen naar hun oorspronkelijke toestand. Op deze manier kunnen de ladingen ‘oscilleren’ over de Josephson junction. Het beeld dat ik nu geschetst heb is het ‘klassieke beeld’ van een harmonische oscillator. Maken we de stroompjes en afstanden echter heel klein (en de temperatuur heel laag), dan hebben we een quantummechanische oscillator! Overigens is het niet per se nodig om het systeem te ‘prepareren’ zoals hier beschreven; dat was puur ter illustratie. Ook zonder preparatie is er al sprake van een quantumoscillator. Als er geen lading oscilleert in de chip zal dit bijvoorbeeld overeenkomen met de laagste energietoestand \( |0 \rangle \). Het voorbeeld met heen en weer oscillerende lading kan dan bijvoorbeeld overeenkomen met de eerste aangeslagen toestand \( |1 \rangle \).
Omdat de Josephson junction de energieniveaus van de oscillator een klein beetje aanpast, is het mogelijk om ons te beperken tot twee ‘subniveaus’. Dit doen we door het LC-circuit alleen aan te sturen (zoals we deden toen we een spanning aanbrachten) met elektromagnetische straling die overeenkomt met de energie tussen de grondtoestand \( |0 \rangle \) en de eerste aangeslagen toestand, \( |1 \rangle \). Het systeem dat we nu gebouwd hebben heet ook wel een ‘superconducting charge qubit’ (supergeleidende lading-qubit). Deze eenvoudige opstelling was een van de eerste kunstmatige twee-levelsystemen die bedacht werden. Een ‘transmon-qubit’ is niets anders dan een systeem zoals hierboven beschreven, maar met een paar extra toeters en bellen die ertoe dienen om storingen in het systeem door ongewenste effecten de kop in te drukken. De naam transmon-qubit is een afkorting voor ‘transmission line shunted plasma oscillation qubit’ (transmissie-lijn beschermde plasma-oscillatiequbit). Dit betekent dat de ‘bekabeling’ van de qubit (denk aan de printplaatjes zoals in afbeelding 7) netjes afgeschermd is voor ongewenste invloeden, en dat er een ‘plasma’ (in ons verhaal: een lading) oscilleert.
Zoals uit afbeelding 6 duidelijk is hebben zulke transmon-qubits handige praktische eigenschappen. De belangrijkste is hun eenvoudige constructie: met normale microchip-fabricatietechnieken kunnen dit type transmon-qubits geproduceerd worden. Er zijn daarentegen ook allerlei problemen met dit type qubit, bijvoorbeeld bij het ‘opschalen’ van systemen. Het is namelijk zo dat er vele duizenden van dergelijke qubits op een chip moeten zitten, die met elkaar kunnen communiceren, voordat een nuttige berekening gedaan kan worden. Ga maar eens na hoeveel transistoren (de klassieke logische bouwstenen in een normale microchip) in een chip op je computer zitten: bijna 300 miljoen! Het opschalen is erg lastig, omdat het steeds complexer wordt om de individuele qubits stabiel te houden naarmate er meer qubits op één chip worden gebouwd. Er zijn inmiddels machines aangekondigd die 127 qubits in zich hebben. Op de website van IBM (een computerfabrikant die één van de koplopers is in quantumcomputeronderzoek) is de hele roadmap uitgestippeld; daarin is aangegeven dat het bedrijf hoopt in 2025 een chip te hebben met meer dan 4000 qubits. Dat zou misschien al genoeg kunnen zijn voor serieuze quantumberekeningen. We gaan dus een spannende tijd tegemoet!
Nu we weten hoe qubits werken en gebouwd worden is de volgende vraag die we graag willen beantwoorden: wat kunnen we hiermee? In het volgende deel van deze serie zullen we gaan kijken naar hoe wetenschappers algoritmes opbouwen waarmee quantumcomputers kunnen rekenen, wat de fundamentele operaties zijn die nodig zijn om zulke algoritmes in elkaar te zetten, en hoe dat in apparaten gerealiseerd wordt. Daarnaast zien we een heus praktisch voorbeeld – dat zal ongetwijfeld ook geen kwaad kunnen!