qchackers: QuanAcademy

Quantum Programming Language

We developed a Quantum Programming Language to be used with out Compiler and run on our Quantum Virtual Machine. This language includes a large majority of the standard quantum gate sets as well as other high level instructions which are compiled to a subset of universal instructions. This higher level instructions include autmatically generating a Bell state with the BELL X Y Z command, and applying the CNOT gate to two non consecutively addressed qubits.

I {q}
X {q}
Y {q}
Z {q}
H {q}
T {q}
S {q}
CNOT {q1} {q2}
SWAP {q1} {q2}
RY {q} {r}
RX {q} {r}
RZ {q} {r}
MEASURE {q}
BELL {q1} {q2} {v}
CLASSICAL {c} {v} {s}

{qX}is the qubit register
{r} is the rotation for the rotation gates applied to qubit
{v} in the BELL instruction describes which BELL state to construct (1-4)

The CLASSICAL instruction is unique. It accesses classical registers which correspond to measured values of qubit registers. It acts as control instruction as the {s} describes how many lines to skip if the value of the classical register is equal to that found in {v}