SAS/IML® and SAS/IML® Studio

Easily translate mathematical formulas into programs for data analysis, optimization and matrix computations with this powerful matrix programming language. You can apply SAS/IML software to tasks ranging from simple matrix manipulations to sophisticated statistical estimation techniques. It is also useful for tasks including root finding, numerical integration, linear programming, nonlinear optimization, bootstrap estimation and simulation. With this powerful matrix programming language software, you can concentrate on solving problems because activities such as memory allocation and dimensioning of matrices are performed automatically.

The technology's interface, SAS/IML Studio, is a tool for data exploration and analysis. In addition, it provides an integrated development environment that enables you to write, debug, and execute programs that combine the flexibility of the SAS/IML matrix language, the analytical power of SAS/STAT procedures, the data manipulation capabilities of Base SAS software, the dynamically linked graphics of SAS/IML Studio, and the functions and user-contributed packages of the open-source R language.

You can use the iml action in in SAS® Viya® to run traditional IML programs and to write custom parallel programs. 


white marble texture

The most recent releases are SAS/IML 15.1 and SAS/IML Studio 15.1.

What's New in SAS/IML 15.1

SAS/IML 15.1 supports several new statements and functions:

  • The CONTINUE statement stops the processing of the current iteration of a DO loop and resumes processing at the next iteration of the DO loop.
  • The new digital filtering functions enable you to design digital filters and apply those filters to signals. Many of the digital filtering functions start with the "DF" prefix. The new function and subroutines are CCEPSTRUM, DFCONV, DFDESIGN, DFFILT, DFFREQZ, DFFREQZZPK, DFMEDFILT, DFORDER, DFSOSFILT, DFSOSFREQZ, DFSOSFREQZZPK, ICCEPSTRUM, and RCEPSTRUM.
  • The experimental KPCATRAIN subroutine computes a kernel principal component (kPCA) analysis from training data. The experimental KCPASCORE function uses the kPCA model to score new data.
  • The FEVAL function enables you to evaluate a function indirectly by specifying the name of the function and its arguments.
  • The LEAVE statement exits the current DO loop and resumes processing at the statement that follows the DO loop.
  • The MODULESTACK function returns the names of all modules in the module call stack.
  • The SPECTROGRAM subroutine displays a spectrogram of a short-time Fourier transform of a time series signal.
  • The TABLESORT subroutine sorts a table by one or more columns.

What's New in SAS/IML Studio 15.1

SAS/IML Studio 15.1 supports the following new features:

  • Formats and informats that have been added since SAS 9.2.
  • New statements for DO loops. The LEAVE and CONTINUE statements enable you to control when a DO loop terminates or proceeds to the next iteration, respectively.
  • New syntax for the FROM keyword of the CREATE and APPEND statements. You can now specify multiple matrices on those statements.

Videos & Tutorials

Browse our library of free SAS/IML and SAS/IML Studio tutorials to learn something new or sharpen your skills.


Find user's guides and other technical documentation for SAS/IML and SAS/IML Studio.

SAS/IML 15.1

Related Documentation

  • SAS/IML Studio 15.1 for SAS/STAT Users PDF | HTML
  • SAS/IML Studio 15.1: User's Guide PDF | HTML

SAS/IML Studio 15.1

Related Documentation

  • SAS/IML Studio 15.1: User's Guide PDF | HTML

Previous Versions

SAS Technical Papers

Read technical papers to learn how to complete a task or achieve a goal.

white marble texture

Hot Fixes

Find quick solutions to problems or conduct routine system maintenance. SAS hot fixes have been tested and are fully supported.


Software Downloads

The downloads application contains updates for SAS products and solutions.

white marble texture

SAS/IML and SAS/IML Studio Blogs & Communities

The SAS/IML Software and Matrix Computations community discusses statistical programming, matrix languages, and more.

Connect with other SAS users by joining a users group or attending an upcoming event.

Back to Top