-   Forums
     -   Articles and Whitepapers
     -   Downloads
     -   Courses and Events
     -   Course Registration
     -   Distance learning
     -   Courses for Universities
     -   Books
     -   Audios and Demos
     -   Testimonials

Share this page:  Tweet

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 real-world applications.
Course updated November 2014

Course Benefits
This self-contained 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) second-year 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.

This course is also available as a distance learning course.

Course Contents

Part I: Approximation of Functions
Error Analysis and Floating-Point Arithmetic
  • Error estimation: concepts
  • Forward and backward error analysis
  • Floating-power arithmetic
  • Well-conditioned and ill-conditioned problems
  • Number systems
Recurrence Relations
  • Linear and nonlinear k-step 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 delta-squared process

Part II: Numerical Differentiation, Integration and Interpolation
Numerical Differentiation
  • Approximate derivatives and sources of error
  • Centred and one-sided differences
  • Difference tables
  • Ill-conditioned processes
  • Newton’s forward formula
  • Stirling’s formula
Numerical Integration in one Dimension
  • Basic rules (rectangle, Romberg, trapezoidal)
  • Truncation error
  • Newton-Cotes formulae
  • Improper integrals
Advanced Numerical Integration
  • Gaussian quadrature and orthogonal polynomials
  • Multidimensional integrals
  • Gauss-Kronod 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, Gauss-Seidel, SOR and SSOR methods
  • PSOR method
  • Line Jacobi, Gauss-Seidel and SOR methods
  • Acceleration  
Error Analysis for Linear Systems
  • Perturbation analysis
  • Scaling of linear systems
  • Ill-conditioned systems
  • Rounding errors  
Advanced Methods
  • Modified Gram-Schmidt 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
  • Taxonomy of functions
  • Gradient and Hessian
  • Jacobian matrix
  • General theory of iterative methods  
First Methods
  • Bisection
  • Secant / Steffensen
  • Regula Falsi
  • Newton-Raphson
  • Halley method  
Advanced Methods
  • Modified Newton-Raphson
  • Continuation (homotopy) methods
  • Fixed point methods
  • Error estimation
  • Ill-conditioned systems  

Part V: Ordinary Differential Equations (ODE)
  • Scalar ODE and systems of ODEs
  • Vector-matrix notation for systems
  • Existence, uniqueness and continuity
  • Continuous and discrete Gronwall inequalities  
Introduction to Numerical Methods for ODEs
  • Notation and examples
  • One-step and multi-step methods
  • Convergence, stability and consistency
  • Local error and error bounds  
Numerical Solution of First-Order ODEs
  • Euler Method, modified midpoint method
  • Explicit and implicit methods
  • Runge-Kutta methods
  • Predictor-corrector methods
  • Stiff problems  
Mathematical Theory of Two-Point Boundary Value Problems
  • Linear and nonlinear problems
  • Existence and uniqueness results
  • What kinds of associated boundary conditions?
  • Convection-diffusion-reaction equations  
Numerical Solution of Two-Point Boundary Value Problems
  • The finite difference method (FDM)
  • FDM for conservative and non-conservative equations
  • Exponentially fitted methods
  • M-matrices and the solution of tridiagonal matrix systems  

Part VI: Optimisation
Overview of techniques
  • Linear programming
  • Integer programming
  • Nonlinear programming
  • Univariate and multivariate Optimisation  
  • Steepest descent
  • Modified and Quasi Newton Methods
  • Conjugate Gradient Method
  • Non-linear least squares
  • Levenberg-Marquardt
  • Constrained and unconstrained optimisation  

Part VII: Elementary Partial Differential Equations (PDE)
  • Elliptic, hyperbolic and parabolic equations
  • Convection, diffusion, reaction terms
  • Conservative and non-conservative equations
  • Boundary conditions  
Special Examples
  • Laplace and Poisson equations
  • Heat equation
  • Wave equation
  • First-order equations  
Finite Difference Methods for PDE
  • Explicit and implicit methods
  • Stability, consistency and convergence
  • Euler and Crank-Nicolson methods
  • Advanced FD schemes


Some knowledge of calculus and algebra is assumed. We review the necessary mathematical foundations in the course. Some knowledge of a high-level 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 on-demand. Call Datasim (+31-72-2204802) or for more information about the possibilities.

Share this page:  Tweet