Il corso base si propone di illustrare come utilizzare il linguaggio Python per il calcolo scientifico attraverso esempi ed applicazioni. L’approccio del corso è quello della programmazione con gli strumenti della matematica: dati vettoriali, algoritmi e la loro validazione mediante sperimentazione numerica. In particolare, il corso propone esempi ed esercizi per introdurre concetti chiave e strumenti pratici per il calcolo matriciale e la sua efficienza nei tempi di calcolo richiesti, l’interpretazione grafica dei risultati, la simulazione di modelli matematici, l’accelerazione delle performance tramite il calcolo parallelo su GPU.
- Programmare algoritmi di calcolo scientifico, in particolare utilizzando Python/NumPy
- Fare sperimentazione numerica e valutare le prestazioni dei metodi numerici
- Presentare graficamente dati e risultati multi-dimensionali, salvare e caricare file-dati in vari formati
- Creare e programmare algoritmi paralleli di algebra lineare su GPU con l’ausilio della libreria Numba
Il corso è strutturato in brevi video di spiegazione dei programmi e della sperimentazione legata agli esempi, nonché in test che prevedono anche brevi attività di programmazione e sperimentazione numerica.L’approccio didattico è orientato ad esporre i concetti teorici tramite esempi applicativi ed attività sperimentali al calcolatore.
I destinatari del corso sono studenti, laureati, ricercatori di qualunque disciplina, interessati al calcolo scientifico ad un livello intermedio/avanzato, tipico ormai di tutti i settori delle scienze applicate e dell'ingegneria.
Conoscenze pregresse necessarie sono:
Conoscenze di base di programmazione, in particolare in linguaggio Python;
Conoscenze di base di matematica, tipiche dei primi due anni delle lauree triennali di tipo scientifico o ingegneristico.
Verrà indicato del materiale introduttivo per colmare eventuali lacune. Per quanto riguarda il linguaggio Python, si raccomanda vivamente di consultare il materiale nel sito www.python.org