History of Determinant Computation

From Hand Calculation to Cutting-Edge Algorithms

1. Introduction

Computing the determinant of an $n \times n$ matrix -- this problem has captivated mathematicians and computer scientists for over 340 years. Since Seki Takakazu and Leibniz discovered the concept of determinants as a tool for solving systems of equations in the 17th century, computational complexity has been dramatically reduced from $O(n!)$ to $O(n^3)$, and then to $O(n^{2.371\ldots})$ (a theoretical upper bound; the practical standard is LU decomposition with pivoting, at $O(n^3)$).

This article surveys when and how determinant computation methods evolved, and organizes the genealogy of these methods in a systematic diagram.

Prerequisites

  • Basic concepts of matrices and determinants (ability to compute $2 \times 2$ and $3 \times 3$ determinants)
  • Meaning of $O$ notation (Big-O notation): understanding that $O(n^3)$ means "for large $n$ the computation is bounded above by a constant times $n^3$" is sufficient
  • Definition of matrix product (used from Section 6 onward)
Timeline of determinant computation methods. From Seki Takakazu in 1683, Leibniz in 1693, Cramer in 1750, Laplace in 1772, Gauss in 1809, LU decomposition in 1938, Strassen in 1969, to the latest algorithms in 2024. Complexity improved from O(n!) to O(n^3) to O(n^omega). Dawn Formulas Elimination Computers Speedup Cutting Edge 1683 Seki 1693 Leibniz 1750 Cramer 1772 Laplace 1809 Gauss 1812 Cauchy 1866 Dodgson 1938 LU decomp. 1968 Bareiss 1969 Strassen 1990 C–W 2012 Williams 2024 Latest O(n!) O(n³) O(nω) Complexity: O(n!) → O(n³) → O(n2.37...) — From factorial to polynomial order in 340 years

2. The Dawn: From Systems of Equations to Determinants (17th Century)

2.1 Seki Takakazu (1683)

The history of determinants begins with the Japanese mathematician Seki Takakazu. In his 1683 work Kai Fukudai no Ho (Method of Solving Hidden Problems), Seki independently developed computational techniques equivalent to determinants for solving systems of equations.

Although Seki did not use the term "determinant," he provided general methods for computing the determinant of $2 \times 2$, $3 \times 3$, $4 \times 4$, and $5 \times 5$ matrices. This predates Leibniz's work by approximately 10 years.

2.2 Leibniz (1693)

In Europe, Gottfried Wilhelm Leibniz described in a 1693 letter to l'Hôpital the conditions for a system of equations to have a solution using determinant-like expressions. Leibniz represented coefficients with double subscripts $a_{ij}$ and described the conditions for the existence of solutions through combinations of products and signs.

The work of Seki and Leibniz was completely independent, making it a remarkable case of Eastern and Western mathematics arriving at the same concept simultaneously.

Computational complexity of this era: No systematic computational methods had yet been established; computation was limited to individual calculations for small matrices. In modern terms, direct computation from the definition corresponds to $O(n \cdot n!)$.

3. The Age of Formulas (18th Century)

3.1 Cramer's Rule (1750)

Gabriel Cramer published in his 1750 work a formula expressing the solution of a system of $n$ linear equations in terms of determinants.

$$x_j = \dfrac{\det(A_j)}{\det(A)}$$

Here $A_j$ is the matrix obtained by replacing the $j$-th column of the coefficient matrix $A$ with the constant terms (the formula holds when $\det(A) \neq 0$).

Cramer's rule is theoretically elegant, but computing $\det(A)$ directly from the definition requires summing $n!$ terms, so each of the $n+1$ determinants $\det(A)$ and $\det(A_1), \ldots, \det(A_n)$ costs $O(n \cdot n!)$, for $O(n^2 \cdot n!)$ in total. For $n = 20$, a single determinant already has $20! \approx 2.4 \times 10^{18}$ terms, making it impractical not only by hand but even by computer.

3.2 Laplace Expansion (1772)

Pierre-Simon Laplace gave in 1772 a general method for expanding a determinant in terms of cofactors, that is, minors with signs attached. This is known as cofactor expansion (Laplace expansion).

