This article is about the expression of a determinant in terms of minors. For the approximation of radial potentials, see Laplace expansion (potential).
In linear algebra, the Laplace expansion, named after Pierre-Simon Laplace, also called cofactor expansion, is an expression of the determinant of an n × n-matrixB as a weighted sum of minors, which are the determinants of some (n − 1) × (n − 1)-submatrices of B. Specifically, for every i, the Laplace expansion along the ith row is the equality
where is the entry of the ith row and jth column of B, and is the determinant of the submatrix obtained by removing the ith row and the jth column of B. Similarly, the Laplace expansion along the jth column is the equality
(Each identity implies the other, since the determinants of a matrix and its transpose are the same.)
The coefficient of in the above sum is called the cofactor of in B.
The Laplace expansion is often useful in proofs, as in, for example, allowing recursion on the size of matrices. It is also of didactic interest for its simplicity and as one of several ways to view and compute the determinant. For large matrices, it quickly becomes inefficient to compute when compared to Gaussian elimination.
The determinant of this matrix can be computed by using the Laplace expansion along any one of its rows or columns. For instance, an expansion along the first row yields:
Laplace expansion along the second column yields the same result:
It is easy to verify that the result is correct: the matrix is singular because the sum of its first and third column is twice the second column, and hence its determinant is zero.
Suppose is an n × n matrix and For clarity we also label the entries of that compose its minor matrix as
for
Consider the terms in the expansion of that have as a factor. Each has the form
for some permutationτ ∈ Sn with , and a unique and evidently related permutation which selects the same minor entries as τ. Similarly each choice of σ determines a corresponding τ i.e. the correspondence is a bijection between and
Using Cauchy's two-line notation, the explicit relation between and can be written as
where is a temporary shorthand notation for a cycle.
This operation decrements all indices larger than j so that every index fits in the set {1,2,...,n-1}
The permutation τ can be derived from σ as follows.
Define by for and .
Then is expressed as
Now, the operation which apply first and then apply is (Notice applying A before B is equivalent
to applying inverse of A to the upper row of B in two-line notation)
where is temporary shorthand notation for .
the operation which applies first and then applies is
The determinant of this matrix can be computed by using the Laplace's cofactor expansion along the first two rows as follows. Firstly note that there are 6 sets of two distinct numbers in {1, 2, 3, 4}, namely let be the aforementioned set.
By defining the complementary cofactors to be
and the sign of their permutation to be
The determinant of A can be written out as
where is the complementary set to .
In our explicit example this gives us
As above, it is easy to verify that the result is correct: the matrix is singular because the sum of its first and third column is twice the second column, and hence its determinant is zero.
Let be an n × n matrix and the set of k-element subsets of {1, 2, ... , n}, an element in it. Then the determinant of can be expanded along the k rows identified by as follows:
where is the sign of the permutation determined by and , equal to , the square minor of obtained by deleting from rows and columns with indices in and respectively, and (called the complement of ) defined to be , and being the complement of and respectively.
This coincides with the theorem above when . The same thing holds for any fixed k columns.
The Laplace expansion is computationally inefficient for high-dimension matrices, with a time complexity in big O notation of O(n!). Alternatively, using a decomposition into triangular matrices as in the LU decomposition can yield determinants with a time complexity of O(n3).[2] The following Python code implements the Laplace expansion:
defdeterminant(M):# Base case of recursive function: 1x1 matrixiflen(M)==1:returnM[0][0]total=0forcolumn,elementinenumerate(M[0]):# Exclude first row and current column.K=[x[:column]+x[column+1:]forxinM[1:]]s=1ifcolumn%2==0else-1total+=s*element*determinant(K)returntotal
^Walter, Dan; Tytun, Alex (1949). "Elementary problem 834". American Mathematical Monthly. 56 (6). American Mathematical Society: 409. doi:10.2307/2306289. JSTOR2306289.
^Stoer Bulirsch: Introduction to Numerical Mathematics