Four myths about quantum computingThis chapter relies on a bit of quantum physics jargon.See the chapter 'An introduction to the quantum world' for a quick introduction. Myth 1: Quantum computers find all solutions at onceThis myth is likely the most technical, and builds on a misinterpretation of the concept of superposition.A single qubit can be in two states at the same time (0 and 1), two qubits can represent four states (00, 01, 10, 11), and three qubits are potentially in eight unique configurations simultaneously.As we increase the number of qubits, this number of coexisting states scales exponentially!This means that a mere 1000 qubits can effectively 'store' 2 1000 unique values, all at the same time.That's an incomprehensibly large number, much more than there are atoms in the visible universe.Even the fastest computers in the world couldn't loop through all these states in a lifetime.Each of these states can be interpreted like a file on a computer, be it an Excel spreadsheet, a web page, a CAD drawing, or whatever kind of data we choose to work with.A smart computer scientist can also devise a way to make 1000 bits represent 'solutions' to a problem.For example, imagine that we want to find an optimal aeroplane wing that generates incredible lift while requiring as few materials as possible.Using quantum superposition, we might represent 2 1000 such wings simultaneously.We picked the example of aeroplane wings because simulating their aerodynamic properties requires a pretty hefty computation.Let's assume that we have written such a computer program that accurately simulates any wing.Let's call that program f .It will output 1 if the wing works well (according to whatever metric), and 0 otherwise.Surely, the program takes a very large number of computation steps, which we'll call T. The program will need some input, denoted by x , which is a 1000-bit description of all the relevant properties of a hypothetical aeroplane wing.In other words, the computer program computes f (x) = 1 if x is a fantastic wing, and f (x) = 0 if it's rubbish.Now, a quantum computer should be able to execute any classical function, right?We should be able to run f on a quantum computer, but now we have the unique feature that the 1000-qubit input can represent a humongous number of potential aeroplane wings at the same time.By doing a mere T computational steps, we can check the properties of 2 1000 solutions!
Four myths about quantum computingThis chapter relies on a bit of quantum physics jargon.See the chapter 'An introduction to the quantum world' for a quick introduction. Myth 1: Quantum computers find all solutions at onceThis myth is likely the most technical, and builds on a misinterpretation of the concept of superposition.A single qubit can be in two states at the same time (0 and 1), two qubits can represent four states (00, 01, 10, 11), and three qubits are potentially in eight unique configurations simultaneously.As we increase the number of qubits, this number of coexisting states scales exponentially!This means that a mere 1000 qubits can effectively 'store' 2 1000 unique values, all at the same time.That's an incomprehensibly large number, much more than there are atoms in the visible universe.Even the fastest computers in the world couldn't loop through all these states in a lifetime.Each of these states can be interpreted like a file on a computer, be it an Excel spreadsheet, a web page, a CAD drawing, or whatever kind of data we choose to work with.A smart computer scientist can also devise a way to make 1000 bits represent 'solutions' to a problem.For example, imagine that we want to find an optimal aeroplane wing that generates incredible lift while requiring as few materials as possible.Using quantum superposition, we might represent 2 1000 such wings simultaneously.We picked the example of aeroplane wings because simulating their aerodynamic properties requires a pretty hefty computation.Let's assume that we have written such a computer program that accurately simulates any wing.Let's call that program f .It will output 1 if the wing works well (according to whatever metric), and 0 otherwise.Surely, the program takes a very large number of computation steps, which we'll call T. The program will need some input, denoted by x , which is a 1000-bit description of all the relevant properties of a hypothetical aeroplane wing.In other words, the computer program computes f (x) = 1 if x is a fantastic wing, and f (x) = 0 if it's rubbish.Now, a quantum computer should be able to execute any classical function, right?We should be able to run f on a quantum computer, but now we have the unique feature that the 1000-qubit input can represent a humongous number of potential aeroplane wings at the same time.By doing a mere T computational steps, we can check the properties of 2 1000 solutions!
Today's computers work on bits that exist as either 0 or 1. Quantum computers aren't limited to two states; they encode information as quantum bits, or qubits, which can exist in superposition. Qubits represent atoms, ions, photons or electrons and their respective control devices that are working together to act as computer memory and a processor. Because a quantum computer can contain these multiple states simultaneously, it has the potential to be millions of times more powerful than today's most powerful supercomputers. A processor that can use registers of qubits will be able to perform calculations using all the possible values of the input registers simultaneously. This superposition causes a phenomenon called quantum parallelism, and is the motivating force behind the research being carried out in quantum computing. Due to technical obstacles, till date, a quantum computer has not yet been realized. But the concepts and ideas of quantum computing has been demonstrated using various methods like NMR, Ion Trap, Quantum Dot, Optical Methods, etc. A quantum computer manipulates qubits by executing a series of quantum gates, each a unitary transformation acting on a single qubit or pair of qubits. In applying these gates in succession, a quantum computer can perform a complicated unitary transformation to a set of qubits in some initial state. The qubits can then be measured, with this measurement serving as the final computational result. Research must devise a way to maintain decoherence and other potential sources of error at an acceptable level. Probably the most important idea in this field is the application of error correction in phase coherence as a means to extract information and reduce error in a quantum system without actually measuring that system. Thereby, quantum computers will emerge as the superior computational devices and perhaps one day make today's modern computer obsolete.
Computer graphics relies on computing hardware for everything from animation to rendering. An emerging new technology exploits the properties of quantum objects to offer radically new ways to think about, create, and run algorithms. For example, quantum computers can evaluate many different input values simultaneously, where "many" can be larger than the number of atoms in the visible universe. The catch is that only one output can be obtained from each run. Quantum computing may change how we think about computer graphics. For example, future quantum computers may be able to intersect astronomical numbers of rays with a similarly massive database of objects in a single execution, or evaluate enormous numbers of simulation parameters in parallel to return the one set that produces a desired result. This course describes, without advanced math, the core ideas of quantum computing. We start with the quantum version of the classical bit (called a qubit) and the basic operators that modify qubits. We introduce the four essential properties that distinguish quantum computers from familiar classical computers: superposition, interference, entanglement, and measurement. We show how these properties are orchestrated to build quantum algorithms. We conclude with a brief overview of some of the most well-known quantum algorithms, and some of their possible applications in computer graphics. Quantum computers are already here, and are increasing in size and reliability at a rapid pace. Open-source simulators abound, and small quantum computers are even available for free use on the web. Classical hardware has served computer graphics well. Quantum computing offers a fundamentally new way to design and execute algorithms, which could change our field in fundamental ways. Now is the perfect time to starting thinking about quantum computing for graphics.
As early as 1982 Richard P. Feynman suggested that it might be impossible to simulate quantum mechanical phenomena with a computer without an exponential slowdown the efficiency of computation. He also proposed that this problem may be avoided by allowing the computer to run according to the laws of quantum mechanics, thus implicitely suggesting that a computer based on the quantum mechanical systems, a quantum computer, might have exponentially more computational efficiency than any classical one. A quantum mechanical phenomenon that never occurs classical physics and which actually makes quantum computation interesting and powerful, is the superposition of states, which, loosely speaking, means that instead of being totally one single state, a particle can be in between many states. Compare this to the elements of classical computer, bits. A bit takes values zero or one, but never anything between. In a quantum computer, one is able to store it both values simultaneously one quantum bit, equally weighted or not. Moreover, the classical computer one can store a number from zero to 2n−1 a register of length n, whereas, quantum computation, all the values could be stored simultaneously. The computation, which is performed via unitary transformations the state vector space, then applies to all these values simultaneously. Thus the power of the quantum computation lies not the absolute speed of the hypothetetical quantum computer but the possibility to actually follow many computational path simultaneously, as a nondeterministic automaton does. Alas, the observation of the outcome will yield only one value destroying the rest irreversibly. However, using a procedure smart enough one could obtain some valuable information about the computation.
Quantum computing is the delicate art of using a quantum-mechanical system to perform some kind of computation. Such a system differs in a number of significant ways from ordinary computers:• A quantum computer actually does a lot of computations at the same time, each solution is represented by a particular possible state. This is inherent to the physical properties of such a system.• Unless you are sure that you have reached the final (unique) solution, you can not "look" at the "values" of the variables in the computer program that is being run: since all solutions are possible at the same time, observing the values will influence the system and put it into one particular, but otherwise arbitrary, state.• All computations must be reversible, that is, a statement like "a = 5" can only appear in the initialization phase of a program, because the previous value will be lost. On the other hand, a statement like "a = a + 5" is reversible, since you can retrieve the original value.The properties of such a quantum computer make it possible to devise very efficient algorithms. One such algorithm, described by L. Grover (see the references), is searching in an unsorted array of items. With ordinary computers this can not be done more efficiently than in O (N) steps (an exhaustive search: each item is examined in the worst case), with this quantum algorithm, however, the number of steps needed is O (N 1/2 ).Devising quantum algorithms requires a thorough understanding of quantum mechanics, there is no doubt about that. Another question is: do we need quantum computers and special programming languages to program (or perhaps emulate) these algorithms? This article tries to show that, at least for the quantum search algorithm, a classical programming language like Fortran is quite fit (yes, the pun is fortunate).
Introduction In an ordinary computer, information is stored in a collection of tiny circuits each of which is designed to have two stable and easily distinguishable configurations: each represents a bit . In our study of quantum cryptography, we have seen how it can be useful to express information not in ordinary bits but in qubits . Whereas a bit can have only two values, say 0 and 1, a qubit can be in any quantum superposition of ∣0〉 and ∣1〉. Moreover, a qubit can be entangled with other qubits. Thus one might wonder whether a quantum computer, in which the basic elements for storing and processing information are qubits, can outperform an ordinary (classical) computer in certain ways. This question was addressed by researchers starting in the 1980s. In terms of practical consequences, perhaps the most dramatic answer has been given by Peter Shor in his 1994 factoring algorithm for a quantum computer, an algorithm that is exponentially faster than any known classical algorithm. As we have seen in Chapter 1, the difficulty of factoring a product of two large primes is the basis of the security of the RSA cryptosystem. So if one could build a large enough quantum computer – and there is no reason in principle why this could not be done – the RSA system would be rendered ineffective. In this chapter we present the basics of quantum computation and then focus on Shor's factoring algorithm.
Quantum computation offers the potential for solving specific problems exponentially faster than the best classical machines, by virtue of its non-classical dynamics and information representation. Quantum mechanical bits (called 'qubits') can be both 0 and 1 at the same time, in which case the qubit is said to be in a superposition state. A quantum gate with input 0 or 1 gives the same output as a classical gate, but if the input is 0 and 1 simultaneously, the quantum gate performs the two corresponding operations simultaneously. Similarly, a 2-qubit gate with an input state prepared as a superposition of the 4 combinations 00, 01, 10 and 11, performs four simultaneous computations. In general, an N-qubit gate could perform 2/sup N/ computations at the same time. So as we increase the size of the system, the computational capacity of the apparatus goes up exponentially, compared to linearly for a classical computer. Using commercial NMR-spectrometers, simple quantum circuits are experimentally implemented consisting of multiple cascaded logic gates.