Everyone loves the exotic and somewhat mysterious field of quantum computers and quantum computing, and probably every physics or computer science student has at least once wondered to learn more about it. The problem with the present body of text on quantum computers, is that they do not fully let someone feel its power. Most of the books on quantum computing simply tell us how its done, leaving us clueless as to what is it exactly that we are doing which is so different and fundamentally difficult for a classical computer to do. Even the popular media, which is founded upon the principles of over-exaggeration, does not do justice to quantum computing. For example last year it was reported that the latest quantum computer invented by google could find prime factors of 15. Lesser mortals like you and me, reading the newspaper on our giant touchscreen tablets would perhaps laugh it off and move on with their lives, taking pride in the number of cores we have in our android phones, and the fact that it can run GTA vice city these days, which was only possible for a computer to do, and you spend billions of dollars on factoring 15? What a bunch of nonsense. Of course its not nonsense, or stupidity you would later think when you are taking a shower and retrospecting the bad decisions of your life which brought you to not being able to talk to that hot girl in the bar. 'People at google are smart, they must know what they are doing!'. You my friend may not be right about the fact that daily consumption of >4 units alcohol is good for you, but you are absolutely right that google is not made of a bunch of clueless minions. The big tech giants like IBM and google, as well as universities have been quick to catch up on the quantum wave, because they know very well how important it is to adapt as quick as they can. Having blabbered all this to you, let me dive in quickly and let us start with the mathematical details.
After some thought, here is what I came up with to get you to feel the difference between a classical and a quantum computer. I borrowed this idea from a book called "Flatland" by Edwin Abbott Abbott. Although this book had nothing to do with quantum computing, I think it will work for us here beautifully. Imagine yourself (of course you can't) to be living in a 2 dimensional flat land. Your society does not have a concept of 3 Dimensional space intuitively (the society must have mathematicians who could cook up the properties of 3D space, but not the plebeians). How would you live in such a land? You can't really turn around here along an azimuthal axis, you can only look up or down or left or right (imagine your land is constrained on XZ plane). Now imagine the the computations that your society can do, can only be done on this azimuthal axis. This means that you can only turn your bits instantaneously from perhaps up, and the down. You can not really have in-between turns, because your dimensions are restricted. Would you believe if I tell you now, that our present form of computers, which of course exist in 3D, still work on the same principles as a 2D or even a 1D flatlander's computer would work? The problem with modern day computers is we only have 1s and 0s. Ups or Downs. We have yet not utilized the full power of a classical computer, which is to have the ability to create those 'in-between' states with our bits. The reason we have not been able to create such states is because classical physics is deterministic and classical computers are based on the mathematical idea of Church-Turing hypothesis (I shall leave this discussion for later). What do you mean when I say in-between states? It is either on, or off right? That is where the problem lies. Humans like Richard Feynman et.al. realized that one could use the power quantum superpositions to create those lovely in-between states using generally spin fermions. For all intensive purposes here, we shall consider two state systems, which could be composed of single particle fermions or composite particles (atoms) which behave like fermions. We will abstract away the exact system and imagine the two states to be and . A qubit, or a quantum bit is composed of a superposition of these states and can be imagined to be residing on something called a Bloch-sphere
In general a qubit is in a superposition of |0> and |1> state. The shear amount of freedom that one gets if our system is in a superposition is immense as we saw. For further discussion, we will ignore the global phase factor from here, because it will not be important when we are performing a measurement. If we also let then we can simplify our equation further to the following
Which can be simply written as
Abstracting further, if we have a composite system made up of four qubits, such that first qubit and where and are hilbert spaces of same dimensions (2) then a general state can be written as
I will avoid explicitly showing the tensor product symbol from now on and simply write it as
Now that you know how to create these states without worrying much about how to experimentally realize them, let us have some fun with them. From the above picture, you could pretty much see, if I measure the above quantum system N times, I shall get the state |00> about times. Suppose I measure only the first qubit to be in the state |0>, then what will our wave function after the measurement be? Well we know that we have collapsed the wave function to only give |0> as the first qubit output, thus our post measurement state would be
Now that I have hopefully taught you what are qubits, let us look into various gates which we can create using unitary operators. One thing to note before we directly dive in to the kinds of gates we can create using quantum computers, we will first try to understand what basic properties must such gates satisfy before being called an official, so to say, quantum gate. First and foremost, our gate can never change the magnitude of our qubit in its respective hilbert space. Here changing the magnitude simply means that the sum of all the coefficients squared must be 1. This is another statement of conservation of probability. Due to this constraint of not being able to change the magnitude, the only thing our gates can do is rotate our qubit in the hilbert space. Gates in quantum computing are generally represented in two forms, one is the operator form, and the other one is matrix form, and both are infact simply linear transformations acting on the qubit. Such transformations which do not affect the magnitude but only rotate a vector (a complex number represented in vector form) in its respective space, or in other words those transformations which preserve the inner product of the vector by itself before and after the transformation, are known as 'unitary transforms' in quantum mechanics. Therefore, all our quantum gates would have to be unitary transformations. One good example of such a unitary transform is the hadamard transform, given by
In general its given by
One can clearly see that the sum of the squared of coefficients before and after the hadamard transformation is conserved , and since they were initially normalized, they would remain so after carrying out the transform. The cool thing about the hadamard transformation is that it takes input a single state, and creates an equal probability superposition of all quantum states possible in the system. The use of this would be demonstrated later in this discussion. Carrying on with our discussion, most quantum gates come with their controlled-"gate" analogs, for example the hadamard gate also has a "controlled-Hadamard" or a controlled-H gate. In such gates, one bit is set to be the control bit and the other one to be the target bit. If the control bit happens to be |0>, then the gate does not act on the target bit, however if the control bit is |1>, then the c-H acts on the target bit. If we set our first qubit as the control bit, and the second bit as the target, then following examples may help in clarifying how it works.
Hadamard gate, along with the self explanatory controlled-Not gate could be utilized in the following circuit (take from nature journal's open source repository) to produce various Bell states, which will be important to us for teleportation.
As we can see above, our input is the state |00>, which is very simple to realize in laboratory, then we act hadamard gate on the first bit causing following change
After this we act upon it with the controlled not gate, where the control bit is our first qubit, represented with the big black dot, while the second qubit will be the target bit
This is the first bell state. Similarly we can create all the other bell states by giving |01>, |10> and |11> as inputs to such circuit. Following is a list on how to create such states -
- Bell 01,
- Bell 10,
- Bell 10,
There are many reasons why being able to create such states are important, one such reason being the 'Bell's inequality'. I shall not go towards this path, but rather use such bell states to come to our ultimate goal in this article, which is to be able to teleport. We have so far learned what are qubits, how do quantum gates work and their properties, as well as how to create quantum circuits which produce bell states. We need one more input in our toolbox to work on teleportation, which is the quantum Z gate. Z gate simply changes the phase of the states, leaving the states themselves, along with their complex coefficients intact. Z gate changes the phase of |1> state by whereas leaves the |0> state unchanged.
A list of more symbols for quantum circuits given below (http://bio.freelogy.org/)
The goal here is for say, Alice to prepare an arbitrary superposition say and teleport this to some other person, as always, named Bob. (circuit source: Nielsen & Chuang - Quantum information and computation)
Let us start from the very beginning. The convention is, that the first two qubits belong to Alice, while the last qubit belongs to Bob. The trick here is, just by doing local manipulations on her two qubits, Alice can utilize the spooky quantum superpositions in her advantage, and teleport the state to Bob. The first thing to be done here is jointly prepare the following state
Which can be simplified to
As we have already seen in our previous study of how a c-Not or X gate works, Alice would send her first qubit through a c-Not gate where the control bit is the first qubit, and the target bit is the second qubit. Notice though, that Alice can't see or touch the third qubit, which belongs only to Bob. She can only work with her first two qubits. After passing through the c-Not gate, following would be the output
Alice then proceeds to send her first qubit through the Hadamard gate to get following results
Which can be simplified by taking the tensor products
Now comes the part where Alice makes a measurement. The result of the measurement can leads to the collapse of Alice's qubits and leads us to the following possibilities which finally completes our teleportation procedure
- If Alice measures |00>, she does nothing to the qubits and Bob recovers the original state
- If Alice measures |01>, she does , thus Bob again recovers the original state
- If Alice measures |10>, she does
- If Alice measures |11>, she does
As you can finally see, we have teleported a quantum state from Alice to Bob. Notice however, that this is a breakthrough in a sense that we would transfer a quantum state from one person to other without ever measuring it, however, we have not teleported the state instantaneously. To teleport the state to Bob, Alice at some point had to use classical channels for the teleportation to be successful with a probability of 1. The use of classical channels means that we are not really teleporting instantaneously, but rather at most with the speed of light.
The article ignored allot of mathematical subtleties due to its popular nature, and thus I could not include the rigor which is needed to truly understand such a technique, which is not to say I have compromised whatever physics I have used. Quantum teleportation is not a simple topic to understand, and even this article could only be well understood by a physics undergrad who has some familiarity with quantum mechanics. The key point was to cause a spark of interest with the catchy headline, and then drag you through the dark and treacherous trail of quantum mechanics and linear algebra to see if you can survive. I hope the article teaches something to everyone, and hopefully I will revise it further to clarify more points as per the feedback.