Inverse of a Matrix via Blocks: A Clear Start to the “Cell” Method

Inverse of a matrix is often found using classic approaches like Gauss–Jordan elimination or the adjoint (cofactor) method. But what if the matrix is large, and its entries are naturally grouped into blocks—say, along the diagonal? In that case, the block (or “cell”) method becomes a really practical option: we split the matrix into blocks, write a system of equations for those blocks, introduce the Schur complement, and eventually get a formula for \( A^{-1} \). Sounds useful, right?

Inverse of a Matrix as a Block Scheme: How to Split a Matrix into Cells

Let’s start with the key first step. Suppose we have an \( n\times n \) square matrix \( A \). We split it into four blocks (cells) so that the top-left block has size \( r\times r \), and the bottom-right block has size \( s\times s \), where

\[ r+s=n. \]

Now write the matrix \( A \) in block form:

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

where:

  • \( A_{11} \) is an \( r\times r \) matrix.
  • \( A_{12} \) is an \( r\times s \) matrix.
  • \( A_{21} \) is an \( s\times r \) matrix.
  • \( A_{22} \) is an \( s\times s \) matrix.

A natural question comes next: if we are already working with blocks, shouldn’t we also look for the inverse in the same block form? Yes—exactly.

We will search for \( A^{-1} \) in the form:

\[ A^{-1}= \begin{pmatrix} B_{11} & B_{12}\\ B_{21} & B_{22} \end{pmatrix}, \]

where the blocks \( B_{ij} \) have the corresponding sizes (just like the blocks \( A_{ij} \)).

Next, we will use the definition of the inverse matrix. And then we will obtain a system of equations for these blocks.

Block Equation System: How the Definition of the Inverse Matrix Works

By the definition of an inverse matrix,

\[ A^{-1} \cdot A = E_n, \]

where \( E_n \) is the identity matrix of order \( n \).

Since we are working with blocks, it is also convenient to write the identity matrix in block form:

\[ E_n= \begin{pmatrix} E_r & 0\\ 0 & E_s \end{pmatrix}, \]

where \( E_r \) is the identity matrix of order \( r \), and \( E_s \) is the identity matrix of order \( s \).

Now multiply the block matrices:

\[ \begin{pmatrix} B_{11} & B_{12}\\ B_{21} & B_{22} \end{pmatrix} \cdot \begin{pmatrix} A_{11} & A_{12}\\ A_{21} & A_{22} \end{pmatrix} = \begin{pmatrix} E_r & 0\\ 0 & E_s \end{pmatrix}. \]

By matching the corresponding blocks, we get four matrix equations:

\[ \begin{cases} B_{11} \cdot A_{11} + B_{12} \cdot A_{21} = E_r,\\ B_{11} \cdot A_{12} + B_{12} \cdot A_{22} = 0,\\ B_{21} \cdot A_{11} + B_{22} \cdot A_{21} = 0,\\ B_{21} \cdot A_{12} + B_{22} \cdot A_{22} = E_s. \end{cases} \]

Here it helps to notice the structure:

  • The first two equations describe the “top row” of blocks \( B_{11}, B_{12} \).
  • The last two describe the “bottom row” of blocks \( B_{21}, B_{22} \).

So instead of one big problem, we now have a block system to solve. The next step is to turn this system into explicit formulas. To do that, we introduce the Schur complement.

Inverse of a Matrix via the Schur Complement: Deriving the Block Formulas

Now we move to the main part—how to turn the block system into explicit formulas. We will use the standard idea of the block method: assume that the block \( A_{11} \) is invertible, meaning \( A_{11}^{-1} \) exists. This is a natural condition for this kind of splitting the matrix into cells, and it often holds in practice.

Start with the two equations that describe the “top row”:

\[ \begin{cases} B_{11} \cdot A_{11} + B_{12} \cdot A_{21} = E_r,\\ B_{11} \cdot A_{12} + B_{12} \cdot A_{22} = 0. \end{cases} \]

To get a formula for \( B_{12} \), it is convenient to first express \( B_{11} \) in terms of \( B_{12} \). Multiply the first equation on the right by \( A_{11}^{-1} \):

\[ B_{11} + B_{12} \cdot A_{21} \cdot A_{11}^{-1} = A_{11}^{-1}, \]

so

