Skip to content

Chapter 15. Block Matrices

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=[123456789] A= \left[ \begin{array}{cc|c} 1&2&3\\ 4&5&6\\ \hline 7&8&9 \end{array} \right]

may be written as

A=[A11A12A21A22], A= \begin{bmatrix} A_{11}&A_{12}\\ A_{21}&A_{22} \end{bmatrix},

where

A11=[1245],A12=[36], A_{11}= \begin{bmatrix} 1&2\\ 4&5 \end{bmatrix}, \qquad A_{12}= \begin{bmatrix} 3\\ 6 \end{bmatrix}, A21=[78],A22=[9]. A_{21}= \begin{bmatrix} 7&8 \end{bmatrix}, \qquad A_{22}= \begin{bmatrix} 9 \end{bmatrix}.

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=[A11A12A21A22], A= \begin{bmatrix} A_{11}&A_{12}\\ A_{21}&A_{22} \end{bmatrix},

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, A_{11} \text{ is } 2\times 3,

then A12A_{12} must also have 22 rows. If

A21 is 4×3, A_{21} \text{ is } 4\times 3,

then A22A_{22} must have 44 rows and the same number of columns as A12A_{12}.

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=[A11A12A21A22] A= \begin{bmatrix} A_{11}&A_{12}\\ A_{21}&A_{22} \end{bmatrix}

and

B=[B11B12B21B22], B= \begin{bmatrix} B_{11}&B_{12}\\ B_{21}&B_{22} \end{bmatrix},

with corresponding blocks of the same size, then

A+B=[A11+B11A12+B12A21+B21A22+B22]. A+B= \begin{bmatrix} A_{11}+B_{11}&A_{12}+B_{12}\\ A_{21}+B_{21}&A_{22}+B_{22} \end{bmatrix}.

For example,

[ABCD]+[EFGH]=[A+EB+FC+GD+H]. \begin{bmatrix} A&B\\ C&D \end{bmatrix} + \begin{bmatrix} E&F\\ G&H \end{bmatrix} = \begin{bmatrix} A+E&B+F\\ C+G&D+H \end{bmatrix}.

Each block sum must be defined.

15.4 Block Scalar Multiplication

Scalar multiplication is also performed block by block:

c[ABCD]=[cAcBcCcD]. c \begin{bmatrix} A&B\\ C&D \end{bmatrix} = \begin{bmatrix} cA&cB\\ cC&cD \end{bmatrix}.

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.

If

A=[A11A12A21A22] A= \begin{bmatrix} A_{11}&A_{12}\\ A_{21}&A_{22} \end{bmatrix}

and

B=[B11B12B21B22], B= \begin{bmatrix} B_{11}&B_{12}\\ B_{21}&B_{22} \end{bmatrix},

and all block products are defined, then

AB=[A11B11+A12B21A11B12+A12B22A21B11+A22B21A21B12+A22B22]. AB= \begin{bmatrix} A_{11}B_{11}+A_{12}B_{21} & A_{11}B_{12}+A_{12}B_{22} \\ A_{21}B_{11}+A_{22}B_{21} & A_{21}B_{12}+A_{22}B_{22} \end{bmatrix}.

More generally, if

C=AB, C=AB,

then the (i,j)(i,j)-block of CC is

Cij=kAikBkj. C_{ij}=\sum_k A_{ik}B_{kj}.

This is exactly the ordinary multiplication rule, with scalar products replaced by matrix products. The partitions must be conformable: the column partition of AA must match the row partition of BB.

15.6 Example of Block Multiplication

Let

A=[A11A12] A= \begin{bmatrix} A_{11}&A_{12} \end{bmatrix}

and

x=[x1x2]. x= \begin{bmatrix} x_1\\ x_2 \end{bmatrix}.

Then

Ax=A11x1+A12x2. Ax=A_{11}x_1+A_{12}x_2.

This is useful when a vector of unknowns is split into groups.

For example, a system

Ax=b Ax=b

may be written as

[A11A12A21A22][x1x2]=[b1b2]. \begin{bmatrix} A_{11}&A_{12}\\ A_{21}&A_{22} \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix} = \begin{bmatrix} b_1\\ b_2 \end{bmatrix}.

This gives the block system

A11x1+A12x2=b1, A_{11}x_1+A_{12}x_2=b_1, A21x1+A22x2=b2. A_{21}x_1+A_{22}x_2=b_2.

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=[A11A12A21A22], A= \begin{bmatrix} A_{11}&A_{12}\\ A_{21}&A_{22} \end{bmatrix},

then

AT=[A11TA21TA12TA22T]. A^T= \begin{bmatrix} A_{11}^T&A_{21}^T\\ A_{12}^T&A_{22}^T \end{bmatrix}.

Notice both changes. The off-diagonal blocks exchange positions, and each block is transposed.

For complex matrices, the conjugate transpose satisfies

