ข้ามไปยังเนื้อหาหลัก
โครงการนี้อยู่ในช่วงเบต้า พบข้อผิดพลาด? สร้าง GitHub Issue มีคำถามหรือไอเดีย? ถามใน Discussions — ยินดีรับฟังความคิดเห็น!
คุณภาพการแปลในหน้านี้เป็นอย่างไร?

พื้นฐานกลศาสตร์ควอนตัม

บทนำ​

ในวิดีโอต่อไปนี้ Olivia Lanes จะพาคุณผ่านเนื้อหาของบทเรียนนี้ หรือจะเปิด วิดีโอ YouTube สำหรับบทเรียนนี้ในหน้าต่างแยกต่างหากก็ได้

ในบทเรียนที่แล้ว เราได้เรียนรู้วิธีสร้างสถานะ entanglement ของ Qubit สองตัว ที่รู้จักกันในชื่อ "Bell state" เมื่อวัดสถานะนั้น เราพบว่าผลการวัดของ Qubit ทั้งสองมีความสัมพันธ์กัน: เมื่อตัวหนึ่งถูกวัดว่าเป็น 0 ตัวอื่นก็จะถูกวัดว่าเป็น 0 เช่นกัน และเมื่อตัวหนึ่งเป็น 1 ตัวอื่นก็จะถูกวัดว่าเป็น 1 ด้วย นี่คือลักษณะเด่นของ quantum entanglement วันนี้เราจะเจาะลึกเข้าไปในสถานะนี้และสิ่งที่มันเผยให้เห็นเกี่ยวกับฟิสิกส์ควอนตัมที่เป็นรากฐานของการคำนวณแบบควอนตัม

Bell state​

ปรากฏการณ์ควอนตัมหลายอย่างที่ทำให้คอมพิวเตอร์ควอนตัมทำงานแตกต่างจากคอมพิวเตอร์คลาสสิกนั้น มีอยู่แล้วใน Bell state ที่ดูเรียบง่ายแต่ซ่อนความลึกไว้ ซึ่งเราได้สร้างในบทเรียนที่แล้ว มาดู Circuit ของ Bell state นั้นอีกครั้ง:

# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit": "qiskit"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit import QuantumCircuit

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
qc.draw("mpl")

ภาพด้านบนแสดง quantum Circuit สำหรับสร้าง Bell state ∣Φ+⟩\vert\Phi^+\rangle เส้นแนวนอนสีดำสองเส้นแสดงถึง Qubit ทั้งสองตัว และกล่องกับสัญลักษณ์ต่างๆ บนเส้นเหล่านั้นแสดงถึง Gate หรือการดำเนินการที่กระทำกับ Qubit ที่สอดคล้องกัน เส้นคู่สีเทาคือช่องทางข้อมูลคลาสสิกที่ใช้เก็บข้อมูลคลาสสิกที่ได้จากการวัด Qubit ทั้งสองตัว เราจะเจาะลึกรายละเอียดของ Circuit นี้และ Bell state ที่ได้ เพื่อทำความเข้าใจพื้นฐานของการคำนวณแบบควอนตัม

คณิตศาสตร์ของการคำนวณแบบควอนตัม​

การแสดงแทนสถานะควอนตัม​

ก่อนอื่น เราต้องการภาษากลางสำหรับพูดถึงสถานะควอนตัมและ Circuit มีวิธีแสดงสถานะควอนตัมอยู่สองสามวิธี วิธีแรกคือใช้ สัญกรณ์ Dirac ในสัญกรณ์ Dirac สถานะจะมีรูปแบบดังนี้:

∣Φ+⟩=12(∣00⟩+∣11⟩)\vert \Phi^+\rangle =\frac{1}{\sqrt{2}} ( \vert 00 \rangle + \vert 11 \rangle )

