It works on one or two matrices of up to 6 rows and 6 columns and computes the determinant, the inverse, the rank, the reduced row echelon form (RREF), the transpose, A + B, A − B, A × B, a multiple k·A, and the solution of a linear system A·x = b. Cells take whole numbers, decimals or fractions such as 3/4; a blank cell counts as 0.
Every number is kept as an exact fraction of two whole numbers, however large they grow. Nothing is rounded during the calculation, so a singular matrix shows a determinant of exactly 0 instead of 2.2e-16, and the inverse of the 3×3 Hilbert matrix comes out as the whole numbers 9, −36, 30, … that the textbooks give. Tick Show decimals to read the same results rounded to the number of places you choose; the rounding happens only on screen.
How the results are computed
Determinant. The matrix is brought to triangular form using only two moves: swapping two rows, which flips the sign of the determinant, and adding a multiple of one row to another, which leaves it unchanged. The determinant is then (−1) to the number of swaps times the product of the diagonal. For the starting example, A = [[2, −3, 1], [2, 0, −1], [1, 4, 5]], the steps are R2 ← R2 − R1, R3 ← R3 − (1/2)R1 and R3 ← R3 − (11/6)R2, which leave the diagonal 2, 3 and 49/6, so det(A) = 2 × 3 × 49/6 = 49. Expanding along the first row by cofactors gives the same: 2·4 + 3·11 + 1·8 = 49. A 2×2 also shows the familiar ad − bc.
RREF, rank and inverse. Gauss–Jordan elimination: in each column the first non-zero entry at or below the current row becomes the pivot, its row is scaled so the pivot is 1, and that column is cleared in every other row. The rank is the number of pivots. The inverse is found by reducing [A | I]: if the left half turns into the identity, the right half is A⁻¹; if a column runs out of pivots, A is singular and has no inverse.
A·x = b. The tool reduces [A | b]. A row that reads 0 = 5 means the equations contradict each other and there is no solution. If every column of A has a pivot there is exactly one solution. Otherwise the columns without a pivot are free variables, written t1, t2, …, and the answer is given in parametric form such as x1 = 1 − t1 − t2, x2 = t1, x3 = t2: infinitely many solutions, one for each choice of the t's.