I’m a Ph.D. candidate at MIT CSAIL working with Prof. Michael Carbin. I’m also a Research Intern at Google Quantum AI for Summer 2024. Here’s my CV.
I design programming systems that enable us to correctly and efficiently implement algorithms on quantum computers. More generally, my research interests lie in the challenges of programming quantum and other emerging models of computation.
You can email me at ude.tim@nauyselrahc, or find me on GitHub or LinkedIn.
I used to be a developer at Hudson River Trading. Before that, I studied at Carnegie Mellon and interned at Two Sigma, Airbnb, and Google.
What limits the speed of a program on a quantum computer that uses an error-correcting code as needed in practice? We show how the quantum version of an if
-statement can introduce an asymptotic slowdown that diminishes the advantage of a quantum algorithm, and how we can design compilers to mitigate this slowdown.
Can we program a quantum computer using the same abstractions for control flow, such as conditional branches and loops, as on a classical computer? We prove that the answer is no – this would destroy quantum computational advantage – and present new correct abstractions for realizing control flow in quantum algorithms.
How do we implement a data structure, such as a list, set, or dictionary, on a quantum computer? We present a programming language for working with pointers stored in the states of qubits in superposition. Using it, we build a quantum library of data structures that lays the foundations for realizing quantum algorithms that rely on them.
How do we reason about the impact of entanglement, or “spooky action at a distance,” on the correctness of a quantum program? We present a type system for a concept of purity that identifies unintuitive behavior caused by entangled quantum data, and illustrate how this system can catch bugs in quantum programs.