# Stata/Mata

Mata is a matrix language for Stata that is separate from the original ado-style programming. It was introduced in version 9. It is an imperative language similar to the C programming language and was designed to be faster for user program dealing with matrices.

## VariablesEdit

Variables in Mata have both an *eltype* and an *orgtype*. The *eltype* can be any of: real, complex, string, pointer, struct, numeric (real or complex), or transmorphic (any of the previous). All numbers in stata are stored as 8-byte doubles. The *orgtype* can be any of: scalar, vector, rowvector, colvector, or matrix.

## FunctionsEdit

All functions in Mata are pass-by-reference.