# Matrix (mathematics)

In mathematics, a **matrix** (plural **matrices**) is a rectangular array or table of numbers, symbols, or expressions, arranged in rows and columns, which is used to represent a mathematical object or a property of such an object.

Without further specifications, matrices represent linear maps, and allow explicit computations in linear algebra. Therefore, the study of matrices is a large part of linear algebra, and most properties and operations of abstract linear algebra can be expressed in terms of matrices. For example, matrix multiplication represents composition of linear maps.

Not all matrices are related to linear algebra. This is, in particular, the case in graph theory, of incidence matrices, and adjacency matrices.^{[1]}

*This article focuses on matrices related to linear algebra, and, unless otherwise specified, all matrices represent linear maps or may be viewed as such.*

Square matrices, matrices with the same number of rows and columns, play a major role in matrix theory. Square matrices of a given dimension form a noncommutative ring, which is one of the most common examples of a noncommutative ring. The determinant of a square matrix is a number associated to the matrix, which is fundamental for the study of a square matrix; for example, a square matrix is invertible if and only if it has a nonzero determinant, and the eigenvalues of a square matrix are the roots of a polynomial determinant.

In geometry, matrices are widely used for specifying and representing geometric transformations (for example rotations) and coordinate changes. In numerical analysis, many computational problems are solved by reducing them to a matrix computation, and this involves often to compute with matrices of huge dimension. Matrices are used in most areas of mathematics and most scientific fields, either directly, or through their use in geometry and numerical analysis.

A *matrix* is a rectangular array of numbers (or other mathematical objects), called the *entries* of the matrix. Matrices are subject to standard operations such as addition and multiplication.^{[2]} Most commonly, a matrix over a field *F* is a rectangular array of elements of *F*.^{[3]}^{[4]} A **real matrix** and a **complex matrix** are matrices whose entries are respectively real numbers or complex numbers. More general types of entries are discussed below. For instance, this is a real matrix:

The numbers, symbols, or expressions in the matrix are called its *entries* or its *elements*. The horizontal and vertical lines of entries in a matrix are called *rows* and *columns*, respectively.

The size of a matrix is defined by the number of rows and columns it contains. There is no limit to the numbers of rows and columns a matrix (in the usual sense) can have as long as they are positive integers. A matrix with *m* rows and *n* columns is called an *m* × *n* matrix, or *m*-by-*n* matrix, while *m* and *n* are called its *dimensions*. For example, the matrix **A** above is a 3 × 2 matrix.

Matrices with a single row are called *row vectors*, and those with a single column are called *column vectors*. A matrix with the same number of rows and columns is called a *square matrix*.^{[5]} A matrix with an infinite number of rows or columns (or both) is called an *infinite matrix*. In some contexts, such as computer algebra programs, it is useful to consider a matrix with no rows or no columns, called an *empty matrix*.

The entry in the *i*-th row and *j*-th column of a matrix **A** is sometimes referred to as the *i*,*j*, (*i*,*j*), or (*i*,*j*)th entry of the matrix, and most commonly denoted as *a*_{i,j}, or *a _{ij}*. Alternative notations for that entry are

*A*[

*i,j*] or

*A*

_{i,j}. For example, the (1,3) entry of the following matrix

**A**is 5 (also denoted

*a*

_{13},

*a*

_{1,3},

*A*[

*1,3*] or

*A*

_{1,3}):

Sometimes, the entries of a matrix can be defined by a formula such as *a*_{i,j} = *f*(*i*, *j*). For example, each of the entries of the following matrix **A** is determined by the formula *a _{ij}* =

*i*−

*j*.

In this case, the matrix itself is sometimes defined by that formula, within square brackets or double parentheses. For example, the matrix above is defined as **A** = [*i*−*j*], or **A** = ((*i*−*j*)). If matrix size is *m* × *n*, the above-mentioned formula *f*(*i*, *j*) is valid for any *i* = 1, ..., *m* and any *j* = 1, ..., *n*. This can be either specified separately, or indicated using *m* × *n* as a subscript. For instance, the matrix **A** above is 3 × 4, and can be defined as **A** = [*i* − *j*] (*i* = 1, 2, 3; *j* = 1, ..., 4), or **A** = [*i* − *j*]_{3×4}.

Some programming languages utilize doubly subscripted arrays (or arrays of arrays) to represent an *m*-×-*n* matrix. Some programming languages start the numbering of array indexes at zero, in which case the entries of an *m*-by-*n* matrix are indexed by 0 ≤ *i* ≤ *m* − 1 and 0 ≤ *j* ≤ *n* − 1.^{[6]} This article follows the more common convention in mathematical writing where enumeration starts from 1.

An asterisk is occasionally used to refer to whole rows or columns in a matrix. For example, *a*_{i,∗} refers to the i^{th} row of **A**, and *a*_{∗,j} refers to the j^{th} column of **A**.

There are a number of basic operations that can be applied to modify matrices, called *matrix addition*, *scalar multiplication*, *transposition*, *matrix multiplication*, *row operations*, and *submatrix*.^{[9]}

Familiar properties of numbers extend to these operations of matrices: for example, addition is commutative, that is, the matrix sum does not depend on the order of the summands: **A** + **B** = **B** + **A**.^{[10]}
The transpose is compatible with addition and scalar multiplication, as expressed by (*c***A**)^{T} = *c*(**A**^{T}) and (**A** + **B**)^{T} = **A**^{T} + **B**^{T}. Finally, (**A**^{T})^{T} = **A**.

