Matrix Rank Calculator
Introduction: What is matrix rank?
The rank of a matrix is the number of linearly independent rows or columns it contains. In linear algebra, matrices are used to represent systems of linear equations and linear transformations. The rank tells you how many independent directions of information the matrix carries.
If the rank of an m by n matrix is equal to the smaller of m and n, the matrix is said to have full rank. Otherwise, it is rank-deficient, meaning that at least one row or column can be written as a linear combination of the others.
Formal definition and formulas
There are several equivalent ways to define the rank of a matrix A:
- The dimension of its row space (the span of its rows).
- The dimension of its column space (the span of its columns).
- The number of pivots (leading nonzero entries) in a row-echelon form of A.
All of these numbers are equal, and that common value is the rank of A. In symbols, you will often see the notation rank(A) or rk(A).
The connection to the null space is captured by the Rank–Nullity Theorem. For a matrix A with n columns, we have:
Here, nullity(A) is the dimension of the null space of A, that is, the number of independent solutions to A x = 0.
How to use: How this matrix rank calculator works
This calculator accepts real-valued entries for a matrix up to size 3×3. You can use it for 2×2 or 3×3 matrices, and also for rectangular matrices such as 2×3 or 3×2, provided they fit within the 3×3 grid. Any empty fields you leave in the grid are treated as zeros.
The core of the computation is row reduction to row-echelon form. The algorithm:
- Reads your entries into a 3×3 matrix, inserting 0 for any blank cell.
- Starts with the first row and first column, searching for a pivot (a nonzero entry) in that column.
- If necessary, swaps rows to bring a nonzero entry into the pivot position.
- Uses elementary row operations (adding multiples of one row to another) to create zeros below the pivot.
- Moves to the next row and the next column to find the next pivot and repeats the process.
- Counts the number of pivot rows in the resulting row-echelon form. This count is the rank.
Elementary row operations preserve the row space and the solution set of the associated system of linear equations. That is why they do not change the rank of the matrix.
Supported matrix sizes and input behavior
The on-page grid always shows 3 rows and 3 columns, but you are not required to fill every box:
- 2×2 matrix: Fill the first two rows and first two columns (positions a11, a12, a21, a22). Leave the rest blank; they will be treated as 0.
- 3×3 matrix: Fill all nine entries as needed.
- Rectangular matrices up to 3×3: For example, for a 2×3 matrix you can use the first two rows and all three columns; for a 3×2 matrix, use three rows and two columns.
Interpreting blanks as zeros means that the calculator effectively works with a fixed 3×3 matrix whose unused entries are 0. For rank calculations this is equivalent to embedding your smaller matrix in a 3×3 matrix with extra zero rows or columns.
Row reduction method in more detail
Suppose you have a 3×3 matrix A with entries aij:
A = [ [a11, a12, a13], [a21, a22, a23], [a31, a32, a33] ].
The calculator applies row operations such as:
- Row swap: Exchange two rows, e.g. R1 ↔ R2.
- Row scaling: Multiply a row by a nonzero constant, e.g. R2 ← 3R2.
- Row replacement: Add a multiple of one row to another, e.g. R3 ← R3 − 2R1.
These are the same steps you would follow by hand when solving a system of linear equations using Gaussian elimination. When the matrix is in row-echelon form (all nonzero rows above any all-zero rows, and each leading entry to the right of the one above it), the number of nonzero rows equals the rank.
Numerical tolerance and zero rows
The implementation uses floating-point arithmetic. To decide whether an entry is effectively zero, the code compares its absolute value to a small tolerance. If all entries in a row are smaller than this tolerance in absolute value, that row is treated as a zero row and does not contribute to the rank.
This approach is standard in numerical linear algebra and helps avoid treating tiny rounding errors as genuine pivots. However, it also means that rows made up of very small numbers (for example, 1×10−12) can be treated as zero in borderline cases. See the limitations section below for more guidance.
Geometric interpretation of rank
You can think of the columns of a matrix as vectors starting at the origin. All linear combinations of these column vectors form the column space. The rank of the matrix is precisely the dimension of this column space.
For small matrices, the geometric picture is intuitive:
- Rank 0: The only vector in the column space is the zero vector. Every input is mapped to 0.
- Rank 1: All columns lie along a single line through the origin. The transformation collapses everything onto that line.
- Rank 2 (in 3D): Columns span a plane through the origin. The image of the transformation lies in that plane.
- Rank 3 (for a 3×3 matrix): Columns span all of three-dimensional space. The transformation can reach any vector in ℝ3 as a linear combination.
Rank is also tied to the null space. If a matrix has rank 2 and 3 columns, then its nullity is 1. That means there is exactly one independent direction in which nonzero inputs are mapped to the zero vector. In practical terms, there is one free variable when solving A x = 0.
Interpreting the calculator output
After you enter your matrix and run the calculation, the tool returns a single integer: the rank of the matrix. Here is how to interpret that number:
- If the rank equals the number of columns, every column is independent. For a square matrix, this is equivalent to being invertible (and having a nonzero determinant).
- If the rank is less than the number of columns, some columns are linear combinations of others. The associated system of equations has free variables.
- If the rank equals the number of rows but there are more columns than rows, each equation is independent but there are still more unknowns than equations, leading to infinitely many solutions.
For a square coefficient matrix in a linear system A x = b:
- Full rank (rank = size): There is exactly one solution for each right-hand side b.
- Rank-deficient: Either there are no solutions (if the system is inconsistent) or infinitely many solutions (if the system is consistent but has free variables).
Worked examples
Example 1: Full-rank 2×2 matrix
Consider the 2×2 matrix
A = [ [1, 2], [3, 4] ].
In the calculator, you can enter:
- a11 = 1, a12 = 2
- a21 = 3, a22 = 4
- Leave all other entries blank (they will be treated as 0).
Row reduction steps:
- Start with rows [1, 2] and [3, 4].
- Use R2 ← R2 − 3R1 to eliminate the first entry of the second row, giving R2 = [0, −2].
- Now the rows are [1, 2] and [0, −2]. Both rows are nonzero.
There are two pivot rows, so the rank is 2. Since this equals the size of the matrix, A is invertible and its columns are linearly independent.
Example 2: Rank-deficient 3×3 matrix
Consider the 3×3 matrix
A = [ [1, 2, 3], [2, 4, 6], [1, 1, 1] ].
Notice that the second row is exactly 2 times the first row, so those two rows are not independent. In the calculator, enter:
- Row 1: 1, 2, 3
- Row 2: 2, 4, 6
- Row 3: 1, 1, 1
Row reduction steps:
- Use R2 ← R2 − 2R1 to eliminate the first entry in row 2. This gives R2 = [0, 0, 0].
- Use R3 ← R3 − R1 to simplify row 3. This gives R3 = [0, −1, −2].
- Now the rows are [1, 2, 3], [0, 0, 0], [0, −1, −2].
- Swap rows 2 and 3 to bring the nonzero row up if you prefer the standard echelon form.
There are two nonzero rows in the echelon form, so the rank is 2. The matrix is not full rank. This tells you that:
- The three columns lie in a plane in ℝ3, not all of space.
- Any system A x = b can have at most two independent equations.
- The null space has dimension 1 (three columns minus rank two), so there is one free parameter in the solution to A x = 0.
Comparison with related matrix concepts
Rank is closely connected to other familiar matrix properties. The table below summarizes some key relationships for square matrices.
| Concept | What it measures | Relation to rank |
|---|---|---|
| Determinant | A scalar summarizing volume scaling and orientation. | A square matrix has full rank if and only if its determinant is nonzero. |
| Invertibility | Whether there exists a matrix A−1 such that A A−1 = I. | A is invertible exactly when it has full rank (rank equals its size). |
| Null space | All vectors x with A x = 0. | The dimension of the null space is the number of columns minus the rank. |
| Linear independence | Whether a set of vectors contains no nontrivial linear relations. | The rank equals the maximal number of linearly independent rows or columns. |
| Solutions of A x = b | Consistency and number of solutions. | Rank helps determine whether the system has zero, one, or infinitely many solutions. |
Limitations and assumptions of this calculator
This tool is designed as a quick, educational calculator for small matrices. Keep the following points in mind when interpreting the results:
- Matrix size: The implementation is limited to matrices that fit within a 3×3 grid. You can represent 2×2, 2×3, 3×2, and 3×3 matrices but not larger systems.
- Blank entries as zeros: Any input field you leave blank is treated as 0. This is convenient for smaller matrices but remember that your effective matrix is always 3×3 with explicit or implicit zeros.
- Floating-point arithmetic: Calculations use standard JavaScript floating-point numbers. Very large or very small values can be subject to rounding errors.
- Zero tolerance: Rows whose entries are all smaller in absolute value than a small numerical threshold are treated as zero rows. For most ordinary inputs this has no visible effect, but for ill-conditioned matrices with nearly dependent rows, results may differ slightly from exact symbolic calculations.
- Educational use: The tool is intended for learning, checking homework, and quick sanity checks. For high-precision numerical work or large matrices, specialized numerical linear algebra libraries or computer algebra systems are more appropriate.
As long as you are aware of these assumptions, the rank reported by the calculator is a reliable guide to linear independence and the structure of your system.
Arcade Mini-Game: Matrix Rank Calculator Calibration Run
Use this quick arcade run to practice separating useful scenario inputs from common planning mistakes before you rely on the calculator output.
Start the game, then use your pointer or arrow keys to catch useful inputs and avoid bad assumptions.
