# SuperMatrix -- Makes a super matrix from its four blocks.

## Synopsis

• Usage:
G = superMatrixGenerator(M1, M2, M3, M4)
• Inputs:
• M1, ,
• M2, ,
• M3, ,
• M4, ,
• Outputs:

## Description

Let $M_1, M_2, M_3, M_4$ be four matrices. The number of rows in $M_1$ and $M_2$, and those of $M_3$ and $M_4$ should be equal. Also, the number of columns of $M_1$ and $M_3$, and those of M_2 and M_4 must be equal.

The idea is to define a (super) Matrix, which can be considered as $p|q\times r|s$ matrix. This super Matrix can be a morphism between super modules $A^{p|q}$ and $A^{r|s}$ over super algebra $A$.

The function uses four matrices M_1 and M_2, and also M_3 and M_4 as four blocks of a new matrix, say $\begin{pmatrix} M1&M2\\ M3&M4\end{pmatrix}$.

The key supermatrix shows the result matrix created as above.

 i1 : M1 = matrix {{1, 2}, {5, 6}, {9, 10}} o1 = | 1 2 | | 5 6 | | 9 10 | 3 2 o1 : Matrix ZZ <--- ZZ i2 : M2 = matrix {{3, 4}, {7, 8}, {11, 12}} o2 = | 3 4 | | 7 8 | | 11 12 | 3 2 o2 : Matrix ZZ <--- ZZ i3 : M3 = matrix {{13, 14}, {17, 18}} o3 = | 13 14 | | 17 18 | 2 2 o3 : Matrix ZZ <--- ZZ i4 : M4 = matrix {{15, 16}, {19, 20}} o4 = | 15 16 | | 19 20 | 2 2 o4 : Matrix ZZ <--- ZZ i5 : G = superMatrixGenerator(M1, M2, M3, M4) o5 = SuperMatrix{...1...} o5 : SuperMatrix i6 : G.supermatrix o6 = | 1 2 3 4 | | 5 6 7 8 | | 9 10 11 12 | | 13 14 15 16 | | 17 18 19 20 | 5 4 o6 : Matrix ZZ <--- ZZ

## Methods that use an object of class SuperMatrix :

• "berezinian(SuperMatrix,Ring)" -- see berezinian -- Computes the berezinian of a supermatrix.
• "inverseSuperMatrix(SuperMatrix,Ring)" -- see inverseSuperMatrix -- The inverse of a super matrix.
• "superMatrixParity(SuperMatrix,Ring,List)" -- see superMatrixParity -- parity of a super Matrix.
• "superTrace(SuperMatrix,Ring,List)" -- see superTrace -- Super trace of a homogeneous super matrix.

## For the programmer

The object SuperMatrix is a type, with ancestor classes MutableHashTable < HashTable < Thing.