Metodi Computazionali della Fisica

Anno Accademico 2013-2014

Programma del Corso


  1. Cenni al sistema operativo Linux e ai suoi principali comandi. Documentazione in Linux. Ripasso del linguaggio C++.
  2. Ambienti di sviluppo integrato: Geany. Debugging e profiling. Algoritmi elementari.
  3. Uso di un programma per fare grafici: Grace. Animazioni grafiche con plotutils
  4. Integrazione: metodi del trapezio, di Simpson e di Gauss.
  5. Ricorrenza: successione di Fibonacci, polinomi ortogonali e funzioni associate di Legendre.
  6. Calcolo di polinomi. Interpolazione e approssimazione. Radici di equazioni: metodi della bisezione e di Newton.
  7. Sistemi di equazioni lineari. Calcolo di determinanti.
  8. Decomposizione LU. Matrici tridiagonali.
  9. Minimo di una funzione: ricerca aurea, interpolazione parabolica e simulated annealing.
  10. Equazioni differenziali: metodi di Eulero, Runge-Kutta e Numerov.
  11. Applicazioni alla fisica classica: fenomeni caotici.
  12. Metodi di ordinamento: insert sort e Shell sort; partizione di un array e quicksort.
  13. Trasformata di Fourier discreta e Fast Fourier Transform, funzione spettrale.
  14. Numeri pseudo-casuali, metodi Montecarlo.
  15. Studio del modello di Ising in una e due dimensioni.
  16. Metodi Montecarlo a cluster. Algoritmo di Wolff.
  17. Autovalori e autovettori di matrici: rotazioni di Jacobi. Riduzione alla forma tridiagonale con il metodo di Householder.
  18. Uso di librerie condivise: la GNU Scientific Library.
  19. Standard Template Library.
  20. Cenni al linguaggio di scripting Ruby
  21. Cenni al calcolo parallelo: MPI e CUDA.