The NAG C Library
If you need to add mathematical and statistical functionality to your applications or if you have complex mathematical problems to solve, the NAG C Library will provide a host of benefits. The NAG C Library provides a solid numerical foundation and serves diverse mathematical areas. It is expertly documented, maintained and supported and is regularly updated with cutting edge algorithmic capabilities.
When Schroders were developing an in-house portfolio construction tool they massively reduced their development time by using NAG routines and creating 20 optimal portfolios in the same time that it used to take to create one. Learn more
We've selected key highlights from the NAG Library and show in more detail how a particular function or set of functions can be used. To learn more about a specific area/function click on the relevant link below.
- Algorithmic Differentiation Routines NEW
- Derivative-free Optimization for Data Fitting NEW
- Struve Functions NEW
- NAG Optimization Modelling Suite NEW
- Interior Point Method for Large Scale Linear Programming NEW
- Interior Point Method for Nonlinear OptimizationNEW
- Semidefinite Programming (SDP) NEW
- Nearest Correlation Matrix NEW
- Three Body Problem using High-Order Runge–Kutta Interpolation NEW
- Mixed Integer Nonlinear Programming
- Unscented Kalman Filter
- LARS / LASSO / Forward Stagewise Regression
- Change Point Analysis
- Confluent Hypergeometric Function
- Two-stage Spline Approximation to Scattered Data
- Multi-start Optimization
- Optimization for Non-negative Least Squares
- Matrix Functions
- Inhomogeneous Time Series
- Gaussian Mixture Model
- Best subset
- Bound Optimization BY Quadratic Approximation
- Linear Quantile Regression
- Sampling with Unequal Weights
- Calling random number generators from a multi-threaded environment
- Skipping Ahead the Mersenne Twister Random Number Generator
- Global Optimization
- Partial Least Squares / Ridge Regression
- Search routines
The NAG C Library Manual, Mark 26.2 is available online in the following formats:
- HTML: the full manual available as HTML (using HTML5 features such as MathML and SVG);
- ZIP file: the archive as a ZIP file.
Advice on viewing and navigating the Manual can be found in the How to Use the NAG Library and its Documentation document.
The single file zip format is more compact, but of course is a larger download if you only need to view the documentation for a few routines.
The Library is organized into Chapters – each being documented with its own Introduction and Contents list followed by a comprehensive document for each function detailing its purpose, description, list of parameters and possible error exits. Example programs and results are also supplied. All examples are available online to facilitate their use as templates for the users' calling programs.
The known issues document reflects all reported and resolved issues that affect various releases of the NAG C Library, along with suggested workarounds where possible.
The NAG C Library Manual - prior releases
Installer's Notes and Users' Notes
Support documentation for the installation and use of each implementation of the NAG C Library is available.
Technical information, including information on calling the NAG C Library from various different environments, is available via the NAG C Library Associated Information page.
The NAG C Library is the largest and most comprehensive collection of mathematical and statistical algorithms for C and C++ programmers available today. Organizations all over the world rely on the NAG C Library because of the quality and accuracy the software gives to their work. The NAG C Library is available as a Dynamic Link Library (DLL) for use on Windows systems.
Containing hundreds of functions covering a wide range of mathematical and statistical areas, NAG C Library contains algorithms which are powerful, reliable, flexible and ready for use from a wide range of operating systems, languages, environments and packages including Excel, Java, MATLAB®, .NET/C# and many more.
The following table provides a simple mechanism by which you can determine the most appropriate NAG C Library implementation for your needs. The table is organized by grouping implementations firstly by operating system and secondly by compiler; you simply select the combination appropriate to the system that you use. The most important information that you can derive from this is the NAG product code which is located in the rightmost column of each record and is a 10 character string beginning CL.
|Intel C++ (Includes DLL Windows API)
Using Visual Studio 2015 / 2017
|Intel C++ (Includes DLL Windows API)
Using Visual Studio 2015 / 2017
|Intel C++ / GNU C||32-bit||CLLUX26DCL|
|Intel C++ / GNU C||64-bit||CLL6I262CL|
|Intel C++ / GNU C||64-bit (ILP64)||CLL6I262DL|
|gcc or gfortran||64-bit||CLL6I262GL|
|Intel C++||64-bit (ILP64, custom MKL)||CLL6I261VL|
Linux (Marvell ThunderX2 aarch64)
|gcc or gfortran||64-bit||CLLA8262G|
Linux (IBM Cell)
Mac OS X
|Intel / clang (GNU C equiv.)||64-bit (ILP64)||CLMI6261DL|
Services and Support
NAG’s Technical Support Service is provided by a team of specialists in numerical and statistical software development, in fact the NAG Library and Compiler development team share responsibility for the support of our software. We strongly believe that in order to effectively support complex software the technicians must be both experienced and understand the intricacies of the computational techniques. This conviction is reflected in the composition of the team most of whom are qualified to PhD level and have combined experience of software support in excess of 50 years.
NAG provides accurate, documented, numerical software and services to help you make sure that your results are accurate. The validity of each NAG routine is tested for each platform that it is enabled for. Only when an implementation satisfies our stringent accuracy standards is it released. As a result, you can rely on the proven accuracy and reliability of NAG to give you the right answers. NAG is an ISO 9001 certified organization.
The numerical codes that underpin the results from your software are not future proof. While the mathematics does not change, the codes have a limited lifespan because of new hardware structures, mathematical innovation and changes in application needs. NAG Numerical Services help you and your organization find and implement the optimum numerical computation solutions. NAG works with your team to impart skills and techniques that will help solve your numerical software problems.
The NAG Software Modernization Service can help you improve the cost-effectiveness and performance of your numerical computing in science, engineering, finance, analytics and more.
Your users, developers and managers can all benefit from NAG's highly regarded training courses. All of the training courses listed have been delivered successfully either from NAG offices or at client premises. Training courses can be tailored to suit your particular requirements and be targeted to novice, intermediate or experienced levels. Specialized mentoring and development programs are also available for HPC managers.
NAG was founded on collaboration as an inter-University collaborative venture combining the talents of mathematicians and computer scientists. NAG has continued to collaborate with individuals and organizations over the past four decades and today longstanding and new partners are delivering tangible benefits to users and students all over the world.