Efficient Gram-Schmidt Orthogonalisation on an Array Processor

The orthogonalisation of sets of vectors is an important operation in many applications of linear algebra. Among these are the computation of subsets of the eigenvalues and eigenvectors of symmetric matrices, the solution of least squares problems and singular value decomposition. A standard method for orthogonalising sets of vectors is the modified Gram-Schmidt (MGS) algorithm. With the advent of a variety of novel architecture computers it is essential to investigate how efficiently standard numerical mathematical algorithms may be implemented on them. In this paper the performances, on an array processor, of straightforward implementations of the MGS and a new parallel version of the algorithm are compared. The array processor used is the DAP 510. It is shown that the use of special facilities provided by the machine considerably improves the performance of both formulations of the algorithm and that, for this machine, the performance of the straightforward implementation is better than that of the new version. However, for some particularly important applications in which the lengths of the vectors involved are systematically extended or reduced, the performance of the new version of the algorithm is significantly better than that of the standard one.