Even fresher numbers to crunch

Numerical Algorithms Group (NAG) adds new features to Java dev library

Lucy Carey

“Probably the biggest” trove of mathematical and statistical algorithms available for developers undergoes its second Java-flavoured revamp.


If mathematical and statistical algorithms are what get your juices pumping, you’re in for a figurative treat. The Numerical Algorithms Group (NAG) – an Anglo/US organization which churns out numerical software and compilers for devs who want to incorporate mathematical or statistical functionality into their applications – has just announced an update of over 100 routines in the NAG Library for Java.

The NAG Library is quite probably the biggest repository of mathematical and statistical algorithms around. Its remit extends to impressive sounding things such as linear algebra, optimization, quadrature, the solution of ordinary and partial differential equations, regression analysis, and time series analysis. People working in fields like financial analysis, business analytics, science, engineering and research tap into the NAG to access problem solving algorithms for their daily activities.

This new release is the 24th in its 40 year history, and only the second time the Java Library has undergone a tune up. Bundled inside it are a stack of new features, including multi-start (global) optimization, 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, and two-stage spline approximation.

Launched in the spring of last year, the NAG Library for Java’s key goal is to provide Java devs with the newest tried and tested NAG Library routines. Instead of puzzling out their own formulae, coders can tap into this resource and speedily access, “robust, stringently tested and fully documented numerical code,” making the development process zippier and less susceptible to errors.

Key capabilities within the NAG Library for Java numerical routines include: Optimization, (Local and Global), linear, quadratic, integer and nonlinear programming, ordinary and partial differential equations and Wavelet Transforms, among other complicated things. In terms of statistical routines, Java devs can access functions such as random number generation, analysis of variance and contingency table analysis, and time series analysis.

Along with Java, the NAG also churns out mathematical solutions for C/C++, Fortran, Python, MATLAB, C#, F#, and R, as well as multicore and Symmetric Multiprocessor (SMP) computers, and distributed memory systems and banks of workstations and PCs. Image by See-ming Lee
Inline Feedbacks
View all comments