MATRIX & CMTRX There are two matrix handling libraries in this section: MATRIX for REAL*4 variables and CMTRIX for COMPLEX*8 variables. The appropriate COM files will compile and build them into object libraries. They were initially developed under Fortran IV, and have since been used under Fortran 77/RT. They should also run under Fortran 77/VMS as the routines are just "number-crunching", although this has not yet been tested. Apart from providing a fairly complete package of matrix handling routines, they include one special one called GINV: Generalised INVerse. This can take a matrix equation such as A.x=y and invert it, yielding a solution for x. If the matrix A is square (m rows, n columns, m=n), this is quite standard. If the set is overdetermined, (m>n), we have the common experimental situation of having more readings than variables. In such cases it is quite common for there to be "noise" in the numerical values, such that a perfect solution cannot be found. The normal procedure in this situation is to obtain a least-squares solution, possibly by hill-climbing. The GINV routine will take the equation and return the least squares solution in this case: hence the "generalised". For further information there are references in the .RNO file and in the sources. Advice about any errors, problems or improvements would be appreciated: please forward to Dr R N Caffin CSIRO Div of Textile Physics 338 Blaxland rd Ryde, NSW 2112 Australia or the same, c/- the Australian DECUS Office.