你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
共轭
共轭在量子计算中很常见。 在数学术语中,共轭是 U†VU 形式的模式,用于 U 和 V 这两个酉变换。由于量子内存的特殊性,这种模式很重要:为了利用量子的独特资产,计算建立了量子相关性,即纠缠。 但是,这也意味着一旦子例程不再需要量子比特,将无法轻松重置和释放量子比特,因为观察它们的状态会影响系统的其余部分。 因此,在释放和重新使用量子内存之前,通常需要逆转之前计算的效果。
Q# 因此,有一个专用的构造来表达需要此类清理的计算。 表达式由两个代码块组成,一个包含 U 的实现,一个包含 V 的实现。 非计算 (即, U†) 的应用作为表达式的一部分自动完成。
表达式采用以下形式
within {
<statements>
}
apply {
<statements>
}
其中,<statements>
替换为任意数量的、分别用于定义 U 和 V 的实现的语句。
除了自动生成适用于 within
块的伴随版本的一般限制以外,这两个块都可以包含任意经典计算。 用作 within
块的一部分的可变绑定变量不能重新分配为 apply
块的一部分。