\[ B_{11} = A_{11}^{-1} – B_{12} \cdot A_{21} \cdot A_{11}^{-1}. \]

Next, substitute this expression into the second equation of the system:

\[ \left(A_{11}^{-1} – B_{12} \cdot A_{21} \cdot A_{11}^{-1}\right) \cdot A_{12} + B_{12} \cdot A_{22}=0. \]

After expanding the brackets, we get

\[ A_{11}^{-1} \cdot A_{12} – B_{12} \cdot A_{21} \cdot A_{11}^{-1} \cdot A_{12} + B_{12} \cdot A_{22}=0, \]

and now we group the terms that contain \( B_{12} \):

\[ B_{12} \cdot \left(A_{22} – A_{21} \cdot A_{11}^{-1} \cdot A_{12}\right) = -A_{11}^{-1} \cdot A_{12}. \]

At this point, the key object appears—the Schur complement with respect to the block \( A_{11} \). Let us denote:

\[ S = A_{22} – A_{21} \cdot A_{11}^{-1} \cdot A_{12}. \]

If the matrix \( S \) is also invertible, meaning \( S^{-1} \) exists, then the previous equality becomes:

\[ B_{12} \cdot S = -A_{11}^{-1} \cdot A_{12}, \]

and we immediately obtain:

\[ B_{12} = -A_{11}^{-1} \cdot A_{12} \cdot S^{-1}. \]

Now return to the formula for \( B_{11} \) and substitute the block \( B_{12} \) we just found:

\[ B_{11} = A_{11}^{-1} – B_{12} \cdot A_{21} \cdot A_{11}^{-1} = A_{11}^{-1} + A_{11}^{-1} \cdot A_{12} \cdot S^{-1} \cdot A_{21} \cdot A_{11}^{-1}. \]

Similarly, using the two equations from the “bottom row” of the system, we get formulas for the remaining blocks:

\[ B_{21} = -S^{-1} \cdot A_{21} \cdot A_{11}^{-1}, \qquad B_{22} = S^{-1}. \]

So, if \( A_{11}^{-1} \) and \( S^{-1} \) exist, then the inverse matrix of \( A \) can be written in block form as:

\[ A^{-1} = \begin{pmatrix} A_{11}^{-1} + A_{11}^{-1} \cdot A_{12} \cdot S^{-1} \cdot A_{21} \cdot A_{11}^{-1} & -A_{11}^{-1} \cdot A_{12} \cdot S^{-1}\\ -S^{-1} \cdot A_{21} \cdot A_{11}^{-1} & S^{-1} \end{pmatrix}, \quad S = A_{22} – A_{21} \cdot A_{11}^{-1} \cdot A_{12}. \]

The idea here is very practical: instead of working with the whole matrix at once, we reduce the task to inverting the block \( A_{11} \) and the Schur complement \( S \). If these matrices are smaller, the computations are usually faster as well. That is exactly why the block (cell) method shows up so often in numerical methods problems.

Inverse of a Matrix in Action: Practicing the Block Method with Examples

To really feel how the block (cell) method works, let’s move to practice. Here the goal is not only to get an answer, but also to clearly see how the blocks and the Schur complement appear along the way. Ready to walk through it step by step?

Example 1. What steps do you need to follow to find an inverse matrix by the block method?

  1. Split the matrix \( A \) of order \( n \) into blocks so that \( r+s=n \):

\[ A= \begin{pmatrix} A_{11} & A_{12}\\ A_{21} & A_{22} \end{pmatrix}. \]

  1. Choose the splitting so that the block \( A_{11} \) is convenient to invert.
  2. Make sure the inverse \( A_{11}^{-1} \) exists, and compute it.
  3. Find the Schur complement

\[ S = A_{22} – A_{21} \cdot A_{11}^{-1} \cdot A_{12}. \]

In practice, this is done step by step: first multiply \( A_{11}^{-1} \) by \( A_{12} \), then multiply the result on the left by \( A_{21} \), and only after that subtract from \( A_{22} \).

  1. Make sure \( S^{-1} \) exists, and compute it.
  2. Compute the blocks of the inverse matrix:

