GAUSSELM - Gaussian elimination and QR factorization Author: Robert Brunner (brunner@uirvld.csl.uiuc.edu) Date: 7 Oct 91 02:39:23 GMT The following directory contains two useful linear algebra routines and three subroutine functions. QR: QR decomposes a matrix on the stack, A, into an orthogonal matrix Q and a upper triangular matrix R such that A=QR, using Gram-Schmidt orthogonalization. The program only works for full-rank matricies. LU: LU decomposes the matrix from the stack, A, into a permutation matrix P, a lower triangular matrix L, and an upper triangular matrix U, such that PA=LU. Pivoting is only performed when necessary, and the first non-zero pivot is selected, rather than always choosing the largest pivot. By doing this, pivoting is avoided when not needed, which is useful for solving small problems given for homework in linear algebra classes. The method does exhibit poor numerical stability, so the program is not practical for large matrices. DCMP: DCMP decomposes a matrix [[row 1][row 2]...[row n]] into a list of vectors {[row 1][row 2]...[row n]}. Doing this speeds up the other two routines. RCMP: RCMP reverses DCMP. SWRW: SWRW switches the two specified rows of a matrix decomposed by DCMP. 'GAUSSELM' BYTES gives checksum #33398d, 1458 bytes Drop me a line if you find this useful. brunner@uirvld.csl.uiuc.edu