“…During each MVP ½C½U½R½x, rather than computing the pseudoinverse, which is subject to instabilities and depends on a truncation threshold, we use an lower-upper solver. Because the rank r is not known beforehand, we use the heuristic algorithm described in [5] to sample rows and columns: on each iteration, the indices I and J are chosen randomly, and the error is computed with respect to the projection into a random subspace of the previous iteration. If the error exceeds the demanded threshold, the sample size is doubled, and the algorithm continues with the next iteration.…”