\[ \begin{gathered} B_{12} = -A_{11}^{-1}\cdot A_{12}\cdot S^{-1},\qquad B_{21} = -S^{-1}\cdot A_{21}\cdot A_{11}^{-1},\qquad B_{22} = S^{-1},\\[6pt] B_{11} = A_{11}^{-1} + A_{11}^{-1}\cdot A_{12}\cdot S^{-1}\cdot A_{21}\cdot A_{11}^{-1}. \end{gathered} \]

  1. Assemble the result in the form:

\[ A^{-1}= \begin{pmatrix} B_{11} & B_{12}\\ B_{21} & B_{22} \end{pmatrix}. \]

Example 2. Find the inverse matrix using the block method

\[ A= \begin{pmatrix} 5 & -6 & 7 & 1\\ 7 & 10 & -9 & 8\\ 3 & 3 & 5 & 1\\ -10 & 2 & 3 & 4 \end{pmatrix}. \]

Let’s take the split \( r=s=2 \), so the block \( A_{11} \) is small and easy to invert:

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

where

\[ \begin{array}{ll} A_{11}=\begin{pmatrix} 5 & -6\\ 7 & 10 \end{pmatrix}, & A_{12}=\begin{pmatrix} 7 & 1\\ -9 & 8 \end{pmatrix}, \\[6pt] A_{21}=\begin{pmatrix} 3 & 3\\ -10 & 2 \end{pmatrix}, & A_{22}=\begin{pmatrix} 5 & 1\\ 3 & 4 \end{pmatrix}. \end{array} \]

First compute \( A_{11}^{-1} \):

\[ A_{11}^{-1}= \begin{pmatrix} 0.109 & 0.065\\ -0.076 & 0.054 \end{pmatrix}. \]

Now find the Schur complement:

\[ S = A_{22} – A_{21} \cdot A_{11}^{-1} \cdot A_{12}. \]

After performing the calculations, we obtain

\[ S= \begin{pmatrix} 7.543 & -1.967\\ 6.783 & 9.587 \end{pmatrix}, \qquad S^{-1}= \begin{pmatrix} 0.112 & 0.023\\ -0.079 & 0.088 \end{pmatrix}. \]

Next, move to the blocks of \( A^{-1} \). Using the block-method formulas, we have:

\[ \begin{gathered} B_{12} = -A_{11}^{-1}\cdot A_{12}\cdot S^{-1},\qquad B_{21} = -S^{-1}\cdot A_{21}\cdot A_{11}^{-1},\qquad B_{22} = S^{-1},\\[6pt] B_{11} = A_{11}^{-1} + A_{11}^{-1}\cdot A_{12}\cdot S^{-1}\cdot A_{21}\cdot A_{11}^{-1}. \end{gathered} \]

As a result, we get

\[ \begin{array}{ll} B_{11}=\begin{pmatrix} 0.032 & 0.022\\ -0.1 & -0.001 \end{pmatrix}, & B_{12}=\begin{pmatrix} 0.03 & -0.06\\ 0.143 & -0.008 \end{pmatrix}, \\[6pt] B_{21}=\begin{pmatrix} 0.018 & -0.028\\ 0.117 & 0.076 \end{pmatrix}, & B_{22}=\begin{pmatrix} 0.112 & 0.023\\ -0.079 & 0.088 \end{pmatrix}. \end{array} \]

Therefore,

\[ A^{-1}= \begin{pmatrix} 0.032 & 0.022 & 0.03 & -0.06\\ -0.1 & -0.001 & 0.143 & -0.008\\ 0.018 & -0.028 & 0.112 & 0.023\\ 0.117 & 0.076 & -0.079 & 0.088 \end{pmatrix}. \]

To check yourself, you can multiply \( A^{-1} \cdot A \) and make sure the result is close to the identity matrix.

Example 3. Find the inverse matrix using the block method

\[ A= \begin{pmatrix} 2 & 1 & 1 & 0 & 0\\ 1 & 2 & 0 & 1 & 0\\ 1 & 0 & 3 & 0 & 0\\ 0 & 1 & 0 & 3 & 0\\ 1 & 1 & 0 & 0 & 4 \end{pmatrix}. \]

Here it is convenient to take the split \( r=2 \), \( s=3 \), so the block \( A_{11} \) is small and easy to invert:

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

where

