I thought I might try a different topic that tends to blend math, computer science, and physics. We probably won’t be doing any physics here, but the math and computer science are going to matter a little. There’s the approach that most computer scientists take: know what you have, and use it. For instance, we don’t question how our computer is built. We know we have certain operations that we can do down on the bit level that can be built with certain types of gates (like AND, OR, NOT, NAND, XOR, etc). This is about where we stop. We don’t go into details about how we go about building and implementing these things with wires and how the bits could be represented using voltage/amperage. Well, we can do the same thing with a quantum computer. We can ask what operations do we have and then go about making up quantum algorithms without worrying about the super precise details of how exactly this computer will be built.
NOTATION:
A quantum bit (or qubit) is a 1 or a 0 just like a bit in a computer (except much better). We will denote these single qubits as and
. This is the dirac notation. Okay so more is going on here than I let on. You can think of the bits as spanning a 2-dimensional vector space and
and
are an orthonormal basis. The reason we need this is because actually a qubit can be more than just a single bit, it can be a superposition of bits. In general our qubit is a wave and it is
, where
and
. So we can (and will) compute on this wave to give us the added power of working with both bits at once. Eventually we will want an answer and will need to measure the wave. Measuring will force the wave to collapse down to a single bit
or
, and it will be
with probability
and
with probability
. Thus we can think of
as giving us a discrete probability distribution (this will become a much more useful statement when we work with more than just 2 bits).
Anyway, so we come to our computation point. We know our bits, but what can we do with them? In physics, the interpretation is that any quantum compuation must be a reversable process. In mathematics, what we do to must keep it as a probability distribution. Our computations will be linear functions on the vector space with basis
. But there are more restrictions the reversability/keeping psi as a probability distribution forces the operators to be unitary. In other words, if we write
, then our computations (or operators) are exactly the matrices
such that
(t is transpose and * is the complex conjugation). But you already knew that if you knew the definition of unitary. A computation can then be written as
. This completely specifies how to do quantum computations on a single bit. Next time we will probably do an example (like NOT) and talk about extending to multiple bits.