Sari la conținutul principal
Acest proiect este în versiune beta. Ai găsit o eroare? Deschide un issue pe GitHub. Ai o întrebare sau o idee? Întreabă în Discussions — ne-ar plăcea să aflăm părerea ta!
Cum este calitatea traducerii pe această pagină?

Qiskit Fermions

qiskit-fermions extinde SDK-ul Qiskit cu unelte pentru lucrul cu sisteme fermionice. În domeniul său, oferă următoarele:

  • Structuri de date eficiente pentru reprezentarea și manipularea operatorilor fermionici în diferite forme

  • Un cadru pentru implementarea metodelor de conversie a operatorilor (inclusiv încodări fermion-qubit)

  • O bibliotecă de implementări eficiente ale metodelor comune de conversie

  • Un cadru și o bibliotecă de porți pentru exprimarea circuitelor fermionice

  • Un flux de transpilare integrat cu procesul de transpilare Qiskit pentru a sintetiza circuite fermionice în circuite bazate pe qubiți

În plus, qiskit-fermions se integrează cu alte instrumente din ecosistem, cum ar fi:

  • ffsim pentru operatorii ansatz de nivel înalt și simularea eficientă a circuitelor fermionice (vezi Relația cu ffsim)

Primii pași​

Schematic description of Qiskit Fermions

Descrierea schematică din imaginea de mai sus oferă o imagine de ansamblu asupra gamei de funcționalități și a fluxului de lucru general pe care îl oferă acest pachet. Poți lucra în regimul fermionic atât cu reprezentarea operatorilor, cât și cu cea a circuitelor, înainte de a defini o codificare fermion-qubit care se conectează la pipeline-ul de transpilare multi-reprezentare din Qiskit.

Toate aceste funcționalități sunt explicate în mai multe ghiduri care te ajută să începi. Pentru o prezentare generală care parcurge exact pipeline-ul din imaginea de mai sus, începe cu ghidul Fermi-Hubbard 1D.

Exemple de utilizare​

Componente ale acestui pachet au fost folosite în cercetări legate de următoarele lucrări:

  • Compilarea aleatorie a circuitelor qDRIFT în [1].

  • Sinteza fermion-qubit în timpul procesului de transpilare în [2].

Discuție tehnică​

Intenții de proiectare​

Acest pachet este conceput în mod deliberat să se alinieze cu Qiskit: se bazează pe un nucleu implementat în Rust și oferă legături de limbaj oficiale pentru Python și C. API-ul său urmărește să facă paralele cu Qiskit pentru a se integra fără probleme în fluxurile de lucru ale utilizatorilor cu experiență în programarea Qiskit.

Un principiu esențial în proiectarea qiskit-fermions a fost decuplarea reprezentării circuitelor fermionice de forma lor transformată în qubiți. Mai precis: circuitele fermionice au sens prin ele însele și nu necesită o mapare în spațiul qubiților pentru a fi interpretabile. În plus, reprezentarea circuitelor fermionice nu poate face nicio presupunere despre codificarea fermion-qubit aplicată ulterior. În consecință, deși Jordan-Wigner păstrează o poziție și un rol dominant, nu se presupune că este codificarea fermion-qubit _implicită_.

Relația cu ffsim​

ffsim și qiskit-fermions își împart munca, în loc să se suprapună. ffsim se ocupă de operatorii ansatz de nivel înalt și de simularea lor rapidă: construiește un operator UCJ sau UCCSD din amplitudini coupled-cluster sau dintr-un vector de parametri și simulează stări fermionice într-un spațiu compact cu număr fix de particule. qiskit-fermions se ocupă de partea de circuit: exprimă acel operator ca un FermionicCircuit pe moduri fermionice și îl transpilează într-un circuit de qubiți prin orice codificare fermion-qubit.

Acesta este motivul pentru care merită să aduci aici un operator ffsim. Porțile Qiskit proprii ale ffsim sunt specifice transformării Jordan-Wigner, deci reducerea unui ansatz printr-o codificare diferită (de exemplu, o codificare locală care schimbă qubiți pe circuite mai puțin adânci) este ceea ce adaugă acest pachet. În schimb, acest pachet nu reimplementează matematica ansatz-ului, așa că UCJ și UCC primesc direct un operator ffsim ca intrare.

Pe partea de simulare, ffsim este backend-ul. Porțile și operatorii acestui pachet implementează metodele de protocol pe care le consumă funcțiile de simulare ale ffsim (_apply_unitary_, _linear_operator_ și _trace_; vezi qiskit_fermions.protocols), astfel încât instrumentele ffsim funcționează direct cu ele, fără pas de conversie. Construirea operatorilor, maparea lor și transpilarea circuitelor rezultate nu necesită deloc ffsim.

Pentru imaginea completă, citește ghidul despre relația cu ffsim.

Probleme cunoscute​

Atâta timp cât API-ul C din Qiskit nu a atins încă paritatea de funcționalități cu API-ul său Python, unele componente ale acestui pachet rămân exclusive API-ului Python. Aceasta include întreaga bibliotecă de circuite (qiskit_fermions.circuit), precum și pașii de transpiler (qiskit_fermions.transpiler).

Lucrări viitoare​

  • Migrarea bibliotecii de circuite și a pașilor de transpiler în nucleul Rust (și furnizarea unui API C pentru interacțiunea cu aceștia)

  • Extinderea bibliotecii de implementări eficiente de conversie a operatorilor

  • Extinderea bibliotecii de structuri de date eficiente pentru operatori

Contribuții​

Codul sursă este disponibil pe GitHub.

Ghidul pentru dezvoltatori se află în CONTRIBUTING.md, în rădăcina depozitului acestui proiect. Prin participare, se așteaptă să respecți codul de conduită al Qiskit.

Citarea acestui pachet​

Dacă folosești acest pachet în cercetarea ta, folosește fișierul CITATION.bib din depozitul acestui proiect pentru a cita referința (referințele) potrivită(e).

Licență​

Apache License 2.0

Politica de depreciere​

Acest pachet respectă versionarea semantică. Modificările incompatibile sunt făcute doar ocazional, pentru a îmbunătăți experiența utilizatorului. Când este posibil, interfețele vechi sunt păstrate și marcate ca depreciate atât timp cât pot coexista cu cele noi. Fiecare îmbunătățire substanțială, modificare incompatibilă sau depreciere este documentată în Notele de lansare.

Referințe​

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