Our group works in the area of algorithms and computer architecture, particularly in the context of quantum computing. We architect practical quantum systems that enable novel, complex computational applications. Specifically, our current research efforts consist of several themes:
  • Enabling Quantum Algorithms in the Presence of Noise — Emerging quantum computing applications need theoretical efficiency guarantees and practical noise-resilient implementations in order to show their advantage over classical algorithms. We are exploring quantum circuit designs that achieve high accuracy for problems such as Hamiltonian simulations and machine learning tasks.

  • Designing Efficient Compiling Software — Traditional quantum compilation typically seeks universality, in that it decomposes any target unitary into a sequence of instructions from a set of basis gates. We are developing systems software that takes advantage of device connectivity and ancillary qubits to better understand the conditions for efficient universality.

  • Architectural Support for Quantum Noise Mitigation and Error Correction — We are recently developing application- and device-adapted error correction methods and exploring the role of architecture in enabling efficient detecting and decoding of errors.

Emerging Quantum Applications

Numerical Analysis
Hamiltonian Simulation
Machine Learning


Quantum technology is transforming a wide range of computing applications. From theoretical computer science applications, to numerical analysis, to simulations of nature, and recently to machine learning tasks. By utilizing quantum mechanical properties such as superposition and entanglement, quantum computers can perform computational tasks that are intractable on conventional digital computers. We want to understand what problems are easy on a quantum computer and how do we demonstrate such advantages if any, via both rigorous proofs and empirical benchmarking.

Full-Stack Quantum Computer Systems

Quantum Stack
Quantum Stack

Quantum systems are inherently noisy, in that one error can occur every few thousand quantum operations. These errors vary across different systems and drift over time. Central to the design of quantum computer systems is to understand and mitigate those errors while maintaining scalability and programmability. We use a software-hardware co-design philosophy to automate the mapping from device-agnostic quantum programs to noise-adapted quantum circuits.

Towards Fault-Tolerant Quantum Computing

In the long run, scaling up to fault-tolerant systems is critical if quantum computers are to realize their full potential. Conventional quantum error-correcting codes usually have significant resource costs in terms of system size and operation count, partly because they are designed to correct general errors regardless of noise sources. Our research seeks to implement error detection and correction that are adapted to target applications and hardware. Besides exploring novel error correction codes, we aim to provide architectural supports for them, such as fault-tolerant gate synthesis, error correction scheduling, and calibrated decoding, etc.


We publish in top-tier peer-reviewed venues across disciplines.

Join Us

Our group is always looking for great students who wish to work on QC research topics or bring their own creative ideas. If you are interested in joining our group as graduate students, postdoctoral scholars, or undergraduate researchers, please see the link below for more details.