Archive for the ‘Experiments’ Category

Will it quantum?

Friday, April 19th, 2013

This week Boxio et al. have put up test results on the arxiv on performing quantum annealing with more than one hundred qubits on the commercial D-Wave One device. Marketed as a quantum computer, the natural question to ask is “Will it blend?”. Or rather, is the device quantum or just a complex classical device? In their paper, the authors compare the experimental performance with a simulation of how a quantum device would perform. In addition they compare the behavior to optimized classical algorithms. The conclusion is interesting in two respects. First, the behavior of the current device seems to suggest it is a quantum device. And secondly, an improved version of the current architecture might be able to deliver real world speed ups in performing calculations with larger problem sizes. This would certainly be very interesting. Or in the words of the authors: “A quantum annealer showing better scaling than classical algorithms for these problem sizes would be an exciting breakthrough, validating the potential of quantum information processing to outperform its classical counterpart.”

Update June 5: There has been a lot of buzz about D-Wave in the aftermath of this preprint (and a related study). I highly recommend reading Scott Aaronson’s post about the topic, from which it seems that the jury is still out on whether the D-Wave architecture will provide real world benefits.

Simulating larger open quantum systems

Thursday, April 4th, 2013

Using numerical simulations to explore the behavior of the quantum systems we study in the lab is a great tool for gaining more understanding. Especially if you want to go beyond the abstractions that most analytically solvable descriptions are. Unfortunately simulating quantum system on a classical computer scales very badly with the complexity of the system. Even simulating the single Barium ion trapped in the neighboring lab inside a high-finesse cavity with it’s full level structure and motional states may take too long on your personal computer for you to be patient enough to wait for the results. Not to mention to try and simulate the many neutral Rubidium atoms we trap in our lab.

The Quantum Toolbox in Python (QuTiP) is quite fast out of the box for these kinds of simulations, making use of core functions compiled to C code for speed and fully utilizing the multi-core processors present in all modern computers. But you still run into the problem that computations take too long, just for systems a little bit more complex. Being written in python, QuTiP makes it quite easy to offload some off the heavy computation onto a cluster in the cloud, for example via PiCloud. Recently I wrote a short guide on how-to get started with QuTiP on PiCloud, that shows you how easy it is to push the realm of doable computations quite bit further still. Since neither better software nor having a cloud based supercomputer at your fingertips gets around the fact that simulating quantum systems on a classical computer scales miserably, we have to make do with the imposed limits. Well that is until we have a quantum computer to run these simulations on…

Dive Into Quantum Systems With Python

Wednesday, November 14th, 2012

The Quantum Optics Toolbox in Python (qutip) is a marvellous tool for simulating open quantum systems. Firstly, Robert Johansson and Paul Nation have crafted a great tool which makes it easy to explore a wide range of quantum systems. And secondly, their tool builds upon the incredible scientific python stack.

Exploring quantum systems this way is a lot of fun, but knowing where to start is sometimes a bit daunting. Recently, Robert Johansson has put up some lecture notes on github in the IPython notebook format. These let you interactively explore the functionalities of qutip. Each lecture illustrates the behaviour of a particular quantum system. The great thing about the IPython notebook format is that these lecture notes are fully executable code, which means you can play around with the examples while working through them. An ideal way to dive right into simulating quantum systems with python!

If you are completely new to the whole python way of doing things, you find some tips on how to get started at the end of this post. To see what awaits you take a look at the static versions of his lecture notes below.

On the github repository there are also PDF versions that you can download.


Buy your experiment at Kelantan Lane

Wednesday, February 29th, 2012

Singapore is known to be a shopping mecca. But did you know, that you can buy the better part of your physics experiment in just one afternoon? No, don’t rush over to Orchard Road. You won’t find much useful stuff there. Better go down Kelantan Lane.

Street sign of Kelantan Lane

If you have never heard about Kelantan Lane, let me assure you: It’s awesome. Need some really weird screws for you latest creation? Kelantan Lane. Need to connect the piping for water cooling your latest gadget to some exotic fitting? Kelantan Lane. Need to get raw materials really quickly? Kelantan Lane. And where can you finish your shopping experience with some outstandingly good Laksa? You are right, Kelantan Lane.

