Last update: August 2026
Quantum algorithms do not exist in isolation. Their practical performance depends on the architecture they run on, the compiler that translates them to the hardware, and our ability to execute them reliably.
My research takes a full-stack approach to quantum computing. We develop scalable quantum architectures, hardware-aware compilation methods, techniques for reliable quantum computation, and quantum algorithms for realistic scientific and industrial applications.
The aim is to narrow the gap between algorithms on paper and algorithms that run reliably on real quantum processors. Across the stack, we combine algorithmic methods with optimization, data-driven techniques, and reproducible software to understand and improve the trade-offs between hardware, software, and applications.
How should quantum computers be designed as they grow beyond small, monolithic processors? We investigate scalable and modular architectures, hardware-software co-design, communication between quantum cores, and automated exploration of architectural design choices.
How do we efficiently translate a quantum algorithm to the constraints of a particular processor? We develop hardware-aware compilation techniques for mapping, routing, scheduling, and decomposition, with an emphasis on scalable compiler methods that adapt to different quantum architectures.
How can useful quantum computation remain possible in the presence of errors? We investigate quantum error correction, decoding, and methods for understanding and improving the reliability of quantum computation from novel code constructions to practical real-time decoding.
Where can quantum computing provide meaningful computational capabilities? We study quantum algorithms through realistic application problems, particularly in optimization, planning, and engineering. Applications are not only an end goal, they also provide demanding benchmarks that inform architectural and software design.