4.9.1 matrix declarations
-------------------------

Syntax:
matrix name[rows][cols] = list_of_poly_expressions ;

matrix name = matrix_expression ;

Purpose:
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.

Default:
0 (1 x 1 matrix)

Example:
  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;
==> 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
  print(m);
==> 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
  print(B);
==> 0,     xyz,
==> x2y2z4,xyz 
  matrix C=m; // defines C as a 3 x 3 matrix equal to m
  print(C);
==> x3y4,0,     xyz,
==> xyz2,x2y2z4,xyz,
==> 0,   0,     0   

<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