A=[A11A21A12A22]. A^*= \begin{bmatrix} A_{11}^*&A_{21}^*\\ A_{12}^*&A_{22}^* \end{bmatrix}.

15.8 Block Diagonal Matrices

A block diagonal matrix has square blocks on the diagonal and zero blocks elsewhere:

D=[D1000D2000Dk]. D= \begin{bmatrix} D_1&0&\cdots&0\\ 0&D_2&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&D_k \end{bmatrix}.

Block diagonal matrices act independently on separate groups of coordinates.

If

D=[D100D2] D= \begin{bmatrix} D_1&0\\ 0&D_2 \end{bmatrix}

and

x=[x1x2], x= \begin{bmatrix} x_1\\ x_2 \end{bmatrix},

then

Dx=[D1x1D2x2]. Dx= \begin{bmatrix} D_1x_1\\ D_2x_2 \end{bmatrix}.

The two parts do not interact.

15.9 Direct Sums

The direct sum of two matrices AA and BB is the block diagonal matrix

AB=[A00B]. A\oplus B= \begin{bmatrix} A&0\\ 0&B \end{bmatrix}.

For example,

[1234][5678]=[1200340000560078]. \begin{bmatrix} 1&2\\ 3&4 \end{bmatrix} \oplus \begin{bmatrix} 5&6\\ 7&8 \end{bmatrix} = \begin{bmatrix} 1&2&0&0\\ 3&4&0&0\\ 0&0&5&6\\ 0&0&7&8 \end{bmatrix}.

Direct sums describe transformations that act separately on independent components.

15.10 Block Triangular Matrices

A block upper triangular matrix has the form

T=[AB0D], T= \begin{bmatrix} A&B\\ 0&D \end{bmatrix},

where AA and DD are square blocks.

A block lower triangular matrix has the form

L=[A0CD]. L= \begin{bmatrix} A&0\\ C&D \end{bmatrix}.

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[AB0D]=det(A)det(D), \det \begin{bmatrix} A&B\\ 0&D \end{bmatrix} = \det(A)\det(D),

and

det[A0CD]=det(A)det(D). \det \begin{bmatrix} A&0\\ C&D \end{bmatrix} = \det(A)\det(D).

This determinant rule holds when AA and DD 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], D= \begin{bmatrix} D_1&0\\ 0&D_2 \end{bmatrix},

and D1,D2D_1,D_2 are invertible, then

D1=[D1100D21]. D^{-1} = \begin{bmatrix} D_1^{-1}&0\\ 0&D_2^{-1} \end{bmatrix}.

Indeed,

[D100D2][D1100D21]=[I00I]. \begin{bmatrix} D_1&0\\ 0&D_2 \end{bmatrix} \begin{bmatrix} D_1^{-1}&0\\ 0&D_2^{-1} \end{bmatrix} = \begin{bmatrix} I&0\\ 0&I \end{bmatrix}.

Thus inversion separates across independent blocks.

15.12 Inverse of a Block Triangular Matrix

Let

M=[AB0D], M= \begin{bmatrix} A&B\\ 0&D \end{bmatrix},

where AA and DD are invertible. Then

M1=[A1A1BD10D1]. M^{-1} = \begin{bmatrix} A^{-1}&-A^{-1}BD^{-1}\\ 0&D^{-1} \end{bmatrix}.

Check by multiplication:

[AB0D][A1A1BD10D1]=[I00I]. \begin{bmatrix} A&B\\ 0&D \end{bmatrix} \begin{bmatrix} A^{-1}&-A^{-1}BD^{-1}\\ 0&D^{-1} \end{bmatrix} = \begin{bmatrix} I&0\\ 0&I \end{bmatrix}.

The lower triangular case is similar:

[A0CD]1=[A10D1CA1D1]. \begin{bmatrix} A&0\\ C&D \end{bmatrix}^{-1} = \begin{bmatrix} A^{-1}&0\\ -D^{-1}CA^{-1}&D^{-1} \end{bmatrix}.

15.13 The Schur Complement

Let

M=[ABCD], M= \begin{bmatrix} A&B\\ C&D \end{bmatrix},

where AA is square and invertible.

The Schur complement of AA in MM is

S=DCA1B. S=D-CA^{-1}B.

This matrix appears when eliminating x1x_1 from the block system

Ax1+Bx2=b1, Ax_1+Bx_2=b_1, Cx1+Dx2=b2. Cx_1+Dx_2=b_2.

From the first equation,

x1=A1(b1Bx2). x_1=A^{-1}(b_1-Bx_2).

Substitute into the second equation:

CA1(b1Bx2)+Dx2=b2. C A^{-1}(b_1-Bx_2)+Dx_2=b_2.

Thus

(DCA1B)x2=b2CA1b1. (D-CA^{-1}B)x_2=b_2-CA^{-1}b_1.

The matrix DCA1BD-CA^{-1}B is the Schur complement.

15.14 Block Inverse Formula

If AA and the Schur complement

S=DCA1B S=D-CA^{-1}B

are invertible, then

[ABCD]1=[A1+A1BS1CA1A1BS1S1CA1S1]. \begin{bmatrix} A&B\\ C&D \end{bmatrix}^{-1} = \begin{bmatrix} A^{-1}+A^{-1}BS^{-1}CA^{-1}&-A^{-1}BS^{-1}\\ -S^{-1}CA^{-1}&S^{-1} \end{bmatrix}.

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 DD is invertible, using the Schur complement

ABD1C. A-BD^{-1}C.

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=[ABCD], M= \begin{bmatrix} A&B\\ C&D \end{bmatrix},

with AA invertible, eliminate the lower-left block CC by multiplying on the left with

[I0CA1I]. \begin{bmatrix} I&0\\ -CA^{-1}&I \end{bmatrix}.

Then

[I0CA1I][ABCD]=[AB0DCA1B]. \begin{bmatrix} I&0\\ -CA^{-1}&I \end{bmatrix} \begin{bmatrix} A&B\\ C&D \end{bmatrix} = \begin{bmatrix} A&B\\ 0&D-CA^{-1}B \end{bmatrix}.

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 AA is invertible and S=DCA1BS=D-CA^{-1}B, then

[ABCD]=[I0CA1I][AB0S]. \begin{bmatrix} A&B\\ C&D \end{bmatrix} = \begin{bmatrix} I&0\\ CA^{-1}&I \end{bmatrix} \begin{bmatrix} A&B\\ 0&S \end{bmatrix}.

This is a block LU factorization. The first factor is block lower triangular. The second factor is block upper triangular.

One may also write

[ABCD]=[I0CA1I][A00S][IA1B0I]. \begin{bmatrix} A&B\\ C&D \end{bmatrix} = \begin{bmatrix} I&0\\ CA^{-1}&I \end{bmatrix} \begin{bmatrix} A&0\\ 0&S \end{bmatrix} \begin{bmatrix} I&A^{-1}B\\ 0&I \end{bmatrix}.

This separates the matrix into lower, diagonal, and upper block factors.

15.17 Solving Block Systems

Consider the block system

[ABCD][x1x2]=[b1b2]. \begin{bmatrix} A&B\\ C&D \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix} = \begin{bmatrix} b_1\\ b_2 \end{bmatrix}.

Assume AA and S=DCA1BS=D-CA^{-1}B are invertible.

The solution can be found in two stages.

First solve the Schur complement equation:

Sx2=b2CA1b1. Sx_2=b_2-CA^{-1}b_1.

Then recover

x1=A1(b1Bx2). x_1=A^{-1}(b_1-Bx_2).

This reduces the original coupled system to a smaller derived system for x2x_2, followed by back substitution.

15.18 Block Matrices and Linear Maps

Block matrices often arise from decompositions of vector spaces.

Suppose

V=V1V2 V=V_1\oplus V_2

and

W=W1W2. W=W_1\oplus W_2.

A linear map

T:VW T:V\to W

can be represented as

T=[T11T12T21T22]. T= \begin{bmatrix} T_{11}&T_{12}\\ T_{21}&T_{22} \end{bmatrix}.

Here

Tij:VjWi. T_{ij}:V_j\to W_i.

The block T12T_{12}, for example, describes the part of the input from V2V_2 that contributes to the output in W1W_1.

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

MistakeCorrection
Multiplying blocks without checking sizesEach block product must be defined
Assuming block multiplication is commutativeBlock products are matrix products, so order matters
Treating zero blocks as scalar zero without sizeA zero block has a required shape
Forgetting to transpose individual blocksBlock transpose swaps positions and transposes blocks
Applying determinant formulas to arbitrary block matricesSimple product formulas need triangular or special structure
Using the Schur complement when the chosen block is not invertibleA1A^{-1} or D1D^{-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:

ConceptFormula
Block addition(A+B)ij=Aij+Bij(A+B)_{ij}=A_{ij}+B_{ij}
Block multiplication(AB)ij=kAikBkj(AB)_{ij}=\sum_k A_{ik}B_{kj}
Block transpose(AT)ij=AjiT(A^T)_{ij}=A_{ji}^T
Direct sumAB=[A00B]A\oplus B=\begin{bmatrix}A&0\\0&B\end{bmatrix}
Block triangular determinantdet[AB0D]=det(A)det(D)\det\begin{bmatrix}A&B\\0&D\end{bmatrix}=\det(A)\det(D)
Schur complementS=DCA1BS=D-CA^{-1}B
Block diagonal inverse[A00D]1=[A100D1]\begin{bmatrix}A&0\\0&D\end{bmatrix}^{-1}=\begin{bmatrix}A^{-1}&0\\0&D^{-1}\end{bmatrix}

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.