Gruppo di lavoro su Mathematica
Il lavoro di questo gruppo sarà organizzato nel seguente modo.
data |
argomento |
orario |
aula |
15 aprile 2021 |
obiettivi del gruppo di lavoro e presentazione progetti |
9.30-12.30 |
laboratorio di Calcolo (?) |
16 aprile 2021 |
programmazione avanzata in Mathematica |
8.30-11.30 |
Lab. Calcolo |
29 aprile 2021 |
sviluppo progetti |
8.30-11.30 |
Lab. Calcolo |
30 aprile 2021 |
sviluppo progetti |
9.30-12.30 |
Lab. Calcolo |
7 maggio 2021 |
verifica intermedia |
9.30-12.30 |
Lab. Calcolo |
13 maggio 2021 |
sviluppo progetti |
9.30-12.30 |
Lab. Calcolo |
27 maggio 2021 |
sviluppo progetti |
9.30-12.30 |
Lab. Calcolo |
I temi proposti quest'anno come progetti da realizzare con l'ausilio di Mathematica sono di due gruppi:
1. Piattaforma di simulazione collegata a un motore di calcolo scritto in CUDA. Mathematica offre un ambiente di alto livello estremamente sofisticato, che permette la scrittura di algoritmi molto complessi con una gestione intuitiva di concetti molto astratti. Questa semplicità ha un costo computazionale per cui la velocità di esecuzione di molte procedure non è competitiva con quella di un programma scritto in C++. In questo modulo vedremo come sia possibile, in generale, interfacciare Mathematica a delle librerie esterne. In particolare ci occuperemo di scrivere un'interfaccia per sfruttare la potenza di calcolo delle schede grafiche programmate in CUDA. I campi di applicazione spaziano dalle pure simulazioni numeriche alla manipolazione simbolica.
2. La manipolazione di espressioni simboliche è probabilmente uno dei settori in cui Mathematica mostra al meglio l'efficacia del proprio linguaggio di programmazione.
Esistono diversi settori della Fisica (e non solo) in cui è necessario scrivere in modo automatizzato delle espressioni simboliche, secondo un certo insieme di regole date.
Spesso si tratta di espressioni lunghe e ponderose, in cui è necessario avere il controllo perfetto di tutti i segni e coefficienti algebrici. Ciò che risulta quasi impossibile a mano, può essere efficacemente automatizzato.
Un esempio che viene dalla Fisica Teorica sono i diagrammi di Feynman, rilevanti nella scrittura delle ampiezze di probabilità dei processi di diffusione.
Considereremo due tipi di problemi: 1) la generazione delle ampiezze di probabilità e 2) la scrittura in programmi numerici di queste espressioni, sfruttando Mathematica per un'efficiente operazione di "parsing" delle espressioni.
3. Sandpiles. La simulazione di un sistema che sia definito su di un grafo può essere facilmente realizzata sfruttando le caratteristiche dell'ambiente di programmazione offerto da Mathematica. L'accumulo di granelli di sabbia e il successivo crollo delle pile di granelli dà luogo a una reazione a catena che possiamo legittimamente chiamare valanga. Questo fenomeno si caratterizza come critico, nel senso della Meccanica Statistica. Mathematica permette uno studio flessibile e intuitivo di tanti aspetti di questo sistema fisico.