Produced by experts for use in a variety of applications, the NAG Fortran Library has a global reputation for its excellence and, with hundreds of fully documented and tested routines, is the largest collection of mathematical and statistical algorithms available.
This is the serial (1 CPU core) version of the NAG Fortran Library. For many routines, you may find it beneficial to use the parallel version of the library.
There are several versions of the NAG Fortran Library available. The one you choose depends on which compiler you are using. As with many libraries installed on the system, NAG libraries are made available via module
commands which are only available once you have started a qrsh
or qsh
session.
In addition to loading a module for the library, you will usually need to load a module for the compiler you are using.
NAG for Intel Fortran
Use the following command to make Mark 25 of the serial (1 CPU core) version of the NAG Fortran Library for Intel compilers available
module load libs/intel/15/NAG/fll6i25dcl
Once you have ensured that you have loaded the module for the Intel compilers you can compile your NAG program using
ifort your_code.f90 -lnag_mkl -o your_code.exe
which links to a version of the NAG library that’s linked against the high performance Intel MKL (which provides high-performance versions of the BLAS and LAPACK libraries). Alternatively, you can compile using
ifort your_code.f90 -lnag_nag -o your_code.exe
Which is linked against a reference version of BLAS and LAPACK. If you are in any doubt as to which to choose, we suggest that you use -lnag_mkl
NAG for PGI Fortran
Use the following command to make Mark 24 of the serial (1 CPU core) version of the NAG Fortran Library for PGI compilers available
module load libs/pgi/15/NAG/fll6a24dpl
Once you have ensured that you have loaded the module for the PGI Compilers you can compile your NAG program using
pgf90 your_code.f90 -lnag_mkl -I$NAGINC -o your_code.exe
which links to a version of the NAG library that’s linked against the high performance Intel MKL (which provides high-performance versions of the BLAS and LAPACK libraries). Alternatively, you can compile using
pgf90 your_code.f90 -lnag_nag -I$NAGINC -o your_code.exe
Which is linked against a reference version of BLAS and LAPACK. If you are in any doubt as to which to choose, we suggest that you use -lnag_mkl
Most of NAG’s routines come with example programs that show how to use them. When you use the module
command to load a version of the NAG library, the script nag_example
for that version becomes available. Providing this script with the name of the NAG routine you are interested in will copy, compile and run the example program for that routine into your current working directory.
For example, here is an example output for the NAG routine a00aaf
which identifies the version of the NAG library you are using. If you try this yourself, the output you get will vary according to which version of the NAG library you are using
nag_example a00aaf
If you have loaded the module
for fll6i25dcl this will give the following output
Copying a00aafe.f90 to current directory
cp /usr/local/packages6/libs/intel/15/NAG/fll6i25dcl/examples/source/a00aafe.f90 .
Compiling and linking a00aafe.f90 to produce executable a00aafe.exe
ifort -I/usr/local/packages6/libs/intel/15/NAG/fll6i25dcl/nag_interface_blocks a00aafe.f90 /usr/local/packages6/libs/intel/15/NAG/fll6i25dcl/lib/libnag_nag.a -o a00aafe.exe
Running a00aafe.exe
./a00aafe.exe > a00aafe.r
A00AAF Example Program Results
*** Start of NAG Library implementation details ***
Implementation title: Linux 64 (Intel 64 / AMD64), Intel Fortran, Double Precision (32-bit integers)
Precision: FORTRAN double precision
Product Code: FLL6I25DCL
Mark: 25.1.20150610 (self-contained)
*** End of NAG Library implementation details ***
The key numerical and statistical capabilities of the Fortran Library are shown below.
Numerical Facilities
Statistical Facilities
fll6i25dcl
These are primarily for system administrators
tar -xvzf ./fll6i25dcl.tgz
./install.sh
The installer is interactive. Answer the installer questions as follows
Do you wish to install NAG Mark 25 Library? (yes/no):
yes
License file gets shown
[accept/decline]? :
accept
Where do you want to install the NAG Fortran Library Mark 25?
Press return for default location (/opt/NAG)
or enter an alternative path.
The directory will be created if it does not already exist.
>
/usr/local/packages6/libs/intel/15/NAG/