กลับไปหน้าบทความ

อ่าน 36 นาที

ประตูตรรกะควอนตัม

ในการคำนวณควอนตัมและโดยเฉพาะอย่างยิ่งในแบบจำลองวงจรควอนตัม เกตตรรกะควอนตัม (หรือเรียกสั้น ๆ ว่าเกตควอนตัม ) คือวงจรควอนตัมพื้นฐานที่ทำงานบน...

ประตูตรรกะควอนตัม

วงจรลอจิกควอนตัมที่ใช้กันทั่วไป จำแนกตามชื่อ (รวมถึงตัวย่อ) รูปแบบวงจร และเมทริกซ์เอกภาพที่เกี่ยวข้อง

ในการคำนวณควอนตัมและโดยเฉพาะอย่างยิ่งในแบบจำลองวงจรควอนตัม เกตตรรกะควอนตัม (หรือเรียกสั้น ๆ ว่าเกตควอนตัม ) คือวงจรควอนตัมพื้นฐานที่ทำงานบน คิวบิตจำนวนน้อยเกตตรรกะควอนตัมเป็นส่วนประกอบพื้นฐานของวงจรควอนตัม เช่นเดียวกับเกตตรรกะ แบบคลาสสิก ที่เป็นส่วนประกอบพื้นฐานของวงจรดิจิทัลทั่วไป

ตามหลักกลศาสตร์ควอนตัมระบบควอนตัมสามารถวิวัฒนาการได้เพียงอย่างใดอย่างหนึ่ง เท่านั้น คือ วิวัฒนาการแบบเอกภาพ ตามสมการชโรดิงเกอร์หรือถูกวัด (บางครั้งเรียกว่า "การสังเกต") เกตควอนตัมอธิบายการแปลงแบบเอกภาพเหล่านี้ ซึ่งเกิดขึ้นเมื่อระบบไม่ได้ถูกวัด คำว่า "เกตควอนตัม" ปรากฏในความสัมพันธ์กับโปรเซสเซอร์ควอนตัม และในบริบทนี้ เกตควอนตัมคือการดำเนินการเชิงตรรกะที่คอมพิวเตอร์ควอนตัมใน ระดับนามธรรมของ ภาษาแอสเซมบลี (เช่นOpenQASM ) สามารถดำเนินการกับข้อมูลควอนตัม ( คิวบิตหรือสถานะควอนตัม ) ที่ประมวลผลได้ แม้ว่าเกตควอนตัมอาจเป็นอัลกอริทึมทั้งหมด (เช่นการแปลงฟูริเยร์ควอนตัม ) ก็ได้ – แต่สิ่งนี้จะเป็นจริงก็ต่อเมื่ออัลกอริทึมดังกล่าวไม่มีการดำเนินการวัด เมื่อข้อมูลควอนตัมถูกวัด มันมักจะถูกแปลงเป็นบิตไบนารี จากนั้นจึงส่งไปยังคอมพิวเตอร์ปกติ ("คลาสสิก") โปรเซสเซอร์ควอนตัมทำหน้าที่เหมือนตัวประมวลผลร่วมสำหรับโปรเซสเซอร์ไบนารีคลาสสิกดังกล่าว

แตกต่างจากเกตตรรกะแบบคลาสสิกหลายๆ ตัว เกตตรรกะควอนตัมสามารถย้อนกลับได้ เป็นไปได้ที่จะทำการคำนวณแบบคลาสสิกโดยใช้เฉพาะเกตที่ย้อนกลับได้เท่านั้น ตัวอย่างเช่นเกต Toffoli ที่ย้อนกลับได้ สามารถใช้ในการสร้างฟังก์ชันบูลีน ทั้งหมดได้ ซึ่งมักจะต้องใช้บิตเสริม (ancilla bits ) เกต Toffoli มีสิ่งที่เทียบเท่าโดยตรงในควอนตัม แสดงให้เห็นว่าวงจรควอนตัมสามารถดำเนินการทุกอย่างที่วงจรคลาสสิกทำได้

เกตควอนตัมเป็นตัวดำเนินการเอกภาพและอธิบายได้ว่าเป็นเมทริกซ์เอกภาพที่สัมพันธ์กับฐาน ออร์ โทนอร์มอล บางอย่าง โดยปกติ จะใช้ ฐานการคำนวณซึ่งเว้นแต่จะเปรียบเทียบกับสิ่งอื่น ก็หมายความว่าสำหรับ ระบบควอนตัมระดับ d (เช่นคิวบิตรีจิสเตอร์ควอนตัมหรือคิวทริตและคิวดิต ) [ 1 ] : 22–23 เวกเตอร์ฐานออร์โทนอร์มอลจะถูกติดป้ายกำกับหรือใช้สัญกรณ์ไบนารี

ประวัติศาสตร์

สัญลักษณ์ปัจจุบันสำหรับเกตควอนตัมได้รับการพัฒนาโดยผู้ก่อตั้งวิทยาศาสตร์ข้อมูลควอนตัม หลายคน รวมถึง Adriano Barenco, Charles Bennett , Richard Cleve , David P. DiVincenzo , Norman Margolus , Peter Shor , Tycho Sleator, John A. Smolinและ Harald Weinfurter [ 2 ]โดยต่อยอดจากสัญลักษณ์ที่Richard Feynman นำเสนอ ในปี 1986 [ 3 ]

การเป็นตัวแทน

สถานะ คิวบิต เดี่ยว ที่ไม่พันกันและขาดเฟสโดยรวมสามารถแสดงได้เป็นจุดบนพื้นผิวของทรงกลมบล็อกซึ่งเขียนได้ดังนี้การหมุนรอบแกนx, y, zของทรงกลมบล็อกแสดงด้วยเกตตัวดำเนินการหมุน

เกตตรรกะควอนตัมแสดงด้วยเมทริกซ์เอกภาพเกตที่ทำงานกับคิวบิต (รีจิสเตอร์ ) จะแสดงด้วยเมทริกซ์เอกภาพ และเซตของเกตทั้งหมดดังกล่าวที่มีการดำเนินการกลุ่มของการคูณเมทริกซ์[ a ]คือกลุ่มเอกภาพ U(2n ) [ 2 ] สถานะวอนตัมที่เกตทำงานด้วยคือเวกเตอร์หน่วยใน มิติ เชิงซ้อนพร้อมด้วยนอร์มยุคลิดเชิงซ้อน ( นอร์ม 2 ) [ 4 ] : ​​66 [ 5 ] : 56, 65 เวกเตอร์ฐาน (บางครั้งเรียกว่าสถานะเฉพาะ ) คือผลลัพธ์ที่เป็นไปได้หากสถานะของคิวบิตถูกวัดและสถานะควอนตัมคือการรวมเชิงเส้นของผลลัพธ์เหล่านี้ เกตควอนตัมที่พบบ่อยที่สุดทำงานบนปริภูมิเวกเตอร์ของคิวบิตหนึ่งหรือสองตัว เช่นเดียวกับเกตตรรกะคลาสสิก ทั่วไป ที่ทำงานบนบิต หนึ่งหรือสอง ตัว

แม้ว่าเกตตรรกะควอนตัมจะอยู่ในกลุ่มสมมาตรต่อเนื่อง แต่ ฮาร์ดแวร์จริงนั้นไม่แม่นยำและจึงมีความแม่นยำจำกัด การใช้งานเกตมักจะทำให้เกิดข้อผิดพลาด และความถูกต้องของสถานะควอนตัมจะลดลงเมื่อเวลาผ่านไป หาก ใช้ การแก้ไขข้อผิดพลาดเกตที่ใช้งานได้จะถูกจำกัดให้เหลือเพียงเซตที่จำกัด[ 4 ] : บทที่ 10 [ 1 ] : บทที่ 14 ต่อมาในบทความนี้ เรื่องนี้จะถูกละเลย เนื่องจากจุดสนใจอยู่ที่คุณสมบัติของเกตควอนตัมในอุดมคติ

โดยทั่วไป สถานะควอนตัมจะถูกแทนด้วย "kets" ซึ่งมาจากสัญกรณ์ที่เรียกว่าbra– ket

เวกเตอร์แทนค่าคิวบิต เดี่ยว คือ

ในที่นี้และคือแอมพลิจูดความน่าจะเป็น เชิงซ้อน ของคิวบิต ค่าเหล่านี้กำหนดความน่าจะเป็นของการวัดค่า 0 หรือ 1 เมื่อทำการวัดสถานะของคิวบิต ดู รายละเอียดเพิ่มเติมได้ในหัวข้อ การวัดด้านล่าง

ค่าศูนย์แทนด้วยสัญลักษณ์ ket และค่าหนึ่งแทนด้วยสัญลักษณ์ket

ผลคูณเทนเซอร์ (หรือผลคูณโครเนกเกอร์ ) ใช้สำหรับรวมสถานะควอนตัม สถานะรวมสำหรับรีจิสเตอร์คิวบิตคือผลคูณเทนเซอร์ของคิวบิตที่เป็นส่วนประกอบ ผลคูณเทนเซอร์แสดงด้วยสัญลักษณ์ ` tensor`

เวกเตอร์แทนของคิวบิตสองตัวคือ: [ 6 ]

การกระทำของเกตต่อสถานะควอนตัมเฉพาะนั้นหาได้จากการคูณเวกเตอร์ซึ่งแทนสถานะนั้น ด้วยเมทริกซ์ที่แทนเกต ผลลัพธ์ที่ได้คือสถานะควอนตัมใหม่:

ความสัมพันธ์กับตัวดำเนินการวิวัฒนาการเวลา

สมการชโรดิงเกอร์อธิบายว่าระบบควอนตัมที่ไม่สามารถสังเกตได้ นั้น วิวัฒนาการไปตามเวลาอย่างไร และเมื่อระบบอยู่ในสภาพแวดล้อมที่เสถียร ดังนั้นจึงมีแฮมิลโท เนียนคง ที่ คำตอบของสมการนี้คือ[ 1 ] : 24–25 หากเวลาคงที่เสมอ อาจละเว้นได้เพื่อความง่าย และวิธีที่สถานะควอนตัมวิวัฒนาการสามารถอธิบายได้เช่นเดียวกับในส่วนด้านบน

กล่าวคือ เกตควอนตัมคือวิธีการที่ระบบควอนตัมซึ่งไม่สามารถสังเกตได้นั้นเปลี่ยนแปลงไปในช่วงเวลาที่กำหนด หรือกล่าวอีกนัยหนึ่ง เกตคือตัวดำเนินการวิวัฒนาการเวลา แบบเอกภาพ ที่กระทำต่อสถานะควอนตัมในช่วงเวลาที่กำหนด

ตัวอย่างที่น่าสนใจ

มีประตูอยู่ จำนวนนับ ไม่ถ้วนที่ไม่มีที่สิ้นสุดบางส่วนได้รับการตั้งชื่อโดยผู้เขียนหลายคน[ 1 ] [ 2 ] [ 4 ] [ 5 ] [ 7 ] [ 8 ] [ 9 ]และด้านล่างนี้คือบางส่วนที่ใช้บ่อยที่สุดในเอกสาร

ประตูยืนยันตัวตน

เกตเอกลักษณ์คือเมทริกซ์เอกลักษณ์ซึ่งโดยปกติจะเขียนแทนด้วยIและถูกกำหนดสำหรับคิวบิตเดี่ยวดังนี้

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

ประตูเปาลี ( X , Y , Z )

เกตควอนตัม (จากบนลงล่าง): เกตเอกลักษณ์, เกต NOT, เกต Pauli Y, เกต Pauli Z

เกต Pauli คือ เมทริกซ์ Pauliสาม เมทริกซ์ และทำงานกับคิวบิตเดียว Pauli X , YและZเทียบเท่ากับการหมุนรอบ แกน x , yและzของทรงกลม Bloch ตามลำดับ ด้วยเรเดียน[ b ]

เกต Pauli- Xเป็นเกตควอนตัมที่เทียบเท่ากับเกต NOTสำหรับคอมพิวเตอร์แบบคลาสสิก โดยสัมพันธ์กับฐานมาตรฐาน, ,ซึ่งแยกแยะ แกน zบนทรงกลม Blochบางครั้งเรียกว่าการพลิกบิต (bit-flip) เนื่องจากมันแปลงค่าจาก เป็นและจาก เป็น ในทำนอง เดียวกันเกต Pauli- Y แปลงค่า จาก เป็นและจาก เป็น เกต Pauli- Z ไม่เปลี่ยนแปลง สถานะฐานและแปลงค่าจากเป็นเนื่องจากลักษณะเช่นนี้ บางครั้งเกต Pauli- Zจึงเรียกว่าการพลิกเฟส (phase-flip)

เมทริกซ์เหล่านี้มักแสดงในรูปแบบดังนี้

เมทริกซ์ Pauli เป็นเมทริกซ์ผกผันซึ่งหมายความว่ากำลังสองของเมทริกซ์ Pauli คือเมท ริกซ์เอกลักษณ์

ตัวอย่างเช่นเมทริกซ์ของเปาลีก็มีคุณสมบัติการสลับที่แบบผกผัน ด้วย

เมทริกซ์เอกซ์โพเนนเชียลของเมทริกซ์ Pauli คือตัวดำเนินการหมุนซึ่งมักเขียนในรูป

ประตูควบคุม

การแสดงวงจรของ เกตUควบคุม

เกตควบคุมจะทำงานกับคิวบิต 2 ตัวขึ้นไป โดยที่คิวบิตหนึ่งตัวขึ้นไปทำหน้าที่เป็นตัวควบคุมสำหรับการดำเนินการบางอย่าง[ 2 ]ตัวอย่างเช่นเกต NOT ควบคุม (หรือ CNOT หรือ CX) ทำงานกับคิวบิต 2 ตัว และดำเนินการ NOT กับคิวบิตตัวที่สองเฉพาะเมื่อคิวบิตตัวแรกเป็นและมิเช่นนั้นจะไม่เปลี่ยนแปลง เมื่อเทียบกับฐาน, , , ,จะถูกแทนด้วย เมทริกซ์ เอกภาพ เฮอร์มิ เชียน :

เกต CNOT (หรือเกต Pauli- X ที่ควบคุมได้ ) สามารถอธิบายได้ว่าเป็นเกตที่แมปสถานะพื้นฐานโดยที่คือ การดำเนิน การ XOR

CNOT สามารถแสดงในฐานเปาลีได้ดังนี้:

เนื่องจาก CNOT เป็นตัวดำเนินการเอกภาพแบบเฮอร์มิเชียน จึงมีคุณสมบัติที่ว่าและและเป็นแบบ ผกผัน

โดยทั่วไปแล้ว หากUเป็นเกตที่ทำงานกับคิวบิตเดี่ยวที่มีการแสดงผลในรูปแบบเมทริกซ์

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

แผนภาพวงจรของเกต Pauli แบบควบคุม (จากซ้ายไปขวา): CNOT (หรือ X แบบควบคุม), Y แบบควบคุม และ Z แบบควบคุม

เมทริกซ์ที่แสดงถึงU ที่ถูกควบคุม คือ

เมื่อUเป็นหนึ่งในตัวดำเนินการ Pauli X , Y , Zบางครั้งจะใช้คำที่เกี่ยวข้องว่า "controlled- X ", "controlled- Y " หรือ "controlled- Z " [ 4 ] : 177–185 บางครั้งจะย่อให้เหลือเพียง C X , C YและC Z

โดยทั่วไปเกตเอกภาพควอนตัมบิต เดี่ยวใดๆ สามารถแสดงได้เป็น โดยที่Hคือเมทริกซ์เฮอร์มิเชียนและจากนั้นU ที่ถูกควบคุม คือ

การควบคุมสามารถขยายไปยังเกตที่มีจำนวนคิวบิตตามอำเภอใจ[ 2 ]และฟังก์ชันในภาษาโปรแกรม[ 10 ]ฟังก์ชันสามารถกำหนดเงื่อนไขตามสถานะซ้อนทับได้[ 11 ] [ 12 ]

การควบคุมแบบคลาสสิก

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

เกตยังสามารถควบคุมได้ด้วยตรรกะแบบคลาสสิก คอมพิวเตอร์ควอนตัมถูกควบคุมโดยคอมพิวเตอร์แบบคลาสสิกและทำหน้าที่เหมือนโคโปรเซสเซอร์ที่รับคำสั่งจากคอมพิวเตอร์แบบคลาสสิกเกี่ยวกับเกตที่จะดำเนินการกับคิวบิตใด[ 13 ] : 42–43 [ 14 ]การควบคุมแบบคลาสสิกเป็นเพียงการรวมหรือการละเว้นเกตในลำดับคำสั่งสำหรับคอมพิวเตอร์ควอนตัม[ 4 ] : 26–28 [ 1 ] : 87–88 การทำการวัดในส่วนกลางของวงจรควอนตัม แทนที่จะเป็นส่วนท้ายนั้น เป็นเรื่องยากและท้าทายทางเทคนิคเนื่องจากปัญหาเรื่องเวลาและการสูญเสียความสอดคล้องด้วยเหตุนี้ คอมพิวเตอร์ควอนตัมบางเครื่องจึงไม่รองรับคำสั่ง if แบบคลาสสิกเหล่านี้ ซึ่งข้อมูลควอนตัมจะถูกแปลงเป็นบิต จากนั้นจึงควบคุมการไหลของโปรแกรม[ 15 ] [ 16 ]

