Software simulation of a quantum computer

后端 未结 9 748
渐次进展
渐次进展 2020-12-29 03:21

While we are waiting for our quantum computers, is it possible to write a software simulation of one? I suspect the answer is no, but hope the reasons why not will throw som

相关标签:
9条回答
  • 2020-12-29 03:46

    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.

    0 讨论(0)
  • 2020-12-29 03:53

    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

    0 讨论(0)
  • 2020-12-29 03:53

    Quipper is full blown simulation EDSL for Quantum Computing, implemented in Haskell I have experince to simulate behaviour of several QC algorithms such as Deutsch, Deutsch–Jozsa, Simon's, Shor's algorithms and it's very straightforward.

    0 讨论(0)
  • 2020-12-29 03:54

    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.

    0 讨论(0)
  • 2020-12-29 03:55

    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.

    0 讨论(0)
  • 2020-12-29 04:01

    Another reason why classical simulation of quantum computation is hard: to keep track you may want to know after each action of a n-qubit gate (n>1) whether the outgoing qubits are entangled or not. This must be calculated classically but is known to be NP-hard.

    See here: https://stackoverflow.com/a/23327816/363429

    0 讨论(0)
提交回复
热议问题