Home Online Manual
Back: matrix
Forward: matrix expressions
FastBack: map
FastForward: module
Up: matrix
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

4.12.1 matrix declarations

matrix name[rows][cols] = list_of_poly_expressions ;
matrix name = matrix_expression ;

defines a matrix (of polynomials).

The given poly_list fills up the matrix beginning with the first row from the left to the right, then the second row and so on. If the poly_list contains less than rows*cols elements, the matrix is filled up with zeros; if it contains more elements, then only the first rows*cols elements are used. If the right-hand side is a matrix expression the matrix on the left-hand side gets the same size as the right-hand side, otherwise the size is determined by the left-hand side. If the size is omitted a 1x1 matrix is created.

0 (1 x 1 matrix)

  int ro = 3;
  ring r = 32003,(x,y,z),dp;
  poly f=xyz;
  poly g=z*f;
  ideal i=f,g,g^2;
  matrix m[ro][3] = x3y4, 0, i, f ; // a 3 x 3 matrix
==> m[1,1]=x3y4
==> m[1,2]=0
==> m[1,3]=xyz
==> m[2,1]=xyz2
==> m[2,2]=x2y2z4
==> m[2,3]=xyz
==> m[3,1]=0
==> m[3,2]=0
==> m[3,3]=0
==> x3y4,0,     xyz,
==> xyz2,x2y2z4,xyz,
==> 0,   0,     0   
  matrix A;   // the 1 x 1 zero matrix
  matrix B[2][2] = m[1..2, 2..3]; //defines a submatrix
==> 0,     xyz,
==> x2y2z4,xyz 
  matrix C=m; // defines C as a 3 x 3 matrix equal to m
==> x3y4,0,     xyz,
==> xyz2,x2y2z4,xyz,
==> 0,   0,     0