Module Information

Module Identifier
MA25220
Module Title
Introduction to Numerical Analysis and its applications
Academic Year
2021/2022
Co-ordinator
Semester
Semester 2 (Taught over 2 semesters)
Pre-Requisite
Exclusive (Any Acad Year)
Exclusive (Any Acad Year)
Reading List
Other Staff

Course Delivery

 

Assessment

Due to Covid-19 students should refer to the module Blackboard pages for assessment details

Assessment Type Assessment length / details Proportion
Semester Assessment Semester 2 assignments  20%
Semester Assessment Semester 1 worksheets  30%
Semester Exam 2 Hours   (Written Examination)  50%
Supplementary Exam 2 Hours   (Written Examination)  100%

Learning Outcomes

On successful completion of this module students should be able to:

Demonstrate an ability to write short programs in Python

Demonstrate an awareness of good practice in developing computer programs for numerical computation

Construct a polynomial or a spline that interpolates a set of data

Derive and apply standard numerical methods for approximating an integral and analyse the errors of these methods

Determine the root(s) of a non-linear equation using standard numerical methods, and demonstrate an awareness of the order of convergence of these methods.

Compute numerical approximations to the solution of initial value problems using one-step methods, and demonstrate an awareness of the convergence and stability of these methods.

Aims

To teach students programming skills and introduce them to numerical analysis and its applications

Brief description

It is often impossible to find the exact solution of a mathematical problem using standard techniques. In these situations one has to resort to numerical techniques and the use of a computer. Numerical analysis is concerned with the development and analysis of methods for the numerical solution of practical problems. This course will provide an introduction to the Python programming language and, more broadly, the Scientific Python Stack. It will then introduce techniques for the numerical approximation of mathematical problems and the analysis of these techniques, using Python to provide practical application of the numerical methods.

Content

Semester 1:

1. INTRODUCTION TO PYTHON: Types, variables, if-statements, for- and while-loops. The interpreter and the evaluation of simple expressions. Editing, saving and loading code.

2. DATA STRUCTURES IN PYTHON: Lists and numpy arrays.

3. FUNCTIONS IN PYTHON. Function definition and function calling.

4. ORGANISING PYTHON CODE. Generating documentation, catching and handling exceptions, organising code into modules.

5. PLOTTING IN PYTHON: Manipulate data and plot results.

Semester 2:

1. POLYNOMIAL INTERPOLATION: Lagrange's formula. Newton's formula and divided differences. The forward difference formula. Interpolation error. Cubic spline interpolation.

2. NUMERICAL INTEGRATION: Trapezoidal rule, Simpson's rule. Composite integration rules. Quadrature errors. Romberg integration. Gaussian quadrature rules.

3. SOLUTION OF NONLINEAR EQUATION IN A SINGLE VARIABLE: Bisection method. Fixed point methods and contraction mappings. Newton's method. Order of convergence.

4. INITIAL VALUE PROBLEMS: Existence and uniqueness of solutions. Euler's method. Local truncation error. Consistency. Convergence. Stability. General one-step methods. Trapezoidal method. Predictor-corrector methods.

Module Skills

Skills Type Skills details
Application of Number Necessary throughout.
Communication Written answers to exercises and documenting of code must be clear and well-structured. Good listening skills are essential to successful progress in this course.
Improving own Learning and Performance Students will be expected to develop their own approach to time-management in their attitude to the completion of work on time, and in doing the necessary preparation between lectures and workshops. They should act on feedback, for example the in-practical feedback from demonstrators and from their marked work.
Information Technology Students will be set exercises in workshops that involve developing computer code. They will need to be able to use computers and library facilities throughout.
Personal Development and Career planning Completion of tasks (worksheets and problem sheets) to set deadlines will aid personal development. Students will develop highly sought after programming skills.
Problem solving Exercises will be set and marked. These will involve the derivation and implementation of numerical methods and their errors.
Research skills Using a computer. Searching the language and library documentation.
Subject Specific Skills Programming skills, debugging skills, numeracy skills, numerical analysis skills.
Team work No

Notes

This module is at CQFW Level 5