»  Home »  Products »  Features »  Matrix programming

## Matrix programming—Mata

Environment

• 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
• 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

Decompositions

• 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

• 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.

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