In linear algebra, Cramer's rule is an explicit formula for the solution of a system of linear equations with as many equations as unknowns, valid whenever the system has a unique solution. It expresses the solution in terms of the determinants of the (square) coefficient matrix and of matrices obtained from it by replacing one column by the column vector of right-sides of the equations. It is named after Gabriel Cramer, who published the rule for an arbitrary number of unknowns in 1750,[1][2] although Colin Maclaurin also published special cases of the rule in 1748,[3] and possibly knew of it as early as 1729.[4][5][6]
General case
Consider a system of n linear equations for n unknowns, represented in matrix multiplication form as follows:

where the n × n matrix A has a nonzero determinant, and the vector
is the column vector of the variables. Then the theorem states that in this case the system has a unique solution, whose individual values for the unknowns are given by:

where
is the matrix formed by replacing the i-th column of A by the column vector b.
A more general version of Cramer's rule[7] considers the matrix equation

where the n × n matrix A has a nonzero determinant, and X, B are n × m matrices. Given sequences
and
, let
be the k × k submatrix of X with rows in
and columns in
. Let
be the n × n matrix formed by replacing the
column of A by the
column of B, for all
. Then

In the case
, this reduces to the normal Cramer's rule.
The rule holds for systems of equations with coefficients and unknowns in any field, not just in the real numbers.
Proof
The proof for Cramer's rule uses the following properties of the determinants: linearity with respect to any given column and the fact that the determinant is zero whenever two columns are equal, which is implied by the property that the sign of the determinant flips if you switch two columns.
Fix the index j of a column, and consider that the entries of the other columns have fixed values. This makes the determinant a function of the entries of the jth column. Linearity with respect to this column means that this function has the form

where the
are coefficients that depend on the entries of A that are not in column j. So, one has

(Laplace expansion provides a formula for computing the
but their expression is not important here.)
If the function
is applied to any other column k of A, then the result is the determinant of the matrix obtained from A by replacing column j by a copy of column k, so the resulting determinant is 0 (the case of two equal columns).
Now consider a system of n linear equations in n unknowns
, whose coefficient matrix is A, with det(A) assumed to be nonzero:

If one combines these equations by taking C1,j times the first equation, plus C2,j times the second, and so forth until Cn,j times the last, then for every k the resulting coefficient of xk becomes

So, all coefficients become zero, except the coefficient of
that becomes
Similarly, the constant coefficient becomes
and the resulting equation is thus

which gives the value of
as

As, by construction, the numerator is the determinant of the matrix obtained from A by replacing column j by b, we get the expression of Cramer's rule as a necessary condition for a solution.
It remains to prove that these values for the unknowns form a solution. Let M be the n × n matrix that has the coefficients of
as jth row, for
(this is the adjugate matrix for A). Expressed in matrix terms, we have thus to prove that

is a solution; that is, that

For that, it suffices to prove that

where
is the identity matrix.
The above properties of the functions
show that one has MA = det(A)In, and therefore,

This completes the proof, since a left inverse of a square matrix is also a right-inverse (see Invertible matrix theorem).
For other proofs, see below.
Finding inverse matrix
Let A be an n × n matrix with entries in a field F. Then

where adj(A) denotes the adjugate matrix, det(A) is the determinant, and I is the identity matrix. If det(A) is nonzero, then the inverse matrix of A is

This gives a formula for the inverse of A, provided det(A) ≠ 0. In fact, this formula works whenever F is a commutative ring, provided that det(A) is a unit. If det(A) is not a unit, then A is not invertible over the ring (it may be invertible over a larger ring in which some non-unit elements of F may be invertible).
Applications
Consider the linear system

which in matrix format is

Assume a1b2 − b1a2 is nonzero. Then, with the help of determinants, x and y can be found with Cramer's rule as

The rules for 3 × 3 matrices are similar. Given

which in matrix format is

Then the values of x, y and z can be found as follows:

Differential geometry
Ricci calculus
Cramer's rule is used in the Ricci calculus in various calculations involving the Christoffel symbols of the first and second kind.[8]
In particular, Cramer's rule can be used to prove that the divergence operator on a Riemannian manifold is invariant with respect to change of coordinates. We give a direct proof, suppressing the role of the Christoffel symbols.
Let
be a Riemannian manifold equipped with local coordinates
. Let
be a vector field. We use the summation convention throughout.
- Theorem.
- The divergence of
,

