Original English by Jim Hefferon — 34 validated sections. The original mathematics and supplied answers below are preserved. This is a partial-book reading edition, not the complete book or an Everyday-English rewrite.

Source, reuse and conversion details

Source revision df2262e089a02651c127f1dd12649c4622ee1383; CC BY-SA 2.5 option, with original component credits retained. This is not an Everyday-English rewrite. The complete active topic is included; comments and the end-of-file marker remain in the editable source.

Four exercises and their four original supplied answers, two literal code/output listings, 111 mathematical expressions and eight framed matrix entries are retained. Source formulas are not silently corrected. AI-assisted source-preserving conversion and bounded checks; the Current rebuild runtime is documented in the credit below; earlier intermediate work is not reattributed. No human review or exhaustive correctness certification is claimed.

Five source corrections and clarifications — may reveal supplied answers
  1. In the initial elimination display (**), the final row should be (0,9,1): (2,10,2) minus (2,1,1). The later condensation matrix with final row (9,1) and determinant result 25 is correct. Preserve both printed displays and attach this separate correction; do not replace the later correct values.

    Original source: src/det/chio.tex, lines 35–35.

  2. The displayed (n-1)-by-(n-1) matrix C uses indices 1 <= i,j <= n-1, with entries a11*a(i+1,j+1)-a(i+1,1)*a(1,j+1). The printed range excludes the first row/column and runs past A.

    Original source: src/det/chio.tex, lines 118–118.

  3. The answer suggests any nonzero pivot but its displayed minor still uses row and column 1. Bring a chosen nonzero entry to (1,1) by specified row and column swaps, track the sign of each swap, then apply the ordinary formula to the permuted matrix. Return to the original determinant using that sign. If every entry is zero, the determinant is zero. Do not silently use the printed first-pivot formula for an arbitrary pivot.

    Original source: src/det/chio.tex, lines 336–349.

  4. The displayed remaining columns of B omit its first column (a11,0,...,0). For every i,j >= 2 the correct remaining entry is a11*aij-ai1*a1j. In particular, the last two printed second-row entries use ann and a2j where a11 and a21 are required. Retain the source display and read it with these exact qualifications.

    Original source: src/det/chio.tex, lines 409–434.

  5. The final comparison is between two expressions for det(B), not the printed set(B). The cancellation gives det(A)=det(C)/a11^(n-2), not det(C)/ann^(n-2), consistently with the topic's earlier statement. It requires the nonzero first pivot over the real-number field used here.

    Original source: src/det/chio.tex, lines 439–441.

Reading the original formula proof

Clarification of the existing first-pivot proof over the real numbers, not a new theorem or a rewrite of the author's source.

  1. Let n>=3 and a11!=0. Multiply each of the n-1 lower rows by a11, then subtract ai1 times the unchanged first row from row i.
  2. Row scaling multiplies the determinant by a11^(n-1); subsequent row additions do not change it. The resulting B has first column (a11,0,...,0), and its lower-right block is C with entries a11*aij-ai1*a1j for i,j>=2.
  3. Laplace expansion along that first column gives det(B)=a11*det(C). Combining the two expressions and dividing by a11 gives det(C)=a11^(n-2)*det(A); division by a11^(n-2) is permitted because a11 is nonzero.

Read Exercise 4 and its complete supplied answer. The short question is not a standalone proof.

For scholarly comparison, see Darij Grinberg, Karthik Karnik and Anya Zhang, From Chio Pivotal Condensation to the Matrix-Tree theorem, Theorem 2.1 and footnote 4. That work distinguishes a division-free identity from using division to calculate a determinant. Its wider ring treatment is not silently added to this real-number exposition.

Wide formulas and code listings scroll horizontally. Focus a region and use the arrow keys.

Source-preserving rebuild, navigation, source packaging and current deterministic checks: OpenAI Codex — GPT-6 Astra, Ultra effort. Jim Hefferon remains the author of the mathematics. Earlier intermediate-conversion runtime identity is not established by its retained receipts and is not reassigned to this rebuild. No human review or exhaustive proof certification is claimed.

Chiò’s Method

When doing Gauss’s Method on a matrix that contains only integers people often like to keep it that way. To avoid fractions in the reduction of this matrix

