Mathematical Foundations

II.9 · Linear Algebra

Rows compute outputs; columns assemble the same output.

One product has two complementary readings. Follow row dot-products, then rebuild the identical vector as a weighted sum of columns—including rectangular and incompatible shapes.

One product, read by rows and by columns

The 2 outputs are row dot-products. The same result is a weighted sum of A's 2 columns.

matrix A
2×2 [2, −1; 1, 3]
input column
(4, 2)
input → output shape
2×2 · 2×1 → 2×1
matrix-vector product
(6, 10)

Exact expressions use =. Rounded computations use ≈. Every view uses this same state.

The 2 outputs are row dot-products. The same result is a weighted sum of A's 2 columns.

(Ax)1=2(4)+−1(2)=6(Ax)2=1(4)+3(2)=10\begin{aligned}(A\mathbf x)_1&=2(4)+-1(2)=6\\(A\mathbf x)_2&=1(4)+3(2)=10\end{aligned}
Ax=4a1+2a2=[610]A\mathbf x=4\mathbf a_1+2\mathbf a_2=\begin{bmatrix}6\\10\end{bmatrix}

from −4 to 4, up to 2 decimal places

from −4 to 4, up to 2 decimal places

from −4 to 4, up to 2 decimal places

from −4 to 4, up to 2 decimal places

from −4 to 4, up to 2 decimal places

from −4 to 4, up to 2 decimal places

For 2×2, drag either column or the input. The head-to-tail arrows show the column combination while formulas show row dot-products. Switch to wide, tall, and rejected shapes.

Predict the canonical output using the first row only, then verify the first inspector component. Next reconstruct the same output from weighted columns. Choose 2×3 · 3×1 and 3×2 · 2×1 to separate input count from output count. End with the rejected product.

Intuition: one machine, two useful readings

A matrix with nn columns accepts nn input components. Each of its mm rows produces one output component, so an m×nm\times n matrix maps Rn\mathbb R^n to Rm\mathbb R^m.

Rows answer, “How is this output coordinate measured from all inputs?” Columns answer, “What output direction does this input coordinate control?” Both readings use exactly the same products.

Definition

For A∈Rm×nA\in\mathbb R^{m\times n} and x∈Rn\mathbf x\in\mathbb R^n, the product Ax∈RmA\mathbf x\in\mathbb R^m is defined by

(Ax)i=∑j=1naijxj.(A\mathbf x)_i=\sum_{j=1}^{n}a_{ij}x_j.

Equivalently, if aj\mathbf a_j is column jj of AA,

Ax=x1a1+⋯+xnan.A\mathbf x=x_1\mathbf a_1+\cdots+x_n\mathbf a_n.

The product is defined only when the matrix column count equals the vector length.

Mechanics: check shape before arithmetic

Write dimensions next to the factors:

(m×n)⏟A(n×1)⏟x⟶(m×1)⏟Ax.\underbrace{(m\times n)}_{A} \underbrace{(n\times1)}_{\mathbf x} \longrightarrow \underbrace{(m\times1)}_{A\mathbf x}.

The equal inner dimensions certify compatibility. The outer dimensions describe the result. Thus a 2×32\times3 matrix accepts three inputs and emits two outputs; a 3×23\times2 matrix accepts two inputs and emits three outputs. The board in the stage keeps these shapes visible when a 2D plot would be misleading.

Derivation: rows and columns are the same distributive law

For a 2×22\times2 example,

Ax=[a11a12a21a22][x1x2]=[a11x1+a12x2a21x1+a22x2]=x1[a11a21]+x2[a12a22].\begin{aligned} A\mathbf x &= \begin{bmatrix} a_{11}&a_{12}\\ a_{21}&a_{22} \end{bmatrix} \begin{bmatrix}x_1\\x_2\end{bmatrix}\\ &= \begin{bmatrix} a_{11}x_1+a_{12}x_2\\ a_{21}x_1+a_{22}x_2 \end{bmatrix}\\ &=x_1\begin{bmatrix}a_{11}\\a_{21}\end{bmatrix} +x_2\begin{bmatrix}a_{12}\\a_{22}\end{bmatrix}. \end{aligned}

The row view groups by output coordinate. The column view groups by input weight. Regrouping changes the explanation, not the result.

Worked examples

With

A=[2−113],x=[42],A=\begin{bmatrix}2&-1\\1&3\end{bmatrix}, \qquad \mathbf x=\begin{bmatrix}4\\2\end{bmatrix},

the rows give (6,10)(6,10). The columns give 4(2,1)+2(−1,3)=(6,10)4(2,1)+2(-1,3)=(6,10). Both expose useful structure: the first emphasizes output formulas; the second emphasizes feature contributions.

Inspect the worked calculation

Check that A has one column for every input entry.

