量子计算机的软件仿真

Geo*_*eog 29 simulation quantum-computing

在我们等待量子计算机的同时,是否可以编写一个软件模拟?我怀疑答案是否定的,但希望之所以不这样做,将会对这个谜团有所启发.

Cod*_*aos 13

实施它并不难.问题是计算和内存复杂度是您想要模拟的量子位数的指数.

基本上,量子计算机一次对所有可能的n位状态进行操作.而那些增长就像2 ^ n.

运营商的规模增长得更快,因为它是一个矩阵.所以它增长得像(2 ^ n)^ 2 = 2 ^(2*n)= 4 ^ n

所以我希望一台好的计算机能够模拟大约20位的量子计算机,但它会相当慢.


小智 8

他们确实存在.这是一个基于浏览器的.这是用C++编写的.这是用Java编写的.但是,如CodesInChaos所述,量子计算机同时对所有概率幅度进行操作.因此想象一个3比特量子寄存器,它的典型状态如下所示:

a1 | 000> + a2 | 001> + a3 | 010> + a4 | 011> + a5 | 100> + a6 | 101> + a7 | 110> + a8 | 111>

它是所有可能组合的叠加.更糟糕的是那些概率幅度是复数.因此,n-qubit寄存器需要2 ^(2*n)个实数.因此,对于32位量子寄存器,这是2 ^(2*32)= 18446744073709551616实数.

正如CodesInChaos所说,用于转换这些状态的酉矩阵就是这个数的平方.他们的应用是点产品......至少可以说,它们的计算成本很高.


Cha*_*how 5

我的回答是肯定的:

您可以通过模拟量子机器算法来模拟量子机器的行为

D-Wave量子机使用一种叫做的技术quantum annealing.该算法可与simulated annealing算法进行比较.

参考文献:

1. 量子退火

2. 模拟退火

3. 通过模拟退火进行优化:定量研究


Cli*_*rce 1

几年前,我参加了一场 Perl 会议的演讲,Damian Conway(我相信)在会上对其中的一些进行了推测。稍后,出现了一个 Perl 模块,可以完成其中的一些工作。在 CPAN 中搜索 Quantum::Superpositions。