
Dutch: 
Een algoritme is een opeenvolging van stappen, dat een probleem oplost wanneer het in de juiste volgorde wordt uitgevoerd.
Vandaag gaan we bespreken hoe een quantumalgoritme kan worden opgevat als een soortgelijke reeks stappen.
Om dit te bereiken hebben we een taal nodig die ons in staat stelt om
de quantumoperaties die we tot nu toe hebben gezien in grotere procedures samen te stellen.
Een dergelijke taal moet twee eigenschappen hebben.
Ten eerste moet het gemakkelijk zijn om het effect van een kleine operatie op een groot systeem te beschrijven,
wanneer we niets doen met de rest van het systeem.
Ten tweede moeten we in staat zijn om gemakkelijk een procedure uit te schrijven
die de output van de ene bewerking als input voor een andere gebruikt.
Natuurlijk is er geen reden om het wiel opnieuw uit te vinden,
we kunnen kijken naar klassieke, logische poorten voor inspiratie.
Hier zien we twee van de logische poorten van de klassieke informatica, EN en OF,

English: 
An algorithm s a sequence of steps, 
which solves a problem when carried out in order.
Today, we're going to discuss how a quantum algorithm
can be understood as a similar set of steps.
In order to accomplish this,
we're going to need a language that lets us assemble
the quantum operations we've seen so far into
larger procedures.
Such a language should have two properties.
First, it should be easy to describe the effect
of a small operation on a large system,
when we don't do anything to the rest of the system.
Second,
we should be able to easily write out a procedure
that uses the output of one operation
as the input for another.
Of course,
there's no reason to re-invent the wheel,
we can look to classical logic gates for inspiration.
Here, we see two of the logic gates
of classical computing, AND and OR,

Dutch: 
elk waarvan de in- en uitgangen door deze draden worden gedragen.
We kunnen een lege draad naast de OK-poort plaatsen
om een bit aan te geven dat rechtstreeks door het circuit wordt geleid,
en we kunnen één van de uitgangsdraden van de OR poort aansluiten op de ingang van de EN poort,
waardoor we grote, ingewikkelde, logische circuits kunnen bouwen uit kleine, eenvoudige componenten.
We kunnen iets soortgelijks doen met quantumoperaties.
Hier zien we de Hadamard operator, die één input qubit en één output qubit heeft.
Het wordt beschreven door de 2-bij-2 matrix aan de rechterkant.
Er zijn ook twee qubit-bewerkingen, zoals de CNOT, die twee ingangen en twee uitgangen heeft.
Deze bewerking wordt beschreven door de 4-bij-4 matrix die ook rechts te zien is.
Nu komen we bij de twee technieken die we gebruiken om kleine operaties samen te stellen tot grote circuits.
De eerste is dat, wanneer er een lege draad is, we de identiteitsbewaker erop plaatsen,
en om de totale eenheid te berekenen
die het resultaat is van het uitvoeren van een kleine bewerking op een grote set draden,

English: 
each of which has its inputs and outputs
carried by these wires.
We can place an empty wire next to the OR gate
to denote a bit
which is passed directly through the circuit,
and we can connect one of the output wires
of the OR gate to the input of the AND gate,
allowing us to build large, complicated logical circuits
out of small, simple components.
We can do something very similar
with quantum operations.
Here, we see the Hadamard operator,
which has one input qubit and one output qubit.
It's described by the 2-by-2 matrix on the right.
There are also two-qubit operations, such as the CNOT, which has two inputs and two outputs.
This operation is described by the 4-by-4 matrix
also seen on the right.
Now we come to the two techniques we use to compose
small operations into large circuits.
The first is that, whenever there's an empty wire,
we place the identity operator on it,
and in order to calculate the total unitary
that results from performing a small operation
on a large set of wires,

Dutch: 
nemen we het tensorproduct van de operatie mee met die identiteitsoperatoren.
De tweede techniek is voor het voeden van de uitgangen van één fase van een circuit naar voren
in een nieuwe fase, en misschien is het een beetje eenvoudiger.
We nemen gewoon het reguliere matrixproduct van de twee matrices die de stadia beschrijven.
Het is belangrijk om hier voorzichtig te zijn, aangezien de juiste volgorde voor het plaatsen van deze matrices
de omgekeerde volgorde is van de volgorde waarin ze in het circuit voorkomen.
Dit komt omdat, in het matrixproduct,
de meest rechtse matrix is de eerste die wordt toegepast op de toestand psi.
Voordat we deze concepten gebruiken om een quantumcircuit te analyseren,
hier zijn nog twee voorbeelden van twee-qubit quantumoperaties
die je later wellicht ziet, SWAP en CZ, ook wel CPHASE genoemd.
SWAP kan worden gebruikt om twee toestanden tussen twee draden uit te wisselen,
wat nuttig is als er om de een of andere reden qubitstaten van de ene plaats naar de andere moeten worden verplaatst.

English: 
we take the tensor product of the operation
with those identity operators.
The second technique is for feeding
the outputs of one stage of a circuit forward
into a new stage, and it's perhaps a little simpler.
We simply take the regular matrix product
of the two matrices that describe the stages.
It's important to be careful here,
since the correct order for placing these matrices
is the reverse of the order that they appear in the circuit.
This is because, in the matrix product,
the right-most matrix
is the first one applied to the state psi.
Before we use these concepts
to analyze a quantum circuit,
here are two more examples
of two-qubit quantum operations
which you may see later on,
SWAP and CZ, which is also called CPHASE.
SWAP can be used
to exchange two states between two wires,
which is useful if qubit states need to be moved
from one place to another for some reason.

