Programma · a.a. 2026/2027
Programma del corso
Tutto ciò che il corso copre, dal primo qubit all'architettura del quantum Internet, è incluso come riferimento ufficiale per l'anno accademico.
01
Motivazione
Il quantum computing è un paradigma computazionale emergente che sfrutta i principi della meccanica quantistica per elaborare l'informazione in modi fondamentalmente diversi da quelli dei computer classici. Sfruttando fenomeni come sovrapposizione, interferenza ed entanglement, gli algoritmi quantistici possono offrire vantaggi significativi per specifici compiti computazionali, tra cui la fattorizzazione di interi, la simulazione quantistica, l'ottimizzazione e la ricerca.
Il rapido progresso dell'hardware quantistico è stato accompagnato dallo sviluppo di ecosistemi software sempre più sofisticati. Oggi, software development kit come Qiskit consentono ai programmatori di progettare, simulare, testare ed eseguire programmi quantistici sia su simulatori classici sia su processori quantistici. Di conseguenza, la programmazione quantistica sta emergendo come una nuova disciplina all'intersezione tra informatica, ingegneria del software, matematica e scienza dell'informazione quantistica.
Allo stesso tempo, una seconda frontiera tecnologica sta prendendo forma: il quantum Internet. Mentre l'Internet classico consente lo scambio di informazione digitale, le reti quantistiche sono progettate per distribuire stati quantistici ed entanglement tra nodi geograficamente separati. Tali capacità aprono la strada ad applicazioni prive di controparte classica, tra cui la comunicazione quantum-secure, il calcolo quantistico distribuito, il blind quantum computing e le reti di sensori quantistici.
La visione di lungo periodo è la creazione di reti quantistiche su larga scala che interconnettano processori, memorie e sensori quantistici attraverso una nuova generazione di infrastrutture di comunicazione. Realizzare questa visione richiede lo sviluppo di nuove architetture, protocolli e tecnologie, tra cui i quantum repeater, i meccanismi di distribuzione dell'entanglement, il teletrasporto quantistico e i protocolli di controllo delle reti quantistiche.
Con la progressiva maturazione delle tecnologie quantistiche, gli ingegneri informatici e gli sviluppatori software avranno sempre più bisogno di comprendere non solo come funzionano i computer quantistici, ma anche come le applicazioni quantistiche possano essere progettate, implementate e distribuite su sistemi quantistici interconnessi.
Pensato per gli studenti di Computer Engineering, questo corso di livello intermedio sviluppa le conoscenze e le competenze pratiche necessarie per programmare i computer quantistici, implementare protocolli di comunicazione quantistica e comprendere le architetture alla base delle future reti quantistiche.
02
Descrizione del corso
Questo corso propone uno studio di livello intermedio del quantum computing e del quantum networking da una prospettiva di ingegneria del software. Introduce i concetti fondamentali dell'elaborazione dell'informazione quantistica, i principi alla base dei sistemi di comunicazione quantistica e le metodologie necessarie per progettare e implementare software e protocolli quantistici.
Il corso combina fondamenti teorici ed esperienza pratica di programmazione. Gli argomenti includono stati e operazioni quantistiche, algoritmi quantistici, protocolli di comunicazione quantistica, modelli di rumore quantistico, correzione degli errori quantistici e i principi architetturali del quantum Internet. Particolare enfasi è posta sulla comprensione di come l'informazione quantistica possa essere elaborata, trasmessa, protetta e sfruttata sia in computer quantistici isolati sia in sistemi quantistici interconnessi.
Una componente significativa del corso è dedicata allo sviluppo software. Attraverso lezioni, esercitazioni guidate e le attività pratiche del Laboratorio di Quantum Software, gli studenti imparano a implementare, testare, fare debug e analizzare algoritmi quantistici e protocolli di quantum networking utilizzando framework software moderni.
Il Laboratorio di Quantum Software utilizza Qiskit, l'SDK Python open-source di IBM per il quantum computing, e QuantumSavory.jl, un framework Julia per la simulazione e lo studio di sistemi e reti quantistiche. Gli studenti sviluppano programmi eseguibili su simulatori e, quando le risorse sono disponibili, su processori quantistici reali.
Risultati di apprendimento
Al termine del corso, gli studenti saranno in grado di:
- modellare e manipolare l'informazione quantistica utilizzando il formalismo matematico della meccanica quantistica
- progettare e implementare algoritmi quantistici utilizzando i framework software quantistici contemporanei
- analizzare gli effetti del rumore e delle imperfezioni nei sistemi quantistici
- comprendere i principi e i meccanismi della correzione degli errori quantistici
- implementare e valutare protocolli di comunicazione quantistica
- modellare e simulare reti quantistiche e architetture di quantum Internet
- valutare criticamente le opportunità e i limiti delle tecnologie quantistiche attuali ed emergenti
03
Ambito e focus
Questo corso adotta una prospettiva orientata al software sul quantum computing e sul quantum networking. Il suo obiettivo primario è fornire agli studenti gli strumenti concettuali e pratici necessari per progettare, implementare e analizzare algoritmi quantistici e protocolli di comunicazione quantistica.
I computer e le reti quantistiche sono invece trattati come sistemi programmabili il cui comportamento può essere modellato, analizzato e sfruttato attraverso il software. L'enfasi è quindi posta su elaborazione dell'informazione quantistica, programmazione quantistica, algoritmi quantistici, protocolli di comunicazione quantistica, correzione degli errori quantistici e architetture di rete quantistiche.
04
Prerequisiti
Gli studenti che si iscrivono a questo corso devono possedere:
- una solida preparazione in algebra lineare, inclusi spazi vettoriali, operatori lineari, matrici, autovalori e autovettori, trasformazioni di base, prodotti tensoriali e decomposizione spettrale
- buona padronanza della programmazione in Python
- una comprensione di base della complessità computazionale e dell'analisi degli algoritmi, incluse la notazione O-grande e le classi di complessità P e NP
05
Laboratorio di Quantum Software
La componente di laboratorio del corso offre esperienza pratica con i framework software quantistici e gli strumenti di sviluppo contemporanei. Il suo obiettivo primario è colmare il divario tra concetti teorici e implementazione pratica attraverso la progettazione, l'esecuzione e l'analisi di programmi quantistici e protocolli di quantum networking.
Gli studenti lavorano con due ambienti software complementari. Qiskit, l'SDK Python open-source di IBM, è utilizzato per sviluppare, simulare ed eseguire algoritmi quantistici su simulatori e, quando le risorse sono disponibili, su processori quantistici reali. QuantumSavory.jl, un framework Julia per la simulazione di sistemi e reti quantistiche, è utilizzato per modellare protocolli di comunicazione quantistica, meccanismi di distribuzione dell'entanglement e architetture di quantum Internet.
Il Laboratorio di Quantum Software enfatizza le pratiche di ingegneria del software, tra cui progettazione dei programmi, debugging, validazione, analisi delle prestazioni e riproducibilità. Particolare attenzione è dedicata alla comprensione di come i concetti teorici dell'informazione quantistica si traducano in software eseguibile.
06
Esame
La valutazione si basa su un esame orale in due parti — un circuito quantistico da analizzare, poi domande teoriche — e su un progetto sviluppato con Qiskit e/o QuantumSavory.jl. Regole, domande di esempio e progetti passati sono nella pagina Esame e Progetti.
07
Programma dettagliato
Due percorsi, sviluppati fianco a fianco.
Gli argomenti di dettaglio sono riportati in inglese, la lingua di erogazione del corso.
Il corso è organizzato come un unico percorso formativo integrato che unisce i Fondamenti teorici e un Laboratorio di Quantum Software. Il laboratorio non è né indipendente né accessorio: via via che i concetti teorici vengono introdotti, essi sono tradotti in codice, esplorati tramite simulazione e, quando possibile, provati su hardware quantistico. Sebbene i contenuti delle due componenti siano presentati separatamente qui sotto per chiarezza, essi procedono in parallelo e si completano e rafforzano a vicenda senza soluzione di continuità.
Il programma è organizzato in unità numerate identificate dalle lettere T e L: T indica i Fondamenti teorici, L il Laboratorio di Quantum Software.
Fondamenti teorici18 unità
1TFondamenti di quantum computing e sistemi a singolo qubit
- Course Overview and Learning Objectives
- From Classical Bits to Quantum Bits
- The Qubit as the Fundamental Unit of Quantum Computation
- Examples of Physical Qubit Realizations
- Postulate I: Quantum States and State Representation
- Mathematical Description of a Qubit
2TFondamenti matematici del quantum computing
- Complex Vector Spaces
- Hilbert Spaces
- Dirac (Bra-Ket) Notation
- Linear Independence and Basis Representations
- Linear Operators and Matrix Representations
- Inner Products and Outer Products
- The Pauli Operators
- The Gram–Schmidt Orthogonalization Procedure
- Eigenvalues, Eigenvectors, and Eigenspaces
- Adjoint, Hermitian, and Unitary Operators
- Spectral Decomposition of Hermitian Operators
- Positive and Positive Semidefinite Operators
- Tensor Products and Composite Systems
- Functions of Operators
- Commutators and Anticommutators
- Polar Decomposition
- Singular Value Decomposition (SVD)
3TSfera di Bloch e misura di singolo qubit
- Bloch Sphere Representation
- Single-Qubit Measurement
- Geometric Interpretation
- Postulate III: Single-Qubit Measurement
- Measurements in Bases Other than the Computational Basis
- Single-Qubit Measurement Implications
4TGate quantistici a singolo qubit
- Unitarity and Reversibility of Quantum Gates
- Identity Gate
- Pauli X, Z, and Y Gates
- S, T, and H Gates
- Global Phase and Relative Phase
- Rotation About x-, y-, and z-axes in the Bloch Sphere
- Postulate II: The Time Evolution of the State of a Closed Quantum System: the Schrödinger Equation
5TSistemi multi-qubit ed entanglement quantistico
- Postulate IV: Composite Quantum Systems
- Tensor Products and Multi-Qubit State Spaces
- Representing Multi-Qubit Quantum States
- Hermitian Operators and the Measurement Formalism
- Observables and Quantum Measurements
- Commuting and Non-Commuting Observables
- The Heisenberg Uncertainty Principle
- Measurements on Multi-Qubit Systems
- Bipartite Entanglement
- Multipartite Entanglement
- Entanglement as a Computational Resource
- Monogamy of Entanglement
6TIl modello di calcolo a circuiti quantistici
- Quantum Circuits as Computational Processes
- Multi-Qubit Quantum Gates
- Controlled Quantum Gates
- Universal Quantum Gate Sets
- Quantum Circuit Decomposition
- Quantum Circuit Complexity
- The No-Cloning Theorem
- Quantum Measurements within the Circuit Model
- From Quantum Algorithms to Quantum Circuits
7TTeletrasporto quantistico e superdense coding
- Entanglement as a Resource for Quantum Communication
- Bell States and Bell-State Measurements
- Quantum Teleportation
- Classical Communication and Feed-Forward Corrections
- Resource Analysis of the Teleportation Protocol
- Superdense Coding
- Resource Analysis of the Superdense Coding Protocol
8TFondamenti degli algoritmi quantistici
- Quantum Parallelism
- Quantum Interference
- Phase Kickback
- Quantum Oracles
- The Deutsch Problem
- The Deutsch Algorithm
- The Deutsch–Jozsa Problem
- The Deutsch–Jozsa Algorithm
- From Classical to Quantum Algorithm Design
9TQuantum Fourier Transform, phase estimation e order finding
- The Quantum Fourier Transform (QFT)
- The Inverse Quantum Fourier Transform
- Quantum Phase Estimation (QPE)
- Eigenvalue Estimation with Quantum Circuits
- Period Finding
- The Order-Finding Problem
- Shor's Order-Finding Algorithm
- Applications of Quantum Phase Estimation
10TRicerca quantistica e amplitude amplification
- Unstructured Search Problems
- Quantum Oracles for Search
- Amplitude Amplification
- Grover's Search Algorithm
- Geometric Interpretation of Grover's Algorithm
- Multiple-Solution Search Problems
- Quantum Counting
- Applications and Limitations of Quantum Search
11TQuantum Key Distribution
- Security from the Laws of Quantum Mechanics
- Principles of Quantum Key Distribution
- The BB84 Protocol
- The B92 Protocol
- Entanglement-Based Quantum Key Distribution
- Bell Inequalities and the CHSH Test
- The E91 Protocol
12TStati misti e formalismo dell'operatore densità
- Limitations of the State Vector Formalism
- Statistical Ensembles of Quantum States
- Pure and Mixed Quantum States
- Density Operators
- Quantum States in the Density Operator Formalism
- Trace and Partial Trace
- Reduced Density Operators
- Properties of Density Operators
- Single-Qubit Mixed States and the Bloch Ball
- Applications of the Density Operator Formalism
13TOperazioni quantistiche e modelli di rumore
- Limitations of Closed-System Evolution
- Open Quantum Systems
- Quantum Operations
- Environments and Quantum Operations
- The Operator-Sum Representation
- Kraus Operators
- Quantum Channels
- Single-Qubit Noise Models
- Bit-Flip Channel
- Phase-Flip Channel
- Depolarizing Channel
- Amplitude-Damping Channel
- Phase-Damping Channel
- Geometric Interpretation of Quantum Channels
- Applications of Quantum Operations
- Introduction to Quantum State Tomography
14TMisure di distanza e fidelity nell'informazione quantistica
- Distance Measures for Classical Information
- Comparing Quantum States
- Trace Distance
- Quantum State Fidelity
- Fidelity Between Pure and Mixed States
- Comparing Quantum Channels
- Process Fidelity
- Performance Evaluation of Quantum Systems
- Applications of Fidelity in Quantum Computing and Quantum Communications
15TCorrezione degli errori quantistici
- Why Quantum Error Correction Is Necessary
- Challenges of Protecting Quantum Information
- The Three-Qubit Bit-Flip Code
- The Three-Qubit Phase-Flip Code
- The Shor Code
- Syndrome Extraction and Error Detection
- Principles of Quantum Error Correction
- The Knill–Laflamme Conditions
- Limitations and Practical Challenges of Quantum Error Correction
16TFondamenti del Quantum Internet
- From the Classical Internet to the Quantum Internet
- Architecture of a Quantum Network
- Quantum Nodes, Memories, and Communication Links
- Entanglement Distribution Protocols
- Entanglement Swapping
- Quantum Repeaters
- End-to-End Entanglement Distribution
- Event-Driven Protocol Execution
- Performance Metrics for Quantum Networks
17TProtocolli di purificazione dell'entanglement
- Imperfect Entanglement in Quantum Networks
- Fidelity of Entangled States
- Werner States
- Principles of Entanglement Purification
- The BBPSSW Protocol
- The DEJMPS Protocol
- Resource Trade-Offs in Entanglement Purification
- Entanglement Purification and Quantum Repeaters
- The Role of Entanglement Purification in the Quantum Internet
18TCalcolo quantistico basato sulla misura e blind quantum computation
- Beyond the Quantum Circuit Model
- Graph States as Computational Resources
- Principles of Measurement-Based Quantum Computation
- Adaptive Measurements and Feed-Forward Operations
- Universal Quantum Computation with Graph States
- Brickwork States
- Blind Quantum Computation
- The Broadbent–Fitzsimons–Kashefi (BFK) Protocol
Laboratorio di Quantum Software8 unità
1LProgrammazione quantistica con Qiskit
Traduce in codice i concetti teorici sviluppati nelle Unità 1T–4T.
- Quantum Programming in the Era of Artificial Intelligence
- Developing with Large Language Models and Coding Agents
- The IBM Quantum Platform
- The Qiskit Open-Source SDK
- Installing and Configuring the Qiskit Environment
- Building and Visualizing Quantum Circuits
- Exporting and Importing OpenQASM 3 Programs
- Simulating Quantum Circuits with Qiskit Aer
- Implementing Single-Qubit Gates and Measurements
- Visualizing Single-Qubit States on the Bloch Sphere
2LCircuiti multi-qubit ed entanglement quantistico con Qiskit
Traduce in codice i concetti teorici sviluppati nelle Unità 5T–6T.
- Working with Multi-Qubit Registers and Qubit Ordering
- Preparing Multi-Qubit Superposition States
- Preparing Bell and GHZ States
- Implementing Multi-Qubit and Controlled Quantum Gates
- Decomposing Circuits into Universal Gate Sets
- Measuring Observables in Different Bases
- Demonstrating the No-Cloning Theorem through Quantum Circuits
- Computing Reduced States and Entanglement Diagnostics
- Profiling Circuit Depth, Width, and Gate Count
3LDai circuiti quantistici all'esecuzione quantistica
Traduce in codice i concetti teorici sviluppati nell'Unità 6T.
- The Qiskit Execution Model: Map, Optimize, Execute, Post-Process
- Selecting Backends: Simulators and Quantum Processors
- Inspecting Backend Targets and Hardware Constraints
- Transpiling Circuits with Preset Optimization Levels
- Analyzing Instruction Set Architecture (ISA) Circuits
- Running the Sampler and Estimator Primitives
- Managing Jobs, Batches, and Sessions on the IBM Quantum Compute Service
- Executing Quantum Programs on IBM Quantum Hardware
- Ensuring Reproducibility: Shots, Seeds, and Metadata
4LAlgoritmi quantistici con Qiskit
Traduce in codice i concetti teorici sviluppati nelle Unità 8T–10T.
- Implementing Quantum Oracles
- Observing Quantum Interference and Phase Kickback
- Implementing the Deutsch and Deutsch–Jozsa Algorithms
- Building the Quantum Fourier Transform Circuit
- Running Quantum Phase Estimation
- Simulating Period Finding and Order Finding
- Implementing Grover's Search and Amplitude Amplification
- Exploring Multiple-Solution Search and Quantum Counting
- Benchmarking Scalability: Depth, Shots, and Result Quality
5LComunicazione quantistica e Quantum Key Distribution con Qiskit
Traduce in codice i concetti teorici sviluppati nelle Unità 7T e 11T.
- Preparing Bell States and Implementing Bell-State Measurements
- Implementing Quantum Teleportation with Dynamic Circuits
- Implementing Superdense Coding
- Analyzing Protocol Resources: Qubits, Ebits, and Classical Bits
- Implementing the BB84 Protocol
- Implementing the CHSH Test and the E91 Protocol
- Simulating Eavesdropping and Estimating the Quantum Bit Error Rate
- Evaluating Key Distribution Performance Under Noise
6LModelli di rumore, fidelity e correzione degli errori quantistici con Qiskit
Traduce in codice i concetti teorici sviluppati nelle Unità 12T–15T.
- Computing Density Matrices and Reduced Density Operators
- Visualizing Mixed States in the Bloch Ball
- Implementing Quantum Channels with Kraus Operators
- Building Custom and Hardware-Calibrated Noise Models
- Running Quantum State and Process Tomography
- Estimating Trace Distance, State Fidelity, and Process Fidelity
- Applying Error Suppression and Error Mitigation
- Implementing the Three-Qubit Bit-Flip and Phase-Flip Codes
- Simulating the Shor Code: Error Injection and Recovery
7LSimulazione di reti quantistiche con QuantumSavory.jl
Traduce in codice i concetti teorici sviluppati nell'Unità 16T.
- From Quantum Computing to Quantum Networking
- Getting Started with the Julia Programming Language
- Setting Up QuantumSavory.jl and Its Simulation Backends
- Building Quantum Registers and Register Networks
- Implementing Quantum Channels and Classical Message Passing
- Configuring Noise and Decoherence Models for Quantum Memories
- Running Event-Driven Simulations and Synchronizing Protocols
- Modeling Quantum Nodes and Elementary Networks
- Visualizing and Evaluating Network Simulations
8LQuantum Internet e graph states con QuantumSavory.jl
Traduce in codice i concetti teorici sviluppati nelle Unità 16T–18T.
- Implementing Entanglement Distribution Protocols
- Simulating Entanglement Swapping and Entanglement Tracking
- Building Quantum Repeater Chains with Cutoff Policies
- Evaluating End-to-End Entanglement Distribution
- Modeling Quantum Internet Architectures: Chains, Grids, and Switches
- Generating Noisy Entangled States and Werner States
- Running Entanglement Purification: BBPSSW and DEJMPS
- Analyzing Fidelity Gain Versus Resource Cost
- Preparing Graph States for Measurement-Based Computation
- Simulating Blind Quantum Computation Scenarios
08
Riferimenti bibliografici
Quantum Computing
I testi sono elencati in ordine di difficoltà crescente: base, intermedio e avanzato.
- Base
Introduction to Classical and Quantum Computing
- Intermedio
An Introduction to Quantum Computing
- Avanzato
Quantum Computation and Quantum Information
Quantum Internet
Quantum Networking
The Quantum Internet — The Second Quantum Revolution
The Quantum Internet (Technical Version)
arxiv.org