ข้ามไปยังเนื้อหาหลัก

ขั้นตอนการประมาณเฟส

ต่อไปเราจะพูดถึง ขั้นตอนการประมาณเฟส ซึ่งเป็นอัลกอริทึมควอนตัมสำหรับแก้ปัญหาการประมาณเฟส

เราจะเริ่มต้นด้วยการอุ่นเครื่องแบบความแม่นยำต่ำ ซึ่งจะช่วยอธิบายสัญชาตญาณพื้นฐานเบื้องหลังวิธีนี้ จากนั้นเราจะพูดถึง การแปลงฟูริเยร์ควอนตัม ซึ่งเป็นการดำเนินการควอนตัมที่สำคัญที่ใช้ในขั้นตอนการประมาณเฟส พร้อมกับการนำไปใช้งานด้วย Circuit ควอนตัม เมื่อเรามีการแปลงฟูริเยร์ควอนตัมแล้ว เราจะอธิบายขั้นตอนการประมาณเฟสในเชิงทั่วไปและวิเคราะห์ประสิทธิภาพของมัน

อุ่นเครื่อง: ประมาณเฟสด้วยความแม่นยำต่ำ

เราจะเริ่มต้นด้วยเวอร์ชันง่าย ๆ สองแบบของขั้นตอนการประมาณเฟส ที่ให้คำตอบความแม่นยำต่ำสำหรับปัญหาการประมาณเฟส สิ่งนี้จะช่วยอธิบายสัญชาตญาณเบื้องหลังขั้นตอนทั่วไปที่เราจะเห็นในภายหลังในบทเรียนนี้

การใช้ phase kickback

วิธีที่ง่ายในการแก้ปัญหาการประมาณเฟส ซึ่งช่วยให้เราเรียนรู้บางอย่างเกี่ยวกับค่า θ\theta ที่เราต้องการ อาศัยปรากฏการณ์ phase kick-back ดังที่เราจะเห็น นี่คือเวอร์ชัน single-qubit ของขั้นตอนการประมาณเฟสทั่วไปที่จะพูดถึงในภายหลัง

ในฐานะส่วนหนึ่งของอินพุตสำหรับปัญหาการประมาณเฟส เรามี Circuit ควอนตัมแบบ unitary สำหรับการดำเนินการ U.U. เราสามารถใช้คำอธิบาย Circuit นี้เพื่อสร้าง Circuit สำหรับการดำเนินการ controlled-UU ซึ่งสามารถแสดงได้ตามที่รูปนี้บอก (โดยมีการดำเนินการ U,U, มองเป็น Gate ควอนตัม อยู่ทางซ้าย และการดำเนินการ controlled-UU อยู่ทางขวา)

เวอร์ชัน uncontrolled และ controlled ของการดำเนินการ unitary

เราสามารถสร้าง Circuit ควอนตัมสำหรับการดำเนินการ controlled-UU โดยการเพิ่ม control qubit ให้กับ Circuit สำหรับ UU ก่อน แล้วแทนที่ทุก Gate ใน Circuit สำหรับ UU ด้วยเวอร์ชัน controlled ของ Gate นั้น — ดังนั้น control qubit ใหม่หนึ่งตัวของเราจึงควบคุม Gate ทุกตัวใน Circuit สำหรับ UU สิ่งนี้ต้องการให้เรามีเวอร์ชัน controlled ของทุก Gate ใน Circuit ของเรา แต่เราสามารถสร้าง Circuit สำหรับการดำเนินการ controlled เหล่านี้ได้เสมอในกรณีที่ไม่ได้รวมอยู่ใน gate set ของเรา

ลองพิจารณา Circuit ต่อไปนี้ โดยที่สถานะอินพุต ψ\vert\psi\rangle ของ qubit ทั้งหมดยกเว้น qubit บนสุดคือ eigenvector ของสถานะควอนตัม UU

Circuit single-qubit สำหรับการประมาณเฟส

ความน่าจะเป็นของผลการวัดสำหรับ Circuit นี้ขึ้นอยู่กับ eigenvalue ของ UU ที่สอดคล้องกับ eigenvector ψ\vert\psi\rangle มาวิเคราะห์ Circuit อย่างละเอียดเพื่อหาว่ามันเป็นอย่างไรกันแน่

สถานะของ Circuit single-qubit สำหรับการประมาณเฟส

สถานะเริ่มต้นของ Circuit คือ

π0=ψ0\vert\pi_0\rangle = \vert\psi\rangle \vert 0\rangle

และ Hadamard Gate แรกแปลงสถานะนี้เป็น

π1=ψ+=12ψ0+12ψ1.\vert\pi_1\rangle = \vert\psi\rangle \vert +\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle.

ต่อไป การดำเนินการ controlled-UU จะถูกดำเนินการ ส่งผลให้ได้สถานะ

π2=12ψ0+12(Uψ)1.\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \bigl(U \vert\psi\rangle\bigr) \vert 1\rangle.

โดยใช้สมมติฐานที่ว่า ψ\vert\psi\rangle เป็น eigenvector ของ UU ที่มี eigenvalue λ=e2πiθ,\lambda = e^{2\pi i\theta}, เราสามารถแสดงสถานะนี้ได้อีกแบบดังต่อไปนี้

π2=12ψ0+e2πiθ2ψ1=ψ(120+e2πiθ21)\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle = \vert\psi\rangle \otimes \left( \frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle\right)

ที่นี่เราสังเกตเห็นปรากฏการณ์ phase kickback มันแตกต่างจากครั้งก่อนที่เราเห็นในอัลกอริทึมของ Deutsch และ Deutsch-Jozsa เล็กน้อย เพราะเราไม่ได้ทำงานกับ query gate — แต่ความคิดก็คล้ายกัน

สุดท้าย Hadamard Gate ที่สองจะถูกดำเนินการ หลังจากการลดรูปเล็กน้อย เราได้นิพจน์สำหรับสถานะนี้

π3=ψ(1+e2πiθ20+1e2πiθ21)\vert\pi_3\rangle = \vert\psi\rangle \otimes \left( \frac{1+ e^{2\pi i \theta}}{2} \vert 0\rangle + \frac{1 - e^{2\pi i \theta}}{2} \vert 1\rangle\right)

ดังนั้นการวัดจะให้ผลลัพธ์ 00 และ 11 ด้วยความน่าจะเป็นเหล่านี้:

p0=1+e2πiθ22=cos2(πθ)p1=1e2πiθ22=sin2(πθ).\begin{aligned} p_0 &= \left\vert \frac{1+ e^{2\pi i \theta}}{2} \right\vert^2 = \cos^2(\pi\theta)\\[1mm] p_1 &= \left\vert \frac{1- e^{2\pi i \theta}}{2} \right\vert^2 = \sin^2(\pi\theta). \end{aligned}

นี่คือกราฟแสดงความน่าจะเป็นสำหรับผลลัพธ์ที่เป็นไปได้สองแบบ คือ 00 และ 1,1, ในฐานะฟังก์ชันของ θ\theta

ความน่าจะเป็นของผลลัพธ์จาก phase kickback

ตามธรรมชาติ ความน่าจะเป็นทั้งสองรวมกันได้เสมอเท่ากับ 11 สังเกตว่าเมื่อ θ=0,\theta = 0, ผลการวัดจะเป็น 00 เสมอ และเมื่อ θ=1/2,\theta = 1/2, ผลการวัดจะเป็น 11 เสมอ ดังนั้น แม้ว่าผลการวัดจะไม่เปิดเผยว่า θ\theta คืออะไรกันแน่ แต่ก็ให้ข้อมูลบางอย่างเกี่ยวกับมัน — และหากเราได้รับการรับรองว่า θ=0\theta = 0 หรือ θ=1/2\theta = 1/2 เราสามารถเรียนรู้จาก Circuit ว่าค่าใดถูกต้องโดยไม่ผิดพลาด

พูดตามสัญชาตญาณ เราสามารถคิดว่าผลการวัดของ Circuit เป็นการเดา θ\theta ด้วย "ความแม่นยำหนึ่งบิต" กล่าวอีกนัยหนึ่ง ถ้าเราเขียน θ\theta ในรูปเลขฐานสองและปัดเศษให้เหลือหนึ่งบิต เราจะได้ตัวเลขแบบนี้:

