Tuesday, August 25, 2009

Animoto Video of Cove

I was playing around with Animoto, which lets you put together a video to music from images and music. It is pretty simple to use and does a great job of blending the music and video.

I put together a quick little video (30 seconds) using some images from my dissertation on Cove:

Per Dr. Calongne's suggestion I used music from the Animoto site itself to avoid any digital rights problems.

Tuesday, August 18, 2009

More Thoughts on Quantum Computers Becoming a Reality

I wrote a few weeks ago in a previous post about William Halal [1] and when we'll have quantum computers. To summarize: the best guess he's gathered from consulting a bunch of experts is 2021 plus or minus 5 years- which seems reasonable to me.

Current computers where an expensive resource when we first had them. It took decades until they were cheap and practical enough where you could have one at home. I think the same will be true with quantum computers, they'll be very expensive at first. For this reason I see them being a shared resource at first. In other words it will be something that multiple classical computers share. That sharing could be at the institution level, such as a university having some available much like early computers. It also isn't unreasonable to think that processing time could be rented out on it, much like Amazon's EC2.

One obvious question is how the classical computers will interact with the quantum computer. Nearly all proposals for programming quantum computers explicitly or implicitly make use of Knill's QRAM model [2]. In Knill's QRAM model the classical computer is the master and the quantum computer is the slave:

Things get a little more complicated when you throw in multiple classical computers for a single quantum resource. Each of them cannot have full control of the quantum resource and have it function correctly. However, Knill's QRAM model can be expanded to include a "quantum controller" between the classical computer(s) and quantum resource:
This has the advantage that all the logic to deal with the clients can be built into the quantum controller. The controller could also talk to the clients through a standardized protocol, meaning that different physical implementations of quantum computers could still be utilized through the same interface. The controller could also do some other things:
  • Queue up requests for operations from a client and execute them at once.
  • On the fly optimization?
  • Deal with disconnected clients at any stage in the computation.
The list goes on. Obviously the implementation of this is hard. How exactly do the controller and classical computers communicate for instance? A lot of work would have to go into this, which is why I've listed it as an area for future research in my dissertation. Like programming quantum computers, I think we're best off tackling this issue before quantum computers become a reality outside the lab. Doing so will allow us to hit the ground running with quantum computers instead of stumbling along like we did in the early days of classical computing.

[1] W. E. Halal, Technology's Promise: Expert Knowledge on the Transformation of Business and Society, 1 ed. New York, NY: Palgrave Macmillan, 2008.
[2] E. Knill, "Conventions for Quantum Pseudocode," Los Alamos National Laboratory LAUR-96-2724, 1996.

Thursday, August 13, 2009


Quantwiki (http://www.quantiki.org/) is essentially a free content quantum information science site, meaning anyone can create and add content. The content includes wiki articles, discussion forums, news, job postings, and more. The links to recent papers on various sites/journals is also useful. Since the site not only hosts forums, but has articles and other contents, makes it a good place for the community to carry out discussions and serve as a good repository of related information for the quantum information science community.

Tuesday, August 11, 2009

A Step Towards Practical Quantum Computers

This was passed on to me from the head of my Doctoral committee, Dr. Sanden: At NIST they've implemented successive quantum operations on qubits, in addition to multiple teleports. You can check out the article on Technology Review here.

While I'm not a physicist, and thus less involved in physical implementations of quantum computers, this is pretty exciting news. Decoherence is a big problem in physical implementations- essentially the state unintentionally collapsing through inadvertant measurement. When any measurement (perhaps partial) occurs the qubits collapse from possible superposition to a state that can be represented classically, that is by bits instead of qubits. So essentially one can think of decoherence as unintended measurements taking a system out of superposition.

(On a somewhat related note, this is why quantum operations must be reversible. Irreversible operations require energy to erase information, and input of energy acts as a measurement.)

Wednesday, August 5, 2009

Top Books on Quantum Computing

During the course of writing my dissertation I looked at every book on quantum computing that I could get my hands on, and ended up purchasing many of them. I thought it would be helpful to others, especially those new to the subject, to post what I consider the essential books on quantum computing. I've posted the reference for each, along with a few sentences about what I liked about the books. The reference should be enough for you to find it at your favorite bookstore. The books are not listed in any particular order.

A lot of material in the books overlaps each other, but I found that having several slightly different explanations helped to understand things better. Additionally, I came to find that some books had more complete coverage about certain topics. Keep in mind that my area is computer science- this means that I was more concerned with how quantum computers work mathematically as opposed to how to physically implement them.

Purkeypile's Essential Quantum Computing Texts

[1] M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, 1 ed. Cambridge, UK: Cambridge University Press, 2000.

This is considered by many to be the essential text on quantum computing. Its coverage is pretty thorough, so you can usually find what you're looking for. However, the explanations can be a little brief, so I think the other texts are better for beginners. This was typically one that I used as a reference to find some details that might not be in the others.

[2] P. Kaye, R. Laflamme, and M. Mosca, An Introduction to Quantum Computing. New York City, New York: Oxford University Press, 2007.

I found this one did a great job on explaining the mathematics of quantum computing in the early chapters. If I had to pick one book to explain the basics of quantum computing, this would be it.

[3] M. Nakahara and T. Ohmi, Quantum Computing: From Linear Algebra to Physical Realizations, 1 ed. Boca Raton, FL: CRC Press, 2008.

I include this book not just because of the great and easy to read coverage of the entire subject, but also because of the complete example on factoring. Many papers and texts just treat part of factoring as a sort of a black box. If you want to know how to implement factoring from elementary operations, this is the book you have to have. This has been my most referenced book while trying to carry out more complex simulations.

[4] N. S. Yanofsky and M. A. Mannucci, Quantum Computing for Computer Scientists, 1 ed. New York, NY: Cambridge University Press, 2008.

This is another great book that covers all the necessary introduction topics. I include this book in the list partially because it is the only text I've come across that dedicates an entire chapter to quantum programming.

Worth Looking At

[5] M. Hirvensalo, Quantum Computing, 2 ed. Berlin: Springer, 2004.

This one has a good introduction to quantum information. I also found myself consulting this one if I wanted an alternate explanation of something I read in the Kaye text.

[6] N. D. Mermin, Quantum Computer Science: An Introduction, 1 ed. Cambridge, UK: Cambridge University Press, 2007.

This is one of the few books geared towards computer scientists. As such it had a refreshing view and made note of things that are of importance to a computer scientist, but not necessarily a physicist.

[7] L. Spector, Automatic Quantum Computer Programming: A Genetic Programming Approach, 1 ed. New York, NY: Springer Science and Business Media, LLC, 2004.

I include this one because it covers some aspects on simulation (albeit somewhat indirectly) that I didn't find covered in other texts. In particular, the algorithm for expanding a gate matrix was useful. It is also an interesting read.

[8] S. Loepp and W. K. Wootters, Protecting Information: From Classical Error Correction to Quantum Cryptography, 1 ed. New York, NY: Cambridge University Press, 2006.

This one is worth mentioning because of the coverage of quantum cryptography and good overall look at information in general.

Perhaps in the future I'll also post some of the papers I consider essential, or some of the more popular science type books on quantum computing.

Tuesday, August 4, 2009

Structured Design Process and Drug Development

Alexander Christakis writes a lot about using the structured design process (SDP) in his book "How People Harness their Collective Wison and Power to Construct the Future in Co-Laboratories of Democracy" [1]. (You can get it here on Amazon in hardcover.) In particular in chapter 14 he writes about how using SDP can short end the front end work necessary for drug development. As an example he suggests workshops that can cut time for some processes down from weeks or months to just a few days. I think the key point is really that we can dramatically decrease the time our processes take just by changing the process itself.

Drug development is one area I think quantum computing holds the potential to really make an impact in. Often when one hears about quantum computing Shor's algorithm (factoring) and Grover's algorithm (unsorted search) are the two examples that are frequently cited. Simulating quantum systems is often missing from this list. Just think of what all we'd be able to do if we could efficiently simulate a quantum system (via a quantum computer)... I think this extends beyond drugs into physics and probably a bunch of other areas we cannot even think of at this point.

[1] A. N. Christakis and K. C. Bausch, How People Harness their Collective Wisdom and Power to Construct the Future in Co-Laboratories of Democracy, 1 ed. Greenwich, Connecticut: Information Age Publishing, 2006.