Determinants, inverses, eigenvalues and row reduction over exact fractions, with A times its inverse shown to be exactly the identity and the condition number reported.
Initializing in your browser…
The tip, the tax and everybody's share worked out in whole pennies, so the amounts printed add up to the total printed. Says who pays the odd penny, and what rounding does to the tip rate.
Linear, quadratic, cubic and higher equations and systems, with exact rational coefficients, numerically stable roots and each root substituted back to show its residual.
Exact arithmetic on rationals, with both evaluation conventions named and the precedence table the parser runs on printed on the page.
You need the inverse of a 3x3 matrix whose entries are all around a ten-thousandth, which most calculators call singular.
Matrix A
0.0002 -0.0003 0.0001 0.0002 0 -0.0001 0.0001 0.0004 0.0005
Result
det A = 49/1000000000000 (exactly 49 × s³) A⁻¹ computed, and A × A⁻¹ is EXACTLY the identity condition number 5.57, so it is well conditioned
Scaling a matrix changes no angle and no rank, and multiplies its determinant by the cube of the scale. A tool that tests the determinant against an absolute 1e-10 calls this one singular and refuses; this one reads the entries as exact fractions, so the test is whether the determinant IS zero. The identity check below the answer is computed on the output itself and needs nothing external.
Determinants, inverses, eigenvalues, rank, row reduction, null spaces and linear systems for matrices up to 6 by 6, computed over exact fractions. Because nothing rounds, there is no tolerance anywhere in the arithmetic: a matrix is singular exactly when its determinant is exactly zero, and scaling a matrix by a millionth changes nothing about the answer.
Most matrix tools decide whether a matrix is singular by comparing a pivot or a determinant against a small constant, typically 1e-10. That is an absolute test on a quantity that scales with the cube of the matrix: [[2,-3,1],[2,0,-1],[1,4,5]] has determinant 49, and the same matrix scaled by a ten-thousandth has determinant 4.9e-11, which such a test calls zero. It is exactly as invertible. Here every entry is read as a rational number, so the determinant of an integer matrix is an integer (49, not 48.99999999999999), a pivot is chosen because it is not zero, and the entries of the inverse are exact fractions. The page then computes A times its inverse and shows you that every entry is exactly 1 or exactly 0, which is the check that decides an inverse and needs nothing external. Alongside it is the condition number, the number that says how far a NUMERICAL answer from this matrix could be trusted, and which a matrix tool should report: [[1,2,3],[4,5,6],[7,8,9.000001]] has a condition number near 1.4e8, and its inverse deserves a warning that a well-conditioned one does not. Eigenvalues come from the characteristic polynomial computed exactly by Faddeev-LeVerrier, so integer matrices give integer eigenvalues, and the result is checked three ways at once: the eigenvalues sum to the trace, they multiply to the determinant, and substituting the matrix into its own characteristic polynomial gives exactly the zero matrix.
Determinants, inverses and row reduction given as exact fractions with the working shown, rather than as rounded decimals.
The identity check and the condition number together say whether an inverse computed elsewhere can be believed.
A matrix whose entries are all tiny is as invertible as any other, and this tool treats it that way.
The characteristic polynomial is printed exactly, and rational eigenvalues come out as integers or fractions with their eigenvectors.
Ax = b over the rationals, with no solution and infinitely many distinguished as decisions and the answer multiplied back through A as the check.
It refuses exactly when the determinant is exactly zero. That is a decision about a rational number rather than a comparison against a small constant, so a matrix with tiny entries is not mistaken for a singular one.
It says how much an answer computed from this matrix in ordinary floating-point arithmetic could be wrong. A condition number of 1e8 means about eight of the sixteen significant figures a double holds would be lost, and that a change of one part in 1e8 in the input can change the answer completely. The exact inverse this page shows is still exact; the condition number is about what the INPUT would have to be.
Because they are exact. The inverse of an integer matrix has rational entries, and 1/3 is a third where 0.333333 is not. A fraction can always be divided out if a decimal is wanted.
The characteristic polynomial det(xI - A) is computed exactly by Faddeev-LeVerrier, its rational roots are found exactly by the rational root theorem, and any remaining roots come from the Durand-Kerner iteration. The result is checked against the trace, the determinant, and Cayley-Hamilton.
Six by six. Exact arithmetic means the entries of a high power or a large inverse can grow to many digits, which is the price of never rounding.
Yes: 3/4, -1 1/2 and percentages are all read exactly. An entry it cannot read is refused with the cell named, rather than being silently treated as zero.
Every calculation runs locally in your browser. Your numbers and expressions are not transmitted or stored.