1 Introduction
2 Classical Computer
2.1 Binary Representation
3 Quantum Computer
3.1 Qubit
4 Classical Gates and Circuits
5 Quantum Gates and Circuits
5.1 Hilbert space
5.2 Measurement
6 Deutsch Algorithm
7 Grover Algorithm
7.1 Grover algorithm: two-qubit
7.2 Grover algorithm: n-qubit 7.3 Grover diffusion and rotation gate G
7.4 Single Recursion: Two qubit
8 Deutsch-Josza Algorithm
9 Simon's Algorithm
9.1 Quantum Algorithm 9.2 An Illustrative Example
10 Quantum Fourier Transform (QFT) 51
10.1 Quantum circuit of QFT
11 Shor
11.1 Introduction
11.2 Understanding the classical algorithm
11.3 Quantum algorithm
12 Option Pricing 12.1 Quantum Algorithm for Option Pricing
12.2 Quadratic Improvement
12.3 Estimation of Phase
12.4 Call Option
13 Solving Linear Equations
13.1 Introduction 13.2 Harrow-Hassidim-Lloyd Algorithm
13.3 Specific Example
13.4 Other applications
14 Quantum-Classical Hybrid Algorithms
14.1 Why bother?
14.2 Overlap of Wavefunctions 14.3 Variational Quantum Eigensolvers
15 Quantum Error Correction
15.1 Introduction
15.2 Simple quantum errors
15.3 Kraus Operators
15.4 Nine-qubit Code 15.5 General properties of quantum error-correcting codes
15.6 Classical Linear Codes
15.7 CSS Codes
16 Efficiency of a Quantum Computer
16.1 So where does quantum computation take place?
16.2 Conclusions 16.3 Acknowledgements