*Multiplication* of two matrices is defined if and only if the number of columns of the left matrix is the same as the number of rows of the right matrix. If **A** is an *m*-by-*n* matrix and **B** is an *n*-by-*p* matrix, then their *matrix product* **AB** is the *m*-by-*p* matrix whose entries are given by dot product of the corresponding row of **A** and the corresponding column of **B**:^{[11]}

where 1 ≤ *i* ≤ *m* and 1 ≤ *j* ≤ *p*.^{[12]} For example, the underlined entry 2340 in the product is calculated as (2 × 1000) + (3 × 100) + (4 × 10) = 2340:

Matrix multiplication satisfies the rules (**AB**)**C** = **A**(**BC**) (associativity), and (**A** + **B**)**C** = **AC** + **BC** as well as **C**(**A** + **B**) = **CA** + **CB** (left and right distributivity), whenever the size of the matrices is such that the various products are defined.^{[13]} The product **AB** may be defined without **BA** being defined, namely if **A** and **B** are *m*-by-*n* and *n*-by-*k* matrices, respectively, and *m* ≠ *k*. Even if both products are defined, they generally need not be equal, that is:

In other words, matrix multiplication is not commutative, in marked contrast to (rational, real, or complex) numbers, whose product is independent of the order of the factors.^{[11]} An example of two matrices not commuting with each other is:

Besides the ordinary matrix multiplication just described, other less frequently used operations on matrices that can be considered forms of multiplication also exist, such as the Hadamard product and the Kronecker product.^{[14]} They arise in solving matrix equations such as the Sylvester equation.

These operations are used in several ways, including solving linear equations and finding matrix inverses.

A **submatrix** of a matrix is obtained by deleting any collection of rows and/or columns.^{[15]}^{[16]}^{[17]} For example, from the following 3-by-4 matrix, we can construct a 2-by-3 submatrix by removing row 3 and column 2:

The minors and cofactors of a matrix are found by computing the determinant of certain submatrices.^{[17]}^{[18]}

A **principal submatrix** is a square submatrix obtained by removing certain rows and columns. The definition varies from author to author. According to some authors, a principal submatrix is a submatrix in which the set of row indices that remain is the same as the set of column indices that remain.^{[19]}^{[20]} Other authors define a principal submatrix as one in which the first *k* rows and columns, for some number *k*, are the ones that remain;^{[21]} this type of submatrix has also been called a **leading principal submatrix**.^{[22]}

Matrices can be used to compactly write and work with multiple linear equations, that is, systems of linear equations. For example, if **A** is an *m*-by-*n* matrix, **x** designates a column vector (that is, *n*×1-matrix) of *n* variables *x*_{1}, *x*_{2}, ..., *x*_{n}, and **b** is an *m*×1-column vector, then the matrix equation

Using matrices, this can be solved more compactly than would be possible by writing out all the equations separately. If *n* = *m* and the equations are independent, then this can be done by writing

where **A**^{−1} is the inverse matrix of **A**. If **A** has no inverse, solutions—if any—can be found using its generalized inverse.

Matrices and matrix multiplication reveal their essential features when related to *linear transformations*, also known as *linear maps*. The matrix **A** is said to represent the linear map *f*, and **A** is called the *transformation matrix* of *f*.

*m*-by-

*n*matrix

**A**gives rise to a linear transformation

**R**

^{n}→

**R**

^{m}mapping each vector

**x**in

**R**

^{n}to the (matrix) product

**Ax**, which is a vector in

**R**

^{m}. Conversely, each linear transformation

*f*:

**R**

^{n}→

**R**

^{m}arises from a unique

*m*-by-

*n*matrix

**A**: explicitly, the (

*i*,

*j*)-entry of

**A**is the

*i*

^{th}coordinate of

*f*(

**e**

_{j}), where

**e**

_{j}= (0,...,0,1,0,...,0) is the unit vector with 1 in the

*j*

^{th}position and 0 elsewhere.

The following table shows several 2×2 real matrices with the associated linear maps of **R**^{2}. The blue original is mapped to the green grid and shapes. The origin (0,0) is marked with a black point.

Under the 1-to-1 correspondence between matrices and linear maps, matrix multiplication corresponds to composition of maps:^{[24]} if a *k*-by-*m* matrix **B** represents another linear map *g*: **R**^{m} → **R**^{k}, then the composition *g* ∘ *f* is represented by **BA** since

The last equality follows from the above-mentioned associativity of matrix multiplication.

The rank of a matrix **A** is the maximum number of linearly independent row vectors of the matrix, which is the same as the maximum number of linearly independent column vectors.^{[25]} Equivalently it is the dimension of the image of the linear map represented by **A**.^{[26]} The rank–nullity theorem states that the dimension of the kernel of a matrix plus the rank equals the number of columns of the matrix.^{[27]}

A square matrix is a matrix with the same number of rows and columns.^{[5]} An *n*-by-*n* matrix is known as a square matrix of order *n.* Any two square matrices of the same order can be added and multiplied.
The entries *a*_{ii} form the main diagonal of a square matrix. They lie on the imaginary line that runs from the top left corner to the bottom right corner of the matrix.