English: 
The CZ, on the other hand, only places a minus sign
on the one-one component of whatever state is input.
Now that we've seen the CZ operation,
let's take a look at
how to analyze a quantum circuit which involves the CZ.
Specifically, we're going to try to prove
that we can generate a CZ using a CNOT
and some Hadamard gates on the target qubit,
that come before and after the CNOT.
Now, there are three ways to accomplish this,
and we’ll go through each of them.
The first is the simplest,
but also the most time-consuming.
We're going to take tensor products
of one-qubit operations
with identities on the empty wires, as seen here.
Then, we can write out the entire circuit in matrix form.
Multiplying these matrices one at a time
gradually reduces the size of the problem.
And once we've multiplied them all,
we can see that the matrix describing the entire circuit
is equal
to the matrix described in the CZ that we saw earlier.
A simpler technique, which works well on this circuit,
is to calculate the effects on individual basis kets

Dutch: 
Het CZ daarentegen plaatst alleen een minteken op het één-één component van welke toestand dan ook die wordt ingevoerd.
Nu we de CZ-operatie hebben gezien,
laten we eens kijken naar hoe je een quantumcircuit kunt analyseren waarbij de CZ betrokken is.
Specifiek, gaan we proberen te bewijzen dat we een CZ kunnen genereren met behulp van een CNOT
en enkele Hadamard poorten op de doelqubit die voor en na de CNOT komen.
Welnu, zijn er drie manieren om dit te bereiken, en we zullen ze allemaal doornemen.
De eerste is de eenvoudigste, maar ook de meest tijdrovende.
We gaan tensorproducten van one-qubit operaties nemen
met identiteiten op de lege draden, zoals hier te zien.
Dan kunnen we de hele schakeling in matrixvorm uitschrijven.
Door deze matrices één voor één te vermenigvuldigen wordt het probleem geleidelijk aan kleiner.
En als we ze allemaal vermenigvuldigd hebben, kunnen we zien dat de matrix die het hele circuit beschrijft
is gelijk aan de matrix beschreven in de CZ die we eerder zagen.
Een eenvoudiger techniek, die goed werkt op dit circuit, is het berekenen van de effecten op individuele kets.

Dutch: 
zonder ze in vectorvorm uit te schrijven. Dit bespaart ons een beetje ruimte.
Hier kunnen we zien dat het effect van de Hadamard poort op de tweede qubit
is om zijn toestand om te zetten in de plus-minus basis.
De CNOT plaatst een minteken op het één-min component van de staat,
aangezien plus en min de plus- en min- en min-één eigenstaten van de X-operator zijn,
en de laatste Hadamard brengt de staten terug naar de standaardbasis.
Dit is identiek aan de actie van de CZ poort op deze basisstaten.
De derde en laatste methode, die we zullen gebruiken om quantumcircuits te analyseren
is het uitdrukken van de relevante tensorproducten zonder gebruik te maken van matrices,
probeer daarna de resulterende expressie voor het circuit te vereenvoudigen.
Zoals we kunnen zien, is de tensor productuitdrukking voor CNOT
ingeklemd met Hadamards vereenvoudigt de nul-nul tensor H in het kwadraat plus één-één tensor H X X H.
Het is eenvoudig aan te tonen met behulp van twee-bij-twee matrix vermenigvuldiging of ketnotatie

English: 
without writing them out in vector form.
This saves us a little space.
Here we can see that the effect
of the Hadamard gate on the second qubit
is to transform its state into the plus-minus basis.
The CNOT puts a minus sign
on the one-minus component of the state,
since plus and minus are the plus- and minus-one
eigenstates of the X operator,
and the final Hadamard
returns the states to the standard basis.
This is identical
to the action of the CZ gate on these basis states.
The third and final method,
which we'll use to analyze quantum circuits
is to express the relevant tensor products
without using matrices,
then try to simplify
the resulting expression for the circuit.
As we can see,
the tensor product expression for CNOT
sandwiched with Hadamards simplifies to
zero-zero tensor H squared plus one-one tensor H X H.
It's easy to show
using two-by-two matrix multiplication or ket notation

English: 
that H-squared is the identity, and H X H is Z,
leaving us with a controlled-Z operation,
whose action we can verify using basis states.
These three techniques,
and the quantum circuits that they're used to analyze,
each have a role to play
in the design of new quantum protocols,
and are important tools for us to use
to further our understanding of quantum algorithms.

Dutch: 
dat H-kwadraat de identiteit is en H X H is Z,
en laats ons achter met een gecontroleerde-Z-operatie, waarvan we de actie kunnen verifiëren aan de hand van de basistoestanden.
Deze drie technieken, en de quantumschakelingen die zij gewend zijn te gebruiken om te analyseren,
elk een rol te spelen hebben bij het ontwerp van nieuwe quantumprotocollen,
en belangrijke instrumenten voor ons zijn  om ons begrip van quantumalgoritmen te bevorderen.
