# SAS/IML® (SAS 9.4) Features

## Matrix functions

• Use matrix operations such as multiplication, direct products and factorizations.
• Apply mathematical operators and functions to each element of a matrix.
• Use multithreaded computations for large matrices.
• Find elements in a matrix that satisfy given conditions.
• Compute descriptive statistics for each column of a matrix.
• Create structured matrices, such as diagonal, banded and block diagonal.
• Reshape, transpose and concatenate matrices.
• Compute correlation and covariance matrices.
• Count, identify or remove missing values or other special values from matrices.

## Control statements

• Direct the flow of execution of SAS/IML statements.
• Enable program modularization.
• Perform numerical analysis and call statistical functions.
• Find roots of polynomials and general nonlinear functions.
• Compute inverses and generalized inverses, and solve sparse systems of linear equations.
• Compute numerical integrals and derivatives; compute eigenvalues and eigenvectors.
• Perform Cholesky, singular value and complete orthogonal decompositions.
• Perform QR decomposition by Householder rotation or the Gram-Schmidt process.
• Perform discrete sequential tests.

## Time series functions

• Analyze ARMA models and their generalizations.
• Simulate a univariate ARMA time series or multivariate correlated time series.
• Compute autocovariance estimates for time series.
• Perform finite Fourier transformations and inverse FFTs, Kalman filtering and wavelet analysis.

## Numerical analysis functions

• Perform numerical integration.
• Use nonlinear optimization.

## Optimization algorithms

• Solve linear programming and mixed-integer linear programming problems.
• Use multiple methods for constrained and unconstrained nonlinear optimization.
• Specify linear or nonlinear constraints.
• Apply genetic algorithms.

## Data visualization

• Create standard ODS statistical graphics, such as histograms and scatter plots.
• Create heat maps to visualize data in matrices.
• Call ODS statistical procedures directly to create complex graphs.

## Data simulation

• Generate random samples from standard univariate distributions.
• Generate random samples from standard multivariate distributions.
• Generate random permutations and combinations.
• Generate a random sample from a finite set.

## Extensibility

• Define your own function modules.
• Create and share packages of functions.
• Call any SAS procedure or DATA step.
• Call R functions and packages.

## Interactive data analysis with SAS/IML Studio

### Data exploration

• Identify observations in plots.
• Select observations in linked data tables and graphics.
• Exclude observations from graphs and analyses.
• Search, sort, subset and extract data.
• Transform variables.

### Distribution analysis

• Compute descriptive statistics, quantile-quantile plots and mosaic plots of cross-classified data.
• Fit parametric and kernel density estimates for distributions.
• Detect outliers in contaminated Gaussian data.

### Parametric & nonparametric regression

• Fit general linear models, logistic regression models and robust regression models.
• Smooth two-dimensional data by using polynomials, loess curves and thin-plate splines.
• Create residual and influence diagnostic plots.
• Include classification effects in logistic and generalized linear models.

### Multivariate analysis

• Create correlation matrices and scatter plot matrices with confidence ellipses.
• Perform principal components analysis, discriminant analysis, factor analysis and correspondence analysis.
• Efficient handling of large data transfers between client and server:
• Parallel execution of multiple SAS/IML Studio workspaces.
• Client support for 64-bit Windows.

## Integrated programming environment in SAS/IML Studio

• Write, debug and execute IMLPlus programs in an integrated development environment.
• Create customized, dynamically linked graphics.
• Develop interactive data analysis programs that use dialog boxes.