天天看點

量子計算之量子壓縮編碼(dense coding)

帥文

傳統的計算機在資料傳輸過程中傳輸位數不能少于資訊編碼的最少bit數。比如要傳輸4個狀态,那麼最少需要兩個bit來編碼并傳輸,分别對應00、01、10、11。但是利用糾纏量子對可實作隻傳輸一個量子就完成4個狀态中一種的傳遞。下面就介紹實作過程。

實作步驟(以Alice 發送資料給Bob為例):

步驟1:

首先構造一組糾纏量子對,這樣兩個量子滿足編碼4個資料的要求。

利用Hadamard 門和CNOT門實作糾纏量子對:

量子計算之量子壓縮編碼(dense coding)

上面的輸出變為糾纏态:

量子計算之量子壓縮編碼(dense coding)

步驟2:

将兩個量子分别配置設定給Alice和Bob,注意這時候這對量子裡面沒有包含任何需要傳輸的編碼資訊,是以不要認為這時候有提前資訊傳遞。

步驟3:

Alice開始對她持有的量子進行資訊編碼,使用的工具就是門變換工具I,X,Y,Z。門變換這個動作就對應着00、01、10、11四種狀态。這裡我們定義X變換想傳輸01,變換前後結果如下(這裡忽略前面的歸一化參數),留意一下可以發現Alice也隻能操作她自己的量子,并沒有改變Bob的量子狀态:

|00>+|11>  ======> |10>+|01>

步驟4:

Alice 把她變換後的這個量子發送給Bob。

步驟5:

Bob使用收到的量子作為控制位對自己擁有的量子做CNOT門操作

|10>+|01>  ======> |11>+01>

從結果看,從Alice接收的bit處于量子态而Bob自己的量子已經退縮成為經典态|1>,是以可以安全的測量自己的量子。

步驟6:

對Alice的bit使用一個H門,得到一個經典的狀态|0>,這個确定的狀态也可以安全的測量出來。

|1>+|0>  ======> |0>

步驟7:

将步驟5和6擷取的狀态拼接一起Bob最終還原出一個兩個bit組成的編碼資料|01>,實作資料的傳輸。

我們可以在My first circuit - IBM Quantum 上驗證這個試驗,下圖是驗證測試的結果:

量子計算之量子壓縮編碼(dense coding)

下面是對應的代碼:

OPENQASM 2.0;

include "qelib1.inc";

qreg q[2];

creg c[2];

reset q[0];

reset q[1];

h q[0];

cx q[0],q[1];

x q[0];

measure q[1] -> c[1];

h q[0];

measure q[0] -> c[0];

上面傳輸資料的方法僅适合理論分析,實際操作過程中無法提前配置設定好糾纏量子對給每個人,即便能配置設定,儲存并維持糾纏态本身就是一個難題。

上一篇: 量子世界

繼續閱讀