Q_04_06 把它放在一起:傳送

把它放在一起:傳送 

讓我們回到在量子電路中定義的遠距傳感電路的例子。 下面顯示的是一個實現遠距傳送的教科書量子電路,包括量子部分,測量和經典控制的校正操作。

`傳送(msg:Qubit,那裏:Qubit):()`

我們現在可以將這個量子電路中的每個步驟轉換爲Q#。 首先,我們開始定義一個新的操作,同時執行兩個量子位msg的遠距傳送:

Q#
 operation Teleport(msg : Qubit, there : Qubit) : () {
    body { 

接下來,我們here用一個using塊來分配一個量子位:

Q#
  using (register = Qubit[1]) {
            let here = register[0]; 

然後我們可以通過使用HCNOT操作在herethere創建糾纏對:

Q#
             H(here);
            CNOT(here, there); 

然後我們使用下一個 operatornameCNOT

H

gates來移動我們的消息量子位:

Q#
             CNOT(msg, here);
            H(msg); 

最後,我們使用M來執行測量並將它們饋送到經典控制中,如if語句所示:

Q#
  // Measure out the entanglement.
            if (M(msg) == One)  { Z(there); }
            if (M(here) == One) { X(there); } 

這完成了我們的teleportation操作符的定義,所以我們可以here釋放,結束身體並結束操作。

Q#
         }
    }
} 
發佈了26 篇原創文章 · 獲贊 7 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章