IMSL C Numerical Library provides the essential building blocks

needed to develop analytic tools for your organization.

LATEST RELEASE

**IMSL C 2023.1**

Here is the complete list of supported platforms.

To learn more about these updates, see the change log.

#### Utilities

`data_read`

:

- Reads a delimited ascii flat file. Accepts numeric, string (char), and date/time fields and converts the data to a double matrix suitable for input into IMSL data mining algorithms. See a full example of using this new functionality in our data ingestion blog.

### Math/Library

Eigensystem Analysis:

- arpack_svd - Function arpack_svd computes some of the singular values and left and right singular vectors of a real rectangular matrix. The SVD is a very important factorization technique that has many applications in engineering, science and statistics. Example application fields are image processing (e.g. image compressing and reconstruction), signal processing (e.g. noise reduction in signals), applied mathematics (e.g. least squares and matrix approximation problems), control theory, pattern recognition, time series analysis and bioinformatics (e.g. SVD Analysis or Principal Component Analysis of gene expression data).
- arpack_general (complex) Function arpack_general (complex) uses an iterative method, called the implicitly restarted Arnoldi method, to compute a few eigenvalues and eigenvectors of a complex general matrix. It is mainly used on large sparse matrices. Typical application areas of sparse complex eigenvalue solvers like arpack_general are quantum physics, plasma physics, quantum chemistry, optics, electromagnetic simulations, frequency estimation in signal processing and eigenfrequency analysis in structural mechanics.

#### Stat/Library

Data Mining:

- multiclass_auc - Computes the Area Under the Curve (AUC) for two-class classification problems, or a multiclass generalization to AUC for problems having more than two classes. The AUC is a popular and useful measure of accuracy for classification methods. The curve referenced in AUC is the Receiver Operating Characteristic (ROC) curve. For a two-class problem, the ROC is a plot of the false positive rate vs the true positive rate for a range of cutoff probability values.

Probability Distribution Functions and Inverses:

- Evaluation of the generalized Gaussian distribution (GGD). The GGD generalizes the normal (Gaussian) distribution by adding an additional shape parameter. Allowing for a variety of shapes different from the familiar bell-shape of the normal distribution, the GGD is a better fit for many processes. The GGD is widely used in signal and image processing applications.

Random Number Generation:

- random_generalized_gaussian Generates pseudorandom variates from the generalized Gaussian distribution.

LATEST RELEASE

## IMSL C 2021

Here is the complete list of supported platforms.

To learn more about these updates, see the change log.

#### Eigensystem Analysis

`eig_sym`

- Symmetric eigenvalue problems appear very often in engineering, science and statistics.

Typical application areas are stability theory, principal component analysis (PCA), classical multidimensional scaling and the numerical solution of ordinary differential equations.

As an example, in PCA, all eigenvalues of a correlation matrix are determined and the largest are used to express the total system variability by a small number of dominant components. In that way, the dimension of the original data set can often be reduced to a few relevant variables.

`eig_herm`

- Similarly to the symmetric case, Hermitian eigenvalue problems are ubiquitous in engineering and science.

Typical application fields are partial differential equations, signal and image processing and quantum mechanics. In the latter, for example the eigenvalues and eigenvectors (i.e., eigenstates) of the angular momentum of an electron, which can be described by a Hermitian matrix, have to be computed.

`arpack_symmetric`

- Function arpack_symmetric uses an iterative method, called the implicitly restarted Lanczos method, to compute a few eigenvalues and eigenvectors of a symmetric matrix. It is mainly used on large sparse symmetric matrices. Depending on the problem, the user only has to provide matrix-vector products and/or a matrix factorization to compute the eigenvalues.

Typical application areas of sparse symmetric eigenvalue solvers like arpack_symmetric are quantum physics, quantum chemistry, computational fluid dynamics (CFD), spectral graph theory, structural dynamics, and radiation transport.

`arpack_general`

- Function arpack_general uses an iterative method, called the implicitly restarted Arnoldi method, to compute a few eigenvalues and eigenvectors of a real general matrix. It is mainly used on large sparse matrices. Depending on the problem, the user only has to provide matrix-vector products and/or a matrix factorization to compute the eigenvalues.

Typical application areas of sparse real eigenvalue solvers like arpack_general are quantum physics, quantum chemistry, computational fluid dynamics (CFD), spectral graph theory, structural dynamics, radiation transport, and mechanical engineering.

If you need support updating your system, please contact support.

## IMSL C 2020

Here is the complete list of supported platforms.

To learn more about these updates, see the change log.

#### Nonlinear Equations

`zeros_poly`

function:

- Added companion matrix and Aberth's method according to D. A. Bini's implementation as root finding methods. The new methods can be called via optional arguments IMSL_COMPANION_METHOD and IMSL_ABERTH_METHOD, respectively.

`zeros_poly (complex)`

function:

- Added companion matrix and Aberth's method according to D. A. Bini's implementation as root finding methods. The new methods can be called via optional arguments IMSL_COMPANION_METHOD and IMSL_ABERTH_METHOD, respectively.

#### Optimization

`min_uncon_polytope`

function:

- Fixed bugs in the computation of the shrinking step and the computation of the second worst point.

`min_con_polytope`

function:

- Fixed bugs in the computation of the second worst and final best point.

#### Regression

`pls_regression`

function:

- Added new optional arguments: IMSLS_OPT_N_COMPONENTS for the optimal component number, IMSLS_STANDARD_COEF(_USER) for the standard PLS regression coefficients, IMSLS_INTERCEPT_TERMS(_USER) for the intercept terms and IMSLS_PCT_VAR(_USER) for the percentage of variance of predictor and response variables explained by the components.
- Improved the performance of the cross-validation section of the code that determines the optimal number of PLS components, and we've fixed a few defects. More details can be found in the change log.

#### Categorical and Discrete Data Analysis

`categorical_glm`

function:

- Refined computation of complementary log-log function and simplified computation of some internal constants.

#### Time Series and Forecasting

`arma`

function:

- Extended applicability of the method of moments from the standard ARMA model to general ARMA models.

`support_vector_trainer`

function:

- Fixed an issue in the radial basis function kernel that significantly improving performance.

## IMSL C 2019

Here is the complete list of supported platforms.

To learn more about these updates, see the release notes.

#### CMATH Library Improvements

A number of bug fixes and performance improvements were implemented in the following chapters of the CMATH library:

- Linear Systems
- Interpolation and Approximation
- Quadrature
- Differential Equations
- Optimization
- Special Functions
- Utilities

#### CSTAT Library Improvements

A number of bug fixes and performance improvements were implemented in the following chapters of the CSTAT library:

- Regression
- Categorical and Discrete Data Analysis
- Time Series and Forecasting
- Probability Distribution Functions and Inverses
- Random Number Generation

#### Math and Stat User Guide

Math and Stat User Guide now includes information about:

- OpenMP "schedule(runtime)" clause.
- OpenMP OMP_NUM_THREADS and OMP_NESTED environment.