\[ \begin{array}{ll} A_{11}=\begin{pmatrix} 2 & 1\\ 1 & 2 \end{pmatrix}, & A_{12}=\begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0 \end{pmatrix}, \\[6pt] A_{21}=\begin{pmatrix} 1 & 0\\ 0 & 1\\ 1 & 1 \end{pmatrix}, & A_{22}=\begin{pmatrix} 3 & 0 & 0\\ 0 & 3 & 0\\ 0 & 0 & 4 \end{pmatrix}. \end{array} \]

First find \( A_{11}^{-1} \):

\[ A_{11}^{-1}= \begin{pmatrix} 0.667 & -0.333\\ -0.333 & 0.667 \end{pmatrix}. \]

Next compute the Schur complement:

\[ S = A_{22} – A_{21} \cdot A_{11}^{-1} \cdot A_{12}. \]

After the step-by-step transformations, we obtain

\[ S= \begin{pmatrix} 2.333 & 0.333 & 0\\ 0.333 & 2.333 & 0\\ -0.333 & -0.333 & 4 \end{pmatrix}, \qquad S^{-1}= \begin{pmatrix} 0.438 & -0.062 & 0\\ -0.062 & 0.438 & 0\\ 0.031 & 0.031 & 0.25 \end{pmatrix}. \]

Now move to the blocks of the inverse matrix. We use the standard block-method formulas:

\[ \begin{gathered} B_{12} = -A_{11}^{-1}\cdot A_{12}\cdot S^{-1},\qquad B_{21} = -S^{-1}\cdot A_{21}\cdot A_{11}^{-1},\qquad B_{22} = S^{-1},\\[6pt] B_{11} = A_{11}^{-1} + A_{11}^{-1}\cdot A_{12}\cdot S^{-1}\cdot A_{21}\cdot A_{11}^{-1}. \end{gathered} \]

As a result, we have

\[ \begin{array}{ll} B_{11}=\begin{pmatrix} 0.938 & -0.562 \\ -0.562 & 0.938 \end{pmatrix}, & B_{12}=\begin{pmatrix} -0.312 & 0.188 & 0 \\ 0.188 & -0.312 & 0 \end{pmatrix}, \\[6pt] B_{21}=\begin{pmatrix} -0.312 & 0.188 \\ 0.188 & -0.312 \\ -0.094 & -0.094 \end{pmatrix}, & B_{22}=\begin{pmatrix} 0.438 & -0.062 & 0 \\ -0.062 & 0.438 & 0 \\ 0.031 & 0.031 & 0.25 \end{pmatrix} \end{array} \]

Therefore,

\[ A^{-1}= \begin{pmatrix} 0.938 & -0.562 & -0.312 & 0.188 & 0\\ -0.562 & 0.938 & 0.188 & -0.312 & 0\\ -0.312 & 0.188 & 0.438 & -0.062 & 0\\ 0.188 & -0.312 & -0.062 & 0.438 & 0\\ -0.094 & -0.094 & 0.031 & 0.031 & 0.25 \end{pmatrix}. \]

Next Steps: Topics That Will Expand Your Toolkit

You have already seen how the block (cell) method organizes computations and helps you work with large matrices. So it’s a natural question: what should you learn next to solve different types of problems with more confidence? Here are three topics that smoothly continue this material.

  1. Inverse of a Matrix by the Bordering Method: How Adding Rows and Columns Leads to the Result — We will show the main idea of the bordering method and explain how, through step-by-step expansion, you can obtain an inverse matrix.
  2. Inverse of a Matrix Using the Coefficients of the Characteristic Polynomial: Another Way to Invert Without the Standard Schemes — We will discuss this approach and show how to find an inverse matrix through its connection with the characteristic polynomial.
  3. Pseudoinverse of a Matrix: How to Work with Rectangular and Singular Cases — We will explain what to do when the usual inverse is not defined, and how to compute the pseudoinverse in practice.

Inverse of a Matrix in Code: Turn the Flowchart into a Working Program

Now look at the flowchart below as a ready-made plan—one you can use to build your own mini tool. Isn’t it interesting to take your favorite programming language and write a small program that computes an inverse matrix exactly with the block method? A project like this quickly shows how clean mathematical ideas turn into clear, step-by-step logic in code—logic you can test on different examples and adapt to your own tasks.

A flowchart showing, step by step, how the block method computes the inverse of a matrix