This is machine translation

Translated by Microsoft


Category of matrices






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).



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



is set to R.


expand all

Basic Methods

_index(A, i, j)


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


_plus(A1, A2, …)

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

_subtract(A, B)

equal(A, B)


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


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.


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)

Was this topic helpful?