Tuesday, May 1, 2012

Java 3D Simulation

Inspired by this, in my downtime I've taken to composing a Bloch Sphere-simulating Java applet. There are no expectations that it will be completed in a timely fashion as I've not touched Java for some time now. The hope is only that in writing it, I'll come to be significantly more familiar with the various transformations.

Thursday, April 26, 2012

The Bloch Sphere

First a little bit of background: A qubit is the analog of the traditional bit. Bits can be either 0 or 1, whereas qubits can be 1, 0, or both 1 and 0 at the same time. Because of this ability, it follows nicely that any string of n qubits can represent all numbers from 0 to 2n-1 simultaneously. So for example, 3 bits in a regular old computer can only possibly store one of the following values at a time:

000
001
010
011
100
101
110
111

These represent the numbers 0 through 7, a total of 8, or 23, numbers. 3 qubits, on the other hand, are capable of storing all 8 of those numbers at once. That, essentially is the power of qubits. They allow for a quantum computer to perform operations on many values at once. As it happens, qubits are often represented visually by a Bloch Sphere. That's this guy:

A qubit's "state" can be anything on the surface of the Bloch Sphere, with the pure states of 1 and 0 being the polar north and south of the sphere. This leads me to the first big question I have on my quantum computing journey:

Why is the Bloch Sphere an ideal representation of a qubit?

So far, I have yet to find a really thorough answer to this question. My thinking is this: if a qubit can be 1, or 0, or somewhere in between, couldn't a simple linear scale in terms of percentages also represent a qubit satisfactorily? For example:

It just hasn't clicked yet for me. A qubit's implementation is essentially a certain property of a subatomic particle, for instance, the polarization of a photon. Photon polarization is already represented using a sphere called a Poincare Sphere. But in that case, there are precisely 6 different polarization states, so a 3D model of some sort does make sense. But the actual implementation of a qubit would only be concerned with two of those states, say horizontal and vertical polarization. And that's where I get stuck. Why are we still using the sphere representation? Fortunately, this confusion hasn't impeded me from studying further in quantum compututation. But it does irk me. I want a good answer to this question, and when I find it, I intend to post it here.

Wednesday, April 25, 2012

Introduction

This blog will document my progress in learning the science of quantum computation. I am coming at this as a total newb and have so far spent many hours scratching my head over various wikipedia articles, news articles, and powerpoint presentations.

I purchased Nielsen and Chuang's Quantum Computation and Quantum Information: 10th Anniversary Edition and have been chugging away at that. Recently I also purchased Yanofsky's Quantum Computing for Computer Scientists because I felt that Nielsen and Chuang assumed a certain familiarity with concepts with which I am not familiar. My Comp-Sci education is the only thing I'm bringing to the table here. I have effectively no prior knowledge of quantum mechanics except for the small amount of reading I've done recently, and I have very little memory of the mathematics courses I took (up to and including Calc 2).

My plan is to catalog every question I have, the answers I find, and the insights I gather, in the field of quantum computation. Topics will pertain to QC in general, the texts I am using, as well as in mathematics, and the philosophy of computer and information science.