Array functions

Let M be an array, i be a numeric expression below.

LBOUND(M,i) The lower bound of the i-th dimension.
UBOUND(M,i) The upper bound of the i-th dimension.
SIZE(M,i) The number of the i-th subscripts.
SIZE(M) The number of current elements.
MAXSIZE(M) The upper limit of the number of elements.

Example 1.
DIM A(8,9)
yields
lbound(A,1)=1, lbound(a,2)=1, ubound(a,1)=8, ubound(a,2)=9
size(A,1)=8, size(A,2)=9, size(A)=72, maxsize(A)=72
if no OPTION BASE exists.

Example 2.

10 DIM a(10)
20 MAT a=ZER(5)

yields SIZE(a)=5,MAXSIZE(a)=10.
if no OPTION BASE exists.

If M is 1-dimensional, the following abbreviations are allowed.
LBOUND(M) The lower bound of the subscript of M.
UBOUND(M) The upper bound of the subscript of M.


DET-function
Let M be a 2-dimensional array.
DET(A) The determinant of A
If A is not square, an exception shall be caused on execution.

DOT-function
Let A,B be 1-dimensional arrays
DOT(A,B) The dot (inner) product of A and B.
If the size of A and B are different, an exception shall be caused on execution.