Simulating a quantum computer on a classical one does indeed require a phenomenal amount of resources when no approximations are made and noise is not considered. Exact algorithms for simulating quantum computers require time or memory that grows exponentially with the number of qubits or other physical resources.
ProjectQ is an open-source software framework for quantum computing implemented in Python. It allows users to implement their quantum programs in Python using a powerful and intuitive syntax.
Quantum simulators are software programs that run on classical computers and make it possible to run and test quantum programs in an environment that predicts how qubits react to different operations, making it easy to test and debug an algorithm and then run it on real hardware with confidence that the result will ...
Implementing it isn't that hard. The problem is that the computational and memory complexity is exponential in the number of quantum bits you want to simulate.
Basically a quantum computer operates on all possible n-bit states at once. And those grow like 2^n.
The size of an operator grows even faster since it's a matrix. So it grows like (2^n)^2 = 2^(2*n) = 4^n
So I expect a good computer to be able to simulate a quantum computer up to about 20 bits, but it will be rather slow.
They do exist. Here's a browser based one. Here's one written in C++. Here's one written in Java. But, as stated by CodesInChaos, a quantum computer operates on all probability amplitudes at once. So imagine a 3 qubit quantum register, a typical state for it to be in looks like this:
a1|000> + a2|001> + a3|010> + a4|011> + a5|100> + a6|101> + a7|110>+ a8|111>
It's a superposition of all the possible combinations. What's worse is that those probability amplitudes are complex numbers. So an n-qubit register would require 2^(2*n) real numbers. So for a 32 qubit register, that's 2^(2*32) = 18446744073709551616 real numbers.
And as CodesInChaos said, the unitary matrices used to transform those states are that number squared. Their application being a dot product... They're computationally costly, to say the least.
My answer is yes:
You can simulate the behaviours of a quantum machine by simulating the quantum machine algorithm
D-Wave quantum machine using a technique called quantum annealing
. This algorithm could be compared to simulated annealing
algorithm.
References:
1.Quantum annealing
2.Simulated annealing
3.Optimization by simulated annealing: Quantitative studies
As Wikipedia state:
A classical computer could in principle (with exponential resources) simulate a quantum algorithm, as quantum computation does not violate the Church–Turing thesis.
Years ago I attended a talk at a Perl conference where Damian Conway (I believe) was speculating on some of this. A bit later there was a Perl module made available that did some of this stuff. Search CPAN for Quantum::Superpositions.
There is a very big list of languages, frameworks and simulators. Some simulate at low level the quantum equations, other just the gates.
It would be great to know your opinions on their capabilities and easiness of use.
https://quantumcomputingreport.com/resources/tools/ https://github.com/topics/quantum-computing?o=desc&s=stars
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With