Unit COMPUTATIONAL METHODS FOR PHYSICS
- Course
- Physics
- Study-unit Code
- 55A00001
- Location
- PERUGIA
- Curriculum
- In all curricula
- Teacher
- Stefano Germani
- Teachers
-
- Stefano Germani
- Hours
- 42 ore - Stefano Germani
- CFU
- 6
- Course Regulation
- Coorte 2021
- Offered
- 2023/24
- Learning activities
- Affine/integrativa
- Area
- Attività formative affini o integrative
- Academic discipline
- FIS/04
- Type of study-unit
- Opzionale (Optional)
- Type of learning activities
- Attività formativa monodisciplinare
- Language of instruction
- Italian
- Contents
- The course focuses on:
• The Linux operative system, commands and the shell environment;
• The python programming language and basic notions on C/C++;
• Techniques and algorithms to solve common problems in Physics (numerical integration, system of differential equation, Fourier transform);
• Techniques and algorithms based on the generation of random numbers (Monte Carlo simulations and integration); - Reference texts
- M. Newman "Computational Physics",
CreateSpace Independent Publishing Platform (November 7, 2012).
ISBN-10 ¿ : ¿ 1480145513
ISBN-13 ¿ : ¿ 978-1480145511 - Educational objectives
- The main learning goal of the course are the knowledge of the techniques and algorithms commonly used for the solution problems typical of the Physics research.
A secondary learning goal, which is a fundamental prerequisite to reach the main one, is the improvement of the skills of the student both in terms of programming and data management. - Prerequisites
- It is mandatory to have passed the Laboratorio di Informatica exam.
The examples used during the course and in the final practice, require the ability to solve simple Mechanics and/or Electromagnetism and/or Statistics problems. - Teaching methods
- • Lessons: 12 classes, 1 hour each, where the computational techniques are presented from a theoretical point of view.
• Practical exercises with the computer: 10 practical sessions, 3 hours each, where the techniques introduced from the theoretical point of view are applied to selected Physics problems. - Learning verification modality
- The final exam is based on a practical project to be completed and subsequently presented and discussed during an oral examination.
The practical project is assigned by the teacher also considering proposals from the student. - Extended program
- • Course introduction;
• Basic use of the Linux shell;
• Python basics and the main libraries used for scientific computing (Numpy / SciPy / Pandas / Matplotlib);
• Comparison between Python and C/C++;
• Computational errors;
• Integrals and derivatives;
• Differential equations ;
• Minimisation;
• Fourier Transforms;
• Random numbers and Monte Carlo techniques;
• Classes and Objects;
• Computational performance, compilation and C wrappers;
• Advanced and hybrid tools: Jupyter notebook, PyROOT;