ขั้นตอนการประมาณเฟส
ต่อไปเราจะพูดถึง ขั้นตอนการประมาณเฟส ซึ่งเป็นอัลกอริทึมควอนตัมสำหรับแก้ปัญหาการประมาณเฟส
เราจะเริ่มต้นด้วยการอุ่นเครื่องแบบความแม่นยำต่ำ ซึ่งจะช่วยอธิบายสัญชาตญาณพื้นฐานเบื้องหลังวิธีนี้ จากนั้นเราจะพูดถึง การแปลงฟูริเยร์ควอนตัม ซึ่งเป็นการดำเนินการควอนตัมที่สำคัญที่ใช้ในขั้นตอนการประมาณเฟส พร้อมกับการนำไปใช้งานด้วย Circuit ควอนตัม เมื่อเรามีการแปลงฟูริเยร์ควอนตัมแล้ว เราจะอธิบายขั้นตอนการประมาณเฟสในเชิงทั่วไปและวิเคราะห์ประสิทธิภาพของมัน
อุ่นเครื่อง: ประมาณเฟสด้วยความแม่นยำต่ำ
เราจะเริ่มต้นด้วยเวอร์ชันง่าย ๆ สองแบบของขั้นตอนการประมาณเฟส ที่ให้คำตอบความแม่นยำต่ำสำหรับปัญหาการประมาณเฟส สิ่งนี้จะช่วยอธิบายสัญชาตญาณเบื้องหลังขั้นตอนทั่วไปที่เราจะเห็นในภายหลังในบทเรียนนี้
การใช้ phase kickback
วิธีที่ง่ายในการแก้ปัญหาการประมาณเฟส ซึ่งช่วยให้เราเรียนรู้บางอย่างเกี่ยวกับค่า ที่เราต้องการ อาศัยปรากฏการณ์ phase kick-back ดังที่เราจะเห็น นี่คือเวอร์ชัน single-qubit ของขั้นตอนการประมาณเฟสทั่วไปที่จะพูดถึงในภายหลัง
ในฐานะส่วนหนึ่งของอินพุตสำหรับปัญหาการประมาณเฟส เรามี Circuit ควอนตัมแบบ unitary สำหรับการดำเนินการ เราสามารถใช้คำอธิบาย Circuit นี้เพื่อสร้าง Circuit สำหรับการดำเนินการ controlled- ซึ่งสามารถแสดงได้ตามที่รูปนี้บอก (โดยมีการดำเนินการ มองเป็น Gate ควอนตัม อยู่ทางซ้าย และการดำเนินการ controlled- อยู่ทางขวา)
เราสามารถสร้าง Circuit ควอนตัมสำหรับการดำเนินการ controlled- โดยการเพิ่ม control qubit ให้กับ Circuit สำหรับ ก่อน แล้วแทนที่ทุก Gate ใน Circuit สำหรับ ด้วยเวอร์ชัน controlled ของ Gate นั้น — ดังนั้น control qubit ใหม่หนึ่งตัวของเราจึงควบคุม Gate ทุกตัวใน Circuit สำหรับ สิ่งนี้ต้องการให้เรามีเวอร์ชัน controlled ของทุก Gate ใน Circuit ของเรา แต่เราสามารถสร้าง Circuit สำหรับการดำเนินการ controlled เหล่านี้ได้เสมอในกรณีที่ไม่ได้รวมอยู่ใน gate set ของเรา
ลองพิจารณา Circuit ต่อไปนี้ โดยที่สถานะอินพุต ของ qubit ทั้งหมดยกเว้น qubit บนสุดคือ eigenvector ของสถานะควอนตัม
ความน่าจะเป็นของผลการวัดสำหรับ Circuit นี้ขึ้นอยู่กับ eigenvalue ของ ที่สอดคล้องกับ eigenvector มาวิเคราะห์ Circuit อย่างละเอียดเพื่อหาว่ามันเป็นอย่างไรกันแน่
สถานะเริ่มต้นของ Circuit คือ
และ Hadamard Gate แรกแปลงสถานะนี้เป็น
ต่อไป การดำเนินการ controlled- จะถูกดำเนินการ ส่งผลให้ได้สถานะ
โดยใช้สมมติฐานที่ว่า เป็น eigenvector ของ ที่มี eigenvalue เราสามารถแสดงสถานะนี้ได้อีกแบบดังต่อไปนี้
ที่นี่เราสังเกตเห็นปรากฏการณ์ phase kickback มันแตกต่างจากครั้งก่อนที่เราเห็นในอัลกอริทึมของ Deutsch และ Deutsch-Jozsa เล็กน้อย เพราะเราไม่ได้ทำงานกับ query gate — แต่ความคิดก็คล้ายกัน
สุดท้าย Hadamard Gate ที่สองจะถูกดำเนินการ หลังจากการลดรูปเล็กน้อย เราได้นิพจน์สำหรับสถานะนี้
ดังนั้นการวัดจะให้ผลลัพธ์ และ ด้วยความน่าจะเป็นเหล่านี้:
นี่คือกราฟแสดงความน่าจะเป็นสำหรับผลลัพธ์ที่เป็นไปได้สองแบบ คือ และ ในฐานะฟังก์ชันของ
ตามธรรมชาติ ความน่าจะเป็นทั้งสองรวมกันได้เสมอเท่ากับ สังเกตว่าเมื่อ ผลการวัดจะเป็น เสมอ และเมื่อ ผลการวัดจะเป็น เสมอ ดังนั้น แม้ว่าผลการวัดจะไม่เปิดเผยว่า คืออะไรกันแน่ แต่ก็ให้ข้อมูลบางอย่างเกี่ยวกับมัน — และหากเราได้รับการรับรองว่า หรือ เราสามารถเรียนรู้จาก Circuit ว่าค่าใดถูกต้องโดยไม่ผิดพลาด
พูดตามสัญชาตญาณ เราสามารถคิดว่าผลการวัดของ Circuit เป็นการเดา ด้วย "ความแม่นยำหนึ่งบิต" กล่าวอีกนัยหนึ่ง ถ้าเราเขียน ในรูปเลขฐานสองและปัดเศษให้เหลือหนึ่งบิต เราจะได้ตัวเลขแบบนี้:
ผลการวัดสามารถมองได้ว่าเป็นการเดาบิต เมื่อ ไม่ใช่ทั้ง หรือ มีความน่าจะเป็นที่ไม่ใช่ศูนย์ที่การเดาจะผิด — แต่ ความน่าจะเป็นของการเกิดข้อผิดพลาดจะลดลงเรื่อย ๆ เมื่อเราเข้าใกล้ หรือ มากขึ้น
เป็นเรื่องธรรมชาติที่จะถามว่า Hadamard Gate ทั้งสองมีบทบาทอะไรในขั้นตอนนี้:
-
Hadamard Gate แรกตั้ง control qubit ให้อยู่ในซูเปอร์โพซิชันสม่ำเสมอของ และ เพื่อที่เมื่อ phase kickback เกิดขึ้น มันจะเกิดขึ้นกับสถานะ และไม่ใช่สถานะ ทำให้เกิดความแตกต่างของเฟส สัมพัทธ์ ที่ส่งผลต่อความน่าจะเป็นของผลการวัด หากเราไม่ทำเช่นนี้และ phase kickback สร้าง global phase มันจะไม่มีผลต่อความน่าจะเป็นของการได้ผลการวัดที่แตกต่างกัน
-
Hadamard Gate ที่สองช่วยให้เราเรียนรู้บางอย่างเกี่ยวกับตัวเลข ผ่านปรากฏการณ์ interference ก่อน Hadamard Gate ที่สอง สถานะของ qubit บนสุดคือ
และหากเราวัดสถานะนี้ เราจะได้ และ แต่ละอย่างด้วยความน่าจะเป็น ไม่บอกเราอะไรเกี่ยวกับ เลย แต่โดยการดำเนินการ Hadamard Gate ที่สอง เราทำให้ตัวเลข ส่งผลต่อความน่าจะเป็นของเอาต์พุต
การเพิ่มเฟสเป็นสองเท่า
Circuit ด้านบนใช้ปรากฏการณ์ phase kickback เพื่อประมาณ ด้วยความแม่นยำหนึ่งบิต ความแม่นยำหนึ่งบิตอาจเพียงพอในบางสถานการณ์ — แต่สำหรับการแยกตัวประกอบเราจะต้องการความแม่นยำมากกว่านั้นมาก คำถามที่เป็นธรรมชาติคือ เราจะเรียนรู้เพิ่มเติมเกี่ยวกับ ได้อย่างไร?
สิ่งที่ง่ายมากที่เราสามารถทำได้คือแทนที่การดำเนินการ controlled- ใน Circuit ของเราด้วย สองสำเนา ของการดำเนินการนี้ เหมือนใน Circuit นี้:
การดำเนินการ controlled- สองครั้งเทียบเท่ากับการดำเนินการ controlled- ครั้งเดียว ถ้า เป็น eigenvector ของ ที่มี eigenvalue สถานะนี้ก็เป็น eigenvector ของ ด้วย คราวนี้มี eigenvalue
ดังนั้น ถ้าเราเรียกใช้เวอร์ชันนี้ของ Circuit เราก็กำลังดำเนินการคำนวณเดิมกับก่อนหน้านี้ ยกเว้นว่าตัวเลข จะถูกแทนที่ด้วย นี่คือกราฟแสดงความน่าจะเป็นของเอาต์พุตเมื่อ อยู่ในช่วง ถึง
การทำเช่นนี้สามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับ ได้จริง ๆ ถ้าการแสดงในระบบฐานสองของ คือ
การเพิ่ม เป็นสองเท่าจะเลื่อนจุดฐานสองไปทางขวาหนึ่งตำแหน่ง:
และเนื่องจากเราถือว่า เท่ากับ เมื่อเราวนรอบวงกลมหน่วย เราจะเห็นว่าบิต ไม่มีอิทธิพลต่อความน่าจะเป็นของเรา และเราก็แค่กำลังเดา บิตที่สอง หลังจากจุดฐานสองถ้าเราปัดเศษ ให้เหลือสองบิต ตัวอย่างเช่น ถ้าเรารู้ล่วงหน้าว่า เป็น หรือ เราก็สามารถเชื่อถือผลการวัดอย่างสมบูรณ์เพื่อบอกเราว่าเป็นค่าใด
อย่างไรก็ตาม ยังไม่ชัดเจนว่าการประมาณนี้ควรได้รับการปรับให้สอดคล้องกับสิ่งที่เราเรียนรู้จาก Circuit phase kickback ดั้งเดิม (ที่ไม่ได้เพิ่มสองเท่า) เพื่อให้ได้ข้อมูลที่แม่นยำที่สุดเท่าที่เป็นไปได้เกี่ยวกับ ดังนั้นมาถอยกลับมาและพิจารณาวิธีดำเนินการต่อ
การประมาณเฟสด้วยสอง Qubit
แทนที่จะพิจารณาสองตัวเลือกที่อธิบายไว้ข้างต้นแยกกัน มารวมเข้าด้วยกันเป็น Circuit เดียวดังนี้
Hadamard Gate หลังจากการดำเนินการ controlled ถูกลบออกแล้วและยังไม่มีการวัดที่นี่ เราจะเพิ่มเติมสิ่งต่าง ๆ ลงใน Circuit เมื่อเราพิจารณาตัวเลือกของเราสำหรับการเรียนรู้มากที่สุดเท่าที่เป็นไปได้เกี่ยวกับ
ถ้าเราเรียกใช้ Circuit นี้เมื่อ เป็น eigenvector ของ สถานะของ qubit ล่างจะคงเป็น ตลอด Circuit ทั้งหมด และเฟสจะถูก "kick" เข้าไปในสถานะของ qubit สองตัวบนสุด มาวิเคราะห์ Circuit อย่างละเอียดโดยใช้รูปต่อไปนี้
เราสามารถเขียนสถานะ ดังนี้:
เมื่อการดำเนินการ controlled- ครั้งแรกดำเนินการ eigenvalue จะถูก kick เข้าไปในเฟสเมื่อ (qubit บนสุด) เท่ากับ แต่ไม่ใช่เมื่อมันเป็น ดังนั้น เราสามารถแสดงสถานะที่ได้ดังนี้:
controlled- Gate ที่สองและสามทำสิ่งที่คล้ายกัน ยกเว้นสำหรับ แทนที่จะเป็น และ แทนที่ด้วย เราสามารถแสดงสถานะที่ได้ดังนี้:
ถ้าเราคิดถึงสตริงฐานสอง ว่าแทนจำนวนเต็ม ในรูปฐานสอง ซึ่งคือ เราสามารถแสดงสถานะนี้ได้อีกแบบดังนี้
เป้าหมายของเราคือดึงข้อมูลเกี่ยวกับ ให้ได้มากที่สุดจากสถานะนี้
ณ จุดนี้เราจะพิจารณากรณีพิเศษ ที่เราได้รับการรับรองว่า สำหรับจำนวนเต็ม กล่าวอีกนัยหนึ่ง เรามี ดังนั้นเราสามารถแสดงตัวเลขนี้ได้อย่างแม่นยำโดยใช้รูปฐานสองด้วยสองบิต คือ . . . หรือ . โดยทั่วไป อาจไม่ใช่หนึ่งในสี่ค่านี้ แต่การคิดถึงกรณีพิเศษนี้จะช่วยให้เราหาวิธีที่มีประสิทธิภาพสูงสุดในการดึงข้อมูลเกี่ยวกับ ในเชิงทั่วไป
ก่อนอื่นเราจะกำหนดเวกเตอร์สถานะสอง qubit สำหรับแต่ละค่า ที่เป็นไปได้
หลังจากลดรูปเลขชี้กำลัง เราสามารถเขียนเวกเตอร์เหล่านี้ดังนี้
เวกเตอร์เหล่านี้มีความตั้งฉากกัน: ถ้าเราเลือกคู่ใดก็ตามและคำนวณ inner product จะได้ แต่ละอันก็เป็น unit vector ด้วย ดังนั้น จึงเป็น orthonormal basis ดังนั้นเราทราบทันทีว่ามีการวัดที่สามารถแยกแยะพวกมันได้อย่างสมบูรณ์แบบ — หมายความว่าถ้าเราได้รับหนึ่งในนั้นแต่ไม่รู้ว่าอันไหน เราก็สามารถหาว่ามันคืออันใดโดยไม่ผิดพลาด
เพื่อทำการแยกแยะดังกล่าวด้วย Circuit ควอนตัม เราสามารถกำหนดการดำเนินการ unitary ที่แปลง standard basis states ไปเป็นสี่สถานะที่แสดงไว้ข้างต้นก่อน
เพื่อเขียน เป็นเมทริกซ์ เราแค่นำคอลัมน์ของ มาเป็นสถานะ
นี่เป็นเมทริกซ์พิเศษ และผู้อ่านบางคนอาจเคยพบมาก่อน: มันคือเมทริกซ์ที่เกี่ยวข้องกับ discrete Fourier transform มิติ ด้วยเหตุนี้ มาเรียกมันด้วยชื่อ แทนที่จะเป็น ชื่อ ย่อมาจาก quantum Fourier transform — ซึ่งก็คือ discrete Fourier transform มองในฐานะการดำเนินการ unitary เราจะพูดถึง quantum Fourier transform ในรายละเอียดและเชิงทั่วไปมากขึ้นในไม่ช้า
เราสามารถดำเนินการ inverse ของการดำเนินการนี้เพื่อไปทางตรงกันข้าม แปลงสถานะ ไปเป็น standard basis states ถ้าเราทำเช่นนี้ เราก็สามารถวัดเพื่อเรียนรู้ว่าค่า ใดที่อธิบาย เป็น นี่คือแผนภาพของ Circuit ควอนตัมที่ทำสิ่งนี้
โดยสรุป ถ้าเราเรียกใช้ Circuit นี้เมื่อ สำหรับ สถานะทันทีก่อนการวัดจะเป็น (สำหรับ ที่เข้ารหัสเป็นสตริงฐานสองสองบิต) ดังนั้นการวัดจะเปิดเผยค่า โดยไม่ผิดพลาด
Circuit นี้มีแรงบันดาลใจจากกรณีพิเศษที่ — แต่เราสามารถเรียกใช้มันสำหรับทุกตัวเลือกของ และ และด้วยเหตุนี้ทุกค่าของ ที่เราต้องการ นี่คือกราฟแสดงความน่าจะเป็นของเอาต์พุตที่ Circuit ให้สำหรับทุกตัวเลือกของ
นี่เป็นการปรับปรุงที่ชัดเจนเหนือรูปแบบ single-qubit ที่อธิบายไว้ก่อนหน้าในบทเรียน ไม่สมบูรณ์แบบ — อาจให้คำตอบที่ผิด — แต่คำตอบมักเอนเอียงมากไปทางค่า ที่ ใกล้เคียงกับ โดยเฉพาะอย่างยิ่ง ผลลัพธ์ที่น่าจะเป็นมากที่สุดจะสอดคล้องกับค่าที่ใกล้ที่สุดของ กับ เสมอ (เทียบ และ เหมือนก่อน) และจากกราฟดูเหมือนว่าค่าที่ใกล้ที่สุดสำหรับ นี้มักปรากฏด้วยความน่าจะเป็นเพิ่งเกิน เมื่อ อยู่กึ่งกลางพอดีระหว่างสองค่าดังกล่าว เช่น สองค่า ที่ใกล้เท่ากันมีความน่าจะเป็นเท่ากัน
เตรียมการสำหรับการขยายไปสู่หลาย qubit
เมื่อเห็นการปรับปรุงที่เราได้รับโดยใช้ control qubit สองตัวแทนที่จะเป็นหนึ่ง ร่วมกับ inverse ของ quantum Fourier transform มิติ มันเป็นเรื่องธรรมชาติที่จะพิจารณาการขยายต่อไป — โดยเพิ่ม control qubit มากขึ้น เมื่อเราทำเช่นนี้ เราจะได้ ขั้นตอนการประมาณเฟส ทั่วไป เราจะเห็นว่ามันทำงานอย่างไรในไม่ช้า แต่เพื่ออธิบายอย่างแม่นยำ เราต้องพูดถึง quantum Fourier transform ในเชิงทั่วไปมากขึ้น เพื่อดูว่ามันถูกกำหนดสำหรับมิติอื่น ๆ อย่างไร และเราสามารถนำไปใช้ (หรือ inverse ของมัน) กับ Circuit ควอนตัมได้อย่างไร
การแปลงฟูริเยร์ควอนตัม
quantum Fourier transform คือการดำเนินการ unitary ที่สามารถกำหนดได้สำหรับจำนวนเต็มบวก ใด ๆ ในหัวข้อนี้ เราจะดูว่าการดำเนินการนี้ถูกกำหนดอย่างไร และสามารถนำไปใช้กับ Circuit ควอนตัมบน qubit ด้วยต้นทุน ได้อย่างไรเมื่อ
เมทริกซ์ที่อธิบาย quantum Fourier transform มาจากการดำเนินการแบบคล้ายกันบนเวกเตอร์มิติ ที่รู้จักกันในชื่อ discrete Fourier transform การดำเนินการนี้สามารถคิดได้หลายแบบ ตัวอย่างเช่น เราสามารถคิดถึง discrete Fourier transform ในเชิงคณิตศาสตร์นามธรรมล้วน ๆ ในฐานะ linear mapping หรือเราสามารถคิดถึงมันในเชิงการคำนวณ ที่เราได้รับเวกเตอร์มิติ ของจำนวนเชิงซ้อน (โดยใช้เลขฐานสองในการเข้ารหัสส่วนจริงและส่วนจินตภาพของ entry สมมติว่า) และเป้าหมายคือคำนวณเวกเตอร์มิติ ที่ได้จากการใช้ discrete Fourier transform โฟกัสของเราจะอยู่ที่วิธีที่สาม ซึ่งคือการมองการแปลงนี้ในฐานะการดำเนินการ unitary ที่สามารถดำเนินการบนระบบควอนตัมได้
มีอัลกอริทึมที่มีประสิทธิภาพสำหรับการคำนวณ discrete Fourier transform บนเวกเตอร์อินพุตที่กำหนดที่รู้จักกันในชื่อ fast Fourier transform มันมีการใช้งานในการประมวลผลสัญญาณและหลายพื้นที่อื่น ๆ และถูกมองโดยหลายคนว่าเป็นหนึ่งในอัลกอริทึมที่สำคัญที่สุดที่เคยค้นพบ ปรากฏว่าการนำ quantum Fourier transform ไปใช้เมื่อ เป็นกำลังของ 2 ที่เราจะศึกษานั้นอิงจากโครงสร้างพื้นฐานเดียวกันกับที่ทำให้ fast Fourier transform เป็นไปได้
นิยามของ quantum Fourier transform
เพื่อนิยาม quantum Fourier transform เราจะกำหนดจำนวนเชิงซ้อน ก่อน สำหรับแต่ละจำนวนเต็มบวก ดังนี้:
นี่คือตัวเลขบนวงกลมหน่วยเชิงซ้อนที่เราได้ถ้าเราเริ่มที่ และเคลื่อนทวนเข็มนาฬิกาด้วยมุม เรเดียน หรือเศษ ของเส้นรอบวง นี่คือตัวอย่างบางส่วน:
ตอนนี้เราสามารถนิยาม quantum Fourier transform มิติ ซึ่งอธิบายโดยเมทริกซ์ ที่แถวและคอลัมน์เกี่ยวข้องกับ standard basis states เราต้องการการดำเนินการนี้เฉพาะเมื่อ เป็นกำลังของ สำหรับการประมาณเฟส แต่การดำเนินการนี้สามารถนิยามได้สำหรับจำนวนเต็มบวก ใด ๆ
ดังที่กล่าวไว้แล้ว นี่คือเมทริกซ์ที่เกี่ยวข้องกับ discrete Fourier transform มิติ บ่อยครั้งไม่รวมตัวประกอบนำ ไว้ในนิยามของเมทริกซ์นี้ แต่เราต้องรวมไว้เพื่อให้ได้เมทริกซ์ unitary
นี่คือ quantum Fourier transform เขียนเป็นเมทริกซ์ สำหรับค่า เล็กบางค่า
สังเกตโดยเฉพาะว่า เป็นชื่ออีกชื่อสำหรับการดำเนินการ Hadamard
ความเป็น Unitary
มาตรวจสอบว่า เป็น unitary สำหรับทุกตัวเลือกของ วิธีหนึ่งในการทำเช่นนี้คือแสดงว่าคอลัมน์ของมันก่อให้เกิด orthonormal basis เราสามารถกำหนดเวกเตอร์ที่สอดคล้องกับคอลัมน์ที่ เริ่มจาก ไปถึง ดังนี้:
การนำ inner product ระหว่างเวกเตอร์สองตัวใด ๆ เหล่านี้ให้นิพจน์นี้:
เราสามารถประเมินผลรวมแบบนี้ได้โดยใช้สูตรต่อไปนี้สำหรับผลรวมของ พจน์แรกของอนุกรมเรขาคณิต
โดยเฉพาะอย่างยิ่ง เราสามารถใช้สูตรนี้เมื่อ เมื่อ เรามี ดังนั้นการใช้สูตรและหารด้วย ให้
เมื่อ เรามี ดังนั้นสูตรจะเปิดเผยสิ่งนี้:
สิ่งนี้เกิดขึ้นเพราะ ดังนั้น ทำให้ตัวเศษเป็นศูนย์ ในขณะที่ตัวส่วนไม่ใช่ศูนย์เพราะ พูดตามสัญชาตญาณ สิ่งที่เราทำคือรวมจุดหลายจุดที่กระจายอยู่รอบ ๆ วงกลมหน่วย และพวกมันหักล้างกันและเหลือ เมื่อรวมกัน
เราจึงได้สร้างว่า เป็นชุด orthonormal
ซึ่งเปิดเผยว่า เป็น unitary
Controlled-phase gates
เพื่อนำ quantum Fourier transform ไปใช้กับ Circuit ควอนตัม เราจะต้องใช้ controlled-phase gates ระลึกว่า phase operation คือการดำเนินการ unitary single-qubit ในรูปแบบ
สำหรับจำนวนจริง ใด ๆ เวอร์ชัน controlled ของ Gate นี้มีเมทริกซ์ดังต่อไปนี้:
สำหรับ controlled gate นี้ จริง ๆ ไม่สำคัญว่า qubit ไหนเป็น control และ qubit ไหนเป็น target เพราะสองความเป็นไปได้นั้นเทียบเท่ากัน เราสามารถใช้สัญลักษณ์ใด ๆ ต่อไปนี้เพื่อแสดง Gate นี้ในแผนภาพ Circuit ควอนตัม
สำหรับรูปแบบที่สาม ป้ายกำกับ ยังบางครั้งวางไว้ที่ด้านข้างของเส้น control หรือใต้ตัว control ล่างเมื่อสะดวก
เพื่อดำเนินการ quantum Fourier transform เมื่อ และ เราต้องดำเนินการ operation บน qubit ที่การกระทำบน standard basis states สามารถอธิบายได้ว่า
โดยที่ คือบิต และ คือตัวเลขที่เข้ารหัสในรูปฐานสองเป็นสตริง บิต สิ่งนี้สามารถทำได้โดยใช้ controlled-phase gates โดยการขยายตัวอย่างต่อไปนี้ สำหรับ
โดยทั่วไป สำหรับตัวเลือก ใด ๆ qubit บนสุดที่สอดคล้องกับบิต สามารถมองเป็น control โดยมี phase gates ตั้งแต่ บน qubit ที่สอดคล้องกับบิตนัยสำคัญน้อยที่สุดของ ไปถึง บน qubit ที่สอดคล้องกับบิตนัยสำคัญมากที่สุดของ controlled-phase gates เหล่านี้ commute ซึ่งกันและกันและสามารถดำเนินการในลำดับใด ๆ ก็ได้
Circuit ที่นำ QFT ไปใช้
ตอนนี้เราจะดูว่าเราสามารถนำ quantum Fourier transform ไปใช้กับ Circuit ได้อย่างไรเมื่อมิติ เป็นกำลังของ จริง ๆ มีหลายวิธีในการนำ quantum Fourier transform ไปใช้ แต่นี่น่าจะเป็นวิธีที่ง่ายที่สุดที่รู้จัก เมื่อเรารู้วิธีนำ quantum Fourier transform ไปใช้กับ Circuit ควอนตัม ก็ง่ายที่จะนำ inverse ของมันไปใช้: เราสามารถแทนที่แต่ละ Gate ด้วย inverse ของมัน (หรืออีกนัยหนึ่งคือ conjugate transpose) และใช้ gate ในลำดับย้อนกลับ ทุก Circuit ควอนตัมที่ประกอบด้วย unitary gates ล้วน ๆ สามารถกลับด้านได้ด้วยวิธีนี้
การนำไปใช้นั้นมีลักษณะเป็น recursive ดังนั้นนั่นคือวิธีที่เป็นธรรมชาติที่สุดในการอธิบาย กรณีฐานคือ ซึ่งใน quantum Fourier transform คือการดำเนินการ Hadamard
เพื่อดำเนินการ quantum Fourier transform บน qubit เมื่อ เราสามารถดำเนินการตามขั้นตอนต่อไปนี้ ซึ่งการกระทำของมันเราจะอธิบายสำหรับ standard basis states ในรูปแบบ โดยที่ เป็นจำนวนเต็มที่เข้ารหัสเป็น บิตโดยใช้รูปฐานสอง และ คือบิตเดี่ยว
-
ดำเนิน quantum Fourier transform มิติ บน qubit ล่าง/ซ้ายสุดก่อน เพื่อให้ได้ สถานะนี้:
สิ่งนี้ทำได้โดยการใช้วิธีที่กำลังอธิบายแบบ recursive สำหรับหนึ่ง qubit น้อยกว่า โดยใช้การดำเนินการ Hadamard บน qubit เดี่ยวเป็นกรณีฐาน
-
ใช้ qubit บน/ขวาสุดเป็น control เพื่อฉีดเฟส สำหรับแต่ละ standard basis state ของ qubit ที่เหลือ (ตามที่อธิบายไว้ข้างต้น) เพื่อให้ได้สถานะนี้:
-
ดำเนิน Hadamard gate บน qubit บน/ขวาสุดเพื่อให้ได้สถานะนี้:
-
สลับลำดับของ qubit เพื่อให้บิตนัยสำคัญน้อยที่สุดกลายเป็นบิตนัยสำคัญมากที่สุด โดยบิตอื่น ๆ ทั้งหมดเลื่อนขึ้น/ขวา:
ตัวอย่างเช่น นี่คือ Circuit ที่เราได้สำหรับ ในแผนภาพนี้ qubit ได้รับชื่อที่สอดคล้องกับ standard basis vectors (สำหรับอินพุต) และ (สำหรับเอาต์พุต) เพื่อความชัดเจน
การวิเคราะห์
สูตรสำคัญที่เราต้องการเพื่อตรวจสอบว่า Circuit ที่อธิบายไว้นั้นนำ quantum Fourier transform มิติ ไปใช้คือ:
สูตรนี้ใช้ได้กับทุกตัวเลือกของจำนวนเต็ม และ แต่เราจะต้องการมันเฉพาะสำหรับ และ มันสามารถตรวจสอบได้โดยการขยายผลคูณในเลขชี้กำลังทางขวามือ
โดยที่ความเท่าเทียมที่สองใช้การสังเกตว่า
quantum Fourier transform มิติ ถูกกำหนดดังต่อไปนี้สำหรับทุก
ถ้าเราเขียน และ เป็น
สำหรับ และ เราได้
สุดท้าย โดยการคิดถึง standard basis states และ ในฐานะการเข้ารหัสฐานสองของจำนวนเต็มในช่วง
เราเห็นว่า Circuit ด้านบนนำการดำเนินการที่ต้องการมาใช้ ถ้าวิธีการนำ quantum Fourier transform ไปใช้นี้ดูน่าทึ่ง ก็เพราะมันเป็นเช่นนั้นจริง ๆ: มันคือ fast Fourier transform ในรูปแบบของ Circuit ควอนตัม
สุดท้าย มาลองนับจำนวน gate ที่ใช้ใน Circuit ที่อธิบายไว้ controlled-phase gates ไม่ได้อยู่ใน gate set มาตรฐานที่เราพูดถึงในบทเรียนก่อน แต่ในตอนเริ่มต้นเราจะเพิกเฉยสิ่งนี้และนับแต่ละ gate เป็นหนึ่ง gate
ให้ แทนจำนวน gate ที่เราต้องการสำหรับแต่ละตัวเลือกของ ที่เป็นไปได้ ถ้า quantum Fourier transform ก็แค่การดำเนินการ Hadamard ดังนั้น
ถ้า ใน Circuit ด้านบนเราต้องการ gate สำหรับ quantum Fourier transform บน qubit บวก controlled-phase gates บวก Hadamard gate บวก swap gates ดังนั้น
เราสามารถหานิพจน์รูปปิดได้โดยการหาผลรวม:
เราไม่จำเป็นต้องใช้ swap gates มากเท่าที่วิธีอธิบายไว้ ถ้าเราจัดเรียง gate ใหม่เล็กน้อย เราสามารถผลัก swap gates ทั้งหมดไปทางขวาและลดจำนวน swap gates ที่ต้องการเหลือ ในเชิง asymptotic นี่ไม่ใช่การปรับปรุงที่สำคัญ: เรายังคงได้ Circuit ที่มีขนาด สำหรับการดำเนินการ
ถ้าเราต้องการนำ quantum Fourier transform ไปใช้โดยใช้เฉพาะ gate จาก gate set มาตรฐานของเรา เราต้องสร้างหรือประมาณ controlled-phase gates แต่ละตัวด้วย gate จากชุดของเรา จำนวนที่ต้องการขึ้นอยู่กับความแม่นยำที่เราต้องการ แต่ในฐานะฟังก์ชันของ ต้นทุนรวมยังคงเป็น quadratic
จริง ๆ เป็นไปได้ที่จะประมาณ quantum Fourier transform อย่างใกล้เคียงด้วยจำนวน gate ที่น้อยกว่า quadratic โดยใช้ความจริงที่ว่า ใกล้เคียงกับ identity operation มากเมื่อ เล็กมาก — ซึ่งหมายความว่าเราสามารถเพิกเฉย controlled-phase gates ส่วนใหญ่ได้โดยไม่สูญเสียความแม่นยำมากเกินไป
ขั้นตอนทั่วไปและการวิเคราะห์
ตอนนี้เราจะตรวจสอบขั้นตอนการประมาณเฟสในเชิงทั่วไป แนวคิดคือการขยายเวอร์ชันสอง qubit ของการประมาณเฟสที่เราพิจารณาข้างต้นในแบบธรรมชาติที่แผนภาพต่อไปนี้บอก
สังเกตว่า สำหรับแต่ละ control qubit ใหม่ที่เพิ่มเข้ามาด้านบน เรา เพิ่มสองเท่า จำนวนครั้งที่การดำเนินการ unitary ถูกดำเนินการ สิ่งนี้ถูกระบุในแผนภาพโดยเลขชี้กำลังบน สำหรับแต่ละการดำเนินการ controlled-unitary
วิธีที่ตรงไปตรงมาที่สุดในการนำการดำเนินการ controlled- ไปใช้สำหรับตัวเลือก บางค่าคือการทำซ้ำการดำเนินการ controlled- ครั้ง หากนี่คือระเบียบวิธีที่ใช้จริง ๆ ต้องตระหนักว่าการเพิ่ม control qubit มีส่วนทำให้ขนาดของ Circuit เพิ่มขึ้นอย่างมาก: ถ้าเรามี control qubit ตามที่แผนภาพแสดง จำเป็นต้องใช้ controlled- รวมทั้งหมด สำเนา ซึ่งหมายความว่ามีต้นทุนการคำนวณที่สำคัญเกิดขึ้นเมื่อ เพิ่มขึ้น — แต่ดังที่เราจะเห็น มันยังนำไปสู่การประมาณ ที่แม่นยำมากขึ้นอย่างมีนัยสำคัญด้วย
อย่างไรก็ตาม สำคัญที่ต้องสังเกตว่า สำหรับตัวเลือก บางอย่าง อาจเป็นไปได้ที่จะสร้าง Circuit ที่นำการดำเนินการ สำหรับค่าขนาดใหญ่ของ ไปใช้ด้วยวิธีที่มีประสิทธิภาพมากกว่าการทำซ้ำ Circuit สำหรับ ครั้ง เราจะเห็นตัวอย่างเฉพาะของสิ่งนี้ในบริบทของการแยกตัวประกอบจำนวนเต็มในภายหลังของบทเรียน ที่อัลกอริทึมที่มีประสิทธิภาพสำหรับ modular exponentiation ที่พูดถึงในบทเรียนก่อนหน้าเข้ามาช่วยเหลือ
ตอนนี้มาวิเคราะห์ Circuit ที่อธิบายไว้ สถานะทันทีก่อน inverse quantum Fourier transform มีลักษณะดังนี้:
กรณีพิเศษ
ในแนวทางคล้ายกับที่เราทำในกรณี เราจะพิจารณากรณีพิเศษก่อนที่ สำหรับ ในกรณีนี้ สถานะก่อน inverse quantum Fourier transform สามารถเขียนได้อีกแบบดังนี้:
ดังนั้น เมื่อใช้ inverse quantum Fourier transform สถานะจะกลายเป็น
และการวัดจะเปิดเผย (เข้ารหัสในฐานสอง)
การหา bound ของความน่าจะเป็น
สำหรับค่า อื่น ๆ หมายถึงค่าที่ไม่อยู่ในรูป สำหรับจำนวนเต็ม ผลการวัดจะไม่แน่นอน แต่เราสามารถพิสูจน์ bound บนความน่าจะเป็นสำหรับผลลัพธ์ต่าง ๆ ได้ ต่อจากนี้ มาพิจารณาตัวเลือก ใด ๆ ที่ตรงตาม
หลังจากดำเนิน inverse quantum Fourier transform สถานะของ Circuit คือ:
ดังนั้น เมื่อดำเนินการวัดบน qubit บนสุด เราจะเห็นผลลัพธ์ แต่ละอันด้วยความน่าจะเป็น
เพื่อเข้าใจความน่าจะเป็นเหล่านี้ให้ดีขึ้น เราจะใช้สูตรเดิมที่เราเห็นก่อนหน้า สำหรับผลรวมของส่วนแรกของอนุกรมเรขาคณิต
เราสามารถลดรูปผลรวมที่ปรากฏในสูตรสำหรับ โดยใช้ นี่คือสิ่งที่เราได้
ดังนั้น ในกรณีที่ เราพบว่า (ดังที่เราทราบอยู่แล้วจากการพิจารณากรณีพิเศษนี้) และในกรณีที่ เราพบว่า
เราสามารถเรียนรู้เพิ่มเติมเกี่ยวกับความน่าจะเป็นเหล่านี้โดยการคิดถึงความสัมพันธ์ระหว่างความยาวส่วนโค้งและความยาวคอร์ดบนวงกลมหน่วย นี่คือรูปที่แสดงความสัมพันธ์ที่เราต้องการสำหรับจำนวนจริง ใด ๆ
ก่อนอื่น ความยาวคอร์ด (วาดเป็นสีน้ำเงิน) ไม่สามารถมากกว่าความยาวส่วนโค้ง (วาดเป็นสีม่วง) ได้:
เมื่อเชื่อมโยงความยาวเหล่านี้ในทิศทางอื่น เราเห็นว่าอัตราส่วนของความยาวส่วนโค้งต่อความยาวคอร์ดมีค่ามากที่สุดเมื่อ และในกรณีนี้อัตราส่วนคือครึ่งหนึ่งของเส้นรอบวงของวงกลมหารด้วยเส้นผ่านศูนย์กลาง ซึ่งคือ ดังนั้น เรามี
และดังนั้น
การวิเคราะห์ที่อิงจากความสัมพันธ์เหล่านี้เปิดเผยข้อเท็จจริงสองอย่างต่อไปนี้
-
สมมติว่า เป็นจำนวนจริงและ ตรงตาม
ซึ่งหมายความว่า เป็นการประมาณ -bit ที่ดีที่สุดของ หรืออยู่กึ่งกลางพอดีระหว่าง กับ หรือ ดังนั้นมันคือหนึ่งในสองการประมาณที่ดีที่สุดของ
เราจะพิสูจน์ว่า ต้องค่อนข้างใหญ่ในกรณีนี้ จากสมมติฐานที่เราพิจารณา ตามมาว่า ดังนั้นเราสามารถใช้การสังเกตที่สองด้านบนเกี่ยวกับความสัมพันธ์ส่วนโค้งและคอร์ดเพื่อสรุปว่า
เราสามารถใช้การสังเกตแรกเกี่ยวกับความสัมพันธ์ส่วนโค้งและคอร์ดเพื่อสรุปว่า
การนำสองอสมการนี้ไปใช้กับ เปิดเผยว่า
สิ่งนี้อธิบายการสังเกตของเราว่าผลลัพธ์ที่ดีที่สุดเกิดขึ้นด้วยความน่าจะเป็นมากกว่า ในเวอร์ชัน ของการประมาณเฟสที่พูดถึงก่อนหน้า จริง ๆ ไม่ใช่ แต่คือ และในความเป็นจริง bound นี้ใช้ได้กับทุกตัวเลือกของ
-
สมมติว่า ตรงตาม
ซึ่งหมายความว่ามีการประมาณ ที่ดีกว่า อยู่ระหว่าง กับ
คราวนี้เราจะพิสูจน์ว่า ไม่สามารถใหญ่เกินไป เราสามารถเริ่มจากการสังเกตง่าย ๆ ว่า
ซึ่งตามมาจากความจริงที่ว่าสองจุดบนวงกลมหน่วยสามารถต่างกันในค่าสัมบูรณ์ได้มากที่สุด
เราสามารถใช้การสังเกตที่สองเกี่ยวกับความสัมพันธ์ส่วนโค้งและคอร์ดจากด้านบน คราวนี้ทำงานกับตัวส่วนของ แทนที่จะเป็นตัวเศษ เพื่อสรุปว่า
การนำสองอสมการมารวมกันเปิดเผยว่า
โปรดสังเกตว่า แม้ bound นี้เพียงพอสำหรับจุดประสงค์ของเรา แต่มันค่อนข้าง crude — ความน่าจะเป็นมักต่ำกว่า มาก
ข้อสรุปสำคัญจากการวิเคราะห์นี้คือการประมาณที่ใกล้เคียง มากมีแนวโน้มที่จะเกิดขึ้น — เราจะได้การประมาณ -bit ที่ดีที่สุดด้วยความน่าจะเป็นมากกว่า — ในขณะที่การประมาณที่ต่างออกไปมากกว่า มีแนวโน้มที่จะเกิดขึ้นน้อยกว่า โดยมีความน่าจะเป็นที่มีขอบเขตบนอยู่ที่
เมื่อมีการรับประกันเหล่านี้ เป็นไปได้ที่จะเพิ่มความเชื่อมั่นของเราโดยการทำซ้ำขั้นตอนการประมาณเฟสหลายครั้ง เพื่อรวบรวมหลักฐานทางสถิติเกี่ยวกับ สำคัญที่ต้องสังเกตว่าสถานะ ของ qubit กลุ่มล่างไม่เปลี่ยนแปลงจากขั้นตอนการประมาณเฟส ดังนั้นจึงสามารถใช้เรียกขั้นตอนนี้ได้กี่ครั้งก็ได้ โดยเฉพาะอย่างยิ่ง แต่ละครั้งที่เราเรียกใช้ Circuit เราจะได้การประมาณ -bit ที่ดีที่สุดของ ด้วยความน่าจะเป็นมากกว่า ในขณะที่ความน่าจะเป็นที่จะต่างออกไปมากกว่า มีขอบเขตอยู่ที่ ถ้าเราเรียกใช้ Circuit หลายครั้งและนำผลลัพธ์ที่ปรากฏบ่อยที่สุดจากการเรียกใช้ มันจึงมีแนวโน้มอย่างมากว่าผลลัพธ์ที่ปรากฏบ่อยที่สุดจะไม่ใช่ผลลัพธ์ที่เกิดขึ้นได้มากที่สุด ของเวลา ด้วยเหตุนี้ เราจะมีแนวโน้มสูงที่จะได้การประมาณ ที่อยู่ภายใน จากค่า แท้จริงแล้ว โอกาสที่ไม่น่าจะเป็นที่เราจะต่างออกไปมากกว่า ลดลงแบบ exponential ตามจำนวนครั้งที่เรียกใช้ขั้นตอน
นี่คือกราฟสองกราฟที่แสดงความน่าจะเป็นสำหรับสามค่าต่อเนื่องของ เมื่อ และ ในฐานะฟังก์ชันของ (แสดงเฉพาะสามผลลัพธ์เพื่อความชัดเจน ความน่าจะเป็นสำหรับผลลัพธ์อื่น ๆ ได้จากการเลื่อน cyclic ของฟังก์ชันพื้นฐานเดิม)