- Oggetto:
- Oggetto:
Algoritmi numerici per la fisica
- Oggetto:
Numerical Algorithms for Physics
- Oggetto:
Anno accademico 2024/2025
- Codice attività didattica
- MFN0868
- Docente
- Andrea Mignone (Titolare)
- Corso di studio
- 008510-102 Laurea Magistrale in Fisica ind. Astrofisica e Fisica Teorica
- Anno
- 1° anno, 2° anno
- Periodo
- Primo semestre
- Tipologia
- B=Caratterizzante
- Crediti/Valenza
- 6
- SSD attività didattica
- FIS/01 - fisica sperimentale
- Erogazione
- Tradizionale
- Lingua
- Italiano
- Frequenza
- Obbligatoria
- Tipologia esame
- Prova pratica
- Prerequisiti
-
Nozioni di programmazione in C++, conoscenza di Linux (o analogo).
Familiarità con la fisica di base insegnata al triennio (meccanica, elettromagnetismo, dinamica dei fluidi, termodinamica, meccanica quantistica).
Some (basic) knowledge of C++ and Linux-like systems.
Acquaintance with the basic physics knowledge, undergrad level (mechanics, electromagnetism, fluid dynamics, thermodynamics, quantum mechanics). - Propedeutico a
-
- Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
Il corso ha come scopo quello di avvicinare gli studenti all'uso di algoritmi in modo che siano in grado di affrontare i vari problemi numerici che incontrano nei loro studi. L'implementazione dei vari algoritmi verra' discussa usando problemi di fisica introdotti nei corsi precedenti.
The course is aimed at making the students familiar with the use of algorithms to enable them to face various numerical issues that they deal with during their studies. The implementation of various algorithms will be discussed using physical problems introduced in previous courses.
- Oggetto:
Risultati dell'apprendimento attesi
Lo studente impara, attraverso un linguaggio di programmazione a stilare programmi per la risoluzione di problemi scientifici.
The student learns, by means of a programming language, to compile programmes for the resolution fo scientific problems.
- Oggetto:
Programma
Il corso fornisce le basi per la risoluzioni di problemi scientifici di diversa natura. In particolare, vengono illustrate tecniche numeriche standard divise nei seguenti capitoli:
- Introduzione: breve ripasso di C++ (funzioni, preprocessore), shell di Linux (comandi base e compilazione da terminale);
- Precisione aritmetica: rappresentazione in virgola mobile, variabili in singola & doppia precisione, precisione di macchina. Incertezza, accuratezza e stabilità degli algoritmi.
- Calcolo di integrali definiti (quadratura numerica): metodo di Eulero, del trapezio. Regola di Simpson. Quadratura Gaussiana. Cenni di calcolo in più dimensioni.
- Numeri casuali e metodi di Monte Carlo (cenni);
- Ricerca degli zeri di funzioni (nonlineari): metodo di Bisezione, metodo di Newton-Raphson, metodo della secante e False Position. Convergenza.
- Differenziazione numerica.
- Risoluzione di equazioni differenziali ordinare (problemi ai valori iniziali): metodo di Eulero e metodi di Runge-Kutta del secondo e quart'ordine. Metodi simplettici. Convergenza. Conservazione dell'energia e reversibilità del moto. Metodi impliciti (cenni)
- Risoluzione di equazioni differenziali ordinare (problemi al contorno): metodo di "shooting", residuo e matching point. Applicazioni all'oscillatore armonico quantistico.
- Inversione di sistemi lineari: ripasso di array multidimensionali. Eliminazione Gaussiana. Risolutore per matrici tridiagonali. Problemi.
- Soluzione numerica di equazioni differenziali alle derivate parziali: Eq. ellittiche. Metodo di Jacobi, Gauss e Successive Over-Relaxation (SOR).
The course provides fundamental techniques for solving scientific problems of various kinds.In particular, standard numerical techniques are illustrated throghout the following chapters:
- Introduction: brief review of C ++ (functions, preprocessor), Linux shell (basic commands and compilation from terminal);
- Arithmetic precision: floating point representation, single & double precision variables, machine precision. Uncertainty, accuracy and stability of algorithms.
- Computation of definite integrals (numerical quadrature): Euler method, of the trapezoid. Simpson's rule. Gaussian quadrature. Hints of calculation in several dimensions.
- Random numbers and Monte Carlo methods (brief outline);
- Search for zeros of functions (nonlinear): bisection method, Newton-Raphson method, secant method and False Position. Convergence.
- Numerical differentiation.
- Numerical solution of ordinary differential equations (ODE, initial value problems): Euler method and second and fourth order Runge-Kutta methods. Symplectic methods. Convergence. Conservation of energy and reversibility of motion. Implicit methods (hints)
- Numerical solution of ordinary differential equations ordering (boundary problems): "shooting" method, residual and matching point. Applications to the quantum harmonic oscillator.
- Inversion of linear systems: review of multidimensional arrays. Gaussian Elimination. Solver for tridiagonal matrices. Problems.
- Numerical solution of partial differential equations (the elliptical case): methods of Jacobi, Gauss and Successive Over-Relaxation (SOR) method.
- Oggetto:
Modalità di insegnamento
Il corso prevede 60 ore di insegnamento in presenza, tipicamente ripartite in 20 lezioni da 3 ore l'una.
The course includes 60 hours of in-person teaching, typically divided into 20 lessons of 3 hours each.
- Oggetto:
Modalità di verifica dell'apprendimento
Il corso non prevede nessun esame orale.
Durante il corso vengono proposte diverse sessioni pratiche per facilitare la comprensione dell'algoritmo e la sua implementazione.
Sempre durante le ore di lezione vengono svolti dei "compiti in classe" o prove in cui viene richieso allo studente di risolvere un problema di fisica con i metodi presentati a lezione. L'esito di tali prove contribuisce alla determinazione del voto di base. Dopo la fine del corso, facoltativamente, lo studente può decidere di presentare un progetto aggiuntivo (dell'ordine di una decina di pagine) in cui viene risolto un problema fisica con metodi numerici. La valutazione del progetto contribuisce al miglioramento del voto di base.
The course does not include any oral exams.
During the course, several practical sessions are offered to facilitate the understanding of the algorithm and its implementation.
Additionally, during class hours, 'in-class assignments' or tests are conducted in which the student must solve a physics problem using the methods presented in the lectures. The results of these tests contribute to the determination of the base grade. After the course has ended, the student can optionally choose to submit an additional project (around ten pages) in which a physics problem is solved using numerical methods. The evaluation of the project can help improve the base grade
- Oggetto:
Attività di supporto
Testi consigliati e bibliografia
- Oggetto:
W.H. Press, S.A. Teukolsky, W. Vetterling and B. Flannery. Numerical Recipes in C (o Fortran). Cambridge University Press.
Donald B. KNUTH. "the Art of Computational Programming" Addison Wesley Ed.
Foley, van Dam, Feiner and Hughes.Computer Graphics (C o Pascal), Addison Wesely Ed.
Different English textbooks are suggested
W.H. Press, S.A. Teukolsky, W. Vetterling and B. Flannery. Numerical Recipes in C (o Fortran). Cambridge University Press.Donald B. KNUTH. "the Art of Computational Programming" Addison Wesley Ed.
Foley, van Dam, Feiner and Hughes.Computer Graphics (C o Pascal), Addison Wesely Ed.
- Oggetto:
Note
Frequenza obbligatoria. Si considerano assenze giustificate solo in caso di malattia / sovrapposizione con altri corsi / scioperi mezzi pubblici / sessioni di laurea. In ogni caso, il numero di assenze deve essere limitato.
Modalità di esame: orale. Per ulteriori dettagli vedi homepage del docente ( http://personalpages.to.infn.it/~mignone/Numerical_Algorithms/ )
Attendance is mandatory. Excused absences are considered only in case of illness / overlapping with other courses / public transport strikes / graduation sessions.
In any case, the number of absences has to be limited.
Examination methodology: Oral.
For further details please have a look on the personal webpage of the professor ( http://personalpages.to.infn.it/~mignone/Numerical_Algorithms/ )- Oggetto:
Insegnamenti che mutuano questo insegnamento
- Algoritmi Numerici per la Fisica (INT0572)Corso di laurea magistrale Interateneo in Fisica dei sistemi complessi
- Algoritmi Numerici per la Fisica (INT0572)
- Oggetto:
Altre informazioni
https://www.to.infn.it/%7emignone/Numerical_Algorithms/- Oggetto:
Orario lezioni
Giorni Ore Aula Giovedì 10:30 - 13:30 Aula Informatica F Dipartimento di Fisica Venerdì 10:30 - 13:30 Aula Informatica G Dipartimento di Fisica Lezioni: dal 03/10/2024 al 10/01/2025
- Registrazione
- Aperta
- Oggetto: