Vai al contenuto principale
Oggetto:
Oggetto:

Algoritmi numerici per la fisica

Oggetto:

Numerical Algorithms for Physics

Oggetto:

Anno accademico 2022/2023

Codice dell'attività didattica
MFN0868
Docente
Andrea Mignone (Titolare)
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 esclusivamente in presenza. 

For the current academic year lectures will take place face to face

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:

  1. Introduzione: breve ripasso di C++ (funzioni, preprocessore), shell di Linux (comandi base e compilazione da terminale);
  2. Precisione aritmetica: rappresentazione in virgola mobile, variabili in singola & doppia precisione, precisione di macchina. Incertezza, accuratezza e stabilità degli algoritmi.
  3. Calcolo di integrali definiti (quadratura numerica): metodo di Eulero, del trapezio. Regola di Simpson. Quadratura Gaussiana. Cenni di calcolo in più dimensioni.
  4. Numeri casuali e metodi di Monte Carlo (cenni);
  5. Ricerca degli zeri di funzioni (nonlineari): metodo di Bisezione, metodo di Newton-Raphson, metodo della secante e False Position. Convergenza.
  6. Differenziazione numerica.
  7. 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)
  8. Risoluzione di equazioni differenziali ordinare (problemi al contorno): metodo di "shooting", residuo e matching point. Applicazioni all'oscillatore armonico quantistico.
  9. Inversione di sistemi lineari: ripasso di array multidimensionali. Eliminazione Gaussiana. Risolutore per matrici tridiagonali. Problemi.
  10. 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:

  1. Introduction: brief review of C ++ (functions, preprocessor), Linux shell (basic commands and compilation from terminal);
  2. Arithmetic precision: floating point representation, single & double precision variables, machine precision. Uncertainty, accuracy and stability of algorithms.
  3. Computation of definite integrals (numerical quadrature): Euler method, of the trapezoid. Simpson's rule. Gaussian quadrature. Hints of calculation in several dimensions.
  4. Random numbers and Monte Carlo methods (brief outline);
  5. Search for zeros of functions (nonlinear): bisection method, Newton-Raphson method, secant method and False Position. Convergence.
  6. Numerical differentiation.
  7. 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)
  8. Numerical solution of ordinary differential equations ordering (boundary problems): "shooting" method, residual and matching point. Applications to the quantum harmonic oscillator.
  9. Inversion of linear systems: review of multidimensional arrays. Gaussian Elimination. Solver for tridiagonal matrices. Problems.
  10. 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

GiorniOreAula
Giovedì10:30 - 13:30Aula Informatica F Dipartimento di Fisica
Venerdì10:30 - 13:30Aula Informatica F Dipartimento di Fisica

Lezioni: dal 27/09/2022 al 13/01/2023

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:

Altre informazioni

http://personalpages.to.infn.it/%7emignone/Numerical_Algorithms/
Oggetto:
Ultimo aggiornamento: 26/04/2023 14:06
Location: https://www.fisicamagistrale.unito.it/robots.html
Non cliccare qui!