the rudimentary ALS algorithm