An improved BFGS-on-manifold algorithm for computing weighted low rank approximations