- is invariant under change of coordinates.
Proof |
|
Let be a coordinate transformation with non-singular Jacobian. Then the classical transformation laws imply that where . Similarly, if , then .
Writing this transformation law in terms of matrices yields , which implies .
Now one computes

In order to show that this equals
,
it is necessary and sufficient to show that

which is equivalent to

Carrying out the differentiation on the left-hand side, we get:

where denotes the matrix obtained from by deleting the th row and th column.
But Cramer's Rule says that

is the th entry of the matrix .
Thus

completing the proof. |
Computing derivatives implicitly
Consider the two equations
and
. When u and v are independent variables, we can define
and 
An equation for
can be found by applying Cramer's rule.
Calculation of  |
|
First, calculate the first derivatives of F, G, x, and y:
![{\displaystyle {\begin{aligned}dF&={\frac {\partial F}{\partial x}}dx+{\frac {\partial F}{\partial y}}dy+{\frac {\partial F}{\partial u}}du+{\frac {\partial F}{\partial v}}dv=0\\[6pt]dG&={\frac {\partial G}{\partial x}}dx+{\frac {\partial G}{\partial y}}dy+{\frac {\partial G}{\partial u}}du+{\frac {\partial G}{\partial v}}dv=0\\[6pt]dx&={\frac {\partial X}{\partial u}}du+{\frac {\partial X}{\partial v}}dv\\[6pt]dy&={\frac {\partial Y}{\partial u}}du+{\frac {\partial Y}{\partial v}}dv.\end{aligned}}}](./_assets_/eb734a37dd21ce173a46342d1cc64c92/717cfe9b94cd928ab12a788deedfa99a2ea41e09.svg)
Substituting dx, dy into dF and dG, we have:
![{\displaystyle {\begin{aligned}dF&=\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial F}{\partial u}}\right)du+\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial F}{\partial v}}\right)dv=0\\[6pt]dG&=\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial G}{\partial u}}\right)du+\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial G}{\partial v}}\right)dv=0.\end{aligned}}}](./_assets_/eb734a37dd21ce173a46342d1cc64c92/db9780c618030244fe08ce9e6f53ac6ad0cd9a49.svg)
Since u, v are both independent, the coefficients of du, dv must be zero. So we can write out equations for the coefficients:
![{\displaystyle {\begin{aligned}{\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial u}}&=-{\frac {\partial F}{\partial u}}\\[6pt]{\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial u}}&=-{\frac {\partial G}{\partial u}}\\[6pt]{\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial v}}&=-{\frac {\partial F}{\partial v}}\\[6pt]{\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial v}}&=-{\frac {\partial G}{\partial v}}.\end{aligned}}}](./_assets_/eb734a37dd21ce173a46342d1cc64c92/faa8362cce15633e1c0bc856b3d6be35b8cf9231.svg)
Now, by Cramer's rule, we see that:

This is now a formula in terms of two Jacobians:

Similar formulas can be derived for  |
Integer programming
Cramer's rule can be used to prove that an integer programming problem whose constraint matrix is totally unimodular and whose right-hand side is integer, has integer basic solutions. This makes the integer program substantially easier to solve.
Ordinary differential equations
Cramer's rule is used to derive the general solution to an inhomogeneous linear differential equation by the method of variation of parameters.
Examples
2x2 System
Consider the linear system

Applying Cramer's Rule gives

These values can be verified by substituting back into the original equations:
and

as required.
3x3 System
Consider the linear system

To simplify notation, define
as the matrix of coefficients, and
Calculating the required determinants gives

Applying Cramer's Rule gives

These values can be verified by substituting back into the original equations:

