# Difference between revisions of "Block matrix"

{{ safesubst:#invoke:Unsubst||$N=Refimprove |date=__DATE__ |$B= {{#invoke:Message box|ambox}} }} In the mathematical discipline of matrix theory, a block matrix or a partitioned matrix is a matrix broken into sections called blocks. Looking at it another way, the matrix is written in terms of smaller matrices.[1] We group the rows and columns into adjacent 'bunches'. A partition is the rectangle described by one bunch of adjacent rows and one bunch of adjacent columns. Rows and columns must be formed consistently: the matrix is split into blocks by horizontal and vertical lines, which must cut the matrix completely in the given direction.

The block matrix may also have an inverse.

## Example

A 168×168 element block matrix with 12×12, 12×24, and 24×24 sub-Matrices. Non-zero elements are in blue, zero elements are grayed.

The matrix

${\displaystyle \mathbf {P} ={\begin{bmatrix}1&1&2&2\\1&1&2&2\\3&3&4&4\\3&3&4&4\end{bmatrix}}}$

can be partitioned into 4 2×2 blocks

${\displaystyle \mathbf {P} _{11}={\begin{bmatrix}1&1\\1&1\end{bmatrix}},\mathbf {P} _{12}={\begin{bmatrix}2&2\\2&2\end{bmatrix}},\mathbf {P} _{21}={\begin{bmatrix}3&3\\3&3\end{bmatrix}},\mathbf {P} _{22}={\begin{bmatrix}4&4\\4&4\end{bmatrix}}.}$

The partitioned matrix can then be written as

${\displaystyle {\mathbf {P} }={\begin{bmatrix}{\mathbf {P} }_{11}&{\mathbf {P} }_{12}\\{\mathbf {P} }_{21}&{\mathbf {P} }_{22}\end{bmatrix}}.}$

## Block matrix multiplication

A block partitioned matrix product can be formed involving operations only on the submatrices. Given an ${\displaystyle (m\times p)}$ matrix ${\displaystyle \mathbf {A} }$ with ${\displaystyle q}$ row partitions and ${\displaystyle s}$ column partitions

${\displaystyle \mathbf {A} ={\begin{bmatrix}\mathbf {A} _{11}&\mathbf {A} _{12}&\cdots &\mathbf {A} _{1s}\\\mathbf {A} _{21}&\mathbf {A} _{22}&\cdots &\mathbf {A} _{2s}\\\vdots &\vdots &\ddots &\vdots \\\mathbf {A} _{q1}&\mathbf {A} _{q2}&\cdots &\mathbf {A} _{qs}\end{bmatrix}}}$
${\displaystyle \mathbf {B} ={\begin{bmatrix}\mathbf {B} _{11}&\mathbf {B} _{12}&\cdots &\mathbf {B} _{1r}\\\mathbf {B} _{21}&\mathbf {B} _{22}&\cdots &\mathbf {B} _{2r}\\\vdots &\vdots &\ddots &\vdots \\\mathbf {B} _{s1}&\mathbf {B} _{s2}&\cdots &\mathbf {B} _{sr}\end{bmatrix}},}$

the matrix product

${\displaystyle \mathbf {C} =\mathbf {A} \mathbf {B} }$

can be formed blockwise, yielding ${\displaystyle \mathbf {C} }$ as an ${\displaystyle (m\times n)}$ matrix with ${\displaystyle q}$ row partitions and ${\displaystyle r}$ column partitions. The matrices in your matrix ${\displaystyle \mathbf {C} }$ are calculated by multiplying while you multiply:

${\displaystyle \mathbf {C} _{\alpha \beta }=\sum _{\gamma =1}^{s}\mathbf {A} _{\alpha \gamma }\mathbf {B} _{\gamma \beta }.}$

Or, using the Einstein notation that implicitly sums over repeated indices:

${\displaystyle \mathbf {C} _{\alpha \beta }=\mathbf {A} _{\alpha \gamma }\mathbf {B} _{\gamma \beta }.}$

## Block diagonal matrices {{safesubst:#invoke:anchor|main}}

A block diagonal matrix is a block matrix which is a square matrix, and having main diagonal blocks square matrices, such that the off-diagonal blocks are zero matrices. A block diagonal matrix A has the form

${\displaystyle \mathbf {A} ={\begin{bmatrix}\mathbf {A} _{1}&0&\cdots &0\\0&\mathbf {A} _{2}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &\mathbf {A} _{n}\end{bmatrix}}}$

where Ak is a square matrix; in other words, it is the direct sum of A1, …, An. It can also be indicated as A1 ${\displaystyle \oplus }$ A2 ${\displaystyle \oplus \,\ldots \,\oplus }$ An  or  diag(A1, A2,${\displaystyle \ldots }$, An)  (the latter being the same formalism used for a diagonal matrix). Any square matrix can trivially be considered a block diagonal matrix with only one block.

For the determinant and trace, the following properties hold

${\displaystyle \operatorname {det} \mathbf {A} =\operatorname {det} \mathbf {A} _{1}\cdot \ldots \cdot \operatorname {det} \mathbf {A} _{n}}$,
${\displaystyle \operatorname {trace} \mathbf {A} =\operatorname {trace} \mathbf {A} _{1}+\cdots +\operatorname {trace} \mathbf {A} _{n}.}$

The inverse of a block diagonal matrix is another block diagonal matrix, composed of the inverse of each block, as follow :

${\displaystyle {\begin{pmatrix}\mathbf {A} _{1}&0&\cdots &0\\0&\mathbf {A} _{2}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &\mathbf {A} _{n}\end{pmatrix}}^{-1}={\begin{pmatrix}\mathbf {A} _{1}^{-1}&0&\cdots &0\\0&\mathbf {A} _{2}^{-1}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &\mathbf {A} _{n}^{-1}\end{pmatrix}}.}$

The eigenvalues and eigenvectors of ${\displaystyle A}$ are simply those of ${\displaystyle A_{1}}$ and ${\displaystyle A_{2}}$ and ... and ${\displaystyle A_{n}}$ (combined).

## Block tridiagonal matrices

A block tridiagonal matrix is another special block matrix, which is just like the block diagonal matrix a square matrix, having square matrices (blocks) in the lower diagonal, main diagonal and upper diagonal, with all other blocks being zero matrices. It is essentially a tridiagonal matrix but has submatrices in places of scalars. A block tridiagonal matrix A has the form

${\displaystyle \mathbf {A} ={\begin{bmatrix}\mathbf {B} _{1}&\mathbf {C} _{1}&&&\cdots &&0\\\mathbf {A} _{2}&\mathbf {B} _{2}&\mathbf {C} _{2}&&&&\\&\ddots &\ddots &\ddots &&&\vdots \\&&\mathbf {A} _{k}&\mathbf {B} _{k}&\mathbf {C} _{k}&&\\\vdots &&&\ddots &\ddots &\ddots &\\&&&&\mathbf {A} _{n-1}&\mathbf {B} _{n-1}&\mathbf {C} _{n-1}\\0&&\cdots &&&\mathbf {A} _{n}&\mathbf {B} _{n}\end{bmatrix}}}$

where Ak, Bk and Ck are square sub-matrices of the lower, main and upper diagonal respectively.

Block tridiagonal matrices are often encountered in numerical solutions of engineering problems (e.g., computational fluid dynamics). Optimized numerical methods for LU factorization are available and hence efficient solution algorithms for equation systems with a block tridiagonal matrix as coefficient matrix. The Thomas algorithm, used for efficient solution of equation systems involving a tridiagonal matrix can also be applied using matrix operations to block tridiagonal matrices (see also Block LU decomposition).

## Block Toeplitz matrices

A block Toeplitz matrix is another special block matrix, which contains blocks that are repeated down the diagonals of the matrix, as a Toeplitz matrix has elements repeated down the diagonal.

A block Toeplitz matrix A has the form

${\displaystyle \mathbf {A} ={\begin{bmatrix}\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}&&&\cdots &\mathbf {A} _{(1,n-1)}&\mathbf {A} _{(1,n)}\\\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}&&&&\mathbf {A} _{(1,n-1)}\\&\ddots &\ddots &\ddots &&&\vdots \\&&\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}&&\\\vdots &&&\ddots &\ddots &\ddots &\\\mathbf {A} _{(n-1,1)}&&&&\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}\\\mathbf {A} _{(n,1)}&\mathbf {A} _{(n-1,1)}&\cdots &&&\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}\end{bmatrix}}.}$

