Software Languages Lab
Published on Software Languages Lab (http://soft.vub.ac.be/soft)

Home > Quantum Virtual Machine

Quantum Virtual Machine

Groups audience: 
BDP [1]
Logo Image: 
Promoted to Artifact Page: 
Yes
Keywords: 
parallel computing
quantum computing
virtual machines
Description
Description: 

A small interpreter for the Measurement Calculus (Danos et al. 2009), written in high-performance C.

The master branch version uses libquantum to perform the unitary and measurement operations. The openmp branch does not use libquantum anymore and uses OpenMP to parallelize the quantum operations considerably.

Examples: 
 > echo '((E 1 2) (M 1 0) (X 2 (q 1)))' | ./qvm

I have read: ((E 1 2) (M 1 0) (X 2 (q 1))) Resulting quantum memory is: qmem has 1 tangles: {[2] , { 1.000000 +0.000000i|0> (1.000000e+00) (|0>) }} signal map: { 1 -> 0, }



> ./qvm w3.mc # non-trivial MC program example, creates the W3 entangled stated

I have read: ((E 1 2) (E 2 3) (E 3 4) (E 4 5) (E 5 6) (E 6 7) (E 7 8) (E 8 9) (E 9 10) (E 11 12) (E 12 13) (E 13 14) (E 14 15) (E 15 16) (E 16 17) (E 17 18) (E 9 18) (E 8 13) (M 1 0) (M 2 PI/2) (M 3 -1.2309594173407746821 (+ (Q 1) (Q 2))) (M 4 PI/2) (M 5 0) (M 7 0) (M 8 0) (M 9 0) (M 11 -PI/4) (M 12 PI/2) (M 13 0) (M 14 PI/2) (M 15 PI/4 (Q 14)) (M 16 PI/2) (M 17 0) (Z 6 (+ 1 (Q 2) (Q 3) (Q 4))) (X 6 (+ (Q 1) (Q 3) (Q 5))) (Z 10 (+ 1 (Q 8) (Q 11) (Q 12))) (X 10 (+ (Q 9) (Q 11) (Q 13) (Q 15) (Q 17))) (Z 18 (+ 1 (Q 8) (Q 14) (Q 15) (Q 16))) (X 18 (+ 1 (Q 1) (Q 3) (Q 5) (Q 7) (Q 11) (Q 13) (Q 15) (Q 17)))) Resulting quantum memory is: qmem has 1 tangles: {[6, 10, 18] , { 0.569036 +0.097631i|4> (3.333334e-01) (|100>) 0.569036 +0.097631i|2> (3.333334e-01) (|010>) 0.569036 +0.097631i|1> (3.333334e-01) (|001>) }} signal map: { 1 -> 0, 2 -> 1, 3 -> 0, 4 -> 0, 5 -> 0, 7 -> 0, 8 -> 0, 9 -> 1, 11 -> 0, 12 -> 1, 13 -> 1, 14 -> 1, 15 -> 0, 16 -> 0, 17 -> 1, }
Download: 

https://github.com/yvdriess/qvm [2]


Source URL: http://soft.vub.ac.be/soft/content/quantum-virtual-machine

Links
[1] http://soft.vub.ac.be/soft/bdp
[2] https://github.com/yvdriess/qvm