(Ax)1=2(4)+−1(2)=6(Ax)2=1(4)+3(2)=10\begin{aligned}(A\mathbf x)_1&=2(4)+-1(2)=6\\(A\mathbf x)_2&=1(4)+3(2)=10\end{aligned}
matrix A
2×2 [2, −1; 1, 3]
input column
(4, 2)
input → output shape
2×2 · 2×1 → 2×1
matrix-vector product
(6, 10)
Follow compatibility, row dot-products, and the regrouped column combination.

For a 2×32\times3 matrix, three weighted columns still add to one vector, but that vector has two components. For a 3×23\times2 matrix, two weighted columns live in three-dimensional output coordinates. The stage displays exact values and shapes without pretending those outputs belong on the 2D coordinate plane.

Executable reference code

The Python implementation validates nonempty rectangular rows and exact dimensions before multiplying. The NumPy example compares the at-operator result with an explicit row and column reconstruction.

code/python/matrix_vector.py
from fractions import Fraction as F


def matvec(a, x):
    if not a or len(a[0]) != len(x) or any(len(row) != len(x) for row in a):
        raise ValueError("an m×n matrix needs an input with n entries")
    return tuple(sum((entry * value for entry, value in zip(row, x)), F(0)) for row in a)


A = ((F(2), F(-1)), (F(1), F(3)))
x = (F(4), F(2))
assert matvec(A, x) == (6, 10)
assert matvec(((F(1), F(2), F(3)), (F(0), F(-1), F(2))), (F(2), F(1), F(-1))) == (1, -3)
code/python/matrix_vector_numpy.py
import numpy as np

A = np.array([[1.0, 2.0, 3.0], [0.0, -1.0, 2.0]])
x = np.array([2.0, 1.0, -1.0])
assert A.shape == (2, 3) and x.shape == (3,)
np.testing.assert_allclose(A @ x, [1.0, -3.0])

try:
    A @ np.array([2.0, 1.0])
except ValueError:
    pass
else:
    raise AssertionError("incompatible dimensions must fail")

Explore

In the square view, set one input weight to zero and identify the surviving column. Negate a weight and watch its contribution reverse. In the wide view, alter only the third input and find the third column’s contribution. In the tall view, count three row results. Explain the rejected case using dimensions before reading its message.

Common mistakes

Do not multiply corresponding entries and stop; each output combines a full row with the input. Do not confuse the number of columns with the number of outputs. A Python list plus another list concatenates rather than performing vector addition. Finally, transposing an input to make shapes “work” changes the mathematical object unless that transpose was part of the problem.

Numerical considerations

The lesson performs entered decimal arithmetic exactly, which makes equality between the row and column readings literal. Production arrays usually use floating point, where different accumulation orders can differ slightly. Shape validation should happen before numerical work, and comparisons should use an error policy matched to scale rather than a universal hidden tolerance.

Engineering and ML connections

Rows of a linear layer define output features; columns describe how one input feature affects every output. A rectangular matrix naturally changes dimension, as in projecting many features to a smaller embedding or expanding a hidden representation. Batch operations add another axis later, but each individual sample still follows this product.

Exercises

calculation

Read rows

Compute [[2, −1], [1, 3]] [4, 2]ᵀ.

calculation

Read columns

Use columns a₁ = (1, 2), a₂ = (3, −1) and x = (2, −1). Compute x₁a₁ + x₂a₂.

prediction

Predict a rectangular output

What is the shape of (2×3)(3×1)?

Choose one answer

prediction

Reject a mismatch

Can a 3×2 matrix multiply a 3×1 column on its right?

Choose one answer

explanation

Read NumPy multiplication

For NumPy arrays A and x, which expression requests matrix × vector?

Choose one answer

Summary and checkpoints

An m×nm\times n matrix accepts nn inputs, emits mm outputs, and can be read by rows or columns. Check shape first; then choose the reading that exposes the structure you need. Next we connect several such maps without losing their order.

The map of the book

97 of 97 chapters written · eight Parts

demo Foundation demo Try the live vector example Open as a page

Part I

Mathematical Language

The notation and mental objects everything else uses.

9 of 9 chapters written

  1. I.1 Scalars, quantities, units, powers and roots available
  2. I.2 Coordinates and points available
  3. I.3 Vectors: components, magnitude, and direction reference chapter available
  4. I.4 Algebraic expressions, equations and inequalities available
  5. I.5 Functions as input → transformation → output available
  6. I.6 Essential function families available
  7. I.7 Sets, intervals, and relations available
  8. I.8 Indexed quantities and summation available
  9. I.9 The notation map for ML available

Part II

Linear Algebra

Matrices as transformations: the strongest foundation in the book.

