GraphChi/graphchi-cpp — pull request #24 by msperlich (2014-05-14 21:05:38+00:00)
Title: CF toolkit: Use rankUpdate() to calculate XtX in ALS and WALS

Two changes, first is a typo fix, libFM writes the item_bias factor with the file extension ".mm" but tries to read it with extension ".m".

The second change is to use [rankUpdate](http://eigen.tuxfamily.org/dox/classEigen_1_1SelfAdjointView.html#a024a26e49b7865e23e39479de6dc56fc) when computing XtX in the ALS and weighted ALS implementation. The function rankUpdate() provides an optimized way to compute M += alpha(uu*), which is exactly what we want.

In some simple testing on the small Netflix data I was seeing runtimes cut in half with this change.