QC101 Quantum Computing & Intro to Quantum Machine Learning

QC101 Quantum Computing & Intro to Quantum Machine Learning

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 284 lectures (11h 53m) | 4.03 GB

Math-Based Introduction to Quantum Computing, Cryptography & Quantum Machine Learning. Code with Python, Q#, & Qiskit

Quantum Computing is the next wave of the software industry. Quantum computers are exponentially faster than classical computers of today. Problems that were considered too difficult for computers to solve, such as simulation of protein folding in biological systems, and cracking RSA encryption, are now possible through quantum computers.

How fast are Quantum Computers? A 64-bit quantum computer can process 36 billion billion bytes of information in each step of computation. Compare that to the 8 bytes that your home computer can process in each step of computation!

Companies like Google, Intel, IBM, and Microsoft are investing billions in their quest to build quantum computers. If you master quantum computing now, you will be ready to profit from this technology revolution.

This course teaches quantum computing from the ground up. The only background you need is 12th grade level high-school Math and Physics.

IMPORTANT: You must enjoy Physics and Math to get the most out of this course. This course is primarily about analyzing the behavior of quantum circuits using Math and Quantum Physics. While everything you need to know beyond 12th grade high school science is explained here, you must be aware that Quantum Physics is an extremely difficult subject. You might frequently need to stop the video and replay the lesson to understand it.


It appears that the killer-app for quantum computing will be machine learning and artificial intelligence.

Quantum machine learning algorithms provide a significant speed-up in training. This speed-up can result in more accurate predictions.

While understanding quantum algorithms requires mastery of complex math, using quantum machine learning is relatively simple. Qiskit encapsulates machine learning algorithms inside an API that mimics the popular Scikit-Learn machine-learning toolkit. So you can use quantum machine learning almost as easily as you would traditional ML!

Quantum machine learning can be applied in the back-end to train models, and those trained models can be used in consumer gadgets. This means that quantum machine learning might enhance your everyday life even if quantum computers remain expensive!


We begin by learning about basic math. You might have forgotten the math you learned in high-school. I will review linear algebra, probability, Boolean algebra, and complex numbers.

Quantum physics is usually considered unapproachable because it deals with the behavior of extremely tiny particles. But in this course, I will explain quantum physics through the behavior of polarized light. Light is an everyday phenomenon and you will be able to understand it easily.

Next we learn about quantum cryptography. Quantum cryptography is provably unbreakable. I will explain the BB84 quantum protocol for secure key sharing.

Then we will learn about the building-blocks of quantum programs which are quantum gates.

To understand how quantum gates work, we will study quantum superposition and quantum entanglement in depth.

We will apply what we have learned by constructing quantum circuits using Microsoft Q# (QSharp) and IBM Qiskit. For those of you who don’t know the Python programming language, I will provide a crisp introduction of what you need to know.

We will begin with simple circuits and then progress to a full implementation of the BB84 quantum cryptography protocol in Qiskit.

We will learn how to use Qiskit’s implementation of Shor’s algorithm for factoring large numbers.

The killer-app for quantum computing is quantum machine learning.

To understand quantum machine learning, we must first learn how classical machine learning works. I provide a crisp introduction to classical machine learning and neural networks (deep learning).

Finally, we will train a Quantum Support Vector Machine on real-world data and use it to make predictions.

What you’ll learn

  • Use quantum cryptography to communicate securely
  • Develop, simulate, and debug quantum programs on IBM Qiskit and Microsoft Q#
  • Run quantum programs on a real quantum computer through IBM Quantum Experience
  • Use Dirac’s notation and quantum physics models to analyze quantum circuits
  • Train a Quantum Support Vector Machine (Quantum Machine Learning) on real-world data and use it to make predictions
  • Learn Data science and how quantum computing can help in artificial intelligence / machine learning
  • Learn why machine learning will be the killer-app for quantum computing
Table of Contents

1 Introduction
2 How is Quantum Computing Different

