## Quern: a sparse QR library

Robert Bridson

Quern is a library for computing the QR factorization of a sparse
matrix, using a very simple row-oriented uplooking Givens algorithm;
versions that compute just R, or return R with a sparse representation
of Q (as a product of Givens rotations and row swaps) are both included,
along with some simple column and row ordering methods. More interestingly,
an incomplete factorization using a drop tolerance is included, for use
in preconditioning iterative solvers.

It provides a plain C API which should be straightforward to access from
any decent language. The routines are robust against out-of-memory errors,
returning an error code instead of crashing. I've also included an example
program illustrating usage of the library, and MEX files to provide easier
access from MATLAB.

Here is the code, released into the public domain: