Lecture 1: Introduction to Quantum Computing

Similar documents
Lecture 1: Introduction to Quantum Computing

Lecture 4: Postulates of quantum mechanics

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

Lecture 22: Quantum computational complexity

Quantum Computing: Foundations to Frontier Fall Lecture 3

Chapter 1 Review of Equations and Inequalities

Lecture 3: Superdense coding, quantum circuits, and partial measurements

Lecture 3: Constructing a Quantum Model

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

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

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

6.896 Quantum Complexity Theory September 18, Lecture 5

Quantum Computing. Thorsten Altenkirch

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

Lecture 1: Overview of quantum information

Lecture 2: From Classical to Quantum Model of Computation

Chapter 2. Basic Principles of Quantum mechanics

Quantum Gates, Circuits & Teleportation

simulations of the Polarization dependence of the light Potential equation in quantum ComPUting

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

Lecture 2: Introduction to Quantum Mechanics

6.896 Quantum Complexity Theory September 9, Lecture 2

Quantum Circuits and Algorithms

Seminar 1. Introduction to Quantum Computing

Quantum Information & Quantum Computation

arxiv:quant-ph/ v1 28 May 1998

Linear Algebra, Summer 2011, pt. 2

Turing Machines and the Church-Turing Thesis

Solving with Absolute Value

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

Is Quantum Search Practical?

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

6.896 Quantum Complexity Theory Oct. 28, Lecture 16

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

Algorithms for quantum computers. Andrew Childs Department of Combinatorics & Optimization and Institute for Quantum Computing University of Waterloo

Fourier Sampling & Simon s Algorithm

Lecture 3: Hilbert spaces, tensor products

Quantum Information & Quantum Computation

Lecture 4: Elementary Quantum Algorithms

Pattern Recognition Prof. P. S. Sastry Department of Electronics and Communication Engineering Indian Institute of Science, Bangalore

Math (P)Review Part I:

Ph 219b/CS 219b. Exercises Due: Wednesday 4 December 2013

6.080/6.089 GITCS May 13, Lecture 24

Introductory Quantum Chemistry Prof. K. L. Sebastian Department of Inorganic and Physical Chemistry Indian Institute of Science, Bangalore

An Introduction to Quantum Computation and Quantum Information

Metric spaces and metrizability

Introduction to Quantum Computing

MAA509: Quantum Computing and Information Introduction

Introduction to Quantum Computation

Stochastic Quantum Dynamics I. Born Rule

Chapter 10. Quantum algorithms

15 Skepticism of quantum computing

Quantum Computing. Hans De Raedt Zernike Institute for Advanced Materials University of Groningen, NL

Series, Parallel, and other Resistance

Select/Special Topics in Atomic Physics Prof. P. C. Deshmukh Department of Physics Indian Institute of Technology, Madras

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

Introduction to Quantum Computing

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

Lecture 2: Linear operators

- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin

Classical Verification of Quantum Computations

Real Analysis Prof. S.H. Kulkarni Department of Mathematics Indian Institute of Technology, Madras. Lecture - 13 Conditional Convergence

Quantum Mechanics- I Prof. Dr. S. Lakshmi Bala Department of Physics Indian Institute of Technology, Madras

Circuit Theory Prof. S.C. Dutta Roy Department of Electrical Engineering Indian Institute of Technology, Delhi

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

QLang: Qubit Language

Quantum Noise. Michael A. Nielsen. University of Queensland

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

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

An Intuitive Introduction to Motivic Homotopy Theory Vladimir Voevodsky

6.896 Quantum Complexity Theory 30 October Lecture 17

Mechanics, Heat, Oscillations and Waves Prof. V. Balakrishnan Department of Physics Indian Institute of Technology, Madras

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

1 Continuity and Limits of Functions

1 Computational problems

Open quantum systems

Quadratic Equations Part I

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

6.896 Quantum Complexity Theory November 11, Lecture 20

Quantum Computation. Michael A. Nielsen. University of Queensland

Nothing Here. Fast Quantum Algorithms

Roberto s Notes on Linear Algebra Chapter 11: Vector spaces Section 1. Vector space axioms

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

Computational Tasks and Models

Quantum Information Processing and Diagrams of States

Quantum computing! quantum gates! Fisica dell Energia!

Lecture 21: Quantum communication complexity

Quantum Communication Complexity

SUPERDENSE CODING AND QUANTUM TELEPORTATION

b) (5 points) Give a simple quantum circuit that transforms the state

Section 2.7 Solving Linear Inequalities

Linear Programming and its Extensions Prof. Prabha Shrama Department of Mathematics and Statistics Indian Institute of Technology, Kanpur

[Refer Slide Time: 00:45]

Matrices, Row Reduction of Matrices

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

Theory of Computation

300-Level Math Courses

Mechanics, Heat, Oscillations and Waves Prof. V. Balakrishnan Department of Physics Indian Institute of Technology, Madras

Chapter 3 Representations of a Linear Relation

Verification of quantum computation

Transcription:

Lecture 1: Introduction to Quantum Computing Rajat Mittal IIT Kanpur Whenever the word Quantum Computing is uttered in public, there are many reactions. The first one is of surprise, mostly pleasant, and then there are confused looks and sometimes questions about the feasibility. In the first lecture, we will look at quantum computing from a computer scientist s perspective. Hopefully, we will answer most of the questions people ask after hearing the term Quantum Computing in this process. 1 What is quantum computing? This course is about the theory of quantum computation, i.e., to do computation using quantum systems. These quantum systems follow the rules of quantum mechanics. We want to use the properties of quantum mechanics to solve our problems. Hence, the task is to encode computation (problems+solutions) in a quantum mechanical systems. Before we explain the meaning of the previous paragraph, let us ask a more basic question. Exercise 1. What is computation? In a very informal way, computation is a calculation done by a physical device (computer) in an automated manner. The main idea is: instead of doing calculations on our own, we can use some physical device to do the calculations for us. The physical device (computer) is able to compute because of the laws of nature. In other words, because of the properties of current and voltage, we can implement AND, OR and NOT gates which provide the basic building blocks of a computer. The fundamental idea, any physical law/process can potentially be used to do computation, led to the the origin of quantum computation. An example will help in understanding this deep idea. Suppose there is an insect named Multa which has rings on its body. The number of rings on a Multa depends on the number of rings on its parents. Specifically, if the mother has m rings and the father has n rings then the baby Multa has mn rings. Following the deep idea in the preceding paragraph, we can use Multa to create a computer which can multiply. If we need to multiply m with n. Find two Multas with m and n rings. Whenever Multa mates with the other Multa, the offspring has the required number of rings. So just count the number of rings on the offspring and we will get our answer. We are now ready to answer our original question, Exercise. What is quantum computing? When computation is done using the principles of quantum mechanics, it is called quantum computing. In other words if the computation can be done on a physical device obeying quantum mechanical laws then it is called quantum computing. We will be looking at the potential and limits of this quantum model of computation. Exercise 3. Everything in the world obeys quantum mechanics, then any computation is a quantum computation? We know that classical and quantum laws behave similarly in a large scale systems. It is only in the very small systems where peculiarities of quantum mechanics are visible. So it is understood that quantum computers are useful only when these peculiarities can be exploited to do computation. So we will call a system quantum computer, if it uses these weird properties of quantum mechanics (like superposition and entanglement).

Why do we need quantum computing? Church Turing hypothesis is one of the most fundamental assertion in computability theory. It says that any function calculable by a machine can also be computed by a Turing machine. In other words, if a machine can run an algorithm to do a task then there exist another algorithm to do the same task on a Turing machine. Since anything which can be done on a quantum computer can be simulated on a classical computer, this hypothesis is not violated by a quantum computer. This means that anything we can do on a quantum computer can also be done/simulated by a classical computer. Then why do we need quantum computer? Succinctly, because quantum computers might be much faster. The Church-Turing hypothesis was strengthened into Strong Church Turing hypothesis which states that any algorithm, which can be performed on any machine, can be efficiently simulated using a Turing machine. Strong Church-Turing hypothesis has worked for a long time. Still, this hypothesis might face challenges from different models of computation. In other words, it is possible that some weird physical law might compute things much faster than a classical Turing machine. Since we believe that quantum mechanics is the theory of everything around us, it makes sense to have a quantum Turing machine instead of a classical Turing machine. David Deutsch gave the concept of a quantum Turing machine. We don t have any algorithm/task on a quantum computer which violates the Strong Church-Turing hypothesis, but there are examples where the quantum algorithm works much more efficiently than the best known classical algorithm. There is a possibility that we can find an efficient classical algorithm for there problems in future. Exercise 4. Why do we believe that quantum computers can be faster than the normal classical computer? Quantum mechanics has strange properties of superposition and entanglement. Superposition basically says that a quantum system can not only have classical states, but it can also exist in a mixed state (superposition) of these classical states. Because of superposition, we get the property of entanglement. Informally, the state of two systems cannot be described as the product of the state of one system times the state of other system. It is natural to study these properties and their impact on computation. We are now ready to answer the question, what will we be doing in this course? The first part of this course will cover the basics required to understand quantum computing. We will mostly be covering linear algebra and specifically, properties of some special class of matrices. The next part will be focussed on introducing the model of quantum computation. We will talk about postulates of quantum mechanics, thankfully that is all we will need from physics. We will finish by looking at algorithms which have shown that quantum computers can potentially be better than a classical computer. If time permits, the later part of the course will cover the theory of error correction. Unfortunately, we will not be able to cover quantum information theory and quantum cryptography, which are deep and very interesting topics in itself. Though, this course will create the background to learn these topics. We strongly encourage you to read and discuss these topics. Before finishing the introduction, let us talk about the feasibility of a quantum computer. Various doubts have been expressed in building a quantum computer, and some researchers believe that it is not possible to construct one. Till this point, there is no fundamental barrier in making a quantum computer. There are obstacles, stability and scalability being very important, but intensive research has been going on to overcome these barriers. Scientists have been trying to build quantum computers from a long time, to realize quantum computation on a physical device using various techniques. We do not have a desktop quantum computer but there are quantum computers on few qubits and many protocols have been experimentally realized. We will not be covering these areas. Again, students are encouraged to learn more about these topics on their own. As a side note, we will mostly be concerned with the theory of quantum computation and information. It is important on its own, without worrying about a practical quantum computer. Various results have been derived in classical computing using the intuition from quantum computing.

3 Deutsch s algorithm We have mentioned that a quantum computer can potentially be faster than a classical computer. Let us start with a very small example, where a quantum computer can perform better than a classical computer. To understand this example, we need to introduce few basic concepts of quantum computing. This will only be a preliminary and superficial introduction just to understand this example. A much more rigorous and formal study of these concepts will be done in this course later. 3.1 Qubits The fundamental unit of computation is a bit on a classical computer. A bit can be in two states, either in 0 or in 1. The analog of a bit on a quantum computer is called a qubit. A qubit can be in the state 0 or 1 (corresponding to the classical states) or even in a superposition of these states. Specifically, the state of a qubit is ψ = α 0 + β 1. Where α, β are complex numbers such that α + β = 1. The symbol is used to represent a state. This particular form of the qubit is motivated from the postulates of quantum mechanics. We will see further justification of it in future. Exercise 5. Why do we have a mathematical equation for a qubit. Shouldn t it be described by a physical object? The states 0 and 1 are called the basis states and the above equation states: any linear combination of the basis states with length 1 is a valid state. While talking about the length of a state, we view it as a vector. Importantly, it is not possible to figure out α, β given a physical qubit in state ψ = α 0 + β 1. We are only allowed to measure the qubit. Let us take an example of a measurement. If we measure in the standard basis, with basis states 0 and 1, then with α probability we will observe state 0 and with β probability we will get state 1. This provides more justification as to why the norm of a state should be 1. Like in the case of classical computing, we use multiple qubits to store the data in a quantum computer. What are the possible states of two qubits? The basis states should be 0 0, 0 1, 1 0 and 1 1. We will identify the state 0 0 with the state 00 and similarly for other basis states. As before, we will say that any linear combination of these states will be a valid state. ψ = α 1 00 + α 01 + α 3 10 + α 4 11. The length of this state should be 1, so i α i = 1. 3. Operations We have defined states of different parts of the quantum computer. The next step would be, what kind of operations can we perform on this computer? In other words, we are searching for the analog of NOT/AND/NAND/OR gates on a quantum computer. For simplicity, we will only talk about single qubit gates, gates which act on only one qubit. We can define the quantum NOT gate which takes 0 to 1 and 1 to 0. Exercise 6. Is this description sufficient? Since our state space is big, any linear combination of 0 and 1, we need to define the action on the complete state space. Using the postulates of quantum mechanics, this is done linearly. So for a quantum NOT gate, α 0 + β 1 goes to α 1 + β 0. 3

