### 4.12.4 matrix operations

`+`
addition with matrix or poly; the polynomial is converted into a diagonal matrix

`-`
negation or subtraction with matrix or poly (the first operand is expected to be a matrix); the polynomial is converted into a diagonal matrix

`*`
multiplication with matrix or poly; the polynomial is converted into a diagonal matrix

`/`
division by poly

`==`, `<>`, `!=`
comparators

matrix_expression `[` int_expression`,` int_expression `]`
is a matrix entry, where the first index indicates the row and the second the column

Example:
 ``` ring r=32003,x,dp; matrix A = 1,3,2,5,0,3,2,4,5; // define a matrix print(A); // nice printing of small matrices ==> 1,3,2, ==> 5,0,3, ==> 2,4,5 A[2,3]; // matrix entry ==> 3 A[2,3] = A[2,3] + 1; // change entry A[2,1..3] = 1,2,3; // change 2nd row print(A); ==> 1,3,2, ==> 1,2,3, ==> 2,4,5 matrix E; E = E + 1; // the unit matrix matrix B =x*E - A; print(B); ==> x-1,-3, -2, ==> -1, x-2,-3, ==> -2, -4, x-5 // the same (but x-A does not work): B = -A+x; print(B); ==> x-1,-3, -2, ==> -1, x-2,-3, ==> -2, -4, x-5 det(B); // the characteristic polynomial of A ==> x3-8x2-2x-1 A*A*A - 8 * A*A - 2*A == E; // Cayley-Hamilton ==> 1 vector v =[x,-1,x2]; A*v; // multiplication of matrix and vector ==> _[1,1]=2x2+x-3 ==> _[2,1]=3x2+x-2 ==> _[3,1]=5x2+2x-4 matrix m=1,2,3; print(m-transpose(m)); ==> 0,-1, ==> 1,0 ```

User manual for Singular version 4.3.1, 2022, generated by texi2html.