Quantum Computation

Abstract

Computers solve problems following a precise set of instructions that can be mechanically applied to yield the solution to any given instance of a particular problem. A specification of this set of instruction is called an algorithm. Examples of algorithms are the procedures taught in elementary schools for adding and multiplying whole numbers; when these procedures are mechanically applied, they always yield the correct result for any pair of whole numbers. However, any operation on numbers is performed by physical means and what can be clone to a number depends on the physical representation of this number and the underlying physics of computation. For example, when numbers are encoded in quantum states then quantum computers, i.e. physical devices whose unitary dynamics can be regarded as the performance of computation, can accept states which represent a coherent superposition of many different numbers (inputs) and evolve them into another superposition of numbers (outputs). In this case computation, i.e. a sequence of unitary transformations, affects simultaneously each element of the superposition allowing a massive parallel data, processing albeit, within one piece of quantum hardware. As the result quantum computers can efficiently solve sonic problems which are believed to be intractable on any classical computer [1, 2, 3, 4] (for an elementary introduction to quantum computation see [5]).