Projects, presentations, and papers related to my research
(2023) Numerical Synthesis of Arbitrary Multi-Qubit Unitaries with Low T-Count
My Master's Thesis covers the background of fault-tolerant quantum computing, including the basics of quantum error correction and quantum gate teleportation. It also describes a novel technique for adapting numerical-optimization based quantum synthesis techniques to optimize Clifford+T circuits for error-corrected quantum computers. This technique, combined with numerical synthesis methods, was able to derive best-known results in terms of Rz and T counts starting from unitaries.
(2022) LEAP: Scaling Numerical Optimization Based Synthesis Using an Incremental Approach
This paper describes a method of guiding an approximate search algorithm to improve runtime by reducing backtracking. This algorithm maintains a record of the search progress and analyzes this record to make partition points, which prevent the search from backtracking. This greatly improves search runtime at the expense of a small increase in circuit length, which can mostly be recovered through a post-processing step. This is an improvement on the basic A* search algorithm presented in Towards Optimal Topology Aware Quantum Circuit Synthesis, and has code implementations in the Python packages BQSKit and Qsearch.
(2020) 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. A newer implementation is available in the BQSKit 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.