If you have never been there, I suggest you take a stroll there. Kelantan Lane is a uniquely Singaporean area. It’s a cluster of lots and lots of small shops, all highly specialized in some kind of product. In fact Kelantan Lane is for experimentalists what Orchard Road is for the shopaholics. It is so nice, we regularly take visitors down there, and they love it.

Interested to find out more? Take a look at the impression below from one of our latest shooping sprees. Or contact me if you want to join our next one. To help you if you are planning a trip of your own, we compiled some of our favorite shops in the google map below. If you do know other hidden gems in the Kelantan Lane area, drop us a line and we will add it to the map.


Blind quantum computing: An introduction

Friday, January 20th, 2012

Cross-posted from my personal blog.
Blind quantum computing - as illustrated by my lovely wife Liu Jia
Since I have a new paper out today in Science, which seems to have attracted the interest of a fair number of non-physicists, I thought I would take the time to explain the paper: what it is we do, and the background behind it.

The paper itself is an experimental implementation of a cryptographic scheme designed to allow a user to run a calculation on a remote computer (server) in such a way that the users input, the operations performed and the output all remain hidden from the server. In our case we care about running a computation where the remote computer is a quantum computer, but the user has access to a much more limited machine. With that in mind, I thought I might first explain the protocol before talking about the experiments themselves.

The current experiments are based on Universal Blind Quantum Computing, a protocol proposed by Anne Broadbent, Elham Kashefi and myself a few years ago (illustrated above).

In quantum computing, the basic unit of information is the quantum bit (or qubit for short). This is exactly the structure you get if you take a classical bit, which can be 0 or 1, and try to represent it as a quantum system. Quantum mechanics allows for a systems to exist in superposition. This is essentially a class of non-classical states which exists in between classical states. This means that the qubit can exist in various superpositions of 0 and 1 at the same time. Each quantum state is can be described in terms of classical states, associating two numbers with each: an absolute amplitude (between 0 and 1) which when squared gives you the probability of finding obtaining that classical state when you measure the system, and a complex phase which governs interference effects. As it turns out, this means that we can represent the state of an (unentangled) qubit very simply, as simply the point on the surface of a sphere, known as a Bloch sphere (see below).

The Bloch sphere

The classical states 0 and 1 are the top point and bottom point of the sphere, while the other states are in superposition. The lower down you go, the higher the probability of obtaining a 1 instead of a 0, with the points around the equator representing states where there is an equal probability of measuring 0 or 1.

Since we imagine this in 3 dimensional space, it makes sense to assign an X, Y and Z axis to the ball. By convention, we take the Z axis to pass through both 0 and 1, and to put the point (0,0,0) at the centre of the ball. This gives us a very easy way to visualise the basic operations of quantum computing which can be performed on a single qubit: they are simply rotations of the ball, and indeed it turns out that it is enough to consider rotations about only the X, Y and Z axes. If you can do these, you can make any more complex operation as a sequence of (3) rotations about these axes. These operations are basically a generalisation of the NOT operation a classical computer can perform, which takes 0 to 1 and 1 to 0.

As with a classical computer, we also need some way to affect one qubit dependent on the state of another qubit. As it turns out, an operation called a CZ gate is sufficient for this. The CZ gate rotates one qubit 180 degrees about the Z axis if the other qubit is in state 1, and does nothing if it is in state 0. Conveniently, this gate is symmetric, so it has exactly the same net effect independent of which qubit you designate to be rotated.

The way our protocol works is based heavily on a result which says that you can perform any computation (classical or quantum) in the following way:

  1. Prepare a sufficiently large number of qubits in the state which lies on the equator of the Bloch sphere (which specifies its absolute amplitudes) and has phase +1. I will refer to this as the + state, since in the notation most physicists use it is written as \[\frac{1}{\sqrt{2}}\mid 0 \rangle + \frac{1}{\sqrt{2}}\mid 1 \rangle\]
  2. Arrange the qubits into a regular 2D lattice (such as a square grid).
  3. For every qubit i in order:
  • Rotate i about the Z axis by some angle which depends on exactly which gate you want to perform. Note that this angle can depend on the previous measurement result.
  • Rotate i 90 degrees about the Y axis.
  • Measure whether i is 0 or 1.

