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.