MA40177: Scientific computing
[Page last updated: 27 September 2022]
Academic Year:  2022/23 
Owning Department/School:  Department of Mathematical Sciences 
Credits:  6 [equivalent to 12 CATS credits] 
Notional Study Hours:  120 
Level:  Masters UG & PG (FHEQ level 7) 
Period: 

Assessment Summary:  CW 100% 
Assessment Detail: 

Supplementary Assessment: 

Requisites:  Before taking this module you must take MA30051 (or take MA20222 and have equivalent experience subject to the approval of the unit convenor) or you must take MA50174 (or an equivalent unit from another institution). (or take MA20222 and have equivalent experience subject to the approval of the unit convenor) or you must take MA50174 (or an equivalent unit from another institution). 
Learning Outcomes:  Students should be able to write code to solve efficiently a range of scientific problems. They should be able to analyse algorithm complexity and efficiency. They should be familiar with scientific libraries and parallel programming. They will be expected to have deep knowledge of at least one challenging application. 
Aims:  To teach an understanding and appreciation of issues arising in the computational solution of challenging scientific and engineering problems. 
Skills:  Efficient solution of realworld problems using scientific computing (T, A); parallel programming (T, A). 
Content:  Units, complexity, analysis of algorithms, benchmarks. Floating point arithmetic. Programming in Fortran90. Makefiles. Data structures, full and sparse matrices. BLAS and LAPACK libraries. Visualisation. Parallel Computation: principles, message passing model, MPI, parallel data structures, scheduling on clusters, performance indicators.
Other libraries/software on the web: NAG Library, Netlib, GAMS, ScaLAPACK, ARPACK, PETSc, hypre. Linking with other languages such as C, C++. Case studies illustrating the lectures will be chosen from the topics: numerical PDEs (iterative methods, multigrid, preconditioning), adaptive refinement, quadrature, eigenvalue problems (nuclear reactor criticality computations, power method, subspace iteration, AUTO), nonlinear equations and bifurcation (nonlinear thermal conduction, Newtontype methods), optimisation, networks and graphs (graph drawing, clustering, Google's pagerank algorithm). 
Programme availability: 
MA40177 is Optional on the following programmes:Department of Computer Science

Notes:
