Table and Matrix Size and the Speed of Computations

 

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

CHOL

Calculates the Cholesky factorization of a square matrix.

DET

Calculates the determinant of the matrix.

DIAG

Calculates the matrix diagonal

EIG

Calculates the Eigenvalues and Eigenvectors of a square matrix.

HESS

Calculates the Hessenberg form of the matrix.

INNERPROD

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

INVERSE

Produces the inverse of the matrix.

LU

Calculates the LU decomposition of a square matrix.

MDIV

Divides two matrices.

MMULT

Multiplies two matrices.

QR

Calculates the QR decomposition of a square or rectangular matrix.

SCHUR

Calculates the Schur form of a matrix.

SVD

Calculates the Singular Value Decomposition of a matrix.

USCHUR

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