Research Work

Projects, presentations, and papers related to my research

Towards Optimal Topology Aware Quantum Circuit Synthesis

This paper describes an algorithm that can produce highly efficient quantum circuit implementations of quantum procedures described by unitary matrices. The algorithm works by generating a tree of ansatz circuit structures and searching the tree using A* search. The paper won a Best Paper Award at IEEE Quantum Week 2020, where I published it. I also presented an earlier version of the paper, Heuristics for Quantum Compiling with a Continuous Gateset at IWQC 2019 and APS March Meeting 2020. A Python implementation of the algorithm described in the paper is available in the Qsearch Python package.


My implentation of the algorithm described in my paper Towards Optimal Topology Aware Quantum Circuit Synthesis (which won Best Paper Award at IEEE Quantum Week 2020) is the main component of the Python library Qsearch. It can take a unitary matrix as a numpy ndarray and will produce a quantum circuit that implements the matrix using a specified quantum gateset. The circuit can then be exported to a different format, such as qiskit or qasm code. Qsearch can generate circuits for 4-qubit unitaries in less than an hour, and produces circuits significantly shorter than most other synthesis techniques. Qsearch also includes a method for larger exploration of the search space by approximate partitioning of the search tree, called LEAP. By taking advantage of the more efficient but approximate search strategy provided in LEAP, circuits can be generated for unitaries as big as 6 qubits in a matter of hours. The circuits generated by LEAP tend to be longer than those normally generated by Qsearch, but a post-processing algorithm is able to shorten these circuits to the extremely short lengths normally generated by Qsearch. The source code for Qsearch, including LEAP is available open-source on GitHub as part of the Berkeley Quantum Synthesis Kit (BQSKit).


Professor Stamper-Kurn's E5 UltraCold lab needed to recieve and process data from multiple AVT cameras simultaneously and the software they were using, EdCam by Edward Marti, could only support one camera at a time. So I wrote my own version from scratch, which the grad students dubbed MarcCam. It features several camera modes including a hardware trigger feature, modified gaussian fit on the image data, blank image detection, and support for an arbitrary number of cameras.


While working for Professor Juan Pestana in the UC Berkeley Civil Engineering department in 2013, I ported a MATLAB program to iOS. Doing so involved writing a versatile graphing engine, creating seperate versions of the UI to looks good on iPads and iPhones, and writing a small array math library to replace certain MATLAB features. MCCGUI stands for Modified Cam Clay Graphical User Interface and is a software designed to visualize the predicted soil response for clays in drained and undrained triaxial testing using the original modified cam clay. This model uses the critical state soil mechanics framework to describe the effect of stress and density (related through stress history) on the response of clayey soils. The original MATLAB code was written by Christopher Hunt and Professor Pestana.

Mohr's Circle 2D

Another project I did while working for Professor Pestana was the Mohr's Circle app, which determines the normal and shear stress acting on a plane given the values of normal and shear stresses acting on Vertical and Horizontal Planes. The app, which was released in 2014, allows an interactive experience with the stress orientation.