If all entries of **A** below the main diagonal are zero, **A** is called an *upper triangular matrix*. Similarly if all entries of *A* above the main diagonal are zero, **A** is called a *lower triangular matrix*. If all entries outside the main diagonal are zero, **A** is called a diagonal matrix.

The *identity matrix* **I**_{n} of size *n* is the *n*-by-*n* matrix in which all the elements on the main diagonal are equal to 1 and all other elements are equal to 0, for example,

It is a square matrix of order *n*, and also a special kind of diagonal matrix. It is called an identity matrix because multiplication with it leaves a matrix unchanged:

A nonzero scalar multiple of an identity matrix is called a *scalar* matrix. If the matrix entries come from a field, the scalar matrices form a group, under matrix multiplication, that is isomorphic to the multiplicative group of nonzero elements of the field.

A square matrix **A** that is equal to its transpose, that is, **A** = **A**^{T}, is a symmetric matrix. If instead, **A** is equal to the negative of its transpose, that is, **A** = −**A**^{T}, then **A** is a skew-symmetric matrix. In complex matrices, symmetry is often replaced by the concept of Hermitian matrices, which satisfy **A**^{∗} = **A**, where the star or asterisk denotes the conjugate transpose of the matrix, that is, the transpose of the complex conjugate of **A**.

By the spectral theorem, real symmetric matrices and complex Hermitian matrices have an eigenbasis; that is, every vector is expressible as a linear combination of eigenvectors. In both cases, all eigenvalues are real.^{[28]} This theorem can be generalized to infinite-dimensional situations related to matrices with infinitely many rows and columns, see below.

A square matrix **A** is called *invertible* or *non-singular* if there exists a matrix **B** such that

where **I**_{n} is the *n*×*n* identity matrix with 1s on the main diagonal and 0s elsewhere. If **B** exists, it is unique and is called the *inverse matrix* of **A**, denoted **A**^{−1}.

A symmetric real matrix **A** is called *positive-definite* if the associated quadratic form

has a positive value for every nonzero vector **x** in **R**^{n}. If *f* (**x**) only yields negative values then **A** is *negative-definite*; if *f* does produce both negative and positive values then **A** is *indefinite*.^{[31]} If the quadratic form *f* yields only non-negative values (positive or zero), the symmetric matrix is called *positive-semidefinite* (or if only non-positive values, then negative-semidefinite); hence the matrix is indefinite precisely when it is neither positive-semidefinite nor negative-semidefinite.

A symmetric matrix is positive-definite if and only if all its eigenvalues are positive, that is, the matrix is positive-semidefinite and it is invertible.^{[32]} The table at the right shows two possibilities for 2-by-2 matrices.

Allowing as input two different vectors instead yields the bilinear form associated to **A**:^{[33]}

In the case of complex matrices, the same terminology and result apply, with *symmetric matrix*, *quadratic form*, *bilinear form*, and *transpose* **x**^{T} replaced respectively by Hermitian matrix, Hermitian form, sesquilinear form, and conjugate transpose **x**^{H}.

An *orthogonal matrix* is a square matrix with real entries whose columns and rows are orthogonal unit vectors (that is, orthonormal vectors). Equivalently, a matrix **A** is orthogonal if its transpose is equal to its inverse:

An orthogonal matrix **A** is necessarily invertible (with inverse **A**^{−1} = **A**^{T}), unitary (**A**^{−1} = **A***), and normal (**A*****A** = **AA***). The determinant of any orthogonal matrix is either +1 or −1. A *special orthogonal matrix* is an orthogonal matrix with determinant +1. As a linear transformation, every orthogonal matrix with determinant +1 is a pure rotation without reflection, i.e., the transformation preserves the orientation of the transformed structure, while every orthogonal matrix with determinant -1 reverses the orientation, i.e., is a composition of a pure reflection and a (possibly null) rotation. The identity matrices have determinant 1, and are pure rotations by an angle zero.

The trace, tr(**A**) of a square matrix **A** is the sum of its diagonal entries. While matrix multiplication is not commutative as mentioned above, the trace of the product of two matrices is independent of the order of the factors:

It follows that the trace of the product of more than two matrices is independent of cyclic permutations of the matrices, however this does not in general apply for arbitrary permutations (for example, tr(**ABC**) ≠ tr(**BAC**), in general). Also, the trace of a matrix is equal to that of its transpose, that is,

The *determinant* of a square matrix **A** (denoted det(**A**) or |**A**|) is a number encoding certain properties of the matrix. A matrix is invertible if and only if its determinant is nonzero. Its absolute value equals the area (in **R**^{2}) or volume (in **R**^{3}) of the image of the unit square (or cube), while its sign corresponds to the orientation of the corresponding linear map: the determinant is positive if and only if the orientation is preserved.

The determinant of 3-by-3 matrices involves 6 terms (rule of Sarrus). The more lengthy Leibniz formula generalises these two formulae to all dimensions.^{[35]}

The determinant of a product of square matrices equals the product of their determinants:

Adding a multiple of any row to another row, or a multiple of any column to another column does not change the determinant. Interchanging two rows or two columns affects the determinant by multiplying it by −1.^{[37]} Using these operations, any matrix can be transformed to a lower (or upper) triangular matrix, and for such matrices, the determinant equals the product of the entries on the main diagonal; this provides a method to calculate the determinant of any matrix. Finally, the Laplace expansion expresses the determinant in terms of minors, that is, determinants of smaller matrices.^{[38]} This expansion can be used for a recursive definition of determinants (taking as starting case the determinant of a 1-by-1 matrix, which is its unique entry, or even the determinant of a 0-by-0 matrix, which is 1), that can be seen to be equivalent to the Leibniz formula. Determinants can be used to solve linear systems using Cramer's rule, where the division of the determinants of two related square matrices equates to the value of each of the system's variables.^{[39]}

are called an *eigenvalue* and an *eigenvector* of **A**, respectively.^{[40]}^{[41]} The number λ is an eigenvalue of an *n*×*n*-matrix **A** if and only if **A**−λ**I**_{n} is not invertible, which is equivalent to

The polynomial *p*_{A} in an indeterminate *X* given by evaluation of the determinant det(*X***I**_{n}−**A**) is called the characteristic polynomial of **A**. It is a monic polynomial of degree *n*. Therefore the polynomial equation *p*_{A}(λ) = 0 has at most *n* different solutions, that is, eigenvalues of the matrix.^{[43]} They may be complex even if the entries of **A** are real. According to the Cayley–Hamilton theorem, *p*_{A}(**A**) = **0**, that is, the result of substituting the matrix itself into its own characteristic polynomial yields the zero matrix.

Matrix calculations can be often performed with different techniques. Many problems can be solved by both direct algorithms or iterative approaches. For example, the eigenvectors of a square matrix can be obtained by finding a sequence of vectors **x**_{n} converging to an eigenvector when *n* tends to infinity.^{[44]}

To choose the most appropriate algorithm for each specific problem, it is important to determine both the effectiveness and precision of all the available algorithms. The domain studying these matters is called numerical linear algebra.^{[45]} As with other numerical situations, two main aspects are the complexity of algorithms and their numerical stability.

Determining the complexity of an algorithm means finding upper bounds or estimates of how many elementary operations such as additions and multiplications of scalars are necessary to perform some algorithm, for example, multiplication of matrices. Calculating the matrix product of two *n*-by-*n* matrices using the definition given above needs *n*^{3} multiplications, since for any of the *n*^{2} entries of the product, *n* multiplications are necessary. The Strassen algorithm outperforms this "naive" algorithm; it needs only *n*^{2.807} multiplications.^{[46]} A refined approach also incorporates specific features of the computing devices.

In many practical situations additional information about the matrices involved is known. An important case are sparse matrices, that is, matrices most of whose entries are zero. There are specifically adapted algorithms for, say, solving linear systems **Ax** = **b** for sparse matrices **A**, such as the conjugate gradient method.^{[47]}

An algorithm is, roughly speaking, numerically stable, if little deviations in the input values do not lead to big deviations in the result. For example, calculating the inverse of a matrix via Laplace expansion (adj(**A**) denotes the adjugate matrix of **A**)

may lead to significant rounding errors if the determinant of the matrix is very small. The norm of a matrix can be used to capture the conditioning of linear algebraic problems, such as computing a matrix's inverse.^{[48]}

Most computer programming languages support arrays but are not designed with built-in commands for matrices. Instead, available external libraries provide matrix operations on arrays, in nearly all currently used programming languages. Matrix manipulation was among the earliest numerical applications of computers.^{[49]} The original Dartmouth BASIC had built-in commands for matrix arithmetic on arrays from its second edition implementation in 1964. As early as the 1970s, some engineering desktop computers such as the HP 9830 had ROM cartridges to add BASIC commands for matrices. Some computer languages such as APL were designed to manipulate matrices, and various mathematical programs can be used to aid computing with matrices.^{[50]}

There are several methods to render matrices into a more easily accessible form. They are generally referred to as *matrix decomposition* or *matrix factorization* techniques. The interest of all these techniques is that they preserve certain properties of the matrices in question, such as determinant, rank, or inverse, so that these quantities can be calculated after applying the transformation, or that certain matrix operations are algorithmically easier to carry out for some types of matrices.

The LU decomposition factors matrices as a product of lower (**L**) and an upper triangular matrices (**U**).^{[51]} Once this decomposition is calculated, linear systems can be solved more efficiently, by a simple technique called forward and back substitution. Likewise, inverses of triangular matrices are algorithmically easier to calculate. The *Gaussian elimination* is a similar algorithm; it transforms any matrix to row echelon form.^{[52]} Both methods proceed by multiplying the matrix by suitable elementary matrices, which correspond to permuting rows or columns and adding multiples of one row to another row. Singular value decomposition expresses any matrix **A** as a product **UDV**^{∗}, where **U** and **V** are unitary matrices and **D** is a diagonal matrix.

The eigendecomposition or *diagonalization* expresses **A** as a product **VDV**^{−1}, where **D** is a diagonal matrix and **V** is a suitable invertible matrix.^{[53]} If **A** can be written in this form, it is called diagonalizable. More generally, and applicable to all matrices, the Jordan decomposition transforms a matrix into Jordan normal form, that is to say matrices whose only nonzero entries are the eigenvalues λ_{1} to λ_{n} of **A**, placed on the main diagonal and possibly entries equal to one directly above the main diagonal, as shown at the right.^{[54]} Given the eigendecomposition, the *n*^{th} power of **A** (that is, *n*-fold iterated matrix multiplication) can be calculated via

