การทำ Diagonalization ควอนตัมแบบอิงตัวอย่างของ Hamiltonian ทางเคมี
ประมาณการการใช้งาน: น้อยกว่าหนึ่งนาทีบนโปรเซสเซอร์ Heron r2 (หมายเหตุ: นี่เป็นการประมาณการเท่านั้น รันไทม์จริงอาจแตกต่างกัน)
พื้นฐาน
ในบทแนะนำนี้ เราจะแสดงวิธีการ post-process ตัวอย่างควอนตัมที่มีสัญญาณรบกวนเพื่อหาค่าประมาณของ ground state ของโมเลกุลไนโตรเจน ที่ความยาวพันธะสมดุล โดยใช้อัลกอริทึม sample-based quantum diagonalization (SQD) สำหรับตัวอย่างที่นำมาจาก Circuit ควอนตัม 59 Qubit (52 system Qubit + 7 ancilla Qubit) การใช้งาน SQD บน Qiskit มีให้ใน SQD Qiskit addons ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบ พร้อมตัวอย่างง่าย ๆ สำหรับเริ่มต้น
SQD เป็นเทคนิคสำหรับหา eigenvalue และ eigenvector ของ operator ควอนตัม เช่น Hamiltonian ของระบบควอนตัม โดยใช้การประมวลผลควอนตัมและคลาสสิกแบบกระจายร่วมกัน การประมวลผลคลาสสิกแบบกระจายถูกใช้เพื่อประมวลผลตัวอย่างที่ได้จากโปรเซสเซอร์ควอนตัม และเพื่อ project และ diagonalize Hamiltonian เป้าหมายในซับสเปซที่ถูก span โดยตัวอย่างเหล่านั้น ซึ่งทำให้ SQD มีความทนทานต่อตัวอย่างที่ถูกรบกวนโดยสัญญาณรบกวนควอนตัม และสามารถรองรับ Hamiltonian ขนาดใหญ่ เช่น Hamiltonian ทางเคมีที่มีเทอมการโต้ตอบหลายล้านเทอม ซึ่งอยู่นอกเหนือขีดความสามารถของวิธี diagonalization แบบแน่นอนใด ๆ ขั้นตอนการทำงานของ SQD มีดังนี้:
- เลือก circuit ansatz และนำไปใช้กับคอมพิวเตอร์ควอนตัมบน reference state (ในกรณีนี้คือสถานะHartree-Fock)
- สุ่ม bitstring จากสถานะควอนตัมที่ได้
- รันกระบวนการ self-consistent configuration recovery บน bitstring เพื่อหาค่าประมาณของ ground state
SQD เป็นที่ทราบกันว่าทำงานได้ดีเมื่อ eigenstate เป้าหมายมีความ sparse นั่นคือ wave function ถูก support ในชุดของ basis state ที่มีขนาดไม่เพิ่มขึ้นแบบเอกซ์โปเนนเชียลตามขนาดของปัญหา
เคมีควอนตัม
คุณสมบัติของโมเลกุลส่วนใหญ่ถูกกำหนดโดยโครงสร้างของอิเล็กตรอนภายใน ในฐานะอนุภาคเฟอร์มิออน อิเล็กตรอนสามารถอธิบายได้ด้วยรูปแบบทางคณิตศาสตร์ที่เรียกว่า second quantization แนวคิดคือมี orbital จำนวนหนึ่ง ซึ่งแต่ละ orbital สามารถว่างเปล่าหรือถูกครอบครองโดยเฟอร์มิออน ระบบที่มี orbital อธิบายด้วยชุดของ fermionic annihilation operator ที่ตอบสนองความสัมพันธ์ anticommutation ของเฟอร์มิออน:
adjoint เรียกว่า creation operator
จนถึงตรงนี้ การอธิบายของเรายังไม่ได้คำนึงถึง spin ซึ่งเป็นคุณสมบัติพื้นฐานของเฟอร์มิออน เมื่อคำนึงถึง spin แล้ว orbital จะมาเป็นคู่ที่เรียกว่า spatial orbital แต่ละ spatial orbital ประกอบด้วย spin orbital สองอัน ได้แก่ อันที่ถูกระบุว่า "spin-" และอีกอันที่ถูกระบุว่า "spin-" จากนั้นเราเขียน สำหรับ annihilation operator ที่เกี่ยวข้องกับ spin orbital ที่มี spin () ใน spatial orbital ถ้าเราให้ เป็นจำนวน spatial orbital ก็จะมี spin orbital รวมทั้งหมด อัน Hilbert space ของระบบนี้ถูก span โดย basis vector ออร์โธนอร์มัลที่ถูกระบุด้วย bitstring สองส่วน
Hamiltonian ของระบบโมเลกุลสามารถเขียนได้เป็น
โดยที่ และ คือจำนวนเชิงซ้อนที่เรียกว่า molecular integral ซึ่งสามารถคำนวณได้จากข้อมูลจำเพาะของโมเลกุลโดยใช้โปรแกรมคอมพิวเตอร์ ในบทแนะนำนี้ เราคำนวณ integral โดยใช้แพ็กเกจซอฟต์แวร์ PySCF
สำหรับรายละเอียดเกี่ยวกับวิธีการได้มาซึ่ง Hamiltonian ของโมเลกุล ให้ดูในตำราเรียนเคมีควอนตัม (เช่น Modern Quantum Chemistry โดย Szabo และ Ostlund) สำหรับคำอธิบายระดับสูงเกี่ยวกับการ map ปัญหาเคมีควอนตัมไปยังคอมพิวเตอร์ควอนตัม ดูการบรรยาย Mapping Problems to Qubits จาก Qiskit Global Summer School 2024
Local unitary cluster Jastrow (LUCJ) ansatz
SQD ต้องการ circuit ansatz ควอนตัมเพื่อดึงตัวอย่าง ในบทแนะนำนี้ เราจะใช้ local unitary cluster Jastrow (LUCJ) ansatz เนื่องจากการผสมผสานระหว่างแรงจูงใจทางฟิสิกส์และความเป็นมิตรกับฮาร์ดแวร์
LUCJ ansatz เป็นรูปแบบเฉพาะของ unitary cluster Jastrow (UCJ) ansatz แบบทั่วไป ซึ่งมีรูปแบบ
โดยที่ คือ reference state ซึ่งมักถูกเลือกให้เป็นสถานะ Hartree-Fock และ กับ มีรูปแบบ
โดยที่เราได้นิยาม number operator ว่า
operator คือการหมุน orbital ซึ่งสามารถทำได้โดยใช้อัลกอริทึมที่รู้จักกันในความลึกเชิงเส้นและใช้การเชื่อมต่อเชิงเส้น การใช้งานเทอม ของ UCJ ansatz ต้องการการเชื่อมต่อแบบ all-to-all หรือการใช้ fermionic swap network ซึ่งทำให้ยากสำหรับโปรเซสเซอร์ควอนตัมแบบ pre-fault-tolerant ที่มีการเชื่อมต่อจำกัด แนวคิดของ local UCJ ansatz คือการกำหนดข้อจำกัดด้านความ sparse บนเมทริกซ์