  Embedded computer vision applications increasingly require the speed and
power benefits of single-precision (32 bit) floating point. However,
applications which make use of Levenberg-like optimization can lose significant
accuracy when reducing to single precision, sometimes unrecoverably so. This
accuracy can be regained using solvers based on QR rather than Cholesky
decomposition, but the absence of sparse QR solvers for common sparsity
patterns found in computer vision means that many applications cannot benefit.
We introduce an open-source suite of solvers for Eigen, which efficiently
compute the QR decomposition for matrices with some common sparsity patterns
(block diagonal, horizontal and vertical concatenation, and banded). For
problems with very particular sparsity structures, these elements can be
composed together in 'kit' form, hence the name QRkit. We apply our methods to
several computer vision problems, showing competitive performance and
suitability especially in single precision arithmetic.