as required.
Algorithm
The following pseudocode describes Cramer's rule for calculating the solution of a linear system
, provided a unique solution exists.
input: Coefficient matrix A, Column vector b, Number of variables n
output: Column vector x representing the solution of Ax = b
D ← det(A)
if D = 0 then
print("Unique solution does not exist.")
return
end if
for i ← 1 to n do
Aᵢ ← A
Replace column i of Aᵢ with column vector b
xᵢ ← det(Aᵢ) / D
end if
return x
Other proofs
A proof by abstract linear algebra
This is a restatement of the proof above in abstract language.
Consider the map
where
is the matrix
with
substituted in the
th column, as in Cramer's rule. Because of linearity of determinant in every column, this map is linear. Observe that it sends the
th column of
to the
th basis vector
(with 1 in the
th place), because determinant of a matrix with a repeated column is 0. So we have a linear map which agrees with the inverse of
on the column space; hence it agrees with
on the span of the column space. Since
is invertible, the column vectors span all of
, so our map really is the inverse of
. Cramer's rule follows.
A short proof
A short proof of Cramer's rule [9] can be given by noticing that
is the determinant of the matrix

On the other hand, assuming that our original matrix A is invertible, this matrix
has columns
, where
is the n-th column of the matrix A. Recall that the matrix
has columns
, and therefore
. Hence, by using that the determinant of the product of two matrices is the product of the determinants, we have

The proof for other
is similar.
Inconsistent and indeterminate cases
A system of equations is said to be inconsistent when there are no solutions and it is called indeterminate when there is more than one solution. For linear equations, an indeterminate system will have infinitely many solutions (if it is over an infinite field), since the solutions can be expressed in terms of one or more parameters that can take arbitrary values.
Cramer's rule applies to the case where the coefficient determinant is nonzero. In the 2×2 case, if the coefficient determinant is zero, then the system is inconsistent if the numerator determinants are nonzero, or indeterminate if the numerator determinants are zero.
Example 1: An Indeterminate System
Consider the linear system

By inspection, the second equation is a multiple of the first, so there are infinitely many solutions. Applying Cramer's Rule gives

which both have zero numerators and denominators, meaning the system has infinitely many solutions and is therefore indeterminate.
Example 2: An Inconsistent System
Consider the linear system

By inspection, the left hand side of both equations are identical, with different right hand sides. Therefore, the system is inconsistent, meaning there are no solutions. Applying Cramer's Rule gives

which are both undefined due to division by zero, however the non-zero numerators means the system has no solutions and is therefore inconsistent.
For 3×3 or higher systems, the only thing one can say when the coefficient determinant equals zero is that if any of the numerator determinants are nonzero, then the system must be inconsistent. However, having all determinants zero does not imply that the system is indeterminate. A simple example where all determinants vanish (equal zero) but the system is still inconsistent is the 3×3 system x+y+z=1, x+y+z=2, x+y+z=3.
Practical Considerations
Cramer's rule, implemented in a naive way, is computationally inefficient for systems of more than two or three equations.[10] In the case of n equations in n unknowns, it requires computation of n + 1 determinants, while Gaussian elimination produces the result with the same (up to a constant factor independent of
) computational complexity as the computation of a single determinant.[11][12] Moreover, the Bareiss algorithm is a simple modification of Gaussian elimination that produces in a single computation a matrix whose nonzero entries are the determinants involved in Cramer's rule.
In 1983, an algorithm for solving the system using Cramer's rule in
operations was proposed[13].
This algorithm can use permutations exactly like those in the Gaussian method. Therefore, if approximate calculation methods are used, the solution will be more stable than the solution using the Gaussian method, since the first steps are calculated without error, before rounding off the numbers.
In 1991, an algorithm with complexity of
operations was published. [14].
In 1997, an algorithm for solving a system using Cramer's rule with complexity equal to that of matrix multiplication was proposed.[15]. For example, for the Strassen's Multiplication Algorithm, this algorithm computes the solution in
operations.
Despite the computational inefficiency of Cramer's Rule, it still remains an important theoretical tool in linear algebra for studying the mathematical properties of a solution without the need for solving the system,[16] and for engineers and mathematicians working on low dimensional problems by hand with messy decimals.[17] For example, faced with a problem like