เกตเปลี่ยนเฟส

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

โดยที่คือการเปลี่ยนเฟสที่มีคาบตัวอย่างที่พบได้ทั่วไป ได้แก่ เกต T ( ซึ่งในอดีตเรียกว่าเกต) เกตเฟส (หรือที่รู้จักกันในชื่อเกต S เขียนเป็นSแต่ บางครั้ง Sก็ใช้สำหรับเกต SWAP) และเกPauli- Z

เกตเปลี่ยนเฟสมีความสัมพันธ์กันดังต่อไปนี้:

โปรดทราบว่าเกตเฟสไม่ใช่เฮอร์มิเชียน (ยกเว้นทั้งหมด) เกตเหล่านี้แตกต่างจากเกตเฮอร์มิเชียนคู่ควบของพวกมัน: เกตคู่ควบ สองตัว (หรือเกตคู่ควบสลับตำแหน่ง ) และบางครั้งรวมอยู่ในชุดคำสั่ง[ 17 ] [ 18 ]

ประตูฮาดามาร์ด

เกต Hadamard หรือ Walsh-Hadamard ซึ่งตั้งชื่อตามJacques Hadamard ( ภาษาฝรั่งเศส: [adamaʁ] ) และJoseph L. Walshทำงานกับคิวบิตเดี่ยว มันแมปสถานะพื้นฐานและ(มันสร้างสถานะซ้อนทับที่เท่ากันหากได้รับสถานะพื้นฐานการคำนวณ) สถานะทั้งสองและบางครั้งเขียน ว่า และตามลำดับ เกต Hadamard ทำการหมุนรอบแกนที่ทรงกลม Blochและดังนั้นจึงเป็น เกต ผกผันมันถูกแทนด้วยเมทริกซ์ Hadamard :

การแสดงวงจรของเกตฮาดามาร์ด

ถ้าใช้เกต Hadamard แบบHermitian (ดังนั้น ) เพื่อทำการ เปลี่ยนฐานมันจะพลิกกลับและตัวอย่างเช่นและ

ประตูสลับ

ภาพแสดงวงจรของเกต SWAP

เกตสลับ (swap gate) สลับคิวบิตสองตัว โดยเทียบกับฐาน, , , จะถูกแทนด้วยเมทริกซ์

เกตสลับสามารถแยกออกเป็นรูปแบบผลรวมได้:

ประตูทอฟโฟลี (CCNOT)

การแสดงวงจรของเกตทอฟโฟลี

เกต Toffoli ซึ่งตั้งชื่อตามTommaso Toffoliและเรียกอีกอย่างว่าเกต CCNOT หรือเกต Deutsch เป็นเกต 3 บิตที่เป็นสากลสำหรับการคำนวณแบบคลาสสิก แต่ไม่ใช่สำหรับการคำนวณแบบควอนตัม เกต Toffoli แบบควอนตัมเป็นเกตเดียวกันที่กำหนดสำหรับ 3 คิวบิต หากเราจำกัดตัวเองให้ยอมรับเฉพาะคิวบิตอินพุตที่เป็นและเท่านั้นหากบิตสองบิตแรกอยู่ในสถานะมันจะใช้ Pauli- X (หรือ NOT) กับบิตที่สาม มิฉะนั้นจะไม่ทำอะไรเลย นี่เป็นตัวอย่างของเกต CC-U (controlled-controlled Unitary) เนื่องจากเป็นอนาล็อกควอนตัมของเกตแบบคลาสสิก มันจึงถูกกำหนดอย่างสมบูรณ์โดยตารางความจริง เกต Toffoli เป็นสากลเมื่อรวมกับเกต Hadamard คิวบิตเดี่ยว[ 19 ]

ตารางความจริงรูปแบบเมทริกซ์
ป้อนข้อมูล เอาต์พุต
000000
001001
010010
011011
100100
101101
110111
111110

เกต Toffoli เกี่ยวข้องกับ การดำเนินการ AND ( ) และXOR ( ) แบบคลาสสิก เนื่องจากทำการแมปสถานะในฐานการคำนวณ

ประตู Toffoli สามารถแสดงได้โดยใช้เมทริกซ์ Pauliดังนี้

ประตูควอนตัมสากล

ทั้ง CNOT และเป็นเกตสองคิวบิตสากล และสามารถแปลงไปเป็นกันและกันได้

เซตของเกตควอนตัมสากลคือเซตของเกตใดๆ ที่การดำเนินการใดๆ ที่เป็นไปได้บนคอมพิวเตอร์ควอนตัมสามารถลดทอนลงได้ กล่าวคือ การดำเนินการเอกภาพอื่นๆ สามารถแสดงได้เป็นลำดับเกตจำนวนจำกัดจากเซตนั้น ในทางเทคนิคแล้ว สิ่งนี้เป็นไปไม่ได้หากเซตของเกตมีจำนวนน้อยกว่า เซต ที่นับไม่ได้เนื่องจากจำนวนเกตควอนตัมที่เป็นไปได้นั้นนับไม่ได้ ในขณะที่จำนวนลำดับจำนวนจำกัดจากเซตที่จำกัด นั้น นับได้ในการแก้ปัญหานี้ เราเพียงต้องการว่าการดำเนินการควอนตัมใดๆ สามารถประมาณได้ด้วยลำดับเกตจากเซตที่จำกัดนี้ ยิ่งไปกว่านั้น สำหรับการดำเนินการเอกภาพบนจำนวนคิวบิตคงที่ทฤษฎีบท Solovay–Kitaevรับประกันว่าสิ่งนี้สามารถทำได้อย่างมีประสิทธิภาพ การตรวจสอบว่าเซตของเกตควอนตัมเป็นสากลหรือไม่สามารถทำได้โดยใช้วิธีการทฤษฎีกลุ่ม[ 20 ] และ/หรือความสัมพันธ์กับ t-design เอกภาพ ( โดยประมาณ) [ 21 ] หาก สมมติฐานช่องว่างสเปกตรัมเป็นจริง นั่นหมายความว่าชุดเกตควอนตัมที่เลือกโดยทั่วไปจะมีประสิทธิภาพในระดับสากล

ชุดเกตควอนตัมสากลบางชุดได้แก่:

  • ตัวดำเนินการหมุนR x ( θ ) , R y ( θ ) , R z ( θ ) , เกตเปลี่ยนเฟสP ( φ ) [ c ]และCNOTมักใช้เพื่อสร้างชุดเกตควอนตัมสากล[ 22 ] [ d ]
  • เซตคลิฟฟอร์ด {CNOT, H , S } + เกต Tเซตคลิฟฟอร์ดเพียงอย่างเดียวไม่ใช่เซตเกตควอนตัมสากล เนื่องจากสามารถจำลองได้อย่างมีประสิทธิภาพในแบบคลาสสิกตามทฤษฎีบทGottesman–Knill
  • เกต Toffoli + เกต Hadamard [ 19 ]เกต Toffoli เพียงอย่างเดียวก็สร้างชุดเกตสากลสำหรับ วงจรตรรกะ พีชคณิตบูลีน แบบย้อนกลับได้ ซึ่งครอบคลุมการคำนวณแบบคลาสสิกทั้งหมด

ประตูเยอรมัน

ชุดเกตควอนตัมสากลแบบเกตเดี่ยวสามารถกำหนดสูตรได้โดยใช้เกต Deutsch สามคิวบิตแบบพารามิเตอร์[ 23 ] ซึ่งตั้งชื่อตามนักฟิสิกส์David Deutschเป็นกรณีทั่วไปของCC-Uหรือ เกต ควบคุม-ควบคุม-เอกภาพและกำหนดเป็น

น่าเสียดายที่เกต Deutsch ที่ใช้งานได้ยังคงเข้าถึงได้ยาก เนื่องจากขาดโปรโตคอล มีข้อเสนอบางประการในการสร้างเกต Deutsch ด้วยปฏิสัมพันธ์ไดโพล-ไดโพลในอะตอมที่เป็นกลาง[ 24 ]

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

นอกจากนี้ยังมีเกตสองคิวบิตเดี่ยวที่เพียงพอสำหรับความเป็นสากล ในปี 1996 Adriano Barenco ได้แสดงให้เห็นว่าเกต Deutsch สามารถแยกส่วนได้โดยใช้เกตสองคิวบิตเดี่ยว ( เกต Barenco ) แต่ยากที่จะทำให้เกิดขึ้นจริงในทางทดลอง[ 1 ] : 93 คุณสมบัตินี้เป็นเอกลักษณ์เฉพาะของวงจรควอนตัม เนื่องจากไม่มีเกตสองบิตแบบคลาสสิกใดที่ทั้งย้อนกลับได้และเป็นสากล[ 1 ] : 93 เกตสองคิวบิตที่เป็นสากลสามารถนำไปใช้เพื่อปรับปรุงวงจรย้อนกลับแบบคลาสสิกในไมโครโปรเซสเซอร์พลังงานต่ำที่รวดเร็วได้[ 1 ] : 93

การประกอบวงจร

ประตูที่ต่อสายแบบอนุกรม

วงจรเกต YและXสองตัวต่ออนุกรมกัน ลำดับการปรากฏบนสายไฟจะกลับกันเมื่อนำมาคูณกัน

สมมติว่าเรามีเกตAและB สองตัว ที่ทำงานกับคิวบิตทั้งคู่ เมื่อวางB ต่อจาก Aในวงจรอนุกรม ผลของเกตทั้งสองสามารถอธิบายได้ว่าเป็นเกตC ตัว เดียว

โดยที่เป็นการคูณเมทริกซ์ เกต Cที่ได้จะมีมิติเท่ากับAและBลำดับที่เกตจะปรากฏในแผนภาพวงจรจะกลับกันเมื่อคูณเข้าด้วยกัน[ 4 ] : 17–18,22–23,62–64 [ 5 ] : 147–169

ตัวอย่างเช่น การวางเกต Pauli X ไว้ หลังเกต Pauli Yซึ่งทั้งสองเกตทำงานกับคิวบิตเดียว สามารถอธิบายได้ว่าเป็นเกตแบบรวมC ตัวเดียว :

โดยทั่วไปมักละเว้น สัญลักษณ์ผลิตภัณฑ์ ( )

เลขชี้กำลังของเกตควอนตัม

เลขชี้กำลังจริงทั้งหมด ของ เมทริกซ์เอกลักษณ์ก็เป็นเมทริกซ์เอกลักษณ์เช่นกัน และเกตควอนตัมทั้งหมดก็เป็นเมทริกซ์เอกลักษณ์

เลขชี้กำลังจำนวนเต็มบวกเทียบเท่ากับลำดับของเกตที่ต่ออนุกรมกัน (เช่น)และเลขชี้กำลังจำนวนจริงเป็นการขยายความของวงจรอนุกรม ตัวอย่างเช่นและต่างก็เป็นเกตควอนตัมที่ถูกต้อง

สำหรับเมทริกซ์เอกลักษณ์ใดๆเมทริกซ์เอกลักษณ์ ( ) ทำหน้าที่เหมือนNOP [ 25 ] [ 26 ]และสามารถแสดงเป็นสายเปลือยในวงจรควอนตัม หรือไม่แสดงเลยก็ได้

เกตทั้งหมดเป็นเมทริกซ์เอกลักษณ์ ดังนั้นและโดยที่คือเมทริกซ์สลับตำแหน่งสังยุคซึ่งหมายความว่าเลขชี้กำลังลบของเกตจะเป็นเมทริกซ์ผกผันเอกลักษณ์ของเลขชี้กำลังบวกของเกตนั้น:ตัวอย่างเช่น เลขชี้กำลังลบของ เก เปลี่ยนเฟส บางตัว คือและ

โปรดทราบว่าสำหรับเมทริกซ์เฮอร์มิเชียน และเนื่องจากความเป็นเอกภาพดังนั้นสำหรับเกตเฮอร์มิเชียนทั้งหมด เกตเหล่านี้จึงเป็นแบบผกผันตัวอย่างของเกตเฮอร์มิเชียน ได้แก่เกต Pauli , Hadamard , CNOT , SWAPและToffoliเมทริกซ์เอกภาพเฮอร์มิเชียนแต่ละตัวมีคุณสมบัติที่ว่า โดยที่

เลขชี้กำลังของเกตเป็นผลคูณของระยะเวลาที่ตัวดำเนินการวิวัฒนาการเวลาถูกนำไปใช้กับสถานะควอนตัม เช่น ในคอมพิวเตอร์ควอนตัมแบบคิวบิตสปินเกตสามารถสร้างขึ้นได้ผ่านปฏิสัมพันธ์แลกเปลี่ยนบนสปินของอิเล็กตรอน สองตัว เป็นเวลาครึ่งหนึ่งของระยะเวลาของปฏิสัมพันธ์แลกเปลี่ยนเต็มรูปแบบ[ 27 ]

ประตูขนาน

ประตูสองบานที่ต่อขนานกันนั้นเทียบเท่ากับประตูบานเดียว

ผลคูณเทนเซอร์ (หรือผลคูณโครเนกเกอร์ ) ของเกตควอนตัมสองตัวคือเกตที่เท่ากับเกตทั้งสองตัวที่ขนานกัน[ 4 ] : 71–75 [ 5 ] : 148

ถ้าเราต่อวงจรเกต Pauli- Yกับเกต Pauli- X แบบขนาน ดังแสดงในภาพจะสามารถเขียนได้ดังนี้:

เกต Pauli- Xและเกต Pauli- Y ต่างก็ ทำงานกับคิวบิตตัวเดียว ส่วนเกตที่ได้นั้นจะทำงานกับคิวบิตสองตัว

บางครั้งสัญลักษณ์ผลคูณเทนเซอร์จะถูกละเว้น และจะใช้ดัชนีแทนตัวดำเนินการ[ 27 ]

การแปลงฮาดามาร์ด

เกตนี้คือเกต Hadamard ( )ที่ใช้แบบขนานกับคิวบิต 2 ตัว สามารถเขียนได้ดังนี้:

"เกต Hadamard แบบขนานสองคิวบิต" นี้ เมื่อนำไปใช้กับเวกเตอร์ศูนย์สองคิวบิต ( )ตัวอย่างเช่น จะ สร้างสถานะค วอนตัมที่มีความน่าจะเป็นเท่ากันในการสังเกตผลลัพธ์ที่เป็นไปได้ทั้งสี่แบบ ได้แก่, , ,และเราสามารถเขียนการดำเนินการนี้ได้ดังนี้:

ตัวอย่าง:การแปลง Hadamard บนรีจิสเตอร์ 3 คิวบิต

ในที่นี้ แอมพลิจูดสำหรับแต่ละสถานะที่วัดได้คือ1/2 ความน่าจะเป็นที่จะสังเกตเห็นสถานะใดๆ คือกำลังสองของค่าสัมบูรณ์ของแอมพลิจู ดของสถานะที่วัดได้ ซึ่งในตัวอย่างข้างต้นหมายความว่ามีโอกาสหนึ่งในสี่ที่เราจะสังเกตเห็นกรณีใดกรณีหนึ่งจากสี่กรณี ดูรายละเอียดเพิ่มเติมได้ใน ส่วนการวัด

ทำการแปลงฮาดามาร์ดบนคิวบิตสองตัว ในทำนองเดียวกัน เกตนี้ทำการแปลงฮาดามาร์ดบนรีจิสเตอร์ของคิวบิต

เมื่อนำไปใช้กับรีจิสเตอร์ของคิวบิตที่เริ่มต้นด้วยค่า 0 ทั้งหมดการแปลงฮาดามาร์ดจะทำให้รีจิสเตอร์ควอนตัมเข้าสู่สถานะซ้อนทับ โดยมีความน่าจะเป็นเท่ากันที่จะถูกวัดในสถานะใดๆ ก็ตามที่เป็นไปได้:

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

การวัดสถานะนี้ส่งผลให้ได้ตัวเลขสุ่มระหว่างและ[ e ]ความสุ่มของตัวเลขขึ้นอยู่กับความแม่นยำ ของเกตตรรกะ หากไม่ได้วัด ตัวเลข นี้ จะเป็นสถานะควอนตัมที่มี แอมพลิจูดความน่าจะเป็นเท่ากันสำหรับแต่ละสถานะที่เป็นไปได้

การแปลง Hadamard กระทำต่อรีจิสเตอร์ที่มีคิวบิตในลักษณะดังต่อไปนี้:

การประยุกต์ใช้กับสถานะพันกัน

