HQRRP - Householder QR with Randomization for Pivoting (P.G. Martinsson, G. Quintana-Orti, N. Heavner, R. van de Geijn)
Codes that implement column pivoted QR factorizations. Randomization is used to
accelerate the pivot selection (it allows us to block the computation). Householder reflectors are used to enforce orthonormality.
The implementation is based on the preprint
Blocked rank-revealing QR factorizations: How randomized sampling can be used to avoid single-vector pivoting,
which was later improved in
Householder QR Factorization: Adding Randomization for Column Pivoting. FLAME Working Note #78.
RandQR (S. Voronin, P.G. Martinsson)
C codes that implement a randomized algorithms
for computing approximate low-rank approximations to matrices. These codes are described in detail
A randomized blocked algorithm for efficiently computing rank-revealing factorizations of matrices.
High-order discretization of BIEs in the plane (S. Hao, A. Barnett, P.G. Martinsson, P. Young)
Matlab codes that implement several
different techniques for high-order discretization of BIEs defined on curves in the plane. These techniques include:
Alpert, Kapur-Rokhlin, Kolm-Rokhlin, and Kress quadratures. These techniques are described in this
survey (with corresponding
ID (Mark Tygert, Per-Gunnar Martinsson, Vladimir Rokhlin, and Yoel Shkolnisky)
Codes that implement various algorithms for low rank approximation of matrices.
In particular, this package contains subroutines for computing the interpolative decomposition (ID). Both randomized and
non-randomized algorithms are included.
This webpage provides links to a number
of tutorial style codes that I have developed. The page also offers links to various free packages not developed by me.