IMSL® C Numerical Library key features

Flexible and powerful data mining/forecasting functionality

  • Decision Trees
  • Regression
  • Vector Auto-Regression / Vector Error Correction Model
  • Apriori Analysis
  • Cluster Analysis
  • Kohonen Self Organizing Maps
  • Neural Networks
  • Support Vector Machines
  • Genetic Algorithm
  • Na├»ve Bayes
  • Bayesian Seasonal Time Series
  • Logistic Regression      
  • Principal Components Analysis
  • Factor Analysis
  • Discriminant Analysis

Extensive statistical functionality

  • Basic Statistics
  • Time Series and Forecasting
  • Nonparametric Statistics
  • Correlation & Covariances
  • Analysis of Variance
  • Goodness of Fit Tests
  • Probability Density and Cumulative
  • Distribution Functions
  • Maximum Likelihood Estimation
  • Generalized Linear Models
  • Random Number Generation
  • Hypothesis Testing
  • Design of Experiments
  • Multivariate Analysis

Comprehensive mathematical functionality

  • Optimization
  • Linear and Non-linear Programming
  • Matrix Operations
  • Linear Systems
  • Eigensystem Analysis
  • Interpolation and Approximation
  • Integration and Differentiation
  • Differential Equations
  • Feynman-Kac Solver
  • Transforms
  • Nonlinear Equations
  • Special Functions
  • Utilities
  • And many more…


  • 100 percent pure C code means:
    • Increased robustness: code wrappers can cause server crashes, security violations, data corruption, and difficulty in debugging
    • Simplified development: wrappers require the developer to access external compilers and pass arrays or user-defined data types to ensure compatibility between the different languages. The IMSL C Library allows developers to write, build, compile, and debug code in a single environment
  • Rigorously tested and seasoned for over 40 years across all industry verticals
  • Accuracy: consistent results across platforms and languages



  • Ease of deployment
  • In -database
  • No additional infrastructure such as app/management consoles, server, or programming environment

SMP and GPU high performance technology

The IMSL C Library, the world's standard mathematical and statistical C Library, is designed to take advantage of symmetric multiprocessor (SMP) systems.

IMSL C Library enables customers to take advantage of multicore and many-core hardware for improved performance. Numerous algorithms leverage OpenMP directives on supported environments to distribute calculations across available resources.

The IMSL C Library also leverages hardware vendor supplied SMP functionality.

The IMSL C Library offloads CPU work to NVIDIA GPU hardware where the CUDA BLAS library is utilized. Users with supported hardware will be able to link the IMSL C Library with CUDA BLAS to gain significant performance improvements for many linear algebra functions. The calling sequences for IMSL functions are untouched, so there is no learning curve and users can be productive immediately.

The IMSL C Library is thread-safe

Author thread-safe implementations with IMSL C. This feature leverages existing hardware investments and allows developers to produce applications capable of faster throughput. With this capability, the IMSL C Library can be confidently integrated into web and database servers in which multiple threads are used to handle multiple independent computations. IMSL C thread-safe features are based on the OpenMP industry standard.

Cost-effectiveness and value

IMSL C Library significantly shortens program development time and promotes standardization. Variable argument lists have been implemented to simplify calling sequences. Using IMSL C Library saves up to 95 percent of source code development and thousands of dollars in the design, development, documentation, testing, and maintenance of your application.

Intuitive programming: accurate, robust, and reliable

IMSL C Library uses descriptive, explanatory function names for intuitive programming allowing developers to be more productive. Reserved function names begin with prefixes unique to each product. Where appropriate, consistent variable names are used to:

  • Make function names easy to identify and use as well as prevent conflicts with other software
  • Provide a common root name for numerical functions that offers the choice of multiple precision

Diagnostic error handling

Diagnostic error messages are clear and informative - designed to convey the error condition and to suggest corrective action when appropriate. These error-handling features:

  • Make it faster and easier to debug programs
  • Increase programming productivity
  • Ensure algorithms are functioning properly in an application

Learn more about our capabilities.