SAS® IML (SAS® Viya®) Features

High-level programming language

  • Translate mathematical formulas into programs.
  • Matrices and vectors area treated as high-level objects.
  • Data structures such as lists and in-memory tables.
  • Iterative loops, IF-THEN/ELSE logic, etc.
  • More than 300 built-in functions.
  • Define new functions and subroutines.
  • In the iml action: Functions can execute in parallel on multiple threads.

Matrix computations

  • Read from a data table into a matrix.
  • Multithreaded matrix operations: addition, multiplication, raise to power, etc.
  • Solve linear systems.
  • Matrix decompositions: Cholesky, eigenvalues, SVD, etc.
  • Send matrices to functions.
  • In the iml action: additional multithreaded matrix computations.

Numerical analysis

  • Linear algebra.
  • Root-finding algorithms.
  • Integrals and derivatives.
  • Differential equations (DEs).
  • Interpolation.
  • In the iml action: Find multiple roots, solve multiple DEs, in parallel.
  • Differential equation solver with a simple UI lets more people use algorithms without being an expert.

Optimization

  • Linear programming.
  • Mixed-integer linear programming.

Simulation

  • Simulate from dozens of built-in distributions.
  • Univariate: Normal, lognormal, exponential, etc.
  • Multivariate: Normal, multinomial, Wishart, etc.
  • Time series models: ARIMA and multivariate variations.
  • Program custom simulations.
  • Regression models.
  • Spatial models.
  • In the iml action: Generate independent samples in multiple threads.

Statistics & data analysis

  • Means and standard deviations.
  • Correlation and covariance matrices.
  • Tabulate categorical data.
  • Implement hypothesis tests.
  • Multivariate data analysis.
  • In the iml action: bootstrap methods and permutation tests in parallel.