# linalg::stackMatrix

Join matrices vertically

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```linalg::stackMatrix(`A`, <`B1, B2, …`>)
```

## Description

```linalg::stackMatrix(A, B1, B2, ...)``` returns the matrix formed by joining the matrices ```A, B1, B2, ...``` vertically.

The matrices ```B1, B2, ...``` are converted into the matrix domain `Dom::Matrix(R)`, where `R` is the component ring of `A`.

An error message is raised if one of these conversions fails, or if the matrices do not have the same number of columns as the matrix `A`.

## Examples

### Example 1

We define a matrix:

`A:= matrix( [[sin(x),x], [-x,cos(x)]] )`

and append the 2×2 identity matrix to the lower end of the matrix `A`:

`linalg::stackMatrix(A, matrix::identity(2))`

### Example 2

We define a matrix from the ring of 2×2 square matrices:

```SqMatQ := Dom::SquareMatrix(2,Dom::Rational): A := SqMatQ([[1, 2], [3, 4]])```

Note that the following operation:

`AA := linalg::stackMatrix(A, A)`

returns a matrix of a different domain type as the input matrix:

`domtype(AA)`

## Parameters

 ```A, ``` Matrices of a domain of category `Cat::Matrix`

## Return Values

Matrix of the domain type `Dom::Matrix``(R)`, where `R` is the component ring of `A`.