動詞變化
量子計算中常見串連。 在數學方面,它們是 U†VU 形式的模式,適用於兩個單位轉換 U 和 V。該模式與量子記憶體的特定性有關:計算會建置量子相互關聯或 糾纏,以利用量子的唯一資產。 不過,這也表示一旦子程式不再需要其量子位,這些量子位便無法輕易重設並釋放,因為觀察其狀態會影響系統的其餘部分。 因此,先前計算的效果通常需要在釋放和重複使用量子記憶體之前反轉。
Q# 因此,有一個專用的建構,用來表示需要這類清除的計算。 表達式包含兩個程式代碼區塊,一個包含 U 的實作,另一個包含 V的實作。 未計算 (,也就是 U†) 的應用程式會自動完成為表達式的一部分。
表達式採用格式
within {
<statements>
}
apply {
<statements>
}
其中 <statements>
會分別取代為定義 U 和 V 實作的任何數目語句。
除了自動產生套用至 within
區塊的相鄰版本,這兩個區塊可能包含任意的傳統計算。 作為區塊一部分的 within
可變繫結變數可能不會重新指派為區塊的 apply
一部分。