Introduction to Quantum Computing

Similar documents
Chapter 10. Quantum algorithms

Complex numbers: a quick review. Chapter 10. Quantum algorithms. Definition: where i = 1. Polar form of z = a + b i is z = re iθ, where

Introduction to Quantum Computing

Introduction to Quantum Information Processing

C/CS/Phys 191 Quantum Gates and Universality 9/22/05 Fall 2005 Lecture 8. a b b d. w. Therefore, U preserves norms and angles (up to sign).

6.080/6.089 GITCS May 6-8, Lecture 22/23. α 0 + β 1. α 2 + β 2 = 1

Concepts and Algorithms of Scientific and Visual Computing Advanced Computation Models. CS448J, Autumn 2015, Stanford University Dominik L.

Simon s algorithm (1994)

Introduction to Quantum Algorithms Part I: Quantum Gates and Simon s Algorithm

Compute the Fourier transform on the first register to get x {0,1} n x 0.

Quantum computing! quantum gates! Fisica dell Energia!

Hilbert Space, Entanglement, Quantum Gates, Bell States, Superdense Coding.

1 Readings. 2 Unitary Operators. C/CS/Phys C191 Unitaries and Quantum Gates 9/22/09 Fall 2009 Lecture 8

Errata list, Nielsen & Chuang. rrata/errata.html

Semiconductors: Applications in spintronics and quantum computation. Tatiana G. Rappoport Advanced Summer School Cinvestav 2005

Reversible and Quantum computing. Fisica dell Energia - a.a. 2015/2016

Seminar 1. Introduction to Quantum Computing

Fourier Sampling & Simon s Algorithm

CSCI 2570 Introduction to Nanocomputing. Discrete Quantum Computation

Ph 219b/CS 219b. Exercises Due: Wednesday 20 November 2013

. Here we are using the standard inner-product over C k to define orthogonality. Recall that the inner-product of two vectors φ = i α i.

Factoring on a Quantum Computer

Richard Cleve David R. Cheriton School of Computer Science Institute for Quantum Computing University of Waterloo

Lecture 22: Quantum computational complexity

CS257 Discrete Quantum Computation

Quantum Computation. Michael A. Nielsen. University of Queensland

Introduction to Quantum Information, Quantum Computation, and Its Application to Cryptography. D. J. Guan

Quantum algorithms (CO 781, Winter 2008) Prof. Andrew Childs, University of Waterloo LECTURE 1: Quantum circuits and the abelian QFT

Lecture 3: Constructing a Quantum Model

Short Course in Quantum Information Lecture 2

Quantum Computing. 6. Quantum Computer Architecture 7. Quantum Computers and Complexity

Introduction to Quantum Information Processing QIC 710 / CS 768 / PH 767 / CO 681 / AM 871

Quantum Computing Lecture 8. Quantum Automata and Complexity

Quantum Computation 650 Spring 2009 Lectures The World of Quantum Information. Quantum Information: fundamental principles

Quantum Complexity Theory. Wim van Dam HP Labs MSRI UC Berkeley SQUINT 3 June 16, 2003

Quantum Computing. Quantum Computing. Sushain Cherivirala. Bits and Qubits

Lecture 2: From Classical to Quantum Model of Computation

Lecture 3: Hilbert spaces, tensor products

Introduction to Quantum Computing

QLang: Qubit Language

2.0 Basic Elements of a Quantum Information Processor. 2.1 Classical information processing The carrier of information

Discrete Quantum Theories

Simulation of quantum computers with probabilistic models

Quantum gate. Contents. Commonly used gates

Simulating classical circuits with quantum circuits. The complexity class Reversible-P. Universal gate set for reversible circuits P = Reversible-P

Introduction to Quantum Computing

1 Quantum Circuits. CS Quantum Complexity theory 1/31/07 Spring 2007 Lecture Class P - Polynomial Time

Great Ideas in Theoretical Computer Science. Lecture 28: A Gentle Introduction to Quantum Computation

Unitary evolution: this axiom governs how the state of the quantum system evolves in time.

Quantum Computation. Alessandra Di Pierro Computational models (Circuits, QTM) Algorithms (QFT, Quantum search)

Computational Complexity: A Modern Approach

Topological Quantum Computation. Zhenghan Wang Microsoft Station Q & UC Sana Barbara Texas, March 26, 2015

An Introduction to Quantum Computation and Quantum Information

An Introduction to Quantum Information and Applications

A Research Tool for the Automated Synthesis of Quantum Algorithms

arxiv: v4 [cs.dm] 19 Nov 2018

Quantum Computing. Thorsten Altenkirch

Quantum Information Processing and Diagrams of States

Shor s Prime Factorization Algorithm

Quantum Computation CMU BB, Fall Week 6 work: Oct. 11 Oct hour week Obligatory problems are marked with [ ]

Quantum Computation, NP-Completeness and physical reality [1] [2] [3]

Attacking the ECDLP with Quantum Computing

Some Introductory Notes on Quantum Computing

Quantum Circuits and Algorithms

Shor s Algorithm. Polynomial-time Prime Factorization with Quantum Computing. Sourabh Kulkarni October 13th, 2017

arxiv: v3 [cs.dm] 13 Feb 2018

Logical error rate in the Pauli twirling approximation

2. Introduction to quantum mechanics

Quantum Computers. Peter Shor MIT

Computational Complexity

Introduction to Quantum Computation

10 Quantum Complexity Theory I

What is a quantum computer? Quantum Architecture. Quantum Mechanics. Quantum Superposition. Quantum Entanglement. What is a Quantum Computer (contd.

Tutorial on Quantum Computing. Vwani P. Roychowdhury. Lecture 1: Introduction

Quantum Information & Quantum Computing

Unitary Dynamics and Quantum Circuits

Quantum Computing. Vraj Parikh B.E.-G.H.Patel College of Engineering & Technology, Anand (Affiliated with GTU) Abstract HISTORY OF QUANTUM COMPUTING-

QUANTUM COMPUTER SIMULATION

)j > Riley Tipton Perry University of New South Wales, Australia. World Scientific CHENNAI

Quantum Gates, Circuits & Teleportation

Some Recent Research Issues in Quantum Logic

Quantum Algorithms. Andreas Klappenecker Texas A&M University. Lecture notes of a course given in Spring Preliminary draft.

arxiv: v1 [quant-ph] 31 Dec 2015

Quantum Entanglement and the Bell Matrix

Deutsch s Algorithm. Dimitrios I. Myrisiotis. MPLA CoReLab. April 26, / 70

Advanced Cryptography Quantum Algorithms Christophe Petit

Quantum Error Correcting Codes and Quantum Cryptography. Peter Shor M.I.T. Cambridge, MA 02139

Ph 219b/CS 219b. Exercises Due: Wednesday 21 November 2018 H = 1 ( ) 1 1. in quantum circuit notation, we denote the Hadamard gate as

Lecture 2: Introduction to Quantum Mechanics

Quantum Geometric Algebra

Ph 219b/CS 219b. Exercises Due: Wednesday 22 February 2006

ROM-BASED COMPUTATION: QUANTUM VERSUS CLASSICAL

A parallel quantum computer simulator

Quantum Computing Lecture 3. Principles of Quantum Mechanics. Anuj Dawar

Introduction to Quantum Computing for Folks

Lecture 1: Overview of quantum information

Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!

Quantum Computing: Foundations to Frontier Fall Lecture 3

CMSC 441: Algorithms. NP Completeness

α x x 0 α x x f(x) α x x α x ( 1) f(x) x f(x) x f(x) α x = α x x 2

Transcription:

Introduction to Quantum Computing Part I Emma Strubell http://cs.umaine.edu/~ema/quantum_tutorial.pdf April 12, 2011

Overview Outline What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 2 / 46

Outline What is quantum computing? Background What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 3 / 46

Origins of fame What is quantum computing? Background Quantum computer first proposed by Richard Feynman in 1981 Problem: efficiently simulating quantum systems inherently impossible on a classical computer Solution: new machine built of quantum mechanical elements which obey quantum mechanical laws Daniel Simon demonstrates exponential speedup in 1994 nobody cares; algorithm too abstract Peter Shor demonstrates exciting exponential speedup in 1997 based on Simon s algorithm efficiently factors integers into primes this breaks RSA Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 4 / 46

Outline What is quantum computing? Caveats What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 5 / 46

What is quantum computing? Caveats Unfortunately, scalable QCs still don t exist As of 2009, quantum computers able to factor 15 into 5 and 3 The problem is decoherence Man-made quantum system wants to interact with surrounding systems Sources of interference include electric and magnetic fields required to power machine itself Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 6 / 46

Overview What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 7 / 46

Outline Fundamental differences What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 8 / 46

Fundamental differences Three main differences from classical computers 1 Superposition quantum system exists in all possible states at all times 2 Probabilities fortunately, a probability can be associated with each of those states 3 Entanglement probabilities of different states can depend on each other quantum teleportation uses this property for cryptographic purposes Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 9 / 46

Outline Hilbert spaces and Dirac notation What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 10 / 46

Dirac notation Hilbert spaces and Dirac notation Just another way of describing vectors: v 0 v 1 v =. = v v n and their duals: v = v T = [ v 0 v 1... v n ] Convenient for describing vectors in the Hilbert space C n, the vector space of quantum mechanics Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 11 / 46

C n and the inner product Hilbert spaces and Dirac notation A Hilbert space, for our (finite) purposes, is a vector space with an inner product, and a norm defined by that inner product. We use the following in C n : The inner product assigns a scalar value to each pair of vectors: u v = u T v = [ ] v 1 u 0 u 1... u n. = u 0 v 0 +u 1 v 1 +...+u n v n v n The norm is the square root of the inner product of a vector with itself (i.e. Euclidean norm, l 2 -norm, 2-norm over complex numbers): v 0 v = v v Geometrically, this norm gives the distance from the origin to the point v that follows from the Pythagorean theorem. Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 12 / 46

Properties of the inner product Hilbert spaces and Dirac notation The inner product satisfies the three following properties: Definition 1 v v 0, with v v = 0 if and only if v = 0. 2 u v = v u for all u, v in the vector space. 3 u α 0 v + α 1 w = α 0 u v + α 1 u w. More generally, the inner product of u and α i v i is equal to i α i u v i for all scalars α i and vectors u, v in the vector space i (this is known as linearity in the second argument). Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 13 / 46

The outer product Hilbert spaces and Dirac notation The outer product is the tensor or Kronecker product of a vector with the conjugate transpose of another. The result is not a scalar, but a matrix: v 0 v 0 u 0 v 0 u 1... v 0 u m v 1 [ ] v 1 u 0 v 1 u 1... v 1 u m v u = u0 u 1... u m =....... v n v n u 0 v n u 1... v n u m Often used to describe a linear transformation between vector spaces. A linear transformation from a Hilbert space U to another Hilbert space V on a vector w in U may be succintly described in Dirac notation: ( v u ) w = v u w = u w v Since u w is a commutative, scalar value. Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 14 / 46

The tensor product Hilbert spaces and Dirac notation Usually simplified from u v to u v or uv A vector tensored with itself n times is denoted v n or v n Two column vectors u and v of lengths m and n yield a column vector of length m n when tensored: u 0 v 0 u 0 v 1. u 0 v 0 u 0 v n u 1 u v = uv =. v 1. = u 1 v 0. u m v n u m 1 v n u m v 0. u m v n Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 15 / 46

Outline The qubit What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 16 / 46

The qubit C 2 describes a single quantum bit (qubit) A classical bit may be represented as a base-2 number that takes either the value 1 or the value 0 Qubits are also base-2 numbers, but in a superposition of the measurable values 1 and 0 The state of a qubit at any given time represented as a two-dimensional state space in C 2 with orthonormal basis vectors 1 and 0 The superposition ψ of a qubit is represented as a linear combination of those basis vectors: ψ = a 0 0 + a 1 1 Where a 0 is the complex scalar amplitude of measuring 0, and a 1 the amplitude of measuring the value 1. Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 17 / 46

Amplitudes, not probabilities The qubit Amplitudes may be thought of as quantum probabilities in that they represent the chance that a given quantum state will be observed when the superposition is collapsed Most fundamental difference between probabilities of states in classical probabilistic algorithms and amplitudes: amplitudes are complex Complex numbers required to fully describe superposition of states, interference or entanglement in quantum systems. 1 As the probabilities of a classical system must sum to 1, so too the squares of the absolute values of the amplitudes of states in a quantum system must add up to 1 1 See http://www.scottaaronson.com/democritus/lec9.html for a great discussion by of why complex numbers and the 2-norm are used to describe quantum mechanical systems Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 18 / 46

The qubit Amplitudes and the normalization condition Just as the hardware underlying the bits of a classical computer may vary in voltage, quantum systems are not usually so perfectly behaved An assumption is made about quantum state vectors called the normalization conditon: ψ is a unit vector. ψ = ψ ψ = 1 If 0 and 1 are orthonormal, then by orthogonality 0 1 = 1 0 = 0, and by normality 0 0 = 1 1 = 1 It follows that a 0 2 + a 1 2 = 1: 1 = ψ ψ = (a 0 0 + a 1 1 ) (a 0 0 + a 1 1 ) = a 0 2 0 0 + a 1 2 1 1 + a 1 a 0 1 0 + a 0 a 1 0 1 = a 0 2 + a 1 2 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 19 / 46

Why we use Dirac notation The qubit The following is equivalent to the last slide: 1 = ψ ψ = (a 0 0 + a 1 1 ) (a 0 0 + a 1 1 ) = ( ( [ ] [ ]) [ ] [ ]) ψ00 ψ10 a 0 ψ00 ψ 01 + a1 ψ10 ψ 11 a 0 + a ψ 1 01 ψ 11 = [ [ ] ] a0 ψ a 0 ψ 00 + a 1 ψ 10 a 0 ψ 01 + a 1 ψ 11 00 + a 1 ψ 10 a 0 ψ 01 + a 1 ψ 11 = a 0 ψ 00 a 0 ψ 00 + a 1 ψ 10 a 0 ψ 00 + a 0 ψ 00 a 1 ψ 10 + a 1 ψ 10 a 1 ψ 10 + a 0 ψ 01 a 0 ψ 01 + a 1 ψ 11 a 0 ψ 01 + a 0 ψ 01 a 1 ψ 11 + a 1 ψ 11 a 1 ψ 11 = a 0 2 ( ψ 00 2 + ψ 01 2) + a 1 2 ( ψ 10 2 + ψ 11 2) + a 1 a 0 ( ψ10 ψ 00 + ψ 11 ψ 01 ) + a0 a 1 ( ψ00 ψ 10 + ψ 01 ψ 11 ) = a 0 2 + a 1 2 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 20 / 46

The computational basis The qubit 0 and 1 may be transformed into any two vectors that form an orthonormal basis in C 2 The most common basis used in quantum computing is called the computational basis: [ ] [ ] 1 0 0 =, 1 = 0 1 The computational basis tends to be the most straightforward basis for computing and understanding quantum algorithms Assume I m using the computational basis unless otherwise stated Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 21 / 46

Another basis The qubit Any other orthonormal basis could be used: 0 + 1 + = = 1 [ ] 1 0 1, = = 1 [ ] 1 2 2 1 2 2 1 Providing a slightly different but equivalent way of expressing of a qubit: ψ = a 0 0 + a 1 1 = a 0 + + 2 + a 1 + 2 = a 0 + a 1 + + a 0 + a 1 2 2 Here, instead of measuring the states 0 and 1 each with respective probabilities a 0 2 and a 1 2, the states + and would be measured with probabilities a 0 + a 1 2 /2 and a 0 a 1 2 /2. Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 22 / 46

Outline Quantum Registers What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 23 / 46

Quantum Registers Registers more useful than single qubits Each qubit in a quantum register is in a superposition of 1 and 0 Consequently, a register of n qubits is in a superposition of all 2 n possible bit strings that could be represented using n bits The state space of a size-n quantum register is a linear combination of n basis vectors, each of length 2 n : ψ n = 2 n 1 i=0 a i i A three-qubit register would thus have the following expansion: ψ 2 = a 0 000 + a 1 001 + a 2 010 + a 3 011 + a 4 100 + a 5 101 + a 6 110 + a 7 111 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 24 / 46

Registers continued Quantum Registers Each possible bit configuration in the quantum superposition is denoted by the tensor product of its counterpart qubits Consider 101, the bit string that represents the integer value 5: 101 = 1 0 1 [ ] [ ] [ ] 0 1 0 = 1 0 1 = [ 0 0 0 0 0 1 0 0 ] T As with single qubits, the squared absolute value of the amplitude associated with a given bit string is the probability of observing that bit string, and the the sqares of the absolute values of the amplitudes of all 2 n possible bit configuations of an n-bit register sum to unity: a i 2 = 1 2 n 1 i=0 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 25 / 46

Outline What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 26 / 46

Evolving the system: quantum circuits and quantum gates One way of thinking about algorithm design and computation is via quantum Turing machines First described by David Deutsch in 1985, but both a quantum Turing machine s tape and its read-write head exist in superpositions of an exponential number states! Instead of using the Turing machine as a computational model, operations on a quantum computer most often described using quantum circuits (also introduced by Deutsch a few years later) Although circuits are computationally equivalent to Turing machines, they are usually much simpler to depict, manipulate and understand Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 27 / 46

Quantum gates represent unitary transformations Quantum gates are represented as transformation matrices, linear operators applied to a quantum register by tensoring the operator with the register All quantum linear operators must be unitary: If a complex matrix U is unitary, then U 1 = U, where U is the conjugate transpose: U = U T It follows that UU = U U = I Unitary operators preserve inner product: u U U v = u I v = u v The composition of two unitary operators is also unitary: (UV ) = V U = V 1 U 1 = (UV ) 1 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 28 / 46

The Bloch sphere z 0 ψ θ x φ y 1 Unitary transformations performed on a qubit may be visualized as rotations and reflections about the x, y, and z axes of the Bloch sphere All linear combinations a 0 0 + a 1 1 in C 2 correspond to all the points (θ, ψ) on the surface of the unit sphere, where a 0 = cos(θ/2) and a 1 = e iφ sin(θ/2) = (cos φ + i sin φ) sin θ 2 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 29 / 46

The Hadamard operator H = 1 [ ] 1 1 0 + 1 0 1 = 0 + 1 2 1 1 2 2 Often referred to as a fair coin flip, the Hadamard operator applied to a qubit with the value 0 or 1 will induce an equal superposition of the states 0 and 1 : H 0 = H 1 = 0 + 1 0 1 0 + 1 0 0 + 1 0 = 2 2 2 0 + 1 0 1 0 1 0 1 + 1 1 = 2 2 2 Many quantum algorithms begin by applying the Hadamard operator to each qubit in a register initialized to 0 n, which puts the entire register into an equal superposition of states Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 30 / 46

Bloch sphere representation of the Hadamard operator Geometrically, the Hadamard operator performs a rotation of π/2 about the y axis followed by a rotation about the x axis by π radians on the Bloch sphere: z z 0 0 θ = π 2 θ = π 2 0 1 2 0 + 1 2 φ = 0 y φ = π y x x 1 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 31 / 46 1

The Pauli gates The three Pauli gates, named after yet another Nobel laureate Wolfgang Pauli, are also important single-qubit gates for quantum computation The Pauli-X gate swaps the amplitudes of 0 and 1 : [ ] 0 1 X = = 1 0 + 0 1 1 0 The Pauli-Y gate swaps the amplitudes of 0 and 1, multiplies each amplitude by i, and negates the amplitude of 1 : [ ] 0 i Y = = i 1 0 i 0 1 i 0 And the Pauli-Z gate negates the amplitude of 1, leaving the amplitude of 0 the same: [ ] 1 0 Z = = 1 0 0 1 0 1 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 32 / 46

Bloch sphere representation of Pauli-X and -Y gates The Pauli-X, -Y, and -Z gates correspond to rotations by π radians about the x, y, and z axes respectively on the Bloch sphere z 0 z 0 θ = π φ = 0 y θ = π φ = π 2 y x x 1 i 1 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 33 / 46

Generalized phase shift The Pauli-Z gate, altering only the phase of the system, is a special case of the more general phase-shift gate, which does not modify the amplitude of 0 but changes the phase of 1 by a factor of e iθ for any value of θ: [ ] 1 0 R θ = 0 e iθ = 1 0 + e iθ 0 1 The Pauli-Z gate is equivalent to the phase-shift gate with θ = π. Wolfgang Pauli with friends Werner Heisenberg and Enrico Fermi: Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 34 / 46

More phase shift gates Another special case of the phase-shift gate where θ = π/2 is known as simply the phase gate, denoted S, which changes the phase of 1 by a factor of i: [ ] 1 0 S = = 1 0 + i 0 1 0 i And the phase-shift gate where θ = π/4 is referred to as the π/8 gate, or T : [ ] 1 0 T = 0 e iπ/4 = 1 0 + e iπ/4 0 1 With the name π/8 coming from the fact that this transformation can also be written as a matrix with π/8 along the diagonal: [ ] [ ] 1 0 0 e iπ/4 = e iπ/8 e iπ/8 0 0 e iπ/8 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 35 / 46

Controlled operations: CNOT Quantum computing also makes use of controlled operations, multi-qubit operations that change the state of a qubit based on the values of other qubits The quantum controlled-not or CNOT gate swaps the amplitudes of the 0 and 1 basis states of a qubit, equivalent to application of the Pauli-X gate, only if the controlling qubit has the value 1 : control c c target t t c Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 36 / 46

