The problem in brief
A linear map takes a vector of to the vector of . First you must write down the matrix of this map. Then you must express as a sum of outer products (rank-one matrices), giving and every vector, with a justification. This is a short linear-algebra warm-up from Round 1 of the 2026 USA AI Olympiad, but the second part hides the idea behind PCA, SVD and low-rank compression of neural networks.
How you are scored
Each part is worth 5 points. Part 3.1 only needs the matrix. Part 3.2 needs , the vectors and the reasoning. The decomposition is not unique, so a good answer gives one valid decomposition, checks it, and explains why its number of terms is the natural one.
Our answers (all verified in solution.py):
Question by question
3.1 The matrix
The cleanest way to read a matrix off a linear map is: column of is the image of the -th basis vector , because picks out column . Plug in each basis vector:
| input | column | |||
|---|---|---|---|---|
| 0 | 0 | 1 | ||
| 0 | 0 | 2 | ||
| 1 | 0 | 0 | ||
| 1 | 0 |
Equivalently, row of lists the coefficients of the -th output: the first output is , and so on. Either way,
Quick check with : , and indeed , , .
3.2 A sum of rank-one matrices
What an outer product is. For and , the matrix has entries : every row is a multiple of and every column is a multiple of . It has rank 1 (if ). Acting on it gives : "measure along , then output that amount in direction ".
A decomposition with terms (row form). Write as the sum of its rows placed in their own position. With the standard basis of ,
that is,

Reading it as a map: term computes output number (namely ) and writes it in slot (direction ). This is exactly how the map was defined.
Why no decomposition uses fewer than 3 terms. Every column of is a combination of , so the column space has dimension at most :
Now : columns 0, 2 and 3 are , and , and
so they are independent. Hence , and our decomposition is as short as possible. (Larger is always possible, for instance by splitting a term into two halves, which is why the natural answer is the minimal one.)
Other valid answers. Grouping by columns gives with 4 terms, but column 1 is twice column 0, so those two merge into :
The singular value decomposition gives a third, very special one, with orthonormal 's and 's. Here , whose eigenvalues are and , so the singular values are , (the golden ratio) and .
The key idea
A rank-one matrix is the simplest possible linear map: one input direction, one output direction. The rank of a matrix is the minimum number of such pieces needed to build it, and that is why the answer to "what is ?" is a theorem rather than a guess.
Among all decompositions, the SVD orders the pieces by importance (their ). Keeping only the first terms gives the best possible rank- approximation (Eckart-Young theorem); the error left in Frobenius norm is . For our , the best 2-term approximation still misses by , which confirms numerically that no two outer products reproduce exactly. This idea drives PCA, word-embedding compression, recommender systems and LoRA finetuning, where a weight update is forced to be a sum of a few outer products.
The full solution
solution.py builds by applying the map to , checks on 1000 random vectors, and verifies the three decompositions exactly:
A = np.column_stack([f(np.eye(4)[j]) for j in range(4)]) # column j = f(e_j)
U = [np.eye(3)[i] for i in range(3)]; V = [A[i] for i in range(3)]
assert np.array_equal(sum(np.outer(u, v) for u, v in zip(U, V)), A)
assert np.linalg.matrix_rank(A) == 3 # so I = 3 is minimal
Results
| check | outcome |
|---|---|
| from basis vectors, tested on 1000 random | matches the map |
| row-form decomposition, | exact |
| column-form decomposition (columns 0 and 1 merged), | exact |
| SVD form, | exact up to rounding |
| best possible 2-term approximation | error , so is impossible |
What to remember
- Column of a matrix is the image of . This turns "find the matrix of a linear map" into four substitutions.
- An outer product is a rank-one map: read along , write along . Any matrix is a sum of them (rows or columns give one immediately).
- The minimal number of rank-one terms equals the rank, because the rank of a sum of outer products is at most .
- The SVD is the decomposition that sorts terms by importance, which is what makes truncation (PCA, low-rank compression, LoRA) optimal.