จะสร้าง multi-qubit Controll-Z จากประตูประถมได้อย่างไร?


9

สำหรับการดำเนินงานของอัลกอริทึมควอนตัมที่แน่นอนฉันจำเป็นต้องสร้าง multi-qubit (ในกรณีนี้ gate-Z แบบสามควอบิต) จากชุดของเกตประตูเบื้องต้นดังแสดงในรูปด้านล่าง เกต - ซีควบคุมแบบสามบิต .

ประตูที่ฉันสามารถใช้ได้คือ

  • ประตู Pauli X,Y,Z และพลังทั้งหมดของพวกเขา (เช่น Pauli ทั้งหมดจะหมุนขึ้นเป็นปัจจัยเฟส)
  • exp(iθ|1111|) (หมุนประมาณ |1111| โปรเจ็กเตอร์)
  • H (Hadamard)
  • CX (single-qubit Controll-X หรือ CNOT)
  • CZ (single-qubit Controll-Z) และ
  • S (SWAP)

ฉันจะไปเกี่ยวกับการสร้าง Z-3 บิตควบคุมจากประตูเหล่านี้ได้อย่างไร? ฉันได้อ่านเอกสารหลายฉบับเกี่ยวกับการสลายตัวของวงจร แต่ไม่มีใครสามารถให้คำตอบที่ชัดเจนและกระชับ


การลงทะเบียนครั้งที่ 4 ของคุณควรมี Z แทนที่จะเป็นวงกลมสีดำหรือไม่?
user1271772

1
@ user1271772 ทั้งคู่ก็โอเค เนื่องจากประตูควบคุม -Z นั้นมีความสมมาตรใน qubits ที่ใช้ (คือใครสามารถสลับสอง qubits และผลของประตูจะยังคงเหมือนเดิม) สัญกรณ์ที่ไม่มีระเบียบเช่นเดียวกับจุดสีดำจึงถือว่าเหมาะสมกว่าในวรรณกรรมล่าสุด
Dyon J Don Kiwi van Vreumingen

คำตอบ:


5

(แก้ไข: ปรับปรุงเป็น 14 CNOTs)

สามารถทำได้ด้วย 14 CNOTs บวก 15 รอบการหมุน Z qubit เดียวและไม่มี qubits เสริม

วงจรที่สอดคล้องกันคือ

ป้อนคำอธิบายรูปภาพที่นี่

ที่ไหน ± ประตูหมุน

Rz(±π/16)(1e±iπ/8)


ที่มา:

ใช้ขั้นตอนที่อธิบายไว้ในhttps://arxiv.org/abs/quant-ph/0303063 1 , ใด ๆประตูในแนวทแยง - ใด ๆ โดยเฉพาะอย่างยิ่งจึงประตู CCCZ - สามารถย่อยสลายในแง่ของการเช่น CNOTs และหนึ่ง qubit ประตูขวาง ซึ่ง CNOT สามารถปรับให้เหมาะสมได้ด้วยตัวเองโดยทำตามขั้นตอนการเพิ่มประสิทธิภาพแบบดั้งเดิม

ข้อมูลอ้างอิงให้วงจรโดยใช้ 16 CNOTs สำหรับประตู 4-qubit ในแนวทแยงโดยพลการ (รูปที่ 4)

สิ่งนี้สามารถปรับปรุงได้ถ้าคู่ของ qubits สามารถรวมกันได้ 14 qubits สำหรับเพื่อนบ้านที่ใกล้ที่สุดที่มีเงื่อนไขขอบเขต (เปิด) สามารถทำได้ด้วย 16 (18) CNOT วงจรที่เกี่ยวข้องสามารถพบได้ในhttps://epub.uni-regensburg.de/1511/ 1 , รูปที่ 5.2, 5.4 และ 5.5 และสามารถรับได้โดยใช้วิธีการสร้างลำดับสีเทาสั้น ๆ

จำนวนประตูหนึ่งควอบิตนั้นอยู่ที่ 15 เสมอ


หมายเหตุ: แม้ว่าในหลักการอาจจะเป็นวงจรที่ง่ายกว่า (กล่าวว่าวงจรได้รับการปรับให้เหมาะสมกับสถาปัตยกรรมของวงจรที่มีข้อ จำกัด มากขึ้นในใจ) แต่ก็ควรใกล้เคียงที่สุด - วงจรจำเป็นต้องสร้างสถานะทั้งหมดของแบบฟอร์ม iIxi สำหรับชุดย่อยที่ไม่สำคัญ I{1,2,3,4}และมี 15 แห่งสำหรับ 4 บิท

โปรดทราบว่าการก่อสร้างนี้ไม่จำเป็นต้องดีที่สุด


1 หมายเหตุ: ฉันเป็นผู้เขียน


และจะใช้ประตู Rx (หรือ Ry) แทนที่จะเป็นประตู Rz ทำให้ประตูเกตควบคุม X (หรือควบคุม -Y) หลายควิบิตนี้หรือไม่?
Sierox

@Sierox คุณเพียงแค่ต้อง Hadamard- เปลี่ยนทุกอย่างที่ qubit ด้านล่างนั่นคือ CNOT ที่สอดคล้องกันจะกลายเป็น CZs และการหมุนบน qubit ด้านล่างจะกลายเป็นการหมุน X
Norbert Schuch

6

คุณสามารถใช้ n-qubit ควบคุม Uโดยวงจรที่ให้ไว้ในคำตอบนี้ เพียงแค่แทนที่U โดย Z. อย่างไรก็ตามสิ่งนี้ต้องใช้ประตู CCNOT (Toffoli) และคุณมีตัวเลือกบางอย่างสำหรับวิธีการใช้ CCNOT โดยใช้ประตูหลัก


2
ที่ให้วงจรที่มีความลึกมากเกินไป บางที OP ต้องการวงจรที่ตื้นขึ้นด้วยชุดประตูนั้น หนึ่งสามารถทำขั้นตอนอัตโนมัติเพื่อลดขนาดวงจรในระดับปานกลาง
AHusain

@ Ahusain: ขั้นตอนอัตโนมัติคืออะไร?
user1271772

2
มันใช้ผลลัพธ์จากทฤษฎีของกลุ่มอัตโนมัติดังนั้นนั่นก็คือปุน คำอธิบายจะไปที่อื่น ไม่ใช่ความคิดเห็นสั้น ๆ
AHusain

Okay @ Ahusain ฉันจะถามคำถามเพื่อคุณโดยเฉพาะ!
user1271772

5

นี่คือโครงสร้าง CCCZ ที่ใช้ 29 ประตู :

วงจรไฟฟ้า

หากคุณได้รับอนุญาตให้ใช้การวัดและป้อนล่วงหน้าแบบคลาสสิกจำนวนประตูจะลดลงเหลือ 25 :

วงจรไฟฟ้า

(ประตู Hadamard สามารถถูกแทนที่ด้วยรากที่สองของ Y หากจำเป็นเพื่อตอบสนองข้อ จำกัด ชุดประตู)

และถ้าคุณอนุญาตให้ฉันควบคุมเกตส์ -S และ Controlled-sqrt (X) เกตและทำการวัดค่าพื้นฐาน X จากนั้นฉันก็สามารถลดให้เหลือ 10 เกทส์ :

วงจรไฟฟ้า


แต่คุณกำลังใช้เกตวัด + เกทควบคุมแบบมีเงื่อนไขในตอนท้าย ฉันจะบอกว่ามันอยู่นอกกฎ "ปกติ" ของเกม (เช่นหากคุณจะแทนที่สิ่งนี้ด้วยประตูควบคุมและเลื่อนการวัดคุณจะยังคงใช้ Toffoli)
Norbert Schuch

1
@NorbertSchuch นั่นเป็นเหตุผลที่ฉันนำหน้าไดอะแกรมที่สองด้วย "ถ้าคุณได้รับอนุญาตให้ใช้การวัดและป้อนแบบดั้งเดิม" ขอให้สังเกตว่าแผนภาพแรกไม่ได้ใช้สิ่งเหล่านั้น
Craig Gidney

ยูพีเอส ขอโทษ แม่ culpa ฉันไม่ควรดูรูปและเลื่อนไปเล็กน้อย: - |
Norbert Schuch

ในตอนท้ายของวงจรแรก qubit ที่ห้าจะถูกยกเลิก ฉันจะต้องปฏิบัติต่อ qubit นั้นอย่างไรหากฉันต้องการ CCCZ หลายตัวตามลำดับ
Dyon J Don Kiwi van Vreumingen

คุณจะป้อนเข้าไปใน CCCZ ถัดไป แต่ปล่อยการดำเนินการสองครั้งแรกในวงจร CCCZ ที่สอง การดำเนินการเหล่านั้นกำลังเตรียมเข้าสู่สถานะ T ซึ่งเป็นสถานะสุดท้ายของ qubit ที่ถูกทิ้ง ดังนั้น CCCZ ที่สองจะมีการดำเนินการน้อยกว่า 2 ครั้ง
Craig Gidney

