NAG provides numerical libraries and compilers. Their presentation covered their product portfolio including numerical libraries for Fortran, C, MATLAB and .NET. They discussed recent updates, new features in the next release, and training available. They collaborate with academics and sponsor PhDs. The presentation provided an overview of NAG's products and services and encouraged questions.
1. NAG Presentation – Maths and Statistics
Working Group
David Humphris and David Sayers
5th December 2012
Experts in numerical algorithms
and HPC services
2. Agenda
Product Portfolio and Recent News
What’s coming in the next release?
Current Agreement
Training available to UK Academia
Collaborations and Sponsoring
2
3. Current Product Portfolio
Numerical Libraries
NAG Fortran Library
NAG C Library
NAG Toolbox for MATLAB
NAG Library for .NET
NAG HPC Library
Library for SMP & Multi-core
NAG Fortran Compiler and GUI based Compiler (Fortran Builder)
Consultancy Services & other available code
3
4. NAG Libraries Ease of Integration
C++ (various) Excel
C# / .NET MATLAB
Visual Basic Maple
Java LabVIEW
Borland Delphi R and S-Plus
F# SAS
Python Simfit
… …
… and more
and more
4
5. NAG and Excel
Our libraries are easily accessible from Excel:
Calling NAG DLLs using VBA
NAG provide VB Declaration
Statements and Examples
NAG provide add-ins:
Stats & Survival Analysis
And examples:
Local volatility, Variance
Gamma, NCM, …
Calling NAG Library for .NET
using VSTO
functions with Reverse
Communication (useful for
Solver replication for
example)
Create NAG XLLs
5
6. Recent News
Updates
NAG C Library, Mark 23
NAG Fortran Library Mark 23
NAG Toolbox for MATLAB Mark 23
NAG Library for SMP and Multi-Core Mark 23
Fortran Builder Release 5.3, for use with both 32 and 64-bit Windows
In the near future
Release 2 of the Library for .NET
NAG from JAVA
Fortran Library Mark 24
6
7. NAG Library : new in Mark 23
Mark 23 has new functions in many areas including...
* only available in NAG C Library & Toolbox (at MK23) 7
8. NAG Library : new in Mark 23
Mark 23 has new functions in many areas including...
* only available in NAG C Library & Toolbox (at MK23) 8
9. NAG Toolbox mk23: Ease of use improvements
Function Handles
In previous versions of the NAG Toolbox for MATLAB, users had to
provide some parameters as m-files. While this functionality is still
supported, users may also provide parameters as function handles.
Better Exception handling
Integer Utility introduced
Making it easier to write portable code between 32 & 64 bit platforms
Improved example programs and long names
9
10. What’s Coming in the Next Releases
FFT, Wavelets
Quadrature, quadratic eigenvalue routines*
Threadsafe ODE routines
Radial basis functions
Multi-start global optimisation
Vectorised special functions
Semi Definite Programming*
More Matrix functions
Brownian Bridge & Random Fields
More Nearest Correlation Matrix*
…
10
11. Current Agreement
New Simpler Agreement from 2010
Based on per operating system
Old agreement based and restricted on number of
implementations
Site and Department Licence Options
Unlimited usage for all students and staff on their desktops,
laptops, and home machines
30 out of the 38 Universities signed up to the new style
agreement
11
12. Training available to UK Academia
Free Training Workshops available to all Universities signed up to Site and
Department Licences
We are happy to travel to Universities to give seminars / hands-on
training sessions
Example Training Courses
Using NAG Toolbox for MATLAB Seminar and Hands-on Session
Using the NAG Library for Excel Seminar and Hands-on Session
An Introduction to Multicore Programming & The NAG Library for SMP
& Multicore Seminar
CUDA / OpenCL /GPUs*
.... and more
12
13. Academic Collaborations & Sponsoring of PhD’s
NAG works in Collaboration with various Academic
sites including...
University of Manchester, Nick Higham
UCL, William Shaw
University of Aachen, Uwe Naumann
University of Birmingham, Michael Kocvara
…
Sponsoring PhDs and MSc Projects
13
14. NAG Technical Tips
David Sayers
5th December 2012
Experts in numerical algorithms
and HPC services
15. Agenda
Any NAG-specific questions?
Toolbox for MATLAB technical tip
The NAG Fortran Compiler/ Fortran Builder
15
19. Ways to contact us:
www.nag.co.uk
Technical Support and Help
support@nag.co.uk
Account Manager
louise.mitchell@nag.co.uk
NAGNews:
http://www.nag.co.uk/NAGNews/Index.asp
Twitter:
www.twitter.com/NAGTalk
Blog:
http://blog.nag.com/
Experts in numerical algorithms LinkedIn:
and HPC services http://www.linkedin.com/e/vgh/2707514/
Notes de l'éditeur
Top new items for MK23 2D wavelets – further extension to these important tools (2Diimensional wavelets are mostly for image processing) Sparse Matrix functions – the quality of the NAG implementations Optimisation - BOBYQA - of particular use with noisy functions Global Optimisation Optimisation – Multi-start – a robust approach Optimization - PSO – Particle Swarm Optimization is still somewhat experimental. Particle Swarm Optimization is one of the best of the stochastic approaches. This NAG implementation is probably the most robust available since it also calls local optimization routines as part of the approach. PSO is only relevant to very high dimension problems with lots of noise Quantile regression - One advantage of quantile regression, vrs least squares regression (that is also in the NAG Lib.) - quantile regression is more robust against outliers in the response measurements L’Ecuyer MRG32K3a generator – a very efficient random number generator (note those who already use Mersenne Twister may be unlike to change – they benefit from the new ‘skip ahead’ approach.) NCM – performance improvements for Nearest Correlation Matrix – allow for use of weighted norm & factor structure
“ might want to suggest an example under function handles; e.g. when specifying a function as an integrand in quadrature, or an objective function in optimisation” NAG Toolbox for MATLAB® additional new features Function Handles In previous versions of the toolbox, users had to provide some parameters as m-files. While this functionality is still supported, users may also provide parameters as function handles. Exceptions In previous versions of the toolbox we issued warnings when problems arose. Many MATLAB users like to use try ... catch ... end blocks to handle exceptions. By default, we now only use warnings in cases where the output values may be of use (for example in determining the cause of the problem, or as a ‘warm start’ in subsequent calls to the function), or where the function has found a solution but there are caveats, for example as to its accuracy. In all other cases we now throw an exception. This functionality can be turned off if the user prefers the old-style system, for more details see nag_issue_warnings. Integer Types We have introduced some Integer utility functions to help write programs that are portable between 32 and 64-bit platforms. New format for examples All examples are now provided as single functions, rather than a collection of M-Files. Many examples have been updated. Long names We have introduced longer names for all NAG Toolbox functions. By default the documentation will show both the long and short forms.