Generalized controlled operations Controlled operations are not restricted to conditional application of the Pauli-X gate; Any unitary operation may be performed: Matrix representation: Dirac equivalent: control c c target t U U c t 1 0 0 0 0 1 0 0 0 0 x 00 x 10 0 0 x 01 x 11 00 00 + 01 01 + x 00 10 10 + x 01 10 11 + x 10 11 10 + x 11 11 11 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 37 / 46

Controlled operations: Toffoli In fact, controlled operations are possible with any number n control qubits and any unitary operator on k qubits The Toffoli gate is probably the best known of these gates Also known as the controlled-controlled-not gate, the Toffoli gate acts on three qubits: two control qubits and one target If both control qubits are set, then the amplitudes of the target qubit are flipped: c 1 c 1 c 2 c 2 t t c 1 c 2 Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 38 / 46

Toffoli continued The Toffoli gate was originally devised as a universal, reversible classical logic gate by Tommaso Toffoli It is especially interesting because depending on the input, the gate can perform logical AND, XOR, NOT and FANOUT operations... This makes it universal for classical computing! Quantum computing is reversible: All evolution in a quantum system can be described by unitary matrices, all unitary transformations are invertible, and thus all quantum computation is reversible The Toffoli gate implies that quantum computation is at least as powerful as classical computation Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 39 / 46

Outline Computational complexity What is quantum computing? Background Caveats Fundamental differences Hilbert spaces and Dirac notation The qubit Quantum Registers Computational complexity Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 40 / 46

Computational complexity Classical computational complexity: a review To understand the possible power of quantum computing, it helps to look at the computational power of quantum computers in relation to their classical counterparts Remember that problems in P are decision problems that can be solved in polynomial time by a deterministic Turing machine The equivalent class for space efficiency is referred to as PSPACE NP problems are those that require a nondeterministic Turing machine in order to be solved efficiently The class of NP-complete problems, abbreviated NPC, consists of the hardest problems in NP Every problem in NP can be reduced to a problem in NPC If one NPC problem was found to be in P, then all of the problems in NP would also be in P, proving P = NP Most theoretical computer scientests believe that P NP, but nobody has been successful in proving the conjecture either way. Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 41 / 46

Computational complexity Classical probabilistic complexity There is another important complexity class called BPP: Bounded-error Probabilistic Polynomial time BPP describes decision problems that can be solved in polynomial time by a probabilistic Turing machine Probabilistic Turing machines are those with direct access to some source of truly random input In BPP, the error of the solution is bounded in that the probability that the answer is correct must be at least two-thirds Although there are currently problems solvable in BPP that are not in P, the number of such problems has been decreasing since the introduction of BPP in the 1970 s While it is not yet been proven whether P BPP, it is conjectured that P = BPP Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 42 / 46

Computational complexity Quantum computational complexity Quantum computation introduces a number of new complexity classes to the polynomial hierarchy Probably the most studied complexity class is Bounded-error Quantum Polynomial time, or BQP BQP is the quantum extension of BPP: the class of decision problems solvable in polynomial time by an innately probabilistic quantum Turing machine, with the same error constraint as defined for BPP Unlike BPP, it is suspected that P BQP, which would mean that quantum computers are capable of solving some problems in polynomial time that cannot be solved efficiently by a classical Turing machine! Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 43 / 46

A conjectured polynomial hierarchy Computational complexity PSPACE NPC NP BQP P BPP? n n chess n n Go boolean satisfiability subset sum traveling salesman map coloring n n sudoku graph isomorphism factoring discrete logarithm primality testing graph connectivity maximum matching GCD Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 44 / 46

Quantum Computer: http://www.wired.com/wiredscience/2010/01/ quantum-computer-hydrogen-simulation/ Richard Feynman: http://www-scf.usc.edu/~kallos/feynman.htm Peter Shor: http://www-math.mit.edu/~shor/ Cooling system for D-wave s quantum computer: http://mail2web.com/blog/ wp-content/uploads/2007/03/d-wave-quantum-computer-cryopump.png Shrodinger s cat: http://confidentlysingle.com/2010/10/schrodingers-cat/ David Deutsch: http://datapeak.net/computerscientists.htm Pauli & friends: http://scienceblogs.com/startswithabang/2010/10/the_story_of_the_ neutrino.php Tommaso Toffoli: http://pm1.bu.edu/~tt/ John T. Gill III: http://riddles.stanford.edu/gill/ Emma Strubell (University of Maine) Intro to Quantum Computing April 12, 2011 45 / 46 Image Credits References