【发布时间】:2018-12-13 21:42:30
【问题描述】:
如题所示,如何在 Q# 中实现 Grover 的扩散算子?我知道它被定义为2 ⟨s|s⟩ - I,其中|s⟩ 是任意数量的量子比特的统一状态。这可以进一步定义为夹在一对 H 门之间的 Z0(称为 U0)门。我无法在量子原语和佳能文档中找到以 Grover、diff 等可能的名称开头的任何函数。
我不想使用函数AmpAmpByOracle,因为它是非常高级的实现,并不清楚我的理解。我想实现一个函数,它需要一个 oracle Uf(我不知道)和它需要的量子比特数(N),并通过简单地遵循Grover's Algorithm | Wikipedia 中给出的电路来执行 Grover 算法,并通过测量所有r = approx(2^(N/2)) 次迭代结束时的 N 个量子比特。
【问题讨论】:
-
下次你最好在这里问:quantumcomputing.stackexchange.com
标签: quantum-computing q#