MATLIB -- MATRIX / VECTOR ROUTINES MATLIB is a collection of utility matrix and vector routines written in the PDP 11 assembly language MACRO-11. The library contains both single and double precision versions of each routine. All routines are reentrant so the library can be resident. NAMING CONVENTION The naming convention is as follows: matrix routines - start with letter M vector routines - start with letter V (there are some oddball routines such as DOT, CROSS, etc.) For 3-vectors and 3X3 matrices, a 3 is added after the letter M/V. For submatrices, the letter P is added after the letter M/V. For double precision, the letter D is addended to the name. e.g. matrix multiplication MMUL - full matrix multiplication M3MUL - 3X3 matrix multiplication MPMUL - submatix multiplication MMULD/M3MULD/MPMULD - double precision PRECISION For single precision routines, all real arguments must be REAL*4 and for double precision REAL*8. All integer arguments are INTEGER*2. INCORRECT ARGUMENT COUNT If a routine is called with the incorrect number of arguments, the run aborts and a traceback is printed. This is accomplished via an unsatisfied external on the library named $BOMB. FILES ON TAPE 1. MATLIB .CMD - builds or corrects library .DOC - external specifications .LST - MACRO listing .OLB - library .TXT - informative text 2. ROUTINES *.MAC 3. TESTING TST.CMD - test run TSTV1/TSTV1D/TSTV2/TSTV2D - vector routine testing TSTM1/TSTM1D/TSTM2/TSTM2D - matrix routine testing TST.OUT - expected output for all the tests