Lecture 01
Lecture 01
An introduction
• Email: [email protected]
• mention something quantum in your
email
Maths
“I think I can safely say that nobody
understands quantum mechanics”
Maths
Neumann, to a physicist seeking help with a difficult problem: Simple.
This can be solved by using the method of characteristics.
Physicist: I’m afraid I don’t understand the method of characteristics.
Neumann: In mathematics you don’t understand things. You just get
used to them.
O(1000000 )
RSA-230: cracked in 2018
RSA-1024: worth $100,000; RSA-2048: worth $200,000
No one knows if there’s polynomial time algorithm for factoring
Cryptography
Multiplication
Easy, encryption
Factoring
Hard, decryption
2
Peter Shor, 1994. A quantum computer could factor n-bit number in O(n ) steps.
Polynomial time!
Uses basic fact of quantum mechanics: given
say 1000 photons / electrons, their “joint state” is
defined by 2^1000 numbers, stored by Nature.
We would like to hack into Nature’s computer.
Shor’s algorithm from 1994 was based on an
earlier quantum algorithm of Daniel Simon.
Who’s Everett, and what’s his interpretation? I was approaching
the problem purely from a computer scientist's perspective. I
learned the absolute bare minimum of physics I needed to be
able to understand the computer science question, which (as I
saw it) was, “these crazy people are claiming that if you add
these very-weird-yet-theoretically-physically-implementable
functions to a computer, then you should be able to do amazing
things with them. Prove them right or wrong.” I actually started
out trying to prove that quantum computing was useless, and
eventually narrowed down the difficult, unsimulateable part [of
QC's power] to, “Rotate, compute, rotate”. That helped guide
my search for a computationally interesting quantum algorithm.
Daniel Simon
Disclaimer
Large quantum computer has not been built
Largest number factored using Shor’s algorithm is
twenty-one
Quantum computation
≈ Classical computation + 1 extra power
Probabilistic Computing
What if classical computing was augmented with randomness?
Algorithm:
n
• Choose a random vector x ∈ {0,1}
• Calculate y = A(Bx) − Cx
• If y = 0, output CORRECT; otherwise, output INCORRECT.
Analysis:
2
• Performs n arithmetic operations
• IfAB = C, answers CORRECT with probability 100%
• If AB ≠ C, answers INCORRECT with probability ≥ 50%
ffi