Quantum Physics Through Photon Polarization
3 Introduction to Quantum Physics
4 Quantum Physics Through Photon Polarization 1
5 Quantum Physics Through Photon Polarization 2
6 Quantum Physics Through Photon Polarization 3
7 Quantum Physics Through Photon Polarization 4
8 Quantum Physics Through Photon Polarization 5
9 Quantum Physics Through Photon Polarization 6
10 Quantum Physics Through Photon Polarization 7
11 Quantum Physics Through Photon Polarization 8
12 Quantum Physics Through Photon Polarization 9
13 Quantum Physics Through Photon Polarization 10
14 Quantum Physics Through Photon Polarization 11
15 Quantum Physics Through Photon Polarization 12
16 Quantum Physics Through Photon Polarization 13
17 Quantum Physics Through Photon Polarization 14

Math Foundation Complex Numbers Probability Linear Algebra & Logic
18 Quantum Computing Through Math
19 Boolean Algebra
20 Boolean Variables and Operators
21 Truth Tables
22 Logic Gates
23 Logic Circuits
24 AND Gate
25 OR Gate
26 NOT Gate
27 Multiple Input Gates
28 Equivalent Circuits 1
29 Equivalent Circuits 2
30 Universal Gate NAND
31 Exclusive OR
32 XOR for Assignment
33 XOR of Bit Sequences 1
34 XOR of Bit Sequences 2
35 Introduction to Cryptography
36 Cryptography with XOR
37 Shared Secret
38 Importance of Randomness
39 Breaking the Code
40 Introduction to Probability
41 Probability of a Boolean Expression
42 Mutually Exclusive Events
43 Independent Events
44 Manipulating Probabilities With Algebra
45 P Mutually Exclusive Events
46 P Independent Events
47 Complete Set of MutEx Events
48 P A OR B
49 Examples
50 Examples
51 P Bit Values
52 Analysis With Venn Diagrams
53 Venn Diagram P A AND B
54 Venn Diagram P A OR B
55 Venn Diagram P NOT A
56 Examples
57 Examples
58 Conditional Probability
59 Examples
60 Introduction to Statistics
61 Random Variables
62 Mapping Random Variables
63 Mean Average Expected Value
64 Example
65 Example
66 Beyond Mean
67 Standard Deviation
68 Examples
69 Combinations of Random Variables
70 Correlation
71 Analysis of Correlation
72 Introduction to Complex Numbers
73 Imaginary i
74 Addition
75 Subtraction
76 Multiplication by a Real
77 Division by a Real
78 Complex Multiplication
79 Examples
80 Complex Conjugates
81 Squared Magnitude
82 Complex Division
83 Examples
84 Eulers Formula
85 Polar Form
86 Examples
87 Fractional Powers
88 Complex Cube Roots of 1
89 Square Root of i
90 D Coordinates
91 Matrices
92 Matrix Dimensions
93 Matrix Addition
94 Matrix Subtraction
95 Scalar Multiplication
96 Matrix Multiplication
97 Examples
98 Examples
99 x3 Example
100 Exercises
101 More Multiplications
102 When is Multiplication Possible
103 Example
104 Not Commutative
105 Associative and Distributive
106 Dimension of Result
107 Odd Shaped Matrices
108 Examples
109 Outer Product
110 Exercise
111 Inner Product
112 Exercises
113 Identity Matrix
114 Matrix Inverse
115 Transpose
116 Transpose Examples
117 Transpose of Product
118 Complex Conjugate of Matrices
119 Adjoint
120 Unitary
121 Hermitian
122 Hermitian and Unitary
123 Why Hermitian or Unitary
124 Vectors and Transformations
125 Rotation in 2D
126 Special Directions
127 Eigen Vectors and Eigen Values
128 More Eigen Vectors
129 Computing Eigen Values

Quantum Cryptography
130 Photons
131 Photon Polarization
132 Experiments with Photon Polarization
133 NoCloning Theorem
134 Encoding with XOR
135 Encryption with SingleUse SharedSecrets
136 Encoding Data in Photon Polarization
137 Making the Protocol Secure
138 Exchanging Polarization Angles
139 Why is the BB84 protocol secure
140 Analysis

Developing a Math Model for Quantum Physics
141 Modeling Physics with Math
142 Subtractive Probabilities Through Complex Numbers
143 Modeling Superposition Through Matrices
144 Overview of Math Model

Quantum Physics of Spin States
145 Introduction to Spin States
146 Basis
147 Column Matrix Representation of Quantum State
148 State Vector
149 Experiments with Spin 1
150 Experiments with Spin 2
151 Experiments with Spin 3

