Details & registration for the JASMIN User Conference, 1-2 October 2025  Find out more!
Docs

NAG Library

 

Share via

The Numerical Algorithm Group (NAG) Library

This article introduces the Fortran and C library of software under the Numerical Algorithm Group (NAG) license. NAG Library is a collection of robust, documented, tested and maintained numerical algorithms.

Accessing the NAG Library  

Requesting access  

If you wish to use the NAG Library on JASMIN you will need to request access via the JASMIN Accounts Portal at:

https://accounts.jasmin.ac.uk/services/additional_services/nerctools/ 

This will give your JASMIN user account access to the “nerctools” Unix Group that is used to limit access to NAG.

Loading the NAG Library for use on JASMIN  

The NAG library is made available via module command which is only available once you are on the scientific analysis servers and LOTUS cluster on JASMIN. In addition to loading a module for the library, you will usually need to load a module for the compiler you are using. For example:

module load contrib/nag/25
module list
Currently Loaded Modulefiles:
    1) intel/fce/15.0.090   2) contrib/nag/25

The NAG library is loaded as well as the Intel Fortran compiler. Now you can compile your code and link to the NAG library, for example:

ifort your_code.f90 -lnag_nag -o your_code.exec

How to find a NAG library routine  

Please search the NAG documentation when looking for specific routines:

https://www.nag.co.uk/numeric/fl/nagdoc_fl25/html/indexes/kwic.html 

How to use the NAG library  

The following shows the directory and file organisation of the materials.

/apps/contrib/nag/fll6i25dcl/

                    |- in.html  (Installer's Note - this document)
            |- doc -|- un.html  (Users' Note)
            |       |- lic_agr.txt  (license agreement)
            |
            |       |- libnag_nag.a      (static self-contained library
            |       |                     including NAG BLAS/LAPACK)
            |       |- libnag_nag.so.25  (shareable self-contained library
            |       |                     including NAG BLAS/LAPACK)
            |       |- libnag_nag.so     (symbolic link pointing at
            |- lib -|                     libnag_nag.so.26)
            |       |- libnag_mkl.a      (static library requiring
            |       |                     MKL BLAS/LAPACK)
            |       |- libnag_mkl.so.25  (shareable library requiring
            |       |                     MKL BLAS/LAPACK)
            |       |- libnag_mkl.so     (symbolic link pointing at
            |                             libnag_mkl.so.26)
fll6i25dcl -|
            |- nag_interface_blocks -|- *  (interface blocks for Intel compiler)
            |
            |            |- source --|- ??????e.f90
            |            |
            |- examples -|- data ----|- ??????e.d
            |            |           |- ??????e.opt
            |            |
            |            |- results -|- ??????e.r
            |
            |           |- nag_example*  (scripts to compile and run
            |- scripts -|                  NAG example programs)
            |           |
            |           |- nag_recompile_mods  (script to recompile
            |                                   interface blocks)
            |
            |- c_headers -|- * (C/C++ header file and information)
            |
            |- mkl_intel64_11.2.0 -|- *  (Intel Math Kernel Library)
            |
            |- rtl -|- *  (Intel compiler run-time libraries)
            |
            |           |- bin -|- *  (directories of license management
            |           |              binaries for supported platforms)
            |- license -|- README.txt
                        |
                        |- doc -|- *  (license management documentation)

Further information  

See the full NAG library manual at:

https://www.nag.co.uk/numeric/fl/nagdoc_fl26/html/frontmatter/manconts.html 

Follow us

Social media & development