- Computational Physics Laboratory
- Summary
Course Syllabus
Obiettivi
Apprendere i fondamenti del calcolo numerico ed imparare a risolvere problemi scientifici mediante un computer.
Contenuti sintetici
Concetti iniziali dell'analisi numerica; metodi di integrazione deterministica di funzioni; metodo Monte Carlo ed integrazione stocastica; distribuzioni di probabilita' e teorema del limite centrale; metodi di soluzione di equazioni differenziali; calcolo degli zeri di una funzione.
Programma esteso
Concetti iniziali
- introduzione agli errori di arrotondamento e di troncamento
- codifica dei numeri nel computer
- condizionamento e stabilita'
Integrazione deterministica di funzioni
Si presentano vari metodi di integrazione deterministica di una funzione (trapezio, Simpson, Bode, Romberg, Gauss) e si discute la loro accuratezza numerica.
Metodo Monte Carlo e distribuzioni di probabilita'
Introduzione a metodi di integrazione stocastica e confronto di prestazione con i metodi deterministici.
Equazioni differenziali
Si presentano i principali metodi di integrazione numerica di equazioni differenziali: Eulero, leap-frog, Runge-Kutta.
Zeri di funzione
Si discutono i metodi di bisezione e di Newton-Raphson per il calcolo numerico degli zeri di una funzione.
Prerequisiti
Insegnamenti degli anni precedenti. Non sono richiesti prerequisiti particolari a livello di programmazione oltre alla conoscenza dei concetti base: struttura di un codice, definizione di una variabile, di un array, di una funzione e di un ciclo. Il linguaggio di programmazione e' a scelta dello studente tra C e Fortran.
Modalità didattica
L'attivita' e' svolta esclusivamente in presenza nel laboratorio informatico. In alcune lezioni teoriche iniziali si introducono le tecniche numeriche utili allo svolgimento delle esercitazioni di laboratorio; ogni studente esegue in modo individuale le esercitazioni sotto la supervisione e con il supporto del docente.
Materiale didattico
Note del docente che vengono caricate su elearning.unimib.it
Numerical Recipes
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
CAMBRIDGE UNIVERSITY PRESS
Periodo di erogazione dell'insegnamento
Due lezioni a settimana nel primo semestre
Modalità di verifica del profitto e valutazione
Le esercitazioni di laboratorio prevedono la soluzione di esercizi mediante la scrittura di codici. I risultati ottenuti e lo studio effettuato vengono raccolti in una relazione che ogni studente deve preparare. L'esame e' orale e verte sulla discussione della soluzione delle esercitazioni proposte. Almeno 2 settimane prima della data dell'esame lo studente deve inviare per email al docente la relazione in formato pdf e una cartella contenente i codici e i risultati. La valutazione complessiva finale si basa sulla prova orale, sull'attivita' svolta in laboratorio, sullo studio effettuato e sulla relazione finale.
Orario di ricevimento
In qualsiasi momento e' possibile richiedere per e-mail un appauntamento.
Sustainable Development Goals
Aims
Learning the basis of numerical calculus and how to solve scientific problems with a computer.
Contents
Basic concepts of numerical analysis; deterministic methods for computing integrals; Monte Carlo methods and stochastic integration; probability distributions and central limit theorem; numerical solution of differential equations; zeros of a function
Detailed program
Basic concepts
- introduction to rounding error and truncation error
- storing numbers in a computer
- conditioning and stability
Deterministic integration of a function
Various deterministic techniques for the numerical calculation of integrals are presented: trapeziodal rule, Simpson, Bode, Romberg and Gauss methods. Special focus on the expected numerical accuracy.
Monte Carlo methods and probability distributions
Stochastic methods for computing integrals are discussed and compared with deterministic ones.
Differential equations
Main techniques for the numerical solution of a differential equation are presented: Euler, leap-frog and Runge-Kutta methods.
Zeros of a function
The bisection and the Newton-Raphson methods for computing the zeros of a functions are discussed.
Prerequisites
Teachings of previous years. No special prerequisites or particular coding skills are required other than very basic concepts like the general structure of a code and the definition of a variable, of an array, of a function and of a loop. The coding language can be chosen between C and Fortran.
Teaching form
Activity in carried out in the computer lab. In some initial theoretical lectures the numerical techniques useful for solving the exercises are presented; each student works individually with the support of the teacher in case of need.
Textbook and teaching resource
Teacher's notes available on elearning.unimib.it
Numerical Recipes
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
CAMBRIDGE UNIVERSITY PRESS
Semester
Twice a week in the first semester
Assessment method
In the computer lab the student has to solve numerically a number of execises by writing computer codes. The results of the study are presented in a report that each student has to write. The exam is oral and concerns the discussion of the solution of the exercises; at least two weeks in advance of the exam, the report (in pdf format) as well as the codes and the results of the numerical study have to be sent to the teacher by email. The overall evaluation takes into account the oral exam, the lab activity, the study that has been done and the final report.
Office hours
Anytime after an e-mail appointment.
Sustainable Development Goals
Key information
Staff
-
Marco Cè
-
Michele Pepe