Modeling Quantum Spin States with Math
152 Analysis of Experiments 1
153 Analysis of Experiments 2
154 Analysis of Experiments 3
155 Dirac BraKet Notation 1
156 Dirac BraKet Notation 2
157 More Experiment Analysis 1
158 More Experiment Analysis 2
159 On Random Behavior

Reversible and Irreversible State Transformations
160 Irreversible Transformations Measurement
161 Reversible State Transformations

MultiQubit Systems
162 Analyzing MultiQubit Systems

163 Entanglement

Understanding Superposition and Entanglement With Quantum Simulators
164 Download the Simulator Code
165 Installing Java and Running the Simulators
166 Launching the Superposition Simulator
167 Classical Photon
168 Quantum Photon
169 No Cloning
170 No Cloning
171 Measurement is Irreversible
172 Deterministic vs Probabilistic
173 Running the Simulator
174 Superposition 1
175 Superposition 2
176 Measurement and Superposition
177 Two Photon Systems
178 Entanglement
179 Simulating Entanglement 1
180 Simulating Entanglement 2
181 Simulating Entanglement 3
182 Simulating Entanglement 4
183 Independent Photons
184 Effect of Measurement
185 Summary

Quantum Computing Model
186 Quantum Circuits
187 Fanout
188 Uncomputing
189 Reversible Gates
190 Quantum NOT
191 Other Single Qubit Gates
192 CNOT Gate
193 CCNOT Toffoli Gate
194 Universal Gate
195 Fredkin Gate
196 Effects of Superposition and Entanglement on Quantum Gates

Quantum Programming with Microsoft Q
197 Q Qiskit or Cirq
198 Installing Q
199 Reminder
200 Q Simulation Architecture
201 Q Controller
202 Q Execution Model
203 Measuring Superposition States
204 Overview of 4Qubit Simulation Framework
205 Set Operation
206 Iterative Measurement
207 Verifying Output after Initialization 1
208 Verifying Output after Initialization 2
209 NOT Operation
210 Superposition
211 SWAP
212 CNOT
213 Significance of Superposition and Entanglement
214 Effect of Superposition on Quantum Gates
215 Toffoli Gate General Configuration
216 Verifying Results
217 Toffoli Configured as NOT
218 Toffoli Configured as AND
219 Toffoli Configured as Fanout

IBM Quantum Experience
220 IBM Quantum Note
221 IBM Quantum Experience

Quantum Programming and Algorithms With IBM Qiskit
222 Qiskit Code Resources
223 What is Qiskit
224 Installing Python and Qiskit
225 Interactive Python
226 Jupyter Notebooks
227 Spyder Python IDE
228 Variables and Assignment
229 Data Types
230 Operators
231 Type Conversion
232 Strings
233 Lists
234 Dictionaries
235 Loops
236 Decisions
237 Functions
238 Object Oriented Programming
239 Exceptions
240 Modules
241 Quantum Circuits 1
242 Quantum Circuits 2
243 Quantum Circuits 3
244 Quantum Circuits 4
245 Quantum Circuits 5
246 Running a Circuit
247 Circuit Matrix
248 Implementing BB84 Cryptography
249 Shors Algorithm

Machine Learning Foundation
250 Introduction to Machine Learning
251 What is AI
252 Structure of ML Systems
253 Learning With Models
254 Speed Up Learning
255 Underfit & Overfit
256 Classification
257 Sigmoid Models
258 Regularization 1
259 Regularization 2
260 Machine Learning Libraries
261 Machine Learning Coding
262 MultiLayer Network 1
263 MultiLayer Network 2
264 Convolution 1
265 Convolution 2
266 Convolution 3
267 Recurrent

Quantum Machine Learning With Qiskit
268 Quantum Machine Learning with KNN
269 KNN Problem Description
270 Code for Classical KNN
271 Code for Quantum KNN
272 Math for Classical KNN
273 Math Prerequisites for Quantum KNN
274 Math for Quantum KNN
275 Connecting Math and Code for Classical KNN
276 Connecting Math and Code for Quantum KNN
277 Introduction to Classification
278 Support Vector Machines Separation
279 Support Vector Machines Overfitting
280 Support Vector Machines Soft Margins
281 Support Vector Machines Higher Dimensions and Kernels
282 Support Vector Machines Multiple Classes
283 Quantum Support Vector Machines
284 Significance of Quantum Machine Learning