Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • More
Listen to this page using ReadSpeaker
English ‎(en)‎
English ‎(en)‎ Italiano ‎(it)‎
 Log in
e-Learning - UNIMIB
Home
Percorso della pagina
  1. Science
  2. Bachelor Degree
  3. Fisica [E3005Q - E3001Q]
  4. Courses
  5. A.A. 2024-2025
  6. 3rd year
  1. Computational Physics Laboratory
  2. Summary
Insegnamento Course full name
Computational Physics Laboratory
Course ID number
2425-3-E3001Q066
Course summary SYLLABUS

Course Syllabus

  • Italiano ‎(it)‎
  • English ‎(en)‎
Export

Obiettivi

Apprendere le basi del calcolo scientifico numerico e dello studio di problemi di interesse per la Fisica con il computer.

Contenuti sintetici

Introduzione e concetti base della programmazione al computer. Metodi per la soluzione numerica di integrali, equazione differenziali ordinarie, sistemi lineari di equazioni e loro applicazioni, inclusa un'introduzione ai metodi Monte Carlo.

Programma esteso

Introduzione e concetti base

  • Rappresentazione dei numeri su un computer, aritmetica floating-point ed errori di round-off
  • Propagazione degli errori, Condition Numbers, e stabilità

Interpolazione/Ottimizzazione

  • Interpolazione tramite polinomi, (opzionale) interpolazione con funzioni razionali
  • (opzionale) Interpolazione con funzioni trigonometriche: Fast Fourier Transform

Integrazione numerica

  • La formula di integrazione di Newton e Cotes: regola dei trapezi, metodo di Simpson, Composite methods etc..
  • Metodi di integrazione Gaussiana. Analisi degli errori
  • Applicazione ad integrali semplici

Sistemi di equazioni lineari

  • Teniche e algoritmi per la soluzione di sistemi lineari
  • Data Fitting: problema lineare dei minimi quadrati e l'equazione normale

Ricerca degli zeri e punti di minimo tramite metodi iterativi

  • Sviluppo dei metodi iterativi e studio della loro convergenza
  • Metodi e algoritmi: bisezione, Newton-Raphson, etc.
  • Applicazioni: Radici di polinomi, (opzionale) sistemi non lineari dei minimi quadrati

Problema degli autovalori

  • Introduzione e nozione sugli autovalori
  • Metodi per la determinazione degli autovalori e autovettori di una matrice
  • (opzionale) calcolo dei valori singolari di una matrice e decomposizione ai valori singolari

Equazioni differenziali ordinarie

  • Alcuni teoremi sulla teoria delle equazioni differenziali ordinarie
  • Tecniche per la soluzione numerica di un'equazione differenziale: metodo di Eulero, Runge-Kutta, (opzionale) integratori simplettici
  • Applicazione: dinamica classica, equazione di Schroedinger etc.

Metodi Monte Carlo

  • Basi del metodo Monte Carlo. Generatori di numeri random
  • Importance sampling. Algoritmo di Metropolis-Hastings
  • Applicazioni a integrali semplici

Prerequisiti

Insegnamenti degli anni precedenti. Non sono richiesti prerequisiti particolari a livello di programmazione oltre alla conoscenza dei concetti base del linguaggio C: struttura di un codice, definizione di una variabile, di un array, di una funzione e di un ciclo.

Modalità didattica

L'attività si svolge esclusivamente in presenza nel laboratorio di informatica "Marco Comi" (aula 2026, piano 2, edificio U2). Le tecniche numeriche per la soluzione degli esercizi vengono presentate in alcune lezioni teoriche; ogni studente esegue in modo individuale le esercitazioni sotto la supervisione e con il supporto del docente.

Materiale didattico

Verranno caricate le note dei docenti sulla pagina del corso.

In aggiunta, si consiglia la consultazione dei seguenti volumi:

Titolo: Numerical Recipes
Autori: William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
Editore: CAMBRIDGE UNIVERSITY PRESS

Titolo: Introduction to Numerical Analysis 3rd Edizione
Autori: J. Stoer, R. Bulirsch
Editore: Springer

Titolo: Numerical Methods in Scientific Computing: Volume 1 & 2
Autori: Germund Dahlquist, Åke Björck
Editore: Society for Industrial and Applied Mathematics

Periodo di erogazione dell'insegnamento

