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}`