วิธีการสร้างวงจรควอนตัมตั้งแต่เริ่มต้น


9

ตอนนี้ฉันกำลังศึกษาด้วยตนเองโดยใช้หนังสือเป็นหลัก: Quantum Computing a Gentle Introduction โดย Eleanor Rieffel และ Wolfgang Polak

การผ่านบทก่อนหน้าและแบบฝึกหัดไปได้ค่อนข้างดี (โชคดีที่บทก่อนหน้ามีตัวอย่างมากมาย) แต่ฉันติดอยู่ในบทที่ 5 ในวงจรควอนตัม แม้ว่าฉันจะเข้าใจแนวคิดที่ผู้เขียนนำเสนอบางทีอาจเป็นเพราะขาดตัวอย่าง แต่ฉันมีปัญหาในการใช้แนวคิดดังกล่าวกับแบบฝึกหัด

แบบฝึกหัดที่ฉันมีปัญหา (และที่ฉันไม่สามารถหาคำตอบหรือคำอธิบายอย่างละเอียด / เกริ่นนำสำหรับ) มีดังต่อไปนี้:

คำถาม:

ออกแบบวงจรสำหรับการสร้าง: |Wn=1n(|0001+|0010+|0100)++|1000) จาก |0000

และออกแบบวงจรสำหรับสร้าง "สถานะ Hardy": 112(3|00+|01+|10+|11)

ใครช่วยชี้ให้ฉันไปในทิศทางที่ถูกต้องหรืออ้างอิงถึงวรรณกรรม / แบบฝึกหัดเพื่อที่ฉันจะได้เข้าใจการออกกำลังกายประเภทนี้ได้ดีขึ้น?

อาจเป็นคำถามที่เกี่ยวข้อง: เคล็ดลับและกลเม็ดสำหรับการสร้างวงจรเพื่อสร้างสถานะควอนตัมโดยพลการ


1
ฉันไม่คุ้นเคยกับสถานะ Hardy แต่คุณสามารถตรวจสอบสิ่งที่คุณเขียนได้หรือไม่? มันไม่ได้ทำให้เป็นมาตรฐาน (และเป็นเรื่องเล็กน้อย) ดังนั้นฉันเดาว่ามันไม่ใช่สิ่งที่คุณตั้งใจ สำหรับสถานะ W คุณอาจต้องการตรวจสอบคำถามนี้
DaftWullie

คุณพูดถูกฉันพิมพ์ผิด ฉันได้แก้ไขแล้วตอนนี้พวกเขาถูกต้อง / ทำให้เป็นมาตรฐาน และขอบคุณ!
Joery

1
บทความนี้arxiv.org/abs/quant-ph/0104030ให้เทคนิคทั่วไปในการสร้างสถานะควอนตัมตามอำเภอใจ
Paradox

คำตอบ:


7

ดังที่ DaftWullie ชี้ให้เห็นคำถามเกี่ยวกับ Wnมีคอลเลกชันที่ดีของคำตอบที่นี่

สำหรับคำถามสถานะ Hardy (และงานอื่น ๆ อีกมากมายเช่นนั้น) คุณสามารถเข้าหาได้ดังต่อไปนี้

  • เริ่มต้นด้วย |0...0 สถานะ.
  • เริ่มต้นด้วยการใส่ qubit แรก "ในสถานะที่ถูกต้อง" ซึ่งเป็นสถานะ (α|0+β|1)|0...0ที่ไหน α และ βคือน้ำหนักสัมพัทธ์ของสถานะพื้นฐานทั้งหมดซึ่งเริ่มต้นด้วย 0 และ 1 ตามลำดับ สำหรับสถานะ Hardy โดยเฉพาะสถานะพื้นฐานสองสถานะเริ่มต้นด้วย 0:112(3|00+|01) และสองสถานะพื้นฐานเริ่มต้นด้วย 1: 112(|10+|11); น้ำหนักสัมพัทธ์ของพวกมันเป็นผลบวกของกำลังสองของสี่เหลี่ยมจัตุรัส:912+112=1012 และ 112+112=212ตามลำดับ ดังนั้นคุณจะต้องใส่ qubit แรกในรัฐ(1012|0+212|1) การใช้ Ry ประตู.
  • ดำเนินการต่อโดยใส่ qubit ที่สองในสถานะที่ถูกต้องควบคุมการใช้งาน Ryประตูที่มี qubit แรกเป็นตัวควบคุม เพื่อให้ได้คำสองคำแรกที่ถูกต้องคุณต้องแปลงคำศัพท์1012|0|0 ในระยะ 112(3|00+|01)ซึ่งเหมือนกับการแปลงสถานะปกติ |0|0 เข้าไป 110(3|00+|01) โดยไม่ส่งผลกระทบต่อรัฐ |1|0 (สังเกตการเปลี่ยนสภาพใหม่เมื่อเปลี่ยนจากเงื่อนไขของนิพจน์ที่ใหญ่กว่าไปเป็นสถานะสแตนด์อโลน!) ในการทำเช่นนี้คุณสามารถควบคุมได้ 0 Ry ด้วย qubit แรกเป็นตัวควบคุมและ qubit ที่สองเป็นเป้าหมาย
  • หากคุณมี qubits มากขึ้นคุณจะทำสิ่งนี้ต่อไปโดยใช้ qubits ที่ควบคุมได้มากขึ้นเพื่อทำให้การหมุนเวียนของคุณเฉพาะเจาะจงมากขึ้น

