A block matrix, also known as a partition matrix, is a matrix whose elements have been partitioned into separate matrices. For example (**C**haracters in **b**old are **m**atrices):

|0 2 3 3 3| **A** = |0 2|
|2 0 3 3 3| |2 0|
|1 1 4 0 0| can be rewritten as the block matrix |**A B**|, where
|1 1 0 4 0| |**C D**| **B** = |3 3 3|
|1 1 0 0 4| |3 3 3|
**C** = |1 1|
|1 1|
|1 1|
**D** = |4 0 0|
|0 4 0|
|0 0 4|

A block diagonal matrix or diagonal block matrix is a block matrix where each matrix that is on the main diagonal is square and all of the matrices that are not on the main diagonal are zero matrices. For example:

|2 1 0 0 0 0| _{ } _{ } |2 1 0|
|0 2 1 0 0 0| |**A**_{1} **0 0**| **A**_{1} = |0 2 1|
|0 0 2 0 0 0| is also |**0 A**_{2} **0**| where _{ } |0 0 2|
|0 0 0 5 0 0| |**0 0 A**_{3}|
|0 0 0 0 4 1| _{ } **A**_{2} = |5|
|0 0 0 0 0 4|
_{ } **A**_{3} = |4 1|
_{ } _{ } |0 4|

Block matrices are useful for organizing large quantities of data into a form that is easily manipulated and understood. The previous example was a matrix of Jordan form, which is useful computationally, but there are many other applications as well. Whenever it is necessary to perform linear mappings with groups of basis vectors, this is the most conceptually simple way to do it. Block matrices also have some very nice properties. For example, block matrix multiplication is identical to normal matrix multiplication (we assume here that the corresponding block matrices have the same shapes and that the matrices along the diagonal are square):

|**A**_{1} **B**_{1}||**A**_{2} **B**_{2}| = |**A**_{1}**A**_{2}+**B**_{1}**C**_{2} **A**_{1}**B**_{2}+**B**_{1}**D**_{2}|
|**C**_{1} **D**_{1}||**C**_{2} **D**_{2}| |**C**_{1}**A**_{2}+**D**_{1}**C**_{2} **C**_{1}**B**_{2}+**D**_{1}**D**_{2}|

Block matrices can also be decomposed and inverted for dramatic effect. Bam!

|**A B**| = | **I**^{ } 0||**A **^{ }0 ||**I** **A**^{-1}**B**|
|**C D**| |**CA**^{-1} **I**||**0 D-CA**^{-1}**B**|| **0**^{ } I |

The matrix **D-CA**^{-1}**B** is called the Schur complement of **A**, denoted **S**_{A}. Alternatively, the matrix can be decomposed using the Schur complement of **D** (**A-BD**^{-1}**C**), which will be left as an exercise for the reader. These processes assume that **A** and **D**, respectively, are invertible.

Given |**A B**| = | **I**^{ } 0||**A **^{ }0||**I** **A**^{-1}**B**|,
|**C D**| |**CA**^{-1} **I**||**0 S**_{A}|| **0**^{ } I |
|**A B**|-1 = |**I** -**A**^{-1}**B**||**A**^{-1}** 0** || **I**^{ } 0|
|**C D**| |**0**^{ } I ||**0 S**_{A}^{-1}||-**CA**^{-1} **I**|
= |**A**^{-1}+**A**^{-1}**BS**_{A}^{-1}**CA**^{-1} -**A**^{-1}**BS**_{A}^{-1}|
| -**S**_{A}^{-1}**CA**^{-1} **S**_{A}^{-1} |

Sources:

Eric W. Weisstein et al. "Block Matrix." From MathWorld--A Wolfram Web Resource.

http://mathworld.wolfram.com/BlockMatrix.html

http://en.wikipedia.org/wiki/Block_structure

http://www-ccrma.stanford.edu/~jos/lattice/Block_matrix_decompositions.html