ที่นี่ สถานะถูกเขียนไว้ในวงเล็บมุมและแท่งแนวตั้ง สองพจน์แสดงถึงผลการวัดที่เป็นไปได้สองแบบของสถานะ ดังนั้น เมื่อวัดสถานะนี้ เราจะพบว่า Qubit ทั้งสองอยู่ในสถานะ 0 หรือทั้งคู่อยู่ในสถานะ 1 ค่า 12\frac{1}{\sqrt{2}} เรียกว่า "ค่าคงที่การนอร์มอลไลซ์" มันมีอยู่เพื่อให้แน่ใจว่าผลรวมของกำลังสองของแต่ละสัมประสิทธิ์ในสถานะรวมกันได้ 11 เราจะพูดถึงสาเหตุในส่วนเกี่ยวกับการวัดในภายหลัง

วิธีที่สองในการแสดงสถานะคือใช้ภาษามาตรฐานของพีชคณิตเชิงเส้น: ในรูปแบบเวกเตอร์ โดยแต่ละ entry ของเวกเตอร์แสดงถึงผลการวัดที่เป็นไปได้ต่างกัน ในสัญกรณ์นี้ Bell state ของเราจะเขียนแบบนี้:

∣ϕ+⟩=12(1001) .\vert\phi^+\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 1 \end{pmatrix} ~.

ตามธรรมเนียม entry ของเวกเตอร์จะเรียงลำดับดังนี้:

  • entry แรกสอดคล้องกับสถานะ Qubit สองตัว ∣00⟩\vert00\rangle

  • entry ที่สองสอดคล้องกับ ∣01⟩\vert01\rangle

  • entry ที่สามสอดคล้องกับ ∣10⟩\vert10\rangle

  • entry ที่สี่สอดคล้องกับ ∣11⟩\vert11\rangle

ตามที่คาดไว้ ในเวกเตอร์ Bell state ∣Φ+⟩\vert\Phi^+\rangle entry แรกและ entry ที่สี่ไม่ใช่ศูนย์ ในขณะที่ entry ที่สองและที่สามเป็นศูนย์ ค่าคงที่การนอร์มอลไลซ์ 1/21/\sqrt{2} ทำให้ความยาวของเวกเตอร์เท่ากับ 11

หมายเหตุเกี่ยวกับการจัดลำดับ Qubit​

Qiskit ใช้ลำดับแบบ little endian ซึ่งหมายความว่า Qubit ที่อยู่ขวาสุดถือเป็น Qubit ตัวแรก (หรือตัวที่มีนัยสำคัญน้อยที่สุด) และ Qubit ที่อยู่ซ้ายสุดคือตัวที่มีนัยสำคัญมากที่สุด ดังนั้น เมื่อเราเขียนสถานะเช่น ∣01⟩\vert01\rangle:

  • บิตขวาสุดสอดคล้องกับ Qubit 00 และอยู่ในสถานะ ∣1⟩\vert1\rangle

  • บิตซ้ายสุดสอดคล้องกับ Qubit 11 และอยู่ในสถานะ ∣0⟩\vert0\rangle

การแสดงแทน Gate​

เช่นเดียวกับที่สถานะสามารถแสดงแทนด้วยเวกเตอร์ Gate ก็สามารถแสดงแทนด้วยเมทริกซ์ Gate ทำงานกับสถานะโดยการแปลงเวกเตอร์ของมันให้เป็นเวกเตอร์ใหม่

Gate แต่ละตัวสอดคล้องกับเมทริกซ์เฉพาะที่กำหนดว่าสถานะจะถูกแปลงอย่างไร เราใช้การแปลงนี้โดยการคูณเมทริกซ์ Gate และเวกเตอร์สถานะดั้งเดิม โดยให้เมทริกซ์ Gate อยู่ทางซ้ายของเวกเตอร์สถานะ แบบนี้:

U∣ψ⟩U |\psi\rangle

โดยที่ UU แสดงถึงเมทริกซ์ Gate และ ∣ψ⟩|\psi\rangle แสดงถึงเวกเตอร์สถานะ

