Lumaktaw sa pangunahing nilalaman
Ang proyektong ito ay nasa beta. Nakakita ng bug? Mag-bukas ng GitHub issue. May tanong o ideya? Magtanong sa Discussions — gusto naming marinig ang iyong feedback!
Gaano kaganda ang kalidad ng pagsasalin sa pahinang ito?

Sample-based quantum diagonalization (SQD)

Ipinapatupad ng package na ito ang sample-based quantum diagonalization (SQD) — isang technique para hanapin ang mga eigenvalue at eigenvector ng mga quantum operator, tulad ng Hamiltonian ng isang quantum system [1–6]. Maaari nitong targetin ang mga Hamiltonian na ipinahayag bilang mga linear combination ng mga Pauli operator o second-quantized na mga Fermionic operator. Maaaring patakbuhin ang mga SQD-based na workflow sa mga kasalukuyang quantum computer at napatunayang nag-i-scale sa mga laki ng problema na lampas sa dating posible gamit ang mga variational na pamamaraan — at lampas pa nga sa abot ng mga eksaktong classical na paraan ng diagonalization.

Ang mga SQD-based na workflow ay unang naghahanda ng isa o higit pang quantum state sa isang quantum device at kumukuha ng sample mula sa mga ito. Pagkatapos, ginagamit ang classical distributed computing para iproseso ang mga maingay na sample na iyon. Paulit-ulit itong nangyayari sa dalawang hakbang: una, itinatama ng configuration recovery step ang mga maingay na sample gamit ang impormasyon tungkol sa input na problema; ikalawa, ipino-project at dinadiagonalize ang Hamiltonian sa subspace na binuo ng mga sample na iyon. Inuulit nang self-consistent ang mga hakbang na ito hanggang sa mag-converge. Ang resulta ay isang tinatayang pinakamababang eigenvalue (energy) at pinakamababang energy na eigenstate ng isang ibinigay na Hamiltonian. Matatag ang SQD laban sa mga sample na nasira ng quantum noise; sa katunayan, hangga't may magagamit na signal na makukuha mula sa quantum computer, hindi maaapektuhan ang resulta ng SQD ng mga maingay na bitstring.

Ang qiskit-addon-sqd ay magagamit para iproseso nang classical ang mga sample na kinuha mula sa iba't ibang quantum circuit sa praktika. Halimbawa:

  1. Isang variational circuit ansatz na may mga parameter na pinili para ang pag-sample sa circuit ay makabuo ng mga electronic configuration kung saan may malaking suporta ang target na wavefunction (halimbawa, ang ground state). Kaakit-akit ito para sa mga aplikasyon sa chemistry kung saan ang mga Hamiltonian ay maaaring may milyun-milyong interaction term [1]. Para sa halimbawa ng pamamaraang ito na inilapat sa chemistry gamit ang isang LUCJ circuit, tingnan ang tutorial para sa pagtantiya ng ground state energy ng N2 molecule.
  2. Isang set ng mga Krylov basis state ang inihahanda sa pagtaas ng mga time interval. Sa pag-aakalang may magandang initial state at sparsity ng ground state, napatunayang mahusay na nagko-converge ang pamamaraang ito. Dahil kailangang maghanda ng mga Trotterized na time evolution circuit sa isang quantum device, pinakamainam ang pamamaraang ito para sa mga aplikasyon sa mga lattice model [2] kaysa sa mga masalimuot na many-body Hamiltonian tulad ng sa quantum chemistry. Para sa halimbawa ng pamamaraang ito na inilapat sa mga Fermionic lattice Hamiltonian, tingnan ang tutorial para sa pagtantiya ng ground state energy ng isang pinasimpleng single-impurity Anderson model.
  3. Isang set ng mga Krylov basis state na ipinatupad gamit ang qDRIFT randomized compilation ng time evolution operator. Nagbibigay ang pamamaraang ito ng mga circuit na mas maikli ang depth kumpara sa mga Trotter-based na decomposition ng time evolution kaya magagamit ito para sa mga quantum chemistry Hamiltonian. Nailapat na ang technique na ito sa ground state energy ng mga polycyclic aromatic hydrocarbon [6].

Pagsisimula​

Mayroong simpleng gabay para matulungan kang makapagsimula agad sa package na ito sa quickstart guide.

Mga halimbawa ng use case​

Magagamit ang sample-based quantum diagonalization technique para magpatupad ng iba't ibang uri ng workflow. Ilan sa mga halimbawa kung saan ito nagamit ay:

Teknikal na talakayan​

Laki ng sistema at mga kinakailangan sa computation​

Ang computational cost ng SQD ay pangunahing nagmumula sa mga tawag sa eigenstate solver. Sa bawat hakbang ng self-consistent configuration recovery iteration, may n_batches na tawag sa eigenstate solver. Ang mga tawag na ito ay embarrassingly parallel. Sa tutorial na ito, nasa loob ng for loop ang mga tawag na iyon. Lubos na inirerekomendang patakbuhin ang mga tawag na ito nang parallel.

Ang function na qiskit_addon_sqd.fermion.solve_fermion() ay multithreaded at kayang humawak ng mga sistemang may ~25 spacial orbital at ~10 electron na may subspace dimension na ~$10^7$, gamit ang ~10-30 core.

Pagpili ng mga subspace dimension​

Nakakaapekto ang pagpili ng subspace dimension sa accuracy at runtime ng eigenstate solver. Habang mas malaki ang subspace, mas tumpak ang kalkulasyon, pero tumataas ang runtime at memory na kailangan. Hindi alam ang pinakamainam na laki ng subspace para sa isang sistema; kaya puwedeng magsagawa ng convergence study gamit ang subspace dimension, gaya ng inilalarawan sa gabay na ito.

Paglilimita sa subspace dimension​

Ang argument na samples_per_batch ng qiskit_addon_sqd.fermion.diagonalize_fermionic_hamiltonian() ang nagtatakda ng bilang ng mga bitstring sa bawat batch, kaya hindi direktang kinokontrol nito ang subspace dimension: sa mga aplikasyon sa quantum chemistry, ang value nito ang nagtatakda ng upper bound sa subspace dimension. Ang dimension na aktwal na lalabas ay nakadepende sa kung ilan sa mga na-sample na bitstring ang magkakaiba, at lumalaki ito habang umuusad ang mga self-consistent configuration recovery iteration, kaya hindi ito alam nang maaga. Tingnan ang halimbawang ito para sa mas maraming detalye.

Direktang nililimitahan ng argument na max_dim ng parehong function ang dimension, sa pamamagitan ng paglilimita sa bilang ng mga CI string na itinatago sa bawat spin sector. Dahil ang subspace ay binubuo ng Cartesian product ng dalawang spin sector, ang max_dim=d ay naglilimita sa subspace dimension sa d**2, habang ang tuple na max_dim=(d_a, d_b) ay hiwalay na naglilimita sa spin-alpha at spin-beta sector, na naglilimita sa subspace dimension sa d_a * d_b (kapag symmetrize_spin=True, dapat magkapareho ang dalawang limit). Kapag mas maraming CI string ang nabuo ng isang batch kaysa sa pinapayagan ng limit, mas pinipiling panatilihin ang mga string na hiniling sa pamamagitan ng include_configurations at ang mga dinala mula sa nakaraang iteration, at pinupunan ang natitirang puwesto ng mga pinakamadalas na na-sample na string. Dahil nililimitahan nito ang laki ng pinakamalaking diagonalization na hihilingin sa eigenstate solver, ang max_dim ay isang maginhawang paraan para panatilihin ang solver sa loob ng budget ng runtime at memory. Tingnan ang gabay na ito para sa mas maraming detalye.

Mga solver​

Ang mga hakbang ng projection at diagonalization ay isinasagawa ng isang classical solver. Nagbibigay kami rito ng dalawang generic na solver, isa para sa mga Fermionic na sistema at isa pa para sa mga qubit system. Maaaring i-interface ng mga user ang iba pang solver na posibleng mas episyente para sa mga partikular na sistema.

Trim SQD​

Ang karaniwang SQD ay dina-diagonalize ang bawat subsampled na batch nang hiwalay at itinatago ang pinakamahusay na resulta, kaya ang bilang ng mga configuration na maaari nitong isaalang-alang ay limitado sa kayang hawakan ng isang abot-kayang subspace. Sa halip, ang Trim SQD ay hinahati ang mga bitstring sa mga batch, nagsasagawa ng intermediate diagonalization sa bawat batch, at saka nagsasagawa ng mas malaking diagonalization gamit ang mga determinant na may pinakamataas na weight mula sa bawat partition. Ang paraang ito ay batay sa magkasanib na pananaliksik ng Cleveland Clinic Foundation, RIKEN, at IBM [7], at maaaring i-enable sa pamamagitan ng pagpasa ng TrimPolicy object sa function na diagonalize_fermionic_hamiltonian().

Pag-aambag​

Makukuha ang source code sa GitHub.

Ang developer guide ay matatagpuan sa CONTRIBUTING.md sa root ng repository ng proyektong ito. Sa pakikilahok, inaasahang susundin mo ang code of conduct ng Qiskit.

Gumagamit kami ng GitHub issues para subaybayan ang mga request at bug.

Pagsipi sa package na ito​

Kung gagamitin mo ang package na ito sa iyong pananaliksik, gamitin ang file na CITATION.bib sa repository ng proyektong ito para sipiin ang naaangkop na reference.

Mga pasasalamat​

Kasama sa package na ito ang isang opsyonal na sampling strategy sa loob ng self-consistent configuration recovery loop na nagtatrim ng mga determinant batay sa mga resulta ng intermediate diagonalization. Ang implementasyon ay batay sa magkasanib na pananaliksik ng Cleveland Clinic Foundation, RIKEN, at IBM. Kung gagamitin mo ang feature na ito sa iyong pananaliksik, gamitin din ang citation para sa paper, na makikita sa file na CITATION.bib na may citation key na merz2026crossing. Inaasahang malapit nang magamit sa GitHub ang implementasyon ng buong workflow mula sa paper na iyon.

Lisensya​

Apache License 2.0

Patakaran sa Deprecation​

Sinusunod namin ang semantic versioning. Paminsan-minsan, maaari kaming gumawa ng mga breaking change para mapabuti ang karanasan ng user. Kung posible, pananatilihin namin ang mga lumang interface at mamarkahan ang mga ito bilang deprecated, hangga't maaari silang magkasabay sa mga bago. Idodokumento ang bawat malaking pagpapabuti, breaking change, o deprecation sa release notes.

Mga Sanggunian​

  1. Javier Robledo-Moreno, et al., Chemistry Beyond Exact Solutions on a Quantum-Centric Supercomputer, arXiv:2405.05068 [quant-ph].

  2. Jeffery Yu, et al., Quantum-Centric Algorithm for Sample-Based Krylov Diagonalization, arXiv:2501.09702 [quant-ph].

  3. Keita Kanno, et al., Quantum-Selected Configuration Interaction: classical diagonalization of Hamiltonians in subspaces selected by quantum computers, arXiv:2302.11320 [quant-ph].

  4. 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].

  5. Mathias Mikkelsen, Yuya O. Nakagawa, Quantum-selected configuration interaction with time-evolved state, arXiv:2412.13839 [quant-ph].

  6. Samuele Piccinelli, et al., Quantum chemistry with provable convergence via randomized sample-based Krylov quantum diagonalization, arXiv:2508.02578 [quant-ph].

  7. 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].