This article's tone or style may not reflect the encyclopedic tone used on Wikipedia. (November 2019) (Learn how and when to remove this template message)
Quantum computing is the use of quantum phenomena such as superposition and entanglement to perform computation. Computers that perform quantum computations are known as quantum computers.:I-5 Quantum computers are believed to be able to solve certain computational problems, such as integer factorization (which underlies RSA encryption), substantially faster than classical computers. The study of quantum computing is a subfield of quantum information science.
Quantum computing began in the early 1980s, when physicist Paul Benioff proposed a quantum mechanical model of the Turing machine. Richard Feynman and Yuri Manin later suggested that a quantum computer had the potential to simulate things that a classical computer could not. In 1994, Peter Shor developed a quantum algorithm for factoring integers that had the potential to decrypt RSA-encrypted communications. Despite ongoing experimental progress since the late 1990s, most researchers believe that "fault-tolerant quantum computing [is] still a rather distant dream." In recent years, investment into quantum computing research has increased in both the public and private sector. On 23 October 2019, Google AI, in partnership with the U.S. National Aeronautics and Space Administration (NASA), claimed to have performed a quantum computation that is infeasible on any classical computer.
There are several models of quantum computers (or rather, quantum computing systems), including the quantum circuit model, quantum Turing machine, adiabatic quantum computer, one-way quantum computer, and various quantum cellular automata. The most widely used model is the quantum circuit. Quantum circuits are based on the quantum bit, or "qubit", which is somewhat analogous to the bit in classical computation. Qubits can be in a 1 or 0 quantum state, or they can be in a superposition of the 1 and 0 states. However, when qubits are measured the result of the measurement is always either a 0 or a 1; the probabilities of these two outcomes depend on the quantum state that the qubits were in immediately prior to the measurement.
Progress towards building a physical quantum computer focuses on technologies such as transmons, ion traps and topological quantum computers, which aim to create high-quality qubits.:2–13 These qubits may be designed differently, depending on the full quantum computer's computing model, whether quantum logic gates, quantum annealing, or adiabatic quantum computation. There are currently a number of significant obstacles in the way of constructing useful quantum computers. In particular, it is difficult to maintain the quantum states of qubits as they suffer from quantum decoherence and state fidelity. Quantum computers therefore require error correction.
Any computational problem that can be solved by a classical computer can also be solved by a quantum computer. Conversely, any problem that can be solved by a quantum computer can also be solved by a classical computer, at least in principle given enough time. In other words, quantum computers obey the Church–Turing thesis. While this means that quantum computers provide no additional advantages over classical computers in terms of computability, quantum algorithms for certain problems have significantly lower time complexities than corresponding known classical algorithms. Notably, quantum computers are believed to be able to quickly solve certain problems that no classical computer could solve in any feasible amount of time—a feat known as "quantum supremacy." The study of the computational complexity of problems with respect to quantum computers is known as quantum complexity theory.
The prevailing model of quantum computation describes the computation in terms of a network of quantum logic gates. This model can be thought of as an abstract linear-algebraic generalization of a classical circuit. Since this circuit model obeys quantum mechanics, a quantum computer capable of efficiently running these circuits is believed to be physically realizable.
A memory consisting of bits of information has possible states. A vector representing all memory states thus has entries (one for each state). This vector is viewed as a probability vector and represents the fact that the memory is to be found in a particular state.
In the classical view, one entry would have a value of 1 (i.e. a 100% probability of being in this state) and all other entries would be zero. In quantum mechanics, probability vectors are generalized to density operators. This is the technically rigorous mathematical foundation for quantum logic gates, but the intermediate quantum state vector formalism is usually introduced first because it is conceptually simpler. This article focuses on the quantum state vector formalism for simplicity.
We begin by considering a simple memory consisting of only one bit. This memory may be found in one of two states: the zero state or the one state. We may represent the state of this memory using Dirac notation so that
The state of this one-qubit quantum memory can be manipulated by applying quantum logic gates, analogous to how classical memory can be manipulated with classical logic gates. One important gate for both classical and quantum computation is the NOT gate, which can be represented by a matrix
The mathematics of single qubit gates can be extended to operate on multiqubit quantum memories in two important ways. One way is simply to select a qubit and apply that gate to the target qubit whilst leaving the remainder of the memory unaffected. Another way is to apply the gate to its target only if another part of the memory is in a desired state. These two choices can be illustrated using another example. The possible states of a two-qubit quantum memory are
In summary, a quantum computation can be described as a network of quantum logic gates and measurements. However, any measurement can be deferred to the end of a quantum computation, though this deferment may come at a computational cost, so most quantum circuits depict a network consisting only of quantum logic gates and no measurements.
Any quantum computation (which is, in the above formalism, any unitary matrix over qubits) can be represented as a network of quantum logic gates from a fairly small family of gates. A choice of gate family that enables this construction is known as a universal gate set, since a computer that can run such circuits is a universal quantum computer. One common such set includes all single-qubit gates as well as the CNOT gate from above. This means any quantum computation can be performed by executing a sequence of single-qubit gates together with CNOT gates. Though this gate set is infinite, it can be replaced with a finite gate set by appealing to the Solovay-Kitaev theorem.
Progress in finding quantum algorithms typically focuses on this quantum circuit model, though exceptions like the quantum adiabatic algorithm exist. Quantum algorithms can be roughly categorized by the type of speedup achieved over corresponding classical algorithms.
Quantum algorithms that offer more than a polynomial speedup over the best known classical algorithm include Shor's algorithm for factoring and the related quantum algorithms for computing discrete logarithms, solving Pell's equation, and more generally solving the hidden subgroup problem for abelian finite groups. These algorithms depend on the primitive of the quantum Fourier transform. No mathematical proof has been found that shows that an equally fast classical algorithm cannot be discovered, although this is considered unlikely. Certain oracle problems like Simon's problem and the Bernstein–Vazirani problem do give provable speedups, though this is in the quantum query model, which is a restricted model where lower bounds are much easier to prove, and doesn't necessarily translate to speedups for practical problems.
Other problems, including the simulation of quantum physical processes from chemistry and solid state physics, the approximation of certain Jones polynomials, and the quantum algorithm for linear systems of equations have quantum algorithms appearing to give super-polynomial speedups and are BQP-complete. Because these problems are BQP-complete, an equally fast classical algorithm for them would imply that no quantum algorithm gives a super-polynomial speedup, which is believed to be unlikely.
Some quantum algorithms, like Grover's algorithm and amplitude amplification, give polynomial speedups over corresponding classical algorithms. Though these algorithms give comparably modest quadratic speedup, they are widely applicable and thus give speedups for a wide range of problems. Many examples of provable quantum speedups for query problems are related to Grover's algorithm, including Brassard, Høyer, and Tapp's algorithm for finding collisions in two-to-one functions, which uses Grover's algorithm, and Farhi, Goldstone, and Gutmann's algorithm for evaluating NAND trees, which is a variant of the search problem.
A notable application of quantum computation is for attacks on cryptographic systems that are currently in use. Integer factorization, which underpins the security of public key cryptographic systems, is believed to be computationally infeasible with an ordinary computer for large integers if they are the product of few prime numbers (e.g., products of two 300-digit primes). By comparison, a quantum computer could efficiently solve this problem using Shor's algorithm to find its factors. This ability would allow a quantum computer to break many of the cryptographic systems in use today, in the sense that there would be a polynomial time (in the number of digits of the integer) algorithm for solving the problem. In particular, most of the popular public key ciphers are based on the difficulty of factoring integers or the discrete logarithm problem, both of which can be solved by Shor's algorithm. In particular, the RSA, Diffie–Hellman, and elliptic curve Diffie–Hellman algorithms could be broken. These are used to protect secure Web pages, encrypted email, and many other types of data. Breaking these would have significant ramifications for electronic privacy and security.
Identifying cryptographic systems that may be secure against quantum algorithms is an actively researched topic under the field of post-quantum cryptography.  Some public-key algorithms are based on problems other than the integer factorization and discrete logarithm problems to which Shor's algorithm applies, like the McEliece cryptosystem based on a problem in coding theory. Lattice-based cryptosystems are also not known to be broken by quantum computers, and finding a polynomial time algorithm for solving the dihedral hidden subgroup problem, which would break many lattice based cryptosystems, is a well-studied open problem. It has been proven that applying Grover's algorithm to break a symmetric (secret key) algorithm by brute force requires time equal to roughly 2n/2 invocations of the underlying cryptographic algorithm, compared with roughly 2n in the classical case, meaning that symmetric key lengths are effectively halved: AES-256 would have the same security against an attack using Grover's algorithm that AES-128 has against classical brute-force search (see Key size).
Quantum cryptography could potentially fulfill some of the functions of public key cryptography. Quantum-based cryptographic systems could, therefore, be more secure than traditional systems against quantum hacking.
The most well-known example of a problem admitting a polynomial quantum speedup is unstructured search, finding a marked item out of a list of items in a database. This can be solved by Grover's algorithm using queries to the database, quadratically fewer than the queries required for classical algorithms. In this case, the advantage is not only provable but also optimal: it has been shown that Grover's algorithm gives the maximal possible probability of finding the desired element for any number of oracle lookups.
- There is no searchable structure in the collection of possible answers,
- The number of possible answers to check is the same as the number of inputs to the algorithm, and
- There exists a boolean function which evaluates each input and determines whether it is the correct answer
For problems with all these properties, the running time of Grover's algorithm on a quantum computer will scale as the square root of the number of inputs (or elements in the database), as opposed to the linear scaling of classical algorithms. A general class of problems to which Grover's algorithm can be applied is Boolean satisfiability problem. In this instance, the database through which the algorithm is iterating is that of all possible answers. An example (and possible) application of this is a password cracker that attempts to guess the password or secret key for an encrypted file or system. Symmetric ciphers such as Triple DES and AES are particularly vulnerable to this kind of attack. This application of quantum computing is a major interest of government agencies.
Simulation of quantum systemsEdit
Since chemistry and nanotechnology rely on understanding quantum systems, and such systems are impossible to simulate in an efficient manner classically, many believe quantum simulation will be one of the most important applications of quantum computing. Quantum simulation could also be used to simulate the behavior of atoms and particles at unusual conditions such as the reactions inside a collider. Quantum simulations might be used to predict future paths of particles and protons under superposition in the double-slit experiment. About 2% of the annual global energy output is used for Nitrogen fixation to produce ammonia for the Haber process in the agricultural fertilizer industry while naturally occurring organisms also produce ammonia. Quantum simulations might be used to understand this process increasing production.
Quantum annealing and adiabatic optimizationEdit
Quantum annealing or Adiabatic quantum computation relies on the adiabatic theorem to undertake calculations. A system is placed in the ground state for a simple Hamiltonian, which is slowly evolved to a more complicated Hamiltonian whose ground state represents the solution to the problem in question. The adiabatic theorem states that if the evolution is slow enough the system will stay in its ground state at all times through the process.
Since quantum computers can produce outputs that classical computers cannot produce efficiently, and since quantum computation is fundamentally linear algebraic, some express hope in developing quantum algorithms that can speed up machine learning tasks. For example, the quantum algorithm for linear systems of equations, or "HHL Algorithm", named after its discoverers Harrow, Hassidim, and Lloyd, is believed to provide speedup over classical counterparts. Some research groups have recently explored the use of quantum annealing hardware for training Boltzmann machines and deep neural networks.
John Preskill has introduced the term quantum supremacy to refer to the hypothetical speedup advantage that a quantum computer would have over a classical computer in a certain field. Google announced in 2017 that it expected to achieve quantum supremacy by the end of the year though that did not happen. IBM said in 2018 that the best classical computers will be beaten on some practical task within about five years and views the quantum supremacy test only as a potential future benchmark. Although skeptics like Gil Kalai doubt that quantum supremacy will ever be achieved, in October 2019, a Sycamore processor created in conjunction with Google AI Quantum was reported to have achieved quantum supremacy, with calculations more than 3,000,000 times as fast as those of Summit, generally considered the world's fastest computer. Bill Unruh doubted the practicality of quantum computers in a paper published back in 1994. Paul Davies argued that a 400-qubit computer would even come into conflict with the cosmological information bound implied by the holographic principle.
- Scalable physically to increase the number of qubits
- Qubits that can be initialized to arbitrary values
- Quantum gates that are faster than decoherence time
- Universal gate set
- Qubits that can be read easily
Sourcing parts for quantum computers is also very difficult. Many quantum computers, like those constructed by Google and IBM, need Helium-3, a nuclear research byproduct, and special superconducting cables that are only made by the Japanese company Coax Co.
The control of multi qubit systems requires the generation and coordination of a large number of electrical signals with tight and deterministic timing resolution. This has led to the development of quantum controllers which enable interfacing with the qubits. Scaling these systems to support a growing number of qubits is an additional challenge in the scaling of quantum computers.
One of the greatest challenges involved with constructing quantum computers is controlling or removing quantum decoherence. This usually means isolating the system from its environment as interactions with the external world cause the system to decohere. However, other sources of decoherence also exist. Examples include the quantum gates, and the lattice vibrations and background thermonuclear spin of the physical system used to implement the qubits. Decoherence is irreversible, as it is effectively non-unitary, and is usually something that should be highly controlled, if not avoided. Decoherence times for candidate systems in particular, the transverse relaxation time T2 (for NMR and MRI technology, also called the dephasing time), typically range between nanoseconds and seconds at low temperature. Currently, some quantum computers require their qubits to be cooled to 20 millikelvins in order to prevent significant decoherence. A 2020 study argues that ionizing radiation such as cosmic rays can nevertheless cause certain systems to decohere within milliseconds.
As a result, time-consuming tasks may render some quantum algorithms inoperable, as maintaining the state of qubits for a long enough duration will eventually corrupt the superpositions.
These issues are more difficult for optical approaches as the timescales are orders of magnitude shorter and an often-cited approach to overcoming them is optical pulse shaping. Error rates are typically proportional to the ratio of operating time to decoherence time, hence any operation must be completed much more quickly than the decoherence time.
As described in the Quantum threshold theorem, if the error rate is small enough, it is thought to be possible to use quantum error correction to suppress errors and decoherence. This allows the total calculation time to be longer than the decoherence time if the error correction scheme can correct errors faster than decoherence introduces them. An often cited figure for the required error rate in each gate for fault-tolerant computation is 10−3, assuming the noise is depolarizing.
Meeting this scalability condition is possible for a wide range of systems. However, the use of error correction brings with it the cost of a greatly increased number of required qubits. The number required to factor integers using Shor's algorithm is still polynomial, and thought to be between L and L2, where L is the number of digits in the number to be factored; error correction algorithms would inflate this figure by an additional factor of L. For a 1000-bit number, this implies a need for about 104 bits without error correction. With error correction, the figure would rise to about 107 bits. Computation time is about L2 or about 107 steps and at 1 MHz, about 10 seconds.
A very different approach to the stability-decoherence problem is to create a topological quantum computer with anyons, quasi-particles used as threads and relying on braid theory to form stable logic gates.
Physicist Mikhail Dyakonov has expressed skepticism of quantum computing as follows:
- "So the number of continuous parameters describing the state of such a useful quantum computer at any given moment must be... about 10300... Could we ever learn to control the more than 10300 continuously variable parameters defining the quantum state of such a system? My answer is simple. No, never."
Quantum computing modelsEdit
There are a number of quantum computing models, distinguished by the basic elements in which the computation is decomposed. The four main models of practical importance are:
- Quantum gate array (computation decomposed into a sequence of few-qubit quantum gates)
- One-way quantum computer (computation decomposed into a sequence of one-qubit measurements applied to a highly entangled initial state or cluster state)
- Adiabatic quantum computer, based on quantum annealing (computation decomposed into a slow continuous transformation of an initial Hamiltonian into a final Hamiltonian, whose ground states contain the solution)
- Topological quantum computer (computation decomposed into the braiding of anyons in a 2D lattice)
The quantum Turing machine is theoretically important but the physical implementation of this model is not feasible. All four models of computation have been shown to be equivalent; each can simulate the other with no more than polynomial overhead.
For physically implementing a quantum computer, many different candidates are being pursued, among them (distinguished by the physical system used to realize the qubits):
- Superconducting quantum computing (qubit implemented by the state of small superconducting circuits (Josephson junctions)
- Trapped ion quantum computer (qubit implemented by the internal state of trapped ions)
- Neutral atoms in Optical lattices (qubit implemented by internal states of neutral atoms trapped in an optical lattice)
- Quantum dot computer, spin-based (e.g. the Loss-DiVincenzo quantum computer) (qubit given by the spin states of trapped electrons)
- Quantum dot computer, spatial-based (qubit given by electron position in double quantum dot)
- Quantum computing using engineered quantum wells, which could in principle enable the construction of quantum computers that operate at room temperature
- Coupled Quantum Wire (qubit implemented by a pair of Quantum Wires coupled by a Quantum Point Contact)
- Nuclear magnetic resonance quantum computer (NMRQC) implemented with the nuclear magnetic resonance of molecules in solution, where qubits are provided by nuclear spins within the dissolved molecule and probed with radio waves
- Solid-state NMR Kane quantum computers (qubit realized by the nuclear spin state of phosphorus donors in silicon)
- Electrons-on-helium quantum computers (qubit is the electron spin)
- Cavity quantum electrodynamics (CQED) (qubit provided by the internal state of trapped atoms coupled to high-finesse cavities)
- Molecular magnet (qubit given by spin states)
- Fullerene-based ESR quantum computer (qubit based on the electronic spin of atoms or molecules encased in fullerenes)
- Nonlinear optical quantum computer (qubits realized by processing states of different modes of light through both linear and nonlinear elements)
- Linear optical quantum computer (qubits realized by processing states of different modes of light through linear elements e.g. mirrors, beam splitters and phase shifters)
- Diamond-based quantum computer (qubit realized by the electronic or nuclear spin of nitrogen-vacancy centers in diamond)
- Bose-Einstein condensate-based quantum computer
- Transistor-based quantum computer – string quantum computers with entrainment of positive holes using an electrostatic trap
- Rare-earth-metal-ion-doped inorganic crystal based quantum computers (qubit realized by the internal electronic state of dopants in optical fibers)
- Metallic-like carbon nanospheres based quantum computers
A large number of candidates demonstrates that quantum computing, despite rapid progress, is still in its infancy.
Relation to computability and complexity theoryEdit
Any computational problem solvable by a classical computer is also solvable by a quantum computer. Intuitively, this is because it is believed that all physical phenomena, including the operation of classical computers, can be described using quantum mechanics, which underlies the operation of quantum computers.
Conversely, any problem solvable by a quantum computer is also solvable by a classical computer; or more formally, any quantum computer can be simulated by a Turing machine. In other words, quantum computers provide no additional power over classical computers in terms of computability. This means that quantum computers cannot solve undecidable problems like the halting problem and the existence of quantum computers does not disprove the Church–Turing thesis.
As of yet, quantum computers do not satisfy the strong Church thesis. While hypothetical machines have been realized, a universal quantum computer has yet to be physically constructed. The strong version of Church's thesis requires a physical computer, and therefore there is no quantum computer that yet satisfies the strong Church thesis.
Quantum complexity theoryEdit
While quantum computers cannot solve any problems that classical computers cannot already solve, it is suspected that they can solve many problems faster than classical computers. For instance, it is known that quantum computers can efficiently factor integers, while this is not believed to be the case for classical computers. However, the capacity of quantum computers to accelerate classical algorithms has rigid upper bounds, and the overwhelming majority of classical calculations cannot be accelerated by the use of quantum computers.
The class of problems that can be efficiently solved by a quantum computer with bounded error is called BQP, for "bounded error, quantum, polynomial time". More formally, BQP is the class of problems that can be solved by a polynomial-time quantum Turing machine with error probability of at most 1/3. As a class of probabilistic problems, BQP is the quantum counterpart to BPP ("bounded error, probabilistic, polynomial time"), the class of problems that can be solved by polynomial-time probabilistic Turing machines with bounded error. It is known that BPP BQP and is widely suspected that BQP BPP, which intuitively would mean that quantum computers are more powerful than classical computers in terms of time complexity.
The exact relationship of BQP to P, NP, and PSPACE is not known. However, it is known that P BQP PSPACE; that is, all problems that can be efficiently solved by a deterministic classical computer can also be efficiently solved by a quantum computer, and all problems that can be efficiently solved by a quantum computer can also be solved by a deterministic classical computer with polynomial space resources. It is further suspected that BQP is a strict superset of P, meaning there are problems that are efficiently solvable by quantum computers that are not efficiently solvable by deterministic classical computers. For instance, integer factorization and the discrete logarithm problem are known to be in BQP and are suspected to be outside of P. On the relationship of BQP to NP, little is known beyond the fact that some NP problems that are believed not to be in P are also in BQP (integer factorization and the discrete logarithm problem are both in NP, for example). It is suspected that NP BQP; that is, it is believed that there are efficiently checkable problems that are not efficiently solvable by a quantum computer. As a direct consequence of this belief, it is also suspected that BQP is disjoint from the class of NP-complete problems (if an NP-complete problem were in BQP, then it would follow from NP-hardness that all problems in NP are in BQP).
The relationship of BQP to the basic classical complexity classes can be summarized as follows:
It has been speculated that further advances in physics could lead to even faster computers. For instance, it has been shown that a non-local hidden variable quantum computer based on Bohmian Mechanics could implement a search of an -item database in at most steps, a slight speedup over Grover's algorithm, which runs in steps. Note, however, that neither search method would allow quantum computers to solve NP-complete problems in polynomial time. Theories of quantum gravity, such as M-theory and loop quantum gravity, may allow even faster computers to be built. However, defining computation in these theories is an open problem due to the problem of time; that is, within these physical theories there is currently no obvious way to describe what it means for an observer to submit input to a computer at one point in time and then receive output at a later point in time.
- Chemical computer
- D-Wave Systems
- DNA computing
- Electronic quantum holography
- Intelligence Advanced Research Projects Activity
- Kane quantum computer
- List of emerging technologies
- List of quantum processors
- Magic state distillation
- Natural computing
- Normal mode
- Photonic computing
- Post-quantum cryptography
- Quantum annealing
- Quantum artificial life
- Quantum bus
- Quantum cognition
- Quantum cryptography
- Quantum logic gate
- Quantum machine learning
- Quantum threshold theorem
- Quantum Volume
- Rigetti Computing
- Theoretical computer science
- Timeline of quantum computing
- Topological quantum computer
- The National Academies of Sciences, Engineering, and Medicine (2019). Grumbling, Emily; Horowitz, Mark (eds.). Quantum Computing : Progress and Prospects (2018). Washington, DC: National Academies Press. p. I-5. doi:10.17226/25196. ISBN 978-0-309-47969-1. OCLC 1081001288.CS1 maint: multiple names: authors list (link)
- Benioff, Paul (1980). "The computer as a physical system: A microscopic quantum mechanical Hamiltonian model of computers as represented by Turing machines". Journal of Statistical Physics. 22 (5): 563–591. Bibcode:1980JSP....22..563B. doi:10.1007/bf01011339. S2CID 122949592.
- Feynman, Richard (June 1982). "Simulating Physics with Computers" (PDF). International Journal of Theoretical Physics. 21 (6/7): 467–488. Bibcode:1982IJTP...21..467F. doi:10.1007/BF02650179. S2CID 124545445. Archived from the original (PDF) on 8 January 2019. Retrieved 28 February 2019.
- Manin, Yu. I. (1980). Vychislimoe i nevychislimoe [Computable and Noncomputable] (in Russian). Sov.Radio. pp. 13–15. Archived from the original on 2013-05-10. Retrieved 2013-03-04.
- Mermin, David (March 28, 2006). "Breaking RSA Encryption with a Quantum Computer: Shor's Factoring Algorithm" (PDF). Physics 481-681 Lecture Notes. Cornell University. Archived from the original (PDF) on 2012-11-15.
- John Preskill (2018). "Quantum Computing in the NISQ era and beyond". Quantum. 2: 79. arXiv:1801.00862. doi:10.22331/q-2018-08-06-79. S2CID 44098998.
- Gibney, Elizabeth (2 October 2019). "Quantum gold rush: the private funding pouring into quantum start-ups". Nature. 574 (7776): 22–24. Bibcode:2019Natur.574...22G. doi:10.1038/d41586-019-02935-4. PMID 31578480.
- Rodrigo, Chris Mills (12 February 2020). "Trump budget proposal boosts funding for artificial intelligence, quantum computing". The Hill.
- "On "Quantum Supremacy"". IBM Research Blog. 2019-10-22. Retrieved 2020-01-21.
- Franklin, Diana; Chong, Frederic T. (2004). "Challenges in Reliable Quantum Computing". Nano, Quantum and Molecular Computing. pp. 247–266. doi:10.1007/1-4020-8068-9_8. ISBN 1-4020-8067-0.
- Pakkin, Scott; Coles, Patrick (10 June 2019). "The Problem with Quantum Computers". Scientific American.
- Nielsen, p. 29
- Nielsen, Michael A.; Chuang, Isaac L. (2010). Quantum Computation and Quantum Information: 10th Anniversary Edition. Cambridge: Cambridge University Press. doi:10.1017/cbo9780511976667. ISBN 9780511976667.
- Quantum Algorithm Zoo Archived 2018-04-29 at the Wayback Machine – Stephen Jordan's Homepage
- Schiller, Jon (2009-06-19). Quantum Computers. ISBN 9781439243497.[self-published source?]
- Nielsen, p. 42
- Nielsen, p. 7
- Brassard, Gilles; Høyer, Peter; Tapp, Alain (2016), "Quantum Algorithm for the Collision Problem", in Kao, Ming-Yang (ed.), Encyclopedia of Algorithms, New York, NY: Springer, pp. 1662–1664, arXiv:quant-ph/9705002, doi:10.1007/978-1-4939-2864-4_304, ISBN 978-1-4939-2864-4, retrieved 2020-12-06
- Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2008-12-23). "A Quantum Algorithm for the Hamiltonian NAND Tree". Theory of Computing. 4 (1): 169–190. doi:10.4086/toc.2008.v004a008. ISSN 1557-2862. S2CID 8258191.
- Lenstra, Arjen K. (2000). "Integer Factoring" (PDF). Designs, Codes and Cryptography. 19 (2/3): 101–128. doi:10.1023/A:1008397921377. S2CID 9816153. Archived from the original (PDF) on 2015-04-10.
- Bernstein, Daniel J. (2009). "Introduction to post-quantum cryptography". Post-Quantum Cryptography. Nature. 549. pp. 1–14. doi:10.1007/978-3-540-88702-7_1. ISBN 978-3-540-88701-0. PMID 28905891.
- See also pqcrypto.org, a bibliography maintained by Daniel J. Bernstein and Tanja Lange on cryptography not known to be broken by quantum computing.
- McEliece, R. J. (January 1978). "A Public-Key Cryptosystem Based On Algebraic Coding Theory" (PDF). DSNPR. 44: 114–116. Bibcode:1978DSNPR..44..114M.
- Kobayashi, H.; Gall, F.L. (2006). "Dihedral Hidden Subgroup Problem: A Survey". Information and Media Technologies. 1 (1): 178–185. doi:10.2197/ipsjdc.1.470.
- Bennett, Charles H.; Bernstein, Ethan; Brassard, Gilles; Vazirani, Umesh (October 1997). "Strengths and Weaknesses of Quantum Computing". SIAM Journal on Computing. 26 (5): 1510–1523. arXiv:quant-ph/9701001. Bibcode:1997quant.ph..1001B. doi:10.1137/s0097539796300933. S2CID 13403194.
- Katwala, Amit (5 March 2020). "Quantum computers will change the world (if they work)". Wired UK.
- Ambainis, Ambainis (June 2004). "Quantum search algorithms". ACM SIGACT News. 35 (2): 22–35. arXiv:quant-ph/0504012. Bibcode:2005quant.ph..4012A. doi:10.1145/992287.992296. S2CID 11326499.
- Rich, Steven; Gellman, Barton (2014-02-01). "NSA seeks to build quantum computer that could crack most types of encryption". Washington Post.
- Norton, Quinn (2007-02-15). "The Father of Quantum Computing". Wired.
- Ambainis, Andris (Spring 2014). "What Can We Do with a Quantum Computer?". Institute for Advanced Study.
- Biamonte, Jacob; Wittek, Peter; Pancotti, Nicola; Rebentrost, Patrick; Wiebe, Nathan; Lloyd, Seth (September 2017). "Quantum machine learning". Nature. 549 (7671): 195–202. arXiv:1611.09347. doi:10.1038/nature23474. ISSN 0028-0836. PMID 28905917. S2CID 64536201.
- Preskill, John (2018-08-06). "Quantum Computing in the NISQ era and beyond". Quantum. 2: 79. doi:10.22331/q-2018-08-06-79. S2CID 44098998.
- Harrow, Aram; Hassidim, Avinatan; Lloyd, Seth (2009). "Quantum algorithm for solving linear systems of equations". Physical Review Letters. 103 (15): 150502. arXiv:0811.3171. Bibcode:2009PhRvL.103o0502H. doi:10.1103/PhysRevLett.103.150502. PMID 19905613. S2CID 5187993.
- Benedetti, Marcello; Realpe-Gómez, John; Biswas, Rupak; Perdomo-Ortiz, Alejandro (2016-08-09). "Estimation of effective temperatures in quantum annealers for sampling applications: A case study with possible applications in deep learning". Physical Review A. 94 (2): 022308. doi:10.1103/PhysRevA.94.022308.
- Ajagekar, Akshay; You, Fengqi (2020-12-05). "Quantum computing assisted deep learning for fault detection and diagnosis in industrial process systems". Computers & Chemical Engineering. 143: 107119. arXiv:2003.00264. doi:10.1016/j.compchemeng.2020.107119. ISSN 0098-1354.
- Boixo, Sergio; Isakov, Sergei V.; Smelyanskiy, Vadim N.; Babbush, Ryan; Ding, Nan; Jiang, Zhang; Bremner, Michael J.; Martinis, John M.; Neven, Hartmut (2018). "Characterizing Quantum Supremacy in Near-Term Devices". Nature Physics. 14 (6): 595–600. arXiv:1608.00263. Bibcode:2018NatPh..14..595B. doi:10.1038/s41567-018-0124-x. S2CID 4167494.
- Savage, Neil. "Quantum Computers Compete for "Supremacy"".
- "Quantum Supremacy and Complexity". 23 April 2016.
- Kalai, Gil. "The Quantum Computer Puzzle" (PDF). AMS.
- Arute, Frank; Arya, Kunal; Babbush, Ryan; Bacon, Dave; Bardin, Joseph C.; Barends, Rami; Biswas, Rupak; Boixo, Sergio; Brandao, Fernando G. S. L.; Buell, David A.; Burkett, Brian; Chen, Yu; Chen, Zijun; Chiaro, Ben; Collins, Roberto; Courtney, William; Dunsworsth, Andrew; Farhi, Edward; Foxen, Brooks; Fowler, Austin; Gidney, Craig; Giustina, Marissa; Graff, Rob; Guerin, Keith; Habegger, Steve; Harrigan, Matthew P.; Hartmann, Michael J.; Ho, Alan; Hoffman, Markus; Huang, Trent; Humble, Travis S.; Isakov, Sergei V.; Jeffery, Evan; Jiang, Zhang; Kafri, Dvir; Kechedzhi, Kostyantyn; Kelly, Julian; Klimov, Paul V.; Knysh, Sergey; Korotov, Alexander; Kostritsa, Fedor; Landhuis, David; Lindmark, Mike; Lucero, Erik; Lyakh, Dmitry; Mandrà, Salvatore; McClean, Jarrod R.; McEwen, Matthew; Megrant, Anthony; Mi, Xiao; Michielsen, Kristel; Mohseni, Masoud; Mutus, Josh; Naaman, Ofer; Neeley, Matthew; Neill, Charles; Niu, Murphy Yuezhen; Ostby, Eric; Petukhov, Andre; Platt, John C.; Quintana, Chris; Rieffel, Eleanor G.; Roushan, Pedram; Rubin, Nicholas C.; Sank, Daniel; Satzinger, Kevin J.; Smelyanskiy, Vadim; Sung, Kevin J.; Trevithick, Matthew D.; Vainsencher, Amit; Villalonga, Benjamin; White, Theodore; Yao, Z. Jamie; Yeh, Ping; Zalcman, Adam; Neven, Hartmut; Martinis, John M. (23 October 2019). "Quantum supremacy using a programmable superconducting processor". Nature. 574 (7779): 505–510. arXiv:1910.11333. Bibcode:2019Natur.574..505A. doi:10.1038/s41586-019-1666-5. PMID 31645734. S2CID 204836822.
- "Google researchers have reportedly achieved "quantum supremacy"". MIT Technology Review.
- Unruh, Bill (1995). "Maintaining coherence in Quantum Computers". Physical Review A. 51 (2): 992–997. arXiv:hep-th/9406058. Bibcode:1995PhRvA..51..992U. doi:10.1103/PhysRevA.51.992. PMID 9911677. S2CID 13980886.
- Davies, Paul. "The implications of a holographic universe for quantum information science and the nature of physical law" (PDF). Macquarie University.
- Dyakonov, Mikhail (2018-11-15). "The Case Against Quantum Computing". IEEE Spectrum.
- DiVincenzo, David P. (2000-04-13). "The Physical Implementation of Quantum Computation". Fortschritte der Physik. 48 (9–11): 771–783. arXiv:quant-ph/0002077. Bibcode:2000ForPh..48..771D. doi:10.1002/1521-3978(200009)48:9/11<771::AID-PROP771>3.0.CO;2-E.
- Giles, Martin (17 January 2019). "We'd have more quantum computers if it weren't so hard to find the damn cables". MIT Technology Review.
- DiVincenzo, David P. (1995). "Quantum Computation". Science. 270 (5234): 255–261. Bibcode:1995Sci...270..255D. CiteSeerX 10.1.1.242.2165. doi:10.1126/science.270.5234.255. S2CID 220110562. (subscription required)
- Jones, Nicola (19 June 2013). "Computing: The quantum company". Nature. 498 (7454): 286–288. Bibcode:2013Natur.498..286J. doi:10.1038/498286a. PMID 23783610.
- Vepsäläinen, Antti P.; Karamlou, Amir H.; Orrell, John L.; Dogra, Akshunna S.; Loer, Ben; et al. (August 2020). "Impact of ionizing radiation on superconducting qubit coherence". Nature. 584 (7822): 551–556. arXiv:2001.09190. Bibcode:2020Natur.584..551V. doi:10.1038/s41586-020-2619-8. ISSN 1476-4687. PMID 32848227. S2CID 210920566.
- Amy, Matthew; Matteo, Olivia; Gheorghiu, Vlad; Mosca, Michele; Parent, Alex; Schanck, John (November 30, 2016). "Estimating the cost of generic quantum pre-image attacks on SHA-2 and SHA-3". arXiv:1603.09383 [quant-ph].
- Dyakonov, M. I. (2006-10-14). S. Luryi; J. Xu; A. Zaslavsky (eds.). "Is Fault-Tolerant Quantum Computation Really Possible?". Future Trends in Microelectronics. Up the Nano Creek: 4–18. arXiv:quant-ph/0610117. Bibcode:2006quant.ph.10117D.
- Freedman, Michael H.; Kitaev, Alexei; Larsen, Michael J.; Wang, Zhenghan (2003). "Topological quantum computation". Bulletin of the American Mathematical Society. 40 (1): 31–38. arXiv:quant-ph/0101025. doi:10.1090/S0273-0979-02-00964-3. MR 1943131.
- Monroe, Don (2008-10-01). "Anyons: The breakthrough quantum computing needs?". New Scientist.
- Dyakonov, Mikhail. "The Case Against Quantum Computing". IEEE Spectrum. Retrieved 3 December 2019.
- Dyakonov, Mikhail (24 March 2020). Will We Ever Have a Quantum Computer?. Springer. ISBN 9783030420185. Retrieved 22 May 2020.[page needed]
- Das, A.; Chakrabarti, B. K. (2008). "Quantum Annealing and Analog Quantum Computation". Rev. Mod. Phys. 80 (3): 1061–1081. arXiv:0801.2193. Bibcode:2008RvMP...80.1061D. CiteSeerX 10.1.1.563.9990. doi:10.1103/RevModPhys.80.1061. S2CID 14255125.
- Nayak, Chetan; Simon, Steven; Stern, Ady; Das Sarma, Sankar (2008). "Nonabelian Anyons and Quantum Computation". Reviews of Modern Physics. 80 (3): 1083–1159. arXiv:0707.1889. Bibcode:2008RvMP...80.1083N. doi:10.1103/RevModPhys.80.1083. S2CID 119628297.
- Clarke, John; Wilhelm, Frank K. (18 June 2008). "Superconducting quantum bits". Nature. 453 (7198): 1031–1042. Bibcode:2008Natur.453.1031C. doi:10.1038/nature07128. PMID 18563154. S2CID 125213662.
- Kaminsky, William M.; Lloyd, Seth; Orlando, Terry P. (12 March 2004). "Scalable Superconducting Architecture for Adiabatic Quantum Computation". arXiv:quant-ph/0403090. Bibcode:2004quant.ph..3090K. Cite journal requires
- Khazali, Mohammadsadegh; Mølmer, Klaus (2020-06-11). "Fast Multiqubit Gates by Adiabatic Evolution in Interacting Excited-State Manifolds of Rydberg Atoms and Superconducting Circuits". Physical Review X. 10 (2): 021054. Bibcode:2020PhRvX..10b1054K. doi:10.1103/PhysRevX.10.021054.
- Henriet, Loic; Beguin, Lucas; Signoles, Adrien; Lahaye, Thierry; Browaeys, Antoine; Reymond, Georges-Olivier; Jurczak, Christophe (2020-06-22). "Quantum computing with neutral atoms". Quantum. 4: 327. arXiv:2006.12326. doi:10.22331/q-2020-09-21-327. S2CID 219966169.
- Imamog¯lu, A.; Awschalom, D. D.; Burkard, G.; DiVincenzo, D. P.; Loss, D.; Sherwin, M.; Small, A. (15 November 1999). "Quantum Information Processing Using Quantum Dot Spins and Cavity QED". Physical Review Letters. 83 (20): 4204–4207. arXiv:quant-ph/9904096. Bibcode:1999PhRvL..83.4204I. doi:10.1103/PhysRevLett.83.4204. S2CID 18324734.
- Fedichkin, L.; Yanchenko, M.; Valiev, K. A. (June 2000). "Novel coherent quantum bit using spatial quantization levels in semiconductor quantum dot". Quantum Computers and Computing. 1: 58. arXiv:quant-ph/0006097. Bibcode:2000quant.ph..6097F.
- Ivády, Viktor; Davidsson, Joel; Delegan, Nazar; Falk, Abram L.; Klimov, Paul V.; Whiteley, Samuel J.; Hruszkewycz, Stephan O.; Holt, Martin V.; Heremans, F. Joseph; Son, Nguyen Tien; Awschalom, David D.; Abrikosov, Igor A.; Gali, Adam (6 December 2019). "Stabilization of point-defect spin qubits by quantum wells". Nature Communications. 10 (1): 5607. arXiv:1905.11801. Bibcode:2019NatCo..10.5607I. doi:10.1038/s41467-019-13495-6. PMC 6898666. PMID 31811137.
- "Scientists Discover New Way to Get Quantum Computing to Work at Room Temperature". interestingengineering.com. 24 April 2020.
- Bertoni, A.; Bordone, P.; Brunetti, R.; Jacoboni, C.; Reggiani, S. (19 June 2000). "Quantum Logic Gates based on Coherent Electron Transport in Quantum Wires". Physical Review Letters. 84 (25): 5912–5915. Bibcode:2000PhRvL..84.5912B. doi:10.1103/PhysRevLett.84.5912. hdl:11380/303796. PMID 10991086.
- Ionicioiu, Radu; Amaratunga, Gehan; Udrea, Florin (20 January 2001). "Quantum Computation with Ballistic Electrons". International Journal of Modern Physics B. 15 (2): 125–133. arXiv:quant-ph/0011051. Bibcode:2001IJMPB..15..125I. CiteSeerX 10.1.1.251.9617. doi:10.1142/S0217979201003521. S2CID 119389613.
- Ramamoorthy, A; Bird, J P; Reno, J L (11 July 2007). "Using split-gate structures to explore the implementation of a coupled-electron-waveguide qubit scheme". Journal of Physics: Condensed Matter. 19 (27): 276205. Bibcode:2007JPCM...19A6205R. doi:10.1088/0953-8984/19/27/276205.
- Leuenberger, Michael N.; Loss, Daniel (April 2001). "Quantum computing in molecular magnets". Nature. 410 (6830): 789–793. arXiv:cond-mat/0011415. Bibcode:2001Natur.410..789L. doi:10.1038/35071024. PMID 11298441. S2CID 4373008.
- Harneit, Wolfgang (27 February 2002). "Fullerene-based electron-spin quantum computer". Physical Review A. 65 (3): 032322. Bibcode:2002PhRvA..65c2322H. doi:10.1103/PhysRevA.65.032322.https://www.researchgate.net/publication/257976907_Fullerene-based_electron-spin_quantum_computer
- K. Igeta and Y. Yamamoto. "Quantum mechanical computers with single atom and photon fields." International Quantum Electronics Conference (1988) https://www.osapublishing.org/abstract.cfm?uri=IQEC-1988-TuI4
- I.L. Chuang and Y. Yamamoto. "Simple quantum computer." Physical Review A 52, 5, 3489 (1995) https://doi.org/10.1103/PhysRevA.52.3489
- Knill, G. J.; Laflamme, R.; Milburn, G. J. (2001). "A scheme for efficient quantum computation with linear optics". Nature. 409 (6816): 46–52. Bibcode:2001Natur.409...46K. doi:10.1038/35051009. PMID 11343107. S2CID 4362012.
- Nizovtsev, A. P. (August 2005). "A quantum computer based on NV centers in diamond: Optically detected nutations of single electron and nuclear spins". Optics and Spectroscopy. 99 (2): 248–260. Bibcode:2005OptSp..99..233N. doi:10.1134/1.2034610. S2CID 122596827.
- Dutt, M. V. G.; Childress, L.; Jiang, L.; Togan, E.; Maze, J.; Jelezko, F.; Zibrov, A. S.; Hemmer, P. R.; Lukin, M. D. (1 June 2007). "Quantum Register Based on Individual Electronic and Nuclear Spin Qubits in Diamond". Science. 316 (5829): 1312–1316. Bibcode:2007Sci...316.....D. doi:10.1126/science.1139831. PMID 17540898. S2CID 20697722. Lay summary.
- Neumann, P.; et al. (June 6, 2008). "Multipartite Entanglement Among Single Spins in Diamond". Science. 320 (5881): 1326–1329. Bibcode:2008Sci...320.1326N. doi:10.1126/science.1157233. PMID 18535240. S2CID 8892596.
- Anderlini, Marco; Lee, Patricia J.; Brown, Benjamin L.; Sebby-Strabley, Jennifer; Phillips, William D.; Porto, J. V. (July 2007). "Controlled exchange interaction between pairs of neutral atoms in an optical lattice". Nature. 448 (7152): 452–456. arXiv:0708.2073. Bibcode:2007Natur.448..452A. doi:10.1038/nature06011. PMID 17653187. S2CID 4410355. Lay summary.
- Ohlsson, N.; Mohan, R. K.; Kröll, S. (January 1, 2002). "Quantum computer hardware based on rare-earth-ion-doped inorganic crystals". Opt. Commun. 201 (1–3): 71–77. Bibcode:2002OptCo.201...71O. doi:10.1016/S0030-4018(01)01666-2.
- Longdell, J. J.; Sellars, M. J.; Manson, N. B. (September 23, 2004). "Demonstration of conditional quantum phase shift between ions in a solid". Phys. Rev. Lett. 93 (13): 130503. arXiv:quant-ph/0404083. Bibcode:2004PhRvL..93m0503L. doi:10.1103/PhysRevLett.93.130503. PMID 15524694. S2CID 41374015.
- Náfrádi, Bálint; Choucair, Mohammad; Dinse, Klaus-Peter; Forró, László (18 July 2016). "Room temperature manipulation of long lifetime spins in metallic-like carbon nanospheres". Nature Communications. 7 (1): 12232. arXiv:1611.07690. Bibcode:2016NatCo...712232N. doi:10.1038/ncomms12232. PMC 4960311. PMID 27426851.
- Nielsen, p. 29
- Nielsen, p. 126
- Ozhigov, Yuri (1999). "Quantum Computers Speed Up Classical with Probability Zero". Chaos, Solitons & Fractals. 10 (10): 1707–1714. arXiv:quant-ph/9803064. Bibcode:1998quant.ph..3064O. doi:10.1016/S0960-0779(98)00226-4.
- Nielsen, p. 41
- Nielsen, p. 201
- Nielsen, p. 42
- Bernstein, Ethan; Vazirani, Umesh (1997). "Quantum Complexity Theory". SIAM Journal on Computing. 26 (5): 1411–1473. CiteSeerX 10.1.1.144.7852. doi:10.1137/S0097539796300921.
- Aaronson, Scott. "Quantum Computing and Hidden Variables" (PDF).
- Scott Aaronson (2005). "NP-complete Problems and Physical Reality". ACM SIGACT News. 2005. arXiv:quant-ph/0502072. Bibcode:2005quant.ph..2072A. See section 7 "Quantum Gravity": "[…] to anyone who wants a test or benchmark for a favorite quantum gravity theory,[author's footnote: That is, one without all the bother of making numerical predictions and comparing them to observation] let me humbly propose the following: can you define Quantum Gravity Polynomial-Time? […] until we can say what it means for a 'user' to specify an 'input' and ‘later' receive an 'output'—there is no such thing as computation, not even theoretically." (emphasis in original)
- "D-Wave Systems sells its first Quantum Computing System to Lockheed Martin Corporation". D-Wave. 2011-05-25. Retrieved 2011-05-30.
- Nielsen, Michael; Chuang, Isaac (2000). Quantum Computation and Quantum Information. Cambridge: Cambridge University Press. ISBN 978-0-521-63503-5. OCLC 174527496.
- Mermin, N. David (2007). Quantum Computer Science: An Introduction. Cambridge University Press. ISBN 978-0-521-87658-2.
- Akama, Seiki (2014). Elements of Quantum Computing: History, Theories and Engineering Applications. Springer International Publishing. ISBN 978-3-319-08284-4.
- Benenti, Giuliano (2004). Principles of Quantum Computation and Information Volume 1. New Jersey: World Scientific. ISBN 978-981-238-830-8. OCLC 179950736.
- Stolze, Joachim; Suter, Dieter (2004). Quantum Computing. Wiley-VCH. ISBN 978-3-527-40438-4.
- Wichert, Andreas (2014). Principles of Quantum Artificial Intelligence. World Scientific Publishing Co. ISBN 978-981-4566-74-2.
- Hiroshi, Imai; Masahito, Hayashi (2006). Quantum Computation and Information. Berlin: Springer. ISBN 978-3-540-33132-2.
- Jaeger, Gregg (2006). Quantum Information: An Overview. Berlin: Springer. ISBN 978-0-387-35725-6. OCLC 255569451.
- Abbot, Derek; Doering, Charles R.; Caves, Carlton M.; Lidar, Daniel M.; Brandt, Howard E.; Hamilton, Alexander R.; Ferry, David K.; Gea-Banacloche, Julio; Bezrukov, Sergey M.; Kish, Laszlo B. (2003). "Dreams versus Reality: Plenary Debate Session on Quantum Computing". Quantum Information Processing. 2 (6): 449–472. arXiv:quant-ph/0310130. doi:10.1023/B:QINP.0000042203.24782.9a. hdl:2027.42/45526. S2CID 34885835.
- DiVincenzo, David P. (2000). "The Physical Implementation of Quantum Computation". Fortschritte der Physik. 48 (9–11): 771–783. arXiv:quant-ph/0002077. Bibcode:2000ForPh..48..771D. doi:10.1002/1521-3978(200009)48:9/11<771::AID-PROP771>3.0.CO;2-E.
- Berthiaume, Andre (1997). "Quantum Computation".
- DiVincenzo, David P. (1995). "Quantum Computation". Science. 270 (5234): 255–261. Bibcode:1995Sci...270..255D. CiteSeerX 10.1.1.242.2165. doi:10.1126/science.270.5234.255. S2CID 220110562. Table 1 lists switching and dephasing times for various systems.
- Feynman, Richard (1982). "Simulating physics with computers". International Journal of Theoretical Physics. 21 (6–7): 467–488. Bibcode:1982IJTP...21..467F. CiteSeerX 10.1.1.45.9310. doi:10.1007/BF02650179. S2CID 124545445.
- Mitchell, Ian (1998). "Computing Power into the 21st Century: Moore's Law and Beyond".
- Simon, Daniel R. (1994). "On the Power of Quantum Computation". Institute of Electrical and Electronic Engineers Computer Society Press.
|Wikimedia Commons has media related to Quantum computer.|
- Stanford Encyclopedia of Philosophy: "Quantum Computing" by Amit Hagar and Michael E. Cuffaro.
- "Quantum computation, theory of", Encyclopedia of Mathematics, EMS Press, 2001 
- Quantum computing for the very curious by Andy Matuschak and Michael Nielsen
- Quantum Computing Made Easy on Satalia blog
- Quantum computing for the determined – 22 video lectures by Michael Nielsen
- Video Lectures by David Deutsch
- Lectures at the Institut Henri Poincaré (slides and videos)
- Online lecture on An Introduction to Quantum Computing, Edward Gerjuoy (2008)
- Lomonaco, Sam. Four Lectures on Quantum Computing given at Oxford University in July 2006