4

ฉันกำลังโพสต์การสลายตัวของ CCCZ อีกครั้งที่นี่ในกรณีที่มีประโยชน์สำหรับทุกคนที่พยายามรวบรวม CCCZ มันต้องใช้จำนวนประตูน้อยกว่าและมีเพียง 1 qubit เสริมแทน 2 แต่ประตู 2-qubit มากกว่าห้าคำตอบ "ชัดเจน" ดังนั้นจริง ๆ แล้วอาจเลวร้ายยิ่งสำหรับการใช้งานบนฮาร์ดแวร์

มันถูกแนะนำโดยผู้ใช้ @Rob ในความคิดเห็นนี้: การรวบรวมวงจรควอนตัมโดยอัตโนมัติและมาจากบทความนี้

ป้อนคำอธิบายรูปภาพที่นี่

The GMS5(χ) ประตูคือ:

กับ n=5 และทั้งหมด χij=χซึ่งหมายความว่ามันเกี่ยวข้องกับ 10 ประตูสองควิบิต สิ่งเหล่านี้จะต้องถูกรวบรวมไว้ในชุดประตูที่กำหนดไว้ในคำถามดังนั้นการสลายตัวนี้ควรจะใช้เมื่อคุณพยายามที่จะบันทึกหมายเลขเสริม qubits หรือถ้าคุณไม่สนใจว่าจะมีประตู 2-qubit มากขึ้น ลดความลึกของวงจรลงเล็กน้อย


1
ประตู GMS5 เป็นเกททั่วโลกที่ยอดเยี่ยม - ยากที่จะเปรียบเทียบกับจำนวนประตูทั่วไป และอาจเป็นไปได้ว่าแม้ในสถานการณ์ที่สามารถใช้เกตนี้คุณจะไม่สามารถเลือกได้χij. ทำไมไม่เพียงแค่ใช้ลอการิทึมของประตู CCCZ
Norbert Schuch

@NorbertSchuch: คำถามถาม CCCZ ไม่ได้บันทึก (CCCZ) ถ้าเราต้องทำ log (CCCZ) ซึ่งคุณน่าจะแนะนำเนื่องจาก GMS5 เป็นเลขชี้กำลังของเกตระดับประถมศึกษาและลอการิทึมของมันอาจจะง่ายกว่าในการนำไปใช้มันจะเป็นการง่ายที่จะรับเอาท์พุทของ CCCZ จากคำตอบสู่บันทึก CCCZ)?
user1271772

ฉันไม่รู้ว่าคุณกำลังพูดถึงอะไร ผลรวมของผลิตภัณฑ์หรือ Paulis นั้นไม่ใช่เรื่องง่ายที่จะนำไปใช้ พวกเขาไม่ได้รวมกัน --- แต่ลอการิทึมของหน่วยเป็นมิลโตเนียนดังนั้นถ้าคุณสามารถวิวัฒนาการเวลาด้วยล็อก (CCCZ) ผ่านการตั้งค่าการทดลองที่ชาญฉลาดคุณจะได้รับ CCCZ ด้วย "ประตูเดียว" ในการนับนี้
Norbert Schuch

2
@NorbertSchuch: ความคิดเห็นของคุณ "exp (-iHt) แทบจะไม่อะเดียแบติก" นั้นไม่มีความหมายเชิงลบและไม่มีเหตุผลใด ๆ ทำไมคุณถึงถามฉันว่า "ทำไมไม่ลองใช้ลอการิทึมของประตู CCCZ ด้วย" ?
user1271772

1
@ user1271772 เพียงเพื่อเพิ่มสิ่งที่ (ฉันเชื่อ) Norbert กำลังพูดในความคิดเห็น: ปัญหาของการพยายามที่จะหา Hamiltonians อิสระเวลาสร้างประตู nontrivial โดยตรง (CCX และอื่น ๆ ได้รับการพิจารณาในเอกสาร) ได้รับการศึกษาในarxiv.org/ เอบีเอส ปัญหาในการตั้งค่านี้คือการค้นหา Hamiltonians ที่มีการโต้ตอบเท่านั้นที่เป็นไปได้และยังคงสร้างประตูเป้าหมาย ทรัพยากรจึงกลายเป็นสิ่งที่อนุญาตให้มีปฏิสัมพันธ์กับมิลโตเนียนแทนที่จะเป็นประตูหลักที่อนุญาต
glS

4

