move things around. call NIPALS at beginning of nipals_sparse