## Version 1.0.0

11th January 2022

Recent Changes

HSL_MC81 uses randomized algorithms to compute low-rank approximations of a given matrix. If $$A$$ is $${n \times n}$$ and symmetric positive definite it computes a truncated eigenvalue decomposition (EVD) $A \approx X D X^T,$ where $$k < n$$ is the target rank, $$X$$ is an $${n \times k}$$ orthonormal matrix and $$D$$ is a $${k \times k}$$ diagonal matrix whose entries approximate the eigenvalues of $$A$$ with largest absolute value in descending order.
If $$A$$ is a general $$m \times n$$ matrix, it computes a truncated singular value decomposition (SVD) $A \approx U \Sigma V^T,$ where $$k < \min(m,n)$$ is the target rank, $$U$$ is an $${m \times k}$$ orthonormal matrix, $$V$$ is an $${n \times k}$$ orthonormal matrix and $$\Sigma$$ is a $${k \times k}$$ diagonal matrix whose entries approximate the largest singular values of $$A$$ in descending order.
The package offers simple interfaces in which the user supplies the sparse matrix $$A$$ in compressed sparse column (CSC) format and, for greater flexibility, matrix-free reverse communication interfaces that return control to the user when products with $$A$$ are required.