## Direct sum

For any arbitrary matrices A (of size m × n) and B (of size p × q), we have the direct sum of A and B, denoted by A ${\displaystyle \oplus }$ B and defined as

${\displaystyle \mathbf {A} \oplus \mathbf {B} ={\begin{bmatrix}a_{11}&\cdots &a_{1n}&0&\cdots &0\\\vdots &\cdots &\vdots &\vdots &\cdots &\vdots \\a_{m1}&\cdots &a_{mn}&0&\cdots &0\\0&\cdots &0&b_{11}&\cdots &b_{1q}\\\vdots &\cdots &\vdots &\vdots &\cdots &\vdots \\0&\cdots &0&b_{p1}&\cdots &b_{pq}\end{bmatrix}}.}$

For instance,

${\displaystyle {\begin{bmatrix}1&3&2\\2&3&1\end{bmatrix}}\oplus {\begin{bmatrix}1&6\\0&1\end{bmatrix}}={\begin{bmatrix}1&3&2&0&0\\2&3&1&0&0\\0&0&0&1&6\\0&0&0&0&1\end{bmatrix}}.}$

This operation generalizes naturally to arbitrary dimensioned arrays (provided that A and B have the same number of dimensions).

Note that any element in the direct sum of two vector spaces of matrices could be represented as a direct sum of two matrices.

## Application

In linear algebra terms, the use of a block matrix corresponds to having a linear mapping thought of in terms of corresponding 'bunches' of basis vectors. That again matches the idea of having distinguished direct sum decompositions of the domain and range. It is always particularly significant if a block is the zero matrix; that carries the information that a summand maps into a sub-sum.

Given the interpretation via linear mappings and direct sums, there is a special type of block matrix that occurs for square matrices (the case m = n). For those we can assume an interpretation as an endomorphism of an n-dimensional space V; the block structure in which the bunching of rows and columns is the same is of importance because it corresponds to having a single direct sum decomposition on V (rather than two). In that case, for example, the diagonal blocks in the obvious sense are all square. This type of structure is required to describe the Jordan normal form.

This technique is used to cut down calculations of matrices, column-row expansions, and many computer science applications, including VLSI chip design. An example is the Strassen algorithm for fast matrix multiplication, as well as the Hamming(7,4) encoding for error detection and recovery in data transmissions.