4.1.4 Circuit-regels

Als je te maken hebt met een heel ingewikkeld quantumcircuit, is het handig om wat trucjes te kennen om dingen te vereenvoudigen. Zulke trucs kunnen het niet alleen makkelijker maken om te begrijpen wat het circuit doet, maar maken het circuit ook efficiënter en dus sneller om uit te voeren op een quantumcomputer. Laten we eens kijken naar een paar eenvoudige voorbeelden van zulke trucjes waarbij maar een enkele qubit betrokken is.

In Paragraaf 2.4.3 zagen we dat elke één-qubitbewerking ofwel een rotatie ofwel een spiegeling is. Het is handig om de werking van deze bewerkingen weer te visualiseren door te bedenken dat volgens Paragraaf 2.1.2 qubit-toestanden een cirkel vormen. Je kan meteen vaststellen dat als dezelzelfde reflectie twee keer wordt toegepast op dezelfde qubit, je terugkomt bij de oorspronkelijke toestand. Dit is visueel te zien omdat twee keer spiegelen om dezelfde as alles weer terugbrengt zoals het was (je kunt dit bijvoorbeeld zien in Fig. 2.4 met de NOT\mathrm{NOT}-bewerking). Dit is dus ook het geval voor de Hadamard-bewerking HH, waarvan we weten dat het een spiegeling is uit Vgl. 2.35. Laten we deze meetkundige intuïtie controleren door een kleine berekening te maken, en dan zullen we gelijk zien dat je met de Hadamard-gate kan omschakelen tussen de NOT\mathrm{NOT} en ZZ gates.

Oefenopgave 4.5 (Z en NOT).

We weten uit Vgl. 2.34 dat de Hadamard-gate HH als volgt werkt:

H|0=12(|0+|1)=|+,H|1=12(|0|1)=|.H\left|0\right\rangle=\frac{1}{\sqrt{2}}(\left|0\right\rangle+\left|1\right% \rangle)=\left|+\right\rangle,\qquad H\left|1\right\rangle=\frac{1}{\sqrt{2}}(% \left|0\right\rangle-\left|1\right\rangle)=\left|-\right\rangle.
  1. 1.

    Ga na dat je door opnieuw HH toe te passen weer op |0\left|0\right\rangle en |1\left|1\right\rangle uitkomt. Dat wil zeggen, ga na dat

    H|+=|0,H|=|1.H\left|+\right\rangle=\left|0\right\rangle,\qquad H\left|-\right\rangle=\left|% 1\right\rangle.
  2. 2.

    Laat zien dat HZH=NOTH\,Z\,H=\mathrm{NOT}, waarbij ZZ gedefinieerd is in Vgl. 2.26.

  3. 3.

    Laat zien dat HNOTH=ZH\,\mathrm{NOT}\,H=Z.

Solution.
  1. 1.

    Als we HH toepassen op |+\left|+\right\rangle en |\left|-\right\rangle krijgen we

    H|+\displaystyle H\left|+\right\rangle =H12(|0+|1)=12((|0+|1)+(|0|1))=|0,\displaystyle=H\frac{1}{\sqrt{2}}(\left|0\right\rangle+\left|1\right\rangle)=% \frac{1}{2}\big{\lparen}(\left|0\right\rangle+\left|1\right\rangle)+(\left|0% \right\rangle-\left|1\right\rangle)\big{\rparen}=\left|0\right\rangle,
    H|\displaystyle H\left|-\right\rangle =H12(|0|1)=12((|0+|1)(|0|1))=|1.\displaystyle=H\frac{1}{\sqrt{2}}(\left|0\right\rangle-\left|1\right\rangle)=% \frac{1}{2}\big{\lparen}(\left|0\right\rangle+\left|1\right\rangle)-(\left|0% \right\rangle-\left|1\right\rangle)\big{\rparen}=\left|1\right\rangle.
  2. 2.

    Om deze identiteit te bewijzen, hoeven we alleen na te gaan dat HZHHZH dezelfde werking op de basistoestanden heeft als NOT\mathrm{NOT} (door lineariteit hebben ze dan dezelfde werking op alle qubit-toestanden):

    HZH|0\displaystyle HZH\left|0\right\rangle =HZ12(|0+|1)=H12(|0|1)=H|=|1,\displaystyle=HZ\frac{1}{\sqrt{2}}(\left|0\right\rangle+\left|1\right\rangle)=% H\frac{1}{\sqrt{2}}(\left|0\right\rangle-\left|1\right\rangle)=H\left|-\right% \rangle=\left|1\right\rangle,
    HZH|1\displaystyle HZH\left|1\right\rangle =HZ12(|0|1)=H12(|0+|1)=H|+=|0.\displaystyle=HZ\frac{1}{\sqrt{2}}(\left|0\right\rangle-\left|1\right\rangle)=% H\frac{1}{\sqrt{2}}(\left|0\right\rangle+\left|1\right\rangle)=H\left|+\right% \rangle=\left|0\right\rangle.

    In beide gevallen inverteert HZHHZH de bit, dus dit is dezelfde bewerking als NOT\mathrm{NOT}.

  3. 3.

    In het eerste deel van deze opgave hebben we gezien dat het twee keer toepassen van de Hadamard-gate niks doet: HH=IHH=I. Dus,

    Z=(HH)Z(HH)=H(HZH)H=HNOTH\displaystyle Z=(HH)Z(HH)=H(HZH)H=H\ \mathrm{NOT}\ H

    waarbij de laatste stap volgt uit deel 2 van deze opgave.

