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 $2^n-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.
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.
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.
Behold your computer. Your computer represents the culmination of years of technological advancements beginning with the early ideas of Charles Babbage (1791-1871) and eventual creation of the first computer by German engineer Konrad Zuse in 1941. Surprisingly however, the high speed modern computer sitting in front of you is fundamentally no different from its gargantuan 30 ton ancestors, which were equipped with some 18000 vacuum tubes and 500 miles of wiring! Although computers have become more compact and considerably faster in performing their task, the task remains the same: to manipulate and interpret an encoding of binary bits into a useful computational result. A bit is a fundamental unit of information, classically represented as a 0 or 1 in your digital computer. Each classical bit is physically realized through a macroscopic physical system, such as the magnetization on a hard disk or the charge on a capacitor. A document, for example, comprised of n-characters stored on the hard drive of a typical computer is accordingly described by a string of 8n zeros and ones. Herein lies a key difference between your classical computer and a quantum computer. Where a classical computer obeys the well understood laws of classical physics, a quantum computer is a device that harnesses physical phenomenon unique to quantum mechanics (especially quantum interference) to realize a fundamentally new mode of information processing. In a quantum computer, the fundamental unit of information (called a quantum bit or qubit), is not binary but rather more quaternary in nature. This qubit property arises as a direct consequence of its adherence to the laws of quantum mechanics which differ radically from the laws of classical physics. A qubit can exist not only in a state corresponding to the logical state 0 or 1 as in a classical bit, but also in states corresponding to a blend or superposition of these classical states. In other words, a qubit can exist as a zero, a one, or simultaneously as both 0 and 1, with a numerical coefficient representing the probability for each state. This may seem counterintuitive because everyday phenomenon are governed by classical physics, not quantum mechanics – which takes over at the atomic level. This rather difficult concept is perhaps best explained through an experiment. Consider Figure 1 below:
Quantum computation was envisioned by Feynman as a valuable means of solving quantum problems [1]. The question is, how do we prove the superiority of quantum computing over classical devices? A common misconception in describing the power of a quantum computer over a classical computer is that quantum bits can be prepared in a superposition of an exponential number of states, which cannot be achieved with classical bits. This statement is certainly true, but it does not tell us, specifically, what problems quantum computers can efficiently solve while classical computers fail to do so. In fact, based exactly on the technique of Feynman's path integral, the output (i.e. transition amplitude) of any quantum circuit can be calculated classically with a polynomial amount of memory (although the temporal cost would be exponential). Therefore any quantum computation can be simulated classically; the key question is about the efficiency. Much effort has been made trying to pin down the power of quantum computers based on the machinery of the computational complexity theory. In particular, the class of computational (decision) problems that can be solved efficiently by a quantum computer is called BQP (bounded-error quantum polynomial time); the counterpart for classical computers is called P (polynomial time). Of course, BQP cannot be less than P; in principle quantum computers can simulate classical computers efficiently. The point is that the foundation of quantum computation cannot be established without a proof showing that BQP is strictly larger than P (i.e. BQP ≠ P). In this sense, this question is as interesting as the famous challenge of proving P ≠ NP (non-deterministic polynomial time). A well known instance of an NP problem is the factoring problem; Shor's quantum algorithm is capable of solving the factoring problem in polynomial time, which is not achievable with the best classical algorithm discovered so far. However, we still cannot rigorously exclude the possibility of the existence of an efficient classical algorithm for factoring. Although again without a proof, it is commonly believed that quantum computers are unable to solve some of the NP problems. In fact, the proof of this statement (if true) provides a possible path to prove P ≠ NP. A potentially less demanding question would be, when do we expect a quantum computer to be able to perform some well defined tasks (not necessarily related to any practical problem) that cannot be simulated with any currently available classical device, within a reasonable time? Once achieved, the status is called ‘quantum supremacy' [2]. One may ask, what about Grover's search algorithm, which provides a quadratic speedup over the classical search? Can we say that we can already achieve quantum supremacy with Grover's algorithm? The problem is that, instead of taking the large-N limit, quantum supremacy requires us to determine the actual number of qubits and gates that can no longer be simulated by classical computers within a reasonable time. To elaborate further, we remark that there can be two notions of classical simulation, namely ‘strong simulation' versus ‘weak simulation'. Strong simulation refers to the cases of calculating the transition probabilities, or expectation values of observables, to a high accuracy in polynomial time. Weak simulation requires the probability distributions to be accurately reproduced, which involves ‘sampling' the different outcomes of the quantum devices. Some quantum circuits that cannot be strongly simulated with an efficient classical means may have efficient classical methods for weak simulation [3]. However, we should be careful about the accuracy requirement in the simulation tasks. For example, for many decision problems, it may be sufficient to determine the transition amplitudes to within an additive error, instead of multiplicative error. In other words, the classical simulability of quantum computational problems depends on the accuracy requirement. Currently, there are three popular approaches for achieving quantum supremacy (see Fig. 1), namely (i) boson sampling [4], (ii) sampling IQP (instantaneous quantum polynomial) circuits [5], and (iii) sampling chaotic quantum circuits [6]. In all of these approaches, distributions of different bit strings or photon numbers are sampled from the quantum devices. Furthermore, they all involve the assumption that classical computers are unable to efficiently determine the transition amplitudes, and/or reproduce (or approximate) the distributions of quantum devices performing these tasks, in the sense of both strong and weak simulations. Three different approaches for achieving quantum supremacy: (a) boson sampling; (b) IQP circuits; (c) chaotic quantum circuits. In boson sampling, single photons are injected into different modes of a linear optical network. The task is to determine the photon distributions at the output ports. The key feature of boson sampling is that the transition amplitudes are related to the permanents of complex matrices, which are in general very difficult to calculate exactly, or approximate to within an multiplicative error; these problems belong to the #P-hard complexity class. Moreover, efficient weak simulation of boson sampling is believed to be impossible, unless the polynomial hierarchy collapses to its third level. However, a recent numerical study suggests that, in order to achieve quantum supremacy with boson sampling, one needs to simultaneously generate at least 50 or more single photons, which is still highly technologically challenging. An interesting question is whether linear optics, in the setting of boson sampling, can be applied to solve decision problems. In this case, the transition amplitudes may need to be determined to an additive error. However, we found that a large class of decision problems associated with boson sampling can be simulated by a classical computer [7], settling an open problem [8] by Aaronson and Hance. IQP circuits represent a simplified quantum-circuit model. The initial state starts from the all-zero state, |000…0〉, followed by applying Hadamard gates to each qubit. Then, diagonal gates are applied to the qubits, followed by applying Hadamard gates to each qubit again. The argument of showing the complexity in simulating IQP circuits is similar to that of boson sampling. In fact, the complexity of boson sampling was inspired by the complexity results of IQP circuits. However, when subject to noise, IQP circuits may become classically simulable [9]. Lastly, chaotic quantum circuits refer to the class of quantum circuits where two-qubit gates are applied regularly, while single-qubit gates are applied randomly from a gate set. The output distributions of these circuits approach the so-called Porter–Thomas distribution, which is a characteristic feature of quantum chaos. Recently, there have been several numerical investigations aiming to explore the ultimate limit of classical computing in simulating low-depth quantum circuits. For the ideal cases, one needs to consider both the qubit number and circuit depth for benchmarking quantum supremacy. However, in the presence of noise, these chaotic circuits may also become classically simulable for high-depth circuits [10]. Finally, other than these three approaches, one should expect that quantum supremacy can be achieved for many practical applications, e.g. simulation of quantum chemistry or quantum machine learning. When will it happen? Only time will tell!
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!
In 1981 Richard Feynman proposed the idea that a computer built of quantum mechanical elements obeying quantum mechanical laws can perform efficient simulations of quantum systems. Quantum computing works on the laws of quantum mechanical properties such as superposition, entanglement, and interference. Unlike in classical computing, in quantum computers a register can exist in all possible states at once due to its superposition properties. It is only when a quantum system is measured that we observe one of the possible states. Such a system is advantageous since, when measured, each state can appear with a certain probability encoded in the state prior to the measurement. Quantum computing works by increasing the probability of the desired state to a sufficiently high value so that the desired state can be obtained with high confidence with a minimal number of measurements. In this regard, quantum interference, which results from quantum superposition, plays a big role since it allows probability amplitudes corresponding to a given state to interfere and cancel each other. This property of quantum interference biases the measurement to a set of states that we desire as the outcome of quantum algorithms. Similarly, quantum entanglement allows one to create a strong correlation between quantum objects, especially qubits, to the advantage of quantum algorithms, as you will see throughout this chapter.
Summary form only given, as follows. Gives a system theoretic approach to the concept of quantum computing. A quantum computer is envisaged to be a system of quantum circuits, acting on a state space, which is a finite-say 2/sup n/-dimensional-complex Hilbert space. The circuitry is a sequence of unitary transforms U/sub t/ /spl epsiv/ SU(2/sup n/) followed by a measurement. These transforms, so-called quantum gates, are controlled by a classical computer, usually especially electromagnetic fields. The state space of a quantum computer has the structure of a Hermitian vector space. Thus it allows "simultaneous" superposition of orthogonal basis states (corresponding to classical states) with the possibility of constructive and destructive interference between different paths of computation. This principle allows the usage of so-called entangled states by preparing the superposition of special "bent" configurations of basis vectors in the product Hilbert space, e.g., as they are known from error control and cryptography. This latter "entanglement" not only promises to make a quantum computer much more powerful than a probabilistic one, but it also allows a method of parallelism. The reason for this lies not only in the fact that the 2/sup n/ dimensional Hilbert space is the n-fold tensor product of 2-dimensional spaces as it is given by spin-1/2-particles, like photons, representing a quantum bit. First of all, we shall address the fact that the power of quantum computing lies in the properties of entangled states as opposed to those of separable states which essentially would resemble classical circuits without giving the feature of exponential speed-up. We shall briefly describe possible physical realisations of quantum (optic, electronic, magnetic,...) devices allowing the engineering of Hamiltonians needed for quantum systems. Basic quantum gates, especially the quantum Horner-Toffoli gate will be discussed to display the principles and methodology for designing quantum circuits. An outlook towards the possible availability of nano- and mesoscopic technologies supporting this new architecture in future generations concludes based on a speculative worst/best case forecast of possible applications, e.g., in public key and conventional cryptography.