A General Purpose Quantum Computation Simulation Framework

Welcome to Yao, a Flexible, Extensible, Efficient Framework for Quantum Algorithm Design. Yao (幺) is the Chinese character for normalized but not orthogonal.

We aim to provide a powerful tool for researchers, students to study and explore quantum computing in near term future, before quantum computer being used in large-scale.

Quick Starts

You can learn how to use Yao with some quick examples in this section. There are three badges on the top of each tutorial that allows you to open it in mybinder, preview it in nbviewer or download the tutorial as .zip file, which includes the notebook and the scripts and other related materials.


If you are interesting in polishing or contributing our tutorial, you can just open a PR in our tutorial repo.


The tutorials are written with Literate.

Pluto Notebooks

There is also a set of Pluto notebooks available in the notebooks folder