0.a={0a=012a=1.0.a = \begin{cases} 0 & a = 0\\ \frac{1}{2} & a = 1. \end{cases}

ผลการวัดสามารถมองได้ว่าเป็นการเดาบิต aa เมื่อ θ\theta ไม่ใช่ทั้ง 00 หรือ 1/21/2 มีความน่าจะเป็นที่ไม่ใช่ศูนย์ที่การเดาจะผิด — แต่ ความน่าจะเป็นของการเกิดข้อผิดพลาดจะลดลงเรื่อย ๆ เมื่อเราเข้าใกล้ 00 หรือ 1/21/2 มากขึ้น

เป็นเรื่องธรรมชาติที่จะถามว่า Hadamard Gate ทั้งสองมีบทบาทอะไรในขั้นตอนนี้:

  • Hadamard Gate แรกตั้ง control qubit ให้อยู่ในซูเปอร์โพซิชันสม่ำเสมอของ 0\vert 0\rangle และ 1,\vert 1\rangle, เพื่อที่เมื่อ phase kickback เกิดขึ้น มันจะเกิดขึ้นกับสถานะ 1\vert 1\rangle และไม่ใช่สถานะ 0\vert 0\rangle ทำให้เกิดความแตกต่างของเฟส สัมพัทธ์ ที่ส่งผลต่อความน่าจะเป็นของผลการวัด หากเราไม่ทำเช่นนี้และ phase kickback สร้าง global phase มันจะไม่มีผลต่อความน่าจะเป็นของการได้ผลการวัดที่แตกต่างกัน

  • Hadamard Gate ที่สองช่วยให้เราเรียนรู้บางอย่างเกี่ยวกับตัวเลข θ\theta ผ่านปรากฏการณ์ interference ก่อน Hadamard Gate ที่สอง สถานะของ qubit บนสุดคือ

    120+e2πiθ21,\frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle,

    และหากเราวัดสถานะนี้ เราจะได้ 00 และ 11 แต่ละอย่างด้วยความน่าจะเป็น 1/21/2 ไม่บอกเราอะไรเกี่ยวกับ θ\theta เลย แต่โดยการดำเนินการ Hadamard Gate ที่สอง เราทำให้ตัวเลข θ\theta ส่งผลต่อความน่าจะเป็นของเอาต์พุต

การเพิ่มเฟสเป็นสองเท่า

Circuit ด้านบนใช้ปรากฏการณ์ phase kickback เพื่อประมาณ θ\theta ด้วยความแม่นยำหนึ่งบิต ความแม่นยำหนึ่งบิตอาจเพียงพอในบางสถานการณ์ — แต่สำหรับการแยกตัวประกอบเราจะต้องการความแม่นยำมากกว่านั้นมาก คำถามที่เป็นธรรมชาติคือ เราจะเรียนรู้เพิ่มเติมเกี่ยวกับ θ\theta ได้อย่างไร?

สิ่งที่ง่ายมากที่เราสามารถทำได้คือแทนที่การดำเนินการ controlled-UU ใน Circuit ของเราด้วย สองสำเนา ของการดำเนินการนี้ เหมือนใน Circuit นี้:

การประมาณเฟส single-bit แบบเพิ่มสองเท่า

การดำเนินการ controlled-UU สองครั้งเทียบเท่ากับการดำเนินการ controlled-U2U^2 ครั้งเดียว ถ้า ψ\vert\psi\rangle เป็น eigenvector ของ UU ที่มี eigenvalue λ=e2πiθ,\lambda = e^{2\pi i \theta}, สถานะนี้ก็เป็น eigenvector ของ U2U^2 ด้วย คราวนี้มี eigenvalue λ2=e2πi(2θ)\lambda^2 = e^{2\pi i (2\theta)}

ดังนั้น ถ้าเราเรียกใช้เวอร์ชันนี้ของ Circuit เราก็กำลังดำเนินการคำนวณเดิมกับก่อนหน้านี้ ยกเว้นว่าตัวเลข θ\theta จะถูกแทนที่ด้วย 2θ2\theta นี่คือกราฟแสดงความน่าจะเป็นของเอาต์พุตเมื่อ θ\theta อยู่ในช่วง 00 ถึง 11

ความน่าจะเป็นของผลลัพธ์จาก double-phase kickback

การทำเช่นนี้สามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับ θ\theta ได้จริง ๆ ถ้าการแสดงในระบบฐานสองของ θ\theta คือ

θ=0.a1a2a3\theta = 0.a_1 a_2 a_3\cdots

การเพิ่ม θ\theta เป็นสองเท่าจะเลื่อนจุดฐานสองไปทางขวาหนึ่งตำแหน่ง:

2θ=a1.a2a32\theta = a_1. a_2 a_3\cdots

และเนื่องจากเราถือว่า θ=1\theta = 1 เท่ากับ θ=0\theta = 0 เมื่อเราวนรอบวงกลมหน่วย เราจะเห็นว่าบิต a1a_1 ไม่มีอิทธิพลต่อความน่าจะเป็นของเรา และเราก็แค่กำลังเดา บิตที่สอง หลังจากจุดฐานสองถ้าเราปัดเศษ θ\theta ให้เหลือสองบิต ตัวอย่างเช่น ถ้าเรารู้ล่วงหน้าว่า θ\theta เป็น 00 หรือ 1/41/4 เราก็สามารถเชื่อถือผลการวัดอย่างสมบูรณ์เพื่อบอกเราว่าเป็นค่าใด

อย่างไรก็ตาม ยังไม่ชัดเจนว่าการประมาณนี้ควรได้รับการปรับให้สอดคล้องกับสิ่งที่เราเรียนรู้จาก Circuit phase kickback ดั้งเดิม (ที่ไม่ได้เพิ่มสองเท่า) เพื่อให้ได้ข้อมูลที่แม่นยำที่สุดเท่าที่เป็นไปได้เกี่ยวกับ θ\theta ดังนั้นมาถอยกลับมาและพิจารณาวิธีดำเนินการต่อ

การประมาณเฟสด้วยสอง Qubit

แทนที่จะพิจารณาสองตัวเลือกที่อธิบายไว้ข้างต้นแยกกัน มารวมเข้าด้วยกันเป็น Circuit เดียวดังนี้

การตั้งค่าเริ่มต้นสำหรับการประมาณเฟสด้วยสอง qubit

Hadamard Gate หลังจากการดำเนินการ controlled ถูกลบออกแล้วและยังไม่มีการวัดที่นี่ เราจะเพิ่มเติมสิ่งต่าง ๆ ลงใน Circuit เมื่อเราพิจารณาตัวเลือกของเราสำหรับการเรียนรู้มากที่สุดเท่าที่เป็นไปได้เกี่ยวกับ θ\theta

ถ้าเราเรียกใช้ Circuit นี้เมื่อ ψ\vert\psi\rangle เป็น eigenvector ของ UU สถานะของ qubit ล่างจะคงเป็น ψ\vert\psi\rangle ตลอด Circuit ทั้งหมด และเฟสจะถูก "kick" เข้าไปในสถานะของ qubit สองตัวบนสุด มาวิเคราะห์ Circuit อย่างละเอียดโดยใช้รูปต่อไปนี้

สถานะสำหรับการประมาณเฟสด้วยสอง qubit

เราสามารถเขียนสถานะ π1\vert\pi_1\rangle ดังนี้:

π1=ψ12a0=01a1=01a1a0.\vert\pi_1\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 \vert a_1 a_0 \rangle.

เมื่อการดำเนินการ controlled-UU ครั้งแรกดำเนินการ eigenvalue λ=e2πiθ\lambda = e^{2\pi i\theta} จะถูก kick เข้าไปในเฟสเมื่อ a0a_0 (qubit บนสุด) เท่ากับ 11 แต่ไม่ใช่เมื่อมันเป็น 00 ดังนั้น เราสามารถแสดงสถานะที่ได้ดังนี้:

π2=ψ12a0=01a1=01e2πia0θa1a0.\vert\pi_2\rangle = \vert\psi\rangle \otimes \frac{1}{2} \sum_{a_0=0}^1 \sum_{a_1=0}^1 e^{2 \pi i a_0 \theta} \vert a_1 a_0 \rangle.

controlled-UU Gate ที่สองและสามทำสิ่งที่คล้ายกัน ยกเว้นสำหรับ a1a_1 แทนที่จะเป็น a0a_0 และ θ\theta แทนที่ด้วย 2θ2\theta เราสามารถแสดงสถานะที่ได้ดังนี้:

π3=ψ12a0=01a1=01e2πi(2a1+a0)θa1a0.\vert\pi_3\rangle = \vert\psi\rangle\otimes\frac{1}{2}\sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 e^{2\pi i (2 a_1 + a_0)\theta} \vert a_1 a_0 \rangle.

ถ้าเราคิดถึงสตริงฐานสอง a1a0a_1 a_0 ว่าแทนจำนวนเต็ม x{0,1,2,3}x \in \{0,1,2,3\} ในรูปฐานสอง ซึ่งคือ x=2a1+a0x = 2 a_1 + a_0 เราสามารถแสดงสถานะนี้ได้อีกแบบดังนี้

π3=ψ12x=03e2πixθx\vert\pi_3\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x \theta} \vert x \rangle