มาดู Hadamard Gate เป็นตัวอย่าง Hadamard Gate คือ Gate สำหรับ Qubit เดี่ยว (กล่องสีแดงที่มีป้าย "H" ในแผนภาพ Circuit ด้านบน) ที่แปลงสถานะ ∣0⟩\vert0\rangle เป็น 12(∣0⟩+∣1⟩)\frac{1}{\sqrt{2}}(\vert0\rangle+\vert1\rangle) และสถานะ ∣1⟩\vert1\rangle เป็น 12(∣0⟩−∣1⟩)\frac{1}{\sqrt{2}}(\vert0\rangle-\vert1\rangle) ในรูปแบบเมทริกซ์ Hadamard มีลักษณะดังนี้:

H=12(111−1) .H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} ~.

ทดสอบความเข้าใจ​

ใช้การคูณเมทริกซ์เพื่อแสดงว่าเมทริกซ์ Hadamard แปลงสถานะตามที่คาดไว้ (ถ้าจำเป็น คุณสามารถเรียนรู้วิธีคูณเมทริกซ์ ได้)

เฉลย
H∣0⟩=12(111−1)(10)=12(11) ✓H |0\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \end{pmatrix} ~\checkmarkH∣1⟩=12(111−1)(01)=12(1−1) ✓H |1\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ -1 \end{pmatrix} ~\checkmark

มีสิ่งที่ควรจำไว้เกี่ยวกับเมทริกซ์ Gate อยู่สองสามอย่าง:

  1. เมทริกซ์เหล่านี้จะเป็นเมทริกซ์จัตุรัส N×NN \times N เสมอ โดยที่ NN คือมิติของเวกเตอร์สถานะที่นำไปใช้ด้วย ตัวอย่างเช่น เมื่อมี Qubit เพียงตัวเดียว เวกเตอร์สถานะจะเป็นสองมิติ แสดงถึงสองสถานะที่เป็นไปได้คือ 0 และ 1 ของ Qubit ในกรณีนี้ มิติของเมทริกซ์ Gate ที่ใช้กับระบบนี้จะเป็น 2×22\times 2
  2. Quantum Gate สามารถย้อนกลับได้ กล่าวอีกนัยหนึ่ง คุณสามารถหาเมทริกซ์อีกตัวที่เป็นอินเวิร์สของ Gate ซึ่งสามารถยกเลิกการกระทำของ Gate และแปลง Qubit กลับสู่สถานะเดิมได้
  3. Quantum Gate ยังรักษาความยาวของเวกเตอร์ที่มันแปลง เวกเตอร์สถานะควอนตัมจะมีความยาว 11 เสมอ (รับประกันโดยค่าคงที่การนอร์มอลไลซ์ที่เราพูดถึงก่อนหน้านี้) Gate ไม่ได้ยืดหรือหดเวกเตอร์ แต่เพียงหมุนมันเท่านั้น

นี่คือคุณสมบัติทั้งหมดของเมทริกซ์ยูนิตารี ถ้าอยากรู้เพิ่มเติมเกี่ยวกับคุณสมบัติทางคณิตศาสตร์ของเมทริกซ์ยูนิตารี สามารถอ่านเพิ่มเติมได้ในบทเรียนของ John Watrous เรื่อง multiple systems ในหลักสูตร Basics of Quantum Information

หลักการทำงานของการวัด​

เมื่อเราวัดสถานะควอนตัม ผลลัพธ์จะเป็นหนึ่งในผลลัพธ์ที่เป็นไปได้เสมอ (สำหรับ Qubit เดี่ยว คือ 0 หรือ 1) ผลลัพธ์ที่ได้นั้นเป็นแบบสุ่ม แต่สถานะควอนตัมจะบอกเราถึงความน่าจะเป็นของแต่ละผลลัพธ์

entry ในเวกเตอร์สถานะจะกำหนดความน่าจะเป็นเหล่านี้ ในการหาความน่าจะเป็นของผลลัพธ์หนึ่งๆ เราจะยกกำลังสอง entry ที่สอดคล้องกับผลลัพธ์นั้น ตัวอย่างเช่น ถ้า Qubit อยู่ในสถานะ:

∣ψ⟩=12(11)=12(∣0⟩+∣1⟩),|\psi\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle),

entry แรก (สอดคล้องกับ 0) คือ 1/21/\sqrt{2} และ entry ที่สอง (สอดคล้องกับ 1) ก็เป็น 1/21/\sqrt{2} เช่นกัน การยกกำลังสองตัวเลขเหล่านี้ให้

(12)2=12=0.5,\left(\frac{1}{\sqrt{2}}\right)^2 = \frac{1}{2} = 0.5,

ซึ่งหมายความว่ามีโอกาส 50% ที่จะวัดได้ 0 และโอกาส 50% ที่จะวัดได้ 1

จำไว้ว่าผลรวมของ entry ทั้งหมดที่ยกกำลังสองแล้วจะเท่ากับ 1 เสมอ ซึ่งสมเหตุสมผล เพราะเมื่อวัด เราจะต้องได้ผลลัพธ์บางอย่างแน่นอน ดังนั้นความน่าจะเป็นของผลลัพธ์ที่เป็นไปได้ทั้งหมดต้องรวมกันได้ 100%

หลังจากการวัด Qubit จะคอลแลปส์ไปสู่ผลลัพธ์ที่สังเกตได้ และ superposition เดิมใดๆ ก็จะหายไป ตอนนี้ Qubit จะทำงานเหมือนบิตคลาสสิก การวัดนั้นแตกต่างจาก Quantum Gate โดยพื้นฐาน ในขณะที่ Gate เปลี่ยนแปลงสถานะควอนตัมในลักษณะกำหนดได้และย้อนกลับได้ แต่การวัดนั้นสุ่มโดยเนื้อแท้และย้อนกลับไม่ได้

การวัดในฐานต่างๆ​

โดยค่าเริ่มต้น เมื่อคุณวัด Qubit ใน quantum Circuit คุณกำลังวัดสถานะของ Qubit ตามแกนเดียวเท่านั้น นี่เรียกว่าฐานการคำนวณ หรือฐาน ZZ ซึ่งกำหนดโดยสถานะ ∣0⟩\vert 0\rangle และ ∣1⟩\vert 1\rangle คุณสามารถคิดถึงสถานะ ∣0⟩\vert 0\rangle ว่าเป็นเวกเตอร์ที่ชี้ขึ้นตรงๆ และสถานะ ∣1⟩\vert 1\rangle ว่าเป็นเวกเตอร์ที่ชี้ลงตรงๆ ดังนั้น การวัดในฐาน ZZ ตอบคำถามว่า "สถานะของ Qubit ชี้ขึ้นหรือลง?"

แต่นี่ไม่ใช่คำถามเดียวที่เราสามารถถาม Qubit ได้ เวกเตอร์สถานะของ Qubit ไม่ได้ชี้แค่ขึ้นหรือลงเท่านั้น superposition ของ ∣0⟩\vert 0\rangle และ ∣1⟩\vert 1\rangle จะส่งผลให้เวกเตอร์สถานะชี้ไปในทิศทางใดก็ได้ในพื้นที่สามมิติ — โดยทิศทางที่แน่ชัดนั้นขึ้นอยู่กับ amplitude สัมพัทธ์และ phase ของสองส่วนของ superposition ดังนั้น ในขณะที่การวัดฐาน ZZ มาตรฐานถามว่า "ขึ้นหรือลง?" คุณยังสามารถถามว่า "ซ้ายหรือขวา?" หรือ "หน้าหรือหลัง?" ได้ด้วย

