Skip to content
This repository has been archived by the owner. It is now read-only.
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Stable Dev Build Status Codecov

Extensions for Yao. (Abandoned, circuits and hamiltonians are moved to Yao.EasyBuild)

List of features

Easy constructions

  • circuits

    • variational_circuit(n): construct a random parametrized circuit.
    • rand_supremacy2d(nx, ny, depth): construct a quantum supremacy circuit.
    • qft_circuit(n): construct a quantum fourier transformation circuit.
    • rand_google53(): construct a Google's 53 qubit supremacy circuit.
  • circuit building blocks

    • general_U4(): an optimal decomposition of a U(4) gate.
    • cphase(nbit, i, j), cz(nbit, i, j)
  • hamiltonians

    • heisenberg(n): construct a heisenberg hamiltonian.
    • transverse_ising(n): construct a transverse field Ising hamiltonian.

Block extensions

  • primitive blocks

    • SqrtX, SqrtY, FSim, ISWAP, SqrtW
    • Mod: modulo operation block.
    • QFT: faster implementation of QFT subroutine, instead of running QFT circuit faithfully, simulate it with classical fft (thus much faster).
    • RotBasis: basis rotor, make measurements on different basis easier.
    • MathGate: classical mathematic functions.
    • ReflectGate: used in grover search,
  • composite blocks

    • Bag: a trivial container block that gives the flexibility to change the sub-block, as well as masking. Mainly used for structure learning.
    • ConditionBlock: conditional control the excusion of two block.
    • Sequence: similar to chain block, but more general, one can put anything inside.
    • PauliString: a paulistring.


  • gatecount, count the number of gates,
  • faithful simulation of gradients, including observable loss and MMD loss