In DADiSP, tables are organized into columns. A column of data always has some "overhead" associated with it. The number of columns is limited at some point by the amount of memory available on your computer. Data rows, on the other hand, use only the space of the data itself, which is swapped to disk automatically as it grows.
Consider a table of ten thousand columns of ten rows each. Operating on this table (taking its square root, for example) is relatively slow and might be precluded by memory limitations. Operating on its transpose, which involves only ten columns, is significantly faster and takes advantage of disk resources rather than causing memory shortages. Use the SETBUFSIZE function to set the size of the number buffer and better utilize memory.
The following is a partial table of DADiSP functions provided explicitly for matrices. For more details, please refer to the DADiSP Function Reference Manual.
Function 
Description 
Calculates the Cholesky factorization of a square matrix. 

Calculates the determinant of the matrix. 

Calculates the matrix diagonal 

Calculates the Eigenvalues and Eigenvectors of a square matrix. 

Calculates the Hessenberg form of the matrix. 

Calculates the matrix inner (or "dot") product. 

Produces the inverse of the matrix. 

Calculates the LU decomposition of a square matrix. 

Divides two matrices. 

Multiplies two matrices. 

Calculates the QR decomposition of a square or rectangular matrix. 

Calculates the Schur form of a matrix. 

Calculates the Singular Value Decomposition of a matrix. 

Calculates the Schur form of a matrix to produce a unitary matrix. 