Een andere interessante vraag is wat er gebeurt als je twee arbitraire rotaties of spiegelingen na elkaar toepast. We weten dat het resultaat opnieuw een rotatie of een spiegeling moet zijn. Maar welke is het en onder welke nieuwe hoek is het? Twee opeenvolgende rotaties zijn gewoon hetzelfde als een enkele rotatie over de som van de twee hoeken, dus U(φ2)U(φ1)=U(φ1+φ2)U(\varphi_{2})U(\varphi_{1})=U(\varphi_{1}+\varphi_{2}). De volgende opgave geeft je een regel om twee opeenvolgende spiegelingen te vereenvoudigen tot een enkele rotatie.

Oefenopgave 4.6 (Spiegelingen en rotaties (optioneel)).

Laat zien dat het product van twee spiegelingen een rotatie is. Dus laat zien dat

V(θ2)V(θ1)=U(θ),V(\theta_{2})V(\theta_{1})=U(\theta),

voor een bepaalde hoek θ\theta. Kan je de hoek θ\theta uitdrukken in θ1\theta_{1} en θ2\theta_{2}?
Hint: Gebruik Vgl. 2.33 en dat U(φ2)U(φ1)=U(φ1+φ2)U(\varphi_{2})U(\varphi_{1})=U(\varphi_{1}+\varphi_{2}).

Solution.
  1. 1.

    Als we gebruik maken van Vgl. 2.29 volgt dat,

    U(θ2)U(θ1)|ψ(α)=U(θ2)|ψ(α+θ1)=|ψ(α+θ1+θ2)=U(θ1+θ2)|ψ(α).U(\theta_{2})U(\theta_{1})\left|\psi(\alpha)\right\rangle=U(\theta_{2})\left|% \psi(\alpha+\theta_{1})\right\rangle=\left|\psi(\alpha+\theta_{1}+\theta_{2})% \right\rangle=U(\theta_{1}+\theta_{2})\left|\psi(\alpha)\right\rangle.

    Dit geldt voor elke toestand |ψ(α)\left|\psi(\alpha)\right\rangle, wat betekent dat U(θ2)U(θ1)=U(θ)U(\theta_{2})U(\theta_{1})=U(\theta), waarbij θ=θ1+θ2\theta=\theta_{1}+\theta_{2}. Dit is meetkundig gezien ook logisch: als je eerst met een hoek van θ1\theta_{1} en daarna met een hoek van θ2\theta_{2} draait, komt dit samen neer op een rotatie met een hoek van θ=θ1+θ2\theta=\theta_{1}+\theta_{2}.

  2. 2.

    Hier is een mooie oplossing. In Vgl. 2.33 zagen we dat een algemene spiegeling op twee manieren kan worden uitgedrukt: V(θ)=NOTU(θ)=U(θ)NOTV(\theta)=\mathrm{NOT}\,U(\theta)=U(-\theta)\,\mathrm{NOT}. Als we voor V(θ1)V(\theta_{1}) de eerste uitdrukking gebruiken en voor V(θ2)V(\theta_{2}) de tweede uitdrukking, volgt er dat

    V(θ2)V(θ1)=U(θ2)NOTNOTU(θ1)=U(θ2)U(θ1)=U(θ1θ2),V(\theta_{2})V(\theta_{1})=U(-\theta_{2})\,\mathrm{NOT}\,\mathrm{NOT}\,U(% \theta_{1})=U(-\theta_{2})U(\theta_{1})=U(\theta_{1}-\theta_{2}),

    waarbij we gebruikt hebben dat het toepassen van twee opeenvolgende NOT\mathrm{NOT}s hetzelfde is als niets doen en dat twee opeenvolgende rotaties hetzelfde zijn als een enkele rotatie waarbij de twee hoeken worden opgeteld, zoals hierboven staat.

Je kunt de andere twee gevallen met één rotatie en één spiegeling zelf uitwerken en controleren of ze beide op een spiegeling V(θ)V(\theta) uitkomen, voor een bepaalde hoek θ\theta.