Special feature 1: Three sparse pivoting options in the Factor routine:
Special feature 2: Multiple update routines:
Numerical stability: The condition of L is controlled throughout, so that U tends to reflect the condition of A. This is essential for subsequent Bartels-Golub-type updates (which are implemented in a manner similar to John Reid's LA05 and LA15 packages in the HSL library).
If a fresh factorization is thought of as A = LDU (with unit diagonals on L and U), then TRP and TCP control the condition of both L and U. This is why they have rank-revealing properties.
Proven applications: LUSOL is the basis factorization package (BFP) for MINOS, SNOPT, SQOPT, lp_solve, AMPL/PATH, GAMS/PATH.
Shortcomings:
Factor: No special handling of dense columns.
Solve: No special treatment of sparse right-hand sides.
Documentation: No user's manual. Primary documentation is
in-line comments within the f77 source code,
and README files within the src, csrc, test, matlab, cmex directories.
P. E. Gill, W. Murray, M. A. Saunders and M. H. Wright (1987). Maintaining LU factors of a general sparse matrix, Linear Algebra and its Applications 88/89, 239-270.
P. E. Gill, W. Murray and M. A. Saunders (2005). SNOPT: An SQP algorithm for large-scale constrained optimization, SIGEST article, SIAM Review 47(1), 99-131. (See sections 4 and 5.)