This serial routine computes the QR decomposition of a matrix **A** in Re^{mxn}, *m* > = *n*, such that

**P_r*****Q**^{T}***A*****P_c**^{T} = | **R** | | **0** | where **Q**^{T}***Q** = **I** in Re^{mxm}, **R** in Re^{nxn} upper triangular, and **P_r** in Re^{mxm} as well as **P_c** in Re^{nxn} are permutation matrices.

Note that this is a research code developed for the following paper. Thomas H. Robey and Deborah L. Sulsky, *Row Ordering for Sparse QR Decomposition*, SIAM J. Matrix Anal. and Appl., Vol. 15, No. 4, pp. 1208-1225, October 1994. The software is available in C and C++ under the GNU Library General Public License. To obtain the source code click on the desired version listed below.

Version 2.* has improved code for calculating fill that results in less memory and faster execution. Version 3.* reduces work in the minimum degree calculation resulting in faster execution.