Numerical Methods for Computational Finance, Engineering and Science  (code NMCF)
With C++, STL and Boost Library implementations
Many advanced and complex problems in engineering, finance and science cannot be solved analytically and for this reason numerical methods have been developed to approximate the solution of these problems and which can then be implemented in a digital computer. These are many kinds of numerical methods that are used to solve a range of problems and in this course we discuss a number of these techniques. The contents correspond to what is taught in university courses in Numerical Analysis (typically courses 261 and 461) in combination with the implementation of numerical algorithms in C++ using the standard STL and Boost libraries. Finally, we apply all these techniques in numerous examples and applications. To our knowledge, this is the only course that offers this integrated set of features.
Subjects Covered
This course discusses the numerical building blocks that are used in applications. The approach is rigorous and integrated. In general, numerical analysis is concerned with algorithms that operate on various kinds of data structures. To this end, we discuss the following topics in detail:
 Mathematical foundations for all numerical methods.
 Approximation of functions.
 The solution of linear and nonlinear equations.
 Ordinary and partial differential equations (ODE, PDE) and their numerical solution.
 Optimisation.
 Algorithmic design and C++ code for these numerical methods.
In short, we discuss all the aspects involved in understanding and applying numerical methods to realworld applications.
Course updated November 2014
Course Benefits
This selfcontained and integrated course discusses the most important numerical methods that are used in applications. Some of the benefits of taking the course are:
 Learning both numerical analysis and numerical methods.
 Knowing which method to use in a given context.
 Topics included correspond to (and sometimes exceed) secondyear mathematics university courses.
 Learn to create algorithms and implement them in C++.
 Use STL and Boost libraries in your code.
 Applications to science, engineering and computational finance.
 C++ source code provided for all algorithms.
Course Originator and Supervisor
This course has been created and is supported by Dr. Daniel J. Duffy, an internationally known writer, author, numerical analyst and C++ proponent. He has MSc and Phd theses in Numerical Analysis from Trinity College, Dublin and has used the methods in engineering and finance. He has also been writing C++ applications since 1989.
Remark
This course is also available as a distance learning course.
Course Contents
Part I: Approximation of Functions
Error Analysis and FloatingPoint Arithmetic
 Error estimation: concepts
 Forward and backward error analysis
 Floatingpower arithmetic
 Wellconditioned and illconditioned problems
 Number systems
Recurrence Relations
 Linear and nonlinear kstep recurrence relations
 The calculus of finite differences
 Linear recurrence relations with constant coefficients
 Examples and applications
Numerical Treatment of Series
 Rate of convergence
 Estimating the remainder
 Acceleration of convergence
 Aitken’s deltasquared process
Part II: Numerical Differentiation, Integration and Interpolation
Numerical Differentiation
 Approximate derivatives and sources of error
 Centred and onesided differences
 Difference tables
 Illconditioned processes
 Newton’s forward formula
 Stirling’s formula
Numerical Integration in one Dimension
 Basic rules (rectangle, Romberg, trapezoidal)
 Truncation error
 NewtonCotes formulae
 Improper integrals
Advanced Numerical Integration
 Gaussian quadrature and orthogonal polynomials
 Multidimensional integrals
 GaussKronod method
 Numerical integration using the Monte Carlo method
Interpolation and Extrapolation
 Linear interpolation
 Cubic spline interpolation
 Hermite interpolation
 Inverse interpolation
 Extrapolation using polynomials and rational functions
Advanced Interpolation Methods
 Akima and Hyman methods
 Interpolation in two or more dimensions
 Neville’s algorithm
 Inverse interpolation
Part III: Numerical Linear Algebra
Direct Methods for Solving Linear Systems of Equations
 LU and Cholesky decomposition
 Gussian elimination and pivoting strategies
 Triangular and block triangular systems
 Conjugate Gradient Method (CGM)
Iterative Methods for Solving Linear Systems of Equations
 Jacobi, GaussSeidel, SOR and SSOR methods
 PSOR method
 Line Jacobi, GaussSeidel and SOR methods
 Acceleration
Error Analysis for Linear Systems
 Perturbation analysis
 Scaling of linear systems
 Illconditioned systems
 Rounding errors
Advanced Methods
 Modified GramSchmidt method
 QR decomposition
 SVD decomposition
 Quadratic forms
Eigenvalues and Eigenvectors
 Gerschgorin’s method; Power method
 Schur and Householder transformation
 Givens and Householder reductions
 Condition number
Orthogonalisation and Least Squares
 Overdetermined linear systems
 Normal equations
 Orthogonalisation methods
 Least squares solution with linear constraints
Part IV: Nonlinear Equations
Fundamentals
 Taxonomy of functions
 Gradient and Hessian
 Jacobian matrix
 General theory of iterative methods
First Methods
 Bisection
 Secant / Steffensen
 Regula Falsi
 NewtonRaphson
 Halley method
Advanced Methods
 Modified NewtonRaphson
 Continuation (homotopy) methods
 Fixed point methods
 Error estimation
 Illconditioned systems
Part V: Ordinary Differential Equations (ODE)
Background
 Scalar ODE and systems of ODEs
 Vectormatrix notation for systems
 Existence, uniqueness and continuity
 Continuous and discrete Gronwall inequalities
Introduction to Numerical Methods for ODEs
 Notation and examples
 Onestep and multistep methods
 Convergence, stability and consistency
 Local error and error bounds
Numerical Solution of FirstOrder ODEs
 Euler Method, modified midpoint method
 Explicit and implicit methods
 RungeKutta methods
 Predictorcorrector methods
 Stiff problems
Mathematical Theory of TwoPoint Boundary Value Problems
 Linear and nonlinear problems
 Existence and uniqueness results
 What kinds of associated boundary conditions?
 Convectiondiffusionreaction equations
Numerical Solution of TwoPoint Boundary Value Problems
 The finite difference method (FDM)
 FDM for conservative and nonconservative equations
 Exponentially fitted methods
 Mmatrices and the solution of tridiagonal matrix systems
Part VI: Optimisation
Overview of techniques
 Linear programming
 Integer programming
 Nonlinear programming
 Univariate and multivariate Optimisation
Methods
 Steepest descent
 Modified and Quasi Newton Methods
 Conjugate Gradient Method
 Nonlinear least squares
 LevenbergMarquardt
 Constrained and unconstrained optimisation
Part VII: Elementary Partial Differential Equations (PDE)
Taxonomies
 Elliptic, hyperbolic and parabolic equations
 Convection, diffusion, reaction terms
 Conservative and nonconservative equations
 Boundary conditions
Special Examples
 Laplace and Poisson equations
 Heat equation
 Wave equation
 Firstorder equations
Finite Difference Methods for PDE
 Explicit and implicit methods
 Stability, consistency and convergence
 Euler and CrankNicolson methods
 Advanced FD schemes
Prerequisites
Some knowledge of calculus and algebra is assumed. We review the necessary mathematical foundations in the course. Some knowledge of a highlevel programming language (ideally C, C++, C# or Java) is also recommended.
Who should attend?
This course is of general applicability. We see three specific groups who can benefit from this course:
 Undergraduates in disciplines that use and need mathematical and numerical methods. This course fills the gap in our opinion.
 Those working in industry and finance who feel that they need to broaden their knowledge.
 As a refresher course for those professionals who would like to learn new skills or upgrade existing ones.
If you have any questions, please do not hesitate to contact me
Duration, price, date, locations and registration
Course duration: 
4 days. 
Course price: 
€ 3300. ex. VAT.
€ 3993. inc. 21% VAT. 
Dates and location: 
(click on dates to print registration form) 
Date(s) 
Location 
Price 
Language 
No dates yet.
This course can be organised ondemand. Call Datasim (+31722204802) or for more information about the possibilities.

