5

背景

我遇到了一个 Javascript 量子模拟器,并试图编写代码(即量子电路)来实现 3 qbit 量子傅里叶变换。

我能得到的最接近如下所示: QFT 结果

这是基于 Nielsen 和 Chuang 的“量子计算和量子信息”中关于 QFT 的章节。(电路末端的条件非门旨在将输出位交换为正确的顺序 - QFT 反转位的顺序。)

我还尝试了基于维基百科 QFT 文章的电路,但没有更接近答案。

问题

任何人都可以帮助纠正我的算法来计算 QFT 吗?

(我认为这个错误很可能在我的电路中,但我想也有可能是底层 Javascript 实现中存在错误?)

4

1 回答 1

3

来自维基百科的电路不工作的原因是因为提供的相位门是顺时针而不是逆时针转动(例如 -45 度而不是 +45 度)。维基百科(可能还有教科书)上的电路使用 R_(pi/2) 门,但你有一个 R_(-pi/2) 门。

有几种方法可以处理这个问题:

  • 使用 Z (-180)、-90 和 -45 模拟 +45 度门。+90 的想法类似。
  • 将电路倒置,因此导线 1 上的门现在位于导线 3 上,反之亦然。
  • 将交换部分(最后三个 X 门)从末尾移动到开头
  • 颠倒所有门的顺序,除了最后的三个 X。
  • (我认为)恰好应用上述三个。
  • 可能还有很多方法。弄清楚为什么每一个都有效是很有趣的。

抱歉,倒退阶段令人困惑。(它实际上是我的电路模拟器,我为包含解决方案的博客文章写的。)

于 2014-05-07T19:20:56.217 回答