and the power of a diagonal matrix can be calculated by taking the corresponding powers of the diagonal entries, which is much easier than doing the exponentiation for **A** instead. This can be used to compute the matrix exponential *e*^{A}, a need frequently arising in solving linear differential equations, matrix logarithms and square roots of matrices.^{[55]} To avoid numerically ill-conditioned situations, further algorithms such as the Schur decomposition can be employed.^{[56]}

Matrices can be generalized in different ways. Abstract algebra uses matrices with entries in more general fields or even rings, while linear algebra codifies properties of matrices in the notion of linear maps. It is possible to consider matrices with infinitely many columns and rows. Another extension is tensors, which can be seen as higher-dimensional arrays of numbers, as opposed to vectors, which can often be realized as sequences of numbers, while matrices are rectangular or two-dimensional arrays of numbers.^{[57]} Matrices, subject to certain requirements tend to form groups known as matrix groups. Similarly under certain conditions matrices form rings known as matrix rings. Though the product of matrices is not in general commutative yet certain matrices form fields known as matrix fields.

This article focuses on matrices whose entries are real or complex numbers. As a first step of generalization, any field, that is, a set where addition, subtraction, multiplication, and division operations are defined and well-behaved, may be used instead of **R** or **C**, for example rational numbers or finite fields. For example, coding theory makes use of matrices over finite fields. Wherever eigenvalues are considered, as these are roots of a polynomial they may exist only in a larger field than that of the entries of the matrix; for instance, they may be complex in the case of a matrix with real entries. The possibility to reinterpret the entries of a matrix as elements of a larger field (for example, to view a real matrix as a complex matrix whose entries happen to be all real) then allows considering each square matrix to possess a full set of eigenvalues. Alternatively one can consider only matrices with entries in an algebraically closed field, such as **C**, from the outset.

More generally, matrices with entries in a ring *R* are widely used in mathematics.^{[58]} Rings are a more general notion than fields in that a division operation need not exist. The very same addition and multiplication operations of matrices extend to this setting, too. The set M(*n*, *R*) (also denoted M_{n}(R)^{[7]}) of all square *n*-by-*n* matrices over *R* is a ring called matrix ring, isomorphic to the endomorphism ring of the left *R*-module *R*^{n}.^{[59]} If the ring *R* is commutative, that is, its multiplication is commutative, then M(*n*, *R*) is a unitary noncommutative (unless *n* = 1) associative algebra over *R*. The determinant of square matrices over a commutative ring *R* can still be defined using the Leibniz formula; such a matrix is invertible if and only if its determinant is invertible in *R*, generalising the situation over a field *F*, where every nonzero element is invertible.^{[60]} Matrices over superrings are called supermatrices.^{[61]}

Matrices do not always have all their entries in the same ring – or even in any ring at all. One special but common case is block matrices, which may be considered as matrices whose entries themselves are matrices. The entries need not be square matrices, and thus need not be members of any ring; but their sizes must fulfill certain compatibility conditions.

Linear maps **R**^{n} → **R**^{m} are equivalent to *m*-by-*n* matrices, as described above. More generally, any linear map *f*: *V* → *W* between finite-dimensional vector spaces can be described by a matrix **A** = (*a*_{ij}), after choosing bases **v**_{1}, ..., **v**_{n} of *V*, and **w**_{1}, ..., **w**_{m} of *W* (so *n* is the dimension of *V* and *m* is the dimension of *W*), which is such that

In other words, column *j* of *A* expresses the image of **v**_{j} in terms of the basis vectors **w**_{i} of *W*; thus this relation uniquely determines the entries of the matrix **A**. The matrix depends on the choice of the bases: different choices of bases give rise to different, but equivalent matrices.^{[62]} Many of the above concrete notions can be reinterpreted in this light, for example, the transpose matrix **A**^{T} describes the transpose of the linear map given by **A**, with respect to the dual bases.^{[63]}

More generally, the set of *m*×*n* matrices can be used to represent the *R*-linear maps between the free modules *R*^{m} and *R*^{n} for an arbitrary ring *R* with unity. When *n* = *m* composition of these maps is possible, and this gives rise to the matrix ring of *n*×*n* matrices representing the endomorphism ring of *R*^{n}.

A group is a mathematical structure consisting of a set of objects together with a binary operation, that is, an operation combining any two objects to a third, subject to certain requirements.^{[64]} A group in which the objects are matrices and the group operation is matrix multiplication is called a *matrix group*.^{[65]}^{[66]} Since a group every element must be invertible, the most general matrix groups are the groups of all invertible matrices of a given size, called the general linear groups.

Any property of matrices that is preserved under matrix products and inverses can be used to define further matrix groups. For example, matrices with a given size and with a determinant of 1 form a subgroup of (that is, a smaller group contained in) their general linear group, called a special linear group.^{[67]} Orthogonal matrices, determined by the condition

form the orthogonal group.^{[68]} Every orthogonal matrix has determinant 1 or −1. Orthogonal matrices with determinant 1 form a subgroup called *special orthogonal group*.

Every finite group is isomorphic to a matrix group, as one can see by considering the regular representation of the symmetric group.^{[69]} General groups can be studied using matrix groups, which are comparatively well understood, by means of representation theory.^{[70]}