คำถามเหล่านี้สอดคล้องกับการวัดในฐานต่างๆ แต่ละฐานมีเวกเตอร์ฐานสองตัวของตัวเอง ซึ่งกำหนดผลการวัดที่เป็นไปได้สองแบบในฐานนั้น (เช่น ∣0⟩\vert 0\rangle หรือ ∣1⟩\vert 1\rangle สำหรับฐาน ZZ)

  • ผลการวัดฐาน Z จะคอลแลปส์ไปที่ ∣0⟩\vert 0\rangle หรือ ∣1⟩\vert 1\rangle

  • ผลการวัดฐาน X จะคอลแลปส์ไปที่ ∣+⟩\vert +\rangle หรือ ∣−⟩\vert -\rangle

  • ผลการวัดฐาน Y จะคอลแลปส์ไปที่ ∣i⟩\vert i\rangle หรือ ∣−i⟩\vert -i\rangle

โดยที่

∣+⟩=12(∣0⟩+∣1⟩)∣−⟩=12(∣0⟩−∣1⟩)∣i⟩=12(∣0⟩+i∣1⟩)∣−i⟩=12(∣0⟩−i∣1⟩)\begin{aligned} \lvert +\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle + \lvert 1\rangle) \\ \lvert -\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle - \lvert 1\rangle) \\ \lvert i\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle + i\lvert 1\rangle) \\ \lvert -i\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle - i\lvert 1\rangle) \end{aligned}

โดยที่ i=−1i=\sqrt{−1} คือหน่วยจินตภาพ ที่นี่เราได้เห็น superposition ที่มีความแตกต่างphase ระหว่างสองส่วนเป็นครั้งแรก phase มักเขียนเป็น eiθe^{i\theta} โดยที่ θ\theta คือมุมของ amplitude ของสถานะควอนตัมในระนาบเชิงซ้อน ซึ่งเป็นระนาบสองมิติที่แกนนอนแสดงจำนวนจริงและแกนตั้งแสดงจำนวนจินตภาพ คุณสามารถนึกภาพได้ง่ายกว่าว่ามันคือการเลื่อนของคลื่นหนึ่งเมื่อเทียบกับอีกคลื่นหนึ่ง: ยอดคลื่นของพวกมันอยู่ตรงกันหรือไม่? หรือคลื่นหนึ่งเลื่อนจนยอดคลื่นไปชนท้องคลื่นของอีกคลื่น?

เมทริกซ์ Pauli และ observable​

มีเมทริกซ์สามตัว ที่เรียกว่าเมทริกซ์ Pauli ที่เกี่ยวข้องกับการเลือกฐานสามแบบที่แตกต่างกัน XX, YY และ ZZ:

X=(0110),Y=(0−ii0),Z=(100−1).X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \quad Y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, \quad Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}.

แล้วเมทริกซ์เหล่านี้เกี่ยวข้องกับฐานการวัดอย่างไร? เมื่อมองครั้งแรก เมทริกซ์เหล่านี้ดูเหมือนเมทริกซ์ Gate ธรรมดา — และมันก็เป็นเช่นนั้นจริงๆ เมทริกซ์ Pauli แต่ละตัวสามารถทำงานกับ Qubit และเปลี่ยนสถานะของมันได้:

  • Pauli-X พลิก ∣0⟩|0\rangle และ ∣1⟩|1\rangle เหมือน NOT Gate คลาสสิก

  • Pauli-Z ทิ้ง ∣0⟩|0\rangle ไว้ไม่เปลี่ยนแต่คูณ ∣1⟩|1\rangle ด้วย −1-1 เพื่อเปลี่ยน phase สัมพัทธ์

  • Pauli-Y พลิก Qubit และนำ phase เข้ามา

