I’m a Ph.D. candidate at MIT CSAIL working with Prof. Michael Carbin. Here’s my CV.
I study how to program a quantum computer to practically realize quantum algorithms. Quantum computers promise up to exponential speedups for tasks such as simulation, search, and optimization. However, achieving this speedup in practice forces us to fundamentally rethink the abstractions, such as data structures and control flow, that we use to write algorithms as programs. My research builds a new software stack of languages, libraries, and compilers to realize quantum algorithms on hardware.
I’m on the academic job market this year. Please reach out if you’re hiring!
You can email me at ude.tim@nauyselrahc or find me on GitHub, LinkedIn, or Scholar.
I worked as a Research Intern at Google Quantum AI in Summer 2024. I also used to work as a developer at Hudson River Trading. Before that, I studied at Carnegie Mellon and interned at Two Sigma, Airbnb, and Google.
What limits how fast a program can run 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 speedup of an algorithm, and present an optimizing compiler that recovers efficient programs.
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 the speedup of the quantum algorithm – and present a new instruction set for correctly 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 developers can invoke to realize 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 language and 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.