Undergraduate Course: Numerical Recipes (PHYS10090)
|School||School of Physics and Astronomy
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 10 (Year 3 Undergraduate)
||Availability||Available to all students
|Summary||The aim of this course is to develop an understanding of numerical algorithms, how they are implemented, and how to use them to solve practical numerical problems using standard Python libraries such as SciPy.
This course is taught through a combination of lectures and hands- on programming exercises. Python will be used as the programming language for this course. Proficiency in Python is assumed (this is not a Python programming course).
The course material will include:
- Linear algebra (solving linear systems of equations, diagonalization)
- Optimization (finding minima and maxima of real-valued functions)
- Parameter fitting to data sets (Chi squared, maximum likelihood, Bayesian
- Random number generation
- Non-linear root finding
- Monte Carlo methods
- Differential equations (ordinary and partial)
- Discrete Fourier Transform
- Principles of machine learning
Entry Requirements (not applicable to Visiting Students)
|| Students MUST have passed:
Computer Simulation (PHYS08026) OR
Computer Modelling (PHYS09057)
||Other requirements|| Proficiency in Python.
Students must be able to prove proficiency in Python and use of a Unix environment.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2022/23, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 10,
Supervised Practical/Workshop/Studio Hours 30,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||100% coursework assessed consisting of three checkpoints (solutions handed in after the end of a block of 3-4 labs).
|No Exam Information
On completion of this course, the student will be able to:
- Implement simple versions of standard numerical algorithms in a computer program
- Implement the same functionality using widely available numerical library packages
- To gain a practical grounding in how to deal with typical numerical problems that arise in a real physics research environment
- Resolve conceptual and technical difficulties by locating and integrating relevant information from a diverse range of sources
|Graduate Attributes and Skills
|Additional Class Delivery Information
||Lectures for first hour during weeks 1-10 Laboratory sessions of 3 hours during weeks 2-11
|Course organiser||Dr Sergey Koposov
|Course secretary||Mrs Ola Soldan-Kieliszek
Tel: (0131 6)51 3448