previous  next
BlockMatrix
Syntax
BlockMatrix(L:LIST):MAT

where L is a list representing a block matrix.
Summary
create a block matrix
Description
This function creates a block matrix.  Each entry of the input list L
has the form [M_1,...,M_k] where each M_i is either: (i) a matrix (or
list cast-able to a matrix) or (ii) the number 0, representing a zero
matrix of arbitrary size.  The entry represents a row of a block
matrix.  For instance, if A, B, C, and D are matrices, then
BlockMatrix([A,B,0],[C,0,D]] will return a matrix of the form

		| A B 0 |
		| C 0 D |.

The obvious restrictions on the sizes of the matrices apply.  In the
above example, we would need the number of rows in A and B to be the
same.  Similarly for C and D.  The number of columns in A and C would
need to be the same. 

Example

A := [[1,2,3],[4,5,6]];
B := [[1,2],[3,4]];
C := [[1,1,1],[2,2,2],[3,3,3]];
D := [[4,4],[5,5],[6,6]];
BlockMatrix([[A,B,0],[C,0,D]]);
Mat[
  [1, 2, 3, 1, 2, 0, 0],
  [4, 5, 6, 3, 4, 0, 0],
  [1, 1, 1, 0, 0, 4, 4],
  [2, 2, 2, 0, 0, 5, 5],
  [3, 3, 3, 0, 0, 6, 6]
]
-------------------------------