Training
Module
Teleporteer een qubit met behulp van verstrengeling en de Quantum Development Kit - Training
Teleporteer een qubit met behulp van verstrengeling en de Quantum Development Kit
Deze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Soms zijn kwantumalgoritmen gemakkelijker te begrijpen in een circuitdiagram dan in de equivalente geschreven matrixweergave. In dit artikel wordt uitgelegd hoe u kwantumcircuitdiagrammen en hun conventies leest.
Zie Kwantumcircuitdiagrammen visualiseren voor meer informatie.
In een kwantumcircuit loopt de tijd van links naar rechts. Kwantumpoorten worden in chronologische volgorde geordend met de meest linkse poort als de poort die voor het eerst op de qubits wordt toegepast.
Neem het volgende kwantumcircuitdiagram als voorbeeld:
Omdat de tijd van links naar rechts stroomt, wordt de meest linkse poort eerst toegepast. De actie van het volgende kwantumcircuit is bijvoorbeeld de eenheidsmatrix-CBA$$.
Notitie
Matrixvermendiging voldoet aan de tegenovergestelde conventie: de meest rechtse matrix wordt eerst toegepast. In kwantumcircuitdiagrammen wordt echter eerst de meest linkse poort toegepast. Dit verschil kan soms tot verwarring leiden, dus het is belangrijk om dit belangrijke verschil te noteren tussen de lineaire algebraïsche notatie en kwantumcircuitdiagrammen.
In een kwantumcircuitdiagram vertegenwoordigen de draden die een kwantumpoort invoeren de qubits die invoer voor de kwantumpoort zijn en de draden die de kwantumpoort afsluiten de qubits die van de kwantumpoort worden uitgevoerd.
Het aantal invoer van een kwantumpoort is gelijk aan het aantal uitvoer van een kwantumpoort. Dit komt doordat kwantumbewerkingen unitair zijn en daarom omkeerbaar zijn. Als een kwantumpoort meer uitvoer dan invoer had, zou deze niet omkeerbaar zijn en dus niet unitair, wat een tegenstrijdigheid is.
Om deze reden moet elk vak dat in een circuitdiagram wordt getekend precies hetzelfde aantal draden hebben dat het afsluit.
Circuitdiagrammen met meerdere qubits volgen vergelijkbare conventies als single-qubit-diagrammen.
Een eenheidsbewerking
U kunt B
Misschien is de handigste eigenschap van dergelijke abstracte circuitdiagrammen dat complexe kwantumalgoritmen op hoog niveau kunnen worden beschreven zonder dat ze naar fundamentele poorten hoeven te worden gecompileerd. Dit betekent dat u een intuïtieve indruk krijgt van de gegevensstroom voor een groot kwantumalgoritme zonder dat u alle details hoeft te begrijpen van hoe elk van de subroutines in het algoritme werkt.
Kwantumgestuurde poorten zijn twee qubitpoorten die een poort met één qubit toepassen op een target qubit als een controle-qubit een specifieke status heeft.
Denk bijvoorbeeld aan een kwantumgestuurde poort, aangeduid met
$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}\alpha\ket{\psi}\ket{{0}=+ G \beta\ket{{1}\ket{\psi}$
Dat wil zeggen dat de gecontroleerde poort G toepast
Hier geeft de zwarte cirkel de kwantumbit aan waarop de poort wordt beheerd en geeft een verticale draad de unitaire aan die wordt toegepast wanneer de controle-qubit de waarde
Voor de speciale gevallen waarin
Q# biedt methoden voor het automatisch genereren van de beheerde versie van een bewerking, waardoor de programmeur deze bewerkingen niet hoeft te coden. Hieronder ziet u een voorbeeld:
operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
H(qubit);
}
Kwantumpoorten kunnen ook worden toegepast na een meting, waarbij het resultaat van de meting fungeert als een klassieke besturingsbit.
Het volgende symbool vertegenwoordigt een klassieke gecontroleerde poort, waarbij
Metingsbewerkingen nemen een qubitregister, meet het en voert het resultaat uit als klassieke informatie.
Een meetbewerking wordt aangeduid met een metersymbool en neemt altijd als invoer een qubitregister (aangeduid door een ononderbroken lijn) en levert klassieke informatie (aangeduid met een dubbele lijn). Het symbool van de metingsbewerking ziet er specifiek als volgt uit:
In Q#implementeert de Measure
operator de meetbewerking.
Overweeg de eenheidstransformatie
$\mathrm{CNOT}_{01}(H\otimes 1)\left=\ket{00}\frac{1}{\sqrt{2}}({00}\ket{ + ), \ket{11}\right$
Bewerkingen met deze of grotere complexiteit zijn alomtegenwoordig in kwantumalgoritmen en kwantumfoutcorrectie.
Het circuitdiagram voor het voorbereiden van deze maximaal verstrengelde kwantumstatus is:
Het symbool achter de Hadamard-poort vertegenwoordigt een CNOT-poort, waarbij de zwarte cirkel de controle-qubit aangeeft en het kruis binnen een cirkel de target qubit aangeeft. Dit kwantumcircuit wordt weergegeven als fungerend op twee qubits (of equivalent twee registers die bestaan uit één qubit).
Kwantumteleportatie is een van de beste kwantumalgoritmen voor het illustreren van circuitonderdelen.
Kwantumteleportatie is een protocol waarmee een kwantumstatus kan worden verzonden van de ene qubit naar de andere, met behulp van een gedeelde verstrengelde toestand tussen de afzender en ontvanger, en klassieke communicatie ertussen.
Voor leerdoeleinden heet de afzender Alice, wordt de ontvanger Bob genoemd en wordt de qubit die moet worden geteld, de bericht-qubit genoemd. Alice en Bob hebben één qubit en Alice heeft een extra qubit. Dit is de bericht-qubit.
Het volgende circuitdiagram illustreert het teleportatieprotocol:
Laten we de stappen van het teleportatieprotocol opsplitsen:
Training
Module
Teleporteer een qubit met behulp van verstrengeling en de Quantum Development Kit - Training
Teleporteer een qubit met behulp van verstrengeling en de Quantum Development Kit