มีการประหยัดจำนวนมากที่สามารถทำได้ตามชุดประตูที่ระบุ ตัวอย่างเช่นในการก่อสร้าง ccnot ทั่วไปหากคุณแทนที่T ประตูด้วย Z1/4คุณไม่จำเป็นต้องแก้ไขเฟสนั้นซึ่งก่อให้เกิดสองสามประตูสุดท้ายระหว่าง qubits ควบคุมทั้งสอง สิ่งก่อสร้างนี้ซึ่งเป็นไปตามชุดประตูที่ระบุไว้ในคำถามประกอบด้วย 21 ประตูซึ่ง 10 เป็น 2-qubit (คุณไม่ต้องการประตูสุดท้ายในวงจรด้านล่าง)

ป้อนคำอธิบายรูปภาพที่นี่

เพื่อความชัดเจน (ตอบกลับความคิดเห็นหลายรายการ): โดยปกติแล้วเราจะดูที่ Toffoli และพยายามทำให้ใช้ Tประตู. หากควบคุมได้ทั้งสองแบบ|1จากนั้นลำดับเกตของ qubit เป้าหมายคือ HXTXTXTXTH. ตอนนี้ตั้งแต่XTX=Teiπ/4จากนั้นลำดับจะลดความซับซ้อนลง iHT4H=iXและหนึ่งจะต้องเพิ่มประตูควบคุม S ชดเชยใน qubits ควบคุมทั้งสอง ถ้าเราใช้แทนZ1/4จากนั้น XZ1/4X=Z1/4และไม่มีขั้นตอนที่น่ารำคาญเหล่านั้นเข้ามาและมันช่วยให้คุณประหยัดสองประตูควิบิต!

นอกจากนี้โปรดทราบว่าประตู Toffoli สองแห่งนั้นเป็นเพียง Toffoli เท่านั้นเนื่องจากเป็นเป้าหมายของรัฐ 0 โดยทั่วไปคุณจะต้องมีเกตสองบิตพิเศษ

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


รู้สึกเหมือนว่าคุณไม่ได้ทำการเข้ารหัส ในครึ่งล่างของวงจร - แต่ฉันไม่ได้คิดมากเกี่ยวกับเรื่องนี้;)
Norbert Schuch

ฉันไม่มีการโต้แย้งเกี่ยวกับอวัยวะนอกเหนือจากการหมุน qubit เดียวที่ไม่เกี่ยวข้องกับมัน นั่นคือสิ่งที่ Toffoli สุดท้ายทำ ฉันคิดว่า Toffoli ควรอยู่ในเครื่องหมายจุลภาคคว่ำเพราะหายไปว่า 1 ประตูในตอนท้าย
DaftWullie

คุณแน่ใจหรือว่าบล็อกแรกคือ Toffoli - หรือมันเป็นเพียง Toffoli ใน ancilla? (ฉันจำได้ว่าสิ่งที่ดีที่สุดที่ทำได้สำหรับ Toffoli คือประมาณ 8 CNOTs)
Norbert Schuch

ฉันคิดว่าคุณไม่มีการแก้ไขระยะ CS บนสองบิตแรกในบล็อกกลาง คุณควรจะวาง CZ ซ้ายสุดจากบล็อคด้านข้างแต่ละอัน
Craig Gidney

ฉันจะตรวจสอบอย่างรอบคอบในวันอังคาร ฉันคิดว่าสูตรนี้หลีกเลี่ยง cS
DaftWullie

2

ในขณะที่คำตอบอื่น ๆ ของฉันคือ "ตำรา" ที่ชัดเจนที่สุด (โดยใช้การสลายตัว CCCZ ของ Nielsen & Chaung เป็น CCNOTจากนั้นการสลายตัวของตำราเรียนอีกเล่มเพื่อรวบรวม CCNOTs ) วิธีที่สร้างสรรค์มากขึ้นอาจทำให้เราทำงานได้สำเร็จด้วยประตูน้อยลง

ขั้นตอนที่ 1:

แทนที่ CNOT ทั้งหมดในวงจรของ Nielsen & Chuang ด้วย gadget นี้:

ป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอนที่ 2:

ตอนนี้เรามี CCZ จำนวนมากแทนที่จะเป็น CCNOT และพวกมันสามารถย่อยสลายได้เช่นนี้ (ความอนุเคราะห์จากบทความนี้ ):

ป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอนที่ 3:

สังเกตได้ว่า H2=Iดังนั้น Hadamards เหล่านี้บางอันจึงยกเลิกและเราได้รับการลดมากยิ่งขึ้น :)


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