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.