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.
- NAG Optimization Modelling Suite NEW
- Interior Point Method for Nonlinear Optimization NEW
- 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
- Further Additions to Nearest Correlation Matrix
- 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
Is available online in the following formats:
- HTML: the full manual available as HTML (using HTML5 features such as MathML and SVG in suitable browsers);
- PDF: the same manual as above, consisting of many PDF files, which may be browsed via the HTML table of contents pages;
- Single file PDF: the manual as a single PDF file;
- ZIP file: the archive as a ZIP file;
- Windows html help: Windows html help version as a single file;
(Note: due to Windows security restrictions the help file may not be read directly from the internet. Save a copy to your local disk, and then read the local copy. Also depending on the Windows version installed you may need to unblock files copied from the internet before they may be used (right click on the help file and select properties then select the "unblock" button).
Advice on viewing and navigating the first three formats can be found in the How to document. You are strongly advised to read this document if you wish to try the HTML+MathML format.
The two single file formats are more compact than the formats using one file per routine, but of course are 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 Error Bulletin for the NAG C Library contains a list of errors or other problems which are known to exist in 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.
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)||32-bit||CLW3225DAL|
|Intel C++ (Includes DLL Windows API)||32-bit||CLW3226DEL|
|Intel C++ (Includes DLL Windows API)||64-bit||CLW6I25DAL|
|Intel C++ (Includes DLL Windows API)||64-bit||CLW6I26DEL|
|Intel C++ / GNU C||32-bit||CLLUX25DCL|
|Intel C++ / GNU C||64-bit||CLL6I26DCL|
|Intel C++ / GNU C||64-bit (ILP64)||CLL6I26DDL|
Linux (IBM Cell)
Mac OS X
|Intel / clang (GNU C equiv.)||64-bit (ILP64)||CLMI625DCL|
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.