Take W₁ = [[1, 2], [0, 1]], b₁ = [0.5, −0.5], W₂ = [[2, 0], [1, 3]], b₂ = [1, 1], and feed the input x = (1, 1).
layer by layer
h = W₁x + b₁ = [1·1 + 2·1 + 0.5, 0·1 + 1·1 − 0.5] = [3.5, 0.5]
y = W₂h + b₂ = [2·3.5 + 0 + 1, 3.5 + 3·0.5 + 1] = [8, 6]
collapsed into one layer
A = W₂W₁ = [[2·1 + 0·0, 2·2 + 0·1], [1·1 + 3·0, 1·2 + 3·1]]
= [[2, 4], [1, 5]]
c = W₂b₁ + b₂ = [1 − 0 + 1, 0.5 − 1.5 + 1] = [2, 0]
y = Ax + c = [2·1 + 4·1 + 2, 1·1 + 5·1 + 0] = [8, 6] ✓
same output, one matrix, half the parameters doing anything
The collapse lab below runs the same test on a random stack: drag the depth from 2 to 8 and the readout’s difference stays at zero because the layer-by-layer result and A·x + c are the same arithmetic rearranged. Now add a ReLU after every layer and the green curve bends — those bends are the capacity.