แต่เมทริกซ์ Pauli มีการตีความที่สองที่สำคัญพอๆ กัน ในกลศาสตร์ควอนตัม ปริมาณที่วัดได้ใดๆ เรียกว่า observable และ observable แสดงแทนด้วยเมทริกซ์ เมทริกซ์ Pauli สอดคล้องกับการวัดตามแกนสามแกนที่แตกต่างกัน และ eigenstate ของมันสอดคล้องกับผลการวัดที่เป็นไปได้สองแบบตามแต่ละแกน (ถ้าไม่คุ้นเคยกับคำว่า eigenstate ไม่ต้องกังวล เป็นแค่เวกเตอร์พิเศษที่เกี่ยวข้องกับเมทริกซ์ที่กำหนด)

  • ZZ → การวัดในฐาน Z (∣0⟩|0\rangle, ∣1⟩|1\rangle)

  • XX → การวัดในฐาน X (∣+⟩|+\rangle, ∣−⟩|-\rangle)

  • YY → การวัดในฐาน Y (∣i⟩|i\rangle, ∣−i⟩|-i\rangle)

นี่อธิบายว่าทำไมเมทริกซ์ Pauli ถึงดูเหมือนมีสองบทบาท มันทั้งทำงานกับสถานะ (ในฐานะ Gate) และกำหนดทิศทางการวัด (ในฐานะ observable) ทั้งสองบทบาทมาจากคณิตศาสตร์เดียวกัน

ในทางปฏิบัติ แล้วเราวัดในฐาน X หรือ Y ได้อย่างไร? โดยค่าเริ่มต้น คอมพิวเตอร์ควอนตัมของเราตั้งค่าให้วัดในฐาน Z เท่านั้น ดังนั้น คุณต้องเปลี่ยนฐานโดยการหมุนเวกเตอร์สถานะของ Qubit เพื่อให้ข้อมูลที่คุณสนใจ ไม่ว่าจะเป็น X หรือ Y ชี้ไปในทิศทาง Z แล้วจึงทำการวัดแบบ Z ตามปกติ

ตัวอย่างเช่น การวัดในฐาน X สามารถทำได้โดยการใช้ Hadamard Gate แล้ววัดในฐาน Z Hadamard หมุนสถานะเพื่อให้ "ข้อมูล X" กลายเป็น "ข้อมูล Z" หลังจากนั้น การวัดปกติก็ทำงานได้

คุณจะได้เห็นเมทริกซ์ Pauli มากขึ้นในบทเรียนถัดไป เมื่อเราประยุกต์ทักษะการเขียน quantum Circuit ใหม่กับปัญหาจริงในฟิสิกส์ควอนตัม

Circuit ของ Bell state​

ตอนนี้ที่เรามีจุดเริ่มต้นแล้ว — เรารู้ว่าสถานะสามารถแสดงแทนด้วยเวกเตอร์ Gate สามารถแสดงแทนด้วยเมทริกซ์ และการวัดทำให้สถานะ "คอลแลปส์" — มาดูขั้นตอนของ Circuit ที่สร้างและวัด Bell state ด้านบนกัน

เราเริ่มต้นด้วยสถานะเริ่มต้นของ Qubit สองตัวใน ∣00⟩|00\rangle:

∣00⟩=(1000)|00\rangle = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix}

สร้าง superposition​

Circuit เริ่มต้นด้วยการใช้ Hadamard Gate กับ Qubit 0 ตามที่เราได้เห็นในส่วนก่อนหน้า Hadamard นำ Qubit จากสถานะที่แน่นอน ไม่ว่าจะเป็น ∣0⟩|0\rangle หรือ ∣1⟩|1\rangle ไปสู่การรวมกันของทั้งสองสถานะนั้น จำได้ว่า Hadamard Gate คือ:

H=12(111−1)H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}

เพื่อใช้กับ Qubit ตัวแรกในระบบ Qubit สองตัว เราใช้เมทริกซ์ 4x4 ที่ขยายออกมา ซึ่งใช้ HH กับ Qubit 0 ในขณะที่ Qubit 1 ไม่เปลี่ยนแปลง คิดว่ามันคือ "ใช้ HH กับ Qubit ตัวแรกและไม่แตะตัวที่สอง":

