Basic Quantum Gate ควอนตัมเกตพื้นฐาน

Natchapol Patamawisut
4 min readJan 4, 2021

--

เมื่อพูดถึงการคำนวนพื้นฐานใน Computer ก็คงจะหนีไม่พ้น Logic Gate ซึ่งใน Classical Logic Gate ก็จะมี Operation ทั้ง Not And Or หรือ Xor

Small Logic Gates — The building blocks of versatile digital circuits — Part 1 | Nuts & Volts Magazine

แต่ใน Quantum นั้นเราจะมีลักษณะ Gate ที่แตกต่างจาก Classical ซึ่งถ้าใครยังไม่ได้ดูพื้นฐานของ Quantum Bits สามารถเรียนรู้เพิ่มเติมได้ตาม Blog ด้านล่างนี้เลย

Evolution

ใน Classical แล้วการที่เราจะเปลี่ยน State ต่าง ๆ จะใช้ Logic Operator แต่ใน Quantum “Quantum State evolve in time with rotation on Hilbert space” การเปลี่ยนแปลง Quantum State นั้นทำได้ด้วยการใช้ Quantum Gate เพื่อหมุน Qubit

ซึ่งจากที่เรารู้ว่า Qubit นั้นสามารถเขียนอยู่ในรูป Vector

ในการหมุน Vector เราจึงสามารถใช้ Matrix เป็น Operator ต่าง ๆ ได้

Rotation Matrix

Rotation Matrix เป็น Matrix ที่เราสามารถใช้ในการหมุน Qubit ในมุม θ โดย Matrix มีลักษณะดังนี้

Anti-clockwise Rotation Matrix

ในกรณีของ R_θ นั้นจะเป็นการหมุนในลักษณะทวนเข็มนาฬิกาบน Hilbert space

Clockwise Rotation Matrix

ถ้าเราทำ Transpose R_θ เราจะได้เป็นการหมุนตามเข็ม

Unitary Transforms

นอกจาก Rotation Matrix ในการหมุน K-dimensional Matrix (ℂᵏ) จะใช้ Linear Transformation Matrix ที่เรียกว่า Unitary Matrix

ใน Linear Algebra นั้นเราจะรู้จัก Matrix หนึ่งชื่อว่า Orthogonal Matrix เป็น Real Matrix ที่มีคุณสมบัติดังนี้

เมื่อ O เป็น Orthogonal Matrix

OᵀO = OOᵀ = I (ᵀ = Transpose)

ดังนั้น Oᵀ = O⁻¹

ซึ่งจากคุณสมบัตินี้ทำให้เราหา Inverse Matrix ได้โดยง่ายโดยใช้การ Transpose ทำให้มีคุณสมบัติ Reversible

ซึ่ง Matrix ที่เราใช้ในการหมุน Qubit เราก็ต้องการให้มีคุณสมบัตินี้เช่นกัน แต่จากที่เรารู้ว่า Qubit นั้นเป็น Complex Vector ไม่ได้มีแค่ Real Number ดังนั้น Matrix ที่จะใช้จึงเป็น Unitary Matrix แทน โดยมีคุณสมบัติดังนี้

จาก U† = U*ᵀ (* = Conjugate)

U†U = UU† = I

ดังนั้น U† = U⁻¹

ซึ่งเมื่อเรานำ U มา Dot กับ |0⟩ และ |1⟩ จะได้

จะเห็นได้ว่าค่าภายใน Unitary Matrix นั้นเป็นค่าที่ส่งผลต่อสัมประสิทธิ์ของ Qubit ทำให้ได้ข้อสรุปว่า “U preserves inner product” คือ U นั้นเก็บค่าของ Inner Product ซึ่ง Inner Product ของ Matrix ก็คือ Rotation นั้นเอง

Single Qubit Gate

ใน Classical single bit นั้นมีแค่ Not gate เท่านั้นเนื่องจาก State ของ Single bit สามารถเปลี่ยนแปลงได้เพียง 1 วิธี แต่ใน Hilbert Space นั้นเราสามารถ Rotate ได้ทั้ง 360 ํ ซึ่งเราใช้ Unitary Matrix ขนาด 2x2 ทำเป็น Quantum Gate

Pauli-X (Bit Flip)

Unitary Gate X นั้นมี ลักษณะดังนี้

เป็น Gate ที่ทำหน้าที่ Flip Qubit สลับจาก |0⟩ เป็น|1⟩ และ |1⟩ เป็น|0⟩ หรือ เป็นการหมุนแกน 45 ํ ใน Hilbert Space

Pauli-Z (Phase Flip)

Unitary Gate Z นั้นมี ลักษณะดังนี้

เป็น Gate ที่ทำหน้าที่ Flip Sign สลับจาก |+⟩ เป็น|-⟩ และ |-⟩ เป็น|+⟩ หรือ เป็นการหมุนแกน |0⟩ ใน Hilbert Space

Hadamard Transform

Unitary Gate H มีลักษณะดังนี้

เป็น Gate ที่ทำหน้าที่แปลง Basis จาก Bit <-> Sign

จาก Gate ที่กล่าวมาเบื้องต้นนั้น เราสามารถสรุปออกมาได้ดังนี้

Two Qubits Gates

ในกรณีของ 2 Qubits Gate เราสามารถนำ Single Qubits Gate มาใช้งานได้เหมือนกัน

ในการที่เราใช้ 2 Single Qubit Gate เราสามารถคำนวน Gate รวมได้ดังนี้

กำหนด U₁ U₂

หา U ได้จากการนำ U และ U₂ ทำ Tensor Product กัน

Controlled NOT (CNOT)

Matrix ของ CNOT Gate มีลักษณะดังนี้

เป็น Gate ที่จะทำ Not กับ Qubit ที่ 2 เมื่อ Qubit ที่ 1 (Control Bit) เป็น 1 เท่านั้น

SWAP Gate

Matrix ของ SWAP Gate มีลักษณะดังนี้

โดย SWAP Gate เป็น Gate ที่จะทำการสลับค่าของ Qubit 1 เป็น Qubit 2 และ Qubit 2 เป็น Qubit 1

--

--

Natchapol Patamawisut

Studying Computer Engineering at King Mongkut's University of Technology Thonburi