Students should be experienced with programming in either C/C++ or Python. Knowledge of calculus at the bachelor’s level is also required. In terms of the Leiden Astronomy bachelor's curriculum, the prerequisites for this course are Programming NA and Analyse 3 (NA).
In this course you will learn how and why some of the most powerful and broadly used algorithms in astrophysics work and gain a deeper understanding of numerical methods.This will allow you to identify the right tool for the job for whatever computational problem you may encounter in astrophysics, and to program more effectively, whether you are fitting data, sampling a distribution, integrating orbits or optimizing your computational model.
During the lectures we will discuss numerics and consider and derive specific algorithms that are useful in astrophysics. During the problem classes students will work together on applying this knowledge to a computational problem through coding.
The topics covered in the course include:
Numerical error and precision
Solving linear equations
Solving differential equations
Inter- and extrapolation
Numerical integration and differentiation
Random numbers and distribution sampling
Root finding, minimization and maximization
Fast Fourier transforms and applications
Upon completion of this course you will be able to judge which numerical algorithm or tool is right for any computational problem typically encountered in
In specific, after this course, you will be able to:
Evaluate the outcomes of computational codes
Construct an efficient computer program
Solve a wide array of astrophysical problems
After completing this course you will be able to:
Work collaboratively on numerical problems
Mode of instruction
Written exam, see the Astromoy master examination schedules
- Numerical Recipes: The Art of Scientific Computing, Third Edition (W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery), ISBN: 9780521880688 (optional)