Sample-based quantum diagonalization (SQD)
แพ็กเกจนี้ implement sample-based quantum diagonalization (SQD) — เทคนิคสำหรับหาค่าเฉพาะและเวกเตอร์เฉพาะของตัวดำเนินการควอนตัม เช่นแฮมิลโทเนียนของระบบควอนตัม [1–6] สามารถใช้กับแฮมิลโทเนียนที่แสดงเป็นผลรวมเชิงเส้นของตัวดำเนินการ Pauli หรือตัวดำเนินการเฟอร์มิออนแบบ second-quantized เวิร์กโฟลว์ที่ใช้ SQD รันบนคอมพิวเตอร์ควอนตัมปัจจุบันได้ และได้แสดงให้เห็นว่าขยายขนาดไปถึงขนาดปัญหาที่เกินกว่าวิธี variational จะทำได้ — และแม้แต่เกินขอบเขตของวิธี diagonalization แบบคลาสสิกที่แน่นอน
เวิร์กโฟลว์ที่ใช้ SQD เริ่มจากเตรียมสถานะควอนตัมหนึ่งสถานะหรือมากกว่าบนอุปกรณ์ควอนตัมและสุ่มตัวอย่างจากสถานะเหล่านั้น จากนั้นใช้การประมวลผลแบบกระจายคลาสสิกเพื่อประมวลผลตัวอย่างที่มีสัญญาณรบกวนเหล่านั้น การประมวลผลนี้เกิดขึ้นซ้ำ ๆ ในสองขั้นตอน: ขั้นแรก ขั้นตอนการกู้คืนคอนฟิกูเรชันแก้ไขตัวอย่างที่มีสัญญาณรบกวนโดยใช้ข้อมูลเกี่ยวกับปัญหาอินพุต ขั้นที่สอง แฮมิลโทเนียนถูกโปรเจกต์และทำ diagonalization ในปริภูมิย่อยที่ขึงด้วยตัวอย่างเหล่านั้น ขั้นตอนเหล่านี้ทำซ้ำอย่างสอดคล้องในตัวเองจนลู่เข้า ผลลัพธ์คือค่าเฉพาะต่ำสุด (พลังงาน) โดยประมาณและสถานะเฉพาะพลังงานต่ำสุดของแฮมิลโทเนียนที่กำหนด SQD ทนทานต่อตัวอย่างที่ถูกสัญญาณรบกวนควอนตัมทำให้เสียหาย; อันที่จริง ตราบใดที่ยังดึงสัญญาณที่มีประโยชน์ออกจากคอมพิวเตอร์ควอนตัมได้ ผลลัพธ์ของ SQD จะไม่ไวต่อบิตสตริงที่มีสัญญาณรบกวน
ในทางปฏิบัติ qiskit-addon-sqd สามารถใช้ประมวลผลตัวอย่างแบบคลาสสิกที่ได้จาก quantum circuit หลากหลายแบบ ตัวอย่างเช่น:
- variational circuit ansatz ที่เลือกพารามิเตอร์ให้การสุ่มตัวอย่าง circuit ได้คอนฟิกูเรชันอิเล็กตรอนที่ฟังก์ชันคลื่นเป้าหมาย (เช่น สถานะพื้น) มีตัวรองรับมีนัยสำคัญ วิธีนี้น่าสนใจสำหรับงานเคมีที่แฮมิลโทเนียนอาจมีพจน์อันตรกิริยาเป็นล้าน [1] สำหรับตัวอย่างของวิธีนี้ที่ใช้กับเคมีโดยใช้ LUCJ circuit ดูบทเรียนการประมาณพลังงานสถานะพื้นของโมเลกุล N2
- เซตของสถานะเบซิส Krylov ถูกเตรียมตามช่วงเวลาที่เพิ่มขึ้น หากมีสถานะเริ่มต้นที่ดีและสถานะพื้นเป็นแบบเบาบาง วิธีนี้พิสูจน์แล้วว่าลู่เข้าได้อย่างมีประสิทธิภาพ เนื่องจากต้องเตรียม circuit วิวัฒนาการตามเวลาแบบ Trotter บนอุปกรณ์ควอนตัม วิธีนี้จึงเหมาะที่สุดกับการประยุกต์ใช้กับแบบจำลองแลตทิซ [2] มากกว่าแฮมิลโทเนียนหลายวัตถุที่ซับซ้อนอย่างของเคมีควอนตัม สำหรับตัวอย่างของวิธีนี้ที่ใช้กับแฮมิลโทเนียนแลตทิซเฟอร์มิออน ดูบทเรียนการประมาณพลังงานสถานะพื้นของแบบจำลอง Anderson สิ่งเจือปนเดี่ยวอย่างง่าย
- เซตของสถานะเบซิส Krylov ที่ทำด้วยการคอมไพล์แบบสุ่ม qDRIFT ของตัวดำเนินการวิวัฒนาการตามเวลา วิธีนี้ให้ circuit ที่มีความลึกสั้นกว่าเมื่อเทียบกับการแยกส่วนวิวัฒนาการตามเวลาแบบ Trotter จึงใช้กับแฮมิลโทเนียนของเคมีควอนตัมได้ เทคนิคนี้ถูกนำไปใช้กับพลังงานสถานะพื้นของไฮโดรคาร์บอนอะโรมาติกหลายวง [6]
เริ่มต้นใช้งาน
คู่มืออย่างง่ายที่ช่วยให้คุณเริ่มต้นใช้งานแพ็กเกจนี้ได้อย่างรวดเร็วอยู่ในคู่มือ quickstart
ตัวอย่างกรณีการใช้งาน
เทคนิค sample-based quantum diagonalization ใช้ทำเวิร์กโฟลว์ได้หลากหลาย ตัวอย่างบางส่วนที่เคยใช้ ได้แก่:
-
การคำนวณโครงสร้างอิเล็กทรอนิกส์ของพลังงานสถานะพื้นของกลุ่มก้อนเหล็ก-กำมะถัน
-
การประมาณพลังงานสถานะพื้นเพื่อทำนายแบนด์แก๊ปของไดอิเล็กทริก
-
การประมาณสถานะกระตุ้นของโมเลกุลที่พลังงานต่ำ
-
การจำลองอันตรกิริยาระหว่างโมเลกุล
-
การศึกษาอันตรกิริยาตัวถูกละลาย-ตัวทำละลายในการจำลองโครงสร้างอิเล็กทรอนิกส์
-
การวิเคราะห์แบบ open-shell ของการแตกตัวของโมเลกุล
-
การสร้างแบบจำลองเส้นทางปฏิกิริยาสำหรับปัญหาโฟโตเคมี
-
การผสานกับ entanglement forging เพื่อศึกษาเส้นทางปฏิกิริยาของการเสื่อมสภาพของวัสดุผ่านการดึงไฮโดรเจน
-
การสร้างปริภูมิย่อยจากสถานะพื้นฐานของ quantum Krylov เพื่อจำลองสถานะพื้นของแบบจำลองสิ่งเจือปนสำหรับระบบเฟอร์มิออน
-
การใช้การคอมไพล์แบบสุ่ม qDRIFT เพื่อลดภาระในการสร้างสถานะพื้นฐานของ Krylov สำหรับแฮมิลโทเนียนทางเคมี และประยุกต์ใช้กับโมเลกุลที่มีโทโพโลยีอิเล็กทรอนิกส์แบบ half-Mobius
-
การใช้ SQD เป็นตัวแก้ในบริบทของวิธี embedding และ fragmentation สำหรับระบบโมเลกุล เช่น การคำนวณพลังงานของวงแหวนไฮโดรเจนและไซโคลเฮกเซนและของสารเชิงซ้อนโลหะสองและสามชนิด การศึกษาปฏิกิริยารีดักชันออกซิเจน การประมาณพลังงานของโปรตีนและสารเชิงซ้อนโปรตีน–ลิแกนด์ และการทำนายการเกิดสปีชีส์ของทริเทียม
การอภิปรายเชิงเทคนิค
ขนาดของระบบและความต้องการด้านการคำนวณ
ต้นทุนการคำนวณของ SQD ส่วนใหญ่อยู่ที่การเรียกตัวแก้ eigenstate ในแต่ละขั้นของการวนซ้ำ self-consistent configuration recovery จะมีการเรียกตัวแก้ eigenstate จำนวน n_batches ครั้ง การเรียกเหล่านี้ขนานกันได้อย่างสมบูรณ์ ในบทเรียนนี้ การเรียกเหล่านั้นอยู่ในลูป for ขอแนะนำอย่างยิ่งให้เรียกเหล่านี้แบบขนาน
ฟังก์ชัน qiskit_addon_sqd.fermion.solve_fermion() ทำงานแบบหลายเธรด และรองรับระบบที่มีออร์บิทัลเชิงพื้นที่ประมาณ 25 ตัวและอิเล็กตรอนประมาณ 10 ตัว โดยมีมิติของปริภูมิย่อยประมาณ ~$10^7$ ด้วยคอร์ประมาณ 10-30 คอร์
การเลือกมิติของปริภูมิย่อย
การเลือกมิติของปริภูมิย่อยมีผลต่อความแม่นยำและเวลารันของตัวแก้ eigenstate ปริภูมิย่อยยิ่งใหญ่ การคำนวณก็ยิ่งแม่นยำ แต่แลกกับเวลารันและหน่วยความจำที่ต้องใช้เพิ่มขึ้น ขนาดปริภูมิย่อยที่เหมาะสมที่สุดของระบบหนึ่ง ๆ ยังไม่เป็นที่ทราบ ดังนั้นจึงทำการศึกษาการลู่เข้าตามมิติของปริภูมิย่อยได้ ตามที่อธิบายในคู่มือนี้
การกำหนดขอบเขตมิติของปริภูมิย่อย
อาร์กิวเมนต์ samples_per_batch ของ qiskit_addon_sqd.fermion.diagonalize_fermionic_hamiltonian() กำหนดจำนวนบิตสตริงในแต่ละ batch จึงควบคุมมิติของปริภูมิย่อยทางอ้อม ในกรณีของงานเคมีควอนตัม ค่านี้เป็นขอบเขตบนของมิติของปริภูมิย่อย มิติที่เกิดขึ้นจริงขึ้นอยู่กับว่าบิตสตริงที่สุ่มได้มีกี่ตัวที่ไม่ซ้ำกัน และจะเพิ่มขึ้นตลอดการวนซ้ำ self-consistent configuration recovery จึงไม่สามารถรู้ล่วงหน้าได้ ดูตัวอย่างนี้สำหรับรายละเอียดเพิ่มเติม
อาร์กิวเมนต์ max_dim ของฟังก์ชันเดียวกันกำหนดขอบเขตมิติโดยตรง โดยจำกัดจำนวนสตริง CI ที่เก็บไว้ในแต่ละเซกเตอร์สปิน เนื่องจากปริภูมิย่อยถูกขยายด้วยผลคูณคาร์ทีเซียนของสองเซกเตอร์สปิน max_dim=d จึงจำกัดมิติของปริภูมิย่อยไว้ที่ d**2 ส่วนทูเพิล max_dim=(d_a, d_b) จำกัดเซกเตอร์สปินอัลฟาและสปินเบตาแยกกัน โดยจำกัดมิติของปริภูมิย่อยไว้ที่ d_a * d_b (เมื่อใช้ symmetrize_spin=True ขีดจำกัดทั้งสองต้องเท่ากัน) เมื่อ batch ให้สตริง CI มากกว่าที่ขีดจำกัดอนุญาต สตริงที่ร้องขอผ่าน include_configurations และสตริงที่ส่งต่อมาจากการวนซ้ำก่อนหน้าจะถูกเก็บไว้ก่อน และช่องที่เหลือจะเติมด้วยสตริงที่สุ่มได้บ่อยที่สุด เพราะ max_dim จำกัดขนาดของการทำ diagonalization ที่ใหญ่ที่สุดที่ตัวแก้ eigenstate จะถูกขอให้ทำ จึงเป็นวิธีที่สะดวกในการรักษาตัวแก้ให้อยู่ในงบเวลารันและหน่วยความจำ ดูคู่มือนี้สำหรับรายละเอียดเพิ่มเติม
ตัวแก้
ขั้นตอนการฉายและ diagonalization ทำโดยตัวแก้แบบคลาสสิก เรามีตัวแก้ทั่วไปสองตัวให้ที่นี่ ตัวหนึ่งสำหรับระบบเฟอร์มิออน และอีกตัวสำหรับระบบ qubit ผู้ใช้สามารถเชื่อมต่อกับตัวแก้อื่นที่อาจมีประสิทธิภาพมากกว่าสำหรับระบบเฉพาะได้
Trim SQD
SQD มาตรฐานจะ diagonalize แต่ละ batch ที่สุ่มย่อยอย่างอิสระและเก็บผลลัพธ์ที่ดีที่สุด ทำให้จำนวนคอนฟิกูเรชันที่พิจารณาได้ถูกจำกัดตามที่ปริภูมิย่อยหนึ่งที่รับไหวจะรองรับได้ ส่วน Trim SQD จะแบ่งบิตสตริงเป็น batch ทำ diagonalization ขั้นกลางของแต่ละ batch แล้วจึงทำ diagonalization ที่ใหญ่กว่าโดยใช้ determinant ที่มีน้ำหนักสูงสุดจากแต่ละส่วน วิธีนี้อิงจากงานวิจัยร่วมของ Cleveland Clinic Foundation, RIKEN และ IBM [7] และเปิดใช้ได้โดยส่งอ็อบเจกต์ TrimPolicy ให้กับฟังก์ชัน diagonalize_fermionic_hamiltonian()
การมีส่วนร่วม
ซอร์สโค้ดมีให้ใช้งานบน GitHub
คู่มือสำหรับนักพัฒนาอยู่ที่ CONTRIBUTING.md ในรูทของที่เก็บโค้ดของโปรเจกต์นี้ เมื่อเข้าร่วม คุณจะต้องปฏิบัติตามจรรยาบรรณของ Qiskit
เราใช้ GitHub issues เพื่อติดตามคำขอและบั๊ก
การอ้างอิงแพ็กเกจนี้
หากคุณใช้แพ็กเกจนี้ในงานวิจัย ให้ใช้ไฟล์ CITATION.bib ในที่เก็บโค้ดของโปรเจกต์นี้เพื่ออ้างอิงเอกสารที่เหมาะสม
กิตติกรรมประกาศ
แพ็กเกจนี้มีกลยุทธ์การสุ่มตัวอย่างแบบไม่บังคับภายในลูป self-consistent configuration recovery ที่ตัด determinant โดยอิงจากผลลัพธ์ diagonalization ขั้นกลาง การใช้งานอิงจากงานวิจัยร่วมของ Cleveland Clinic Foundation, RIKEN และ IBM หากคุณใช้ฟีเจอร์นี้ในงานวิจัย โปรดอ้างอิงบทความดังกล่าวด้วย ซึ่งหาได้ในไฟล์ CITATION.bib ด้วยคีย์อ้างอิง merz2026crossing คาดว่าการใช้งาน workflow เต็มรูปแบบจากบทความนั้นจะพร้อมให้ใช้บน GitHub ในเร็ว ๆ นี้
สัญญาอนุญาต
นโยบายการเลิกใช้
เราใช้ semantic versioning บางครั้งเราอาจทำการเปลี่ยนแปลงที่ไม่เข้ากันกับของเดิมเพื่อปรับปรุงประสบการณ์ของผู้ใช้ เมื่อเป็นไปได้ เราจะคงอินเทอร์เฟซเก่าไว้และทำเครื่องหมายว่าเลิกใช้ ตราบเท่าที่ยังอยู่ร่วมกับของใหม่ได้ การปรับปรุงที่สำคัญ การเปลี่ยนแปลงที่ไม่เข้ากันกับของเดิม หรือการเลิกใช้แต่ละรายการจะถูกบันทึกไว้ในบันทึกการออกรุ่น
เอกสารอ้างอิง
-
Javier Robledo-Moreno, et al., Chemistry Beyond Exact Solutions on a Quantum-Centric Supercomputer, arXiv:2405.05068 [quant-ph].
-
Jeffery Yu, et al., Quantum-Centric Algorithm for Sample-Based Krylov Diagonalization, arXiv:2501.09702 [quant-ph].
-
Keita Kanno, et al., Quantum-Selected Configuration Interaction: classical diagonalization of Hamiltonians in subspaces selected by quantum computers, arXiv:2302.11320 [quant-ph].
-
Kenji Sugisaki, et al., Hamiltonian simulation-based quantum-selected configuration interaction for large-scale electronic structure calculations with a quantum computer, arXiv:2412.07218 [quant-ph].
-
Mathias Mikkelsen, Yuya O. Nakagawa, Quantum-selected configuration interaction with time-evolved state, arXiv:2412.13839 [quant-ph].
-
Samuele Piccinelli, et al., Quantum chemistry with provable convergence via randomized sample-based Krylov quantum diagonalization, arXiv:2508.02578 [quant-ph].
-
Kenneth M. Merz Jr., et al., Crossing the 12,000-atom barrier with heterogeneous quantum-classical supercomputing: quantum chemistry of protein-ligand complexes, arXiv:2605.01138 [quant-ph].