Linear Solver
Solve Ax = b: unique, inconsistent, or infinite solutions with RREF steps and null-space basis.
About this tool
Choose [A | b], with the right-hand side in the last column, or enter A and b separately. New lines or semicolons separate equations; spaces, tabs or commas separate numbers. Use a decimal point; scientific notation is supported. Separate b contains one value per row. Examples in Settings replace the active input and reset the tolerance. Other input drafts remain untouched.
Results update after a short typing pause, without a Solve button. The output distinguishes a unique solution, no solution at the selected tolerance, and a particular solution plus null-space basis. The parameters t are arbitrary real numbers. Expand Reduced matrix and steps for the final matrix, numerical ranks and row operations. Wide matrices and solution families scroll inside their own region.
The settings menu holds relative rank tolerance, default 1e−10, range 1e−15…0.01. Each equation is scaled by its largest coefficient; elimination uses partial pivoting. Lower tolerance can distinguish close independent rows, but ill-conditioned data and different column scales remain sensitive. RHS consistency uses propagated absolute bounds, not an absolute zero cutoff. Very small nonzero solutions remain visible.
At most 50 equations and 50 variables; 100000 input characters per matrix. Float64 arithmetic and about eight significant display digits. Overflow produces an error. Numerical rank and consistency are not symbolic proofs. Invalid edits clear stale results. Raw input, input mode and tolerance are kept locally, including inactive drafts, subject to browser storage availability and limits. Results and expanded steps are rebuilt, never stored.