$$\det(A) = \sum_{j=1}^{n} (-1)^{i+j} \, a_{ij} \, M_{ij}$$

Here $i$ is the fixed row used for the expansion, and $M_{ij}$ is the minor obtained by deleting row $i$ and column $j$. This recursive method is structurally clear and is often used in theoretical proofs. However, the computational complexity is recursively $T(n) = n \cdot T(n-1)$, which ultimately yields $O(n!)$.

The $O(n!)$ barrier: As $n$ grows, $n!$ increases faster than any exponential function. Neither Cramer's rule nor Laplace expansion, used as defined, gets past this barrier. A way around it (elimination) was in fact older, but it became widely used as a method for computing determinants only from the 19th century on.

Note that in 1771, Vandermonde was the first to treat determinants as independent mathematical objects rather than mere accessories of systems of equations. This was an important turning point in the development of determinant theory.

4. Gaussian Elimination: From $O(n!)$ to $O(n^3)$ (Widespread in the 19th Century)

4.1 Gauss and the Elimination Method (1809–1810)

Carl Friedrich Gauss used the elimination method systematically in 1809–1810 in computing the orbit of the asteroid Pallas (the normal equations of least squares), and from there it spread among human computers (hence the name "Gaussian elimination" today). The method itself is much older: it appears in the Chinese Nine Chapters on the Mathematical Art and in Newton (around 1670). Transforming a matrix into upper triangular form via elementary row operations and taking the product of the diagonal entries gives the determinant (swapping two rows flips the sign and scaling a row scales the determinant, so these are recorded). This takes only $O(n^3)$ operations.

The difference between $O(n!)$ and $O(n^3)$ is dramatic (the table compares $n!$ and $n^3$ directly, ignoring constant factors, as a rough guide):

$n$$n!$ (Laplace expansion)$n^3$ (Gaussian elimination)Speedup factor
2280.25x (reversed)
36270.22x (reversed)
424640.38x (reversed)
5120125≈ 1x (crossover)
103,628,8001,000≈ 3,600x
20$2.4 \times 10^{18}$8,000≈ $3 \times 10^{14}$x
100$9.3 \times 10^{157}$$10^6$≈ $9.3 \times 10^{151}$x
A log-log scale comparison of n! (Laplace expansion complexity) and n^3 (Gaussian elimination complexity) for n=1 to n=20. They cross near n=5, and for n>=10, n! overwhelmingly exceeds n^3. 10⁰ 10³ 10⁶ 10⁹ 10¹² 10¹⁵ 10¹⁸ Computational cost (log scale) 1 2 5 10 20 Matrix size n (log scale) n = 5 (crossover) n=1: both equal 1 3.6 × 10⁶ 10³ 2.4 × 10¹⁸ Straight line (slope 3) n! (Laplace expansion) n³ (Gaussian elimination)

Figure: Comparison of $n!$ and $n^3$ (log-log scale). The polynomial $n^3$ appears as a straight line (slope $3$), highlighting the super-polynomial growth of $n!$. They coincide at $n = 1$ and cross again near $n = 5$ (ignoring constant factors, as a rough guide).

Ignoring constant factors, $n!$ and $n^3$ cross near $n = 5$, the crossover point. Counting actual multiplications (including divisions), however, cofactor expansion takes $2, 9, 40, 205$ and elimination $3, 10, 23, 44$ (for $n = 2$ to $5$), so cofactor expansion uses fewer for $n \leq 3$ and elimination uses fewer for $n \geq 4$. For $n \geq 10$, the gap widens rapidly, and the superiority of Gaussian elimination becomes overwhelming. In other words, "$O(n^3)$ is not always faster" -- for small matrices, direct expansion from the definition suffices, and the power of elimination manifests as $n$ grows.

