genmatrix question



> You can use the array
> For example:
Thanks, it is  possible, but i need to calculate the determinant, the 
inverse matrix and so on. I found  the better solution, for example:


(%i1) genmatrix(a,1,1,0,0);
                                [ a      a     ]
                                [  0, 0   0, 1 ]
(%o1)                          [              ]
                                [ a      a     ]
                                [  1, 0   1, 1 ]
(%i2) a[0,0]:x;a[0,1]:y;a[1,0]:z;a[1,1]:t;
(%o2)                                  x
(%o3)                                  y
(%o4)                                  z
(%o5)                                  t
(%i6) a:%o1;
                                [ a      a     ]
                                [  0, 0   0, 1 ]
(%o6)                          [              ]
                                [ a      a     ]
                                [  1, 0   1, 1 ]
(%i7) a:''a;
                                    [ x  y ]
(%o7)                              [      ]
                                    [ z  t ]
(%i8) determinant(a);
(%o8)                              t x - y z
(%i9) a[0,0];
(%o9)                                  x
(%i10)

But, if one changes the order of assignments, maxima gives an error:
(%i1) genmatrix(a,1,1,0,0);
                                [ a      a     ]
                                [  0, 0   0, 1 ]
(%o1)                          [              ]
                                [ a      a     ]
                                [  1, 0   1, 1 ]
(%i2) a:%o1;
                                [ a      a     ]
                                [  0, 0   0, 1 ]
(%o2)                          [              ]
                                [ a      a     ]
                                [  1, 0   1, 1 ]
(%i3) a[0,0]:x;a[0,1]:y;a[1,0]:z;a[1,1]:t;
setelmx: no such element [0, 0]
  -- an error. To debug this try: debugmode(true);
setelmx: no such element [0, 1]
  -- an error. To debug this try: debugmode(true);
setelmx: no such element [1, 0]
  -- an error. To debug this try: debugmode(true);
(%o6)

It is odd behaviour, may be it is bug?