Il primo turno del corso si terrà durante il primo semestre (con docenti il Prof. Mattia Bruno ed il Dott. Marco Ce'), mentre il secondo turno durante il secondo semestre (con docente il Prof. Mattia Dalla Brida). Gli studenti verranno divisi dai docenti sui due turni.

Modalità di verifica del profitto e valutazione

  1. Nel laboratorio lo studente deve risolvere numericamente una serie di problemi scrivendone il corrispondente codice.
  2. Ogni studente raccoglie i risultati ottenuti e lo studio effettuato in una relazione che deve essere inviata in formato pdf per email al docente almeno due settimane prima dell'orale, insieme ai codici e ai risultati.
  3. Esame orale che consiste nella discussione della relazione e delle soluzioni agli esercizi

La valutazione finale tiene conto dell'esame orale, dell'attivita' di laboratorio e del report finale. Se lo desiderano, gli studenti (Erasmus) possono sostenere l'esame in lingua inglese (sia la parte orale che la relazione scritta).

Gli studenti che seguiranno il corso durante il primo semestre verranno valutati dai docenti corrispondenti, il Prof. Mattia Bruno ed il Dott. Marco Ce', mentre quelli che lo seguiranno nel secondo semestre verranno valutati dal Prof. Mattia Dalla Brida.

Orario di ricevimento

Per gli studenti del primo semestre, su appuntamento, scrivendo un'e-mail ai docenti del corso: mattia.bruno@unimib.it e marco.ce@unimib.it

Per quanto riguarda gli studenti del secondo semestre, sempre su appuntamento, scrivendo un'e-mail al docente del corso: mattia.dallabrida@unimib.it

Sustainable Development Goals

ISTRUZIONE DI QUALITÁ
Export

Aims

Learn the basis of scientific numerical calculus and how to study physical problems with the computer.

Contents

Introduction and basic concepts of computer programming. Methods to numerically solve integrals, ordinary differential equations, linear systems of equations, and their applications, as well as an introduction to Monte Carlo methods.

Detailed program

Introduction and basic concepts

  • Representation of Numbers on a Computer, round-off errors and Floating-Point Arithmetic
  • Error Propagation, Condition Numbers, and Stability

Interpolation/Optimization

  • Interpolations by Polynomials, (optional) Interpolation by Rational Functions
  • (optional) Trigonometric Interpolation: Fast Fourier Transforms

Topics in Integration

  • The Integration Formulas of Newton and Cotes: Trapezoidal rule, Simpson’s rule, Composite rules, etc.
  • Gaussian Integration Methods. Error Analysis
  • Applications to simple integrals

Systems of Linear Equations

  • Techniques and Algorithms for solving Linear Systems
  • Data Fitting: Linear Least Squares and the Normal Equation

Finding Zeros and Minimum Points by Iterative Methods

  • Development of Iterative Methods and their Convergence
  • Basic Methods and Algorithms: Bisection, Newton-Raphson, etc.
  • Applications: Roots of Polynomials, (optional) Nonlinear Least-Squares

Eigenvalue Problems

  • Introduction and basic facts on Eigenvalues
  • Methods for Determining the Eigenvalues and Eigenvectors of a Matrix
  • (optional) Computation of the Singular Values of a Matrix and Singular Value Decomposition

Ordinary Differential Equations

  • Some Theorems from the Theory of Ordinary Differential Equations
  • Techniques for the numerical solution of a differential equation: Euler, Runge-Kutta, (optional) symplectic integrators
  • Applications: Classical dynamics, Schroedinger equation, etc.

Monte Carlo methods

  • Foundations of Monte Carlo methods. Random number generators
  • Importance sampling. Metropolis-Hastings algorithm
  • Applications to simple integrals

Prerequisites

Teachings of previous years. No particular coding skills are required other than very basic concepts of the C programming language, like the general structure of a code and the definition of a variable, of an array, of a function and of a loop.

Teaching form

Activity is carried out in the computer lab "Marco Comi" (room 2026, 2nd floor, building U2). The numerical techniques useful for solving the exercises are presented in a few theoretical lectures; each student works individually with the support of the teacher in case of need.

Textbook and teaching resource

The lecture notes by the teachers will be uploaded on the course webape.

In addition, we recommend the students to consult the following books:

Title: Numerical Recipes
Authors: William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
Editor: CAMBRIDGE UNIVERSITY PRESS

Title: Introduction to Numerical Analysis 3rd Edition
Authors: J. Stoer, R. Bulirsch
Editor: Springer

Title: Numerical Methods in Scientific Computing: Volume 1 & 2
Authors: Germund Dahlquist, Åke Björck
Editor: Society for Industrial and Applied Mathematics

Semester

The first instance of the course will take place during the first semester (under the supervision of Prof. Mattia Bruno and Dr. Marco Ce'), while a second instance will take place during the second semester (under the supervision of Prof. Mattia Dalla Brida). Students will be split up in the two instances by the teachers.

Assessment method

  1. In the computer lab the student has to solve numerically a number of execises by writing computer codes.
  2. Every student collects the results of the study in a written report. 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 at least two weeks before the exam.
  3. The exam, oral, consists in the discussion of the report and the solutions of the exercises.

The overall evaluation takes into account the oral exam, the lab activity and the final report. If desired, (Erasmus) students can give the exam in English (both the oral part and the written report).

The students that will attend the course during the first semester will be evaluated by the corresponding teachers, Prof. Mattia Bruno and Dr. Marco Ce', while those attending it during the second semester will be evaluated by Prof. Mattia Dalla Brida.

Office hours

For the students attending the course during the first semester, by fixing an appointment with the teachers via e-mail: mattia.bruno@unimib.it and marco.ce@unimib.it.

For the students attending the course during the second semester by fixing an appointment with the teacher via e-mail: mattia.dallabrida@unimib.it.

Sustainable Development Goals

QUALITY EDUCATION
Enter

Key information

Field of research
FIS/02
ECTS
8
Term
Annual
Activity type
Mandatory to be chosen
Course Length (Hours)
96
Degree Course Type
Degree Course
Language
Italian

Staff

    Teacher

  • MB
    Mattia Bruno
  • Marco Cè
    Marco Cè
  • MD
    Mattia Dallabrida

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Course enrol confirmation
Self enrolment (Student)

Sustainable Development Goals

QUALITY EDUCATION - Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all
QUALITY EDUCATION

You are not logged in. (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics