NAGnews 117 | 17 October 2013
In this issue
- New NAG Toolbox for MATLAB® - now available
- New functionality spotlight (Mark 24): Confluent hypergeometric function (1F1)
- NAG and Python update - download bindings for the NAG C Library
- Wadsworth Center (New York Department of Health) uses NAG Library for SMP & Multicore
- Change Point Analysis Functionality - Interested?
- Events and Training Courses
- The best of the blog
NAG Toolbox for MATLAB® - now offers more functionality
Even more opportunities are now available to MATLAB users, thanks to the updated NAG Toolbox for MATLAB®. It has been upgraded to Mark 24 - keeping its position as the world's most comprehensive single Toolbox for MATLAB. Over 130 NEW functions have been integrated into the Toolbox at Mark 24, bringing the total number of maths and stats functions to 1,500. Users appreciate the NAG Toolbox for MATLAB as it complements MATLAB by allowing the easy use of NAG and MATLAB functions giving increased algorithmic choice.
Image shows the NAG Toolbox for MATLAB being used to fit a surface through data points
New functionality includes:
Non-negative least squares (local optimization), nearest correlation matrix, inhomogeneous time series, Gaussian mixture model, confluent hypergeometric function (1F1), Brownian bridge & random fields, best subsets, real sparse eigenproblems, matrix functions, two stage spline approximation.
NAG's documentation expert, David Carlisle, has posted to the NAG Blog where he highlights the improvements to the accompanying Mark 24 NAG Toolbox for MATLAB documentation. Read it here.
New Functionality Spotlight (Mark 24): Confluent Hypergeometric Function (1F1)
We continue to shine the spotlight on the new functionality in Mark 24 of the NAG Library. Today we focus on the routine Confluent hypergeometric function (1F1). This routine has been added to the S Chapter (Approximations of Special Functions).
Included at Mark 24 of the NAG Library are routines to evaluate the confluent hypergeometric function, commonly found in many applications including option pricing. These functions have been designed to provide high accuracy solutions over a large range of input parameters. Furthermore, they may be used to determine scaled solutions for when the value of the function is not explicitly representable.
See this mini paper for more information on this new NAG Library functionality.
NAG and Python Update - download bindings for NAG C Library
Python has emerged as a highly useable programming language. Setting the ball rolling some time ago, NAG user, Mike Croucher, Head of EPS IS Applications team at University of Manchester, demonstrated a way of calling our maths and stats routines from Python on his blog 'Walking Randomly'; for which we are grateful to Mike for this initiative.
More recently NAG made available a set of bindings for using the NAG C Library from Python. These bindings provide access to all NAG Library routines from Python. They do not offer particularly pythonic interfaces consequently, you may wish to wrap the ctypes interface with a pure Python interface for the functions you frequently use. A blog has been published describing one way of doing this, 'A nag4py update'.
The NAG C Library bindings for Python (64-bit Windows, Linux and Mac) are available to download here. Please contact us (firstname.lastname@example.org) if you would like more help with this or if you have any other NAG and Python questions.
Wadsworth Center, New York Department of Health uses NAG Library for SMP and Multicore
The NAG Library for SMP and Multicore is used to underpin some of the models that are being developed at the Wadsworth Center in New York for describing aspects of radioactivity in the environment.
Dr. Thomas Semkow is a Research Scientist at the Center, and a Director of Nuclear Chemistry Program, which provides the public health laboratory for the New York State Department of Health. Dr. Semkow is also Assistant Professor, School of Public Health, University at Albany, State University of New York and he has over the last twenty years, made use of many different routines from the NAG Library, on a wide range of hardware and software platforms. His area of work is the development of mathematical models to describe health-related processes occurring in the environment, as well as other physical processes.
To have access to some of the latest developments in numerical approaches for parallel processing, Dr. Semkow is using the NAG Library for SMP and Multicore on the 64bit processors that run some of his latest models. He said. 'Over the years, I have found that NAG has provided superior code in terms of quality and depth of detail; always based on very solid mathematics and mathematical understanding; always supported by clear and detailed documentation that enables users to understand the full details of how routines work and always delivered with the full range of reference sources. Having access to the latest parallel algorithms from NAG gives me many more options for ways to speed up our models'.
Read the full story here.
Change Point Analysis Functionality - Interested?
NAG has been working on a suite of Change Point Analysis routines based on the PELT algorithms of Killick et .al (2012) and would like to hear from potential users. Given a series of data, change point analysis involves detecting the number and location of change points (places in the data where some feature, for example the mean, changes). This has applications in a wide variety of areas, including: Finance, Quality Control, Environmental Studies, Genetics and Medicine.
If you are interested in sharing information in how you would use such algorithms, share datasets or take an early code release simply e-mail us.
Events & Training Courses
- 3rd IMA Conference on Mathematics in Defence
Thursday 24 October 2013, Malvern
This conference brings together a wide variety of mathematical methods with defence and security applications. The conference programme will include keynote speakers, contributed presentations and poster sessions as well as refreshment breaks for informal discussions. It is intended for mathematicians, scientists and engineers from industry and academia, as well as government personnel who have an interest in how mathematics can be applied to defence problems. We will once again be present at our exhibition booth and look forward to meeting you if you are attending. Phil Ridley of NAG will also be presenting a paper entitled 'The CABARET Scheme for Scalable High-Resolution Shock Capturing in Turbulent Flows'.
17-22 November 2013, Denver, Colorado
For 25 years, SC it has been at the forefront in gathering the best and brightest minds in supercomputing together, with unparalleled technical papers, tutorials, posters and speakers. We are proud to have been part of this event from its inception, and this year we will once again be present at our booth (1716). We look forward to meeting you if you are attending this year. Andrew Jones of NAG will be participating in a Tutorial at SC13 on Monday 18th November at 8.30am-12.00pm. Entitled 'Effective Procurement of Supercomputers'.
- Global Derivatives USA
19-22 November 2013
NAG will be showcasing its new product and service offerings from the NAG Library and Services team. New versions of the NAG Library - NAG Library for Java and NAG Library for Xeon Phi plus the latest C and .NET Libraries as well as the NAG Toolbox for MATLAB will be demonstrated on our booth. Code tuning and porting for Xeon Phi and NVIDIA GPU hardware can be discussed. NAG collaborators, Professor Mike Giles and Professor Uwe Naumann will be presenting at the event and they will deliver a one-day workshop on 'Adjoint Methods for Option Pricing: Algorithmic Differentiation (AD) Tool Support for Greeks & Calibration Using PDEs & SDEs'.
NAG provides AD Tools and Services Training in collaboration with Mike Giles and Uwe Naumann - for more information contact John Holden. If you plan to attend the one-day workshop at Global Derivatives please feel free to contact us in advance to get early access to the AD software.
If you're interested in attending Global Derivatives, NAG has secured its readers a 25% reduction. Visit the website and quote FKN2366NAG when asked for a code.
Training Courses Provided by NAG's HECToR Team*
- Scientific Visualization
27 November 2013, NAG Manchester
- Accelerating Applications with CUDA
27-29 November 2013, Culham Centre for Fusion Energy, Oxfordshire
- Fortran 95
9-11 December 2013, University of Warwick
16 December 2013, University College London
- Parallel I/O
17 December 2013, University College London
7-9 January 2014, Imperial College London
- Parallel Programming with MPI
21-23 January 2014, Imperial College London
- Debugging, Profiling and Optimising
21-23 January 2014, University of Leeds
These HPC training courses are provided free of charge to HECToR users and UK academics whose work is covered by the remit of one of the participating research councils (EPSRC, NERC and BBSRC). The courses are also open to non-eligible people but will require payment of a course fee. Please see the eligibility page for more details.
The Best of the Blog
How do I know I am getting the right answer?
Many recent developments in numerical algorithms concern improvements in performance and the exploitation of parallel architectures. However it's important not to lose sight of one crucial point: first and foremost, algorithms must be accurate. This begs the question, how do we know whether a routine is giving us the right answer? I'm asking this in the context of the matrix function routines I've been writing (these are found in chapter F01 of the NAG Library), but I'm sure you'll agree that it's an important question for all numerical software developers to consider.
First, it's important to note that the term "the right answer", is a little unfair. Given a matrix A stored in floating point, there is no guarantee that, for example, its square root A1/2 can be represented exactly in floating point arithmetic. In addition, rounding errors introduced early on can propagate through the computation so that their effects are magnified. We'd like to be able to take into account this sort of behaviour when we test our software.
Read the full post by Mick Pont here.
NAG Toolbox for MATLAB® documentation for the Mark 24 release
A look at the documentation features in the new, Mark 24, release of the NAG Toolbox for MATLAB®.
MATLAB Documentation Help Center
Recent versions of MATLAB have a new documentation system known as the Help Center. This, however is restricted to products from MathWorks; third party extension toolboxes such as our NAG Toolbox for MATLAB® are now documented in a separate help application for Supplemental Software. This has necessitated changes in the way the NAG Toolbox documentation is packaged and installed, and we have taken the opportunity to update the system generally. This post explores some of the new features.
Previous releases of the Toolbox have, by default, installed in the toolbox directory of the MATLAB installation on the user's machine. Due to changes in the MATLAB system this does not work for releases after R2012a. So by default the new Mark 24 release of the NAG Toolbox installs under a top level NAG directory in a similar location to our other Library products. The location may be changed as an option on installation, any location may be used that is not in the MATLAB tree. Note that this documentation takes up considerably more space than the previous version as previously it was distributed as a jar file (which is a zip compressed archive) but MATLAB no longer supports jar archive help files.
Read the post by David Carlisle here.