ABSTRACT

Quantum computation is the process of accomplishing a (classical) computational task using the laws of quantum mechanics. In essence, this involves three distinct steps: 1) Initialization — classical information (the input) is encoded as quantum information into a quantum state |ψi〉 ∈ H, where H is a large Hilbert space. 2) Controlled evolution — the quantum information is processed by evolving the initial state |ψi〉 into a final state |ψf 〉. The evolution can be realized by applying a unitary operator, |ψf 〉 = U |ψi〉, or by performing certain measurements, or by combining unitary evolutions and measurements. 3) Readout (measurement) — classical information (the output of the computation) is extracted from the final quantum state by measuring |ψf 〉 in a certain basis. Note that sometimes quantum computation is narrowly understood as the quantum information processing phase (i.e., step 2). The basic intuition leading to the concept of quantum computation is the fact that every computation is (or should be) performed by a physical machine (i.e., a computer) and, consequently, is essentially a physical process. From this perspective, an isolated quantum object may be regarded as a dedicated quantum computer that computes its own behavior in real time, i.e., evolves its quantum state according to a unitary operator generated by its Hamiltonian.