Python Matrix Factorization (PyMF) is a module for several constrained and unconstrained matrix factorization (and related) methods. It can be downloaded from this page http://pymf.googlecode.com/.

PyMF currently includes the following methods:
- Non-negative matrix factorization (NMF)
- Convex non-negative matrix factorization (CNMF)
- Semi non-negative matrix factorization (SNMF)
- Archetypal analysis (AA)
- Simplex volume maximization (SiVM)
- Convex-hull non-negative matrix factorization (CHNMF)
- Binary matrix factorization (BNMF)
- Singular value decomposition (SVD)
- Principal component analysis (PCA)
- K-means clustering (Kmeans)
- CUR decomposition (CUR)
- Compaxt matrix decomposition (CMD)