It is also possible to consider matrices with infinitely many rows and/or columns^{[71]} even if, being infinite objects, one cannot write down such matrices explicitly. All that matters is that for every element in the set indexing rows, and every element in the set indexing columns, there is a well-defined entry (these index sets need not even be subsets of the natural numbers). The basic operations of addition, subtraction, scalar multiplication, and transposition can still be defined without problem; however matrix multiplication may involve infinite summations to define the resulting entries, and these are not defined in general.

If infinite matrices are used to describe linear maps, then only those matrices can be used all of whose columns have but a finite number of nonzero entries, for the following reason. For a matrix **A** to describe a linear map *f*: *V*→*W*, bases for both spaces must have been chosen; recall that by definition this means that every vector in the space can be written uniquely as a (finite) linear combination of basis vectors, so that written as a (column) vector *v* of coefficients, only finitely many entries *v*_{i} are nonzero. Now the columns of **A** describe the images by *f* of individual basis vectors of *V* in the basis of *W*, which is only meaningful if these columns have only finitely many nonzero entries. There is no restriction on the rows of *A* however: in the product **A**·*v* there are only finitely many nonzero coefficients of *v* involved, so every one of its entries, even if it is given as an infinite sum of products, involves only finitely many nonzero terms and is therefore well defined. Moreover, this amounts to forming a linear combination of the columns of **A** that effectively involves only finitely many of them, whence the result has only finitely many nonzero entries because each of those columns does. Products of two matrices of the given type are well defined (provided that the column-index and row-index sets match), are of the same type, and correspond to the composition of linear maps.

If *R* is a normed ring, then the condition of row or column finiteness can be relaxed. With the norm in place, absolutely convergent series can be used instead of finite sums. For example, the matrices whose column sums are absolutely convergent sequences form a ring. Analogously, the matrices whose row sums are absolutely convergent series also form a ring.

Infinite matrices can also be used to describe operators on Hilbert spaces, where convergence and continuity questions arise, which again results in certain constraints that must be imposed. However, the explicit point of view of matrices tends to obfuscate the matter,^{[72]} and the abstract and more powerful tools of functional analysis can be used instead.

An *empty matrix* is a matrix in which the number of rows or columns (or both) is zero.^{[73]}^{[74]} Empty matrices help dealing with maps involving the zero vector space. For example, if *A* is a 3-by-0 matrix and *B* is a 0-by-3 matrix, then *AB* is the 3-by-3 zero matrix corresponding to the null map from a 3-dimensional space *V* to itself, while *BA* is a 0-by-0 matrix. There is no common notation for empty matrices, but most computer algebra systems allow creating and computing with them. The determinant of the 0-by-0 matrix is 1 as follows regarding the empty product occurring in the Leibniz formula for the determinant as 1. This value is also consistent with the fact that the identity map from any finite-dimensional space to itself has determinant 1, a fact that is often used as a part of the characterization of determinants.

There are numerous applications of matrices, both in mathematics and other sciences. Some of them merely take advantage of the compact representation of a set of numbers in a matrix. For example, in game theory and economics, the payoff matrix encodes the payoff for two players, depending on which out of a given (finite) set of alternatives the players choose.^{[75]} Text mining and automated thesaurus compilation makes use of document-term matrices such as tf-idf to track frequencies of certain words in several documents.^{[76]}

Complex numbers can be represented by particular real 2-by-2 matrices via

under which addition and multiplication of complex numbers and matrices correspond to each other. For example, 2-by-2 rotation matrices represent the multiplication with some complex number of absolute value 1, as above. A similar interpretation is possible for quaternions^{[77]} and Clifford algebras in general.

Early encryption techniques such as the Hill cipher also used matrices. However, due to the linear nature of matrices, these codes are comparatively easy to break.^{[78]} Computer graphics uses matrices both to represent objects and to calculate transformations of objects using affine rotation matrices to accomplish tasks such as projecting a three-dimensional object onto a two-dimensional screen, corresponding to a theoretical camera observation.^{[79]} Matrices over a polynomial ring are important in the study of control theory.

Chemistry makes use of matrices in various ways, particularly since the use of quantum theory to discuss molecular bonding and spectroscopy. Examples are the overlap matrix and the Fock matrix used in solving the Roothaan equations to obtain the molecular orbitals of the Hartree–Fock method.

The adjacency matrix of a finite graph is a basic notion of graph theory.^{[80]} It records which vertices of the graph are connected by an edge. Matrices containing just two different values (1 and 0 meaning for example "yes" and "no", respectively) are called logical matrices. The distance (or cost) matrix contains information about distances of the edges.^{[81]} These concepts can be applied to websites connected by hyperlinks or cities connected by roads etc., in which case (unless the connection network is extremely dense) the matrices tend to be sparse, that is, contain few nonzero entries. Therefore, specifically tailored matrix algorithms can be used in network theory.

The Hessian matrix of a differentiable function *ƒ*: **R**^{n} → **R** consists of the second derivatives of *ƒ* with respect to the several coordinate directions, that is,^{[82]}

Another matrix frequently used in geometrical situations is the Jacobi matrix of a differentiable map *f*: **R**^{n} → **R**^{m}. If *f*_{1}, ..., *f*_{m} denote the components of *f*, then the Jacobi matrix is defined as^{[84]}

If *n* > *m*, and if the rank of the Jacobi matrix attains its maximal value *m*, *f* is locally invertible at that point, by the implicit function theorem.^{[85]}

