Yao.jl: Extensible, Efficient Framework for Quantum Algorithm Design
Xiu-Zhe Luo, Jin-Guo Liu, Pan Zhang, Lei Wang
Abstract
We introduce <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow class="MJX-TeXAtom-ORD"><mml:mtext mathvariant="monospace">Yao</mml:mtext></mml:mrow></mml:math>, an extensible, efficient open-source framework for quantum algorithm design. <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow class="MJX-TeXAtom-ORD"><mml:mtext mathvariant="monospace">Yao</mml:mtext></mml:mrow></mml:math> features generic and differentiable programming of quantum circuits. It achieves state-of-the-art performance in simulating small to intermediate-sized quantum circuits that are relevant to near-term applications. We introduce the design principles and critical techniques behind <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow class="MJX-TeXAtom-ORD"><mml:mtext mathvariant="monospace">Yao</mml:mtext></mml:mrow></mml:math>. These include the quantum block intermediate representation of quantum circuits, a builtin automatic differentiation engine optimized for reversible computing, and batched quantum registers with GPU acceleration. The extensibility and efficiency of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow class="MJX-TeXAtom-ORD"><mml:mtext mathvariant="monospace">Yao</mml:mtext></mml:mrow></mml:math> help boost innovation in quantum algorithm design.