Recipe
Multiply two block-partitioned matrices
Use when: you have two matrices split into blocks with matching block-column widths and block-row heights, and need one or more blocks of the product C=AB
Goal: the requested block (or blocks) of C, computed by the same row-times-column rule as ordinary multiplication, applied one level up to sub-matrices
Taught in Block (partitioned) matrices
Quick recipe
-
1
A's block-column widths must match B's block-row heights — the same inner-dimension rule ordinary matrix multiplication always requires, just applied to whole groups of columns and rows instead of individual ones.
Example
A is partitioned into 2\times2 blocks with block-columns of width 2 and 2; B is partitioned into block-rows of height 2 and 2. The widths and heights line up, so A_{it}B_{tj} will make sense for every i,j,t.
Why: if a block's width didn't match its partner's height, the individual matrix product A_{it}B_{tj} inside the block sum wouldn't be defined at all — conformability has to hold block by block, not just for the outer dimensions.
-
2
Block (i,j) of C is \sum_t A_{it}B_{tj} — write out which specific pairs of blocks that sum actually calls for before multiplying anything.
Example
For C_{12} (block-row 1, block-column 2) with a 2\times2 grid of blocks, t ranges over 1,2: C_{12}=A_{11}B_{12}+A_{12}B_{22}. Blocks A_{21}, A_{22}'s pairing with B_{11}, and B_{21} never enter this particular sum.
Why: this mirrors (AB)_{ij}=\sum_t a_{it}b_{tj} exactly, one level up — knowing the needed pairs in advance means never wasting effort on a block that doesn't contribute to the one you were actually asked for.
-
3
Each A_{it}B_{tj} is an ordinary matrix product — multiply it out row by row exactly as any other matrix multiplication.
Example
A_{11}B_{12}=\begin{pmatrix}1&0\\2&1\end{pmatrix}\begin{pmatrix}1&2\\0&1\end{pmatrix}=\begin{pmatrix}1&2\\2&5\end{pmatrix}, \qquad A_{12}B_{22}=\begin{pmatrix}3&-1\\0&2\end{pmatrix}\begin{pmatrix}1&0\\-2&1\end{pmatrix}=\begin{pmatrix}5&-1\\-4&2\end{pmatrix}Why: a block is a whole sub-matrix, so "multiplying" it means the full matrix-multiplication recipe, not a single scalar multiplication — nothing about being a block changes how a matrix product itself is computed.
-
4
Sum the block products from Step 3 the way block addition always works: matching position, matching size, added entry by entry.
Example
C_{12}=\begin{pmatrix}1&2\\2&5\end{pmatrix}+\begin{pmatrix}5&-1\\-4&2\end{pmatrix}=\begin{pmatrix}6&1\\-2&7\end{pmatrix}Why: the sum \sum_t A_{it}B_{tj} is literally an ordinary matrix sum of the individual block products — nothing in the block picture changes what "add two matrices" means.
Common mistakes
- Skipping the conformability check and multiplying two blocks whose inner sizes don't actually match.
- Computing every block of the product when only one was asked for, instead of using Step 2 to find just the pairs a target block needs.
- Dropping a term from the sum \sum_t A_{it}B_{tj} — every value of t contributes one block product, not just the first.
- Adding the block products from Step 3 in the wrong order or against the wrong partner, mixing up which block product belongs to which target.
- Treating a block like a single number — a 2\times2 block still needs the full row-times-column recipe, not one multiplication.