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