เป้าหมายของเราคือดึงข้อมูลเกี่ยวกับ θ\theta ให้ได้มากที่สุดจากสถานะนี้

ณ จุดนี้เราจะพิจารณากรณีพิเศษ ที่เราได้รับการรับรองว่า θ=y4\theta = \frac{y}{4} สำหรับจำนวนเต็ม y{0,1,2,3}y\in\{0,1,2,3\} กล่าวอีกนัยหนึ่ง เรามี θ{0,1/4,1/2,3/4}\theta\in \{0, 1/4, 1/2, 3/4\} ดังนั้นเราสามารถแสดงตัวเลขนี้ได้อย่างแม่นยำโดยใช้รูปฐานสองด้วยสองบิต คือ .00,00, .01,01, .10,10, หรือ .1111 โดยทั่วไป θ\theta อาจไม่ใช่หนึ่งในสี่ค่านี้ แต่การคิดถึงกรณีพิเศษนี้จะช่วยให้เราหาวิธีที่มีประสิทธิภาพสูงสุดในการดึงข้อมูลเกี่ยวกับ θ\theta ในเชิงทั่วไป

ก่อนอื่นเราจะกำหนดเวกเตอร์สถานะสอง qubit สำหรับแต่ละค่า y{0,1,2,3}y \in \{0, 1, 2, 3\} ที่เป็นไปได้

ϕy=12x=03e2πix(y4)x=12x=03e2πixy4x\vert \phi_y\rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x (\frac{y}{4})} \vert x \rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i \frac{x y}{4}} \vert x \rangle

หลังจากลดรูปเลขชี้กำลัง เราสามารถเขียนเวกเตอร์เหล่านี้ดังนี้

ϕ0=120+121+122+123ϕ1=120+i21122i23ϕ2=120121+122123ϕ3=120i21122+i23\begin{aligned} \vert\phi_0\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle + \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_1\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle - \frac{i}{2} \vert 3 \rangle \\[3mm] \vert\phi_2\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle - \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_3\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle + \frac{i}{2} \vert 3 \rangle \end{aligned}

เวกเตอร์เหล่านี้มีความตั้งฉากกัน: ถ้าเราเลือกคู่ใดก็ตามและคำนวณ inner product จะได้ 00 แต่ละอันก็เป็น unit vector ด้วย ดังนั้น {ϕ0,ϕ1,ϕ2,ϕ3}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} จึงเป็น orthonormal basis ดังนั้นเราทราบทันทีว่ามีการวัดที่สามารถแยกแยะพวกมันได้อย่างสมบูรณ์แบบ — หมายความว่าถ้าเราได้รับหนึ่งในนั้นแต่ไม่รู้ว่าอันไหน เราก็สามารถหาว่ามันคืออันใดโดยไม่ผิดพลาด

เพื่อทำการแยกแยะดังกล่าวด้วย Circuit ควอนตัม เราสามารถกำหนดการดำเนินการ unitary VV ที่แปลง standard basis states ไปเป็นสี่สถานะที่แสดงไว้ข้างต้นก่อน

V00=ϕ0V01=ϕ1V10=ϕ2V11=ϕ3\begin{aligned} V \vert 00 \rangle & = \vert\phi_0\rangle \\ V \vert 01 \rangle & = \vert\phi_1\rangle \\ V \vert 10 \rangle & = \vert\phi_2\rangle \\ V \vert 11 \rangle & = \vert\phi_3\rangle \end{aligned}

เพื่อเขียน VV เป็นเมทริกซ์ 4×44\times 4 เราแค่นำคอลัมน์ของ VV มาเป็นสถานะ ϕ0,,ϕ3\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle

V=12(11111i1i11111i1i)V = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

นี่เป็นเมทริกซ์พิเศษ และผู้อ่านบางคนอาจเคยพบมาก่อน: มันคือเมทริกซ์ที่เกี่ยวข้องกับ discrete Fourier transform มิติ 44 ด้วยเหตุนี้ มาเรียกมันด้วยชื่อ QFT4\mathrm{QFT}_4 แทนที่จะเป็น VV ชื่อ QFT\mathrm{QFT} ย่อมาจาก quantum Fourier transform — ซึ่งก็คือ discrete Fourier transform มองในฐานะการดำเนินการ unitary เราจะพูดถึง quantum Fourier transform ในรายละเอียดและเชิงทั่วไปมากขึ้นในไม่ช้า

QFT4=12(11111i1i11111i1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

เราสามารถดำเนินการ inverse ของการดำเนินการนี้เพื่อไปทางตรงกันข้าม แปลงสถานะ ϕ0,,ϕ3\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle ไปเป็น standard basis states 0,,3\vert 0\rangle,\ldots,\vert 3\rangle ถ้าเราทำเช่นนี้ เราก็สามารถวัดเพื่อเรียนรู้ว่าค่า y{0,1,2,3}y\in\{0,1,2,3\} ใดที่อธิบาย θ\theta เป็น θ=y/4\theta = y/4 นี่คือแผนภาพของ Circuit ควอนตัมที่ทำสิ่งนี้

การประมาณเฟสด้วยสอง qubit

โดยสรุป ถ้าเราเรียกใช้ Circuit นี้เมื่อ θ=y/4\theta = y/4 สำหรับ y{0,1,2,3},y\in\{0,1,2,3\}, สถานะทันทีก่อนการวัดจะเป็น ψy\vert \psi\rangle \vert y\rangle (สำหรับ yy ที่เข้ารหัสเป็นสตริงฐานสองสองบิต) ดังนั้นการวัดจะเปิดเผยค่า yy โดยไม่ผิดพลาด

Circuit นี้มีแรงบันดาลใจจากกรณีพิเศษที่ θ{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} — แต่เราสามารถเรียกใช้มันสำหรับทุกตัวเลือกของ UU และ ψ\vert \psi\rangle และด้วยเหตุนี้ทุกค่าของ θ\theta ที่เราต้องการ นี่คือกราฟแสดงความน่าจะเป็นของเอาต์พุตที่ Circuit ให้สำหรับทุกตัวเลือกของ θ\theta

ความน่าจะเป็นของผลลัพธ์จากการประมาณเฟสสอง qubit

นี่เป็นการปรับปรุงที่ชัดเจนเหนือรูปแบบ single-qubit ที่อธิบายไว้ก่อนหน้าในบทเรียน ไม่สมบูรณ์แบบ — อาจให้คำตอบที่ผิด — แต่คำตอบมักเอนเอียงมากไปทางค่า yy ที่ y/4y/4 ใกล้เคียงกับ θ\theta โดยเฉพาะอย่างยิ่ง ผลลัพธ์ที่น่าจะเป็นมากที่สุดจะสอดคล้องกับค่าที่ใกล้ที่สุดของ y/4y/4 กับ θ\theta เสมอ (เทียบ θ=0\theta = 0 และ θ=1\theta = 1 เหมือนก่อน) และจากกราฟดูเหมือนว่าค่าที่ใกล้ที่สุดสำหรับ xx นี้มักปรากฏด้วยความน่าจะเป็นเพิ่งเกิน 40%40\% เมื่อ θ\theta อยู่กึ่งกลางพอดีระหว่างสองค่าดังกล่าว เช่น θ=0.375\theta = 0.375 สองค่า yy ที่ใกล้เท่ากันมีความน่าจะเป็นเท่ากัน

เตรียมการสำหรับการขยายไปสู่หลาย qubit

เมื่อเห็นการปรับปรุงที่เราได้รับโดยใช้ control qubit สองตัวแทนที่จะเป็นหนึ่ง ร่วมกับ inverse ของ quantum Fourier transform มิติ 44 มันเป็นเรื่องธรรมชาติที่จะพิจารณาการขยายต่อไป — โดยเพิ่ม control qubit มากขึ้น เมื่อเราทำเช่นนี้ เราจะได้ ขั้นตอนการประมาณเฟส ทั่วไป เราจะเห็นว่ามันทำงานอย่างไรในไม่ช้า แต่เพื่ออธิบายอย่างแม่นยำ เราต้องพูดถึง quantum Fourier transform ในเชิงทั่วไปมากขึ้น เพื่อดูว่ามันถูกกำหนดสำหรับมิติอื่น ๆ อย่างไร และเราสามารถนำไปใช้ (หรือ inverse ของมัน) กับ Circuit ควอนตัมได้อย่างไร

การแปลงฟูริเยร์ควอนตัม

quantum Fourier transform คือการดำเนินการ unitary ที่สามารถกำหนดได้สำหรับจำนวนเต็มบวก NN ใด ๆ ในหัวข้อนี้ เราจะดูว่าการดำเนินการนี้ถูกกำหนดอย่างไร และสามารถนำไปใช้กับ Circuit ควอนตัมบน mm qubit ด้วยต้นทุน O(m2)O(m^2) ได้อย่างไรเมื่อ N=2mN = 2^m

เมทริกซ์ที่อธิบาย quantum Fourier transform มาจากการดำเนินการแบบคล้ายกันบนเวกเตอร์มิติ NN ที่รู้จักกันในชื่อ discrete Fourier transform การดำเนินการนี้สามารถคิดได้หลายแบบ ตัวอย่างเช่น เราสามารถคิดถึง discrete Fourier transform ในเชิงคณิตศาสตร์นามธรรมล้วน ๆ ในฐานะ linear mapping หรือเราสามารถคิดถึงมันในเชิงการคำนวณ ที่เราได้รับเวกเตอร์มิติ NN ของจำนวนเชิงซ้อน (โดยใช้เลขฐานสองในการเข้ารหัสส่วนจริงและส่วนจินตภาพของ entry สมมติว่า) และเป้าหมายคือคำนวณเวกเตอร์มิติ NN ที่ได้จากการใช้ discrete Fourier transform โฟกัสของเราจะอยู่ที่วิธีที่สาม ซึ่งคือการมองการแปลงนี้ในฐานะการดำเนินการ unitary ที่สามารถดำเนินการบนระบบควอนตัมได้

มีอัลกอริทึมที่มีประสิทธิภาพสำหรับการคำนวณ discrete Fourier transform บนเวกเตอร์อินพุตที่กำหนดที่รู้จักกันในชื่อ fast Fourier transform มันมีการใช้งานในการประมวลผลสัญญาณและหลายพื้นที่อื่น ๆ และถูกมองโดยหลายคนว่าเป็นหนึ่งในอัลกอริทึมที่สำคัญที่สุดที่เคยค้นพบ ปรากฏว่าการนำ quantum Fourier transform ไปใช้เมื่อ NN เป็นกำลังของ 2 ที่เราจะศึกษานั้นอิงจากโครงสร้างพื้นฐานเดียวกันกับที่ทำให้ fast Fourier transform เป็นไปได้

นิยามของ quantum Fourier transform

เพื่อนิยาม quantum Fourier transform เราจะกำหนดจำนวนเชิงซ้อน ωN\omega_N ก่อน สำหรับแต่ละจำนวนเต็มบวก NN ดังนี้:

ωN=e2πiN=cos(2πN)+isin(2πN).\omega_N = e^{\frac{2\pi i}{N}} = \cos\left(\frac{2\pi}{N}\right) + i \sin\left(\frac{2\pi}{N}\right).

นี่คือตัวเลขบนวงกลมหน่วยเชิงซ้อนที่เราได้ถ้าเราเริ่มที่ 11 และเคลื่อนทวนเข็มนาฬิกาด้วยมุม 2π/N2\pi/N เรเดียน หรือเศษ 1/N1/N ของเส้นรอบวง นี่คือตัวอย่างบางส่วน:

ω1=1ω2=1ω3=12+32iω4=iω8=1+i2ω16=2+22+222iω1000.998+0.063i\begin{gathered} \omega_1 = 1\\[1mm] \omega_2 = -1\\[1mm] \omega_3 = -\frac{1}{2} + \frac{\sqrt{3}}{2} i\\[2mm] \omega_4 = i\\[1mm] \omega_8 = \frac{1+i}{\sqrt{2}}\\[3mm] \omega_{16} = \frac{\sqrt{2 + \sqrt{2}}}{2} + \frac{\sqrt{2 - \sqrt{2}}}{2} i\\[2mm] \omega_{100} \approx 0.998 + 0.063 i \end{gathered}

ตอนนี้เราสามารถนิยาม quantum Fourier transform มิติ NN ซึ่งอธิบายโดยเมทริกซ์ N×NN\times N ที่แถวและคอลัมน์เกี่ยวข้องกับ standard basis states 0,,N1\vert 0\rangle,\ldots,\vert N-1\rangle เราต้องการการดำเนินการนี้เฉพาะเมื่อ N=2mN = 2^m เป็นกำลังของ 22 สำหรับการประมาณเฟส แต่การดำเนินการนี้สามารถนิยามได้สำหรับจำนวนเต็มบวก NN ใด ๆ

QFTN=1Nx=0N1y=0N1ωNxyxy\mathrm{QFT}_N = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \sum_{y = 0}^{N-1} \omega_N^{xy} \vert x \rangle\langle y\vert

ดังที่กล่าวไว้แล้ว นี่คือเมทริกซ์ที่เกี่ยวข้องกับ discrete Fourier transform มิติ NN บ่อยครั้งไม่รวมตัวประกอบนำ 1/N1/\sqrt{N} ไว้ในนิยามของเมทริกซ์นี้ แต่เราต้องรวมไว้เพื่อให้ได้เมทริกซ์ unitary

นี่คือ quantum Fourier transform เขียนเป็นเมทริกซ์ สำหรับค่า NN เล็กบางค่า

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(1111)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(11111+i321i3211i321+i32)\mathrm{QFT}_3 = \frac{1}{\sqrt{3}} \begin{pmatrix} 1 & 1 & 1\\[2mm] 1 & \frac{-1 + i\sqrt{3}}{2} & \frac{-1 - i\sqrt{3}}{2}\\[2mm] 1 & \frac{-1 - i\sqrt{3}}{2} & \frac{-1 + i\sqrt{3}}{2} \end{pmatrix} QFT4=12(11111i1i11111i1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix} QFT8=122(1111111111+i2i1+i211i2i1i21i1i1i1i11+i2i1+i211i2i1i21111111111i2i1i211+i2i1+i21i1i1i1i11i2i1i211+i2i1+i2)\mathrm{QFT}_8 = \frac{1}{2\sqrt{2}} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\[2mm] 1 & \frac{1+i}{\sqrt{2}} & i & \frac{-1+i}{\sqrt{2}} & -1 & \frac{-1-i}{\sqrt{2}} & -i & \frac{1-i}{\sqrt{2}}\\[2mm] 1 & i & -1 & -i & 1 & i & -1 & -i\\[2mm] 1 & \frac{-1+i}{\sqrt{2}} & -i & \frac{1+i}{\sqrt{2}} & -1 & \frac{1-i}{\sqrt{2}} & i & \frac{-1-i}{\sqrt{2}}\\[2mm] 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1\\[2mm] 1 & \frac{-1-i}{\sqrt{2}} & i & \frac{1-i}{\sqrt{2}} & -1 & \frac{1+i}{\sqrt{2}} & -i & \frac{-1+i}{\sqrt{2}}\\[2mm] 1 & -i & -1 & i & 1 & -i & -1 & i\\[2mm] 1 & \frac{1-i}{\sqrt{2}} & -i & \frac{-1-i}{\sqrt{2}} & -1 & \frac{-1+i}{\sqrt{2}} & i & \frac{1+i}{\sqrt{2}}\\[2mm] \end{pmatrix}

สังเกตโดยเฉพาะว่า QFT2\mathrm{QFT}_2 เป็นชื่ออีกชื่อสำหรับการดำเนินการ Hadamard

ความเป็น Unitary

มาตรวจสอบว่า QFTN\mathrm{QFT}_N เป็น unitary สำหรับทุกตัวเลือกของ NN วิธีหนึ่งในการทำเช่นนี้คือแสดงว่าคอลัมน์ของมันก่อให้เกิด orthonormal basis เราสามารถกำหนดเวกเตอร์ที่สอดคล้องกับคอลัมน์ที่ yy เริ่มจาก y=0y = 0 ไปถึง y=N1y = N-1 ดังนี้:

ϕy=1Nx=0N1ωNxyx.\vert\phi_y\rangle = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \omega_N^{xy} \vert x \rangle.

การนำ inner product ระหว่างเวกเตอร์สองตัวใด ๆ เหล่านี้ให้นิพจน์นี้:

ϕzϕy=1Nx=0N1ωNx(yz)\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \sum_{x = 0}^{N-1} \omega_N^{x (y - z)}

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

1+α+α2++αN1={αN1α1if α1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

โดยเฉพาะอย่างยิ่ง เราสามารถใช้สูตรนี้เมื่อ α=ωNyz\alpha = \omega_N^{y-z} เมื่อ y=zy = z เรามี α=1\alpha = 1 ดังนั้นการใช้สูตรและหารด้วย NN ให้

ϕyϕy=1.\langle \phi_y \vert \phi_y \rangle = 1.

เมื่อ yzy\neq z เรามี α1\alpha \neq 1 ดังนั้นสูตรจะเปิดเผยสิ่งนี้:

ϕzϕy=1NωNN(yz)1ωNyz1=1N11ωNyz1=0.\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \frac{\omega_N^{N(y-z)} - 1}{\omega_N^{y-z} - 1} = \frac{1}{N} \frac{1 - 1}{\omega_N^{y-z} - 1} = 0.

สิ่งนี้เกิดขึ้นเพราะ ωNN=e2πi=1\omega_N^N = e^{2\pi i} = 1 ดังนั้น ωNN(yz)=1yz=1\omega_N^{N(y-z)} = 1^{y-z} = 1 ทำให้ตัวเศษเป็นศูนย์ ในขณะที่ตัวส่วนไม่ใช่ศูนย์เพราะ ωNyz1\omega_N^{y-z} \neq 1 พูดตามสัญชาตญาณ สิ่งที่เราทำคือรวมจุดหลายจุดที่กระจายอยู่รอบ ๆ วงกลมหน่วย และพวกมันหักล้างกันและเหลือ 00 เมื่อรวมกัน

เราจึงได้สร้างว่า {ϕ0,,ϕN1}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} เป็นชุด orthonormal

ϕzϕy={1y=z0yz,\langle \phi_z \vert \phi_y \rangle = \begin{cases} 1 & y=z\\ 0 & y\neq z, \end{cases}

ซึ่งเปิดเผยว่า QFTN\mathrm{QFT}_N เป็น unitary

Controlled-phase gates

เพื่อนำ quantum Fourier transform ไปใช้กับ Circuit ควอนตัม เราจะต้องใช้ controlled-phase gates ระลึกว่า phase operation คือการดำเนินการ unitary single-qubit ในรูปแบบ

Pα=(100eiα)P_{\alpha} = \begin{pmatrix} 1 & 0\\[1mm] 0 & e^{i\alpha} \end{pmatrix}

สำหรับจำนวนจริง α\alpha ใด ๆ เวอร์ชัน controlled ของ Gate นี้มีเมทริกซ์ดังต่อไปนี้:

CPα=(100001000010000eiα)CP_{\alpha} = \begin{pmatrix} 1 & 0 & 0 & 0\\[1mm] 0 & 1 & 0 & 0\\[1mm] 0 & 0 & 1 & 0\\[1mm] 0 & 0 & 0 & e^{i\alpha} \end{pmatrix}

สำหรับ controlled gate นี้ จริง ๆ ไม่สำคัญว่า qubit ไหนเป็น control และ qubit ไหนเป็น target เพราะสองความเป็นไปได้นั้นเทียบเท่ากัน เราสามารถใช้สัญลักษณ์ใด ๆ ต่อไปนี้เพื่อแสดง Gate นี้ในแผนภาพ Circuit ควอนตัม

การแสดงแผนภาพ Circuit ควอนตัมสำหรับ controlled-phase gates

สำหรับรูปแบบที่สาม ป้ายกำกับ α\alpha ยังบางครั้งวางไว้ที่ด้านข้างของเส้น control หรือใต้ตัว control ล่างเมื่อสะดวก

เพื่อดำเนินการ quantum Fourier transform เมื่อ N=2mN = 2^m และ m2m\geq 2 เราต้องดำเนินการ operation บน mm qubit ที่การกระทำบน standard basis states สามารถอธิบายได้ว่า

yaω2mayya,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

โดยที่ aa คือบิต และ y{0,,2m11}y \in \{0,\ldots,2^{m-1} - 1\} คือตัวเลขที่เข้ารหัสในรูปฐานสองเป็นสตริง m1m-1 บิต สิ่งนี้สามารถทำได้โดยใช้ controlled-phase gates โดยการขยายตัวอย่างต่อไปนี้ สำหรับ m=5m=5

แผนภาพ Circuit ควอนตัมสำหรับการฉีดเฟส

โดยทั่วไป สำหรับตัวเลือก m2m\geq 2 ใด ๆ qubit บนสุดที่สอดคล้องกับบิต aa สามารถมองเป็น control โดยมี phase gates PαP_{\alpha} ตั้งแต่ α=π/2m1\alpha = \pi/2^{m-1} บน qubit ที่สอดคล้องกับบิตนัยสำคัญน้อยที่สุดของ yy ไปถึง α=π2\alpha = \frac{\pi}{2} บน qubit ที่สอดคล้องกับบิตนัยสำคัญมากที่สุดของ yy controlled-phase gates เหล่านี้ commute ซึ่งกันและกันและสามารถดำเนินการในลำดับใด ๆ ก็ได้

Circuit ที่นำ QFT ไปใช้

ตอนนี้เราจะดูว่าเราสามารถนำ quantum Fourier transform ไปใช้กับ Circuit ได้อย่างไรเมื่อมิติ N=2mN = 2^m เป็นกำลังของ 22 จริง ๆ มีหลายวิธีในการนำ quantum Fourier transform ไปใช้ แต่นี่น่าจะเป็นวิธีที่ง่ายที่สุดที่รู้จัก เมื่อเรารู้วิธีนำ quantum Fourier transform ไปใช้กับ Circuit ควอนตัม ก็ง่ายที่จะนำ inverse ของมันไปใช้: เราสามารถแทนที่แต่ละ Gate ด้วย inverse ของมัน (หรืออีกนัยหนึ่งคือ conjugate transpose) และใช้ gate ในลำดับย้อนกลับ ทุก Circuit ควอนตัมที่ประกอบด้วย unitary gates ล้วน ๆ สามารถกลับด้านได้ด้วยวิธีนี้

การนำไปใช้นั้นมีลักษณะเป็น recursive ดังนั้นนั่นคือวิธีที่เป็นธรรมชาติที่สุดในการอธิบาย กรณีฐานคือ m=1m=1 ซึ่งใน quantum Fourier transform คือการดำเนินการ Hadamard

เพื่อดำเนินการ quantum Fourier transform บน mm qubit เมื่อ m2m \geq 2 เราสามารถดำเนินการตามขั้นตอนต่อไปนี้ ซึ่งการกระทำของมันเราจะอธิบายสำหรับ standard basis states ในรูปแบบ xa\vert x \rangle \vert a\rangle โดยที่ x{0,,2m11}x\in\{0,\ldots,2^{m-1} - 1\} เป็นจำนวนเต็มที่เข้ารหัสเป็น m1m-1 บิตโดยใช้รูปฐานสอง และ aa คือบิตเดี่ยว

  1. ดำเนิน quantum Fourier transform มิติ 2m12^{m-1} บน m1m-1 qubit ล่าง/ซ้ายสุดก่อน เพื่อให้ได้ สถานะนี้:

    (QFT2m1x)a=12m1y=02m11ω2m1xyya.\Bigl(\mathrm{QFT}_{2^{m-1}} \vert x \rangle\Bigr) \vert a\rangle = \frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \vert y \rangle \vert a \rangle.

    สิ่งนี้ทำได้โดยการใช้วิธีที่กำลังอธิบายแบบ recursive สำหรับหนึ่ง qubit น้อยกว่า โดยใช้การดำเนินการ Hadamard บน qubit เดี่ยวเป็นกรณีฐาน

  2. ใช้ qubit บน/ขวาสุดเป็น control เพื่อฉีดเฟส ω2my\omega_{2^m}^y สำหรับแต่ละ standard basis state y\vert y\rangle ของ m1m-1 qubit ที่เหลือ (ตามที่อธิบายไว้ข้างต้น) เพื่อให้ได้สถานะนี้:

    12m1y=02m11ω2m1xyω2mayya.\frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle.
  3. ดำเนิน Hadamard gate บน qubit บน/ขวาสุดเพื่อให้ได้สถานะนี้:

    12my=02m11b=01(1)abω2m1xyω2mayyb.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert b \rangle.
  4. สลับลำดับของ qubit เพื่อให้บิตนัยสำคัญน้อยที่สุดกลายเป็นบิตนัยสำคัญมากที่สุด โดยบิตอื่น ๆ ทั้งหมดเลื่อนขึ้น/ขวา:

    12my=02m11b=01(1)abω2m1xyω2mayby.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b \rangle \vert y \rangle.

ตัวอย่างเช่น นี่คือ Circuit ที่เราได้สำหรับ N=32=25N = 32 = 2^5 ในแผนภาพนี้ qubit ได้รับชื่อที่สอดคล้องกับ standard basis vectors xa\vert x\rangle \vert a\rangle (สำหรับอินพุต) และ by\vert b\rangle \vert y\rangle (สำหรับเอาต์พุต) เพื่อความชัดเจน

แผนภาพ Circuit ควอนตัมสำหรับ quantum Fourier transform มิติ 32

การวิเคราะห์

สูตรสำคัญที่เราต้องการเพื่อตรวจสอบว่า Circuit ที่อธิบายไว้นั้นนำ quantum Fourier transform มิติ 2m2^m ไปใช้คือ:

(1)abω2m1xyω2may=ω2m(2x+a)(2m1b+y).(-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} = \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)}.

