up previous next
4.7.1 Introduction to Matrices
|
An m x n matrix is represented in CoCoA by the list of its rows
Mat(R_1,...,R_m)
where each
R_i is of type
LIST and has length n. A matrix has type
MAT. The (A,B)-th entry of a matrix M is given by
M[A][B] or
M[A,B].
Use R ::= QQ[x,y,z];
M := Mat([[x,y,xy^2],[y,z^2,2+x]]);
M;
Mat([
[x, y, xy^2],
[y, z^2, x + 2]
])
-------------------------------
M[1][3];
xy^2
-------------------------------
M[1,3];
xy^2
-------------------------------
|
The following operations are defined as one would expect for matrices
M^A, +M, -N, M+N, M-N, M*N, F*M, M*F
where M, N are matrices, A is a non-negative integer, and F is a
polynomial or rational function, with the obvious restrictions on the
dimensions of the matrices involved.
Use R ::= QQ[x,y];
N := Mat([[1,2],[3,4]]);
N^2;
Mat([
[7, 10],
[15, 22]
])
-------------------------------
x/y * N;
Mat([
[x/y, 2x/y],
[3x/y, 4x/y]
])
-------------------------------
N + Mat([[x,x],[y,y]]);
Mat([
[x + 1, x + 2],
[y + 3, y + 4]
])
-------------------------------
|