Próbkowana diagonalizacja kwantowa (SQD)
Ten pakiet implementuje próbkowaną diagonalizację kwantową (SQD) — technikę znajdowania wartości własnych i wektorów własnych operatorów kwantowych, takich jak hamiltonian układu kwantowego [1–6]. Może dotyczyć hamiltonianów wyrażonych jako kombinacje liniowe operatorów Pauliego lub drugokwantowanych operatorów fermionowych. Przepływy pracy oparte na SQD można uruchamiać na obecnych komputerach kwantowych i wykazano, że skalują się do rozmiarów problemów wykraczających poza to, co było możliwe metodami wariacyjnymi — a nawet poza zasięg dokładnych klasycznych metod diagonalizacji.
Przepływy pracy oparte na SQD polegają najpierw na przygotowaniu jednego lub więcej stanów kwantowych na urządzeniu kwantowym i próbkowaniu z nich. Następnie do przetworzenia tych zaszumionych próbek używa się klasycznych obliczeń rozproszonych. Przetwarzanie to odbywa się iteracyjnie w dwóch krokach: najpierw krok odzyskiwania konfiguracji koryguje zaszumione próbki, wykorzystując informacje o problemie wejściowym; następnie hamiltonian jest rzutowany i diagonalizowany w podprzestrzeni rozpiętej przez te próbki. Kroki te są powtarzane samouzgodnienie aż do zbieżności. Wynikiem jest przybliżona najniższa wartość własna (energia) i stan własny o najniższej energii danego hamiltonianu. SQD jest odporna na próbki zniekształcone szumem kwantowym; w rzeczywistości, dopóki z komputera kwantowego można wydobyć użyteczny sygnał, wynik SQD będzie niewrażliwy na zaszumione ciągi bitów.
qiskit-addon-sqd można w praktyce używać do klasycznego przetwarzania próbek pobranych z różnych obwodów kwantowych. Na przykład:
- Wariacyjny ansatz obwodu z parametrami dobranymi tak, aby próbkowanie obwodu dawało konfiguracje elektronowe, na których docelowa funkcja falowa (na przykład stan podstawowy) ma istotny nośnik. Jest to atrakcyjne w zastosowaniach chemicznych, gdzie hamiltoniany mogą mieć miliony wyrazów oddziaływania [1]. Przykład takiego podejścia zastosowanego w chemii z użyciem obwodu LUCJ znajdziesz w samouczku o przybliżaniu energii stanu podstawowego cząsteczki N2.
- Zestaw stanów bazy Kryłowa przygotowywany w rosnących odstępach czasu. Przy założeniu dobrego stanu początkowego i rzadkości stanu podstawowego udowodniono, że to podejście zbiega efektywnie. Ponieważ trzeba przygotować na urządzeniu kwantowym obwody ewolucji czasowej w przybliżeniu Trottera, to podejście najlepiej nadaje się do zastosowań w modelach sieciowych [2], a nie do złożonych hamiltonianów wielociałowych, takich jak te w chemii kwantowej. Przykład takiego podejścia zastosowanego do fermionowych hamiltonianów sieciowych znajdziesz w samouczku o przybliżaniu energii stanu podstawowego uproszczonego modelu Andersona z pojedynczą domieszką.
- Zestaw stanów bazy Kryłowa zaimplementowany za pomocą losowej kompilacji qDRIFT operatora ewolucji czasowej. To podejście daje obwody o mniejszej głębokości niż dekompozycje ewolucji czasowej oparte na metodzie Trottera, więc można go używać dla hamiltonianów chemii kwantowej. Technikę tę zastosowano do energii stanu podstawowego wielopierścieniowych węglowodorów aromatycznych [6].
Pierwsze kroki
Prosty przewodnik, który pomoże Ci szybko zacząć pracę z tym pakietem, jest dostępny w przewodniku szybkiego startu.
Przykłady zastosowań
Próbkowaną diagonalizację kwantową można wykorzystać do realizacji różnorodnych przepływów pracy. Przykłady zastosowań obejmują:
-
Obliczenia struktury elektronowej energii stanów podstawowych klastrów żelazowo-siarkowych
-
Szacowanie energii stanu podstawowego w celu przewidywania przerw energetycznych dielektryków
-
Szacowanie niskoleżących cząsteczkowych stanów wzbudzonych
-
Symulowanie oddziaływań między cząsteczkami
-
Badanie oddziaływań substancja rozpuszczona–rozpuszczalnik w symulacjach struktury elektronowej
-
Analiza układów open-shell w dysocjacji cząsteczek
-
Modelowanie ścieżek reakcji w problemach fotochemii
-
Połączenie z entanglement forging do badania ścieżek reakcji degradacji materiałów przez odrywanie wodoru
-
Konstruowanie podprzestrzeni ze stanów bazy Kryłowa do symulacji stanu podstawowego modeli domieszek dla układów fermionowych
-
Użycie losowej kompilacji qDRIFT do obniżenia narzutu implementacji stanów bazy Kryłowa dla hamiltonianów chemicznych oraz w zastosowaniu do cząsteczki o elektronowej topologii półwstęgi Möbiusa
-
Użycie SQD jako solvera w metodach osadzania i fragmentacji układów molekularnych, na przykład do obliczania energii pierścieni wodorowych i cykloheksanu oraz kompleksów bi- i trimetalicznych, badania reakcji redukcji tlenu, szacowania energii białek i kompleksów białko–ligand oraz przewidywania specjacji trytu.
Omówienie techniczne
Rozmiary układów i wymagania obliczeniowe
Koszt obliczeniowy SQD jest zdominowany przez wywołania solvera stanów własnych. W każdym kroku samouzgodnionej iteracji odzyskiwania konfiguracji wykonywanych jest n_batches wywołań solvera stanów własnych. Poszczególne wywołania są trywialnie równoległe. W tym samouczku wywołania te znajdują się wewnątrz pętli for. Zdecydowanie zaleca się wykonywanie tych wywołań równolegle.
Funkcja qiskit_addon_sqd.fermion.solve_fermion() jest wielowątkowa i radzi sobie z układami o ~25 orbitalach przestrzennych i ~10 elektronach, z wymiarami podprzestrzeni rzędu ~$10^7$, przy użyciu ~10–30 rdzeni.
Wybór wymiarów podprzestrzeni
Wybór wymiaru podprzestrzeni wpływa na dokładność i czas działania solvera stanów własnych. Im większa podprzestrzeń, tym dokładniejsze obliczenia, kosztem dłuższego czasu działania i większych wymagań pamięciowych. Optymalny rozmiar podprzestrzeni dla danego układu nie jest znany; dlatego można przeprowadzić badanie zbieżności względem wymiaru podprzestrzeni, jak opisano w tym przewodniku.
Ograniczanie wymiaru podprzestrzeni
Argument samples_per_batch funkcji qiskit_addon_sqd.fermion.diagonalize_fermionic_hamiltonian() określa liczbę ciągów bitów w każdej partii, a tym samym pośrednio kontroluje wymiar podprzestrzeni: w zastosowaniach chemii kwantowej jego wartość wyznacza górne ograniczenie wymiaru podprzestrzeni. Wymiar, który faktycznie powstaje, zależy od tego, ile spośród próbkowanych ciągów bitów jest różnych, i rośnie w trakcie samouzgodnionych iteracji odzyskiwania konfiguracji, więc nie jest znany z góry. Więcej szczegółów znajdziesz w tym przykładzie.
Argument max_dim tej samej funkcji ogranicza wymiar bezpośrednio, limitując liczbę ciągów CI zachowywanych w każdym sektorze spinowym. Ponieważ podprzestrzeń jest rozpinana przez iloczyn kartezjański dwóch sektorów spinowych, max_dim=d ogranicza wymiar podprzestrzeni do d**2, a krotka max_dim=(d_a, d_b) limituje osobno sektory spin-alfa i spin-beta, ograniczając wymiar podprzestrzeni do d_a * d_b (przy symmetrize_spin=True oba limity muszą być równe). Gdy partia daje więcej ciągów CI, niż pozwala limit, w pierwszej kolejności zachowywane są ciągi żądane przez include_configurations oraz te przeniesione z poprzedniej iteracji, a pozostałe miejsca zajmują najczęściej próbkowane ciągi. Ponieważ ogranicza rozmiar największej diagonalizacji, jaką solver stanów własnych będzie musiał wykonać, max_dim jest wygodnym sposobem utrzymania solvera w budżecie czasu działania i pamięci. Więcej szczegółów znajdziesz w tym przewodniku.
Solvery
Kroki rzutowania i diagonalizacji są wykonywane przez klasyczny solver. Udostępniamy tu dwa ogólne solvery: jeden dla układów fermionowych i drugi dla układów kubitowych. Użytkownicy mogą podłączyć inne solvery, które mogą być wydajniejsze dla konkretnych układów.
Trim SQD
Standardowe SQD diagonalizuje każdą podpróbkowaną partię niezależnie i zachowuje najlepszy wynik, więc liczba konfiguracji, które może uwzględnić, jest ograniczona tym, co zmieści jedna przystępna podprzestrzeń. Trim SQD zamiast tego dzieli ciągi bitów na partie, wykonuje pośrednią diagonalizację każdej partii, a następnie wykonuje większą diagonalizację, używając wyznaczników o największej wadze z każdej partycji. Metoda ta opiera się na wspólnych badaniach Cleveland Clinic Foundation, RIKEN i IBM [7] i można ją włączyć, przekazując obiekt TrimPolicy do funkcji diagonalize_fermionic_hamiltonian().
Współtworzenie
Kod źródłowy jest dostępny na GitHubie.
Przewodnik dla deweloperów znajduje się w pliku CONTRIBUTING.md w katalogu głównym repozytorium tego projektu. Uczestnicząc, zobowiązujesz się przestrzegać kodeksu postępowania Qiskit.
Do śledzenia zgłoszeń i błędów używamy GitHub issues.
Cytowanie tego pakietu
Jeśli używasz tego pakietu w swoich badaniach, skorzystaj z pliku CITATION.bib w repozytorium tego projektu, aby zacytować odpowiednie źródła.
Podziękowania
Pakiet zawiera opcjonalną strategię próbkowania w pętli samouzgodnionego odzyskiwania konfiguracji, która przycina wyznaczniki na podstawie wyników pośrednich diagonalizacji. Implementacja opiera się na wspólnych badaniach Cleveland Clinic Foundation, RIKEN i IBM. Jeśli używasz tej funkcji w swoich badaniach, zacytuj także artykuł, którego cytowanie znajdziesz w pliku CITATION.bib pod kluczem merz2026crossing. Implementacja pełnego przepływu pracy z tego artykułu ma wkrótce być dostępna na GitHubie.
Licencja
Polityka wycofywania
Stosujemy wersjonowanie semantyczne. Od czasu do czasu możemy wprowadzać zmiany łamiące zgodność, aby poprawić doświadczenie użytkownika. Gdy to możliwe, zachowamy stare interfejsy i oznaczymy je jako wycofywane, o ile mogą współistnieć z nowymi. Każde istotne ulepszenie, zmiana łamiąca zgodność lub wycofanie zostaną opisane w informacjach o wydaniu.
Bibliografia
-
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].