# 27216 - Calculus for Astronomy

## Learning outcomes

At the end of the course, the student will have the basic knowledge of the numerical algorithms commonly used in physical and astronomical applications. In particular the student will be able to write numerical codes using a high-level language (Fortran90) in order to:

• solve linear algebraic equations;
• interpolate, differentiate and integrate functions;
• find roots of non-linear equations;
• solve differential equations.

## Course contents

• Introduction to the programming language Fortran90.
• Analysis and implementation of numerical algorithms for:

-roots of non-linear equations;

-systems of linear algebraic equations;

-statistical description of data;

-data interpolation;

-numerical differentiation and integration;

-generation of (pseudo-)random numbers;

-ordinary differential equations;

-partial differential equations.

• Case studies in Fortran90.

Chapra, Canale , "Numerical Methods for Engineers, McGraw-Hill

Press et al. "Numerical Recipes", Cambridge University Press

Quarteroni et al. "Matematica Numerica", Springer

Lecture notes prepared by the teachers

## Teaching methods

Part of the lectures (4 CFU) will be standard frontal lectures that will be delivered by making use of a blackboard and videoprojector.

Part of the lectures (4 CFU) will take place in the computing lab, where the students will carry out exercises implementing the algorithms discussed in class under the supervision of the teachers.

## Assessment methods

The final exam is based on: 1) implementation of two numerical codes in Fortran90 to solve specific problems presented during the lectures; 2) written reports (one for each problem) on the results, discussing: the scientific problem, the numerical methods applied to solve it, the available data, the obtained results and their significance. The codes and the reports must be sent by email to the teachers at least 2 working days before the date fixed for the oral exams. The oral exam will include a discussion of the projects (codes and reports) and of the numerical algorithms analyzed in class. The level of knowledge of the programming language will also be verified.

## Teaching tools

Programming techniques are illustrated by specific examples that are fully developed in class. Students can find, on the Virtuale learning environment (https://virtuale.unibo.it), the material (e.g. analysis of the problem and implementation of the numerical techniques for its solution) related to such case studies. To improve their knowledge of numerical techniques students will be also asked, during laboratory hours, to independently solve problems connected to the main topics of the lectures.

## Office hours

See the website of Federico Marinacci

See the website of Lauro Moscardini