01.29 從" Hello World"到" Hello Quantum"

嘿! 歡迎來到我們的第一個教程!

今天,我們將介紹量子計算的基本概念之一-疊加和糾纏。

在開始之前,我們強烈建議您在Quantum Double Slit實驗中觀看此簡短視頻。 這段視頻是我們對這個領域產生如此濃厚興趣的原因,並且我們相信它也會使您讚歎不已!

疊合

現在,您已經通過視頻瞭解了量子怪異,讓我們再來看一個怪異的方面-疊加。

經典計算機-我們幾乎每天都會使用的經典計算機-使用"位"作為存儲數據的基本單位。 這些"位"只能取兩個值之一-0或1。

在事物的量子方面,我們將這些"量子位"稱為"量子位"。 關於qubit的一個很酷的事實是,它們可以取0或1的值,或者-等待它-同時取0和1! 我們稱這種中間狀態為量子疊加。

實際上,這是每個量子位所處的狀態,直到我們決定對其進行測量。 是的,我要說,直到我們嘗試對其進行測量,因為測量qubit值的行為使它"崩潰"為兩個值0或1中的一個。我們永遠看不到一個處於疊加狀態的qubit(想想薛定諤的貓?)。

這是一個小插圖,以突出經典位和量子位之間的區別,而另一個插圖則可以使您直觀地瞭解疊加是什麼樣的:

從

Classical vs Quantum Bit


從

Quantum Superposition


您可能想知道量子位圖像中的符號|0⟩和|1⟩是什麼意思? 這些不過是我們用來表示qubit值的表示法,被稱為Bra-Ket表示法。 (|0⟩+ |1⟩)/√2表示量子位的"中間"或疊加值,它是|0⟩和|1⟩狀態的組合。

糾纏

現在我們已經瞭解了什麼是疊加,讓我們繼續進行糾纏。

量子糾纏是一種量子力學現象,即使單個物體可能在空間上分離,兩個或多個物體的量子態也必須相互參照。

那條線讓你不知所措嗎? 不用擔心,我們在這裡為您簡化操作。 讓我們通過一個例子來理解這個概念:

考慮兩個無偏硬幣A和B。拋硬幣A並假設它讀為正面。 現在,您是否可以確定投擲硬幣B會讀到什麼? 呵呵……可能不是。 (儘管您可能以50%的概率是正確的)。

相反,如果我們考慮兩個"糾纏"的硬幣A和B,並說硬幣A被扔掉並讀為正面。 現在,在這種情況下,我們可以100%確信硬幣B也將變成正面。 硬幣B不可能像尾巴那樣被讀取。 A和B都將讀為正面,或者都將讀為反面。

因此,以相同的方式,兩個糾纏的量子比特在測量時要麼都為0,要麼都為1。因此,我們可以將輸出設為00或11,機會為0%。 等於01或10。這就是量子糾纏的思想。 聽起來不錯,不是嗎?

讓我們再舉一個例子,使這個概念清晰易懂-

我們的系統可以有兩個我們稱為c-ons的對象。 " c"的意思是"經典",但如果您想記住一些具體而令人愉快的內容,則可以將我們的c-ons視為蛋糕。 我們的C形符號有兩種形狀,正方形或圓形,我們將其標識為可能的狀態。 然後,對於兩個c-ons,四個可能的關節狀態是(正方形,正方形),(正方形,圓形),(圓形,正方形),(圓形,圓形)。 下表顯示了兩個示例,說明在這四個狀態的每種狀態下找到系統的概率。

我們說,如果c-ons之一的狀態知識不能提供有關另一c-ons狀態的有用信息,則它們是"獨立的"。 我們的第一個表具有此屬性。 如果第一個C-ons(或蛋糕)是方形的,那麼第二個C-on的形狀仍然不為人所知。 同樣,第二個形狀並沒有顯示任何有關第一個形狀的有用信息。

從

另一方面,當關於一個的信息改善了我們對另一個的知識時,我們說我們的兩個要素糾纏不清。 我們的第二張桌子展示了極端的糾纏。 在這種情況下,無論何時第一個c-ons是圓形的,我們都知道第二個也是圓形的。 當第一個c-ons是正方形時,第二個也是如此。 知道一個的形狀,我們就可以確定地推斷另一個的形狀。

從

是時候使用Code了!

好的,現在就足夠了,現在讓我們看看我們自己如何通過代碼糾纏兩個量子比特! 我們將使用Qiskit工具包來編寫我們的Python代碼,我們可以在模擬器上,甚至可以在IBM實驗室中的真實Quantum計算機上運行該Python代碼!

<code># Import libraries
from qiskit import ClassicalRegister, QuantumRegister, QuantumCircuit
from qiskit import execute
from qiskit import BasicAer

# import basic plot tools
from qiskit.tools.visualization import plot_histogram, circuit_drawer/<code>
<code>#Selecting the qasm simulator as backend for executing the circuit using BasicAer
backend = BasicAer.get_backend('qasm_simulator')/<code>
<code>q = QuantumRegister(2)     # A qauntum register of size 2 qubits
c = ClassicalRegister(2) # A classical register of size 2 bits to measure the probability
qc = QuantumCircuit(q, c) # Making a quantum circuit

# Add a Hadamard Gate at q0 bit
qc.h(q[0])

# Add a controlled-NOT Gate with control bit at q0 and target bit at q1
qc.cx(q[0], q[1])

# Measure the circuit
qc.measure(q, c)

#Execute the circuit
job_exp = execute(qc, backend=backend, shots=1024)/<code>
<code># plot the graph to visualize the probabilities of 00 and 11 states
plot_histogram(job_exp.result().get_counts(qc))/<code>


從

<code>print('You have made entanglement!')/<code>
<code>#Representing the circuit
qc.draw()/<code>


從


在上面的代碼中,您一定想知道Hadamard和C-Not門是什麼,它們的作用是什麼?

Hadamard哈達瑪門只是將其應用於量子位時使其處於疊加狀態的門。

C-Not門具有兩個參數-第一個稱為控制位,第二個是目標位。 它所做的是讀取控制位的值,如果它為|0⟩,則門保持目標位不變,而如果控制位的值|1⟩,則C-Not門將翻轉控制位。 目標位。

這樣,我們的糾纏電路基本上由處於疊加狀態的量子位組成,其值是|0⟩和|1⟩的組合,並且該量子位用作C-Not門的控制位,目標量子位 是另一個可用的量子位。 由於我們的量子位有50-50的機會|0⟩或|1⟩,因此目標量子位是否有50-50的機會被翻轉。

該過程就是"糾纏"我們兩個量子位的過程,因此無論它們在物理上靠近或分開的位置,它們在測量時始終讀取相同的值。

結論

因此,這就是您對量子怪異世界的介紹,我們希望它能吸引您,同時也吸引我們!

總結了我們關於量子糾纏的第一篇文章。 我們真的希望您喜歡它,並很快回來獲得更多類似的教程!

(本文翻譯自Art of Quantum的文章《From "Hello World" to "Hello Quantum"》,參考:https://medium.com/art-of-quantum/from-hello-world-to-hello-quantum-a0658b40fcb8)


分享到:


相關文章: