# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# `Cat`::`Matrix`

Category of matrices

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

## Syntax

```Cat::Matrix(`R`)
```

## Description

`Cat::Matrix(R)` represents the category of matrices over the rng `R`.

A `Cat::Matrix(R)` is a matrix of arbitrary dimension over a component ring `R`.

In the following description of the methods, we use the following notations for a matrix A from a domain of category `Cat::Matrix(R)`:

nrows(A) denotes the number of rows and ncols(A) the number of columns of A.

Further on, a row index is an integer ranges from 1 to nrows(A), and a column index is an integer ranges from 1 to ncols(A).

## Categories

`Cat::BaseCategory`

## Parameters

 `R` A domain which must be from the category `Cat::Rng` (a ring without unit).

## Entries

 "coeffRing" is set to `R`.

## Methods

expand all

#### Basic Methods

`_index(A, i, j)`

`matdim(A)`

`new(m, n)`

Of course, this method may implement further possibilites to create matrices (for example, see the method `"new"` of the domain constructor `Dom::Matrix`).

`set_index(A, i, j, x)`

#### Mathematical Methods

`_negate(A)`

```_plus(A1, A2, …)```

The matrices must be of the same domain type, otherwise `FAIL` is returned.

`_subtract(A, B)`

`equal(A, B)`

`identity(n)`

It only exists if `R` is of category `Cat::Ring`, i.e., a ring with unit.

`iszero(A)`

Note that there may be more than one representation of the zero matrix of a given dimension if `R` does not have the axiom `Ax::canonicalRep`.

`transpose(A)`

#### Access Methods

`col(A, c)`

`concatMatrix(A, B)`

An error message is issued if the two matrices do not have the same number of rows.

`delCol(A, c)`

If `A` only consists of one column then `NIL` is returned.

`delRow(A, r)`

If `A` only consists of one row then `NIL` is returned.

`row(A, r)`

`setCol(A, c, v)`

`setRow(A, r, v)`

`stackMatrix(A, B)`

An error message is issued if the two matrices do not have the same number of columns.

`swapCol(A, c1, c2)`

`swapRow(A, r1, r2)`