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?

Qiskit Fermions

Pinalalawak ng qiskit-fermions ang Qiskit SDK gamit ang mga tool para sa pagtatrabaho sa mga fermionic system. Sa saklaw nito, nagbibigay ito ng sumusunod:

  • Mga episyenteng data structure para sa representasyon at pagmamanipula ng mga fermionic operator sa iba't ibang anyo

  • Isang framework para sa pagpapatupad ng mga paraan ng operator conversion (kasama ang mga fermion-to-qubit encoding)

  • Isang library ng mga episyenteng implementasyon ng mga karaniwang paraan ng conversion

  • Isang framework at library ng mga gate para sa pagpapahayag ng mga fermionic circuit

  • Isang transpilation pipeline na isinama sa transpiler process ng Qiskit para i-synthesize ang mga fermionic circuit sa mga circuit na nakabatay sa qubit

Bukod pa rito, nag-iintegrate ang qiskit-fermions sa iba pang tool ng ecosystem, tulad ng:

  • ffsim para sa mga high-level na ansatz operator at episyenteng simulation ng mga fermionic circuit (tingnan ang Relationship to ffsim)

Magsimula​

Schematic description of Qiskit Fermions

Ang schematic na paglalarawan sa larawan sa itaas ay nagbibigay ng sulyap sa lawak ng mga feature at pangkalahatang workflow na hatid ng package na ito. Maaari kang magtrabaho sa fermionic regime gamit ang parehong operator at circuit representation, bago ka mag-define ng fermion-to-qubit encoding na kokonekta sa multi-representation na transpiler pipeline ng Qiskit.

Ang lahat ng feature na ito ay ipinapaliwanag sa ilang gabay para matulungan kang magsimula. Para sa pangkalahatang-ideya na eksaktong dumadaan sa pipeline na ipinapakita sa itaas, magsimula sa 1D Fermi-Hubbard guide.

Mga halimbawa ng use case​

Ginamit ang mga bahagi ng package na ito sa pananaliksik na may kaugnayan sa mga sumusunod na paper:

  • Ang qDRIFT randomized circuit compilation sa [1].

  • Ang fermion-to-qubit synthesis habang nasa proseso ng transpilation sa [2].

Teknikal na talakayan​

Mga layunin ng disenyo​

Sadyang dinisenyo ang package na ito para umayon sa Qiskit: nakabatay ito sa core na ipinatupad sa Rust at nagbibigay ng first-party na language binding para sa Python at C. Layunin ng API nito na tumulad sa Qiskit para maisama nang maayos sa workflow ng mga user na may karanasan sa pagprograma ng Qiskit.

Isang pangunahing prinsipyo sa disenyo ng qiskit-fermions ang paghihiwalay ng fermionic circuit representation nito mula sa qubitized na anyo nito. Para maging mas tiyak: may sariling kahulugan ang mga fermionic circuit at hindi nangangailangan ng mapping sa qubit space para maunawaan. Higit pa rito, hindi maaaring gumawa ang fermionic circuit representation ng anumang pagpapalagay tungkol sa fermion-to-qubit encoding na ilalapat sa huli. Dahil dito, bagama't nananatiling nangingibabaw ang posisyon at papel ng Jordan-Wigner, hindi ito ipinapalagay na ang _default_ na fermion-to-qubit encoding.

Relasyon sa ffsim​

Naghahati ng trabaho ang ffsim at qiskit-fermions sa halip na magpatong. Hawak ng ffsim ang mga high-level na ansatz operator at ang mabilis na simulation ng mga ito: bumubuo ito ng UCJ o UCCSD operator mula sa coupled-cluster amplitude o parameter vector, at nagsi-simulate ng mga fermionic state sa compact na fixed-particle-number space. Hawak ng qiskit-fermions ang bahagi ng circuit: ipinapahayag nito ang operator na iyon bilang FermionicCircuit sa mga fermionic mode at tina-transpile ito sa isang qubit circuit sa pamamagitan ng anumang fermion-to-qubit encoding.

Iyan ang dahilan para dalhin dito ang isang ffsim operator. Partikular sa Jordan-Wigner transformation ang sariling mga Qiskit gate ng ffsim, kaya ang pag-lower ng ansatz gamit ang ibang encoding (halimbawa, isang local encoding na ipinagpapalit ang mga qubit para sa mas mababaw na circuit) ang idinaragdag ng package na ito. Sa kabilang banda, hindi nire-reimplement ng package na ito ang ansatz math, kaya direktang tumatanggap ng ffsim operator bilang input ang UCJ at UCC.

Sa panig ng simulation, ang ffsim ang backend. Ipinapatupad ng mga gate at operator ng package na ito ang mga protocol method na ginagamit ng mga simulation function ng ffsim (_apply_unitary_, _linear_operator_ at _trace_; tingnan ang qiskit_fermions.protocols), kaya natural na gumagana sa mga ito ang mga tool ng ffsim, nang walang hakbang ng conversion. Hindi na kailangan ng ffsim sa pagbuo ng mga operator, pag-map ng mga ito at pag-transpile ng mga resultang circuit.

Para sa buong larawan, basahin ang ffsim relationship guide.

Mga kilalang isyu​

Hangga't hindi pa nararating ng Qiskit C API ang feature parity sa Python API nito, may ilang bahagi ng package na ito na nananatiling eksklusibo rin sa Python API. Kasama rito ang buong circuit library (qiskit_fermions.circuit) pati ang mga transpiler pass (qiskit_fermions.transpiler).

Mga plano sa hinaharap​

  • I-migrate ang circuit library at mga transpiler pass sa Rust core (at magbigay ng C API para makipag-ugnayan sa mga ito)

  • Palawakin ang library ng mga episyenteng implementasyon ng operator conversion

  • Palawakin ang library ng mga episyenteng operator data structure

Pag-ambag​

Makukuha ang source code sa GitHub.

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

Pagsipi sa package na ito​

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

Lisensya​

Apache License 2.0

Patakaran sa deprecation​

Sumusunod ang package na ito sa semantic versioning. Paminsan-minsan lang ginagawa ang mga breaking change, para mapabuti ang karanasan ng user. Kapag posible, pinananatili ang mga lumang interface at minamarkahan bilang deprecated hangga't maaari silang mag-co-exist sa mga bago. Dokumentado sa Release Notes ang bawat malaking pagpapabuti, breaking change, o deprecation.

Mga sanggunian​

[1]

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

[2]

Anthony Gandon, et al., Stabilizer-based quantum simulation of fermion dynamics with local qubit encodings, arXiv:2512.11418 [quant-ph].