A block matrix is a matrix partitioned into smaller matrices called blocks or submatrices. The entries of a block matrix are themselves matrices, arranged so that their sizes are compatible. Block notation is used to expose structure, simplify multiplication, describe large systems, and express decompositions. A matrix may be partitioned in many different ways, depending on the calculation being performed.
15.1 Partitioning a Matrix
A matrix can be divided by grouping rows and columns.
For example,
A=147258369
may be written as
A=[A11A21A12A22],
where
A11=[1425],A12=[36],A21=[78],A22=[9].
The horizontal and vertical lines are only visual guides. They are not new algebraic symbols.
15.2 Conformable Blocks
Block notation is valid only when the block sizes fit together.
In
A=[A11A21A12A22],
the blocks in the same block row must have the same number of rows. The blocks in the same block column must have the same number of columns.
For example, if
A11 is 2×3,
then A12 must also have 2 rows. If
A21 is 4×3,
then A22 must have 4 rows and the same number of columns as A12.
Thus block matrices obey the same row-column compatibility rules as ordinary matrices, but at the level of submatrices.
15.3 Block Addition
Block matrices with the same partition can be added block by block.
If
A=[A11A21A12A22]
and
B=[B11B21B12B22],
with corresponding blocks of the same size, then
A+B=[A11+B11A21+B21A12+B12A22+B22].
For example,
[ACBD]+[EGFH]=[A+EC+GB+FD+H].
Each block sum must be defined.
15.4 Block Scalar Multiplication
Scalar multiplication is also performed block by block:
c[ACBD]=[cAcCcBcD].
This follows directly from ordinary scalar multiplication of matrix entries.
15.5 Block Matrix Multiplication
Block multiplication follows the same row-column rule as ordinary matrix multiplication.
This is exactly the ordinary multiplication rule, with scalar products replaced by matrix products. The partitions must be conformable: the column partition of A must match the row partition of B.
15.6 Example of Block Multiplication
Let
A=[A11A12]
and
x=[x1x2].
Then
Ax=A11x1+A12x2.
This is useful when a vector of unknowns is split into groups.
For example, a system
Ax=b
may be written as
[A11A21A12A22][x1x2]=[b1b2].
This gives the block system
A11x1+A12x2=b1,A21x1+A22x2=b2.
Thus block notation separates a large system into coupled subsystems.
15.7 Block Transpose
The transpose of a block matrix transposes each block and also swaps block positions.
If
A=[A11A21A12A22],
then
AT=[A11TA12TA21TA22T].
Notice both changes. The off-diagonal blocks exchange positions, and each block is transposed.
For complex matrices, the conjugate transpose satisfies
A∗=[A11∗A12∗A21∗A22∗].
15.8 Block Diagonal Matrices
A block diagonal matrix has square blocks on the diagonal and zero blocks elsewhere:
D=D10⋮00D2⋮0⋯⋯⋱⋯00⋮Dk.
Block diagonal matrices act independently on separate groups of coordinates.
If
D=[D100D2]
and
x=[x1x2],
then
Dx=[D1x1D2x2].
The two parts do not interact.
15.9 Direct Sums
The direct sum of two matrices A and B is the block diagonal matrix
A⊕B=[A00B].
For example,
[1324]⊕[5768]=1300240000570068.
Direct sums describe transformations that act separately on independent components.
15.10 Block Triangular Matrices
A block upper triangular matrix has the form
T=[A0BD],
where A and D are square blocks.
A block lower triangular matrix has the form
L=[AC0D].
These matrices generalize ordinary triangular matrices. The zero blocks show that some parts of the system do not feed into others.
For block triangular matrices,
det[A0BD]=det(A)det(D),
and
det[AC0D]=det(A)det(D).
This determinant rule holds when A and D are square blocks.
15.11 Inverse of a Block Diagonal Matrix
A block diagonal matrix is invertible exactly when each diagonal block is invertible.
If
D=[D100D2],
and D1,D2 are invertible, then
D−1=[D1−100D2−1].
Indeed,
[D100D2][D1−100D2−1]=[I00I].
Thus inversion separates across independent blocks.
15.12 Inverse of a Block Triangular Matrix
Let
M=[A0BD],
where A and D are invertible. Then
M−1=[A−10−A−1BD−1D−1].
Check by multiplication:
[A0BD][A−10−A−1BD−1D−1]=[I00I].
The lower triangular case is similar:
[AC0D]−1=[A−1−D−1CA−10D−1].
15.13 The Schur Complement
Let
M=[ACBD],
where A is square and invertible.
The Schur complement of A in M is
S=D−CA−1B.
This matrix appears when eliminating x1 from the block system
This formula is useful in theory and in structured computations. It should be applied only when the required inverses exist. A corresponding formula exists when D is invertible, using the Schur complement
A−BD−1C.
Block inverse formulas are standard consequences of block elimination.
15.15 Block Gaussian Elimination
Block Gaussian elimination applies the idea of ordinary elimination to blocks.
For
M=[ACBD],
with A invertible, eliminate the lower-left block C by multiplying on the left with
[I−CA−10I].
Then
[I−CA−10I][ACBD]=[A0BD−CA−1B].
The lower-right block is the Schur complement.
This is the block analogue of replacing a row by itself minus a multiple of a pivot row.
15.16 Block LU Factorization
The previous identity gives a block factorization.
If A is invertible and S=D−CA−1B, then
[ACBD]=[ICA−10I][A0BS].
This is a block LU factorization. The first factor is block lower triangular. The second factor is block upper triangular.
One may also write
[ACBD]=[ICA−10I][A00S][I0A−1BI].
This separates the matrix into lower, diagonal, and upper block factors.
15.17 Solving Block Systems
Consider the block system
[ACBD][x1x2]=[b1b2].
Assume A and S=D−CA−1B are invertible.
The solution can be found in two stages.
First solve the Schur complement equation:
Sx2=b2−CA−1b1.
Then recover
x1=A−1(b1−Bx2).
This reduces the original coupled system to a smaller derived system for x2, followed by back substitution.
15.18 Block Matrices and Linear Maps
Block matrices often arise from decompositions of vector spaces.
Suppose
V=V1⊕V2
and
W=W1⊕W2.
A linear map
T:V→W
can be represented as
T=[T11T21T12T22].
Here
Tij:Vj→Wi.
The block T12, for example, describes the part of the input from V2 that contributes to the output in W1.
This interpretation is often clearer than thinking only in coordinates.
15.19 Block Matrices in Computation
Block matrices are important in computation because large matrices are often handled in pieces.
Blocking can improve memory locality, expose parallelism, and separate independent subproblems. Dense numerical linear algebra libraries often use blocked algorithms for matrix multiplication, LU decomposition, QR decomposition, and Cholesky decomposition.
In sparse systems, block structure may come from physical domains, graph partitions, constraints, or multiple variable types. For example, a discretized differential equation may group unknowns by region, field, or boundary condition.
15.20 Common Mistakes
Mistake
Correction
Multiplying blocks without checking sizes
Each block product must be defined
Assuming block multiplication is commutative
Block products are matrix products, so order matters
Treating zero blocks as scalar zero without size
A zero block has a required shape
Forgetting to transpose individual blocks
Block transpose swaps positions and transposes blocks
Applying determinant formulas to arbitrary block matrices
Simple product formulas need triangular or special structure
Using the Schur complement when the chosen block is not invertible
A−1 or D−1 must exist
15.21 Summary
Block matrices are ordinary matrices viewed through a partition into submatrices. They allow large matrix expressions to be written and manipulated at a higher structural level.
The main rules are:
Concept
Formula
Block addition
(A+B)ij=Aij+Bij
Block multiplication
(AB)ij=∑kAikBkj
Block transpose
(AT)ij=AjiT
Direct sum
A⊕B=[A00B]
Block triangular determinant
det[A0BD]=det(A)det(D)
Schur complement
S=D−CA−1B
Block diagonal inverse
[A00D]−1=[A−100D−1]
Block notation is not a new kind of algebra. It is ordinary matrix algebra applied with a useful partition. Its value is that it makes structure visible.
← → section · ↑ ↓ slide · Space next · F fullscreen · Esc exit