Sample-based quantum diagonalization (SQD)
Tento balíček implementuje sample-based quantum diagonalization (SQD) — techniku pro hledání vlastních čísel a vlastních vektorů kvantových operátorů, například Hamiltoniánu kvantového systému [1–6]. Může cílit na Hamiltoniány vyjádřené jako lineární kombinace Pauliho operátorů nebo fermionových operátorů ve druhé kvantizaci. Workflowy založené na SQD lze spouštět na současných kvantových počítačích a bylo ukázáno, že se škálují na velikosti problémů, které přesahují možnosti variačních metod — a dokonce i dosah přesných klasických diagonalizačních metod.
Workflowy založené na SQD nejprve zahrnují přípravu jednoho nebo více kvantových stavů na kvantovém zařízení a jejich vzorkování. Poté se k zpracování těchto zašuměných vzorků používá klasické distribuované počítání. Toto zpracování probíhá iterativně ve dvou krocích: nejprve krok obnovy konfigurací opraví zašuměné vzorky pomocí informací o vstupním problému; poté se Hamiltonián promítne a diagonalizuje v podprostoru generovaném těmito vzorky. Tyto kroky se self-konzistentně opakují až do konvergence. Výsledkem je aproximované nejnižší vlastní číslo (energie) a vlastní stav s nejnižší energií daného Hamiltoniánu. SQD je odolné vůči vzorkům poškozeným kvantovým šumem; pokud lze z kvantového počítače získat užitečný signál, výsledek SQD bude necitlivý na zašuměné bitové řetězce.
qiskit-addon-sqd lze v praxi použít k klasickému zpracování vzorků získaných z různých kvantových obvodů. Například:
- Variační ansatz obvod s parametry zvolenými tak, aby vzorkování obvodu produkovalo elektronové konfigurace, na nichž má cílová vlnová funkce (například základní stav) významný nosič. To je přitažlivé pro aplikace v chemii, kde Hamiltoniány mohou mít miliony interakčních členů [1]. Příklad tohoto přístupu aplikovaného na chemii pomocí obvodu LUCJ najdeš v tutoriálu o aproximaci energie základního stavu molekuly N2.
- Sada Krylovových bázových stavů se připravuje v rostoucích časových intervalech. Za předpokladu dobrého počátečního stavu a řídkosti základního stavu je prokázáno, že tento přístup efektivně konverguje. Protože je třeba na kvantovém zařízení připravit trotterizované obvody časového vývoje, je tento přístup nejvhodnější pro aplikace na mřížkové modely [2] místo složitých mnohočásticových Hamiltoniánů, jako jsou ty z kvantové chemie. Příklad tohoto přístupu aplikovaného na fermionové mřížkové Hamiltoniány najdeš v tutoriálu o aproximaci energie základního stavu zjednodušeného Andersonova modelu s jednou příměsí.
- Sada Krylovových bázových stavů implementovaná pomocí randomizované kompilace qDRIFT operátoru časového vývoje. Tento přístup poskytuje obvody menší hloubky ve srovnání s dekompozicemi časového vývoje založenými na Trotterově metodě, a lze jej proto použít pro Hamiltoniány kvantové chemie. Tato technika byla aplikována na energii základního stavu polycyklických aromatických uhlovodíků [6].
Začínáme
Jednoduchý návod, který ti pomůže rychle začít s tímto balíčkem, je k dispozici v průvodci rychlým startem.
Příklady použití
Techniku sample-based quantum diagonalization lze použít k implementaci různorodé sady workflowů. Některé příklady, kde byla použita, zahrnují:
-
Výpočty elektronové struktury energií základního stavu železo-sirných klastrů
-
Odhad energií základního stavu pro predikci zakázaných pásů dielektrik
-
Odhad nízko položených molekulárních excitovaných stavů
-
Simulace interakcí mezi molekulami
-
Studium interakcí solut-rozpouštědlo v simulacích elektronové struktury
-
Analýza otevřených slupek při molekulární disociaci
-
Modelování reakčních cest pro problémy fotochemie
-
Kombinace s entanglement forgingem ke studiu reakčních cest degradace materiálů prostřednictvím odtržení vodíku
-
Konstrukce podprostorů z kvantových Krylovových bázových stavů pro simulace základního stavu modelů příměsí pro fermionové systémy
-
Použití randomizované kompilace qDRIFT ke snížení nákladů na implementaci Krylovových bázových stavů pro chemické hamiltoniány a aplikace na molekulu vykazující poloviční Möbiovu elektronickou topologii
-
Použití SQD jako solveru v kontextu embeddingových a fragmentačních metod pro molekulární systémy, například k výpočtu energií vodíkových kruhů a cyklohexanu a bi- a trimetalických komplexů, ke studiu redukce kyslíku, k odhadu energií proteinů a komplexů protein–ligand a k predikci speciace tritia.
Technická diskuse
Velikosti systémů a výpočetní požadavky
Výpočetní náročnost SQD je dominována voláními solveru vlastních stavů. V každém kroku iterace self-consistent configuration recovery se provede n_batches volání solveru vlastních stavů. Jednotlivá volání jsou triviálně paralelizovatelná. V tomto tutoriálu jsou tato volání uvnitř cyklu for. Důrazně doporučujeme tato volání provádět paralelně.
Funkce qiskit_addon_sqd.fermion.solve_fermion() je vícevláknová a zvládne systémy s ~25 prostorovými orbitaly a ~10 elektrony s dimenzemi podprostoru ~$10^7$ při použití ~10–30 jader.
Volba dimenzí podprostoru
Volba dimenze podprostoru ovlivňuje přesnost a dobu běhu solveru vlastních stavů. Čím větší podprostor, tím přesnější výpočet, za cenu vyšší doby běhu a paměťových nároků. Optimální velikost podprostoru pro daný systém není známa; proto lze provést studii konvergence vzhledem k dimenzi podprostoru, jak je popsáno v tomto průvodci.
Omezení dimenze podprostoru
Argument samples_per_batch funkce qiskit_addon_sqd.fermion.diagonalize_fermionic_hamiltonian() určuje počet bitových řetězců v každé dávce, a tím nepřímo řídí dimenzi podprostoru: u aplikací v kvantové chemii jeho hodnota udává horní mez dimenze podprostoru. Skutečně vzniklá dimenze závisí na tom, kolik z vzorkovaných bitových řetězců je navzájem různých, a v průběhu iterací self-consistent configuration recovery roste, takže ji předem neznáme. Další podrobnosti najdeš v tomto příkladu.
Argument max_dim téže funkce omezuje dimenzi přímo, a to limitem počtu CI řetězců ponechaných v každém spinovém sektoru. Protože podprostor je generován kartézským součinem obou spinových sektorů, max_dim=d omezuje dimenzi podprostoru na d**2, zatímco n-tice max_dim=(d_a, d_b) omezuje spinové sektory alfa a beta zvlášť, čímž dimenzi podprostoru omezí na d_a * d_b (při symmetrize_spin=True musí být oba limity stejné). Pokud dávka poskytne více CI řetězců, než limit dovoluje, přednostně se ponechají řetězce požadované přes include_configurations a ty převzaté z předchozí iterace a zbývající místa se zaplní nejčastěji vzorkovanými řetězci. Protože max_dim omezuje velikost největší diagonalizace, kterou bude solver vlastních stavů muset provést, je to pohodlný způsob, jak udržet solver v rozpočtu doby běhu a paměti. Další podrobnosti najdeš v tomto průvodci.
Solvery
Kroky projekce a diagonalizace provádí klasický solver. Poskytujeme zde dva obecné solvery, jeden pro fermionové systémy a druhý pro qubitové systémy. Uživatelé mohou připojit i jiné solvery, které mohou být pro konkrétní systémy efektivnější.
Trim SQD
Standardní SQD diagonalizuje každou vzorkovanou dávku nezávisle a ponechá nejlepší výsledek, takže počet konfigurací, které může zvážit, je omezen tím, co pojme jeden dostupný podprostor. Trim SQD místo toho rozdělí bitové řetězce do dávek, provede průběžnou diagonalizaci každé dávky a poté provede větší diagonalizaci s použitím determinantů s nejvyšší vahou z každého oddílu. Tato metoda vychází ze společného výzkumu Cleveland Clinic Foundation, RIKEN a IBM [7] a lze ji zapnout předáním objektu TrimPolicy funkci diagonalize_fermionic_hamiltonian().
Přispívání
Zdrojový kód je k dispozici na GitHubu.
Příručka pro vývojáře se nachází v souboru CONTRIBUTING.md v kořenovém adresáři repozitáře tohoto projektu. Účastí se zavazuješ dodržovat kodex chování Qiskitu.
K sledování požadavků a chyb používáme GitHub issues.
Citování tohoto balíčku
Pokud tento balíček používáš ve svém výzkumu, použij soubor CITATION.bib v repozitáři tohoto projektu k citování příslušných odkazů.
Poděkování
Tento balíček obsahuje volitelnou strategii vzorkování uvnitř smyčky self-consistent configuration recovery, která ořezává determinanty na základě výsledků průběžné diagonalizace. Implementace vychází ze společného výzkumu Cleveland Clinic Foundation, RIKEN a IBM. Pokud tuto funkci použiješ ve svém výzkumu, použij prosím také citaci článku, kterou najdeš v souboru CITATION.bib pod citačním klíčem merz2026crossing. Implementace celého workflow z tohoto článku bude brzy k dispozici na GitHubu.
Licence
Zásady zastarávání
Řídíme se sémantickým verzováním. Občas můžeme provést zásadní změny, abychom zlepšili uživatelský zážitek. Kdykoli to bude možné, zachováme staré rozhraní a označíme je jako zastaralé, dokud může koexistovat s novým. Každé podstatné vylepšení, zásadní změna nebo zastarání bude zdokumentováno v poznámkách k vydání.
Reference
-
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].