I have recently implemented a sparse online dictionary learning algorithm, with an emphasis on learning very high-dimensional and very sparse dictionaries. It is based on J. Mairal et al 'Online Dictionary Learning for Sparse Coding' (http://www.di.ens.fr/willow/pdfs/icml09.pdf). It's an online variant of low-rank matrix factorization, suitable for sparse binary matrices (such as implicit feedback matrices).
I would be very happy to bring this up to the Mahout standard and contribute to the main codebase — is this something you would in principle be interested in having?
The code (as well as some examples) are here: https://github.com/maciejkula/dictionarylearning