หากมองคิวบิตสองตัวขึ้นไปเป็นสถานะควอนตัมเดียว สถานะรวมนี้จะเท่ากับผลคูณเทนเซอร์ของคิวบิตที่เป็นส่วนประกอบ สถานะใดๆ ที่สามารถเขียนได้ในรูปผลคูณเทนเซอร์จากระบบย่อยที่เป็นส่วนประกอบเรียกว่าสถานะแยกส่วนได้ในทางกลับกันสถานะพันกันคือสถานะใดๆ ที่ไม่สามารถแยกตัวประกอบเทนเซอร์ได้ หรือกล่าวอีกนัยหนึ่งคือสถานะพันกันไม่สามารถเขียนได้ในรูปผลคูณเทนเซอร์ของสถานะคิวบิตที่เป็นส่วนประกอบต้องใช้ความระมัดระวังเป็นพิเศษเมื่อใช้เกตกับคิวบิตที่เป็นส่วนประกอบที่ประกอบเป็นสถานะพันกัน

ถ้าเรามีชุด คิวบิต Nตัวที่พันกัน และต้องการใช้เกตควอนตัมกับ คิวบิต M < Nตัวในชุดนั้น เราจะต้องขยายเกตให้รองรับ คิวบิต Nตัว การประยุกต์ใช้ดังกล่าวสามารถทำได้โดยการรวมเกตเข้ากับเมทริกซ์เอกลักษณ์โดยที่ผลคูณเทนเซอร์ของทั้งสองจะกลายเป็นเกตที่ทำงานกับ คิวบิต Nตัว เมทริกซ์เอกลักษณ์( )เป็นตัวแทนของเกตที่แมปทุกสถานะไปยังตัวมันเอง (กล่าวคือ ไม่ทำอะไรเลย) ในแผนภาพวงจร เกตหรือเมทริกซ์เอกลักษณ์มักจะปรากฏเป็นเพียงสายไฟเปลือย

ตัวอย่างที่ยกมาในข้อความ ประตู Hadamard ทำงานกับคิวบิตเพียง 1 ตัว แต่เป็นสถานะควอนตัมที่พันกันซึ่งครอบคลุมคิวบิต 2 ตัว ในตัวอย่างของเรา.

ตัวอย่างเช่น เกต Hadamard ( )ทำงานกับคิวบิตเดียว แต่ถ้าเราป้อนคิวบิตแรกจากสองคิวบิตที่ประกอบกันเป็นสถานะ Bell ที่พันกัน เราจะไม่สามารถเขียนการดำเนินการนั้นได้ง่ายๆ เราจำเป็นต้องขยายเกต Hadamard ด้วยเกตเอกลักษณ์เพื่อให้เราสามารถทำงานกับสถานะควอนตัมที่ครอบคลุมสองคิวบิต ได้

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

ความซับซ้อนในการคำนวณและผลคูณเทนเซอร์

ความซับซ้อน ของเวลาในการคูณเมท ริกซ์ สองตัวอย่างน้อยที่สุดคือ[ 28 ] หากใช้เครื่องจักรแบบคลาสสิก เนื่องจากขนาดของเกตที่ดำเนินการกับคิวบิตคือหมายความว่าเวลาสำหรับการจำลองขั้นตอนในวงจรควอนตัม (โดยการคูณเกต) ที่ดำเนินการกับสถานะพันกันทั่วไปคือด้วยเหตุนี้จึงเชื่อกันว่า การจำลองระบบควอนตัมพันกันขนาดใหญ่โดยใช้คอมพิวเตอร์แบบคลาสสิกนั้น ทำได้ยาก อย่างไรก็ตาม ชุดย่อยของ เกต เช่นเกตคลิฟฟอร์ดหรือกรณีง่ายๆ ของวงจรที่ใช้เฉพาะฟังก์ชันบูลีนแบบคลาสสิก (เช่น การรวมกันของX , CNOT , Toffoli ) สามารถจำลองได้อย่างมีประสิทธิภาพบนคอมพิวเตอร์แบบคลาสสิก

เวกเตอร์สถานะของรีจิสเตอร์ควอนตัมที่มีคิวบิตประกอบด้วยค่าเชิงซ้อน การจัดเก็บ ค่าแอม พลิจูดความน่าจะเป็นเป็นรายการของค่าทศนิยมนั้นทำได้ยากสำหรับค่าขนาดใหญ่

การผกผันเอกภาพของเกต

ตัวอย่าง:ตัวผกผันเอกภาพของผลคูณ Hadamard-CNOT เกตทั้งสาม,และต่างก็เป็นตัวผกผันเอกภาพของตัวเอง

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

การเริ่มต้น การวัด การรับส่งข้อมูลและการเสื่อมสภาพของ ควอนตัมโดยธรรมชาติ เป็นผลข้างเคียงในคอมพิวเตอร์ควอนตัม อย่างไรก็ตาม เกตนั้นเป็นฟังก์ชันล้วนๆและเป็นแบบหนึ่งต่อหนึ่ง

ถ้าเป็นเมทริกซ์เอกลักษณ์แล้วและเครื่องหมายกริช ( )หมายถึงเมทริกซ์สลับเปลี่ยนเชิงสัง ยุค เรียกอีกอย่างว่าเมทริกซ์เฮอร์มิเชียนแอดจอยต์

ถ้าฟังก์ชันเป็นผลคูณของเกต เราสามารถสร้าง อินเวอร์สเอกภาพ (unitary inverse) ของฟังก์ชันนั้น ได้:

เพราะเรามี หลังจากนำไปประยุกต์ใช้ซ้ำหลายครั้งแล้ว

ในทำนองเดียวกัน หากฟังก์ชันประกอบด้วยเกตสองตัวและต่อขนานกัน ก็จะ ได้ ว่าและ

เกตที่เป็นตัวผกผันเอกภาพของตัวเองเรียกว่า ตัวดำเนินการ เฮอร์มิเชียนหรือตัวดำเนินการสมมาตรในตัวเองเกตพื้นฐานบางตัว เช่น เกตฮาดามาร์ด ( H ) และเกตเปาลี ( I , X , Y , Z ) เป็นตัวดำเนินการเฮอร์มิเชียน ในขณะที่เกตอื่นๆ เช่น เกต เปลี่ยนเฟส ( S , T , P , CPhase ) โดยทั่วไปไม่ใช่ตัวดำเนินการเฮอร์ มิเชียน

ตัวอย่างเช่น อัลกอริทึมสำหรับการบวกสามารถใช้สำหรับการลบได้ หากมันถูก "ดำเนินการย้อนกลับ" ในฐานะตัวผกผันเอกภาพการแปลงฟูริเยร์ควอนตัมผกผันคือตัวผกผันเอกภาพ ตัวผกผันเอกภาพยังสามารถใช้สำหรับการคำนวณย้อนกลับได้อีก ด้วย ภาษาโปรแกรมสำหรับคอมพิวเตอร์ควอนตัม เช่นQ#ของMicrosoft [ 10 ] QCLของBernhard Ömer [ 13 ] : 61 และ Qiskit ของ IBM [ 29 ]มีการผกผันฟังก์ชันเป็นแนวคิดการเขียนโปรแกรม

การวัด

ภาพแสดงวงจรการวัด เส้นสองเส้นทางด้านขวามือแสดงถึงบิตแบบคลาสสิก และเส้นเส้นเดียวทางด้านซ้ายมือแสดงถึงคิวบิต

การวัด (บางครั้งเรียกว่าการสังเกต ) นั้นไม่สามารถย้อนกลับได้ ดังนั้นจึงไม่ใช่เกตควอนตัม เพราะมันกำหนดสถานะควอนตัมที่สังเกตได้ให้กับค่าเดียว การวัดจะนำสถานะควอนตัมและฉายภาพไปยังเวกเตอร์ฐานตัว ใดตัวหนึ่ง โดยมีความน่าจะเป็นเท่ากับกำลังสองของความยาวของเวกเตอร์ (ในนอร์ม 2 [ 4 ] : 66 [ 5 ] : 56, 65 ) ตามเวกเตอร์ฐานนั้น[ 1 ] : 15–17 [ 30 ] [ 31 ] [ 32 ]สิ่งนี้เรียกว่ากฎของบอร์นและปรากฏ[ e ]เป็นการ ดำเนินการ แบบสุ่มที่ไม่สามารถย้อนกลับได้ เนื่องจากมันกำหนดสถานะควอนตัมให้เท่ากับเวกเตอร์ฐานที่แสดงถึงสถานะที่วัดได้โดยใช้ความน่าจะเป็น ณ ขณะที่ทำการวัด สถานะจะ " ยุบตัว " ไปสู่ค่าเดียวที่แน่นอนซึ่งวัดได้ เหตุใดและอย่างไร หรือแม้กระทั่งว่า[ 33 ] [ 34 ]สถานะควอนตัมจะยุบตัวลงเมื่อทำการวัด เรียกว่าปัญหาการวัด

ความน่าจะเป็นของการวัดค่าด้วยแอมพลิจูดความ น่าจะ เป็น คือโดยที่คือค่าสัมบูรณ์

