What is IMSL?

The IMSL Libraries are a comprehensive set of mathematical and statistical functions that programmers can embed into their software applications. The libraries save development time by providing pre-written mathematical and statistical algorithms.

Functional areas included in the IMSL Numerical Libraries:

Mathematics Statistics
  • Matrix Operations
  • Linear Algebra
  • Eigensystems
  • Interpolation & Approximation
  • Numerical Quadrature
  • Differential Equations
  • Nonlinear Equations
  • Optimization
  • Special Functions
  • Finance & Bond Calculations
  • Genetic Algorithm
  • Basic Statistics
  • Time Series & Forecasting
  • Nonparametric Tests
  • Correlation & Covariance
  • Data Mining
  • Regression
  • Analysis of Variance
  • Transforms
  • Goodness of Fit
  • Distribution Functions
  • Random Number Generation
  • Neural Networks

Currently, we provide IMSL Fortran Library and IMSL C/C++ Library in the HPC cluster systems. This software is located at

/share1/imsl/

Using IMSL in HPC clusters

To setup required environment variables for IMSL, please use following command or refer to the sample PBS scripts under /share1/imsl/sample/:

System IMSL FNL Version Command
HPC2015 7.1.0 module load impi imslfnl/7.1.0
System IMSL CNL Version Compiler Command
HPC2015 8.6.0 Intel module load intel imslcnl/intel/8.6.0
GCC module load imslcnl/gcc/8.6.0

For Fortran standard program, compile program.f90 by:

ifort $F90FLAGS -o program.exe program.f90 $LINK_FNL

For Fortran MPI program, compile mpi_program.f90 by:

mpiifort $F90FLAGS -o mpi_program.exe mpi_program.f90 $LINK_FNL

For Fortran program on NVIDIA GPU, compile nvidia.f90 by:

$FC $FFLAGS -o nvidia nvidia.f90 $LINK_FNL_NVIDIA

For C program with cmath/cstat library, compile program.c by:

$CC $CFLAGS -o program.exe program.c $LINK_CNL

For C program on NVIDIA GPU, compile nvidia.c by:

$CC $CFLAGS -o cuda cuda.c $LINK_CNL_CUDA

Additional Information

IMSL Numerical Libraries official website
IMSL Fortran Numerical Library
IMSL C/C++ Numerical Library