SECTION 1
Historical Context & Motivation
When you use a function in math, you take an input and get an output. But have you ever wondered whether two different inputs could produce the same output? Or whether every possible output actually gets used? These are exactly the questions that mathematicians started asking centuries ago. The ideas of one-to-one (injective) and onto (surjective) functions grew out of the need to understand when transformations are reversible and when they cover every element in a target set.
1694 • Leibniz Formalizes Functions
1837 • Dirichlet's Modern Definition
1888 • Dedekind's Set Theory Contributions
1930s • Bourbaki Group Standardizes Terminology
Today, these ideas are at the heart of linear algebra. When we study linear transformations — functions that stretch, rotate, or flip vectors — knowing whether a transformation is one-to-one, onto, or both tells us whether we can reverse it and recover the original input. This is essential for solving systems of equations, computer graphics, and data science.
SECTION 2
Core Principles & Definitions
Before we dive in, let's set up the key vocabulary. A transformation (or function) takes elements from one set (called the domain) and maps them to elements in another set (called the codomain). The range is the collection of outputs that actually get hit. With those ideas in mind, here are the core principles.
One-to-One (Injective)
Onto (Surjective)
Bijective (Both)
Kernel (Null Space)
KEY TAKEAWAY
SECTION 3
Visual Explanation
The best way to understand one-to-one and onto is with mapping diagrams. In these diagrams, the left oval represents the domain (inputs) and the right oval represents the codomain (outputs). Arrows show which input maps to which output. Let's look at three scenarios side by side.
In the left panel, notice that every arrow points to a different output, so no output is repeated. That's what makes it one-to-one. However, element d in the codomain has no arrow pointing to it, so the function is not onto. In the center panel, every element of the codomain has at least one arrow arriving, which makes it onto. But inputs 1 and 2 both land on a, so it's not one-to-one. The right panel shows the ideal case: a bijection, where every input has a unique output and every output is covered.
SECTION 4
Mathematical Framework
Now let's translate the visual ideas into precise mathematical conditions. In linear algebra, we work with linear transformations — functions T that map vectors from one space to another while preserving addition and scalar multiplication. A linear transformation can be represented by a matrix A, so that T(x) = Ax.
ONE-TO-ONE CONDITION
Equivalently, the only solution to T(x) = 0 is x = 0. This means the kernel (null space) of T contains only the zero vector.
ONTO CONDITION
This means the range (image) of T equals the entire codomain. Every vector in the target space is reachable.
MATRIX TEST FOR ONE-TO-ONE
If A is an m × n matrix, the columns are linearly independent when rank(A) = n (number of columns). This means no column is a combination of the others.
MATRIX TEST FOR ONTO
If A is an m × n matrix, the columns span ℝᵐ when rank(A) = m (number of rows). Every row of the row-reduced matrix has a pivot.
Quick Tip
SECTION 5
Detailed Breakdown of Conditions
Let's organize the conditions for one-to-one and onto into a clear reference. When you're given a matrix A and want to determine whether T(x) = Ax is one-to-one, onto, both, or neither, you can check several equivalent conditions. The diagram below shows the decision process visually.
| Condition | One-to-One (Injective) | Onto (Surjective) |
|---|---|---|
| Rank requirement | rank(A) = n (# of columns) | rank(A) = m (# of rows) |
| Kernel condition | Kernel = {0} only | No restriction on kernel |
| Pivot position | Every column has a pivot | Every row has a pivot |
| Size requirement | Needs m ≥ n (at least as many rows as columns) | Needs n ≥ m (at least as many columns as rows) |
| Equation Ax = b | At most one solution for every b | At least one solution for every b |
Side-by-side comparison of one-to-one and onto conditions for T(x) = Ax
SECTION 6
Worked Example
Let's put everything together with a concrete example. Suppose we have the linear transformation T : ℝ³ → ℝ² defined by the matrix:
GIVEN MATRIX
This matrix has 2 rows and 3 columns. We want to know: is T one-to-one? Is T onto?
Determine if T is One-to-One and/or Onto
- 1
Step 1 — Row Reduce the Matrix
We perform row reduction on A. Start with the original matrix. Replace Row 2 with (Row 2 − 4 × Row 1): [ 1 2 3 ] [ 0 −3 −6 ] Then divide Row 2 by −3: [ 1 2 3 ] [ 0 1 2 ]Row echelon form: [ 1 2 3 ; 0 1 2 ] - 2
Step 2 — Find the Rank
Count the number of pivot positions (leading 1s). Row 1 has a pivot in column 1, and Row 2 has a pivot in column 2. That gives us 2 pivots.rank(A) = 2 - 3
Step 3 — Check One-to-One
For one-to-one, we need rank(A) = n, where n = 3 (the number of columns). We found rank(A) = 2, and 2 ≠ 3. Column 3 does not have a pivot, which means there is a free variable. This means the kernel contains non-zero vectors.T is NOT one-to-one because rank(A) = 2 < 3 = n. - 4
Step 4 — Check Onto
For onto, we need rank(A) = m, where m = 2 (the number of rows). We found rank(A) = 2, and 2 = 2. Every row has a pivot, so the columns of A span all of ℝ².T IS onto because rank(A) = 2 = m. - 5
Step 5 — Conclusion
The transformation T maps ℝ³ → ℝ² and is onto but not one-to-one. This makes sense intuitively: we're squishing a 3-dimensional space into 2 dimensions, so some information must be lost (not one-to-one), but we can reach every point in the 2D target (onto).T is surjective (onto) but not injective (one-to-one)
SECTION 7
Comparisons & Common Mistakes
Students often mix up one-to-one and onto, or confuse the conditions. The table below highlights the key differences and common pitfalls to avoid.
| Feature | One-to-One (Injective) | Onto (Surjective) |
|---|---|---|
| Plain English | No two inputs share an output | Every output is actually used |
| What can go wrong | Different inputs collapse to the same output | Some outputs in the codomain are never reached |
| Check via rank | rank = number of columns | rank = number of rows |
| Check via equation Ax = b | At most one solution for each b | At least one solution for each b |
| Horizontal line test (for graphs) | Every horizontal line hits the graph at most once | Every horizontal line hits the graph at least once |
| Common mistake | Confusing 'one-to-one' with 'one output per input' — all functions have that! | Confusing codomain with range — onto means range = codomain |
Comparing one-to-one and onto: key features and common mistakes
KEY TAKEAWAY
SECTION 8
Connection to Invertibility & Advanced Theory
The concepts of one-to-one and onto connect directly to one of the biggest ideas in linear algebra: invertibility. A square matrix A is invertible (meaning A⁻¹ exists) if and only if the transformation T(x) = Ax is both one-to-one and onto. This single idea ties together many topics you'll encounter as you go deeper into the subject.
| Concept in This Lesson | Advanced Connection |
|---|---|
| One-to-one (kernel = {0}) | Leads to the Rank-Nullity Theorem: rank + nullity = n |
| Onto (range = codomain) | Connected to the column space equaling ℝᵐ |
| Bijective (both) | Matrix is invertible; determinant ≠ 0; all eigenvalues are non-zero |
| Not one-to-one (free variables) | Infinitely many solutions to Ax = b when solutions exist |
| Not onto (rank < m) | Some systems Ax = b have no solution at all |
How one-to-one and onto connect to advanced linear algebra topics
As you continue studying linear algebra, you'll see that the Invertible Matrix Theorem lists over a dozen equivalent conditions — and one-to-one and onto are two of the most important ones on that list. You'll also learn about determinants and eigenvalues, which provide alternative ways to test these same conditions. The ideas from this lesson form the foundation for all of that.
SECTION 9
Practice Problems
Question 1: CONCEPTUAL
Show answer
Question 2: BASIC CALCULATION
Show answer
Question 3: INTERMEDIATE
Show answer
Question 4: APPLIED
Show answer
Question 5: CRITICAL THINKING
Show answer
SUMMARY
Lesson Summary
Summary
A one-to-one (injective) transformation maps different inputs to different outputs — no two inputs ever collide. For a matrix A, this requires rank(A) = n (the number of columns), which means every column has a pivot and the kernel contains only the zero vector. An onto (surjective) transformation hits every element of the codomain — nothing is left out. This requires rank(A) = m (the number of rows), meaning every row has a pivot and the range equals the entire codomain.
When a transformation is both one-to-one and onto, it is called bijective, and for square matrices this is equivalent to being invertible. To test these properties, row reduce the matrix and compare the rank to the number of columns and rows. These foundational ideas connect to the determinant, eigenvalues, and the Invertible Matrix Theorem — topics that build directly on what you've learned here.