An introduction to NAG Numerical components
Jeremy Walton
The Numerical Algorithms Group
Oxford, UK
Experts in numerical algorithms
and HPC services
http://www.nag.co.uk/
Overview
 An introduction to NAG

NAG numerical libraries
 NAG and MATLAB

NAG Toolbox for MATLAB
 NAG and HPC

NAG Library for SMP & multicore
 Conclusions

finding out more
An introduction to NAG Numerical components
2
NAG’s products and users
 Products

Mathematical, statistical, data analysis components



Fortran compiler and Windows IDE
HPC software engineering services


NAG Numerical libraries
HECToR support
Consultancy work for bespoke application development
 Users



Academic researchers
Professional developers
Analysts / modelers
An introduction to NAG Numerical components
3
Science, Engineering, Finance Users
 Life sciences

GlaxoSmithKline, Pfizer, ...
 Engineering

BAE Systems, E.ON, Airbus, …
 Finance:

BNP Paribas, UBS, HSBC, …
 Business Intelligence

Oracle, Thomson Reuters, …
 Major research organisations:

National Physical Laboratory, CERN, MPI, …
An introduction to NAG Numerical components
4
The NAG Numerical libraries
 Contain mathematical & statistical components

~ 1700 of them
 Available on variety of different platforms

stringently tested
 Comprehensive documentation
 Used as building blocks by package builders




since 1971
gives reduced development time
allows you to concentrate on areas of expertise
interfaces to various environments
An introduction to NAG Numerical components
5
NAG Library Contents












Root Finding
Summation of Series
Quadrature
Ordinary Differential Equations
Partial Differential Equations
Numerical Differentiation
Integral Equations
Mesh Generation
Interpolation
Curve and Surface Fitting
Optimization
Special Function Approximation












Linear Algebra
Correlation & Regression Analysis
Multivariate Methods
Analysis of Variance
Random Number Generators
Univariate Estimation
Nonparametric Statistics
Smoothing in Statistics
Contingency Table Analysis
Survival Analysis
Time Series Analysis
Operations Research
An introduction to NAG Numerical components
6
NAG Site Licence @ Warwick
 Site Licence for NAG Serial Libraries



NAG C Library
NAG Fortran Library
NAG Toolbox for MATLAB
on Windows and Linux, 32 and 64 bit
 Also access to



NAG Library for .NET
NAG Data Mining Components
NAG Routines for GPU’s
 CSC also has access to NAG Library for SMP & Multicore
An introduction to NAG Numerical components
7
Support and documentation
 Full access to NAG support [email protected]



for academic or research purposes
Installation may be on any university, staff or student machine
please request support or licence keys using @warwick.ac.uk
 Our software


includes online documentation - also www.nag.co.uk
is supplied with extensive example programs

data and results
An introduction to NAG Numerical components
8
How to get the software
 Download from
http://www.nag.co.uk/downloads/index.asp
 Get a licence key from
Patrick Ryan, IT Services ([email protected])
who manages the NAG site licence
An introduction to NAG Numerical components
9
The NAG Numerical libraries




NAG Fortran Library
NAG C Library
NAG Library for .NET
NAG Library for SMP & multicore

for symmetric multi-processor machines (OpenMP)
 NAG Parallel Library

for distributed memory parallel machines (MPI)
 NAG Toolbox for MATLAB
An introduction to NAG Numerical components
10
Other NAG library interfaces











C
C++
C# / .NET
Fortran
Java
Python
Visual Basic
CUDA
OpenCL
F#
…
 Excel
 MATLAB










Octave, SciLab, Freemat...
Maple
Mathematica
SciLab
PowerBuilder
LabVIEW
R and S-Plus
SAS
Simfit
…
An introduction to NAG Numerical components
11
Overview
 An introduction to NAG

NAG numerical libraries
 NAG and MATLAB

NAG Toolbox for MATLAB
 NAG and HPC

NAG Library for SMP & multicore
 Conclusions

finding out more
An introduction to NAG Numerical components
12
Current & future work (1)
 Continued algorithmic development

116 new routines added at Mark 23

122 were added at Mark 22
 Mark 23 includes:

Bound Optimization by Quadratic Approximation






optimization of badly-behaved functions
Particle swarm global optimization
Quantile Linear Regression
Sampling with unequal weights
Nearest correlation matrix
...
An introduction to NAG Numerical components
13
Current & future work (2)
 Mark 23 includes (contd):


Copulas
extension of Mersenne Twister RNG







skip ahead for parallel streams
Partial least squares / Ridge regression
Matrix functions
More wavelets
More interpolation
More curve / surface fitting
More linear algebra

LAPACK 3.2 features
An introduction to NAG Numerical components
14
Current & future work (3)
 New release of NAG C Library
 Now contains over 1450 routines

over 340 new routines added

including two new chapters
 New release is NAG C Library Mark 23

functionality in line with NAG Fortran Library Mark 23

previous release of NAG C Library was Mark 9
 Full details of functionality

at http://www.nag.co.uk/numeric/CL/newatmark23
An introduction to NAG Numerical components
15
Current & future work (4)
 Also new release in 2012 of



NAG Toolbox for MATLAB
NAG Library for SMP & multicore
NAG Fortran compiler
An introduction to NAG Numerical components
16
Conclusions
 NAG offers software components for developers

no wheel-reinvention, stone canoes, chocolate teapots
 Portable


constantly being implemented on new architectures
made accessible from different software environments

MATLAB, LabVIEW, Excel, R,...
 Reliable

extensive experience at implementing numerical code
An introduction to NAG Numerical components
17
Finding out more
 More on NAG and interfaces:
http://www.nag.co.uk/
 Technical support and help with NAG products:
[email protected]
 Today’s speaker:
[email protected]
 Warwick & Monash sales executive:
[email protected]
An introduction to NAG Numerical components
18
Keeping in touch
The NAG Blog
http://blog.nag.com/
@NAGTalk
http://www.linkedin.com/e/vgh/2707514/
http://www.youtube.com/user/NumericalAlgorithms
http://www.flickr.com/photos/numericalalgorithmsgroup/
An introduction to NAG Numerical components
19
Download

An introduction to NAG Numerical components Jeremy Walton