คุณสามารถดูเอกสารนี้โดย Shende, Bullock และ Markov หากคุณต้องการคำอธิบายแบบเฉพาะกิจและเป็นทางการมากขึ้น


คำตอบของคุณยอดเยี่ยมมาก! ฉันคิดว่าฉันติดอยู่เพราะฉันพยายามทำสิ่งนี้ด้วยวิธีการจากบนลงล่างเช่นเริ่มจากสถานะสุดท้ายและพยายามหาการสลายตัวและประตูสู่รัฐฐาน นี่และกระดาษเป็นความช่วยเหลือที่ดีขอบคุณ!
Joery

4

คุณสามารถทำให้ปัญหา "สร้างสถานะ" ง่ายขึ้นโดยแบ่งเป็นสามส่วน:

  1. เตรียมชุดของขนาดที่คุณต้องการโดยไม่ต้องกังวลเกี่ยวกับเฟสหรือสถานะที่มีขนาดใด
  2. แก้ไขขั้นตอน
  3. แก้ไขการสั่งซื้อ

ตอนนี้ให้พิจารณารัฐ Hardy ขนาดที่เราต้องทำคืออะไร เราต้องการหนึ่งตัวอย่างของ3/12 และอินสแตนซ์สามอินสแตนซ์ของ 1/12. เราสามารถทำให้พวกเขาทีละครั้งโดยมีสถานะ "เหลือแอมพลิจูด" ที่เราแยกออกจาก

เราเริ่มต้นด้วยแอมพลิจูดทั้งหมดในสถานะเดียวด้วยการกระตุ้นทางด้านซ้าย 0|1000...00 ที่ไหน 0=1. สิ่งที่เราต้องการจะทำคือเลื่อนการกระตุ้นไปทางขวาในขณะที่ทิ้งขนาดที่ต้องการ เพื่อเริ่มต้นเราต้องการทิ้งความสำคัญไว้3/12. เราสามารถทำได้ด้วยการควบคุมRy(θ0)การดำเนินการโดยที่การควบคุมคือ qubit ซ้ายสุดและเป้าหมายคือ qubit ทางด้านขวา เพียงแค่เลือกค่าที่เหมาะสมสำหรับθสิ่งนี้จะส่งผลให้รัฐ 3/12|1000...00+1|1100...00. จากนั้นเรา CNOT ควอตที่สองกลับสู่ควิปแรกเพื่อไป1|1000...00+3/12|0100...00. ต่อไปเราต้องการดึงออก1/12. เราทำอีกอย่างRyควบคุมโดย qubit ซ้ายสุดตามด้วย CNOT ย้อนหลัง แต่คราวนี้กับเป้าหมายคือ qubit ที่สามจากทางซ้าย โดยการเลือกที่สมบูรณ์แบบθ1 เราจะผลิตรัฐ 2|1000...00+3/12|0100...00+1/122|0010...00. และคุณก็ทำเช่นนี้ต่อไปจนกว่าคุณจะได้รับแอมพลิจูดทั้งหมดที่คุณต้องการโดยพูดได้อย่างสบายโดย qubits ที่ตื่นเต้น

ตอนนี้คุณต้องการแก้ไขเฟสที่ไม่ถูกต้องที่เกิดจากการหมุน Y สำหรับสถานะ Hardy นี่เป็นเรื่องง่ายเพราะทุกขั้นตอนเป็นบวก โดยทั่วไปคุณกำหนดเป้าหมายแต่ละตำแหน่งk ด้วย Rz(ϕk) การดำเนินการกับการเลือกอย่างเหมาะสม ϕk ค่าและนั่นจะทำให้เฟสนั้นถูกต้อง

ตอนนี้เราต้องการรับการสั่งซื้อที่ถูกต้อง วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการมี qubits พิเศษบางอย่างที่เป็น qubits ของคุณและสำหรับแต่ละ qubits ที่เราได้เตรียมไว้จนถึงตอนนี้และแต่ละ qubits ที่เพิ่ม CNOT ระหว่างสองหรือไม่ ตัวอย่างเช่นถ้ารัฐที่มีความกว้าง3/12 ควรจะเป็น |11แล้วเราต้อง CNOT จาก qubit ซ้ายสุดของเราไปยัง qubits ผลลัพธ์ทั้งสอง จากนั้นเราจำเป็นต้องเลิกคำนวณ qubit ซ้ายสุดโดยใช้การดำเนินการ NOT ที่ควบคุมไม่ได้มากมาย ควรมีการควบคุมหนึ่งรายการสำหรับแต่ละ qubit เอาต์พุตและประเภทของตัวควบคุม (qubit-must-be-on เทียบกับ qubit-must-be-off) จะถูกกำหนดโดยไม่ว่าคุณจะเปิดใช้งาน qubit หรือไม่

การใช้ขั้นตอนเหล่านี้ทำให้เกิดวงจรที่ไม่มีประสิทธิภาพ แต่ถูกต้องสำหรับการสร้างสถานะ Hardy คุณสามารถเปิดวงจรใน Quirk :

เตรียมง่าย

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.