29

当我们在等待我们的量子计算机时,是否可以编写一个软件模拟?我怀疑答案是否定的,但希望为什么不这样做的原因可以揭开谜团。

4

9 回答 9

13

实现它并不难。问题在于,计算和内存的复杂性与您想要模拟的量子比特数呈指数关系。

基本上,量子计算机一次在所有可能的 n 位状态上运行。而那些增长像2 ^ n。

运算符的大小增长得更快,因为它是一个矩阵。所以它像 (2^n)^2 = 2^(2*n) = 4^n

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

于 2011-01-04T21:10:20.967 回答
9

它们确实存在。这是一个基于浏览器的。这是用 C++ 编写的。这是用Java编写的。但是,正如 CodesInChaos 所述,量子计算机同时在所有概率幅度上运行。所以想象一个 3 qubit 的量子寄存器,它所处的典型状态如下所示:

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 所说,用于转换这些状态的酉矩阵是那个数的平方。它们的应用程序是一个点积……至少可以说,它们的计算成本很高。

于 2013-01-01T03:33:48.413 回答
5

我的回答是肯定的:

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

D-Wave 量子机使用一种称为quantum annealing. 该算法可以与simulated annealing算法进行比较。

参考:

1.量子退火

2.模拟退火

3.模拟退火优化:定量研究

于 2014-08-27T17:51:46.407 回答
3

正如维基百科所说:

经典计算机原则上可以(使用指数资源)模拟量子算法,因为量子计算不违反 Church-Turing 论点。

于 2014-05-27T19:38:36.853 回答
1

几年前,我在 Perl 会议上参加了一次演讲,Damian Conway(我相信)当时正在推测其中的一些内容。过了一会儿,有一个 Perl 模块可以做这些事情。在 CPAN 中搜索 Quantum::Superpositions。

于 2011-01-04T15:29:25.107 回答
1

有一个非常大的语言、框架和模拟器列表。一些在低级别模拟量子方程,其他的只是门。

  • Microsoft Quantum 开发工具包 (Q#)
  • Microsoft LIQUIi>IBM Quantum Experience
  • 瑞杰提森林
  • 项目Q
  • QuTiP
  • 开放费米子
  • Qbsolv
  • 脚手架CC
  • 量子计算游乐场(谷歌)
  • 雷神BBN
  • 怪癖
  • 森林

很高兴知道您对它们的功能和易用性的看法。

https://quantumcomputingreport.com/resources/tools/ https://github.com/topics/quantum-computing?o=desc&s=stars

于 2018-02-28T18:03:54.343 回答
0

Quipper是用于量子计算的全面模拟 EDSL,在 Haskell 中实施

于 2014-08-16T14:33:24.447 回答
0

量子计算的经典模拟难以进行的另一个原因是:您需要几乎完美的——即尽可能完美的——随机数发生器来模拟测量。

于 2016-07-22T15:24:54.747 回答
0

量子计算的经典模拟很难进行的另一个原因:要跟踪,您可能想在 n 量子比特门 (n>1) 的每个动作之后知道传出的量子比特是否纠缠。这必须以经典方式计算,但已知是 NP-hard。

见这里:https ://stackoverflow.com/a/23327816/363429

于 2016-07-22T14:58:49.083 回答