
On Jul 6, 2004, at 6:51 AM, Deane Yang wrote:
But could Jeremy or David provide some examples of useful applications of such an object? They are immensely useful in pure mathematics; I would love to know how they arise in more practical areas.
In reply, John Fuller wrote:
An example use of a block diagonal matrix is when you apply decomposition to model decentralized planning. Each of the independent subsystems can be represented as a matrix on the diagonal...
and David Abrahams wrote:
They're used in numerical simulations in the frequency domain (http://www.cercom.polito.it/Publication/Pdf/28.pdf), and they form the basis for the validity of many blocked matrix operations. The fact that you can view it as an optimization or an operation on a matrix of matrices should mean that you can achieve better code reuse in the library.
This is fascinating and somewhat unexpected (at least to me). In other words, there are two different types of matrices of matrices. The two examples above refer to the type, where you have a linear transformation between two direct sums of vector spaces. My message referred to a linear tranformation between two spaces of linear transformations (or more generally, tensor spaces). In the former case, elements of the matrix (of matrices) can have different dimensions. In the latter, every element is a matrix of the same dimension.