小编jad*_*wyn的帖子

Q#如何在不破坏量子位状态的情况下读取它?

第一个Q#代码示例提供一种方法“ Set”,其编写方式如下(链接)

operation Set (desired: Result, q1: Qubit) : ()
{
    body
    {
        let current = M(q1);
        if (desired != current)
        {
            X(q1);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该方法将量子位设置为所需值。为此,将测量qubit值,如果该值与预期值不同,则将“交换” qubit状态。

但是在量子物理学中,如果不破坏粒子就无法测量粒子。这是《量子计算和量子信息》一书的引文:

...测量会更改量子位的状态,使其从| 0>和| 1>的叠加变为与测量结果一致的特定状态。例如,如果| +>的测量结果为0,则qubit的测量后状态将为| 0>。

但是使用Q#可以测量一个量子比特并继续使用它。

为什么Q#语言允许我们实现实际上不可能的操作?

预先感谢您的回答。

quantum-computing q#

1
推荐指数
1
解决办法
141
查看次数

标签 统计

q# ×1

quantum-computing ×1