QuantumBFS / Yao.jl

Extensible, Efficient Quantum Algorithm Design for Humans.
https://yaoquantum.org
Other
934 stars 123 forks source link

Support for lowering to QASM #124

Closed Roger-luo closed 5 years ago

Roger-luo commented 6 years ago

Proposal on supporting QASM

QASM is a widely used format for describing a quantum circuit or a sequence of quantum operations. Since our block tree is a higher format of quantum circuit, to interact with other libraries (e.g import old projects into Yao, export block trees to hardware, etc.) supporting QASM will give Yao this ability.

Related work

openqasm scaffcc-python rust-QASM Quantum

Method

Lowering Block Tree to QASM

The block tree have already contain complete information about a quantum circuit. Simply lowering the composite blocks to a single sequence should be easy.

Parsing QASM back to Block Tree

TO BE DONE

GiggleLiu commented 6 years ago

Now it can be very easy to dump QASM with unified subblocks and iparameter interfaces. Let’s keep it moving.

Remarks

QASM is the lowest level we are able to go towards hardware, unless some experts are willing to contribute codes. i.e. we are not going to support the following features in near term

Agree?

Roger-luo commented 5 years ago

XRef: https://github.com/thautwarm/RBNF.jl

Roger-luo commented 5 years ago

this is in YaoQASM now