Gauss was also one of the first to use the word "determinant" (in his 1801 Disquisitiones Arithmeticae, for the discriminant of a quadratic form, a somewhat different context from today's usage).

Determinant computation via elimination is discussed in detail in Deriving the Determinant: Row Reduction and Upper Triangular Matrices.

4.2 Cauchy and the Systematization of Determinants (1812)

Augustin-Louis Cauchy systematically organized determinant theory in his 1812 paper "Mémoire sur les fonctions qui ne peuvent obtenir que deux valeurs égales et de signes contraires par suite des transpositions opérées entre les variables qu'elles renferment," establishing the term "determinant" in its modern sense. He proved many fundamental properties in this paper, including the symmetry of rows and columns and the multiplicativity of determinants ($\det(AB) = \det(A)\det(B)$).

4.3 Dodgson Condensation (1866)

Charles Dodgson, better known as Lewis Carroll, the author of Alice's Adventures in Wonderland, published in 1866 a method called condensation. Based on the Desnanot-Jacobi identity, it computes the determinant by successively reducing the matrix. The complexity is $O(n^3)$, but it represents an interesting alternative approach to Gaussian elimination. However, it suffers from numerical instability due to potential division by zero at intermediate steps.

5. The Computer Era: LU Decomposition and Numerical Stability (20th Century)

5.1 LU Decomposition and Partial Pivoting

In the 20th century, Gaussian elimination was formalized as LU decomposition, which became central to numerical computation with the advent of computers. A matrix $A$ is factored into the product of a lower triangular matrix $L$ and an upper triangular matrix $U$:

$$A = LU$$

The determinant can then be computed as the product of diagonal entries:

$$\det(A) = \det(L) \cdot \det(U) = \prod_{i=1}^{n} l_{ii} \cdot \prod_{i=1}^{n} u_{ii}$$

LU decomposition was introduced in 1938 by the Polish astronomer Tadeusz Banachiewicz. In 1948, Alan Turing analysed the rounding errors of elimination and LU decomposition, and it became widely recognized that in floating-point arithmetic partial pivoting, choosing at each step the entry of largest absolute value in the current column as the pivot, is important for numerical stability (it works stably for most matrices, though not for every matrix). Because rows are swapped, the factorization becomes $PA = LU$ ($P$ a permutation matrix), and with the diagonal of $L$ set to 1, $\det(A) = \operatorname{sgn}(P) \prod_{i=1}^{n} u_{ii}$ (the sign flips when the number of row swaps is odd).

5.2 LAPACK and Practical Implementations

LU decomposition became a core algorithm in LAPACK (Linear Algebra PACKage) and is used as the standard method in major numerical computing environments such as NumPy, MATLAB, and Julia. With $O(n^3)$ complexity and small constant factors, it is the most widely used method in practice.

5.3 The Bareiss Algorithm (1968)

Erwin Bareiss published in 1968 a fraction-free elimination method. For integer matrices, it performs computations entirely in the integers, avoiding the introduction of fractions at intermediate stages.

Standard Gaussian elimination involves division, so even for integer matrices, rational numbers appear as intermediate results. The Bareiss algorithm maintains integer values throughout by incorporating appropriate divisions. The complexity remains $O(n^3)$, but it is particularly valuable in symbolic computation.

Where Bareiss excels:

  • Computer algebra systems (Mathematica, SymPy, SageMath): When computing determinants of matrices containing symbolic variables exactly, floating-point arithmetic cannot be used. Bareiss can handle integers and polynomials directly.
  • Graph theory: By Kirchhoff's matrix tree theorem, the number of spanning trees of a graph equals a cofactor of its Laplacian matrix. Since this matrix has integer entries, computing it exactly with Bareiss is natural.

Over a field such as $\mathbb{F}_p$, by contrast, fractions do not blow up, so ordinary elimination (one inverse per pivot) suffices; Bareiss also divides entry by entry at every stage, so over a field it actually performs more divisions. Bareiss pays off over integral domains that are not fields, such as the integers or polynomials.

6. The Dawn of Fast Algorithms (1969--)

6.1 The Strassen Breakthrough (1969)

In 1969, Volker Strassen published a groundbreaking algorithm that performs matrix multiplication faster than $O(n^3)$. While the standard product of $2 \times 2$ matrices requires 8 multiplications, Strassen reduced this to 7 through an ingenious combination of operations.

Applying this recursively yields:

$$O(n^{\log_2 7}) = O(n^{2.807\ldots})$$

This overturned the long-held belief that $O(n^3)$ was optimal, demonstrating that the "$O(n^3)$ barrier" does not exist.

6.2 Computational Equivalence of Determinants and Matrix Multiplication

Determinant computation can be reduced to matrix multiplication. Specifically:

  • LU decomposition can be performed in the same $O(n^\omega)$ complexity as matrix multiplication (Block LU decomposition)
  • The determinant is the product of diagonal entries of LU decomposition, so it is also $O(n^\omega)$
  • The matrix inverse is also $O(n^\omega)$ (Bunch-Hopcroft, 1974)

Here $\omega$ is called the matrix multiplication exponent: the infimum of the exponents such that, for every $\varepsilon > 0$, two $n \times n$ matrices can be multiplied in $O(n^{\omega + \varepsilon})$ operations. $O(n^\omega)$ itself is not necessarily attained, but following convention we write $O(n^\omega)$.

The key equivalence:

In the sense of algebraic complexity (counting arithmetic operations), matrix multiplication, LU decomposition, determinants, and matrix inversion all share the same $O(n^\omega)$ complexity and are mutually reducible (the reduction shown above goes from determinants to matrix multiplication; the reverse direction is due to Baur–Strassen, 1983). Consequently, any speedup in matrix multiplication automatically yields a speedup in determinant computation. Numerical stability and constant factors are a separate matter from this equivalence.

6.3 Historical Progress on $\omega$

Since Strassen, intensive research has been devoted to lowering the upper bound on $\omega$:

YearResearcher(s)Upper bound on $\omega$Notes
--(naive)3.0Standard matrix multiplication
1969Strassen2.807$\log_2 7$, first breakthrough
1978Pan2.796
1979Bini–Capovani–Romani2.780
1981Schönhage2.522$\tau$ theorem
1981Coppersmith–Winograd2.496
1986Strassen2.479Laser method
1990Coppersmith–Winograd2.376Long-standing best record
2010Stothers2.3737Refinement of CW method
2012Williams2.3729
2014Le Gall2.3729Slight improvement
2020Alman–Williams2.3728
2022Duan–Wu–Zhou2.3719Major improvement via new techniques
2024Williams–Xu–Xu–Zhou2.3716
2024Alman–Duan–Williams–Xu–Xu–Zhou2.3713Record as of 2024

7. The Cutting Edge: Is $\omega = 2$ Achievable?

7.1 Theoretical Lower Bound

The product of two $n \times n$ matrices has $n^2$ entries. Since the inputs consist of $2n^2$ entries, simply reading all of them requires $\Omega(n^2)$ computation. Therefore:

$$\omega \geq 2$$

There remains a gap between the record as of 2024, $\omega < 2.3714$, and the lower bound $\omega \geq 2$. Many researchers conjecture that $\omega = 2$ holds, but it has not been proven.

7.2 The Practicality Barrier

The theoretically best algorithm is not necessarily practical. Fast algorithms since Strassen share common challenges:

  • Huge constant factors: The constants hidden in $O$ notation are extremely large, so the theoretical advantage manifests only for astronomically large matrices (galactic algorithm)
  • Numerical stability: Fast algorithms tend to be numerically unstable
  • Memory efficiency: Recursive subdivision complicates memory access patterns

In practice, for matrices of size a few hundred to a few thousand, LAPACK's LU decomposition ($O(n^3)$) is the fastest, and even for very large matrices, Strassen's algorithm ($O(n^{2.807})$) is the practical limit. The $O(n^{2.37\ldots})$ algorithms have never been used in practice.

8. Genealogy: Three Lineages

Determinant computation methods can be broadly classified into three lineages.

Genealogy of determinant computation methods. (1) Definition-based (Seki Takakazu -> Cramer -> Laplace, O(n!)), (2) Elimination-based (Gauss -> LU decomposition -> LAPACK, O(n^3)), (3) Fast matrix multiplication-based (Strassen -> Coppersmith-Winograd -> latest, O(n^omega)). ① Definition-based (expansion) O(n!) Seki / Leibniz 1683 / 1693 Cramer's Rule 1750 Laplace Expansion 1772 Used in theory & proofs ② Elimination-based O(n³) Gaussian Elim. 1809 LU Decomposition 20th century LU with Pivoting LAPACK Bareiss (1968) Integer-specialized Practical standard ③ Fast matrix multiplication-based O(nω), ω→2? Strassen 1969 | 2.807 C–W 1990 | 2.376 Williams+ 2012 | 2.373 DWXZ+ 2024 | 2.371 Theoretical frontier Reduced via block LU

The relationships among the three lineages can be summarized as follows:

  • Lineage 1 (definition-based) has $O(n!)$ complexity and is inefficient, but remains active in theoretical discussions and proofs
  • Lineage 2 (elimination-based) runs in $O(n^3)$ and is the practical standard
  • Lineage 3 (fast matrix multiplication-based) achieves $O(n^{2.37\ldots})$ in theory but has not reached practical use
  • Lineages 2 and 3 are theoretically equivalent (in the sense of algebraic complexity) through block LU decomposition: speeding up matrix multiplication directly translates to faster LU decomposition

9. Summary

EraRepresentative MethodComplexityUse & Characteristics
17th century Seki Takakazu / Leibniz $O(n \cdot n!)$ Discovery of determinants for solving systems of equations (hand computation for $n \leq 5$)
18th century Cramer / Laplace $O(n!)$ Theory and proofs; hand computation for small matrices
19th century Gaussian elimination $O(n^3)$ Education and hand computation; prototype of elimination methods
Early 20th c. LU decomposition + pivoting $O(n^3)$ Practical standard (LAPACK, NumPy, MATLAB)
1969-- Strassen / CW $O(n^{2.376\ldots})$ Theoretical upper bounds; breaking the $O(n^3)$ barrier (Strassen is sometimes implemented for large matrices)
2020s Williams et al. / Duan et al. $O(n^{2.371\ldots})$ Pure theory; asymptotic improvement toward $\omega = 2$

Looking back over 340 years of history, determinant computation has progressed through three stages: "factorial time to polynomial time to the pursuit of theoretical limits." The first revolution was elimination (named after Gauss), improving from $O(n!)$ to $O(n^3)$, and the second was Strassen's breaking of the $O(n^3)$ barrier. Whether $\omega = 2$ can be achieved remains one of the major open problems in theoretical computer science and algebraic complexity, and research continues to this day.

Frequently asked questions

Who first discovered the determinant?

In 1683 the Japanese mathematician Seki Takakazu independently gave a computational method equivalent to the modern determinant in his work Kai Fukudai no Ho. In Europe, Leibniz independently arrived at a similar idea in 1693, so East and West reached the same concept at nearly the same time.

How has the computational complexity of determinants improved over time?

Expanding by the definition (Laplace expansion) costs $O(n!)$, and using Cramer's rule as written costs $O(n^2 \cdot n!)$, whereas elimination needs only $O(n^3)$. Elimination itself is old (it appears in the Nine Chapters and in Newton) and spread after Gauss used it systematically in 1809–1810 for orbit computations. In 1969 Strassen achieved $O(n^{2.807})$, and the record as of 2024 is $\omega < 2.3714$ (these are theoretical upper bounds; the practical standard is LU decomposition with pivoting).

Why was Strassen's algorithm groundbreaking?

In 1969, Strassen discovered a method to multiply $2 \times 2$ matrices using only 7 multiplications instead of the usual 8. Applying this recursively achieves $O(n^{2.807})$, overturning the belief that $O(n^3)$ was optimal.

What is the relationship between the computational complexities of determinants and matrix multiplication?

In the sense of algebraic complexity (counting arithmetic operations), determinant computation reduces to matrix multiplication and the reverse reduction also holds (Baur–Strassen, 1983), so both share the same exponent $\omega$. If matrix multiplication can be done in $O(n^\omega)$, the determinant can also be computed in $O(n^\omega)$. Whether $\omega = 2$ is achievable remains an open problem.