A = ( 2 1 1 3 4 − 1 1 5 1 )

they may start by multiplying the lower rows by  2

⟶ 2 ρ 3 2 ρ 2 ( ( 2 1 1 6 8 − 2 2 10 2 ) ( ∗ )

so that elimination in the first column goes like this.

⟶ − ρ 1 + ρ 3 − 3 ρ 1 + ρ 2 ( ( 2 1 1 0 5 − 5 0 8 0 ) ( ∗ ∗ )

This all-integer approach is easier for mental calculations. And, using integer arithmetic on a computer avoids some sticky issues involving floating point calculations [Kahan]. So there are sound reasons for this approach.

Another advantage of this approach is that we can easily apply Laplace’s expansion to the first column of ( ∗ ∗ ) and then get the determinant by remembering to divide by 4 because of ( ∗ ).

Here is the general 3 × 3 case of this approach to finding the determinant. First, assuming a 1 , 1 ≠ 0 , we can rescale the lower rows.

A = ( a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 1 a 3 , 2 a 3 , 3 ) ⟶ a 1 , 1 ρ 3 a 1 , 1 ρ 2 ( ( a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 1 a 1 , 1 a 2 , 2 a 1 , 1 a 2 , 3 a 1 , 1 a 3 , 1 a 1 , 1 a 3 , 2 a 1 , 1 a 3 , 3 a 1 , 1 )

This rescales the determinant by a 1 , 1 2 . Now eliminate down the first column.

⟶ − a 3 , 1 ρ 1 + ρ 3 − a 2 , 1 ρ 1 + ρ 2 ( ( a 1 , 1 a 1 , 2 a 1 , 3 0 a 2 , 2 a 1 , 1 − a 2 , 1 a 1 , 2 a 2 , 3 a 1 , 1 − a 2 , 1 a 1 , 3 0 a 3 , 2 a 1 , 1 − a 3 , 1 a 1 , 2 a 3 , 3 a 1 , 1 − a 3 , 1 a 1 , 3 )

Let C be the 1 , 1 minor. By Laplace the determinant of the above matrix is a 1 , 1 det ( C ) . We thus have a 1 , 1 2 det ( A ) = a 1 , 1 det ( C ) and since a 1 , 1 ≠ 0 this gives det ( A ) = det ( C ) / a 1 , 1 .

To do larger matrices we must see how to compute the minor’s entries. The pattern above is that each element of the minor is a 2 × 2  determinant. For instance, the entry in the minor’s upper left a 2 , 2 a 1 , 1 − a 2 , 1 a 1 , 2 , which is the 2 , 2  entry in the above matrix, is the determinant of the matrix of these four elements of A .

( a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 1 a 3 , 2 a 3 , 3 )

And the minor’s lower left, the 3 , 2 entry from above, is the determinant of the matrix of these four.

( a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 1 a 3 , 2 a 3 , 3 )

So, where A is  n × n for n ≥ 3 , we let Chiò’s matrix C be the ( n − 1 ) × ( n − 1 ) matrix whose i , j entry is the determinant

| a 1 , 1 a 1 , j + 1 a i + 1 , 1 a i + 1 , j + 1 |

where 1 < i , j ≤ n . Chiò’s method for finding the determinant of A is that if a 1 , 1 ≠ 0 then det ( A ) = det ( C ) / a 1 , 1 n − 2 . (By the way, nothing in Chiò’s formula requires that the numbers be integers; it applies to reals as well.)

To illustrate we find the determinant of this 3 × 3 matrix.

A = ( 2 1 1 3 4 − 1 1 5 1 )

This is Chiò’s matrix.

C = ( | 2 1 3 4 | | 2 1 3 − 1 | | 2 1 1 5 | | 2 1 1 1 | ) = ( 5 − 5 9 1 )

The formula for 3 × 3 matrices d e t ( A ) = det ( C ) / a 1 , 1 gives det ( A ) = ( 50 / 2 ) = 25 .

For a larger determinant we must do multiple steps but each involves only 2 × 2 determinants. So we can often calculate the determinant just by writing down a bit of intermediate information. For instance, with this 4 × 4 matrix

A = ( 3 0 1 1 1 2 0 1 2 − 1 0 3 1 0 0 1 )

we can mentally doing each of the 2 × 2 calculations and only write down the 3 × 3 result.

C 3 = ( | 3 0 1 2 | | 3 1 1 0 | | 3 1 1 1 | | 3 0 2 − 1 | | 3 1 2 0 | | 3 1 2 3 | | 3 0 1 0 | | 3 1 1 0 | | 3 1 1 1 | ) = ( 6 − 1 2 − 3 − 2 7 0 − 1 2 )

Note that the determinant of this is a 1 , 1 4 − 2 = 3 2 times the determinant of  A .

To finish, iterate. Here is Chiò’s matrix of C 3 .

C 2 = ( | 6 − 1 − 3 − 2 | | 6 2 − 3 7 | | 6 − 1 0 − 1 | | 6 2 0 2 | ) = ( − 15 48 − 6 12 )

The determinant of this matrix is 6  times the determinant of  C 3 . The determinant of C 2 is 108 . So det ( A ) = 108 / ( 3 2 ⋅ 6 ) = 2 .

Laplace’s expansion formula reduces the calculation of an  n × n determinant to the evaluation of a number of ( n − 1 ) × ( n − 1 )  ones. Chiò’s formula is also recursive but it reduces an  n × n determinant to a single  ( n − 1 ) × ( n − 1 ) determinant, calculated from a number of 2 × 2 determinants. However, for large matrices Gauss’s Method is better than either of these; for instance, it takes roughly half as many operations as Chiò’s Method [Fuller & Logan].

Exercises

  1. Exercise 1 Supplied answer

    Use Chiò’s Method to find each determinant.

    1. | 1 2 3 4 5 6 7 8 9 |

    2. | 2 1 4 0 0 1 4 0 1 1 1 1 0 2 1 1 |

    Back to Exercise 1

    Answer.

    1. Chiò’s matrix is

      C = ( − 3 − 6 − 6 − 12 )

      and its determinant is 0

    2. Start with

      C 3 = ( 2 8 0 1 − 2 2 4 2 2 )

      and then the next step

      C 2 = ( − 12 4 − 28 4 )

      with determinant det ( C 2 ) = 64 . The determinant of the original matrix is thus 64 / ( 2 2 ⋅ 2 1 ) = 8

  2. Exercise 2 Supplied answer

    What if a 1 , 1 is zero?

    Back to Exercise 2

    Answer. The same construction as was used for the 3 × 3  case above shows that in place of a 1 , 1 we can select any nonzero entry  a i , j . Entry c p , q of Chiò’s matrix is the value of this determinant

    | a 1 , 1 a 1 , q + 1 a p + 1 , 1 a p + 1 , q + 1 |

    where p + 1 ≠ i and q + 1 ≠ j .

  3. Exercise 3 Supplied answer

    The Rule of Sarrus is a mnemonic that many people learn for the 3 × 3 determinant formula. To the right of the matrix, copy the first two columns.

    a b c a b d e f d e g h i g h

    Then the determinant is the sum of the three upper-left to lower-right diagonals minus the three lower-left to upper-right diagonals a e i + b f g + c d h − g e c − h f a − i d b . Count the operations involved in Sarrus’s formula and in Chiò’s.

    Back to Exercise 3

    Answer. Sarrus’s formula uses 12  multiplications and 5 additions (including the subtractions in with the additions). Chiò’s formula uses two multiplications and an addition (which is actually a subtraction) for each of the four 2 × 2  determinants, and another two multiplications and an addition for the 2 × 2  Chió’s determinant, as well as a final division by a 1 , 1 . That’s eleven multiplication/divisions and five addition/subtractions. So Chiò is the winner.

  4. Exercise 4 Supplied answer

    Prove Chiò’s formula.

    Back to Exercise 4

    Answer. Consider an n × n matrix.

    A = ( a 1 , 1 a 1 , 2 ⋯ a 1 , n − 1 a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n − 1 a 2 , n ⋮ a n − 1 , 1 a n − 1 , 2 ⋯ a n − 1 , n − 1 a n − 1 , n a n , 1 a n , 2 ⋯ a n , n − 1 a n , n )

    Rescale every row but the first by  a 1 , 1 .

    ⟶ a 1 , 1 ρ 3 ⋮ a 1 , 1 ρ n a 1 , 1 ρ 2 ( ( a 1 , 1 a 1 , 2 ⋯ a 1 , n − 1 a 1 , n a 2 , 1 a 1 , 1 a 2 , 2 a 1 , 1 ⋯ a 2 , n − 1 a 1 , 1 a 2 , n a 1 , 1 ⋮ a n − 1 , 1 a 1 , 1 a n − 1 , 2 a 1 , 1 ⋯ a n − 1 , n − 1 a 1 , 1 a n − 1 , n a 1 , 1 a n , 1 a 1 , 1 a n , 2 a 1 , 1 ⋯ a n , n − 1 a 1 , 1 a n , n a 1 , 1 )

    That rescales the determinant by a factor of  a 1 , 1 n − 1 .

    Next perform the row operation − a i , 1 ρ 1 + ρ i on each row  i > 1 . These row operations don’t change the determinant.

    ⟶ − a 3 , 1 ρ 1 + ρ 3 ⋮ − a 3 , 1 ρ 1 + ρ 3 − a n , 1 ρ 1 + ρ n − a 2 , 1 ρ 1 + ρ 2 (

    The result is a matrix  B whose first row is unchanged, whose first column is all zeros (except for the 1 , 1 entry of a 1 , 1 ), and whose remaining entries are these.

    ( a 1 , 2 ⋯ a 1 , n − 1 a 1 , n a 2 , 2 a 1 , 1 − a 2 , 1 a 1 , 2 ⋯ a 2 , n − 1 a n , n − a 2 , n − 1 a 1 , n − 1 a 2 , n a n , n − a 2 , n a 1 , n ⋮ a n , 2 a 1 , 1 − a n , 1 a 1 , 2 ⋯ a n , n − 1 a 1 , 1 − a n , 1 a 1 , n − 1 a n , n a 1 , 1 − a n , 1 a 1 , n )

    The determinant of this n × n matrix B is a 1 , 1 n − 1  times the determinant of  A .

    Denote by  C the 1 , 1 minor of the matrix B , that is, the submatrix consisting of the last n − 1 rows and columns. The Laplace expansion down the first column of B gives that its determinant is det ( B ) = ( − 1 ) 1 + 1 a 1 , 1 det ( C ) .

    If a 1 , 1 ≠ 0 then setting equal the two expressions for { ( } B ) and canceling gives det ( A ) = det ( C ) / a n , n n − 2 .

Computer Code

This implements Chiò’s Method. It is in the computer language Python.

#!/usr/bin/python
# chio.py
#  Calculate a determinant using Chio's method.
# Jim Hefferon; Public Domain
# For demonstration only; for instance, does not handle the M[0][0]=0 case

def det_two(a,b,c,d):
    """Return the determinant of the 2x2 matrix [[a,b], [c,d]]"""
    return a*d-b*c

def chio_mat(M):
    """Return the Chio matrix as a list of the rows
        M  nxn matrix, list of rows"""
    dim=len(M)
    C=[]
    for row in range(1,dim):
        C.append([])
        for col in range(1,dim):  
            C[-1].append(det_two(M[0][0], M[0][col], M[row][0], M[row][col]))
    return C

def chio_det(M,show=None):
    """Find the determinant of M by Chio's method
        M  mxm matrix, list of rows"""
    dim=len(M)
    key_elet=M[0][0]
    if dim==1:
        return key_elet
    return chio_det(chio_mat(M))/(key_elet**(dim-2))


if __name__=='__main__':
    M=[[2,1,1], [3,4,-1], [1,5,1]]
    print "M=",M
    print "Det is", chio_det(M)

This is the result of calling the program from a command line.

$ python chio.py
M=[[2, 1, 1], [3, 4, -1], [1, 5, 1]]
Det is 25

References cited in this section

Kahan

William Kahan, Chiò’s Trick for Linear Equations with Integer Coefficients, http://www.cs.berkeley.edu/~wkahan/MathH110/chio.pdf, 1998, retrieved 2012-Jun-18.

Fuller & Logan

L.E. Fuller & J.D. Logan, On the Evaluation of Determinants by Chiò’s Method, p 49-52, in Linear Algebra Gems, Carlson, et al, Mathematical Association of America, 2002.