deteminant(non-matrix)



I propose making the following changes to determinant:

   if constantp(p), then determinant(p) --> p,
   if not(matrixp(p)), then determinant(p) --> determinant(p)
   else determinant(p) --> it's a matrix, do the math.

This change would allow me to make linalg more block matrix
friendly (I think). Currently, determinant does this:

(%i1) determinant(a);
(%o1) determinant(a)           <--- noun form; OK

(%i2) determinant(a+b);        <--- error; why not a noun form?
Not matrix:
b+a
 -- an error.  Quitting.  To debug this try DEBUGMODE(TRUE);

(%i3) determinant(5);
(%o3) determinant(5)           <--- noun form; why not 5?

(%i4) determinant(a[1]);       <--- error; why not a noun form?
Not matrix:
a[1]
 -- an error.  Quitting.  To debug this try DEBUGMODE(TRUE);
(%i5)

Barton