Note 1. This means that to specify a quantum gate, we only need to mention its action on the basis elements. Exercise 7. What are the other bases for the state of a quantum bit? Linearity implies that any quantum gate on a single qubit can be written as a matrix (if there are n qubits, then n n matrix). Since any state has unit norm, these matrices should be unitary. This implies that there are infinite possible single qubit gates as compared to finitely many classical gates. Can we realize each of them on a quantum computer? Should we build a quantum computer which has all these gates? Thankfully, It turns out that there are elementary gates which can be composed to perform any possible quantum gate approximately (even for the case of multiple qubit gates). Whether this can be done efficiently, that is a question of great interest. Another interesting single qubit gate is known as Hadamard gate. This is the gate which takes 0 to 1 ( 0 + 1 ) and 1 to 1 ( 0 1 ). Exercise 8. Check that this gate is unitary and write the matrix representation of this gate. Linearity in the circuit allows us to apply an operation/function on many inputs simultaneously. Notice that we said apply and not compute. This distinction will be clear after the explanation below, but you should be very careful in drawing conclusions from the next paragraph. Suppose there is a circuit which evaluates f(x) given an input x. The theory of quantum mechanics forces any operation to be reversible. Hence a gate which outputs f(x) on the input x is not a valid quantum gate (Why?). The same objective of computing f(x) can be achieved in multiple ways, one of the possible implementations is given in the diagram below. Fig. 1. Quantum implementation of computing a function To compute the function value on a bit b, we set the control qubit to 0 and the data qubit to b (take a look at the diagram). Exercise 9. What will happen if we feed the state 1 ( 0 + 1 ) as the data qubit and 0 as the control qubit to the gate given above? 4

The output, by linearity, should be, 1 ( 0, f(0) + 1, f(1) ). It seems that just by calling the gate once, the value of f(0) and f(1) can be computed. Though this does not mean that we can get f(0) and f(1) simultaneously. As mentioned before, the only way to extract information from a quantum state is through a measurement. These measurements will not allow us to compute f(0) and f(1) together. Exercise 10. Read about superposition on internet. It might seem that the principle of superposition (allowing linear combinations of states) is not of much use, we can apply the function on multiple inputs but can only get the answer on one input. As promised, let us finally see the example where superposition can help us perform better than a classical computer. 3.3 The algorithm We will describe Deutsch s algorithm in this section, which will show that a quantum computer can do interesting tasks not possible on a classical computer. Suppose there is a function f from {0, 1} to {0, 1}. We are given a gate (blackbox) which can give us f(b), given an input b. Deutsch s problem is to find whether f(0) = f(1) using minimum number of applications to this gate which computes f. For a classical computer, clearly we need two applications of the gate. In other words, it has to compute both f(0) as well as f(1) to answer Deutsch s question. Exercise 11. Should we give the classical implementation of the function f to the quantum computer or the quantum implementation? We should give the quantum implementation, the reason will be clear later in this course. Let us take the quantum implementation of the function discussed in the previous section. We will set the control qubit to 1 ( 0 + 1 ) and data qubit to 1 ( 0 1 ). To ease the notation, we will use subscripts, data qubit by D and control by C. The initial state can be written as, 1 ( 0 D + 1 D ) 1 ( 0 C 1 C ) = 1 ( 0 D( 0 C 1 C ) + 1 D ( 0 C 1 C )). After applying the function, 1 ( 0 D( f(0) C 1 f(0) C ) + 1 D ( f(1) C 1 f(1) C )). If f(0) = f(1) then the first qubit (data) will be in the state 1 ( 0 + 1 ), otherwise it will be in state 1 ( 0 1 ). Observe that these states are the output of the Hadamard gate. Exercise 1. What can be done now? Remember that a quantum gate is always reversible. Hence there exists an inverse of Hadamard gate. So we will apply the inverse of Hadamard gate, which is actually Hadamard gate itself, to the first qubit. we get 0 if f(0) = f(1) and 1 otherwise. Hence by measuring the first register, we have solved the problem using just one query to the function. This shows that a quantum computer is faster than a classical computer for the Deutsch s problem. The output of the function f has four possible values, (00, 01, 10, 11). Classically, it was easy to distinguish whether f is (00, 01) or (01, 10). Using quantum mechanics, we were able to distinguish between (00, 11) and (01, 10). The amount of information gathered using one query to the blackbox is only 1 bit. Surprisingly, that information (property of f) is not accessible by a classical computer. You might complain that the problem seems very simple and the speed-up of is not that impressive. This was just a toy example to illustrate how quantum property of superposition can be helpful. Throughout the course, there will be much more interesting problems and more impressive solutions. 5

4 Assignment Exercise 13. Read about randomized computing. Is it different from quantum computing? Exercise 14. Read about DNA computing. Exercise 15. Show that a unitary matrix preserves the norm. Exercise 16. Read about Solovay-Kitaev theorem. 6