Quantum Virtual Machine using libquantum simulator as backend.
C Python Other
Latest commit ba92ffc Jul 17, 2013 @yvdriess misc
Permalink
Failed to load latest commit information.
bench_results qft_new now contains more extensive quantum fourier programs May 24, 2013
qft added the much larger qft18.mc example Jun 11, 2013
qft_new updating qft examples Aug 20, 2012
scripts re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
sexp qft_new now contains more extensive quantum fourier programs May 24, 2013
Makefile misc Jul 17, 2013
README expanded somewhat Dec 23, 2011
bitmask.h should be feature complete, w3.mc still fails for some reason Jan 13, 2012
cnot.mc added -m option to always collapse to |-> basis Feb 9, 2012
deutch-jozsa.mc updating qft examples Aug 20, 2012
dj2.mc bugfinding Jan 16, 2012
ghz-3.mc bugfinding Jan 16, 2012
ghz-7.mc bugfinding Jan 16, 2012
identity.mc bugfinding Jan 16, 2012
j.mc re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
membench.sh qft_new now contains more extensive quantum fourier programs May 24, 2013
onot.mc re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
plot re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
qvm.c misc Jul 17, 2013
qvm.h added qvm.h Feb 9, 2012
rot.mc re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
rx.mc re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
ry.mc re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
rz.mc re-worked command line interface somewhat, uses getopt internally Feb 1, 2012
w3.mc re-worked command line interface somewhat, uses getopt internally Feb 1, 2012

README

A small Measurement Calculus interpreter using libquantum as quantum simulator backend.

Requires libquantum to be installed systemwide. Modify the Makefile to point to a different location than /usr/local/lib & /usr/local/include


'qvm' asks for a single s-expression on the standard input. The QVM uses the Measurement Calculus (by Danos et al.) as an instruction set.
example:
  echo '((E 1 2) (M 1 0) (X 2 (q 1)))' | ./qvm