Qiskit Quantum Programming

I quantum computer, sfruttando alcune peculiari proprietà della meccanica quantistica (la sovrapposizione degli stati e l’entanglement), promettono di risolvere in modo efficiente alcuni importanti problemi computazionali che ad oggi sono considerati intrattabili. Un famoso esempio è l’algoritmo di Shor che rende possibile la fattorizzazione di numeri interi molto grandi in un tempo polinomiale, mettendo cosí a rischio i dati protetti mediante la crittografia RSA.

Le straordinarie proprietà dei quantum computer unite all’incredibile evoluzione tecnologica degli ultimi anni, hanno spinto i big player dell’IT (IBM, Google, Microsoft, Intel) ad investire in modo importante nella ricerca, progettazione e sviluppo di queste macchine. Parallelamente allo sviluppo tecnologico delle piattaforme hardware, negli ultimi due anni c’è stato, inoltre, un gran fiorire di frameworks per lo sviluppo di ‘software quantistico’.

Il corso si propone di introdurre i concetti fondamentali del Quantum Computing, gli algoritmi quantistici, le tecnologie utilizzate per realizzare i qubit, e gli strumenti di sviluppo per poter da subito scrivere codice per i quantum computers di IBM presenti già oggi nel cloud della IBM Quantum Experience.

L’aspetto operativo in questo corso è di primaria importanza, ed ha lo scopo di far prendere immediata confidenza con gli strumenti più complicati della computazione quantistica, utilizzando un approccio pratico, più semplice per gli  sviluppatori di software tradizionale.

Argomenti principali

  • Introduzione al paradigma del Quantum Computing e campi applicativi
  • Implementazioni hardware dei qubit (spin qubits, NV center qubits, superconducting qubits, topological qubits)
  • Elementi di base di algebra lineare e postulati della meccanica quantistica
  • Quantum gates: operazioni su singoli qubit e su più qubit
  • Il modello circuitale del calcolo quantistico (Algoritmi quantistici)
  • Differenza tra qubit logici e qubit fisici: il problema della correzione d’errore
  • I criteri di DiVincenzo: architettura per la realizzazione di un computer quantistico
  • Introduzione all’uso della IBM Quantum Experience
  • Qiskit: un framework open source per sviluppare e fare ricerca sui computer quantistici (guida al setup ed all’uso)

Implementazione pratica di algoritmi quantistici con Qiskit:

    • Implementazione dell’algoritmo di Deutsch
    • Gli algoritmi di Deutsch-Jozsa & Bernstein-Vazirani
    • L’algoritmo di Simon
    • L’algoritmo di ricerca di Grover
    • La QFT (Quantum Fourier Transform): trasformata quantistica di Fourier

Requisiti

Il corso è rivolto a tutti i professionisti dello sviluppo software,  agli studenti universitari interessati ad approfondire la programmazione dei quantum computers con Qiskit, ed a tutti gli appassionati.  Lo scopo del corso è quello di offrire un’approfondita introduzione al quantum computing, insieme a tutti gli strumenti necessari per implementare algoritmi quantistici con il framework Qiskit.

Durante il corso viene data importanza all’aspetto pratico, pertanto è consigliata la partecipazione con un proprio computer portatile per poter scrivere il codice durante la spiegazione del docente.

Materiale didattico

Tutti i partecipanti avranno a disposizione le slides del corso, e tutto il codice sorgente utilizzato durante le lezioni.

Ogni partecipante riceverà un attestato di partecipazione al corso.

0ore
0

FULL IMMERSION (dalle 09.00 alle 19.00) - 19/20 dicembre 2019 @MODENA