การวัดคิวบิตเดี่ยว ซึ่งสถานะควอนตัมแสดงด้วยเวกเตอร์จะได้ผลลัพธ์เป็นด้วยความน่าจะเป็นและ ผลลัพธ์ เป็นด้วยความน่าจะเป็น

ตัวอย่างเช่น การวัดคิวบิตด้วยสถานะควอนตัมจะให้ผลลัพธ์เป็น หรือ ด้วยความน่าจะเป็นเท่ากัน

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

สถานะควอนตัมที่ครอบคลุมnคิวบิต สามารถเขียนได้ในรูปเวกเตอร์ใน มิติ เชิงซ้อน : .เนื่องจากผลคูณเทนเซอร์ของnคิวบิต เป็นเวกเตอร์ในมิติ ด้วยวิธีนี้รีจิสเตอร์ของnคิวบิต สามารถวัดได้เป็นสถานะที่แตกต่างกัน คล้ายกับที่รีจิสเตอร์ของn บิตแบบคลาสสิกสามารถเก็บสถานะที่แตกต่างกันได้ แต่แตกต่างจากบิตของคอมพิวเตอร์แบบคลาสสิก สถานะควอนตัมสามารถมีแอมพลิจูดความน่าจะเป็นที่ไม่เป็นศูนย์ในหลายค่าที่วัดได้พร้อมกัน ซึ่งเรียกว่าการซ้อนทับ (superposition )

ผลรวมของความน่าจะเป็นทั้งหมดสำหรับผลลัพธ์ทั้งหมดจะต้องเท่ากับเสมอ1. [ f ]อีกวิธีหนึ่งที่จะกล่าวเช่นนี้คือทฤษฎีบทพีทาโกรัสที่ขยายความทั่วไปไปสู่​​มีว่าสถานะควอนตัมทั้งหมดที่มีnคิวบิตต้องสอดคล้องกับ[ g ]โดยที่คือแอมพลิจูดความน่าจะเป็นสำหรับสถานะที่วัดได้การตีความทางเรขาคณิตของสิ่งนี้คือพื้นที่ค่า ที่เป็นไปได้ ของสถานะควอนตัมที่มีnคิวบิต คือพื้นผิวของทรงกลมหน่วยในและการแปลงเอกภาพ (เช่น เกตตรรกะควอนตัม) ที่ใช้กับมันคือการหมุนบนทรงกลม การหมุนที่เกตดำเนินการก่อให้เกิดกลุ่มสมมาตรU(2n )การ วัดจึงเป็นการฉายภาพความน่าจะเป็นของจุดบนพื้นผิวของทรงกลม เชิงซ้อนนี้ลงบนเวกเตอร์ฐานที่ครอบคลุมพื้นที่ (และติดป้ายกำกับผลลัพธ์)

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

การเลือกเวกเตอร์ฐานที่จะใช้วัดสถานะควอนตัมจะมีผลต่อผลลัพธ์ของการวัด[ 1 ] : 30–35 [ 4 ] : 22, 84–85, 185–188 [ 35 ]ดู รายละเอียดเพิ่มเติมเกี่ยวกับ การเปลี่ยนฐานและเอนโทรปีของ Von Neumannในบทความนี้ เราใช้ฐานการคำนวณ เสมอ ซึ่งหมายความว่าเราได้กำหนดป้ายกำกับเวกเตอร์ฐานของรีจิสเตอร์n -qubit หรือใช้การแสดงแทนแบบไบนารี

ในกลศาสตร์ควอนตัมเวกเตอร์ฐานประกอบกันเป็นฐานตั้งฉากปกติ (orthonormal basis )

ตัวอย่างหนึ่งของการใช้ฐานการวัดทางเลือกคือในรหัสลับ BB84

ผลกระทบของการวัดต่อสถานะพันกัน

เก ต Hadamard - CNOTซึ่งเมื่อได้รับอินพุตแล้วจะสร้างสถานะ Bell ขึ้นมา

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

การรวมกันของ Hadamard-CNOT มีผลต่อสถานะศูนย์ดังต่อไปนี้:

สถานะเบลล์ในข้อความคือสถานะที่และดังนั้นจึงสามารถอธิบายได้ด้วยระนาบที่เกิดจากเวกเตอร์ฐานและดังในภาพทรงกลมหน่วย(ใน)ที่แสดงถึงปริภูมิค่า ที่เป็นไปได้ ของระบบ 2 คิวบิตตัดกับระนาบและวางอยู่บนพื้นผิวของทรงกลมหน่วย เนื่องจากจึงมีความน่าจะเป็นเท่ากันในการวัดสถานะนี้ให้ได้หรือและเนื่องจากมีความน่าจะเป็นเป็นศูนย์ในการวัดให้ได้หรือ

สถานะที่เกิดขึ้นนี้คือสถานะเบลล์ไม่สามารถอธิบายได้ว่าเป็นผลคูณเทนเซอร์ของคิวบิตสองตัว ไม่มีคำตอบสำหรับ

เพราะตัวอย่างเช่นw จะต้องมี ค่า ทั้งไม่เป็นศูนย์และเป็นศูนย์ในกรณีของxwและyw

สถานะควอนตัมครอบคลุมคิวบิตทั้งสองตัว นี่เรียกว่าการพัวพัน (entanglement ) การวัดคิวบิตตัวใดตัวหนึ่งจากสองตัวที่ประกอบกันเป็นสถานะเบลล์นี้ จะส่งผลให้คิวบิตอีกตัวหนึ่งต้องมีค่าเดียวกันตามหลักตรรกะ กล่าวคือทั้งสองตัวต้องมีค่าเหมือนกัน ไม่ว่าจะเป็นสถานะหรือสถานะหากเราวัดคิวบิตตัวใดตัวหนึ่งได้ค่าเป็น ตัวอย่างเช่นคิวบิตอีกตัวหนึ่งก็ต้องมีค่าเป็น เช่นกันเพราะสถานะรวม ของทั้งสองตัวกลายเป็น การวัดคิวบิตตัวใดตัวหนึ่งจะทำให้สถานะควอนตั ทั้งหมดที่ครอบคลุมคิวบิตทั้งสองตัวนั้น ยุบ ตัว ลง

สถานะGHZเป็นสถานะควอนตัมพันกันที่คล้ายคลึงกัน ซึ่งครอบคลุมคิวบิตสามตัวขึ้นไป

การกำหนดค่าประเภทนี้เกิดขึ้นทันทีในระยะทางใดๆ และได้รับการยืนยันจากการทดลองโดย QUESSในปี 2018 สำหรับระยะทางสูงสุดถึง 1200 กิโลเมตร[ 36 ] [ 37 ] [ 38 ]ปรากฏการณ์ที่ดูเหมือนจะเกิดขึ้นทันทีเมื่อเทียบกับเวลาที่ใช้ในการเดินทางข้ามระยะทางที่แยกคิวบิตด้วยความเร็วแสงเรียกว่าปรากฏการณ์ EPRและเป็นคำถามที่ยังเปิดอยู่ในฟิสิกส์ว่าจะแก้ไขปัญหานี้ได้อย่างไร เดิมทีปัญหานี้ได้รับการแก้ไขโดยการละทิ้งสมมติฐานของความเป็นจริงเฉพาะที่แต่ ก็มี การตีความ อื่นๆ เกิดขึ้นเช่นกัน สำหรับข้อมูลเพิ่มเติม โปรดดูการทดลองทดสอบของเบลล์ทฤษฎีบทการสื่อสารไม่ได้ พิสูจน์ว่าปรากฏการณ์นี้ไม่สามารถใช้สำหรับการสื่อสาร ข้อมูลคลาสสิกที่เร็วกว่าแสงได้

การวัดค่าบนรีจิสเตอร์ที่มีคิวบิตพันกันเป็นคู่ๆ

ผลของการแปลงเอกภาพ F ต่อรีจิสเตอร์ A ซึ่งอยู่ในสถานะซ้อนทับและพันกันเป็นคู่กับรีจิสเตอร์ B โดยที่nคือ 3 (แต่ละรีจิสเตอร์มี 3 คิวบิต)

พิจารณารีจิสเตอร์ A ที่มี คิวบิต nตัวซึ่งเริ่มต้นด้วยค่าและป้อนค่าผ่าน เก Hadamard แบบขนานรีจิสเตอร์ A จะเข้าสู่สถานะที่มีความน่าจะเป็นเท่ากันของ เมื่อวัดค่า ให้เป็น ในสถานะใดๆ ก็ตามที่เป็นไปได้พิจารณารีจิสเตอร์ B ตัวที่สอง ซึ่งมี คิวบิต nตัวที่เริ่มต้นด้วยค่า เช่นกันและทำการCNOTคิวบิตของรีจิสเตอร์ B กับคิวบิตในรีจิสเตอร์ A แบบจับคู่กัน โดยที่สำหรับแต่ละpคิวบิตและ จะก่อให้ เกิดสถานะ