19 of 19 chapters written

  1. II.1 Vector addition and subtraction available
  2. II.2 Scalar multiplication and vector scaling available
  3. II.3 Norms, magnitude, and normalization available
  4. II.4 Dot product, angle, and orthogonality available
  5. II.5 Projection and distance to a direction available
  6. II.6 Linear combinations and span available
  7. II.7 Linear independence, basis, and coordinates available
  8. II.8 Matrices as linear transformations available
  9. II.9 Matrix × vector available
  10. II.10 Matrix × matrix as composition available
  11. II.11 Transpose and orthogonality available
  12. II.12 Determinant: orientation and area/volume scaling available
  13. II.13 Linear systems as intersecting constraints available
  14. II.14 Gaussian elimination and row operations available
  15. II.15 Rank and invertibility available
  16. II.16 Inverse matrices available
  17. II.17 Eigenvalues and eigenvectors available
  18. II.18 Orthogonal bases and least-squares geometry available
  19. II.19 Singular Value Decomposition available

Part III

Calculus

Change, local approximation, and sensitivity made visible.

15 of 15 chapters written

  1. III.1 Limits through approach available
  2. III.2 Continuity and local behavior available
  3. III.3 Derivative as secant → tangent available
  4. III.4 Derivative as rate of change and local linear model available
  5. III.5 Derivative rules available
  6. III.6 Chain rule available
  7. III.7 Multivariable functions and partial derivatives available
  8. III.8 Gradient and directional derivatives available
  9. III.9 Jacobian available
  10. III.10 Computational graphs and automatic differentiation available
  11. III.11 Hessian and curvature available
  12. III.12 Integrals as accumulation available
  13. III.13 Fundamental derivative/integral connection available
  14. III.14 Numerical differentiation available
  15. III.15 Numerical integration available

Part IV

Probability

Uncertainty through sample spaces, evidence, and repetition.

16 of 16 chapters written

  1. IV.1 Random experiments, outcomes, and sample spaces available
  2. IV.2 Events and probability mass available
  3. IV.3 Counting and finite probability where needed available
  4. IV.4 Conditional probability as restricted sample space available
  5. IV.5 Independence available
  6. IV.6 Bayes' theorem as probability-mass update available
  7. IV.7 Random variables available
  8. IV.8 PMF, PDF, and CDF available
  9. IV.9 Bernoulli and Binomial distributions available
  10. IV.10 Uniform and Gaussian distributions available
  11. IV.11 Expectation available
  12. IV.12 Variance and standard deviation available
  13. IV.13 Joint, marginal, and conditional distributions available
  14. IV.14 Covariance and correlation available
  15. IV.15 Law of Large Numbers available
  16. IV.16 Central Limit Theorem available

Part V

Statistics

From observed data to estimates, intervals, and likelihood.

10 of 10 chapters written

  1. V.1 Data summaries: mean, median, mode available
  2. V.2 Spread: variance, standard deviation, robust interpretation available
  3. V.3 Population, sample, and sampling variability available
  4. V.4 Estimators and estimation available
  5. V.5 Confidence intervals through repeated sampling available
  6. V.6 Covariance matrices and multivariate spread available
  7. V.7 Regression fundamentals available
  8. V.8 Likelihood available
  9. V.9 Maximum Likelihood Estimation available
  10. V.10 Maximum A Posteriori estimation available

Part VI

Optimization

Learning as repeated parameter updates governed by an objective.

10 of 10 chapters written

  1. VI.1 Objective functions and optimization landscapes available
  2. VI.2 Local vs global optima and stationary points available
  3. VI.3 Convexity available
  4. VI.4 Gradient descent flagship chapter available
  5. VI.5 Learning rate and convergence behavior available
  6. VI.6 Momentum available
  7. VI.7 Stochastic and mini-batch gradient descent available
  8. VI.8 Adam intuition available
  9. VI.9 Constraints and projected/penalized intuition available
  10. VI.10 Numerical stopping and optimization diagnostics available

Part VII

Information Theory

Logarithms, entropy, and the loss behind token prediction.

8 of 8 chapters written

  1. VII.1 Logarithms and log probabilities in computation available
  2. VII.2 Self-information available
  3. VII.3 Entropy available
  4. VII.4 Cross entropy and negative log-likelihood available
  5. VII.5 KL divergence available
  6. VII.6 Logits and softmax available
  7. VII.7 Numerical stability: log-sum-exp and stable softmax available
  8. VII.8 From token logits to language-model loss available

Part VIII

Numerical Computing

Why equivalent expressions behave differently on real machines.

10 of 10 chapters written

  1. VIII.1 Floating-point representation available
  2. VIII.2 Rounding and representation error available
  3. VIII.3 Error propagation and conditioning available
  4. VIII.4 Catastrophic cancellation available
  5. VIII.5 Overflow and underflow available
  6. VIII.6 Stable algorithms available
  7. VIII.7 Numerical linear algebra realities available
  8. VIII.8 Sparse matrices and sparse structure available
  9. VIII.9 Vectorized computation available
  10. VIII.10 Reproducibility, random seeds, and nondeterminism available