»  Home »  Products »  Features »  Matrix programming
Order Stata

Matrix programming—Mata


  • Interactive—type matrix expressions and see results
  • Development—full development environment for developing programs and commands
  • Automatically compiled code

General features and matrix operators

  • Matrices with more than 2 billion rows and columns in Stata/MP
  • Matrices with up to 2 billion rows and columns in Stata/SE and Stata/IC
  • Support for real and complex values
  • Joining by rows or columns
  • Addition, subtraction, multiplication, and scalar division
  • Elementwise arithmetic
  • Transposition and reshaping
  • Kronecker and Hadamard products
  • Inner and outer products

Optimizer Updated

  • Code the function, function and gradient, or function, gradient, and Hessian
  • Newton–Raphson, BFGS, DFP, BHHH, Nelder–Mead, and Gauss–Newton techniques
  • Versions for general problems and statistical problems like maximum likelihood
  • Covariance matrix based on Hessian, outer product of gradients, or robust/sandwich

Mathematical and matrix functions

  • LAPACK numerical analysis routines
  • Hundreds of mathematical, string, and matrix utility functions
  • Unicode-aware string functions
  • Locale-based sorting and string comparison
  • Symmetric, nonsymmetric, and generalized inverses
  • Cholesky , LU , QR , and SVD solvers
  • Trigonometric and other transcendental functions
  • Gamma and factorial functions
  • Density and distribution functions Updated
  • Polynomial evaluation , arithmetic, and calculus
  • Hilbert , Toeplitz , and Vandermonde matrices
  • Duplication , commutation , and elimination matrices
  • Random-number generation
  • Fast Fourier analysis
  • Cubic splines
  • Means , sums , minimums and maximums of matrices
  • Numerical first and second derivatives
Explore all of Mata’s functions.

Stata interface

  • Convert Stata datasets to matrices and vice versa
  • Virtual matrix views onto dataset
  • Access and set estimation-class and other macros
  • Manipulate dataset value labels

Compiled language

  • C/C++-like syntax
  • Classes
  • Structures
  • Pointers
  • Numeric and string types
  • Matrices as an intrinsic type, including row and column vectors and full matrices

Object-oriented programming

  • Inheritance
  • Virtual functions
  • Encapsulation of data structures and programs


  • Eigenvalues and eigenvectors
  • Cholesky
  • LU and LUD
  • QR
  • Schur
  • Hessenberg
  • Singular value
  • Permutation matrices

Data accumulation

  • Cross products
  • Cross products of deviations from means
  • Weighted and GLS-type cross products
  • Support for quad-precision cross products

Nonlinear system solver

  • Fixed-point and root-finding problems
  • Gauss–Seidel, Broyden–Powell, and Newton–Raphson methods

Creation of Word, Excel, and PDF files

  • Programmatic access to create Word documents Updated
  • Low-level cell-by-cell access to write results to and read data from Excel, including graphs, formulas, date formats, currency formats, bold, italics, and more.
  • Programmatic access to create PDF files Updated

Other features

  • String scalars and matrices, including Unicode support
  • File I/O , including buffered I/O
  • URL percent encoding and decoding New
  • C-like syntax
  • Fast execution

Additional resources

Read the Introduction to Mata.

See New in Stata 15 for more about what was added in Stata 15.





The Stata Blog: Not Elsewhere Classified Find us on Facebook Follow us on Twitter LinkedIn Google+ YouTube Instagram
© Copyright 1996–2018 StataCorp LLC   •   Terms of use   •   Privacy   •   Contact us