CoCoA:BlockMatrix

From ApCoCoAWiki

BlockMatrix

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 <verbatim>

               | A B 0 |
               | C 0 D |.

</verbatim> 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]
])
-------------------------------

Syntax

BlockMatrix(L:LIST):MAT

where L is a list representing a block matrix.

MatConcatHor

MatConcatVer

DiagonalMat

   <type>list</type>
   <type>matrix</type>