ถ้าเราวัดคิวบิตในรีจิสเตอร์ A ในตอนนี้ จะพบว่ารีจิสเตอร์ B มีค่าเดียวกันกับ A แต่ถ้าเราใช้เกตตรรกะควอนตัมFกับ A แล้ววัดค่าอีกครั้ง จะได้ว่า โดยที่คือตัวผกผันเอกภาพของF

เนื่องจากลักษณะการทำงานของตัวผกผันเอกภาพของเกตตัวอย่างเช่น สมมติว่าแล้ว

ความเท่าเทียมกันนี้จะเป็นจริงไม่ว่าการวัดจะดำเนินการในลำดับใด (บนรีจิสเตอร์ A หรือ B) โดยสมมติว่าFทำงานเสร็จสมบูรณ์แล้ว การวัดยังสามารถสลับกันแบบสุ่มและพร้อมกันได้ทีละคิวบิต เนื่องจาก1 การกำหนดค่าการวัดของคิวบิตหนึ่งจะจำกัดพื้นที่ค่าที่เป็นไปได้จากคิวบิตที่พันกันอื่นๆ

แม้ว่าความเท่าเทียมกันจะเป็นจริง แต่ความน่าจะเป็นในการวัดผลลัพธ์ที่เป็นไปได้อาจเปลี่ยนแปลงไปอันเป็นผลมาจากการใช้Fซึ่งอาจเป็นเจตนาในอัลกอริธึมการค้นหาควอนตัม

ผลของการแบ่งปันค่าผ่านการพันกันนี้ใช้ในอัลกอริทึมของ Shor การประมาณเฟสและการนับควอนตัมการใช้การแปลงฟูริเยร์เพื่อขยายแอมพลิจูดความน่าจะเป็นของสถานะคำตอบสำหรับปัญหา บางอย่าง เป็นวิธีการทั่วไปที่เรียกว่า " การตกปลาฟูริเยร์ " [ 39 ]

การสังเคราะห์ฟังก์ชันตรรกะ

ตัวบวกเต็มควอนตัมที่เฟย์นแมนเสนอในปี 1986 [ 3 ]ประกอบด้วย เกต ToffoliและCNOT เท่านั้น เกตที่ล้อมรอบด้วยสี่เหลี่ยมจุดไข่ปลาในภาพนี้สามารถละเว้นได้หากไม่จำเป็นต้องคำนวณใหม่เพื่อคืนค่าเอาต์พุต B

ฟังก์ชันและรูทีนที่ใช้เฉพาะเกตสามารถอธิบายได้ว่าเป็นเมทริกซ์เช่นเดียวกับเกตขนาดเล็กกว่า เมทริกซ์ที่แสดงถึงฟังก์ชันควอนตัมที่กระทำต่อคิวบิตจะมีขนาดตัวอย่างเช่น ฟังก์ชันที่กระทำต่อ "คิวไบต์" ( รีจิสเตอร์ของ 8 คิวบิต) จะถูกแทนด้วยเมทริกซ์ที่มีองค์ประกอบ

การแปลงแบบเอกภาพที่ไม่ได้อยู่ในเซตของเกตที่มีอยู่ตามธรรมชาติในคอมพิวเตอร์ควอนตัม (เกตดั้งเดิม) สามารถสังเคราะห์หรือประมาณได้โดยการรวมเกตดั้งเดิมที่มีอยู่เข้าด้วยกันในวงจรวิธีหนึ่งในการทำเช่นนี้คือการแยกตัวประกอบเมทริกซ์ที่เข้ารหัสการแปลงแบบเอกภาพออกเป็นผลคูณของผลคูณเทนเซอร์ (เช่น วงจร อนุกรมและขนาน ) ของเกตดั้งเดิมที่มีอยู่กลุ่มU(2 q )เป็นกลุ่มสมมาตรสำหรับเกตที่กระทำกับคิวบิต[ 2 ]การแยกตัวประกอบจึงเป็นปัญหาของการค้นหาเส้นทางใน U(2 q ) จากเซตตัวสร้างของเกตดั้งเดิมทฤษฎีบท Solovay–Kitaevแสดงให้เห็นว่าเมื่อมีเซตของเกตดั้งเดิมที่เพียงพอ จะมีค่าประมาณที่มีประสิทธิภาพสำหรับเกตใดๆ สำหรับกรณีทั่วไปที่มีจำนวนคิวบิตมาก วิธีการโดยตรงนี้ในการสังเคราะห์วงจรทำได้ยาก[ 40 ] [ 41 ]สิ่งนี้จำกัดขนาดของฟังก์ชันที่สามารถแยกตัวประกอบแบบใช้กำลังทั้งหมดเป็นเกตควอนตัมแบบดั้งเดิมได้ โดยทั่วไปแล้วโปรแกรมควอนตัมจะถูกสร้างขึ้นโดยใช้ฟังก์ชันควอนตัมที่ค่อนข้างเล็กและเรียบง่าย คล้ายกับการเขียนโปรแกรมแบบคลาสสิกทั่วไป

เนื่องจาก ลักษณะ เอกภาพ ของเกต ฟังก์ชันทั้งหมดจะต้องสามารถย้อนกลับได้และเป็นการ แมปแบบ หนึ่งต่อหนึ่งจากอินพุตไปยังเอาต์พุตเสมอ จะต้องมีฟังก์ชันอยู่เสมอที่ทำให้ฟังก์ชันที่ไม่สามารถย้อนกลับได้สามารถทำให้ย้อนกลับได้โดยการเพิ่มคิวบิตเสริมเข้าไปในอินพุตหรือเอาต์พุต หรือทั้งสองอย่าง หลังจากที่ฟังก์ชันทำงานเสร็จสมบูรณ์แล้ว คิวบิตเสริมสามารถยกเลิกการคำนวณหรือปล่อยไว้โดยไม่แตะต้อง การวัดหรือการยุบสถานะควอนตัมของคิวบิตเสริม (เช่น โดยการกำหนดค่าเริ่มต้นใหม่ หรือโดยการลดความสอดคล้อง โดยธรรมชาติ ) ที่ยังไม่ได้ยกเลิกการคำนวณอาจทำให้เกิดข้อผิดพลาด[ 42 ] [ 43 ]เนื่องจากสถานะของพวกมันอาจพันกันกับคิวบิตที่ยังคงใช้ในการคำนวณอยู่

การดำเนินการที่ไม่สามารถย้อนกลับได้ในเชิงตรรกะ เช่น การบวกโมดูลัสของรีจิสเตอร์ควอนตัมบิตสองตัวaและb สามารถทำให้ย้อนกลับได้ในเชิงตรรกะโดยการเพิ่มข้อมูลลงในเอาต์พุต เพื่อให้สามารถคำนวณอินพุตจากเอาต์พุตได้ (กล่าวคือ มีฟังก์ชันอยู่)ในตัวอย่างของเรา สามารถทำได้โดยการส่งต่อรีจิสเตอร์อินพุตตัวใดตัวหนึ่งไปยังเอาต์พุต: จากนั้นสามารถใช้เอาต์พุตเพื่อคำนวณอินพุตได้ (กล่าวคือ เมื่อกำหนดเอาต์พุตและเราสามารถหาอินพุตได้อย่างง่ายดาย; กำหนดให้ และ)และฟังก์ชันจะเป็นฟังก์ชันหนึ่งต่อหนึ่งทั่วถึง

นิพจน์ พีชคณิตบูลีนทั้งหมดสามารถเข้ารหัสเป็นทรานส์ฟอร์มเอกภาพ (เกตตรรกะควอนตัม) ได้ ตัวอย่างเช่น โดยการใช้การรวมกันของ เกต Pauli-X , CNOTและToffoliเกตเหล่านี้มีความสมบูรณ์ในเชิงฟังก์ชันในโดเมนตรรกะบูลีน

มีการแปลงเอกภาพจำนวนมากในไลบรารีของQ# , QCL , Qiskitและ ภาษา การเขียนโปรแกรมควอนตัม อื่นๆ นอกจากนี้ยังปรากฏในเอกสาร[ 44 ] [ 45 ]

ตัวอย่างเช่นโดยที่คือจำนวนคิวบิตที่ประกอบเป็นรีจิสเตอร์จะถูกนำไปใช้ใน QCL ดังต่อไปนี้: [ 46 ] [ 13 ] [ 12 ]