Partial differential equations can be classified by considering the matrix of coefficients of the highest-order differential operators of the equation. For elliptic partial differential equations this matrix is positive definite, which has a decisive influence on the set of possible solutions of the equation in question.^{[86]}

The finite element method is an important numerical method to solve partial differential equations, widely applied in simulating complex physical systems. It attempts to approximate the solution to some equation by piecewise linear functions, where the pieces are chosen concerning a sufficiently fine grid, which in turn can be recast as a matrix equation.^{[87]}

Stochastic matrices are square matrices whose rows are probability vectors, that is, whose entries are non-negative and sum up to one. Stochastic matrices are used to define Markov chains with finitely many states.^{[88]} A row of the stochastic matrix gives the probability distribution for the next position of some particle currently in the state that corresponds to the row. Properties of the Markov chain-like absorbing states, that is, states that any particle attains eventually, can be read off the eigenvectors of the transition matrices.^{[89]}

Statistics also makes use of matrices in many different forms.^{[90]} Descriptive statistics is concerned with describing data sets, which can often be represented as data matrices, which may then be subjected to dimensionality reduction techniques. The covariance matrix encodes the mutual variance of several random variables.^{[91]} Another technique using matrices are linear least squares, a method that approximates a finite set of pairs (*x*_{1}, *y*_{1}), (*x*_{2}, *y*_{2}), ..., (*x*_{N}, *y*_{N}), by a linear function

which can be formulated in terms of matrices, related to the singular value decomposition of matrices.^{[92]}

Random matrices are matrices whose entries are random numbers, subject to suitable probability distributions, such as matrix normal distribution. Beyond probability theory, they are applied in domains ranging from number theory to physics.^{[93]}^{[94]}

Linear transformations and the associated symmetries play a key role in modern physics. For example, elementary particles in quantum field theory are classified as representations of the Lorentz group of special relativity and, more specifically, by their behavior under the spin group. Concrete representations involving the Pauli matrices and more general gamma matrices are an integral part of the physical description of fermions, which behave as spinors.^{[95]} For the three lightest quarks, there is a group-theoretical representation involving the special unitary group SU(3); for their calculations, physicists use a convenient matrix representation known as the Gell-Mann matrices, which are also used for the SU(3) gauge group that forms the basis of the modern description of strong nuclear interactions, quantum chromodynamics. The Cabibbo–Kobayashi–Maskawa matrix, in turn, expresses the fact that the basic quark states that are important for weak interactions are not the same as, but linearly related to the basic quark states that define particles with specific and distinct masses.^{[96]}

The first model of quantum mechanics (Heisenberg, 1925) represented the theory's operators by infinite-dimensional matrices acting on quantum states.^{[97]} This is also referred to as matrix mechanics. One particular example is the density matrix that characterizes the "mixed" state of a quantum system as a linear combination of elementary, "pure" eigenstates.^{[98]}

Another matrix serves as a key tool for describing the scattering experiments that form the cornerstone of experimental particle physics: Collision reactions such as occur in particle accelerators, where non-interacting particles head towards each other and collide in a small interaction zone, with a new set of non-interacting particles as the result, can be described as the scalar product of outgoing particle states and a linear combination of ingoing particle states. The linear combination is given by a matrix known as the S-matrix, which encodes all information about the possible interactions between particles.^{[99]}

A general application of matrices in physics is the description of linearly coupled harmonic systems. The equations of motion of such systems can be described in matrix form, with a mass matrix multiplying a generalized velocity to give the kinetic term, and a force matrix multiplying a displacement vector to characterize the interactions. The best way to obtain solutions is to determine the system's eigenvectors, its normal modes, by diagonalizing the matrix equation. Techniques like this are crucial when it comes to the internal dynamics of molecules: the internal vibrations of systems consisting of mutually bound component atoms.^{[100]} They are also needed for describing mechanical vibrations, and oscillations in electrical circuits.^{[101]}

Geometrical optics provides further matrix applications. In this approximative theory, the wave nature of light is neglected. The result is a model in which light rays are indeed geometrical rays. If the deflection of light rays by optical elements is small, the action of a lens or reflective element on a given light ray can be expressed as multiplication of a two-component vector with a two-by-two matrix called ray transfer matrix analysis: the vector's components are the light ray's slope and its distance from the optical axis, while the matrix encodes the properties of the optical element. Actually, there are two kinds of matrices, viz. a *refraction matrix* describing the refraction at a lens surface, and a *translation matrix*, describing the translation of the plane of reference to the next refracting surface, where another refraction matrix applies.
The optical system, consisting of a combination of lenses and/or reflective elements, is simply described by the matrix resulting from the product of the components' matrices.^{[102]}

Traditional mesh analysis and nodal analysis in electronics lead to a system of linear equations that can be described with a matrix.

The behaviour of many electronic components can be described using matrices. Let *A* be a 2-dimensional vector with the component's input voltage *v*_{1} and input current *i*_{1} as its elements, and let *B* be a 2-dimensional vector with the component's output voltage *v*_{2} and output current *i*_{2} as its elements. Then the behaviour of the electronic component can be described by *B* = *H* **·** *A*, where *H* is a 2 x 2 matrix containing one impedance element (*h*_{12}), one admittance element (*h*_{21}), and two dimensionless elements (*h*_{11} and *h*_{22}). Calculating a circuit now reduces to multiplying matrices.

