Symbolic visualization of u vᵀ — every entry of u against every entry of v — built cell by cell, row by row, or column by column.
Method?The outer product of a column vector u with m entries and a row vector vᵀ with n entries is the m×n matrix whose (i, j) entry is u_i·v_j. It is the opposite of the inner product: no matching-length rule, and a whole matrix out instead of a single number. Every row of the result is a multiple of vᵀ and every column a multiple of u, so the matrix has rank 1.
Lengths (independent)
u3v3result 3×3
u3×1
u1
u2
u3
·
vᵀ1×3
v1
v2
v3
=
u vᵀ3×3
?
?
?
?
?
?
?
?
?
Step 1 / 11
Step explanations
1Outer product u vᵀ
u is a column with 3 entries and vᵀ a row with 3. Their outer product is the 3×3 matrix whose entry at row i, column j is ui · vj. There is no matching-length rule — every entry of u meets every entry of v, so the result has a row for each ui and a column for each vj.
Outer product — the matrix uvT built from a column u with m entries and a row vT with n entries; its entry at row i, column j is uivj.
Result shape — m×n: one row for each entry of u, one column for each entry of v. The two lengths need not match.
Rank-1 matrix — a matrix all of whose rows are multiples of one row vector, equivalently all of whose columns are multiples of one column vector. Every outer product of non-zero vectors is rank 1, and every rank-1 matrix is an outer product.
Inner product — the same pairing of entries summed into a single number, vTu=∑iuivi; requires matching lengths.
Dyadic product — an older name for the outer product, still used in physics.
Tensor product — the general construction of which the outer product of two vectors is the simplest case, written u⊗v.
Column times row — the matrix-multiplication reading: an m×1 matrix times a 1×n matrix is m×n, with inner dimension 1.
Getting Started with the Visualizer
Set the two lengths, pick a method, then watch uvT fill.
• Use the Method pills to build the matrix cell by cell, row by row, or column by column • Use the two length steppers independently: u sets the number of rows and v the number of columns of the result (1 to 5 each) • Hover the ? icon for a reminder of what the outer product is and why it has rank 1 • Press play or step manually through the scene player; the speed selector and step log let you control pace and review • Switch method at the same dimensions to see that all three routes fill the same matrix — they differ only in how the entries are grouped
The Three Methods
The visualizer offers three routes to the same matrix, and the second and third are the ones that explain its structure.
• Cell by cell — one entry per scene in row-major order, ui paired with vj; the definition made literal, m×n steps • Row by row — one row per scene: row i is uivT, the entire row vector scaled by a single entry of u; m steps • Column by column — one column per scene: column j is vju, the entire column vector scaled by a single entry of v; n steps
The row and column views make the same point from two sides. Every row is a multiple of vT and every column a multiple of u, so the matrix carries only one direction on each side. That is what rank 1 means.
The Opening Scene: A Column, a Row, and a Grid
The player opens with u standing as a column, vT lying as a row, and an empty m×n grid waiting for the result. At the default lengths both vectors have three entries and the grid is 3×3.
Nothing is computed yet. What the scene establishes is the shape of the answer: a matrix, with as many rows as u has entries and as many columns as v.
Opening scene, frozen
u standing as a column, vT lying as a row, and an empty 3×3 grid. No matching-length rule here: the result has a row per entry of u and a column per entry of v.
The shape rule is the reverse of the inner product's. There, matching lengths were required and the result was a single number. Here, no matching is required, because no entry of u ever has to pair with a specific entry of v — every entry meets every entry.
The orientation is the whole distinction. A column times a row is m×1 by 1×n, and the inner dimension 1 means each entry of the product is a single multiplication with nothing to sum. A row times a column, 1×n by n×1, is the inner product.
Cell by Cell: The Definition Made Literal
The cell method fills one entry per scene in row-major order: ui meets vj and the product lands at row i, column j.
The frozen picture below is the fifth of nine steps at 3×3, the centre entry u2⋅v2, with the first four cells already filled.
Cell method, the centre entry
u2 and v2 highlighted, their product landing at row 2, column 2, with the first four cells already filled. Row index from u, column index from v.
The row index always comes from u and the column index from v, and the picture makes the reason plain: the active entry of u sits level with the destination row, and the active entry of vT sits above the destination column.
There is no accumulation. Each cell is one product and depends on nothing else in the grid, so the nine steps could run in any order; the row-major sweep is a presentational choice. That independence is also what makes the row and column readings possible.
Row by Row: Each Row Is a Copy of v Transpose
The row method fills one row per scene: a single entry ui scales the entire row vector vT, and the scaled copy becomes row i of the result.
The frozen picture below is the second step: row 2 being written as u2vT, with row 1 already filled.
Row method, row 2
One entry of u against all of vT: row 2 is u2 times the whole row vector. Every row of the result is a multiple of vT.
This is scalar multiplication of a vector, applied m times with m different scalars. Every row of the result is therefore a multiple of the same row vT, and the row space of the matrix is the single line through v.
That is half of the rank-1 story. A matrix whose rows are all multiples of one vector has rank at most 1, however many rows it has: the rows carry one direction and m different lengths, nothing more.
Column by Column: Each Column Is a Copy of u
The column method fills one column per scene: a single entry vj scales the entire column u, and the scaled copy becomes column j of the result.
The frozen picture below is the second step: column 2 being written as v2u, with column 1 already filled.
Column method, column 2
One entry of v against all of u: column 2 is v2 times the whole column. Every column of the result is a multiple of u - the other half of rank 1.
This is the other half of the story. Every column is a multiple of u, so the column space is the line through u, and the matrix sends every input vector w to a multiple of u: (uvT)w=u(v⋅w).
Row space a line, column space a line — the two views agree that the rank is 1, which is the rank theorem in miniature: row rank equals column rank. It is also why the outer product is the building block of the singular value decomposition, where a general matrix is written as a sum of such one-direction pieces.
The Completed Product
The final scene shows every cell filled, so the grid reads ui⋅vj throughout: m×n products from m+n numbers.
Whichever method built it, the same matrix results; the methods differ only in how the products are grouped.
Completed outer product, frozen
Nine products from six numbers. Rows are copies of vT, columns are copies of u, and the diagonal sums to the inner product u·v.
Two consequences are worth carrying away. The matrix is singular whenever it is square with n≥2, because rank 1 is less than n; its only non-zero eigenvalue is u⋅v with eigenvector u. And the pair of vectors is not unique: (2u)(21v)T is the same matrix, so an outer product remembers the two directions and the product of the two lengths, not the lengths separately.
Swapping the roles of u and v transposes the grid, and summing the diagonal, when the grid is square, gives back the inner product. The outer product and the inner product are the same two vectors seen from opposite sides.
Reading the Scene Player
Each scene combines highlights, arrows, and a caption.
• In the cell method, the active entry of u is highlighted primary, the active entry of v secondary, and the destination cell accent; two arrows flow into it, one from each vector • In the row method, one entry of u is primary, all of vT is secondary, and the whole destination row is accent, with an arrow from each entry of vT into its cell • In the column method, the roles swap: all of u is primary, one entry of v secondary, and the whole destination column accent • Filled cells show their symbolic content ui⋅vj at a font size that scales with the larger dimension • The step log on the right keeps a record of every completed cell, row or column
Choosing the Two Lengths
The two steppers are independent, and that independence is the first thing to notice.
• Set u to length 3 and v to length 2 for a 3×2 result, or the reverse for 2×3; nothing requires the lengths to agree • Equal lengths give a square matrix, whose trace u1v1+⋯+unvn is the inner product of the same two vectors • Length 1 on either side collapses the matrix to a single row or a single column, a scaled copy of the other vector • Larger shapes make the rank-1 pattern more striking: at 5×5 there are 25 entries but only 10 independent numbers behind them
What the Outer Product Is
The outer product of a column vector u∈Rm and a row vector vT with v∈Rn is the m×n matrix
It is ordinary matrix multiplication of an m×1 matrix by a 1×n matrix, with inner dimension 1, so each entry is a single product rather than a sum. Reading the product by rows, row i is uivT; reading it by columns, column j is vju.
The inner product is the same two vectors multiplied in the other order: vTu is 1×n times n×1, a 1×1 matrix, a number. Outer and inner are the two ways a column and a row can meet.
Because every column of uvT is a multiple of u, the column space is the line through u and the rank is 1 whenever both vectors are non-zero. For the general theory of rank, see the matrix rank theory page.
Key Properties
The outer product is bilinear, and its structure follows from the entrywise formula.
• Rank: rank(uvT)=1 for non-zero u,v, and 0 if either is zero • Transpose: (uvT)T=vuT — swapping the vectors transposes the matrix, so the outer product is not commutative unless u=v • Bilinearity: (u1+u2)vT=u1vT+u2vT, and likewise in v • Scalar pull-out: (ku)vT=u(kv)T=kuvT — the same matrix arises from many pairs of vectors • Action on a vector: (uvT)w=u(v⋅w) — the matrix sends every vector to a multiple of u • Trace (square case): tr(uvT)=u⋅v • Symmetry: uuT is symmetric and positive semidefinite • Projection matrix: uTuuuT projects any vector onto the line through u • Eigenvalues (square case): u⋅v with eigenvector u, and 0 with multiplicity n−1
Why It Matters
Rank-1 matrices are the atoms of matrix algebra, and the outer product is how they are written.
• Matrix multiplication: AB is the sum of the outer products of the columns of A with the rows of B, AB=∑kakbkT • Singular value decomposition: any matrix is a sum of rank-1 outer products σkukvkT, ordered by importance; keeping the first few is low-rank approximation • Projection matrices: uuT/uTu is the matrix form of projection onto a line • Rank-1 updates: the Sherman-Morrison formula and quasi-Newton methods adjust a matrix by adding an outer product • Statistics: a covariance matrix is an average of outer products (x−μ)(x−μ)T • Machine learning: Hebbian learning updates weights by yxT, and attention scores are built from products of the same shape • Physics: dyadic tensors such as the inertia tensor and stress tensor are sums of outer products
Worked Example
Take
u=123,v=(45)
The outer product is 3×2:
uvT=1⋅42⋅43⋅41⋅52⋅53⋅5=481251015
Read by rows: (4,5), (8,10)=2⋅(4,5), (12,15)=3⋅(4,5) — every row is a multiple of vT. Read by columns: (4,8,12)T=4u and (5,10,15)T=5u — every column is a multiple of u. The rank is 1.
The inner product is not defined for this pair, since the lengths differ. With v=(4,5,6) instead, the outer product becomes 3×3 and its trace 4+10+18=32 equals u⋅v. Set the visualizer to 3 and 2 and step through any method to see this matrix assembled symbolically.
Common Mistakes
A few mistakes recur.
• Confusing outer with inner — uvT is a matrix, vTu is a number; the order of the column and the row decides which • Requiring equal lengths — the inner product needs them, the outer product does not; a 3-vector and a 2-vector have a perfectly good 3×2 outer product • Treating it as commutative — vuT is the transpose of uvT, a different matrix unless u=v • Expecting full rank — an n×n outer product has rank 1, never more; it is singular for n≥2 • Reading a rank-1 matrix as arbitrary — if a matrix has the outer product pattern, it is determined by m+n−1 numbers, not mn • Losing the row-column assignment — the row index comes from u and the column index from v; uivj sits at (i,j), not (j,i)
Related Concepts
Inner product — the same pairing summed into a scalar; the outer product's twin.
Matrix multiplication — the outer product is the m×1 by 1×n case, and every matrix product is a sum of outer products.
Rank — outer products of non-zero vectors are exactly the rank-1 matrices.
Transpose — swapping u and v transposes the result.
Projection — the projection matrix onto a line is a normalized outer product.