Questa pagina descrive in maniera concisa i corsi di Analisi Numerica disponibili nel corso di Laurea in Matematica. Lo scopo è permettere a studenti interessati ad un curriculum applicativo (e non) di scegliere al meglio i corsi che ritengono più interessanti.
Si suggeriscono anche alcuni possibili piani di studio, con indirizzi legati ai vari ambiti dell’Analisi Numerica.
Nota: alcuni corsi vengono attivati solo in anni accademici pari (es. 2024/25) oppure dispari (es. 2025/26). Il prossimo anno accademico di attivazione è riportato sotto il nome del corso.
Calcolo Scientifico
Attivazione: tenuto ogni anno.
Questo corso è obbligatorio per chi fa un curriculum applicativo, oppure un curriculum triennale computazionale.
Nel corso si studiano tutte le strategie di algebra lineare numerica utili per affrontare problemi computazionali, ovvero:
- Calcolo di autovalori
- Risoluzione di sistemi lineari e problemi ai minimi quadrati
Per entrambe la categorie di problemi, si forniranno gli strumenti per risolvere il problema con matrici “piccole” (indicativamente di dimensione $n < 1000$), utilizzando metodi di algebra lineare densa simili a quelli visti ad Analisi Numerica, e per matrici “grandi”, in cui invece si risolve il problema determinando opportuni sottospazi dove proiettarlo, per poi riportarsi al caso precedente di problemi densi. Per questa seconda categoria, verrà introdotta la teoria dei metodi di Krylov, e tutti i metodi iterativi associati (Arnoldi, Lanczos, GMRES, FOM, MINRES e il gradiente coniugato).
Metodi Numerici per Equazioni Differenziali Ordinarie
Attivazione: tenuto ogni anno
Questo è un corso formalmente triennale, ma può essere seguito a scelta anche durante la magistrale.
Il corso si pone l’obiettivo di studiare metodi per la risoluzione di ODE della forma $y’ = f(t,y)$, con opportuni dati iniziali. La funzione $y(t)$ può essere a valori in $\mathbb C$ od $\mathbb R$, ma più spesso il problema di interesse è formulato in uno spazio vettoriale ($\mathbb C^n$ oppure $\mathbb R^n$). Quest’ultimo caso appare naturalmente dalla semi-discretizzazione di equazioni alle derivate parziali, una volta discretizzate in spazio (ma non in tempo).
L’approssimazione della soluzione $y(t)$ si ottiene discretizzando l’intervallo di tempo di interesse con un insieme discreto di punti
$$t_0 < t_1 < \ldots < t_N,$$
dove quasi sempre si sceglie $t_j = t_0 + jh$ per una certo intervallo di tempo $h > 0$. Gli obiettivi del corso saranno:
- Dimostrare che, sotto ipotesi opportune, si può avere convergenza della soluzione discreta $y_j$ alla soluzione continua valutata ai tempi $t_j$ per $h \to 0$.
- Analizzare cosa succede per $h$ piccolo ma non infinitesimo: la dinamica dei metodi numerici si rivelerà essere molto ricca, e la scelta del metodo “giusto” strettamente legata alle proprietà dell’equazione differenziali da risolvere.
- Capire come preservare eventuali invarianti del problema continua (e.g., energie o altri integrali primi).
Metodi numerici per riduzione di modello
Attivazione: anni accademici pari (prossima attivazione: 2026/27)
Obiettivo del corso è studiare la soluzione di equazioni differenziali alle derivate parziali (potenzialmente dipendenti da parametri) tramite metodi alle basi ridotte. In sintesi, si considera un’equazione differenziale, ad esempio della forma
$$\frac{\partial u}{\partial t} = L(u, p) + f,$$
dove $L(\cdot, p)$ è un operatore differenziale che dipende da un parametro $p$. Risolvere “classicamente” (ad esempio con un metodi agli elementi finiti) queste equazioni differenziali può richiedere una discretizzazione con un alto numero di parametri, e un relativo alto costo computazionale.
Tuttavia, è spesso possibile approssimare la dinamica di questa PDE in uno spazio a dimensione più piccola – con un errore uniformemente limitato per tutti i valori dei parametri. Quando questo è possibile, si sviluppano i cosiddetti metodi alle basi ridotte, che permettono di integrare l’equazione ad un costo molto più basso. Il corso si porrà il problema di capire quando quest’operazione è possibile, e soprattutto di come costruire questi modelli ridotti a partire dal problema originale.
Metodi numerici per problemi inversi
Attivazione: anni accademici dispari (prossima attivazione: 2025/26)
L’obiettivo principale del corso è la formulazione e la risoluzione numerica di problemi inversi tramite metodi di regolarizzazione, con particolare attenzione alle molteplici applicazioni (tipo imaging) a cui sono naturalmente associati. Il corso si concentra su problemi inversi lineari. Dopo aver introdotto metodi di regolarizzazione classici (tipo TSVD e standard Tikhonov), che si basano essenzialmente sulla decomposizione a valori singolari della matrice che mappa la quantità di interesse ai dati, e dopo aver introdotto metodi per la scelta del parametro di regolarizzazione, vengono considerati metodi di regolarizzazione più avanzati che:
- si basano su metodi di Krylov (tipo GMRES ed LSQR);
- richiedono la soluzione di un problema variazionale con ipotesi minima di regolarità (per esempio, metodi di regolarizzazione che coinvolgono la norma 1;
- metodi di regolarizzazione data-driven (ottimizzati assumendo la disponibilità di training data).
Al termine del corso gli studenti saranno in grado di formulare problemi inversi ed applicare metodi di regolarizzazione appropriati (per quanto riguarda la scelta del parametro e termine di regolarizzazione, e algoritmi per la loro risoluzione), anche in contesti di real data e large-scale data.
Metodi numerici per funzioni di matrici
Attivazione: anni accademici pari (prossima attivazione: 2026/27)
L’obiettivo principale del corso è lo studio delle proprietà teoriche delle funzioni di matrici e degli algoritmi per il loro calcolo. Saranno studiati sia algoritmi generali che algoritmi che si applicano a funzioni particolari (ad es. esponenziale di matrici, radice quadrata di matrici, segno di matrici). Una parte del corso sarà dedicata agli algoritmi per il calcolo di $f(A)b$ per una matrice sparsa $A$.
Nel corso saranno presentati anche alcuni prerequisiti teorici come prodotti di Kronecker, equazioni di Sylvester, sottospazi invarianti.
Modelli matematici e loro simulazione numerica
Attivazione: anni accademici pari (prossima attivazione: 2026/27)
Il corso mira a fornire agli studenti le competenze pratiche necessarie per la costruzione e l’analisi di strumenti numerici per la simulazione di modelli matematici applicati a sistemi complessi in vari ambiti scientifici e ingegneristici. Gli studenti acquisiranno una solida esperienza d’uso su problemi reali dei principali metodi di modellizzazione matematica, come le equazioni differenziali ordinarie e alle derivate parziali, modelli discreti e stocastici, insieme alle tecniche per risolverli numericamente.
Verranno introdotti strumenti e algoritmi per la simulazione numerica di tali modelli, favorendo lo sviluppo di abilità nel programmare e implementare algoritmi efficienti e nel valutare criticamente i risultati delle simulazioni. Al termine del corso, gli studenti saranno in grado di applicare metodi matematici e strumenti computazionali per analizzare e simulare problemi reali, valutando l’accuratezza, l’efficienza e i limiti dei modelli sviluppati.
Metodi numerici per la grafica
Attivazione: anni accademici pari (prossima attivazione: 2026/27)
Il corso si propone di presentare tecniche numeriche classiche per la rappresentazione, la manipolazione e lo studio di curve e superfici.
In particolare, durante il corso si studieranno nel dettaglio i polinomi di Bernstein e le curve di Bézier, con relativi algoritmi per la loro manipolazione e valutazione: de Casteljau, derivata, suddivisione, degree elevation, forme di Bézier e baricentrica. Si studieranno poi la classe delle matrici totalmente positive. Per queste si vedranno le principali proprietà e fattorizzazioni; si introdurranno basi totalmente positive, la proprietà di variation diminishing.
Si vedranno poi tecniche di interpolazione e curve spline, e verranno introdotte le B-splines. L’ultima parte del corso sarà dedicate alle curve di Bézier razionali e curve NURBS, alle superfici di tipo prodotto tensore e superfici NURBS, coordinate baricentriche, polinomi di Bézier triangolari, patch di Bézier triangolari. Per concludere, si introdurranno tecniche di suddivisione per curve e superfici.
Metodi numerici per catene di Markov e reti complesse
Attivazione: anni accademici pari (prossima attivazione: 2026/27)
Dopo una introduzione alle catene di Markov e sulla teoria delle matrici non negative, verranno presentate applicazioni delle catene di Markov e verranno studiati metodi numerici per il calcolo di quantità di interesse nella modellizzazione di problemi del mondo reale mediante catene di Markov. Particolare attenzione e’ rivolta al calcolo del vettore invariante di probabilità, nel caso finito e infinito dimensionale.
Verranno poi introdotte reti complesse rappresentate mediante grafi e verranno studiati cammini casuali su grafi, modellizzati mediante catene di Markov. Verranno studiate, sia dal punto di vista teorico che computazionale, misure di centralità di grafi basate sul calcolo di funzioni di matrici e sulle proprietà di catene di Markov.
Metodi numerici per equazioni alle derivate parziali
Attivazione: anni accademici pari (prossima attivazione: 2026/27)
L’obiettivo principale del corso è lo studio della soluzione di equazioni differenziali alle derivate parziali mediante metodi numerici avanzati. Obiettivo è quello di fornire agli studenti da una parte gli strumenti teorici necessari alla costruzione degli opportuni spazi di approssimazione funzionale delle soluzioni, dall’altra di discutere le conseguenze dal punto di vista numerico e dell’algebra lineare delle scelte fatte.
Metodi numerici per il controllo ottimo
Attivazione: anni accademici dispari (prossima attivazione: 2025/26)
rso mira a fornire le conoscenze teoriche e pratiche necessarie per affrontare problemi di controllo ottimo attraverso strumenti e tecniche numeriche avanzate. Gli studenti apprenderanno i fondamenti del controllo ottimo, incluse le formulazioni di problemi di ottimizzazione dinamica, di ottimizzazione vincolate da equazioni alla derivate parziali e i principali metodi di risoluzione, come il metodo del gradiente, il principio del massimo di Pontryagin, la programmazione dinamica e le tecniche basate su metodi diretti e indiretti.
Durante il corso, sarà dedicata particolare attenzione alla comprensione e implementazione di algoritmi numerici per la risoluzione di problemi di controllo ottimo, con applicazioni in contesti ingegneristici e scientifici. Al termine del corso, gli studenti saranno in grado di modellare e risolvere problemi di controllo ottimo, valutandone l’efficienza e i limiti, e di applicare tali metodi a casi di studio reali utilizzando strumenti di calcolo numerico.
Metodi numerici per il calcolo tensoriale
Attivazione: anni accademici dispari (prossima attivazione: 2025/26)
L’obiettivo del corso è introdurre diverse generalizzazioni del concetto di rango al contesto tensoriale ed analizzare le tecniche di rappresentazione ed approssimazione di tensori. Gli studenti diventeranno familiari con varie rappresentazioni tensoriali come Canonical Polyadic Decomposition, Tucker decomposition e Tensor Train, e con procedure efficienti dedicate alla valutazione di operazioni algebriche in tali formati. Verranno trattati algoritmi che combinano le rappresentazioni tensoriali con metodi di algebra lineare numerica per risolvere sistemi lineari e problemi agli autovalori provenienti dalla discretizzazione di problemi alto dimensionali. Al termine del corso, gli studenti saranno in grado di applicare metodi di rappresentazione o approssimazione tensoriale per la risoluzione di problemi algebrici con tale struttura, valutando l’efficienza e i limiti degli approcci sviluppati.
Metodi probabilistici per l’algebra lineare numerica
Attivazione: anni accademici dispari (prossima attivazione: 2025/26)
L’obiettivo principale del corso è lo studio, sia dal punto di vista numerico che da quello teorico, di algoritmi probabilistici per la risoluzione di problemi di algebra lineare. Gli argomenti trattati includeranno l’approssimazione di rango basso di matrici, problemi ai minimi quadrati, il calcolo di autovalori e della traccia di matrici. Al termine del corso gli studenti saranno in grado di scegliere il metodo adatto per ciascun problema, implementarlo, e analizzarne l’accuratezza e l’efficienza.
Aspetti matematici della computazione quantistica
Attivazione: anni accademici dispari (prossima attivazione: 2025/26)
Il corso si pone l’obiettivo di fornire le basi degli algoritmi in ambito di computazione quantistica, con un’approccio a metà fra l’Analisi Numerica e la probabilità. Gli argomenti affrontati sono i seguenti:
- Postulati della meccanica quantistica (in dimensione finita), stati puri, equazione di Schrödinger, osservabili e misure, principio di indeterminazione
- Qubits, sfera di Bloch, operazioni elementari (matrici di Pauli)
- Sistemi composti, stati misti (matrice densità), traccia parziale (matrice densità ridotta)
- Cenni ai sistemi aperti (rappresentazione di Kraus)
- Entaglement, stati di Bell, telefono di Bell e no-cloning
- Circuiti quantistici ed algoritmi principali della computazione quantistica: Deutsch-Jozsa, Teleportation, Quantum Fourier Transform, Shor, Grover, Quantum phase estimation, HHL
- Eventuali cenni ad argomenti avanzati (ad esempio: quantum walks, Quantum machine learning, QAOA).