สูตรนี้ใช้ได้กับทุกตัวเลือกของจำนวนเต็ม a,a, b,b, x,x, และ y,y, แต่เราจะต้องการมันเฉพาะสำหรับ a,b{0,1}a,b\in\{0,1\} และ x,y{0,,2m11}x,y\in\{0,\ldots,2^{m-1}-1\} มันสามารถตรวจสอบได้โดยการขยายผลคูณในเลขชี้กำลังทางขวามือ

ω2m(2x+a)(2m1b+y)=ω2m2mxbω2m2xyω2m2m1abω2may=(1)abω2m1xyω2may, \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} = \omega_{2^m}^{2^m xb} \omega_{2^m}^{2xy} \omega_{2^m}^{2^{m-1}ab} \omega_{2^m}^{ay} = (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay},

โดยที่ความเท่าเทียมที่สองใช้การสังเกตว่า

ω2m2mxb=(ω2m2m)xb=1xb=1.\omega_{2^m}^{2^m xb} = \bigl(\omega_{2^m}^{2^m}\bigr)^{xb} = 1^{xb} = 1.

quantum Fourier transform มิติ 2m2^m ถูกกำหนดดังต่อไปนี้สำหรับทุก u{0,,2m1}u\in\{0,\ldots,2^m - 1\}

