SAS/IML® Software

An interactive statistical programming language for innovative, custom analyses.

SAS/IML software includes hundreds of functions for implementing specialized analyses and algorithms, and lets you submit R code from within SAS. You can easily translate mathematical formulas into innovative programs for data analysis, optimization, matrix computations and more.

Matrix computations

Supports matrix operations, solving linear systems and matrix decompositions.

Data processing

Lets you read observations from a SAS data set into a matrix.

Control statements

Provides commands for execution control and program modularization.

Modules & subroutines

Includes built-in functions for numerical linear algebra, root-finding algorithms, integrals and derivatives, differential equations and interpolation.

Numerical analysis & statistical functions

Includes built-in functions for numerical linear algebra, including determinants, eigenvalues and singular values.

Time series functions 

Contains collections of routines that analyze and forecast univariate and multivariate time series.

Optimization algorithms 

Lets you define nonlinear objective functions and use optimization algorithms to find optimal solutions, subject to parameter constraints.

Data simulation 

Generates random samples from standard univariate and multivariate probability distributions.


Lets you call any SAS procedure or macro, call R functions and packages, and easily transfer data between SAS and R.

Integrated programming environment – SAS/IML® Studio 

Provides an interactive interface for trying out new statistical programming methods.

Easily translate mathematical formulas into innovative programs for matrix computations, numerical analysis, optimization, simulation, statistics and data analysis. 

Program easily and efficiently.

Simple syntax and an extensive function library make it easy to translate mathematical formulas into statistical programming statements. You can implement custom analyses for a variety of applications and even build your own module library. Share your programs and libraries by writing packages, and download programs written by others. 

Perform interactive exploratory analyses.

Graphically explore data to spot hidden patterns, uncover relationships among variables, understand outliers and identify unusual features in the data. Dynamically linked graphics enable you to select observations in one graph and see those same observations highlighted in all other views of the data.

Optimize, simulate and solve.

Find optimum values for objective functions, subject to constraints. Simulate data, solve linear systems and perform matrix computations. And there's no need to declare or allocate storage for a data matrix, because SAS/IML software does this automatically.

Call new methods in SAS®.

Easily pass parameters from SAS to R. This enables you to communicate options, such as analysis variable names. You can also easily transfer data in both directions. You can do this multiple times within your program, with complete control over the sequence of transfers. And because SAS/IML doesn't use CSV files, data transfer is faster.

Explore More on SAS/IML® & Beyond



Learn how to use this software from the ground up in Rick Wicklin's well-received book.


Get the book now



Check out Rick Wicklin's DO Loop blog for insider tidbits.


Read blog



Get the latest news, views and best practices on analytics from the brightest minds in the business.


Get insights