Pangkalahatang-ideya ng Sample-based quantum diagonalization (SQD)
Ang Sample-based quantum diagonalization (SQD) ay isang klasikal na pamamaraan ng post-processing na kumikilos sa mga sample na nakuha mula sa isang quantum circuit pagkatapos ng pagpapatupad sa isang QPU. Kapaki-pakinabang ito sa paghahanap ng mga eigenvalue at eigenvector ng mga quantum operator, tulad ng Hamiltonian ng isang quantum system, at gumagamit ng quantum at distributed na klasikal na computing nang magkasama. Ang pamamaraang ito ng post-processing ay maaaring maging lalo na kapaki-pakinabang para sa mga gumagamit na nag-si-simulate ng mga kemikal o iba pang quantum system.
Ginagamit ang klasikal na computing upang iproseso ang mga sample na nakuha mula sa isang quantum processor, at upang i-project at i-diagonalize ang isang target na Hamiltonian sa isang subspace na sinasaklaw ng mga ito. Dahil dito, matibay ang SQD laban sa mga sample na nasira ng quantum noise at kayang pamahalaan ang malalaking Hamiltonian, tulad ng mga kemikal na sistema na may milyun-milyong nagsasalong termino, na higit sa kakayahan ng mga eksaktong pamamaraan ng diagonalization.
Kaya ng SQD tool na i-target ang mga Hamiltonian na ipinahayag bilang linear na kumbinasyon ng mga Pauli operator o second-quantized na Fermionic operator. Ang mga input na sample ay nakuha mula sa mga quantum circuit na tinukoy ng gumagamit, na pinaniniwalaan na magandang representasyon ng mga eigenstate (halimbawa, ang ground state) ng isang target na operator. Ang bilis ng convergence ng SQD bilang function ng bilang ng mga sample ay bumubuti habang nagiging mas sparse ang target na eigenstate.
I-install ang SQD package​
May dalawang paraan para i-install ang SQD package: PyPI at pagbuo mula sa source. Inirerekomenda na i-install ang mga package na ito sa isang virtual environment upang masiguro ang paghihiwalay ng mga dependency ng package.
I-install mula sa PyPI​
Ang pinaka-simpleng paraan para i-install ang qiskit-addon-sqd package ay sa pamamagitan ng PyPI.
pip install qiskit-addon-sqd
Bumuo mula sa source​
I-click dito para malaman kung paano i-install nang mano-mano ang package na ito
Kung gusto mong mag-ambag sa package na ito o nais itong i-install nang mano-mano, i-clone muna ang repository:
git clone git@github.com:Qiskit/qiskit-addon-sqd.git
at i-install ang package sa pamamagitan ng pip. Naglalaman din ang repository ng mga halimbawang notebook na maaari mong patakbuhin. Kung plano mong mag-develop sa loob ng repository, maaari mong i-install ang mga dev na dependency.
Ayusin ang mga opsyon ayon sa iyong pangangailangan.
pip install tox notebook -e '.[notebook-dependencies, dev]'
Teoretikal na background​
Ang SQD workflow gamit ang self-consistent configuration recovery ay inipaliwanag nang detalyado sa [1]. Nagbibigay ang seksyong ito ng pangkalahatang-ideya ng pamamaraan na inilalarawan sa sumusunod na diagram.

Dito ang ay isang set ng mga maingay na sample na naglalaman, sa konteksto ng Hamiltonian na sine-simulate, ng mga pisikal at hindi pisikal na configuration (kinakatawan bilang mga bitstring) na nakuha mula sa pagpapatupad sa isang QPU. Ang mga hindi pisikal na configuration ay dulot ng noise at maaaring iproseso ng sqd.configuration_recovery.recover_configurations() na paraan upang pinuhin ang mga sample sa isang bagong set na .
Mula sa set na ito, ang mga batch ng mga configuration na ay kinokolekta ayon sa isang distribusyon na proporsyonal sa empirical na dalas ng bawat sa . Ang bawat batch ng mga na-sample na configuration ay sumasaklaw sa isang subspace, , kung saan ang Hamiltonian ay ini-project at dina-diagonalize:
kung saan ang ay ang Hamiltonian ng isang partikular na subspace.
Ang pangunahing bahagi ng SQD workflow ay narito kung saan ang bawat isa sa mga subspace Hamiltonian na ito ay dina-diagonalize. Ang mga ground state na nakuha mula sa bawat isa sa mga subspace na ito, , ay ginagamit upang makagawa ng isang pagtatantya ng isang reference na vector ng mga occupancy na na ina-average sa bawat isa sa na subspace. Isang bagong set ng mga configuration na ay nalilikha sa pamamagitan ng probabilistikong pag-flip ng mga indibidwal na bit batay sa average na occupation na ito at sa kilalang kabuuang bilang ng mga particle (Hamming weight) sa sistema. Ang prosesong ito ng configuration recovery ay paulit-ulit pagkatapos ay inihanda ang isang bagong set ng mga subspace na dina-diagonalize, nagkukuha ng mga bagong eigenstate at average na orbital occupancy, at lumilikha ng bagong set ng mga configuration. Ang loop na ito ay inuulit hanggang sa matugunan ang isang pamantayan na tinukoy ng gumagamit, at ang kabuuang proseso ay kahalintulad ng pag-filter ng isang maingay na signal upang mapabuti ang katumpakan nito.
Mga susunod na hakbang​
- Basahin ang pahina ng SQD getting started.
- Basahin ang tutorial sa pagpapabuti ng pagtatantya ng enerhiya gamit ang SQD.
Mga sanggunian​
[1] Robledo-Moreno, Javier, et al. "Chemistry beyond exact solutions on a quantum-centric supercomputer" arXiv preprint arXiv:2405.05068 (2024).