Introducere în Qiskit
Numele „Qiskit" este un termen general care se referă la o colecție de software pentru executarea programelor pe calculatoare cuantice. Cel mai notabil dintre aceste instrumente software este SDK-ul Qiskit open-source și mediul de execuție (accesat prin Qiskit Runtime) prin care poți executa sarcini de lucru pe unități de procesare cuantică (QPU) IBM®. Pe măsură ce tehnologia cuantică evoluează, evoluează și Qiskit, cu noi capabilități lansate în fiecare an care extind această colecție de bază de software cuantic.
În plus, multe proiecte open-source fac parte din ecosistemul mai larg Qiskit. Aceste instrumente software nu sunt parte din Qiskit în sine, ci interfațează cu Qiskit și pot oferi funcționalitate suplimentară valoroasă.
IBM este angajat față de dezvoltarea responsabilă a calculului cuantic. Află mai multe și consultă principiile noastre de responsabilitate cuantică în secțiunea Calculul cuantic responsabil.
SDK-ul Qiskit
SDK-ul Qiskit (numele pachetului qiskit) este un SDK open-source pentru lucrul cu calculatoare cuantice la nivelul circuitelor cuantice extinse (statice, dinamice și programate), al operatorilor și al primitivelor. Această bibliotecă este componenta de bază a Qiskit; este cel mai mare pachet sub numele Qiskit, cu cea mai largă suită de instrumente pentru calculul cuantic, și multe alte componente interfațează cu ea.
Unele dintre cele mai utile funcționalități ale SDK-ului Qiskit includ:
-
Instrumente pentru construirea Circuit-urilor (
qiskit.circuit) - Pentru inițializarea și manipularea registrelor, circuitelor, instrucțiunilor, Gate-urilor, parametrilor și obiectelor de control al fluxului. -
Biblioteca de circuit-uri (
qiskit.circuit.library) - O gamă vastă de circuite, instrucțiuni și Gate-uri — elemente de construcție esențiale pentru calculele cuantice bazate pe Circuit. -
Biblioteca de informații cuantice (
qiskit.quantum_info) - Un set de instrumente pentru lucrul cu stări cuantice, operatori și canale, folosind calcule exacte (fără zgomot de eșantionare). Folosește acest modul pentru a specifica observabile de intrare și a analiza fidelitatea rezultatelor din interogările primitivelor. -
Transpiler (
qiskit.transpiler) - Pentru transformarea și adaptarea circuitelor cuantice pentru a se potrivi topologiei specifice a dispozitivului și pentru optimizarea execuției pe unități de procesare cuantică (QPU) reale. -
Primitive (
qiskit.primitives) - Modulul care conține definițiile de bază și implementările de referință ale primitivelor Sampler și Estimator, din care diferiți furnizori de hardware cuantic pot deriva propriile implementări. Află mai multe informații despre primitivele Qiskit Runtime în documentație.
Instalare
Pentru o introducere mai detaliată despre instalarea SDK-ului Qiskit, consultă pagina de instalare. Dacă ești gata să îl instalezi acum, rulează pur și simplu:
pip install qiskit
Benchmarking și pachetul Benchpress
Benchmarking-ul este important pentru compararea performanței relative a software-ului cuantic în diferite etape ale unui flux de lucru de dezvoltare. Testele de benchmarking pentru software-ul cuantic ar putea, de exemplu, să evalueze viteza și calitatea construirii, manipulării și transpilării circuitelor. IBM Quantum este angajat să livreze cel mai performant SDK posibil și, în acest scop, SDK-ul Qiskit este evaluat prin benchmarking folosind peste 1.000 de teste dezvoltate de universități de top, laboratoare naționale și cercetători de la IBM. Suita de benchmarking utilizată pentru aceste teste, numită Benchpress, este acum disponibilă ca pachet open-source. Poți folosi acum pachetul Benchpress pentru a efectua propria analiză a performanței SDK-ului cuantic.
Extensii Qiskit (addons)
Extensiile Qiskit sunt o colecție de capabilități de cercetare pentru descoperirea algoritmilor la scară utilă. Aceste capabilități se construiesc pe fundația performantă a instrumentelor Qiskit pentru crearea și rularea algoritmilor cuantici. Extensiile sunt componente software modulare care se conectează la un flux de lucru pentru a scala sau proiecta noi algoritmi cuantici. Pentru a afla mai multe despre setul de extensii Qiskit disponibile și cum să începi să le folosești, vizitează documentația.
Ecosistemul Qiskit
Dincolo de Qiskit, există multe proiecte open-source care folosesc numele „Qiskit" dar nu fac parte din Qiskit în sine; mai degrabă, ele interfațează cu Qiskit și pot oferi funcționalitate suplimentară valoroasă pentru a completa fluxul de lucru de bază Qiskit. Unele dintre aceste proiecte sunt menținute de echipele IBM Quantum, în timp ce altele sunt susținute de comunitatea mai largă open-source. SDK-ul Qiskit este conceput într-un mod modular și extensibil pentru a facilita crearea de proiecte ca acestea de către dezvoltatori, care îi extind capabilitățile.
Câteva proiecte populare din ecosistemul Qiskit includ:
- Qiskit Aer (
qiskit-aer) - un pachet pentru simulatoare de calcul cuantic cu modele de zgomot realiste. Oferă interfețe pentru rularea circuitelor cuantice cu sau fără zgomot folosind mai multe metode de simulare diferite. Menținut de IBM Quantum. - qBraid SDK (
qbraid) - un framework de execuție cuantică agnostic față de platformă, atât pentru furnizori de software, cât și de hardware cuantic, conceput pentru a simplifica gestionarea completă a ciclului de viață al job-urilor cuantice — de la definirea specificațiilor programului până la trimiterea job-ului și până la post-procesarea și vizualizarea rezultatelor. Menținut de qBraid. - mthree
mthree- un pachet pentru implementarea M3 (Atenuarea Măsurătorilor fără Matrice), o tehnică de atenuare a măsurătorilor care rezolvă probabilitățile de măsurare corectate folosind un pas de reducere a dimensionalității urmat fie de factorizare LU directă, fie de o metodă iterativă precondiționate care converge nominal în O(1) pași și poate fi calculată în paralel. Menținut de IBM Quantum.
Poți găsi un catalog de proiecte pe pagina ecosistemului Qiskit, precum și informații despre cum să nominalizezi propriul tău proiect.
Pașii următori
- Află despre biblioteca de circuite și instrucțiuni disponibilă în biblioteca de circuit-uri Qiskit.
- Citește despre Transpiler-ul Qiskit și multele opțiuni de transpilare în secțiunea Transpiler.
- Descoperă cum să folosești primitivele Qiskit pentru a simplifica programarea cuantică.