H0=12(11001−1000011001−1)H_0 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 & 0 & 0 \\ 1 & -1 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & -1 \end{pmatrix}

จากนั้นเราคูณสิ่งนี้กับเวกเตอร์สถานะเริ่มต้น:

H0∣00⟩=12(11001−1000011001−1)(1000)=12(1100)=12(∣00⟩+∣01⟩)H_0 |00\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 & 0 & 0 \\ 1 & -1 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & -1 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}}(|00\rangle + |01\rangle)

ตอนนี้ Qubit 0 อยู่ในสถานะ superposition แล้ว

เพิ่มเติมเกี่ยวกับ quantum superposition​

quantum superposition ประเภทดังกล่าวมักถูกอธิบายว่า Qubit อยู่ในทั้งสองสถานะในเวลาเดียวกัน แต่เมื่อวัดสถานะ superposition นี้ ผลลัพธ์จะเป็น 00 หรือ 11 เสมอ — เราไม่สามารถสังเกต superposition โดยตรงได้ ในความเป็นจริง วลีที่ว่า "Qubit อยู่ในทั้งสองสถานะในเวลาเดียวกัน" อาจทำให้เข้าใจผิดได้ วิธีอธิบายที่แม่นยำกว่าคือ superposition เป็นคำอธิบายทางคณิตศาสตร์ของสถานะควอนตัมที่ช่วยให้เราคำนวณความน่าจะเป็นของผลการวัดที่แตกต่างกันได้ บางคนคิดว่า superposition มีความเป็นจริงทางกายภาพ แต่นี่เป็นการตีความเชิงปรัชญาที่ไม่สามารถทดสอบได้ กลศาสตร์ควอนตัมทำนายเฉพาะความน่าจะเป็นของผลการวัดเท่านั้น

ต่างจากการกระจายความน่าจะเป็นแบบคลาสสิก quantum superposition ยังทำให้ส่วนประกอบต่างๆ สามารถแทรกสอดกันได้ เหมือนคลื่นที่ซ้อนทับกันแล้วเสริมกันหรือหักล้างกันได้ การแทรกสอดนี้เองที่ทำให้อัลกอริทึมควอนตัมสามารถสร้างรูปแบบของผลการวัดที่เป็นไปไม่ได้ด้วยการสุ่มแบบคลาสสิกเพียงอย่างเดียว


สร้าง entanglement ให้ Qubit​

ถัดไป มีการใช้ controlled-NOT (CNOT) Gate (แสดงเป็นจุดสีน้ำเงิน เส้นแนวตั้ง และวงกลมพร้อมเครื่องหมายบวกที่เชื่อมต่อ Qubit ทั้งสอง) Gate นี้สร้าง entanglement ให้ Qubit ทั้งสองเข้าด้วยกัน หลังจากขั้นตอนนี้ สถานะของ Qubit หนึ่งตัวไม่สามารถอธิบายได้โดยอิสระจากตัวอื่น

CNOT Gate พลิก Qubit 1 (เรียกว่า Qubit เป้าหมาย) ก็ต่อเมื่อ Qubit 0 (เรียกว่า Qubit ควบคุม) อยู่ในสถานะ ∣1⟩\vert 1\rangle เมทริกซ์ของมันคือ:

CNOT=(1000000100100100)\text{CNOT} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix}

ใช้กับสถานะจากขั้นตอนที่ 1:

(1000000100100100)12(1100)=12(1001)=12(∣00⟩+∣11⟩)\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix} \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)

ตอนนี้ Qubit ทั้งคู่มี entanglement แล้ว: การวัดตัวหนึ่งจะกำหนดผลของอีกตัวทันที

เพิ่มเติมเกี่ยวกับ quantum entanglement​

entanglement เช่นเดียวกับ superposition เป็นปรากฏการณ์ควอนตัมที่ไม่มีสิ่งเทียบเคียงในโลกคลาสสิก ในระบบคลาสสิก บิตสองตัวที่มีความสัมพันธ์กันสามารถเชื่อมโยงค่าของมันได้ แต่แต่ละบิตก็ยังมีค่าที่แน่นอน — แม้ว่าเราจะไม่รู้ ตัวอย่างเช่น ถ้าเหรียญสองเหรียญถูกติดกาวเข้าด้วยกันเพื่อให้ตกในลักษณะเดียวกันเสมอ การที่เหรียญหนึ่งออกหัวก็บอกให้เรารู้ทันทีว่าอีกเหรียญออกหัวด้วย แต่ก่อนที่เราจะมอง เหรียญแต่ละอันก็อยู่ในสถานะที่แน่นอนอยู่แล้ว

กับ Qubit ที่มี entanglement สถานการณ์จะแตกต่างกันโดยพื้นฐาน ก่อนการวัด Qubit แต่ละตัวไม่มีค่าที่แน่นอนในตัวเอง มีแต่คู่เท่านั้นที่มีสถานะที่กำหนดชัดเจน การวัด Qubit ตัวหนึ่งจะส่งผลต่อความน่าจะเป็นของอีกตัวทันที ไม่ว่าพวกมันจะอยู่ห่างกันแค่ไหน นี่เป็นปรากฏการณ์ควอนตัมล้วนๆ ที่ไม่สามารถอธิบายได้ด้วยสถิติคลาสสิกหรือข้อมูลที่ซ่อนอยู่ของ Qubit แต่ละตัว

วัดสถานะ​

สุดท้าย Qubit ทั้งสองจะถูกวัด เมื่อวัด สถานะควอนตัมจะคอลแลปส์ไปสู่หนึ่งในสถานะที่อนุญาตตามคลาสสิก:

  • 00 ด้วยความน่าจะเป็น ∣1/2∣2=0.5|1/\sqrt{2}|^2 = 0.5

  • 11 ด้วยความน่าจะเป็น ∣1/2∣2=0.5|1/\sqrt{2}|^2 = 0.5

นี่ทำให้ได้ผลการวัดที่มีความสัมพันธ์กันที่เราสังเกตใน Circuit ในบทเรียนที่ 1 อีกครั้ง

บทสรุป​

ในบทเรียนนี้ เราได้ทัวร์อย่างรวดเร็วผ่านแนวคิดกลศาสตร์ควอนตัมและเครื่องมือทางคณิตศาสตร์ที่จำเป็นสำหรับการรัน quantum Circuit บนคอมพิวเตอร์ควอนตัมได้อย่างมั่นใจและเป็นอิสระ เราได้แนะนำวิธีแสดงสถานะควอนตัม วิธีที่ Gate แปลงสถานะเหล่านั้น วิธีที่การวัดทำงาน และวิธีที่ superposition และ entanglement เกิดขึ้นตามธรรมชาติจาก Circuit ง่ายๆ

ในบทเรียนที่ 3 เราจะนำแนวคิดเหล่านี้ไปปฏิบัติจริงโดยการดำเนินการตาม workflow ทั้งหมดของการแก้ปัญหาทดสอบบนคอมพิวเตอร์ควอนตัมและการแปลความหมายของผลลัพธ์

วัตถุประสงค์การเรียนรู้​

ย้อนนึกถึงวัตถุประสงค์การเรียนรู้ในบทเรียนที่ 1 ที่เราท้าทายให้คุณเปลี่ยน Circuit เพื่อสร้าง Bell state Ψ−\Psi^- ตอนนี้ ลองใช้ Circuit นั้นคำนวณพีชคณิตเมทริกซ์ทีละขั้น แล้วยืนยันว่า Circuit ของคุณสร้างสถานะที่ต้องการได้จริง (คำใบ้: คุณต้องหารูปแบบเมทริกซ์ของ NOT หรือ X Gate)