Python è un linguaggio di scripting di alto livello ampiamente utilizzato per la prototipazione grazie alla sua semplicità e astrazioni. Ancora più importante, ha una vasta comunità che costruisce e condivide strumenti e framework facilmente utilizzabili dagli utenti di Python.
La maggior parte di questi pacchetti sono disponibili a questo link e possono essere installati facilmente tramite il comando "pip install PACKAGE_NAME".
Il progetto Jupyter ha prodotto uno strumento molto valido: Jupyter Notebooks. Un ambiente basato sul web che può essere utilizzato per scrivere codice come se fosse un libro, utilizzando markdown, eseguendo codice blocco per blocco e visualizzando l'output accanto al codice che ha prodotto esso. Ciò semplifica la documentazione, la comprensione e la condivisione del codice:
Sebbene sia ancora sotto la massa critica (per ora), esiste una versione online di Jupyter Notebooks che consente l'edizione collaborativa e in tempo reale dei notebook (molto simile a Google Docs): Google Colaboratory.
Proprio come Colaboratory, Binder è uno strumento ottimo per interagire con Jupyter Notebook online e senza alcuna configurazione precedente. Questo potrebbe tornare utile in futuro. Tuttavia è più adatto per i notebook ospitati in GitHub.
Citando, "Qiskit è "un framework di elaborazione quantistica open source per sfruttare i processori quantistici odierni e condurre ricerche". Può essere utilizzato tramite un'interfaccia python ed è, senza dubbio, uno strumento importante di questo corso.
Il framework Qiskit è suddiviso in quattro strumenti:
Qiskit può essere visto come un Framework Quantum Full Stack. Consente agli sviluppatori e ai ricercatori di "sporcarsi le mani" su porte quantistiche di basso livello (Terra) ma anche di lavorare con tutte le minuzie astratte, come se fosse un programma classico (Aqua).
Di seguito é riportato per citazione il fine dei singoli moduli.
Terra, l'elemento terra, è il fondamento su cui giace il resto del software.
Terra fornisce una base per la composizione di programmi quantistici a livello di circuiti e impulsi, per ottimizzarli per i vincoli di un particolare dispositivo e per gestire l'esecuzione di batch di esperimenti su dispositivi di accesso remoto.
Terra definisce le interfacce per un'esperienza utente finale desiderabile, così come la gestione efficiente dei livelli di ottimizzazione, programmazione degli impulsi e comunicazione back-end.
L'acqua, l'elemento acqua, è l'elemento della vita.
Per rendere il quantum computing all'altezza delle sue aspettative, vanno trovate applicazioni del mondo reale. Aqua è il luogo in cui vengono costruiti gli algoritmi per i computer NISQ (Noisy Intermediate-Scale Quantum).
Questi algoritmi possono essere utilizzati per creare applicazioni per il calcolo quantistico. Aqua è accessibile agli esperti del dominio in chimica, ottimizzazione o intelligenza artificiale, che desiderano esplorare i vantaggi dell'utilizzo di computer quantistici come acceleratori per compiti computazionali specifici, senza doversi preoccupare di come tradurre il problema nel linguaggio delle macchine quantistiche.
Ignis, l'elemento fuoco, si dedica a combattere il rumore e gli errori e a forgiare un nuovo percorso.
Ciò include una migliore caratterizzazione degli errori, il miglioramento dei gate e l'elaborazione in presenza di rumore.
Ignis è pensato per coloro che desiderano progettare codici di correzione degli errori quantistici, o che desiderano studiare modi per caratterizzare gli errori attraverso metodi come la tomografia, o anche per trovare un modo migliore per utilizzare i gate esplorando il disaccoppiamento dinamico e il controllo ottimale.
Aer, l'elemento aria, permea tutti gli elementi Qiskit.
Per accelerare davvero lo sviluppo dei computer quantistici si ha bisogno di simulatori, emulatori e debugger migliori. IBM Q ha costruito simulatori di alta qualità e ad alte prestazioni e continuano a migliorare la loro scalabilità e funzionalità.
Aer aiuterà a comprendere i limiti dei processori classici dimostrando fino a che punto possono imitare il calcolo quantistico. Inoltre, si piò usare Aer per verificare che i computer quantistici attuali e del prossimo futuro funzionino correttamente. Ciò può essere fatto estendendo i limiti della simulazione per accogliere più di 50 qubit con profondità ragionevolmente elevata e simulando gli effetti del rumore realistico sul calcolo.
Qiskit porta con sé una comunità in crescita, puoi interagire con essa tramite Slack, GitHub, Medium, Facebook e altro.
VSCode è un editor di codice open source leggero ed estremamente versatile, essendo estremamente personalizzabile in base al codice che devi scrivere.
Recentemente, è stata creata una nuova estensione per Qiskit che semplifica l'intero processo di sviluppo per Qiskit.
IBM Q Experience è una manifestazione di tutta la natura più siderale di Qiskit nel mondo palpabile. IBM Q rappresenta gli sforzi di IBM per fare in modo che il Quantum Computing abbia un impatto sull'industria e sulla scienza.
IBM Q Experience significa che i Quantum Computers di IBM sono accessibili allo sviluppatore quotidiano. Per noi, questo significa scrivere alcuni circuiti quantistici ed eseguirli, non solo in un ambiente di simulazione, ma su uno dei veri Computer Quantum di cui dispone IBM.
Tutto quello che serve fare è creare un account e si é pronti per progettare ed eseguire i circuiti.