cond qufunct inc ( qureg x ) { // เพิ่มค่าในรีจิสเตอร์int i ; for i = # x - 1 to 0 step - 1 { CNot ( x [ i ], x [ 0 :: i ]); // ใช้การควบคุม-not จาก} // บิตที่มีค่ามากที่สุดไปยังบิตที่มีค่าน้อยที่สุด}
วงจรที่สร้างขึ้น เมื่อสัญลักษณ์, และแทนXOR , ANDและNOTตามลำดับ และมาจากการแสดงแบบบูลีนของ Pauli- Xที่มีคิวบิตควบคุมศูนย์ตัวขึ้นไป เมื่อนำไปใช้กับสถานะที่อยู่ในฐานการคำนวณ

ใน QCL การลดค่าจะทำโดยการ "ยกเลิก" การเพิ่มค่า คำนำหน้า!ใช้เพื่อเรียกใช้ ฟังก์ชัน ผกผันแบบเอกภาพของฟังก์ชัน แทน !inc(x)คือฟังก์ชันผกผันของ และจะทำการ ดำเนินinc(x)การแทนคำหลักหมายความว่าฟังก์ชันสามารถมีเงื่อนไขได้[ 11 ]cond

ในแบบจำลองการคำนวณที่ใช้ในบทความนี้ ( แบบจำลอง วงจรควอนตัม ) คอมพิวเตอร์แบบคลาสสิกจะสร้างองค์ประกอบเกตสำหรับคอมพิวเตอร์ควอนตัม และคอมพิวเตอร์ควอนตัมจะทำหน้าที่เป็นโคโปรเซสเซอร์ที่รับคำสั่งจากคอมพิวเตอร์แบบคลาสสิกเกี่ยวกับเกตพื้นฐานที่จะนำไปใช้กับคิวบิตใด[ 13 ] : 36–43 [ 14 ]การวัดรีจิสเตอร์ควอนตัมส่งผลให้ได้ค่าไบนารีที่คอมพิวเตอร์แบบคลาสสิกสามารถใช้ในการคำนวณได้อัลกอริทึมควอนตัมมักประกอบด้วยทั้งส่วนคลาสสิกและส่วนควอนตัม การรับส่งข้อมูลแบบไม่วัด(การส่งคิวบิตไปยังคอมพิวเตอร์ระยะไกลโดยไม่ทำให้สถานะควอนตัมของพวกมันยุบตัว) สามารถใช้เพื่อสร้างเครือข่ายของคอมพิวเตอร์ควอนตัมได้จากนั้นสามารถใช้การสลับการพัวพัน เพื่อสร้าง อัลกอริทึมแบบกระจายด้วยคอมพิวเตอร์ควอนตัมที่ไม่ได้เชื่อมต่อกันโดยตรง ตัวอย่างของอัลกอริธึมแบบกระจายที่ต้องการใช้เพียงเกตตรรกะควอนตัมจำนวนเล็กน้อย ได้แก่การเข้ารหัสความหนาแน่นสูงพิเศษ (superdense coding) ข้อตกลงไบแซนไทน์ควอนตัม ( quantum Byzantine agreement ) และ โปรโตคอลการแลกเปลี่ยนรหัสลับ BB84 (BB84 cipherkey exchange protocol )

ดูเพิ่มเติม

หมายเหตุ

  1. ^การคูณเมทริกซ์ของเกตควอนตัมถูกนิยามว่าเป็นวงจรอนุกรม
  2. ^หมายเหตุ การหมุนรอบทรงกลม Bloch ครบหนึ่งรอบในที่นี้มีหน่วยเป็นเรเดียน ซึ่งแตกต่างจากเกตตัวดำเนินการหมุนที่การหมุนครบหนึ่งรอบมีหน่วยเป็น
  3. ^สามารถใช้เกต Pหรือ Phก็ได้ ดังที่ [ 2 ] : 11 [ 1 ] : 76–83
  4. ^เซตนี้สร้างเกตเอกภาพที่เป็นไปได้ทั้งหมดอย่างแม่นยำ อย่างไรก็ตาม เนื่องจากเฟสโดยรวมไม่เกี่ยวข้องกับผลลัพธ์การวัด จึงสามารถสร้างเซตย่อยควอนตัมสากลได้ เช่น เซตที่ประกอบด้วย R y ( θ ) , R z ( θ )และ CNOT ครอบคลุมเฉพาะเกตเอกภาพที่มีดีเทอร์มิแนนต์ ±1 เท่านั้น แต่ก็เพียงพอสำหรับการคำนวณควอนตัม
  5. ^ a bว่านี่เป็น ผล แบบสุ่ม จริงหรือไม่ นั้น ขึ้นอยู่กับการตีความกลศาสตร์ควอนตัมที่ถูกต้อง (และหากมีการตีความใดที่ถูกต้องได้) ตัวอย่างเช่นทฤษฎีของเดอ บรอยล์-โบห์มและการตีความแบบหลายโลกยืนยันว่าผลลัพธ์เป็นแบบกำหนดได้ (ในการตีความแบบหลายโลก คอมพิวเตอร์ควอนตัมเป็นเครื่องจักรที่ทำงานตามโปรแกรม ( วงจรควอนตัม ) ที่เลือกความเป็นจริงที่ความน่าจะเป็นที่จะมีสถานะคำตอบของปัญหาสูง นั่นคือ เครื่องจักรมักจะจบลงในความเป็นจริงที่ให้คำตอบที่ถูกต้อง เนื่องจาก ผลลัพธ์ ทั้งหมด เกิดขึ้นในจักรวาลที่แยกจากกันตามการตีความแบบหลายโลก ผลลัพธ์โดยรวมจึงเป็นแบบกำหนดได้ อย่างไรก็ตาม การตีความนี้ไม่ได้เปลี่ยนแปลงกลไกการทำงานของเครื่องจักร)
  6. ^ดูสัจพจน์ความน่าจะเป็น § สัจพจน์ข้อที่สอง
  7. ด้านตรงข้ามมุมฉากมีความยาว 1 เนื่องจากผลรวมของความน่าจะเป็นเท่ากับ 1 ดังนั้นเวกเตอร์สถานะควอนตัมจึงเป็นเตอร์หน่วย
  8. ^ข้อมูลนำเข้าคือคิวบิต แต่ข้อมูลส่งออกก็คือคิวบิตเช่นกัน การลบข้อมูลไม่ใช่การดำเนินการที่ย้อนกลับได้ (หรือแบบเอกภาพ ) ดังนั้นจึงไม่ได้รับอนุญาต โปรดดูหลักการของแลนเดาเออร์เพิ่มเติม
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Quantum_logic_gate&oldid=1360599686 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ประตูตรรกะควอนตัม

ในการคำนวณควอนตัมและโดยเฉพาะอย่างยิ่งในแบบจำลองวงจรควอนตัม เกตตรรกะควอนตัม (หรือเรียกสั้น ๆ ว่าเกตควอนตัม ) คือวงจรควอนตัมพื้นฐานที่ทำงานบน...

ประวัติศาสตร์

สัญลักษณ์ปัจจุบันสำหรับเกตควอนตัมได้รับการพัฒนาโดยผู้ก่อตั้ง วิทยาศาสตร์ข้อมูลควอนตัม หลายคน รวมถึง Adriano Barenco, Charles Bennett , Richard Cleve , David P. DiVincenzo , Norman Margolus , Peter Shor , Tycho Sleator, John A.

การเป็นตัวแทน

เกตตรรกะควอนตัมแสดงด้วย เมทริกซ์เอกภาพ เกตที่ทำงานกับ คิวบิต (รี จิสเตอร์ ) จะแสดงด้วยเมทริกซ์เอกภาพ และ เซต ของเกตทั้งหมดดังกล่าวที่มีการดำเนินการกลุ่มของ การคูณเมทริกซ์ [ a ] คือ กลุ่มเอกภาพ U(2n ) [ 2 ] สถานะ ค วอนตัม ที่เกตทำงานด้วยคือ เวกเตอร์หน่วย ใน...

ความสัมพันธ์กับตัวดำเนินการวิวัฒนาการเวลา

สม การชโรดิงเกอร์ อธิบายว่าระบบควอนตัมที่ไม่ สามารถสังเกตได้ นั้น วิวัฒนาการไปตามเวลาอย่างไร และเมื่อระบบอยู่ในสภาพแวดล้อมที่เสถียร ดังนั้นจึงมี แฮมิลโท เนียนคง ที่ คำตอบของสมการนี้คือ [ 1 ] : 24–25 หากเวลาคงที่เสมอ อาจละเว้นได้เพื่อความง่าย...