A MatrixMap is a form of Mapping which performs a general linear transformation. Each set of input coordinates, regarded as a column-vector, are pre-multiplied by a matrix (whose elements are specified when the MatrixMap is created) to give a new column-vector containing the output coordinates. If appropriate, the inverse transformation may also be performed.
A value of zero indicates that a full "nout" x "nin" matrix of values will be supplied via the "matrix" parameter (below). In this case, the elements should be given in row order (the elements of the first row, followed by the elements of the second row, etc.).
A value of 1 indicates that only the diagonal elements of the matrix will be supplied, and that all others should be zero. In this case, the elements of "matrix" should contain only the diagonal elements, stored consecutively.
A value of 2 indicates that a "unit" matrix is required, whose diagonal elements are set to unity (with all other elements zero). In this case, the "matrix" parameter is ignored and a NULL pointer may be supplied.
AST A Library for Handling World Coordinate Systems in Astronomy