QFT2mu=12mv=02m1ω2muvv\mathrm{QFT}_{2^m} \vert u\rangle = \frac{1}{\sqrt{2^m}} \sum_{v = 0}^{2^m - 1} \omega_{2^m}^{uv} \vert v\rangle

ถ้าเราเขียน uu และ vv เป็น

u=2x+av=2m1b+y\begin{aligned} u & = 2x + a\\ v & = 2^{m-1}b + y \end{aligned}

สำหรับ a,b{0,1}a,b\in\{0,1\} และ x,y{0,,2m11},x,y\in\{0,\ldots,2^{m-1} - 1\}, เราได้

QFT2m2x+a=12my=02m11b=01ω2m(2x+a)(2m1b+y)b2m1+y=12my=02m11b=01(1)abω2m1xyω2mayb2m1+y.\begin{aligned} \mathrm{QFT}_{2^m} \vert 2x + a\rangle & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} \vert b 2^{m-1} + y\rangle\\[2mm] & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b 2^{m-1} + y\rangle. \end{aligned}

สุดท้าย โดยการคิดถึง standard basis states xa\vert x \rangle \vert a\rangle และ by\vert b \rangle \vert y \rangle ในฐานะการเข้ารหัสฐานสองของจำนวนเต็มในช่วง {0,,2m1},\{0,\ldots,2^m-1\},

xa=2x+aby=2m1b+y,\begin{aligned} \vert x \rangle \vert a\rangle & = \vert 2x + a \rangle\\ \vert b \rangle \vert y \rangle & = \vert 2^{m-1}b + y\rangle, \end{aligned}

เราเห็นว่า Circuit ด้านบนนำการดำเนินการที่ต้องการมาใช้ ถ้าวิธีการนำ quantum Fourier transform ไปใช้นี้ดูน่าทึ่ง ก็เพราะมันเป็นเช่นนั้นจริง ๆ: มันคือ fast Fourier transform ในรูปแบบของ Circuit ควอนตัม

สุดท้าย มาลองนับจำนวน gate ที่ใช้ใน Circuit ที่อธิบายไว้ controlled-phase gates ไม่ได้อยู่ใน gate set มาตรฐานที่เราพูดถึงในบทเรียนก่อน แต่ในตอนเริ่มต้นเราจะเพิกเฉยสิ่งนี้และนับแต่ละ gate เป็นหนึ่ง gate

ให้ sms_m แทนจำนวน gate ที่เราต้องการสำหรับแต่ละตัวเลือกของ mm ที่เป็นไปได้ ถ้า m=1,m=1, quantum Fourier transform ก็แค่การดำเนินการ Hadamard ดังนั้น

s1=1.s_1 = 1.

ถ้า m2,m\geq 2, ใน Circuit ด้านบนเราต้องการ sm1s_{m-1} gate สำหรับ quantum Fourier transform บน m1m-1 qubit บวก m1m-1 controlled-phase gates บวก Hadamard gate บวก m1m-1 swap gates ดังนั้น

sm=sm1+(2m1).s_m = s_{m-1} + (2m - 1).

เราสามารถหานิพจน์รูปปิดได้โดยการหาผลรวม:

sm=k=1m(2k1)=m2.s_m = \sum_{k = 1}^m (2k - 1) = m^2.

เราไม่จำเป็นต้องใช้ swap gates มากเท่าที่วิธีอธิบายไว้ ถ้าเราจัดเรียง gate ใหม่เล็กน้อย เราสามารถผลัก swap gates ทั้งหมดไปทางขวาและลดจำนวน swap gates ที่ต้องการเหลือ m/2\lfloor m/2\rfloor ในเชิง asymptotic นี่ไม่ใช่การปรับปรุงที่สำคัญ: เรายังคงได้ Circuit ที่มีขนาด O(m2)O(m^2) สำหรับการดำเนินการ QFT2m\mathrm{QFT}_{2^m}

