# NAGNews 113 | 18 April 2013

Posted on
18 Apr 2013

In this issue

New NAG and Excel example: Evaluation of nonlinear expressions using Excel

The many mathematical and statistical routines in the NAG Library can be called from lots of different languages, packages and environments, Microsoft Excel being one of the most popular. Combining the ease of use of Excel and the power of NAG routines is a great way of creating simple, flexible interfaces for solving difficult problems. Typically you write VBA code to handle the reading and writing of data to the Excel worksheet and the passing of parameters to the NAG routines. Once this VBA code has been written the problem parameters can be easily changed and tweaked from the worksheet without having to alter any code again.

Routines which take only simple parameters such as scalar values, vectors and matrices can have all their arguments input via the Excel worksheet however for routines that require nonlinear expression such as those routines with callback functions it isn't so straightforward. One method is to simply write the callback in VBA however you lose the interactivity gained from using Excel as every time you want to change the problem you would have to edit the VBA code. This isn't a big deal but there is another way!

The VBA function evaluate() can be used for just this purpose and, along with a few tricks, allows natural input of nonlinear expressions via the worksheet. The demo for the NAG optimization routine e04jcf takes advantage of this method. As you can see the objective function is expressed naturally on the sheet along with the simple input parameter required for the routine e04jcf:

Those with a keen eye will have picked up on the fact that the objective function is described in terms of X1…X4 but the initial estimation is given in cells B11…B14. The trick is that once the initial estimate has been read from the worksheet and stored in a VBA array, it gets copied back to the sheet in cells X1…X4 before the NAG routine e04jcf is called. Of course you could describe the objective function in terms of which-ever cells you like. It should be noted that this is not the most efficient method due to the extra copying of data that is required so it may not be suitable if your problem is large.

This technique can be exploited with many other routines in the NAG Library such as root finding, quadrature, systems of nonlinear equations and many more. Once a worksheet has been created, it can be used by anyone who is familiar with Excel even if they do not know VBA. Tip: You can hide column X by right-clicking the column header and selecting hide or set the font colour to white if you don't want the intermediate values displayed.

NAG C Library now available for Apple Mac OS X

NAG attempts to make all of its products available on as many systems as possible, including Apple Mac systems. Most of the NAG Libraries, including the latest version (Mark 23) of the NAG C Library, have implementations for the Mac giving users ready access to the 1,700+ mathematical and statistical routines contained in the Fortran Library, C Library and Toolbox for MATLAB. An Apple Mac version of the NAG Fortran Compiler is also available.

Spring 2013 NAG Student Prize Winner Announced

We are delighted to announce that the winner of the first NAG Student Prize 'Direct Award' 2013 is Isabel Ehrlich for her thesis 'Pricing Basket Options with Smile'. Isabel is studying Mathematics and Finance at Imperial College London in the Department of Mathematics.

We were very impressed by the standard of entries for this award and would like to thank all those who entered. Further 'Direct Awards' will be given later this year so, if you are a studying either Mathematics or Mathematical Finance, and use NAG software, please consider entering.

Congratulations Isabel. Her thesis 'Pricing Basket Options with Smile' can be read here.

In the last issue we introduced our partner BarryAnalytics. Dr Barry Leventhal and NAG have co authored a White Paper 'Embedding Advanced Analytics into Business Applications'. Here's the paper's introduction to whet your appetite:

There can be little doubt that the use of advanced analytics is increasing at a rapid rate - industry researchers all agree that Analytics is a growth market. For example, according to Gartner, predictive analytics software will be pervasive by 2020. By pervasive, they mean that three-quarters of all users of Business Intelligence (BI) systems will have access to predictive functionality. Today, that figure is less than one-third; Gartner expects it to rise to half of all users in the next two years.

The reasons for growth are clear. First and foremost, the volume of data being generated is increasing at an exponential rate - companies now want to store, understand and capitalise on this information. According to Forrester Research, the customer data explosion shows no signs of abating; "Companies need strong customer analytics capabilities to get a handle on customer data and make meaningful decisions." Other drivers of growth are the fact that computing power has become more affordable, greater importance is being placed on analysing the value of each customer, and more software products are available to aid this process.

Decisions based on analytics need to be taken more quickly and seamlessly. In a recent book, Davenport and colleagues show how companies apply analytics in their daily operation. They discuss what to consider when introducing analytics into business processes, and point out that the effects can be profound. Similarly, a research brief on embedding BI in enterprise applications by the Aberdeen Group suggests that this results in enhanced business performance.

The theme of our article is to show how advanced analytics techniques - such as forecasting, predictive modelling and optimization - may be embedded into business applications. When integrated within an application, such as a recommendation engine that selects the next best offer to make to each customer, the results can often lead to improved recommendations and higher return on investment (ROI).

As we will explain below, companies are now able to create their own business tools and applications, containing embedded advanced analytics drawn from a large library of mathematical and statistical algorithms.

NAG Library for Java: trial the Library

NAG recently announced availability of the NAG Library for Java – providing Java developers with access to all the numerical functionality contained in the NAG Library. Many existing users are entitled to use this Library as part of their NAG software agreement – contact us for more details. Or if you’d like to try using this Library simply request a trial and we’ll be happy to get you started.

Events & Training Courses

• SIAM National Student Chapter Conference 2013 #SNSCC13
10th May 2013, University of Warwick
NAG is a proud supporter of the SIAM National Student Chapter Conference. SNSCC13 is the forum for bringing together undergraduate and
graduate students, young researchers and faculty in a wide range of disciplines across the country, sharing a common interest in industrial
and applied mathematics. John Holden and Edvin Deadman are delighted to be representing NAG at this event, both on our exhibition booth as
well as presenting a paper.

• International Supercomputer Conference
16th-20th June 2013, Leipzig
NAG is a regular exhibitor at Europe's main HPC event and this year is no exception. NAG will be available to talk about our established HPC services and showcasing the new functionality in the NAG Library.

• Advanced Risk & Portfolio Management Bootcamp
12th-17th August 2013, New York
NAG is sponsoring this 'bootcamp' course for risk and portfolio management practitioners. For more information visit the organizer's website.

Training Courses Provided by NAG's HECToR Team*

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.

Recent blog posts

Keep up to date with NAG's recent blog posts here:

NAG Routines in Different Precisions

How would you like to call a NAG routine and have the precision it computes in determined by the precision of the arguments? So, for example, your program might contain:
If x were single precision then a single precision would be returned to r. If x were double or quadruple precision then the corresponding double or quadruple computations would be performed.

Read the full post by David Sayers

3 Years Later

The NAG Blog has been running for just over 3 years now. In that time we have had 118 posts on a wide variety of numerical computing topics including HPC, .NET, customer engagement, GPUs, optimization, and much more.

The most popular posts (pageviews) have often been the most technical ones - including:

• ParaView, VTK files and endianness
• Storing banded matrices for speed
• Optimization, statistics, big data and business analytics

NAGNews - Past Issues