with no tools other than a hand calculator, applying Cramer's Rule would provide the solution quite efficiently.
References
- ↑ Cramer, Gabriel (1750). "Introduction à l'Analyse des lignes Courbes algébriques" (in French). Geneva: Europeana. pp. 656–659. Retrieved 2012-05-18.
- ↑ Kosinski, A. A. (2001). "Cramer's Rule is due to Cramer". Mathematics Magazine. 74 (4): 310–312. doi:10.2307/2691101. JSTOR 2691101.
- ↑ MacLaurin, Colin (1748). A Treatise of Algebra, in Three Parts. Printed for A. Millar & J. Nourse.
- ↑ Boyer, Carl B. (1968). A History of Mathematics (2nd ed.). Wiley. p. 431.
- ↑ Katz, Victor (2004). A History of Mathematics (Brief ed.). Pearson Education. pp. 378–379.
- ↑ Hedman, Bruce A. (1999). "An Earlier Date for "Cramer's Rule"" (PDF). Historia Mathematica. 26 (4): 365–368. doi:10.1006/hmat.1999.2247. S2CID 121056843.
- ↑ Zhiming Gong; M. Aldeen; L. Elsner (2002). "A note on a generalized Cramer's rule". Linear Algebra and Its Applications. 340 (1–3): 253–254. doi:10.1016/S0024-3795(01)00469-4.
- ↑ Levi-Civita, Tullio (1926). The Absolute Differential Calculus (Calculus of Tensors). Dover. pp. 111–112. ISBN 9780486634012.
- ↑ Robinson, Stephen M. (1970). "A Short Proof of Cramer's Rule". Mathematics Magazine. 43 (2): 94–95. doi:10.1080/0025570X.1970.11976018.
- ↑ David Poole (2014). Linear Algebra: A Modern Introduction. Cengage Learning. p. 276. ISBN 978-1-285-98283-0.
- ↑ Joe D. Hoffman; Steven Frankel (2001). Numerical Methods for Engineers and Scientists, Second Edition. CRC Press. p. 30. ISBN 978-0-8247-0443-8.
- ↑ Thomas S. Shores (2007). Applied Linear Algebra and Matrix Analysis. Springer Science & Business Media. p. 132. ISBN 978-0-387-48947-6.
- ↑ Malaschonok, Gennadi (2017). "Solution of a System of Linear Equations in an Integral Ring". arXiv:1711.09452 [cs.SC].
- ↑ Malaschonok, Gennadi (2017). "Algorithms for the solution of systems of linear equations in commutative ring". arXiv:1711.11471 [cs.SC].
- ↑ Malaschonok, Gennadi (2017). "Recursive Method for the Solution of Systems of Linear Equations". arXiv:1703.10232 [cs.DS].
- ↑ Anton, Howard (2006). Elementary Linear Algebra : Applications Version. USA: New Jersey : John Wiley & Sons. p. 136. ISBN 978-0471669593. Retrieved 27 June 2026.
This formula, known as Cramer's rule, is of marginal interest for computational purposes, but it is useful for studying the mathematical properties of a solution without the need for solving the system.
- ↑ Hill, Richard (1996). Elementary Linear Algebra With Applications - Third Edition. USA: Prentice Hall. p. 121. ISBN 0-03-010347-9. Retrieved 27 June 2026.
Cramer's rule remains a fond tool for mathematicians, engineers, and scientists working on a small-dimensional problem with messy numbers.
External links
|
|---|
|
| Linear equations | | |
|---|
| Matrices |
- Matrix
- Matrix addition
- Matrix multiplication
- Basis transformation matrix
- Characteristic polynomial
- Spectrum
- Trace
- Eigenvalue, eigenvector and eigenspace
- Cayley–Hamilton theorem
- Jordan normal form
- Weyr canonical form
- Rank
- Inverse, Pseudoinverse
- Adjugate, Transpose
- Dot product
- Symmetric matrix, Skew-symmetric matrix
- Orthogonal matrix, Unitary matrix
- Hermitian matrix, Antihermitian matrix
- Positive-(semi)definite
- Pfaffian
- Projection
- Spectral theorem
- Perron–Frobenius theorem
- Diagonal matrix, Triangular matrix, Tridiagonal matrix
- Block matrix
- Sparse matrix
- Hessenberg matrix, Hessian matrix
- Vandermonde matrix
- Stochastic matrix, Toeplitz matrix, Circulant matrix, Hankel matrix
- (0,1)-matrix
- List of matrices
|
|---|
| Matrix decompositions | |
|---|
| Relations and computations | |
|---|
| Vector spaces | |
|---|
| Structures | |
|---|
| Multilinear algebra | |
|---|
| Affine and projective | |
|---|
| Numerical linear algebra | |
|---|
|