- Quantum Computers are not the next generation of Supercomputers
- We need to understand the fundamental physics that drives the theory of quantum computing
- For this, we need to dive into a new dimension, smaller and more alien than anything we intuitively understand: **the subatomic world of quantum mechanics **
- Feynman concluded that the classical computers just can't scale up fast enough to keep pace with the growing complexity of quantum calculations
[[Explaining Quantum 2]]
At the heart of [[Quantum Physics]] is [[Amplitudes]]
Quantum mechanics at it's core is a **change to the rule of probabilities **
Different rules of [[probability]] than the ones we are used to
##### Example
If we want to know the classical probability of an event, say a coin landing tails 10 times out of 20. We add up all the probabilities of that event happening. That's common sense.
![[Pasted image 20211002122955.png]]
But common sense does not govern the quantum universe. Before you measure a subatomic particle, you can think of it as a wave of probability that exists in a black box. A quantum system of many different chances of being in many different places
![[Pasted image 20211002124008.png]]
![[Pasted image 20211002123928.png]]
[[Amplitudes]] are closely related to probabilities, but they are not probabilities.
Key difference is that probabilities are numbers from 0 to 1 = Real Numbers
Amplitudes are complex numbers = obey different rules .
If I want to know the total amplitude for something to happen, I have to add the amplitudes of all the different ways it could have happened.
![[Pasted image 20211002124458.png]]
![[Pasted image 20211002124554.png]]
![[Pasted image 20211002125022.png]]
![[Pasted image 20211002125351.png]]
![[Pasted image 20211002125427.png]]
![[Pasted image 20211002125511.png]]
Quantum computers use amplitudes to store and manipulate information quantumly?
Bit is binary: stores information in string of binary digits
[[Qubits]]: Subatomic particles that operate according to subatomic logic. Qubits can be 0, 1 or what we call a linear combination of 0 and 1. This fluid combination of amplitudes is at the heart of quantum computing.
![[Pasted image 20211002125705.png]]
![[Pasted image 20211002130354.png]]
Before you measure a qubit, it exists in a state called [[Superposition]].
When 2 particles in Superposition are very close together, they are in [[Quantum Entanglement]].
![[Pasted image 20211002131241.png]]
---
![[Pasted image 20211002131530.png]]
![[Pasted image 20211002131603.png]]
![[Pasted image 20211002131647.png]]
To extract an answer from the quantum system that isn't just a random outcome of probability (like the flip of a coin), we have to use [[Interference]]
![[Pasted image 20211002132118.png]]
[[Quantum Algorithms]], harnessing interference by creating a deterministic sequence of qubit gates.
Qubit gates cause amplitudes to add up constructively. That is they are mathematically guaranteed to boost the probability of seeing one of the right answers
How could you possibly concentrate all these amplitudes on the right answer, when you yourself do not know what that answer is in advance. That is why it so hard to design quantum algorithms.
![[Pasted image 20211002132408.png]]
![[Pasted image 20211002132609.png]]
![[Pasted image 20211002132641.png]]
---
### Quantum vs Classical and Scaling Behaviour
Achieve better **scaling behavior** or running time as a function of n, that is the number of bits of input data.
You could take a problem where the classical algorithm needs a number of steps that grows exponentionally with n, and solving it using a number of steps that grows only as n^2.
In such cases, for small n, the quantum computers will actually be slower and more expensive than solving it classically. It's only as n grows that the quantum speed up first appears and then eventually comes to dominate.
----
To build a quantum computer you must harness the **quantum nature of fundamental particles like electrons, ions, and photons** and manipulate and measure their quantum states of **spin and polarization** respectively, so they may represent a bit, called a qubit, for the purposes of computation.
n qubits represent 2^n states
![[Pasted image 20211028141411.png]]
![[Pasted image 20211212155140.png]]
the design goal is to implement **arbitrarily long quantum algorithms** in a system that can handle quantum noise (signal disturbance developed through statistical nature of creation and collection of photoelectrons).