- Oggetto:
- Oggetto:
Algoritmi numerici per la fisica
- Oggetto:
Numerical Algorithms for Physics
- Oggetto:
Anno accademico 2021/2022
- Codice dell'attività didattica
- MFN0868
- Docente
- Prof. Andrea Mignone (Titolare del corso)
- Corso di studi
- 008510-102 Laurea Magistrale in Fisica ind. Astrofisica e Fisica Teorica
- Anno
- 1° anno 2° anno
- Periodo didattico
- Primo semestre
- Tipologia
- B=Caratterizzante
- Crediti/Valenza
- 6
- SSD dell'attività didattica
- FIS/01 - fisica sperimentale
- Modalità di erogazione
- Tradizionale
- Lingua di insegnamento
- Italiano
- Modalità di frequenza
- Obbligatoria
- Tipologia d'esame
- Prova pratica
- Prerequisiti
-
Nozioni di programmazione in C++, conoscenza di Linux (o analogo).
Some (basic) knowledge of C++ and Linux-like systems. - 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:
Modalità di insegnamento
Per l'a.a. corrente le lezioni avverranno in presenza e saranno anche trasmesse
in streaming tramite la pagina WebEx personali del docente, esclusivamente per studenti seriamente impossibilitati a partecipare alle lezioni in presenza. La prima lezione sarà il 07/10/2021 alle ore 10:30 in Aula Informatica e al seguente link:https://unito.webex.com/meet/andrea.mignone
Se l’emergenza sanitaria dovesse persistere e/o aggravarsi le lezioni potranno essere svolte a distanza tramite piattaforma WebEx.
For the current academic year lectures will take place face to face and will also be broadcasted through the teacher's personal WebEx page, exclusively for students who are seriously unable to attend face-to-face lessons.
The first lesson will be on 07/10/2021 at 10:30 in the Computer Room and at the following link:
https://unito.webex.com/meet/andrea.mignoneIf the health emergency persists and / or worsens, the lessons can be held remotely via the WebEx platform.
- Oggetto:
Modalità di verifica dell'apprendimento
Durante il corso vengono proposte diverse applicazioni che devono essere implementate a lezione. Queste vengono corrette di volta in volta ed alla fine del corso viene proposto un voto che riassume il giudizio sulle varie parti.
During the course different applications, which have to be implemented during the lectures, are presented. These are corrected from time to time and at the end of the course a grade that summarized the different evaluations given during the lectures is proposed.
- Oggetto:
Attività di supporto
- 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.
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:
Orario lezioni
Giorni Ore Aula Giovedì 10:30 - 13:30 Aula Informatica F Dipartimento di Fisica Venerdì 10:30 - 13:30 Aula Informatica F Dipartimento di Fisica Lezioni: dal 07/10/2021 al 14/01/2022
- Oggetto:
Note
Nessuna propedeuticità obbligatoria. Frequenza non obbligatoria, ma fortemente consigliata. Modalità di esame: orale. Per ulteriori dettagli vedi homepage del docente
No previous attendance required. Attendance at the course is not mandatory, but strongly reccomended. Examination methodology: Oral.
For further details please have a look on the personal webpage of the professor.- Oggetto:
Altre informazioni
http://personalpages.to.infn.it/%7emignone/Numerical_Algorithms/- Oggetto: