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所说,用于转换这些状态的酉矩阵就是这个数的平方.他们的应用是点产品......至少可以说,它们的计算成本很高.
几年前,我参加了一场 Perl 会议的演讲,Damian Conway(我相信)在会上对其中的一些进行了推测。稍后,出现了一个 Perl 模块,可以完成其中的一些工作。在 CPAN 中搜索 Quantum::Superpositions。