Bareiss algorithm Created 2026-10-20 Updated 2026-11-05
The Bareiss algorithm is fraction-free Gaussian elimination for exact determinants. For an integer matrix, put and . At step , choose a nonzero pivot element and update the trailing entries by
Set the eliminated entries below the pivot to zero. The determinant identities behind the method make division by exact, so intermediate entries remain integers. Without row exchanges, the last pivot is ; row exchanges change its sign in the usual way. A zero pivot needs an exchange before continuing.
For , the first trailing block becomes . The last update is , giving the determinant without rational intermediate entries. Exact division is different from having no division at all.[ref]
Erwin H. Bareiss 2026-11-05
Erwin H. Bareiss developed integer-preserving methods for Gaussian elimination. The Bareiss algorithm uses determinant identities to arrange divisions that are exact, reducing the growth of intermediate rational expressions.[ref]
An update combines two products and divides by a previous pivot. The reason this stays in the integers is structural: the quantities represent related minors satisfying Sylvester identity for bordered minors. This makes exact linear algebra practical without replacing the calculation by floating-point approximation.[ref]
Let a square matrix have a leading block . For row and column indices , let be the determinant formed by bordering with row and column , keeping that order. For and , the Sylvester identity for bordered minors is
It is a polynomial identity and remains valid when is singular; dividing by requires an additional nonzero condition.[ref]
For and , the bordered minors are , , . The identity reads . In Bareiss algorithm, this identity explains why division by a previous pivot can be exact over the integers.