lezioni unimi a. a. 2008/2009: metodi monte carlo in c++ |
venerdì
05/12/08
[16 - 19] |
argomenti:
- presentazione del corso;
- algoritmi di integrazione in una dimensione:
- formule di newton-cotes (trapezioidale e di simpson);
- integrazione gaussiana;
- la routine DGAUSS;
- utilizzo delle librerie iostream, iomanip, cmath;
riferimenti:
- slide della lezione (pdf);
- numerical recipes (sec. 4.1-4.5);
- wikipedia (html);
- cernlib (html);
- dgauss (cpp);
sottofondo:
- mouse on mars - rost pocks (2003)
(html);
|
martedì
09/12/08
[16 - 19] |
argomenti:
- generatori di numeri casuali;
- generatori di numeri pseudocasuali;
- propagazione dell'errore sulla somma di due misure: confronto tra
tecniche monte carlo e somma in quadratura;
riferimenti:
- slide della lezione (pdf);
- a million random digits (html);
- numerical recipes (sec. 7.1);
- wikipedia: random generator (html);
- wikipedia: LCG (html);
- cppreference (html);
sottofondo:
- air - moon safari (1998)
(html);
|
mercoledì
10/12/08
[16 - 19] |
argomenti:
- tecniche monte carlo per l'integrazione in più dimensioni;
- calcolo del centro di massa di un solido non regolare e con densità
non uniforme;
- l'agoritmo vegas;
riferimenti:
- slide della lezione (pdf);
- numerical recipes (sec. 7.6-7.9)(html) (pdf);
- wikipedia: VEGAS algorithm (html);
sottofondo:
- autechre - incunabula (1997)
(html);
|
giovedì
11/12/08
[17 - 19] |
argomenti:
- esempio 1: generazione di dati artificiali e propagazione degli errori su una funzione dei dati;
riferimenti:
- slide della lezione (pdf);
sottofondo:
- daft punk - homework (1993)
(html);
|
lunedì
15/12/08
[16 - 19] |
argomenti:
- esempio 2: integrazione dello spazio delle fasi a n-particelle;
riferimenti:
- slide della lezione (pdf);
sottofondo:
- aphex twin - melodies from mars (1995)
(html);
|
giovedì
18/12/08
[16 - 19] |
argomenti:
- esempio 3: energia interna di un gas di boltzmann;
riferimenti:
- slide della lezione (pdf);
- java simulations for statistical and thermal physics (html);
sottofondo:
- cut copy - in ghost colours (2008)
(html);
|
lunedì
12/01/09
[16 - 19] |
argomenti:
- introduzione a ROOT;
- introduzione a MINUIT;
- definizione dei progetti personali.
riferimenti:
sottofondo:
- chemical brothers - push the button (2005)
(html);
|
martedì
13/01/09
[16 - 19] |
argomenti:
- esempio di GUI con ROOT;
- esempio di GUI con wxWidgets in c++;
- esempio di GUI con wxWidgets in python;
riferimenti:
- codice della lezione (pdf);
- wxWidgets (html);
- Julian Smart and Kevin Hock - Cross-Platform GUI Programming with wxWidgets(pdf);
strumenti:
- ROOT GUI Builder (pdf);
- wxFormBuilder (pdf);
- wxGlade (pdf);
- Boa Contructor (pdf);
sottofondo:
- justice - cross (2008)
(html);
|
mercoledì
15/01/09
[15 - 19] |
attività:
- sviluppo progetto personale.
|
lunedì
19/01/09
[16 - 19] |
attività:
- sviluppo progetto personale.
|
martedì
27/01/09
[18] |
attività:
- consegna relazione (via mail con in cc vicini).
|
mercoledì
28/01/09
[10 - 13] |
attività:
criteri di valutazione:
- relazione [2 punti];
- chiarezza del codice [2 punti];
- presentazione e discussione del progetto [2 punti];
- stabilità ed efficienza del codice [2 punti];
- completezza strumenti utilizzati [2 punti];
- difficoltà di progettazione [2 punti].
|
riferimenti generali |
|
- Bruce Eckel, Thinking in c++ (html);
- cppreference
(html);
- errori di compilazione
(html);
- Stefan Weinzierl, Introduction to Monte Carlo methods (pdf);
- Particle Data Group, Monte Carlo techniques (pdf);
- Kurt Binder, Dieter W. Heermann, Monte Carlo Simulation in Statistical Physics (html);
- Wikipedia, Monte Carlo method (html).
|
proposte per il progetto personale |
|
- integrazione uni-dimensionale:
- realizzare un codice che calcoli l'integrale di una funzione
di una variabile confrontando algoritmi di integrazione
di tipo Newton-Cotes con algoritmi di quadratura gaussiana
e che calcoli in modo automatico i pesi e i supporti della quadratura gaussiana
data la scelta di una famiglia di polinomi ortogonali.
- integrazione multi-dimensionale:
- realizzare un codice che calcoli l'integrale di una funzione
di più variabili confrontando almeno due diversi algoritmi di integrazione
attraverso qualcuno dei test di Genz - si veda come esempio la libreria Cuba
(pdf).
- RAMBO vs VEGAS:
- calcolare il total rate del decadimento del muone
confrontando l'integrazione sullo spazio delle fasi fatta con VEGAS e
quella di un generatore di eventi tipo RAMBO.
|