We noticed that if Z rotations before and after the CZ operations have exactly the same effect, and that a Z rotation before the CZ is identical to simply preparing some other state chosen from the equator of the Bloch sphere. The idea is then to get the server to do all off the hard parts: applying the CZ gates, doing the Z rotations and making measurements, while the client only does the easy parts: computing the angle for the measurement in each round, and preparing single qubits (this last part may seem like a physically hard operation to perform, but in fact the client needs little more than a very weak laser and a pair of 3D glasses from the cinema to accomplish this if the server is sufficiently powerful).

If you look at the list of operations that the server is expected to perform, only the Z rotations actually depend on the computation being performed. This is because it is possible to choose a fixed arrangement for the qubits (the lattice referred to earlier) which will work for any computation you may wish to perform. The lattice has only 2 parameters, length and breadth, which are analogous to the time and memory the computation uses. As these parameters can be artificially inflated, they are not revealing anything particularly useful about the computation. So only the Z rotation reveals information about the computation. However, if the user prepares the initial qubits in random states on the equator of the Bloch sphere, the net rotation the server needs to perform must incorporate both the undoing of this initial random rotation and rotate by the appropriate angle required to correctly implement the desired calculation. This means that, depending on the initial random state chose (of which he is not aware), for any fixed angle required to implement the users computation, the server is equally likely to be asked to perform a Z rotation through any angle. Thus the angle he is told is completely independent of the users calculation.

So none of the classical messages the user send reveal any information about the calculation, but what about the qubits? Can’t they be measured to reveal information about their random rotation? If so, then the entire computation could be infered by the server from a combination of the classical and quantum messages sent by the user. Fortunately for us, the quantum mechanics come to the rescue. Suppose instead of choosing the inital state of the qubit and the angle sent to the server in such a way that the exactly implement the correct angle required to implement their desired computation, suppose they choose them randomly to either add up to the correct angle or add up to the correct angle + 180 degrees. What would happen then? Well, this would be the same as randomly choosing on of two opposing points on the Bloch sphere. No matter what two points you pick, it is impossible to determine either of them by making a measurement on such a system. This is because no matter what axis you pick to make a measurement along, you always have an equal chance of obtaining a 1 or a 0, independent o the choice of points. So if the user sends such randomized states to the server, together with measurement angles, there is nothing to be learned by any measurement of the system. Thus everything is perfectly hidden from a malicious server, even if they deviate from the protocol.

But doesn’t this randomization mess up the computation, resulting in nonsense? As it turns out, no, it doesn’t. This is because this extra rotation through 180 degrees is identical to flipping the measurement result the server gets when they measure the qubit. Since the measurement results are randomly flipped, the server can’t learn anything about the computation. However, the user knows whether or not the result has been flipped, and so can unflip it when they receive the result from the server. As long as they base their actions on these corrected results, the outcome of the computation is identical to if they had never occurred at all. Since the measurement results the server obtains are flipped, even for the last qubits to be measured, they have no knowledge of the outcome of the computation, though it can be trivially read by the user.

Since the server doesn’t know what computations are being performed, it is possible to set up traps to detect if the server deviates from the protocol, but this isn’t necessary to ensure blindness, and is beyond the scope of this blog post.

Now that I’ve explained the explained the theory, I’ll tell you a little about the experiment. To actually see our protocol become something real, we spent much of the last two years working with experimentalists Stefanie Barz, Philip Walther and Anton Zeilinger to find a way to implement the protocol using photons. Photons make perfect qubits, since they have two polarizations which can be used to encode a single qubit. In practical terms they would be ideal for a mature implementation of blind quantum computation, since photons can be relatively easily be transferred over large distances, allowing the user to be hundreds or thousands of kilometers distant from the server. Additionally, the group already had significant success in implementing the measurement based model of quantum computing on which our protocol is based.

Optical setup

The final set-up used (see above), like every other first demonstration, makes some compromises most notably in giving the client something a little more sophisticated than a pocket laser and 3d glasses, since this allowed us to simplify the server somewhat. None the less, it is a pretty faithful implementation of our original idea. With the 4 photonic qubits we had, we were able to hide all of the basic building blocks for a larger scale computation, meaning that we were able to demonstrate blind single and 2 qubit gates, which are sufficient to build an arbitrary computation out of. We were also able to hide instances of two quantum algorithms: the Deutsch-Josza algorithm and Grover’s algorithm.

Lastly, and most importantly, we were able to show that virtually no information could have been leaked by the apparatus. Although we have a theoretical proof, as outlined above, actual experimental apparatus aren’t as well behaved as our theoretical models, and so we need to show that our apparatus isn’t leaking information by introducing some subtle error on the quantum states. This may sound impossible, since how do you prove a negative? By running the experiment many times over for each and every possible choice user could make, we were able to use measurements made on different runs to infer the real state received by the server. This was possible because we knew exactly what the users choice of randomness was in each case, and so weren’t subject to the blindness which affects the server. With all of these measurements made, and the true states inferred, we applied a result known as Holevo’s theorem to calculate a maximum amount of information that could be extracted by a malicious server had they knowledge of the exact peculiarities of our experimental set-up. Philip and Stefanie are so good at their jobs, the system is pretty accurate, an the amount of information which could possibly have been leaked was no more than 0.169 of a bit. Even if the server could somehow learn something about the user’s desired calculation or random choices, the amount he could learn from measurements on the quantum state rises only slightly to 0.185 of a bit. In the case of these experiments, we were using 8 different initial states (i.e. 3 bits) for each blind qubit which is sufficient for any calculation, and so the amount of leakage is tiny. Not too bad for a first attempt, I think!

Arduino for Quantum Optics, Anyone?

Monday, January 16th, 2012

Ever heard of the Arduino? Well, for one it’s the latest gadget we have added to our lab electronics. But moreover, it’s a brilliant idea. Quoting from their website:

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

But all that this really means is that the Arduino team has made doing stuff with microcontrollers simpler, much simpler. They have taken away a lot of the pain in getting started with microcontrollers. Newcomers can buy a cheap board to host a microcontroller (or build it themselves), program it in a simplified version of C that is easy to pick up, and finally upload their programs using an intuitive programming environment and a USB cable.

So why use Arduinos, you might ask, given that your centre has many microcontroller gurus around: Alex is busy building an space ready entangled photon source based on a PSoC 5, Christian happily hacks away on his EZ-USB chips, Dzmitry will run his experiments on Cyclone III FPGAs and Vlad is designing one cool gadget after another that uses microcontroller.

The answer for me is that simplicity pays off. You save a lot of time thanks to the effort of the Arduino community. The programming environment was quickly set up on Windows, Linux and Mac machines. The programs are easier to write because of the simplified language and thanks to Arduino’s huge following many projects are documented online, which makes it easy to figure out how to solve many of the problems along the way. And oh, it’s open source. All source code. schematics and drawings are available online.

So who else uses the Arduino in a quantum optics lab? To be honest, I don’t know. Most of the projects and available libraries are geared towards robotics and automation. Allthough there is for examle a PID Library, which looks handy for our lab and comes with great explanation. The only result, I found during my quick search for Arduino and Quantum Optics, is from Dr. Dawes over at The Daily Photon, who apparently uses the Arduino for teaching. So Arduino for Quantum Optics, anyone?

An Arduino ready for his job as a heartbeat interlock

Above is a picture of our Arduino ready to act as a hearbeat interlock. The interlock makes sure we don’t forget to turn off important equipment. Every time we run an experiment, the interlock receives a ping, and keeps the equipment running. If the interlock did not receive a signal for an extended period of time, it shuts down the equipment. For most of our electronics we use Eurocard boards. The Arduino just plugs onto one of those boards. Once the prototyping is over, the Arduino will be replaced by a cheaper home made board, that just features the microcontroller itself. On the code-sharing github, there is also a gist of heartbeat interlock code we wrote.

The qotoolbox goes python

Monday, November 28th, 2011

Hold on a minute, the what goes where? If that was you first thought when reading the title of this post, bear with me for a little while. If, on the other hand, you are thinking ‘yes, finally!’, then jump straight to the QuTiP website.


Wimps, Silvio, and the Masses.

Sunday, November 13th, 2011

Since last I blogged, those pesky neutrinos travelled faster than light, the fine structure constant varied spatially, 67 wimps turned up making dark matter a slightly lighter shade, and our favourite Italian comedian Silvia resigned as he tries to bring down the EU, after the Greeks crack (to use my most venerate cycling parlance). Has the world gone mad?!

