Python is an increasingly widespread language in various contexts and it is conquering an important space even within the scientific community. Thanks to its extreme readability, it constitutes an important candidate for the writing and management of highly complex algorithms. Its greater limitation compared to the traditionally most used languages in the scientific and technical computing field is the limited performance. However, a wide variety of high quality scientific libraries is available today in Python and allows, through low-level tailored implementations, to make a vast number of highly optimized algorithms usable while maintaining the simplicity of the Python language. In this course, which assumes the knowledge of the fundamental elements of the language, we will discuss the fundamental elements of the most used scientific libraries using Python giving the student a look at the correct setting to be given to a calculation-oriented Python code. To improve understanding, the different modules of the course are immediately put into practice in hands-on sessions in which students and teachers can interact directly on simple but significant concrete problems proposed in the exercise.
By the end of the course each student should be able to:
- know the most important numerical libraries available in Python
- write a Python program/module using the most important Python numerical libraries
- understand the best practices for programming scientific applications in Python
Researchers and programmers who want to use Python to write and manage scientific applications
Basic knowledge of the Python programming (e.g. from the Cineca course Introduction to Python programming).