ถ้าเราต้องการนำ quantum Fourier transform ไปใช้โดยใช้เฉพาะ gate จาก gate set มาตรฐานของเรา เราต้องสร้างหรือประมาณ controlled-phase gates แต่ละตัวด้วย gate จากชุดของเรา จำนวนที่ต้องการขึ้นอยู่กับความแม่นยำที่เราต้องการ แต่ในฐานะฟังก์ชันของ mm ต้นทุนรวมยังคงเป็น quadratic

จริง ๆ เป็นไปได้ที่จะประมาณ quantum Fourier transform อย่างใกล้เคียงด้วยจำนวน gate ที่น้อยกว่า quadratic โดยใช้ความจริงที่ว่า PαP_{\alpha} ใกล้เคียงกับ identity operation มากเมื่อ α\alpha เล็กมาก — ซึ่งหมายความว่าเราสามารถเพิกเฉย controlled-phase gates ส่วนใหญ่ได้โดยไม่สูญเสียความแม่นยำมากเกินไป

ขั้นตอนทั่วไปและการวิเคราะห์

ตอนนี้เราจะตรวจสอบขั้นตอนการประมาณเฟสในเชิงทั่วไป แนวคิดคือการขยายเวอร์ชันสอง qubit ของการประมาณเฟสที่เราพิจารณาข้างต้นในแบบธรรมชาติที่แผนภาพต่อไปนี้บอก

ขั้นตอนการประมาณเฟส

สังเกตว่า สำหรับแต่ละ control qubit ใหม่ที่เพิ่มเข้ามาด้านบน เรา เพิ่มสองเท่า จำนวนครั้งที่การดำเนินการ unitary UU ถูกดำเนินการ สิ่งนี้ถูกระบุในแผนภาพโดยเลขชี้กำลังบน UU สำหรับแต่ละการดำเนินการ controlled-unitary

วิธีที่ตรงไปตรงมาที่สุดในการนำการดำเนินการ controlled-UkU^k ไปใช้สำหรับตัวเลือก kk บางค่าคือการทำซ้ำการดำเนินการ controlled-UU kk ครั้ง หากนี่คือระเบียบวิธีที่ใช้จริง ๆ ต้องตระหนักว่าการเพิ่ม control qubit มีส่วนทำให้ขนาดของ Circuit เพิ่มขึ้นอย่างมาก: ถ้าเรามี mm control qubit ตามที่แผนภาพแสดง จำเป็นต้องใช้ controlled-UU รวมทั้งหมด 2m12^m - 1 สำเนา ซึ่งหมายความว่ามีต้นทุนการคำนวณที่สำคัญเกิดขึ้นเมื่อ mm เพิ่มขึ้น — แต่ดังที่เราจะเห็น มันยังนำไปสู่การประมาณ θ\theta ที่แม่นยำมากขึ้นอย่างมีนัยสำคัญด้วย

อย่างไรก็ตาม สำคัญที่ต้องสังเกตว่า สำหรับตัวเลือก UU บางอย่าง อาจเป็นไปได้ที่จะสร้าง Circuit ที่นำการดำเนินการ UkU^k สำหรับค่าขนาดใหญ่ของ kk ไปใช้ด้วยวิธีที่มีประสิทธิภาพมากกว่าการทำซ้ำ Circuit สำหรับ UU kk ครั้ง เราจะเห็นตัวอย่างเฉพาะของสิ่งนี้ในบริบทของการแยกตัวประกอบจำนวนเต็มในภายหลังของบทเรียน ที่อัลกอริทึมที่มีประสิทธิภาพสำหรับ modular exponentiation ที่พูดถึงในบทเรียนก่อนหน้าเข้ามาช่วยเหลือ

ตอนนี้มาวิเคราะห์ Circuit ที่อธิบายไว้ สถานะทันทีก่อน inverse quantum Fourier transform มีลักษณะดังนี้:

12mx=02m1(Uxψ)x=ψ12mx=02m1e2πixθx.\frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \bigl( U^x \vert\psi\rangle \bigr) \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i x\theta} \vert x\rangle.

กรณีพิเศษ

ในแนวทางคล้ายกับที่เราทำในกรณี m=2m=2 เราจะพิจารณากรณีพิเศษก่อนที่ θ=y/2m\theta = y/2^m สำหรับ y{0,,2m1}y\in\{0,\ldots,2^m-1\} ในกรณีนี้ สถานะก่อน inverse quantum Fourier transform สามารถเขียนได้อีกแบบดังนี้:

ψ12mx=02m1e2πixy2mx=ψ12mx=02m1ω2mxyx=ψQFT2my.\vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i \frac{xy}{2^m}} \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \omega_{2^m}^{xy} \vert x\rangle = \vert\psi\rangle \otimes \mathrm{QFT}_{2^m} \vert y\rangle.

ดังนั้น เมื่อใช้ inverse quantum Fourier transform สถานะจะกลายเป็น

ψy\vert\psi\rangle \vert y\rangle

และการวัดจะเปิดเผย yy (เข้ารหัสในฐานสอง)

การหา bound ของความน่าจะเป็น

สำหรับค่า θ\theta อื่น ๆ หมายถึงค่าที่ไม่อยู่ในรูป y/2my/2^m สำหรับจำนวนเต็ม yy ผลการวัดจะไม่แน่นอน แต่เราสามารถพิสูจน์ bound บนความน่าจะเป็นสำหรับผลลัพธ์ต่าง ๆ ได้ ต่อจากนี้ มาพิจารณาตัวเลือก θ\theta ใด ๆ ที่ตรงตาม 0θ<10\leq \theta < 1

หลังจากดำเนิน inverse quantum Fourier transform สถานะของ Circuit คือ:

ψ12my=02m1x=02m1e2πix(θy/2m)y.\vert \psi \rangle \otimes \frac{1}{2^m} \sum_{y=0}^{2^m - 1} \sum_{x=0}^{2^m-1} e^{2\pi i x (\theta - y/2^m)} \vert y\rangle.

ดังนั้น เมื่อดำเนินการวัดบน mm qubit บนสุด เราจะเห็นผลลัพธ์ yy แต่ละอันด้วยความน่าจะเป็น

py=12mx=02m1e2πix(θy/2m)2.p_y = \left\vert \frac{1}{2^m} \sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} \right\vert^2.

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

1+α+α2++αN1={αN1α1if α1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

เราสามารถลดรูปผลรวมที่ปรากฏในสูตรสำหรับ pyp_y โดยใช้ α=e2πi(θy/2m)\alpha = e^{2\pi i (\theta - y/2^m)} นี่คือสิ่งที่เราได้

x=02m1e2πix(θy/2m)={2mθ=y/2me2πi(2mθy)1e2πi(θy/2m)1θy/2m\sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} = \begin{cases} 2^m & \theta = y/2^m\\[2mm] \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1} & \theta\neq y/2^m \end{cases}

ดังนั้น ในกรณีที่ θ=y/2m\theta = y/2^m เราพบว่า py=1p_y = 1 (ดังที่เราทราบอยู่แล้วจากการพิจารณากรณีพิเศษนี้) และในกรณีที่ θy/2m\theta \neq y/2^m เราพบว่า

py=122me2πi(2mθy)1e2πi(θy/2m)12.p_y = \frac{1}{2^{2m}} \left\vert \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1}\right\vert^2.

เราสามารถเรียนรู้เพิ่มเติมเกี่ยวกับความน่าจะเป็นเหล่านี้โดยการคิดถึงความสัมพันธ์ระหว่างความยาวส่วนโค้งและความยาวคอร์ดบนวงกลมหน่วย นี่คือรูปที่แสดงความสัมพันธ์ที่เราต้องการสำหรับจำนวนจริง δ[12,12]\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr] ใด ๆ

ภาพประกอบความสัมพันธ์ระหว่างความยาวส่วนโค้งและคอร์ด

ก่อนอื่น ความยาวคอร์ด (วาดเป็นสีน้ำเงิน) ไม่สามารถมากกว่าความยาวส่วนโค้ง (วาดเป็นสีม่วง) ได้:

e2πiδ12πδ.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \leq 2\pi\vert\delta\vert.

เมื่อเชื่อมโยงความยาวเหล่านี้ในทิศทางอื่น เราเห็นว่าอัตราส่วนของความยาวส่วนโค้งต่อความยาวคอร์ดมีค่ามากที่สุดเมื่อ δ=±1/2\delta = \pm 1/2 และในกรณีนี้อัตราส่วนคือครึ่งหนึ่งของเส้นรอบวงของวงกลมหารด้วยเส้นผ่านศูนย์กลาง ซึ่งคือ π/2\pi/2 ดังนั้น เรามี

2πδe2πiδ1π2,\frac{2\pi\vert\delta\vert}{\bigl\vert e^{2\pi i \delta} - 1\bigr\vert} \leq \frac{\pi}{2},

และดังนั้น

e2πiδ14δ.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

การวิเคราะห์ที่อิงจากความสัมพันธ์เหล่านี้เปิดเผยข้อเท็จจริงสองอย่างต่อไปนี้

  1. สมมติว่า θ\theta เป็นจำนวนจริงและ y{0,,2m1}y\in \{0,\ldots,2^m-1\} ตรงตาม

    θy2m2(m+1).\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq 2^{-(m+1)}.

    ซึ่งหมายความว่า y/2my/2^m เป็นการประมาณ mm-bit ที่ดีที่สุดของ θ\theta หรืออยู่กึ่งกลางพอดีระหว่าง y/2my/2^m กับ (y1)/2m(y-1)/2^m หรือ (y+1)/2m(y+1)/2^m ดังนั้นมันคือหนึ่งในสองการประมาณที่ดีที่สุดของ θ\theta

    เราจะพิสูจน์ว่า pyp_y ต้องค่อนข้างใหญ่ในกรณีนี้ จากสมมติฐานที่เราพิจารณา ตามมาว่า 2mθy1/2\vert 2^m \theta - y \vert \leq 1/2 ดังนั้นเราสามารถใช้การสังเกตที่สองด้านบนเกี่ยวกับความสัมพันธ์ส่วนโค้งและคอร์ดเพื่อสรุปว่า

    e2πi(2mθy)142mθy=42mθy2m.\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \geq 4 \vert 2^m \theta - y \vert = 4 \cdot 2^m \cdot \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    เราสามารถใช้การสังเกตแรกเกี่ยวกับความสัมพันธ์ส่วนโค้งและคอร์ดเพื่อสรุปว่า

    e2πi(θy/2m)12πθy2m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \leq 2\pi \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    การนำสองอสมการนี้ไปใช้กับ pyp_y เปิดเผยว่า

    py122m1622m4π2=4π20.405.p_y \geq \frac{1}{2^{2m}} \frac{16 \cdot 2^{2m}}{4 \pi^2} = \frac{4}{\pi^2} \approx 0.405.

    สิ่งนี้อธิบายการสังเกตของเราว่าผลลัพธ์ที่ดีที่สุดเกิดขึ้นด้วยความน่าจะเป็นมากกว่า 40%40\% ในเวอร์ชัน m=2m=2 ของการประมาณเฟสที่พูดถึงก่อนหน้า จริง ๆ ไม่ใช่ 40%40\% แต่คือ 4/π24/\pi^2 และในความเป็นจริง bound นี้ใช้ได้กับทุกตัวเลือกของ mm

  2. สมมติว่า y{0,,2m1}y\in \{0,\ldots,2^m-1\} ตรงตาม

    2mθy2m12.2^{-m} \leq \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq \frac{1}{2}.

    ซึ่งหมายความว่ามีการประมาณ z/2mz/2^m ที่ดีกว่า θ\theta อยู่ระหว่าง θ\theta กับ y/2my/2^m

    คราวนี้เราจะพิสูจน์ว่า pyp_y ไม่สามารถใหญ่เกินไป เราสามารถเริ่มจากการสังเกตง่าย ๆ ว่า

    e2πi(2mθy)12,\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \leq 2,

    ซึ่งตามมาจากความจริงที่ว่าสองจุดบนวงกลมหน่วยสามารถต่างกันในค่าสัมบูรณ์ได้มากที่สุด 22

    เราสามารถใช้การสังเกตที่สองเกี่ยวกับความสัมพันธ์ส่วนโค้งและคอร์ดจากด้านบน คราวนี้ทำงานกับตัวส่วนของ pyp_y แทนที่จะเป็นตัวเศษ เพื่อสรุปว่า

    e2πi(θy/2m)14θy2m42m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \geq 4\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \geq 4 \cdot 2^{-m}.

    การนำสองอสมการมารวมกันเปิดเผยว่า

    py122m41622m=14.p_y \leq \frac{1}{2^{2m}} \frac{4}{16 \cdot 2^{-2m}} = \frac{1}{4}.

    โปรดสังเกตว่า แม้ bound นี้เพียงพอสำหรับจุดประสงค์ของเรา แต่มันค่อนข้าง crude — ความน่าจะเป็นมักต่ำกว่า 1/41/4 มาก

ข้อสรุปสำคัญจากการวิเคราะห์นี้คือการประมาณที่ใกล้เคียง θ\theta มากมีแนวโน้มที่จะเกิดขึ้น — เราจะได้การประมาณ mm-bit ที่ดีที่สุดด้วยความน่าจะเป็นมากกว่า 40%40\% — ในขณะที่การประมาณที่ต่างออกไปมากกว่า 2m2^{-m} มีแนวโน้มที่จะเกิดขึ้นน้อยกว่า โดยมีความน่าจะเป็นที่มีขอบเขตบนอยู่ที่ 25%25\%

เมื่อมีการรับประกันเหล่านี้ เป็นไปได้ที่จะเพิ่มความเชื่อมั่นของเราโดยการทำซ้ำขั้นตอนการประมาณเฟสหลายครั้ง เพื่อรวบรวมหลักฐานทางสถิติเกี่ยวกับ θ\theta สำคัญที่ต้องสังเกตว่าสถานะ ψ\vert\psi\rangle ของ qubit กลุ่มล่างไม่เปลี่ยนแปลงจากขั้นตอนการประมาณเฟส ดังนั้นจึงสามารถใช้เรียกขั้นตอนนี้ได้กี่ครั้งก็ได้ โดยเฉพาะอย่างยิ่ง แต่ละครั้งที่เราเรียกใช้ Circuit เราจะได้การประมาณ mm-bit ที่ดีที่สุดของ θ\theta ด้วยความน่าจะเป็นมากกว่า 40%40\% ในขณะที่ความน่าจะเป็นที่จะต่างออกไปมากกว่า 2m2^{-m} มีขอบเขตอยู่ที่ 25%25\% ถ้าเราเรียกใช้ Circuit หลายครั้งและนำผลลัพธ์ที่ปรากฏบ่อยที่สุดจากการเรียกใช้ มันจึงมีแนวโน้มอย่างมากว่าผลลัพธ์ที่ปรากฏบ่อยที่สุดจะไม่ใช่ผลลัพธ์ที่เกิดขึ้นได้มากที่สุด 25%25\% ของเวลา ด้วยเหตุนี้ เราจะมีแนวโน้มสูงที่จะได้การประมาณ y/2my/2^m ที่อยู่ภายใน 1/2m1/2^m จากค่า θ\theta แท้จริงแล้ว โอกาสที่ไม่น่าจะเป็นที่เราจะต่างออกไปมากกว่า 1/2m1/2^m ลดลงแบบ exponential ตามจำนวนครั้งที่เรียกใช้ขั้นตอน

นี่คือกราฟสองกราฟที่แสดงความน่าจะเป็นสำหรับสามค่าต่อเนื่องของ yy เมื่อ m=3m = 3 และ m=4m=4 ในฐานะฟังก์ชันของ θ\theta (แสดงเฉพาะสามผลลัพธ์เพื่อความชัดเจน ความน่าจะเป็นสำหรับผลลัพธ์อื่น ๆ ได้จากการเลื่อน cyclic ของฟังก์ชันพื้นฐานเดิม)

กราฟแสดงความน่าจะเป็นของผลลัพธ์สำหรับการประมาณเฟสสาม qubit

กราฟแสดงความน่าจะเป็นของผลลัพธ์สำหรับการประมาณเฟสสี่ qubit

Source: IBM Quantum docs — updated 15 ม.ค. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of approx. 26 มี.ค. 2569