Fortunately some clever people are thinking ahead to the time when us physicists won’t have any funding to play with. Yes, the time is coming when the worlds governments won’t have enough spare cash to spend on us, so we’ll have to look elsewhere. Enter crowdfunding, and the #SciFund Challenge. Their mission: to fund 49 science projects purely on public donations. So far they have raised over 40 thousand US dollars of hard earn cash in just 13 days! Its an interesting idea in many ways, the public has to find the projects engaging and important enough for them to even think of giving their money up. Why donate to science when you could help fund the water well project in Africa for example? It’s really a challenge of communication, about convincing people of the value of doing science. Lets see how this new model of funding takes off.

Quantifying the desire for fast neutrinos

Wednesday, October 5th, 2011

So what do you think about these particles that travel faster then light? Even as the news about superluminal neutrinos gets to be two weeks old, that question still pops up in discussions with friends and colleagues alike. And during the latest of these discussions, I realized a strange behavior. Physicists tend to argue that the experiment must be flawed, but yet hope that it is not. This behavior has been noticed before by sources as different as The Economist and the XKCD comic strip. And since you never really should make statements without solid data, I’d like to put some numbers to that phenomenon.

Supersymmetry goes under the knife

Monday, October 3rd, 2011

I spent a lot of my working life stuck in a dark, cold, room with no windows… There I help build and tinker with atomic physics experiments. These days I’ve been trying to cool down atoms to near absolute zero. At these temperatures they become very easy to control, and we try to come up with useful things to do with the atoms. Maybe we could make a quantum simulator for example. We’re some way from doing that just yet though.  In years gone by I played around with a different sort of experiment, one that has been in the news recently.

A long time ago, when physicists still looked intelligent by frequent waving of their pipes down at the smoking room, it was thought that the universe had to be symmetrical. The rules that Nature runs on shouldn’t change if suddenly left became right and up became down, nor should they change if time, all of a sudden, ran backwards. I mean you’d still die if you were walking backwards and were hit by a backward going bus, right!? Unfortunately, nature doesn’t have common sense, and in some cases, these symmetries and our common sense is violated. (Don’t get me wrong, it’s always a bad idea to be hit by a bus!)

When physicists discovered this annoying truth about the universe, they decided to mix things up a bit. To explain the universe, they invented a ring, one ring to rule them all….oh no, sorry, it was a symmetry – supersymmetry! It turned out that some theoretical problems in physics could be solved if every particle in nature had a symmetrical twin, who spins a bit differently and weighs a lot.

For 20 years now, supersymmetry has been offering simple explanations where no other theory can. For example, dark matter, the glue that seems to hold galaxies together, might be made up of these heavier supersymmetric particles. Of course we can’t see dark matter, that’s why they call it “dark”. Nor can we see those other particles. Which is very convenient! Yes so far this magnificent theory has evaded detection.

To find the missing stuff, some physicists spent a lot of money, about 30,000 Ferraris’ worth, and built the Large Hadron Collider (LHC) at CERN in Geneva. Probably the most complicated machine ever built, the LHC smashes particles together and sees what comes out. It’s the Jeremy Clarkson approach to physics! (For those who don’t know who Jeremy Clarkson is, you can choose to remain in blissful ignorance or have a look here.)

Meanwhile, other physicists locked themselves in a basement lab in London to produce a machine that can measure the shape of the electron. This, too, could tell us something about supersymmetry. The point-charge of the electron is thought to get smeared out by interactions with particles around it. If supersymmetry exists, the resulting blob should be slightly oval-shaped instead of round. This experiment, which I did my phd on, fits on a family sized dinning table and cost about 10 Ferraris’, has just been started up.

Both these new experiments are now piling on the pressure for supersymmetry. Neither has found any evidence that supersymmetry exists at all! At the LHC last month they released data ruling out the simplest form of supersymmetry. In London, they made the most precise measurement of the shape of the electron ever performed and saw nothing but a round blob. As this experiment becomes ever more sensitive, it could rule out supersymmetric theories all together.

So with both these new eyes fixed on their target, supersymmetry’s days might be numbered.

(LHC Physical Review Letters paper and Arxiv version.

Imperial College London Nature paper.)