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. Sviluppo di una piattaforma di simulazione che utilizzi CUDA come supporto per la parte intensiva del calcolo.
  2. Algoritmi per la generazione di grafi e di ampiezze di Feynman.
  3. Sandpiles: come l'accumulo di granelli di sabbia possa trasformarsi in un interessante modello di Meccanica Statistica.



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.