Lately I've been giving a lot of thought to a question that I'm nearly constantly asked: "So...[long pause]...are you a physicist...[long pause]...or are you a computer scientist?" Like many theorists in quantum computing, a field perched between the two proud disciplines of physics and computer science (and spilling its largess across an even broader swath of fields), I struggle with answering this question. Only today, after a long and torturous half year (where by torture, I mean interviewing for jobs, not the eerily contemporaneous fall of the world's finances) in which I have been daily contemplating what to do with my life, did it finally dawn on me that I actually know the answer to this question: I'm neither, damnit! Not both. Not one or the other. No, I'm neither a physicist nor a computer scientist.
Warning! Extended, and I mean extended, wildly meandering story below. Probably only of interest to my mom. Proceed with caution, or, to get to the point, skip to the end!
This story, like all good tales of midlife crisis (yes I'm too young, and more importantly, I've already owned a convertible), begins in my childhood. Many dies are cast which determine your future, but those which gel with what you are good at tend to filter your destiny. In my case, I, like many before me, was good at mathematics. Until I saw "real" math while an undergraduate at Caltech, I'd never encountered a math problem I couldn't solve. Or at least this is the myth I tell myself, and while definitely not true in substance, it captures the feeling I've always had about math: it is something I can do. But being good at something does not a person make, and so, while my math skills would open up to me opportunities, my passions were different.
|It is useful to have a midlife crisis in graduate school, but does this mean I'm only going to live to forty four?|
My first passion, like many a budding math geekazoid, was computers. I'm guessing my first real interaction with a computer was using Logo in grade two, but my real computing days began with the arrival, one exciting Christmas, of a TRS-80 Color Computer (the "trash 80.") Along with the computer came one video game (Sky Defense, maybe?) and a promise of no more games, and limited game time, from the parents. But a burgeoning video game addict can't be stopped, and Scholastic Inc. provided a way out of the dilemma in the form of Family Computing magazine. This magazine contained, in every issue, many game programs (adapted across a wide array of machines) that you could hand enter into your computer. So, with a group of neighborhood kids we spent many hours transcribing the games (and then saving them on a cassette player!) One kid would read and the other would type. But of course invariably we would make a mistake (often very nontrivial) in entering the program and so would have to debug the game before getting it to work. In a very real sense, I learned to debug before I learned to program. And along the way, typing in those computer programs, I began to see how these computers worked, and I began, slowly but surely, to learn how to build my own games.
|The initial configuration of Langton's loop, a self-reproducing cellular automata with eight states. Look, ma, I can reproduce!|
And from this early fascination with computing, came days growing up fiddling with and programming computers. Here being good a math certainly helped (though trying to write a program to simulate planetary dynamics without knowing of the subject called "trig" can lead to some interesting orbits generated by your program!) but at heart I was always deeply fascinated by (1) colors, (2) speed, and (3) simulation. Colors and speed led to a progression of machines (from the TRS-80 CoCo to the Apple IIGS...256 colors with some cool tricks) and languages (BASIC, assembly, Pascal, C++, even machine language, i.e. entering byte sequences into memory by hand.) This was a fascination with the latest and greatest technology. If you had known me as, say a freshman in high school, you'd be pretty convinced that my future lay in computing. I vividly remember wanting to, someday, work for Apple computer.
|TRS-80 CoCo 2. Dungeons of Dagorath anyone?|
But on top of my fascination with faster and prettier machines, was a deeper fascination with computing that I've labeled "simulation." On a trip to Washington D.C. my dad bought for me a book The Turing Omnibus by A.K. Dewdney. This was a collection of short articles about a variety of topics in computer science. Computability, NP-completeness, spline curves, analog computers, neural networks and cellular automata, are among the topics I recall reading about in this beautiful book (which I believe I loaned out, so I no longer own it: do you have it Mark Stewart?) I also found my way into reading "Computer Recreations" in as many back issues of Scientific American as possible. And from this background emerged a fascination for "simulation." Could we design computers that were alive? I reverse engineered Langton loops from pictures on the back of the book Artificial Life: A Report from the Frontier Where Computers Meet Biology by Steven Levy. Could we simulate physics? I built basic molecular dynamics programs (after learning trig!) to try to simulate chemistry (how do you get forces to making bonding objects?) Could we evolve machines which could think? I programmed genetic algorithms to evolve neural nets. Over the top geek thoughts in the peaceful isolation of a remote corner of California.
And while these endeavors were about the art of creating wonderful new programs, they were also symptomatic of my own desire to understand how the hell the world really worked. Not the human world around me, per se, but the deep down guts of the universe, the basic building blocks, if you will: how did they work? If I was going to make headway on the questions of how to build life or how to build thinking machines, it seemed natural to me that I needed to know how the world actually worked. It's not hard, I think, to go from a curiosity about question what is life and what is intelligence to curiosity about the physics of the world (though, oddly, many physicists make the opposite journey.) Further combine this with a fascination concerning questions of free-will and determinism, add in a reductionist's mentality, and you're led, quite naturally, to physics.
So, while my geekdome lived its life in the world of computing, my mind wandered the alleys of physics section of the library. A healthy dose of popular science reading, disagreeing with A Brief History of Time, devouring The Emperor's New Mind, and teaching myself AP Physics (How do you do that? Simple, just do every problem in the college textbook.) led me to a great devotion to the fundamental ideas in theoretical physics. Plus, you know, theoretical physics was the ultimate status symbol of intellectual brain power, so why not aspire to be a physicist?
Fast forward now, to my arriving as an undergraduate at the California Institute of Technology in 1993. Every time I recall this event, it grows ever more apocryphal in stature, but truly I must have been scared out of my wits: could I make it at this legendary school? This fear was not helped by the fact that my grandfather had attended the school and I'd grown up hearing tales of his meeting Einstein while a student there. Especially in physics, there was a question: could I do physics at a level required to succeed at Caltech? Sometime during my freshman year I realized I could. Maybe it was the time I got a 10/10 on a test with an average score of 1, or maybe it was the time my TA in physics said (paraphrasing) "Come on, speak up, some of you know the answer. Come on Dave or (name I've forgotten), say something! Wake up!" Or maybe it was my amazing luck to get selected to a special program to perform research as a freshman, Physics 11 run by Professor Tom Tombrello (though amusingly the hurdle I completed to get into the class was about simulating population dynamics. Bonus points to those who can name people in quantum computing who also were in Physics 11.) But before I knew it, I was heading straight down the theoretical physicists pathway: Jackson for E&M, Goldstein for mechanics, and Cohen-Tannoudji for quantum mechanics. And my fascination with how the world worked grew even deeper. Here my math skills could actually be used to understand some very strange discoveries about how the world functioned.
|As gramps said: "Bridges, motors, beveled gears, CIT Engineers!"|
And as my physics knowledge grew, my computer skills changed as well. In addition to taking on a major in literature, the majority of my time outside of doing physics was spent taking classes from the division of Computation & Neural Systems at Caltech. Thus while becoming a computer programmer or software developer faded out of my plans (and really with all the work to do in physics and literature who would have the time) my interests in computer science remained. Using Fourier transforms in computing: I saw it Shuki Bruck's class. Learning about Hopfield nets from, well no better way to do that than to learn about them from John Hopfield (he didn't call them "Hopfield nets.") Artificial life? Chris Adami taught a course. Not even close to a standard computer science curriculum, but filled with fascinating topics on the edge of computer science.
Which then leads me, quite naturally to quantum computing. Oh, I didn't know it would lead me to quantum computing. My first real introduction to quantum computing was a SURF project at Caltech under Nicholas Cerf and Chris Adami. My goal in that project was to try to see if quantum computers could efficiently solve NP-complete problems. Or as I like to call it, this was the summer I spent bashing my head against the wall! I remember after giving my SURF talk that someone (by my foggy recollection it was John Preskill) came up after the talk and said "that's a difficult problem you were working on." But upon applying to graduate school, my research essays were about doing fundamental particle physics. This is the outcome of a standard physics education: all are funneled to serve the higher gods of particle physics.
Thus I arrived at Berkeley in 1997 with Berkeley convinced I was going to do particle physics. I, on the other hand, had decided that I wanted to do astrophysics. The origin of this compulsion are now lost on me, though a summer spent at the Smithsonian Astrophysical Observatory in Harvard (look closely at the picture on the front page you can find me...look even closer and you can see one of this year's Sloane award winners) probably had something to do with this. That along with an awesome intro astronomy class taught by Nick Scoville at Caltech and conversations with one of the young faculty members at Berkeley, Lars Bildsten (now at the KITP in Santa Barbara) led me to a year of solid astrophysics courses.
Now when I had learned about quantum computing, I remember also learning about the problem in building quantum computers: decoherence. Despite the fact that two of my fellow SURF students were working on quantum error correction and the very foundations of much quantum error correction work was being performed while I was an undergraduate at Caltech, I remember thinking that quantum computing was really, quite possibly, not going to work due to decoherence. Thus I remember thinking that quantum computing was not a valid research field to study. It was perhaps after sitting in one too many interstellar tedium classes, however, that I found myself thinking again about quantum algorithms, and so I decided to see if anyone at Berkeley was working on quantum computing. An email to Umesh Vazirani went unanswered (down that road lay true theoretical computer science!) but, it turned out, that there was more quantum computing going on at Berkeley in the Chemistry department. Daniel Lidar was a postdoc working with Birgitta Whaley on a subject called "decoherence-free subspaces." And, Daniel, in Caffe Strada, was kind enough to sit me down and explained to me, for the first time, how quantum error correction worked. And I was hooked.
I was hooked for many reasons. The first was, I could do the math behind quantum computing. The stuff Daniel was working on involved a sort of blend of linear algebra, group theory, open system dynamics, and basic ideas in the theory of computer science. All those years spent poking around the edges of computer science fit in quite nicely as well: quantum error correction is all about what makes quantum computers a useful model of computation. It involved thinking about the physical systems used to build a quantum computer in the manner I'd been taught to think about them as a physicist: one benefit of a physics education is that you really do gain an intuition about how the physics will work out. These were, then, my personal adaptations suitable for the field.
But there was also a larger purpose behind my interest in the field. These I might label "philosophical" or "foundational." They involved worrying about the nature of computing in light of physics as we understand it. Trying to get to the bottom of what the heck quantum theory really is about. Trying to understand what are the real limits to computation and what really makes the concept of a computer. Over the years, as a biproduct of working on quantum computing I've even had some opportunities to study such subjects.
The majority of my work, however, in quantum computing has been about two subjects: quantum error correction and quantum algorithms (the later is a more recent, hard fought, little success, line of work.) Which brings me, finally, to my point. Looking back, through the path I've taken, there are many threads. One is a thread of interest in fundamental research: what is the relationship between computer science and physics? Can we learn anything about physics from poking around computer science and vice versa? What the heck is up with quantum theory, anyhow?
But the other thread is, I believe, a fascination with actually using computers and technology. The more exotic the application or technology, the better! I am decent at the kind of quantum computing theory I do, but my heart really lies in something quite different. It lies in building a quantum computer.
This, in many ways, is why I've kept trying to work on quantum error correction, an important component in any possible quantum computer (or at least, so we think.) Why I decided to work on quantum algorithms (because I wanted to give more justification for why we should build a quantum computer.) And, in many ways, why the field still appeals to me. As Dorit Aharonov yelled at me on our drive from Albuquerque to Santa Fe "there is no point in quantum computing if you cannot build a quantum computer!"
Sure there are lots of fundamental reasons to be interested in quantum computing. See Scott Aaronson for the details. These appeal to the part of me that headed down the path toward theoretical physics. But me, really when I think about it, I'm in the field because I want to see a large quantum computer built. And I want to sit down an run a quantum algorithm I've thought up on this computer.
When Scott and I wrote our fun little policy paper, one point where our views differed was on how much we should emphasize building of a quantum computer. It is in our nature as academics to not over promise, but I also suspect it may not be in our nature as physicists, taught to study nature, and computer scientists, taught to work with existing models of computation, to actually go out and build the damn thing. Recently at a visit to a major funding agency I was amused to hear a manager talk about "this new field called quantum computing" and also how they were "happy to fund quantum computing just as long as it led to good physics." This is the moral equivalent, to me, of saying "sure we're interested in this transistor research, just as long as it doesn't lead to anything like a computer." Want to get a job, one physicist told me, "just don't tell them you want to build a quantum computer!" I reject this view. Don't get me wrong. I strongly supporting those who do wish to perform fundamental quantum computing research for its own sake. I also understand that it is useful to think about spin-offs of quantum computing research, especially if the slog is going to be long. But the molding of quantum computing research to fit within the confines of physics, or within the confines of computer science? That's for the birds. What we need is a massive project to build a quantum computer. A Manhattan project style effort to take the massive progress made in one of the leading implementations of quantum computing efforts, and run with it.
So when people ask me, "are you a computer scientist or a physicist," my answer is neither. Sure I dig both of the big challenges of these fields, and can see myself being involved in each discipline in a traditional way. I'm decent at math, so I can chug along doing work that fits these disciplines. These two fields are essential to building a quantum computer. But the narrow road is not where I want to steer my car towards. At heart I'm here for the technology, for the promise that quantum computers bring in broadening our computing power, for going out and building one heck of a cool device.
Now....how the hell I'm going to do this, as a mere theorist (who gets chewed out by experimental physicists for writing fluff pieces on quantum computing) of small merit, I have no idea. But it's time for me to start kidding myself: I'm in this game for the computer.
So, what are your prospects for future employment?
Great post Dave. Actually I have much the same motivation (and similar reasons for it), and I am definitely in the field because I want to see a working large scale quantum computer. It feels a little to me like working on computers right at the very start. Sure, I'm not going to be Turing or Shockley, but I might well know their quantum computing counterparts.
That said, I'm not entirely sure what I will do when a quantum computer is finally built. Part of me thinks I would stay in the area, but another part of me says that I'd want to move to another area in theoretical physics. I love open questions, and I think that is ultimately my motivation for doing what I do, so when the open questions start to dry up, I'll probably look to a different field.
Is it true that smart non-creative types like to collect things?
So ... how long do you think it'll take? To build an actual quantum computer, that is.
Loved the essay, Dave, and I finally get to ask you the question I've always wanted to ask you: can such a thing actually be built? (A quantum computer, that is.) I mean, I knew you were a theoretical scientist of the computer/physics sort, but I was never sure if this QC stuff was, frankly, real. I often feel like a lost child reading your blog, and what's worse, was never sure if you were talking about actual problems actually programmable on some actual gizmo, or just some cool new way to think about that stuff!
Either way, I'm hitchin' a ride, OK? Keep us posted.
Dave, I have heard this theme from you in previous blog posts. There already is a Manhattan project for QC and I believe you know who it is. Why aren't you working for them?
That was quite interesting. Thank you.
I don't think we should be identified as "being" our occupation. I have studied various subjects to varying degrees, and through perhaps mismanagement or bad luck I don't get to professionally work at them right now. We "are: what we think and express most capably per our own interests, not what we are paid for.
@Joe: pursuit of the new by definition means that you'll be switching. If only this were as easily said as done!
@Sandy: That depends a lot on how much we choose to invest in quantum computing. With the current model? I don't see how this scales up in the necessary manner. (Saying this is probably really stupid considering that the current model is what is keeping me in a job right now, but what the hell.)
@Mark: There are serious efforts, yes, to build the basic components of a quantum computer. As to whether there is a serious effort to a large quantum computer, my assessment would be, no. I'm a theory dude, so yes, my pontifications are rarely connected to the real world. This is something I'd like to change.
@Alguy: The energy gap and the proven computational power of adiabatic quantum computing?
@Niel B: I certainly concur that you shouldn't get your identity messed up with your occupation. This doesn't however mean that I can't be passionate about what I want to accomplish in my life.
Dave, keep the faith. Just keep doing what you're doing.
@Charlie: I'm a gettin' impatient!
So, with a group of neighborhood kids we spent many hours transcribing the games (and then saving them on a cassette player!) One kid would read and the other would type.
I had totally forgotten about that. Hilarious. What I do remember was three people lined up at a computer like some kind of 4th? grade assembly line, faces forward, eyes intent, chanting and each pressing one of four buttons, "A ... space .... L ... return!"
Anyone but Dave know why we would have been pressing that particular set of keys?
Luis: I'll go you one better, I work with the guy who wrote that game!
So I take it that most everyone believes it to be at least a scientifically possible (i.e. not forbidden by known or unknown laws of physics) pursuit. What do you think of the possibility that *any* implementation will turn out to be technically impractical when scaled (e.g. required resources scale exponentially with # of qubits)?
Some of the current efforts look to me like trying to build a classical computer out of lego. (That's speaking of the gate model. Don't know about AQC yet I guess.)
None of the practical implementations are technically impractical in the sense of the required resources scaling exponentially in the number of qubits. For example ion trap quantum computers with separate traps don't have a number of control lines or traps or lasers or whatever you want to qualify as a resource that grow exponentially as a function of the number of qubits. That's not the scaling issue (though a caveat that different schemes have varying degrees of issues with "cross-talk" which if attack naively could lead to such bad behavior.)
Your lego comment is closer to the scaling problem: different implementations know how to build reasonably good one and two qubit devices, but for some of these implementations building one or two good does not immediately lead to being able to build two or three or ten or a thousand. This is the promise of the solid state devices which have only recently been getting into the regime where they can do one and two qubit operations.
Morally I believe that as a fundamental quantum computer, adiabatic quantum computation suffers all the same problems as a quantum computer...which is not to say it can't be better in practice (for example, timing errors can be mitigated.) Also I make a distinction in my head between adiabatic quantum algorithms, and adiabatic quantum computers which are designed to implement universal quantum computation. The former is a special purpose type of (possibly) quantum computer.
"unknown laws of physics"...I hope no one believes that!
Sandy: You can build a computer from lego! See http://www.engadget.com/2006/02/08/the-lego-difference-engine/
Dave: Yes, I know moving is easier said than done, but I'vealready drifted quite far from my original focus, and I guess I'll keep drifting to what I think are interesting problems. I used to be really interested in state transfer, but largely now see it as a solved problem. I know that there are still many questions you can ask about quantum state transfer, but I think most of the interesting ones have been answered. Maybe I've just run out of questions.
Joe: Thanks for the Lego link -- that's awesome. I was aware of lego logic gates but didn't know they had bigger things now. (Just remembered - there's also this Lego Turing machine from Univ. Aarhus.) Of course what I mean is that I imagine that building a useful QC out of current implementations is like trying to build a Commodore-64 (or what have you) out of lego.
About exponential scaling of resources ... well, it certainly feels like that in the lab sometimes :-) Let me add the qubit # requirements of quantum error correction to the definition of "resources". Decoherence/cross-talk seem to me to be one of the biggest stumbling blocks to current QC approaches.
Thanks for entertaining my irreverent questions!
I enjoyed reading your essay Dave. I remember first meeting you at CBSSS 2002 at Caltech, and I was fascinated with the idea of quantum error-correction as you explained it to me back then.
When people ask me what I work on, I switch between putting on my physics and my computer science hats, depending on my mood. :) I'm proud of the fact that not many folks get to do this on a daily basis.
And yes like yourself I want to see a full-scale, reliable quantum computer built before I die, so that I can take over the world and rule it forever, and ever.
"... full-scale, reliable quantum computer built before I die, so that I can take over the world and rule it forever, and ever."
As discussed by J.R.R. Tolkien in his users manual on the Palantir Nonlocal Videonet and the Intelligent Distributed Ring Hierarchy. Passing the token to another, an Elf queen says: "All shall love me, and dispair."
Wow dude! That's some heavy (good) stuff. Keep the faith and keep plodding along. Hey I'm working through a book right now that I think you would get a kick out of. It is entitled, In Search of Klingsor" by Jorge Volpi. The book is a post World War II historical fiction that uses physics to search for .... you guessed it Klingsor. The story spends a lot of time at the Yale Institute as well as in the homes of famous European physicists and they seem to debate (quite well) the importance of physics. One of the chapters is the Hypotheses: From Quantum Physics to Espionage. I came upon your blog site once again while searching for the Oracle of Kevin Bacon.