Cramer's rule


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 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, although Colin Maclaurin also published special cases of the rule in 1748, and possibly knew of it as early as 1729.
Cramer's rule, implemented in a naive way, is computationally inefficient for systems of more than two or three equations. In the case of equations in unknowns, it requires computation of determinants, while Gaussian elimination produces the result with the same computational complexity as the computation of a single determinant. 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.

General case

Consider a system of linear equations for unknowns, represented in matrix multiplication form as follows:
where the matrix 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 -th column of by the column vector.
A more general version of Cramer's rule considers the matrix equation
where the matrix has a nonzero determinant, and, are matrices. Given sequences and, let be the submatrix of with rows in and columns in. Let be the matrix formed by replacing the column of by the column of, 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 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 th column. Linearity with respect to this column means that this function has the form
where the are coefficients that depend on the entries of that are not in column. So, one has

If the function is applied to any other column of, then the result is the determinant of the matrix obtained from by replacing column by a copy of column, so the resulting determinant is 0.
Now consider a system of linear equations in unknowns, whose coefficient matrix is, with det assumed to be nonzero:
If one combines these equations by taking times the first equation, plus times the second, and so forth until times the last, then for every the resulting coefficient of 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 by replacing column by, 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 be the matrix that has the coefficients of as th row, for . 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, and therefore,
This completes the proof, since a left inverse of a square matrix is also a right-inverse.
For other proofs, see [|below].

Finding inverse matrix

Let be an matrix with entries in a field. Then
where denotes the adjugate matrix, is the determinant, and is the identity matrix. If is nonzero, then the inverse matrix of is
This gives a formula for the inverse of, provided. In fact, this formula works whenever is a commutative ring, provided that is a unit. If is not a unit, then is not invertible over the ring.

Applications

Explicit formulas for small systems

Consider the linear system
which in matrix format is
Assume is nonzero. Then, with the help of determinants, and can be found with Cramer's rule as
The rules for matrices are similar. Given
which in matrix format is
Then the values of and 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.
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.
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.
First, calculate the first derivatives of F, G, x, and y:
Substituting dx, dy into dF and dG, we have:
Since u, v are both independent, the coefficients of du, dv must be zero. So we can write out equations for the coefficients:
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.

Example

Systems with unique solutions

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 by any method gives
Applying Cramer's Rule gives
These values can be verified by substituting back into the original equations:
as required.

Systems with infinitely many solutions

Consider the linear system
By inspection, the second equation is a multiple of the first, meaning there are infinitely many solutions. Applying Cramer's Rule gives
which are both undefined expressions.

Systems with no solutions

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 undefined due to division by zero, but have non-zero numerators.
Example implementation in Python

import numpy as np
from copy import deepcopy
def replace_column:
index = 0
for row_matrix in matrix:
row_matrix = column
index = index + 1
return matrix
def cramer:
"""Cramer's_rule."""
solutions =
det_coeff = np.linalg.det
column_index = 0
for rhs_values in rhs_column:
other_coeff_matrix = replace_column
solutions.append
column_index = column_index + 1
print
cramer # Solutions =

Geometric interpretation

Cramer's rule has a geometric interpretation that can be considered also a proof or simply giving insight about its geometric nature. These geometric arguments work in general and not only in the case of two equations with two unknowns presented here.
Given the system of equations
it can be considered as an equation between vectors
The area of the parallelogram determined by and is given by the determinant of the system of equations:
In general, when there are more variables and equations, the determinant of vectors of length will give the volume of the parallelepiped determined by those vectors in the -th dimensional Euclidean space.
Therefore, the area of the parallelogram determined by and has to be times the area of the first one since one of the sides has been multiplied by this factor. Now, this last parallelogram, by Cavalieri's principle, has the same area as the parallelogram determined by and
Equating the areas of this last and the second parallelogram gives the equation
from which Cramer's rule follows.