Matrices have a long history of application in solving linear equations but they were known as arrays until the 1800s. The Chinese text *The Nine Chapters on the Mathematical Art* written in 10th–2nd century BCE is the first example of the use of array methods to solve simultaneous equations,^{[103]} including the concept of determinants. In 1545 Italian mathematician Gerolamo Cardano introduced the method to Europe when he published *Ars Magna*.^{[104]} The Japanese mathematician Seki used the same array methods to solve simultaneous equations in 1683.^{[105]} The Dutch mathematician* *Jan de Witt represented transformations using arrays in his 1659 book *Elements of Curves* (1659).^{[106]} Between 1700 and 1710 Gottfried Wilhelm Leibniz publicized the use of arrays for recording information or solutions and experimented with over 50 different systems of arrays.^{[104]} Cramer presented his rule in 1750.

The term "matrix" (Latin for "womb", derived from *mater*—mother^{[107]}) was coined by James Joseph Sylvester in 1850,^{[108]} who understood a matrix as an object giving rise to several determinants today called minors, that is to say, determinants of smaller matrices that derive from the original one by removing columns and rows. In an 1851 paper, Sylvester explains:

Arthur Cayley published a treatise on geometric transformations using matrices that were not rotated versions of the coefficients being investigated as had previously been done. Instead, he defined operations such as addition, subtraction, multiplication, and division as transformations of those matrices and showed the associative and distributive properties held true. Cayley investigated and demonstrated the non-commutative property of matrix multiplication as well as the commutative property of matrix addition.^{[104]} Early matrix theory had limited the use of arrays almost exclusively to determinants and Arthur Cayley's abstract matrix operations were revolutionary. He was instrumental in proposing a matrix concept independent of equation systems. In 1858 Cayley published his *A memoir on the theory of matrices*^{[110]}^{[111]} in which he proposed and demonstrated the Cayley–Hamilton theorem.^{[104]}

The English mathematician Cuthbert Edmund Cullis was the first to use modern bracket notation for matrices in 1913 and he simultaneously demonstrated the first significant use of the notation **A** = [*a*_{i,j}] to represent a matrix where *a*_{i,j} refers to the* i*th row and the *j*th column.^{[104]}

The modern study of determinants sprang from several sources.^{[112]} Number-theoretical problems led Gauss to relate coefficients of quadratic forms, that is, expressions such as *x*^{2} + *xy* − 2*y*^{2}, and linear maps in three dimensions to matrices. Eisenstein further developed these notions, including the remark that, in modern parlance, matrix products are non-commutative. Cauchy was the first to prove general statements about determinants, using as definition of the determinant of a matrix **A** = [*a*_{i,j}] the following: replace the powers *a*_{j}^{k} by *a*_{jk} in the polynomial

where Π denotes the product of the indicated terms. He also showed, in 1829, that the eigenvalues of symmetric matrices are real.^{[113]} Jacobi studied "functional determinants"—later called Jacobi determinants by Sylvester—which can be used to describe geometric transformations at a local (or infinitesimal) level, see above; Kronecker's *Vorlesungen über die Theorie der Determinanten*^{[114]} and Weierstrass' *Zur Determinantentheorie*,^{[115]} both published in 1903, first treated determinants axiomatically, as opposed to previous more concrete approaches such as the mentioned formula of Cauchy. At that point, determinants were firmly established.

Many theorems were first established for small matrices only, for example, the Cayley–Hamilton theorem was proved for 2×2 matrices by Cayley in the aforementioned memoir, and by Hamilton for 4×4 matrices. Frobenius, working on bilinear forms, generalized the theorem to all dimensions (1898). Also at the end of the 19th century, the Gauss–Jordan elimination (generalizing a special case now known as Gauss elimination) was established by Wilhelm Jordan. In the early 20th century, matrices attained a central role in linear algebra,^{[116]} partially due to their use in classification of the hypercomplex number systems of the previous century.

The inception of matrix mechanics by Heisenberg, Born and Jordan led to studying matrices with infinitely many rows and columns.^{[117]} Later, von Neumann carried out the mathematical formulation of quantum mechanics, by further developing functional analytic notions such as linear operators on Hilbert spaces, which, very roughly speaking, correspond to Euclidean space, but with an infinity of independent directions.

The word has been used in unusual ways by at least two authors of historical importance.

Bertrand Russell and Alfred North Whitehead in their *Principia Mathematica* (1910–1913) use the word "matrix" in the context of their axiom of reducibility. They proposed this axiom as a means to reduce any function to one of lower type, successively, so that at the "bottom" (0 order) the function is identical to its extension:

For example, a function Φ(*x, y*) of two variables *x* and *y* can be reduced to a *collection* of functions of a single variable, for example, *y*, by "considering" the function for all possible values of "individuals" *a _{i}* substituted in place of variable

*x*. And then the resulting collection of functions of the single variable

*y*, that is, ∀

*a*: Φ(

_{i}*a*), can be reduced to a "matrix" of values by "considering" the function for all possible values of "individuals"

_{i}, y*b*substituted in place of variable

_{i}*y*:

Alfred Tarski in his 1946 *Introduction to Logic* used the word "matrix" synonymously with the notion of truth table as used in mathematical logic.^{[119]}