Wednesday, December 26, 2012

Quantum Circuit Simulator

All I wanted for Christmas was a quantum circuit simulator. So I wrote one in Javascript using NumericJS.

Check it out: http://www.davyw.com/quantum

For a good "Hello world" circuit, here's the diagram for a Bell State...
Try evaluating it yourself and see that |00> or |11> are the only possible outcomes.

You can even compile your own circuits into gates to use in other circuits.

Construct a circuit that transforms a single qubit into |0> with 75% probability and |1> with 25% probability, such as:
Then compile that into gate "F" and use it to create a superposition of |00> with 75% prob and |11> with 25% prob, like this:
Let me know if you find any use out of this. And definitely let me know if you find any bugs.

2 comments:

Arsym said...

Correct me if I'm wrong, but it seems your Pauli-Y gate applies the wrong transformation matrix.
It's doing:
0 1
-1 0

rather than:
0 -i
i 0

Otherwise, it seems like a really solid tool. I'm trying to get the basics of quantum computation, and a simulator should help make things a little more intuitive.

Wybiral said...

Thanks! You are correct, somehow that slipped through the cracks. It's fixed now. I definitely welcome feedback.

I'm working on cleaning up the code some so I can get it all hosted on a version control system so others can review the code and contribute.