Linear Algebra Lab

Matrices, vectors, systems and transformations in one exact tool: add/multiply, determinant, inverse, row-reduction (RREF), rank, null space, column space, eigenvalues & eigenvectors, dot/cross product, projection, and solving linear systems. Exact fraction arithmetic, all client-side.

Calculator Numbers & Math Updated Jun 21, 2026
How to Use
  1. Pick an operation, then type your matrix with one <strong>row per line</strong> and entries separated by spaces or commas — e.g. <code>2 1</code> / <code>1 -1</code>. Fractions (<code>1/2</code>) and decimals are accepted and kept exact.
  2. To <strong>solve a system</strong>, just type the equations, one per line: <code>2x + y = 5</code> and <code>x - y = 1</code> → <code>x = 2, y = 1</code>. (An augmented matrix works too.)
  3. Two-matrix operations (A+B, A−B, A×B) reveal a second box for matrix B; scalar multiply and matrix power use it for the number; vector operations use it for the second vector.
  4. Everything is computed with exact rational arithmetic — determinants, inverses, RREF, rank, null/column space and rational eigenvalues come out as exact integers or fractions, not rounded decimals.
  5. Eigenvalues are found from the characteristic polynomial: exact for rational and quadratic-surd cases (e.g. <code>2 ± √2</code>), numeric for the rest; eigenvectors are exact for rational eigenvalues.
Systems
Matrix
Eigen
Combine
Vectors

What it computes

Solve systems
[A|b] → RREF → unique / none / infinitely many
Determinant & inverse
exact via Gaussian / Gauss–Jordan elimination
RREF & rank
reduced row-echelon form; rank = number of pivots
Null & column space
bases; rank + nullity = columns
Eigenvalues
det(λI − A) = 0 — exact rational & surd, numeric for the rest
Eigenvectors
null space of (A − λI)
Dot & cross
u·v = Σ uᵢvᵢ · u×v ⟂ both (3-D)
Projection
proj_v u = (u·v / v·v) v

About the Linear Algebra Lab

The Linear Algebra Lab gives you a fast, free answer for everyday maths and number work without sending anything off your device. Matrices, vectors, systems and transformations in one exact tool: add/multiply, determinant, inverse, row-reduction (RREF), rank, null space, column space, eigenvalues & eigenvectors, dot/cross product, projection, and solving linear systems. Exact fraction arithmetic, all client-side.

How it works

Enter your figures and the result appears instantly, updating the moment you change anything. There is no submit button and nothing to wait for, so it is easy to try a few what-if numbers and compare the results. Just check each box holds the kind of value it expects.

Want the deeper story? The Knowledge Base explains the ideas behind the tools in more detail.

Frequently Asked Questions

What operations are supported?

<strong>Matrix:</strong> addition, subtraction, multiplication, scalar multiplication, powers, transpose, determinant, inverse, row-reduction (RREF), rank, null space and column space. <strong>Eigen:</strong> eigenvalues and eigenvectors. <strong>Vectors:</strong> dot product, cross product (3-D) and projection. <strong>Systems:</strong> solving linear systems from equations or an augmented matrix, with unique / no / infinitely-many-solution detection.

Is the arithmetic exact?

Yes — everything runs over exact rational numbers (arbitrary-size integer fractions), so there's no floating-point drift. A determinant of <code>-3</code> is exactly <code>-3</code>, an inverse entry of <code>3/5</code> is exactly <code>3/5</code>. The only place numerical methods are used is for eigenvalues that aren't rational or simple surds (e.g. roots of a cubic), which are shown as decimals.

How does it solve a system of equations?

It reads your equations, builds the augmented matrix [A | b], and row-reduces it to reduced row-echelon form. If every variable has a pivot the solution is unique; a row like <code>0 = 5</code> means no solution; fewer pivots than variables means infinitely many, and the tool returns a particular solution plus the null-space directions you can add to it.

How are eigenvalues computed?

From the characteristic polynomial det(λI − A), built exactly with the Faddeev–LeVerrier algorithm. Rational eigenvalues are found exactly by the rational-root theorem; a remaining quadratic factor is solved exactly (including surds like <code>2 ± √2</code> and complex values like <code>±i</code>); cubics and higher are solved numerically. Eigenvectors come from the null space of (A − λI) — exact when the eigenvalue is rational.

What's the difference between null space and column space?

The <strong>null space</strong> is every vector x with A·x = 0 — the directions the matrix collapses; its dimension is the nullity. The <strong>column space</strong> is everything the matrix can output, spanned by its pivot columns; its dimension is the rank. The rank–nullity theorem ties them together: rank + nullity = number of columns.

Does anything leave my browser?

No. The whole engine — parsing, Gaussian elimination, the eigen routines and the formatting — runs locally in JavaScript. Nothing is uploaded and it works offline.

How do I use the Linear Algebra Lab?

Just type your numbers. The answer shows up right away — there is no button to press. Change anything and it updates by itself.

Does it cost anything or need an account?

No. The tool is completely free, there is no account to create, and it keeps working offline after the page first loads.

Is anything I type uploaded?

No. The tool works entirely on your device, so the values you enter never leave your browser.

Common Use Cases

Solving systems

Turn a set of linear equations into an exact solution, or detect when there is none or infinitely many.

Eigenanalysis

Eigenvalues and eigenvectors for stability, vibrations, PCA and Markov chains.

Coursework checking

Verify determinants, inverses, RREF, rank and the four fundamental subspaces exactly.

Graphics & geometry

Dot and cross products, projections and transformation matrices.

Engineering

Circuit and structural systems, change of basis, and least-pivot analysis.

Teaching

Show exact fractions through every step instead of rounded decimals.

Last updated: