Joined October 2011
232 Photos and videos
Pinned Tweet
I'm releasing a series of videos called "Quantum Computer Programming in 100 Easy Lessons". youtube.com/playlist?list=PL… It will cover the 'usual' content (...CHSH, Grover, Factoring), but with some expositional innovations that I *hope* will make it easier for beginners.
25
140
14,173
Ryan O'Donnell retweeted
19 Aug 2025
New w/ Meghal Gupta, William He, @BooleanAnalysis arxiv.org/abs/2508.09422 We give a quadratically faster classical algo for noisy planted kXOR (k > large const), dispelling (for now) claimed quartic speedup for quantum algos. 🧵 (1/10)
1
7
32
3,603
In case you're in Cambridge, MA on Tue. Dec. 10, I'll give a talk at 4pm (MIT 32-G449) about coboundary expansion in high-dimensional expanders. It's kind of about group theory, though. toc.csail.mit.edu/node/1671 Besides coauthor @singerng_, here's the cast of characters:
1
2
24
3,216
Student I know wants to apply for a PhD program doing quantum computing. But she also wants to be in the *math* department. My brain couldn't do the lookup "QC person but in Math dept." Any suggestions for universities having such a person? Diverse suggestions (by DM) welcome!🙏
26
1
49
13,031
I just posted the 100th and final video in my YouTube course, "Quantum Computer Programming in 100 Easy Lessons". If you're interested in learning quantum computing, and you have some 100 consecutive days with a half-hour free, maybe check it out :-) youtube.com/playlist?list=PL…
1
24
157
12,556
In case you're in the Boston area, I'll talk about "Quartic quantum speedups for planted inference" tomorrow (Sep. 13) at Harvard at 4pm. This is at the Freedman CSMA Seminar. cmsa.fas.harvard.edu/event/f…
1
11
1,947
Final quantum course tidbit #10: In the course, we do Grover's algorithm (i.e., SAT in (√2)ⁿ quantum time) before doing the Factoring algorithm. Always seems funny to me that most courses do them in the other order. (Why is this? To follow the historical order?) Not only is Grover much easier than Factoring, there's a straight through-line: 1. Distinguishing two 1-qubit states. 2. Distinguishing two 1-qubit rotations (or reflections). 3. Elitzur-Vaidman Bomb. 4. Grover. 5. Grover when you don't know the fraction of satisfying assignments, by binary search. 6. Rotation (Phase) Estimation for 1-qubit rotations. 7. Very high-precision 1-qubit Rotation Estimation, if you can do any power of the rotation efficiently. 8. General Rotation Estimation when you don't know the plane of rotation (i.e. Phase Estimation with an input eigenvector). 9. Applying Rotation Estimation to the permutation induced by "multiply by B, mod N". 10. Factoring N.
2
4
40
4,264
Quantum course tidbit #9: So if there are no complex numbers in the course, how do we do Shor's Algorithm? We don't; we do Kitaev's version of the Factoring algorithm, which just uses Phase Estimation. Well, not Phase Estimation, but "Rotation Estimation" as we call it, since no complex numbers in the course means no "phases"... For every real unitary operation U (including the operation "increment a number modulo L" which arises in Factoring), space breaks down into a bunch of orthogonal 2-d planes, where U acts as a 2-d rotation in each plane. (There can also be 1-d axes where U acts as reflection or as identity.) (In 3-d, this is "Euler's Rotation Theorem", which says that any 3-d rotation is actually a 2-d rotation around some axis.) "Rotation Estimation" is the quantum algorithm that -- given a real unitary U and a state |v> that's in one of U's 2-d planes of rotation -- outputs the angle by which U rotates that plane. To get the angle to k digits of precision, the algorithm uses U roughly 10^k times. Contrary to the way Phase Estimation is usually presented, you don't need QFT for this either. It's basically just binary search. youtube.com/watch?v=YZ7_U3pr…

1
26
3,084
Probably the largest set of different home countries I've gotten the chance to lecture to. :) Thanks to Jan Hązła and the rest of @AIMS_Next for inviting me to participate!
Replying to @AIMS_Rwanda
We are privileged to have three distinguished lecturers leading courses on the theory of computation (Ryan O'Donnell, Carnegie Mellon University), Error-correcting codes (Venkatesan Guruswami, UC Berkeley) and combinatorial statistical mechanics (Amin Coja-Oghlan, TU Dortmund).
32
2,936
Quantum course tidbit #8: youtube.com/playlist?list=PL… There're also no complex numbers in my quantum course. Of course I tell the students that qubit amplitudes 𝒄𝒂𝒏 be complex, but we never use them in any of our algorithms. (Yes, we do the Factoring algorithm in 100% detail!)
5
1,243
Quantum course tidbit #7: youtube.com/playlist?list=PL… There's almost no linear algebra in the course. Arguably, you just need to know how to add and subtract vectors. What linear algebra there is, I prefer to call "geometry". (Even matrix multiplication is "paths diagrams".)
3
20
1,922
(1/3) Quantum course tidbit #6: youtube.com/playlist?list=PL… Why is |EPR> = |00> |11> special? Because when you draw it as a square, it's the 2x2 identity matrix.
1
3
1,098
(2/3) In general, if you draw any 2-qubit state as a 2x2 matrix M like this, it's easy to see that acting by U on the left qubit by is equivalent to multiplying M by U on the left. And acting by V on the right qubit is equivalent to multiplying M by V on... um, the top... Which, if you think it through, is right-multiplying M by Vᵀ.
1
736
(3/3) So if the 2-qubit state is |EPR>, the 2x2 matrix M is the identity matrix, and you see that Alice doing "rotation by θ" on the left qubit is equivalent to Bob doing "rotation by -θ" on the right qubit. Very useful for a simple analysis of the CHSH game -- no trigonometric identities needed...
718
(5/6) I think this 'geometric' way of keeping track of a 3-qubit state's amplitudes is much more pleasant than writing out tons of kets and tensors and whatnot.
1
411
(6/6) Incidentally, note now that every A-directed (up-down) edge has one x and one ±y. Good work, Bob! Now if Bob measures B and C, the resulting state of Alice's A is one of those 4 up-down edges. In particular, it would have one amplitude of x and one amplitude of ±y. Moreover, the 2-bit outcome Bob sees tells him which of the 4 edges Alice got. So if he informed Alice of these 2 bits, she could easily swap and/or negate some amplitudes to fix A up to x|0> y|1>. (Quantum teleportation, ta-da.)
395
(3/6) Now say Bob does "If C then toggle B". (Nerds call this "CNOT C B".) Well, C is true (1) on the back face, and B is the horizontal direction, so we swap amplitudes on the back face's horizontal edges, getting to:
1
1
379
(4/6) Now suppose Bob does "Add & Dif on C". (Nerds call this "Hadamard C" and get 1/sqrt(2)'s involved, yuck.) C is the front-back direction, so on each of the four front-back edges, we place the sum of the amplitudes on the |0> (front) side and the diff of the amplitudes on the |1> (back) side, yielding:
1
1
349
(1/6) Quantum course tidbit #5: youtube.com/playlist?list=PL… I really enjoy depicting 2- and 3-qubit states as labelings of the vertices of the square/cube by amplitudes. E.g., here is |EPR> = |00> |11> (remember, we like unnormalized states):
1
6
682
(2/6) If Charlie hands Bob a new qubit C initialized to x|0> y|1>, the resulting 3-qubit state has x amount of |EPR> on the front face and y amount on the back face:
1
294